summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk9
-rw-r--r--gnu/packages/base.scm27
-rw-r--r--gnu/packages/calendar.scm19
-rw-r--r--gnu/packages/certs.scm4
-rw-r--r--gnu/packages/crates-io.scm9
-rw-r--r--gnu/packages/cryptsetup.scm4
-rw-r--r--gnu/packages/cups.scm28
-rw-r--r--gnu/packages/databases.scm8
-rw-r--r--gnu/packages/ebook.scm51
-rw-r--r--gnu/packages/freedesktop.scm4
-rw-r--r--gnu/packages/games.scm8
-rw-r--r--gnu/packages/gdb.scm3
-rw-r--r--gnu/packages/gl.scm80
-rw-r--r--gnu/packages/gnome.scm27
-rw-r--r--gnu/packages/graphviz.scm3
-rw-r--r--gnu/packages/gstreamer.scm24
-rw-r--r--gnu/packages/gtk.scm8
-rw-r--r--gnu/packages/haskell.scm13
-rw-r--r--gnu/packages/ibus.scm3
-rw-r--r--gnu/packages/imagemagick.scm4
-rw-r--r--gnu/packages/kde-frameworks.scm392
-rw-r--r--gnu/packages/kde-internet.scm24
-rw-r--r--gnu/packages/kde-multimedia.scm60
-rw-r--r--gnu/packages/kde-pim.scm288
-rw-r--r--gnu/packages/kde-plasma.scm16
-rw-r--r--gnu/packages/kde-systemtools.scm36
-rw-r--r--gnu/packages/kde-utils.scm30
-rw-r--r--gnu/packages/kde.scm67
-rw-r--r--gnu/packages/libffi.scm4
-rw-r--r--gnu/packages/linux.scm24
-rw-r--r--gnu/packages/messaging.scm15
-rw-r--r--gnu/packages/nss.scm13
-rw-r--r--gnu/packages/patches/akonadi-paths.patch53
-rw-r--r--gnu/packages/patches/bluez-CVE-2020-0556.patch180
-rw-r--r--gnu/packages/patches/calibre-msgpack-compat.patch18
-rw-r--r--gnu/packages/patches/calibre-remove-test-bs4.patch34
-rw-r--r--gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch42
-rw-r--r--gnu/packages/patches/kinit-kdeinit-extra_libs.patch10
-rw-r--r--gnu/packages/patches/libdrm-realpath-virtio.patch42
-rw-r--r--gnu/packages/patches/libdrm-symbol-check.patch215
-rw-r--r--gnu/packages/patches/nss-CVE-2020-12399.patch138
-rw-r--r--gnu/packages/patches/pyqt-unbundled-qt.patch19
-rw-r--r--gnu/packages/patches/qtbase-QTBUG-81715.patch40
-rw-r--r--gnu/packages/patches/qtbase-use-TZDIR.patch4
-rw-r--r--gnu/packages/pcre.scm4
-rw-r--r--gnu/packages/pdf.scm4
-rw-r--r--gnu/packages/python-crypto.scm17
-rw-r--r--gnu/packages/python-web.scm12
-rw-r--r--gnu/packages/python-xyz.scm20
-rw-r--r--gnu/packages/qt.scm371
-rw-r--r--gnu/packages/rust-apps.scm14
-rw-r--r--gnu/packages/rust.scm2
-rw-r--r--gnu/packages/security-token.scm6
-rw-r--r--gnu/packages/syndication.scm2
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/vulkan.scm190
-rw-r--r--gnu/packages/w3m.scm5
-rw-r--r--gnu/packages/web.scm39
-rw-r--r--gnu/packages/xdisorg.scm22
-rw-r--r--guix/build-system/cargo.scm3
-rw-r--r--guix/build-system/go.scm3
-rw-r--r--guix/build/cargo-build-system.scm13
-rw-r--r--guix/build/go-build-system.scm7
63 files changed, 1212 insertions, 1626 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 583274235b..aa5b67ab5f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -804,11 +804,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/bitcoin-core-python-compat.patch		\
   %D%/packages/patches/blender-2.79-newer-ffmpeg.patch		\
   %D%/packages/patches/blender-2.79-python-3.7-fix.patch	\
-  %D%/packages/patches/bluez-CVE-2020-0556.patch		\
   %D%/packages/patches/byobu-writable-status.patch		\
-  %D%/packages/patches/calibre-msgpack-compat.patch		\
   %D%/packages/patches/calibre-no-updates-dialog.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	\
@@ -1126,7 +1123,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/libvirt-create-machine-cgroup.patch	\
   %D%/packages/patches/libziparchive-add-includes.patch		\
   %D%/packages/patches/localed-xorg-keyboard.patch		\
-  %D%/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch \
   %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
   %D%/packages/patches/kiki-level-selection-crash.patch		\
   %D%/packages/patches/kiki-makefile.patch			\
@@ -1172,7 +1168,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/libbase-use-own-logging.patch		\
   %D%/packages/patches/libbonobo-activation-test-race.patch	\
   %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
-  %D%/packages/patches/libdrm-symbol-check.patch		\
+  %D%/packages/patches/libdrm-realpath-virtio.patch		\
   %D%/packages/patches/libextractor-exiv2.patch			\
   %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch		\
   %D%/packages/patches/libgit2-mtime-0.patch			\
@@ -1299,7 +1295,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/ngircd-handle-zombies.patch		\
   %D%/packages/patches/network-manager-plugin-path.patch	\
   %D%/packages/patches/nsis-env-passthru.patch			\
-  %D%/packages/patches/nss-CVE-2020-12399.patch			\
   %D%/packages/patches/nss-increase-test-timeout.patch		\
   %D%/packages/patches/nss-pkgconfig.patch			\
   %D%/packages/patches/ntfs-3g-CVE-2019-9755.patch		\
@@ -1401,7 +1396,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/pygpgme-disable-problematic-tests.patch  \
   %D%/packages/patches/pyqt-configure.patch			\
   %D%/packages/patches/pyqt-public-sip.patch			\
-  %D%/packages/patches/pyqt-unbundled-qt.patch			\
   %D%/packages/patches/python-2-deterministic-build-info.patch	\
   %D%/packages/patches/python-2.7-adjust-tests.patch		\
   %D%/packages/patches/python-2.7-search-paths.patch		\
@@ -1451,7 +1445,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/qt4-ldflags.patch			\
   %D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch	\
   %D%/packages/patches/qtbase-use-TZDIR.patch			\
-  %D%/packages/patches/qtbase-QTBUG-81715.patch			\
   %D%/packages/patches/qtscript-disable-tests.patch		\
   %D%/packages/patches/quagga-reproducible-build.patch          \
   %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 279fe9e3d8..c66ea5a187 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1336,7 +1336,7 @@ command.")
 (define-public tzdata
   (package
     (name "tzdata")
-    (version "2019c")
+    (version "2020a")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -1344,7 +1344,7 @@ command.")
                    version ".tar.gz"))
              (sha256
               (base32
-               "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr"))))
+               "18lrp0zh8m931jjlrv8lvjas4ka5dfkzdbwnbw5lwd2dlbn62wal"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f
@@ -1394,7 +1394,7 @@ command.")
                                 version ".tar.gz"))
                           (sha256
                            (base32
-                            "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn"))))))
+                            "0sfnlqw1p93r7klny69rwr94fh22mz632h52phgzfgg01q9gfakx"))))))
     (home-page "https://www.iana.org/time-zones")
     (synopsis "Database of current and historical time zones")
     (description "The Time Zone Database (often called tz or zoneinfo)
@@ -1411,7 +1411,26 @@ and daylight-saving rules.")
 ;;; package.
 (define-public tzdata-for-tests
   (hidden-package
-   (package/inherit tzdata)))
+   (package
+     (inherit tzdata)
+     (version "2019c")
+     (source (origin
+               (method url-fetch)
+               (uri (string-append
+                     "https://data.iana.org/time-zones/releases/tzdata"
+                     version ".tar.gz"))
+               (sha256
+                (base32
+                 "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr"))))
+     (inputs
+      `(("tzcode" ,(origin
+                     (method url-fetch)
+                     (uri (string-append
+                           "https://data.iana.org/time-zones/releases/tzcode"
+                           version ".tar.gz"))
+                     (sha256
+                      (base32
+                       "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn")))))))))
 
 (define-public libiconv
   (package
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 104d61148a..71b4827578 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -110,7 +110,7 @@ the <tz.h> library for handling time zones and leap seconds.")
 (define-public libical
   (package
     (name "libical")
-    (version "3.0.7")
+    (version "3.0.8")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -118,22 +118,7 @@ the <tz.h> library for handling time zones and leap seconds.")
                     version "/libical-" version ".tar.gz"))
               (sha256
                (base32
-                "1z33wzaazbd7drl6qbh1750whd78xl2cg0gjnxyya9m83vgndgha"))
-              (patches
-               ;; Add a patch slated for 3.0.8 which preserves backwards-
-               ;; compatibility in the icalattach_new_from_data() function,
-               ;; which accidentally changed in 3.0.7 and could break some uses.
-               ;; https://gitlab.gnome.org/GNOME/evolution-data-server/issues/185
-               ;; http://lists.infradead.org/pipermail/libical-devel/2020-January/000907.html
-               (list (origin
-                       (method url-fetch)
-                       (uri (string-append
-                             "https://github.com/libical/libical/commit/"
-                             "ae394010c889e4c185160da5e81527849f9de350.patch"))
-                       (file-name "libical-3.0.7-preserve-icalattach-api.patch")
-                       (sha256
-                        (base32
-                         "0v8qcxn8a6sh78grzxd61j9478928dx38l5mf8mkdrbxv47vmvvp")))))))
+                "0vr8s7hn8204lyc4ys5bs3j5qss4lmc9ffly2m1a59avyz5cmzh9"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; test suite appears broken
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index 2328012083..7f4dca5f56 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.50")
+    (version "3.52.1")
     (source (origin
               (method url-fetch)
               (uri (let ((version-with-underscores
@@ -87,7 +87,7 @@
                       "nss-" version ".tar.gz")))
               (sha256
                (base32
-                "19rv0vp9nmvn6dy29qsv8f4v7wn5kizrpm59vbszahsjfwcz6p8q"))))
+                "0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w"))))
     (build-system gnu-build-system)
     (outputs '("out"))
     (native-inputs
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 05bc85395e..f4b0688e8d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -27443,7 +27443,14 @@ to XDG Base Directory specification")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "12ndxyhzxw2zdr76ql8nfdwb2vwhvdkrxwk4pbjafqfglmjv0zdh"))))
+         "12ndxyhzxw2zdr76ql8nfdwb2vwhvdkrxwk4pbjafqfglmjv0zdh"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; 'doctest' isn't stable until rust-1.40
+           (substitute* "src/lib.rs"
+             (("\\(doctest") "(test"))
+           #t))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-development-inputs
diff --git a/gnu/packages/cryptsetup.scm b/gnu/packages/cryptsetup.scm
index d4c039ac04..bd6e046452 100644
--- a/gnu/packages/cryptsetup.scm
+++ b/gnu/packages/cryptsetup.scm
@@ -58,7 +58,7 @@
     `(("pkg-config" ,pkg-config)))
    (inputs
     `(("argon2" ,argon2)
-      ("json-c" ,json-c)
+      ("json-c" ,json-c-0.13)   ;XXX update this for cryptsetup >= 2.3
       ("libgcrypt" ,libgcrypt)
       ("lvm2" ,lvm2)                    ; device-mapper
       ("popt" ,popt)
@@ -138,7 +138,7 @@ files).  This assumes LIBRARY uses Libtool."
               (inherit (static-library libgcrypt))
               (propagated-inputs
                `(("libgpg-error-host" ,(static-library libgpg-error)))))))
-       `(("json-c" ,json-c)
+       `(("json-c" ,json-c-0.13)
          ("libgcrypt" ,libgcrypt-static)
          ("lvm2" ,lvm2-static)
          ("util-linux" ,util-linux "static")
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 86281b9320..d83211ede2 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -59,7 +59,7 @@
 (define-public cups-filters
   (package
     (name "cups-filters")
-    (version "1.27.1")
+    (version "1.27.4")
     (source(origin
               (method url-fetch)
               (uri
@@ -67,7 +67,7 @@
                               "cups-filters-" version ".tar.xz"))
               (sha256
                (base32
-                "0dpn4rkmrdprkhlnpih5dzrn4fxzj20k42d516kx4qx0g5l74lrm"))
+                "110b1xhb5vfpcx0zq9kkas7pj281skx5dpnnr22idx509jfdzj8b"))
               (modules '((guix build utils)))
               (snippet
                ;; install backends, banners and filters to cups-filters output
@@ -125,12 +125,6 @@
                           (("/usr/local/lib/cups/filter")
                            (string-append out "/lib/cups/filter")))
                         #t)))
-                  (add-after 'unpack 'patch-for-poppler
-                    (lambda _
-                      (substitute* "filter/pdf.cxx"
-                        (("GooString \\*field_name;" m)
-                         (string-append "const " m)))
-                      #t))
                   (add-after 'install 'wrap-filters
                     (lambda* (#:key inputs outputs #:allow-other-keys)
                       ;; Some filters expect to find 'gs' in $PATH.  We cannot
@@ -187,9 +181,8 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
 ;; satisfy this dependency.
 (define-public cups-minimal
   (package
-    (replacement cups-minimal-2.3.3)
     (name "cups-minimal")
-    (version "2.3.1")
+    (version "2.3.3")
     (source
      (origin
        (method url-fetch)
@@ -197,7 +190,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
                            version "/cups-" version "-source.tar.gz"))
        (sha256
         (base32
-         "1kkpmj17205j8w9hdff2bfpk6lwdmr3gx0j4r35nhgvya24rvjhv"))))
+         "1vpk0b2vq830f8fvf9z8qjsm5k141i7pi8djbinpnr78pi4dj7r6"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
@@ -250,19 +243,6 @@ device-specific programs to convert and print many types of files.")
     ;; CUPS is Apache 2.0 with exceptions, see the NOTICE file.
     (license license:asl2.0)))
 
-(define-public cups-minimal-2.3.3
-  (package
-    (inherit cups-minimal)
-    (version "2.3.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/apple/cups/releases/download/v"
-                           version "/cups-" version "-source.tar.gz"))
-       (sha256
-        (base32
-         "1vpk0b2vq830f8fvf9z8qjsm5k141i7pi8djbinpnr78pi4dj7r6"))))))
-
 (define-public cups
   (package/inherit cups-minimal
     (name "cups")
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 33c3e37427..bab4b4d128 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -684,7 +684,7 @@ Language.")
 (define-public mariadb
   (package
     (name "mariadb")
-    (version "10.1.44")
+    (version "10.1.45")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://downloads.mariadb.com/MariaDB"
@@ -692,7 +692,7 @@ Language.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0fah6d50hldq0farxwr8mj3jnniwdz0d1wsha07nx37fc79h7wi1"))
+                "1mfs0x4c0z7d306n128dxdawk3llk25vxif5zwl20fv1z5qhz3wx"))
               (patches (search-patches "mariadb-client-test-32bit.patch"))
               (modules '((guix build utils)))
               (snippet
@@ -963,14 +963,14 @@ developed in C/C++ to MariaDB and MySQL databases.")
 (define-public postgresql
   (package
     (name "postgresql")
-    (version "10.12")
+    (version "10.13")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://ftp.postgresql.org/pub/source/v"
                                   version "/postgresql-" version ".tar.bz2"))
               (sha256
                (base32
-                "1rsab4zf4rx7pvvhlwhb04kb95aiad9cwazc4ksbvg2gij47z3rq"))
+                "1qal0yp7a90yzya7hl56gsmw5fvacplrdhpn7h9gnbyr1i2iyw2d"))
               (patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
     (build-system gnu-build-system)
     (arguments
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 4243c71673..d290b19f5f 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -46,6 +46,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages javascript)
   #:use-module (gnu packages libusb)
+  #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -82,7 +83,7 @@
 (define-public calibre
   (package
     (name "calibre")
-    (version "3.42.0")
+    (version "4.18.0")
     (source
       (origin
         (method url-fetch)
@@ -91,13 +92,18 @@
                             version ".tar.xz"))
         (sha256
          (base32
-          "0ymdhws3cb44p3fb24vln1wx6s7qnb8rr241jvm6qbj5rnp984dm"))
-        ;; Unbundle python2-odfpy. 
-        ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
+          "0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw"))
         (modules '((guix build utils)))
         (snippet
           '(begin
+             ;; Unbundle python2-odfpy.
              (delete-file-recursively "src/odf")
+             ;; Disable test that attempts to load it.
+             (substitute* "setup/test.py"
+               ((".*SRC, 'odf'.*")
+                ""))
+
+             ;; Remove unneeded resources.
              (delete-file "resources/viewer.js")
              (delete-file "resources/viewer.html")
              (delete-file "resources/mozilla-ca-certs.pem")
@@ -105,8 +111,6 @@
              (delete-file "resources/calibre-portable.sh")
              #t))
         (patches (search-patches "calibre-no-updates-dialog.patch"
-                                 "calibre-msgpack-compat.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)
@@ -115,12 +119,13 @@
        ("qtbase" ,qtbase) ; for qmake
        ("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)
+       ("hunspell" ,hunspell)
+       ("hyphen" ,hyphen)
        ("icu4c" ,icu4c)
        ("js-mathjax" ,js-mathjax)
        ("libmtp" ,libmtp)
@@ -132,6 +137,7 @@
        ("poppler" ,poppler)
        ("python" ,python-2)
        ("python2-apsw" ,python2-apsw)
+       ("python2-beautifulsoup4" ,python2-beautifulsoup4)
        ("python2-chardet" ,python2-chardet)
        ("python2-cssselect" ,python2-cssselect)
        ("python2-css-parser" ,python2-css-parser)
@@ -153,9 +159,11 @@
        ("python2-pillow" ,python2-pillow)
        ("python2-psutil" ,python2-psutil)
        ("python2-pygments" ,python2-pygments)
+       ("python2-pyqtwebengine" ,python2-pyqtwebengine)
        ("python2-pyqt" ,python2-pyqt)
        ("python2-sip" ,python2-sip)
        ("python2-regex" ,python2-regex)
+       ("qtwebengine" ,qtwebengine)
        ("sqlite" ,sqlite)))
     (arguments
      `(#:python ,python-2
@@ -170,6 +178,18 @@
                ;; We can't use the uninstaller in Guix. Don't build it.
                (("self\\.create_uninstaller()") ""))
              #t))
+         (add-after 'patch-source-shebangs 'patch-more-shebangs
+           (lambda _
+             ;; Patch various inline shebangs.
+             (substitute* '("src/calibre/gui2/preferences/tweaks.py"
+                            "src/calibre/gui2/dialogs/custom_recipes.py"
+                            "setup/install.py"
+                            "setup/linux-installer.sh")
+               (("#!/usr/bin/env python")
+                (string-append "#!" (which "python")))
+               (("#!/bin/sh")
+                (string-append "#!" (which "sh"))))
+             #t))
          (add-after 'unpack 'dont-load-remote-icons
            (lambda _
              (substitute* "setup/plugins_mirror.py"
@@ -180,9 +200,12 @@
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (let ((podofo (assoc-ref inputs "podofo"))
                   (pyqt (assoc-ref inputs "python2-pyqt"))
+                  (python-sip (assoc-ref inputs "python2-sip"))
                   (out (assoc-ref outputs "out")))
               (substitute* "setup/build_environment.py"
-                (("sys.prefix") (string-append "'" pyqt "'")))
+                (("= get_sip_dir\\(\\)")
+                 (string-append "= '" pyqt "/share/sip'")))
+
               (substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
                 (("PDFTOHTML = 'pdftohtml'")
                  (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler")
@@ -195,6 +218,18 @@
               (substitute* "src/calibre/linux.py"
                 (("'~/.local/share'") "''"))
 
+              ;; 'python setup.py rapydscript' uses QtWebEngine, which
+              ;; needs to create temporary files in $HOME.
+              (setenv "HOME" "/tmp")
+
+              ;; XXX: QtWebEngine will fail if no fonts are available.  This
+              ;; can likely be removed when fontconfig has been patched to
+              ;; include TrueType fonts by default.
+              (symlink (string-append (assoc-ref inputs "font-liberation")
+                                      "/share/fonts")
+                       "/tmp/.fonts")
+
+              (setenv "SIP_BIN" (string-append python-sip "/bin/sip"))
               (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
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index b823a693f7..f8c2ea298f 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -185,14 +185,14 @@ freedesktop.org project.")
   ;; Updating this will rebuild over 700 packages through libinput-minimal.
   (package
     (name "libinput")
-    (version "1.15.2")
+    (version "1.15.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://freedesktop.org/software/libinput/"
                                   "libinput-" version ".tar.xz"))
               (sha256
                (base32
-                "0ivpb4sghl80cs7jg3xrs53kckif6wy81cny3a8mry94nszky74p"))))
+                "15ww4jl3lcxyi8m8idg8canklbqv729gnwpkz7r98c1w8a7zq3m9"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Ddocumentation=false")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 8a2ac9fcc5..ddfff4db8d 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5811,6 +5811,14 @@ some graphical niceities, and numerous bug-fixes and other improvements.")
                (string-append "LDFLAGS=-Wl,-rpath=" vulkanlib)
                "-CQuake"))
        #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'patch-for-new-vulkan
+                    (lambda _
+                      ;; Mimic upstream commit a869a22d9b51c68e for
+                      ;; compatibility with newer vulkan-headers.
+                      (substitute* "Quake/gl_rmisc.c"
+                        (("VK_DYNAMIC_STATE_RANGE_SIZE")
+                         "3"))
+                      #t))
                   (delete 'configure)
                   (add-after 'unpack 'fix-makefile-paths
                     (lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 6b7e7c1ae9..b27426c84f 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -93,7 +94,6 @@
        ("ncurses" ,ncurses)
        ("guile" ,guile-2.0)
        ("python-wrapper" ,python-wrapper)
-       ("dejagnu" ,dejagnu)
        ("source-highlight" ,source-highlight)
 
        ;; Allow use of XML-formatted syscall information.  This enables 'catch
@@ -101,6 +101,7 @@
        ("libxml2" ,libxml2)))
     (native-inputs
       `(("texinfo" ,texinfo)
+        ("dejagnu" ,dejagnu)
         ("pkg-config" ,pkg-config)))
     (home-page "https://www.gnu.org/software/gdb/")
     (synopsis "The GNU debugger")
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 23b8ed1a29..41fc8ae697 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -233,7 +233,14 @@ also known as DXTn or DXTC) for Mesa.")
 (define-public mesa
   (package
     (name "mesa")
-    (version "19.3.4")
+    (version "20.0.7")
+
+    ;; Mesa 20.0.5 through 20.0.7 has problems with some graphic drivers, so
+    ;; we need this newer version.
+    ;; https://gitlab.freedesktop.org/mesa/mesa/-/issues/2882
+    ;; https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4861
+    (replacement mesa-20.0.8)
+
     (source
       (origin
         (method url-fetch)
@@ -245,7 +252,7 @@ also known as DXTn or DXTC) for Mesa.")
                                   version "/mesa-" version ".tar.xz")))
         (sha256
          (base32
-          "1r4giqq7q7zqbn23lbw7v5vswagxx8qj6ij2w8bsb697mvk6g90x"))
+          "0y517qpdg6v6dsdgzb365p03m30511sbyh8pq0mcvhvjwy7javpy"))
         (patches
          (search-patches "mesa-skip-disk-cache-test.patch"))))
     (build-system meson-build-system)
@@ -270,10 +277,9 @@ also known as DXTn or DXTC) for Mesa.")
         ,@(match (%current-system)
             ((or "x86_64-linux" "i686-linux")
              ;; Note: update the 'clang' input of mesa-opencl when bumping this.
-             `(("llvm" ,llvm-9)))
+             `(("llvm" ,llvm-10)))
             (_
              `()))
-        ("makedepend" ,makedepend)
         ("wayland" ,wayland)
         ("wayland-protocols" ,wayland-protocols)))
     (native-inputs
@@ -289,6 +295,7 @@ also known as DXTn or DXTC) for Mesa.")
         ("python" ,python-wrapper)
         ("python-mako" ,python-mako)
         ("which" ,(@ (gnu packages base) which))))
+    (outputs '("out" "bin"))
     (arguments
      `(#:configure-flags
        '(,@(match (%current-system)
@@ -347,32 +354,26 @@ also known as DXTn or DXTC) for Mesa.")
                   (guix build meson-build-system))
        #:phases
        (modify-phases %standard-phases
-         (add-after
-           'unpack 'patch-create_test_cases
-           (lambda _
-             (substitute* "src/intel/genxml/gen_pack_header.py"
-               (("/usr/bin/env python2") (which "python")))
-             #t))
          ,@(if (string-prefix? "i686" (or (%current-target-system)
                                           (%current-system)))
                ;; Disable new test from Mesa 19 that fails on i686.  Upstream
                ;; report: <https://bugs.freedesktop.org/show_bug.cgi?id=110612>.
                `((add-after 'unpack 'disable-failing-test
                    (lambda _
-                     (substitute* "src/gallium/tests/unit/meson.build"
+                     (substitute* "src/util/tests/format/meson.build"
                        (("'u_format_test',") ""))
                      #t)))
                '())
-         (add-before
-           'configure 'fix-dlopen-libnames
+         (add-before 'configure 'fix-dlopen-libnames
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
                ;; Remain agnostic to .so.X.Y.Z versions while doing
                ;; the substitutions so we're future-safe.
-               (substitute* "src/glx/dri_common.c"
-                 (("dlopen\\(\"libGL\\.so")
-                  (string-append "dlopen(\"" out "/lib/libGL.so")))
-               (substitute* "src/egl/drivers/dri2/egl_dri2.c"
+               (substitute* "src/glx/meson.build"
+                 (("-DGL_LIB_NAME=\"lib@0@\\.so\\.@1@\"")
+                  (string-append "-DGL_LIB_NAME=\"" out
+                                 "/lib/lib@0@.so.@1@\"")))
+               (substitute* "src/gbm/backends/dri/gbm_dri.c"
                  (("\"libglapi\\.so")
                   (string-append "\"" out "/lib/libglapi.so")))
                (substitute* "src/gbm/main/backend.c"
@@ -382,6 +383,26 @@ also known as DXTn or DXTC) for Mesa.")
                  (("\"gbm_dri\\.so")
                   (string-append "\"" out "/lib/dri/gbm_dri.so")))
                #t)))
+         (add-after 'install 'split-outputs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (bin (assoc-ref outputs "bin")))
+               ,@(match (%current-system)
+                   ((or "i686-linux" "x86_64-linux")
+                    ;; Install the Vulkan overlay control script to a separate
+                    ;; output to prevent a reference on Python, saving ~70 MiB
+                    ;; on the closure size.
+                    '((copy-recursively (string-append out "/bin")
+                                        (string-append bin "/bin"))
+                      (delete-file-recursively (string-append out "/bin"))))
+                   (_
+                    ;; XXX: On architectures without the Vulkan overlay layer
+                    ;; just create an empty file because outputs can not be
+                    ;; added conditionally.
+                    '((mkdir-p (string-append bin "/bin"))
+                      (call-with-output-file (string-append bin "/bin/.empty")
+                        (const #t)))))
+               #t)))
          (add-after 'install 'symlinks-instead-of-hard-links
            (lambda* (#:key outputs #:allow-other-keys)
              ;; All the drivers and gallium targets create hard links upon
@@ -425,9 +446,23 @@ device drivers allows Mesa to be used in many different environments ranging
 from software emulation to complete hardware acceleration for modern GPUs.")
     (license license:x11)))
 
-(define-public mesa-opencl
+;; Replacement package to fix <https://gitlab.freedesktop.org/mesa/mesa/-/issues/2863>.
+(define mesa-20.0.8
   (package
     (inherit mesa)
+    (version "20.0.8")
+    (source (origin
+              (inherit (package-source mesa))
+              (uri (list (string-append "https://mesa.freedesktop.org/archive/"
+                                        "mesa-" version ".tar.xz")
+                         (string-append "ftp://ftp.freedesktop.org/pub/mesa/"
+                                        "mesa-" version ".tar.xz")))
+              (sha256
+               (base32
+                "0v0bfh3ay07s6msxmklvwfaif0q02kq2yhy65fdhys49vw8c1w3c"))))))
+
+(define-public mesa-opencl
+  (package/inherit mesa
     (name "mesa-opencl")
     (arguments
      (substitute-keyword-arguments (package-arguments mesa)
@@ -437,12 +472,11 @@ from software emulation to complete hardware acceleration for modern GPUs.")
      `(("libclc" ,libclc)
        ,@(package-inputs mesa)))
     (native-inputs
-     `(("clang" ,clang-9)
+     `(("clang" ,clang-10)
        ,@(package-native-inputs mesa)))))
 
 (define-public mesa-opencl-icd
-  (package
-    (inherit mesa-opencl)
+  (package/inherit mesa-opencl
     (name "mesa-opencl-icd")
     (arguments
      (substitute-keyword-arguments (package-arguments mesa)
@@ -451,12 +485,12 @@ from software emulation to complete hardware acceleration for modern GPUs.")
                ,(delete "-Dgallium-opencl=standalone" flags)))))))
 
 (define-public mesa-headers
-  (package
-    (inherit mesa)
+  (package/inherit mesa
     (name "mesa-headers")
     (propagated-inputs '())
     (inputs '())
     (native-inputs '())
+    (outputs '("out"))
     (arguments
      '(#:phases
        (modify-phases %standard-phases
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 13769a7c88..213eacecd7 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4606,6 +4606,17 @@ throughout GNOME for API documentation).")
                                               "/lib/libGL.so"))
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'fix-build-with-mesa-20
+           (lambda _
+             ;; Work around a problem with Mesa 20 where some macros used by
+             ;; Cogl went missing from eglext.h.  This can likely be removed
+             ;; for newer versions of Cogl or Mesa.
+             ;; https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/19
+             (substitute* '("configure"
+                            "cogl/winsys/cogl-winsys-egl-kms.c")
+               (("#include <EGL/eglext.h>" all)
+                (string-append all "\n#include <EGL/eglmesaext.h>\n")))
+             #t))
          (add-before 'check 'start-xorg-server
                      (lambda* (#:key tests? inputs #:allow-other-keys)
                        (if tests?
@@ -6192,7 +6203,21 @@ to display dialog boxes from the commandline and shell scripts.")
              ;; the remaining flags are needed for the bundled cogl
              (string-append "-Dopengl_libname="
                             (assoc-ref %build-inputs "mesa")
-                            "/lib/libGL.so"))))
+                            "/lib/libGL.so"))
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'fix-build-with-mesa-20
+                    (lambda _
+                      ;; Mimic upstream commit a444a4c5f58ea516ad for
+                      ;; compatibility with Mesa 20.  Remove for 3.36.
+                      (substitute* '("src/backends/meta-egl-ext.h"
+                                     "src/backends/meta-egl.c"
+                                     "src/backends/meta-egl.h")
+                        (("#include <EGL/eglext\\.h>" all)
+                         (string-append all "\n#include <EGL/eglmesaext.h>")))
+                      (substitute* "cogl/cogl/meson.build"
+                        (("#include <EGL/eglext\\.h>" all)
+                         (string-append all "\\n#include <EGL/eglmesaext.h>")))
+                      #t)))))
     (native-inputs
      `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
        ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index 6e91d45503..815a35a974 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
 ;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -97,7 +98,6 @@
        ("gts" ,gts)
        ("gd" ,gd)                                 ; FIXME: Our GD is too old
        ("guile" ,guile-2.0)                       ;Guile bindings
-       ("swig" ,swig)
        ("pango" ,pango)
        ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
@@ -108,6 +108,7 @@
        ("libpng" ,libpng)))
     (native-inputs
      `(("bison" ,bison)
+       ("swig" ,swig)
        ("pkg-config" ,pkg-config)))
     (outputs '("out" "doc"))                      ; 5 MiB of html + pdfs
     (home-page "http://www.graphviz.org/")
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 7596796d68..69fb1d8ae4 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -104,6 +104,17 @@ arrays of data.")
     ;; under the 3-clause BSD license, the rest is under 2-clause BSD license.
     (license (list license:bsd-2 license:bsd-3))))
 
+;; Increase the test timeouts to accommodate slow or busy machines.
+(define %common-gstreamer-phases
+  '((add-after 'unpack 'increase-test-timeout
+      (lambda _
+        (substitute* "tests/check/meson.build"
+          (("'CK_DEFAULT_TIMEOUT', '20'")
+           "'CK_DEFAULT_TIMEOUT', '60'")
+          (("timeout ?: 3 \\* 60")
+           "timeout: 9 * 60"))
+        #t))))
+
 (define-public gstreamer
   (package
     (name "gstreamer")
@@ -122,6 +133,7 @@ arrays of data.")
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         ,@%common-gstreamer-phases
          ;; FIXME: Since switching to the meson-build-system, two tests
          ;; started failing on i686.  See
          ;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/499>.
@@ -220,12 +232,13 @@ This package provides the core library and elements.")
         ("gobject-introspection" ,gobject-introspection)
         ("python-wrapper" ,python-wrapper)))
     (arguments
-     '(#:configure-flags '("-Dgl=disabled"
+     `(#:configure-flags '("-Dgl=disabled"
                            ;; FIXME: Documentation fails to build without
                            ;; enabling GL above, which causes other problems.
                            "-Ddoc=false")
        #:phases
        (modify-phases %standard-phases
+         ,@%common-gstreamer-phases
          (add-before 'configure 'patch
            (lambda _
              (substitute* "tests/check/libs/pbutils.c"
@@ -284,6 +297,7 @@ for the GStreamer multimedia library.")
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         ,@%common-gstreamer-phases
          ,@(if (string-prefix? "arm" (or (%current-target-system)
                                          (%current-system)))
                ;; FIXME: These tests started failing on armhf after switching to Meson.
@@ -332,6 +346,7 @@ developers consider to have good quality code and correct functionality.")
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         ,@%common-gstreamer-phases
          ,@(if (string-prefix? "arm" (or (%current-target-system)
                                          (%current-system)))
                ;; Disable test that fails on ARMv7.
@@ -421,6 +436,9 @@ par compared to the rest.")
         (base32
          "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m"))))
     (build-system meson-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  ,@%common-gstreamer-phases)))
     (inputs
      `(("gst-plugins-base" ,gst-plugins-base)
        ("liba52" ,liba52)
@@ -492,7 +510,9 @@ compression formats through the use of the libav library.")
     (build-system meson-build-system)
     (arguments
      ;; FIXME: 16/22 failing tests.
-     `(#:tests? #f))
+     `(#:tests? #f
+       #:phases (modify-phases %standard-phases
+                  ,@%common-gstreamer-phases)))
     (inputs
      `(("gst-plugins-base" ,gst-plugins-base)
        ("libxml2" ,libxml2)))
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 889f4eb014..3cadccd25c 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -761,7 +761,7 @@ application suites.")
 (define-public gtk+
   (package (inherit gtk+-2)
    (name "gtk+")
-   (version "3.24.14")
+   (version "3.24.20")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/" name "/"
@@ -769,7 +769,7 @@ application suites.")
                                 name "-" version ".tar.xz"))
             (sha256
              (base32
-              "120yz5gxqbv7sgdbcy4i0b6ixm8jpjzialdrqs0gv15q7bwnjk8w"))
+              "1wqxkd3xnqwihcawncp9mkf9bv5a5fg5i4ahm6klpl782vvnkb1d"))
             (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
                                      "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
    (propagated-inputs
@@ -1290,7 +1290,7 @@ printing and other features typical of a source code editor.")
 (define-public python-pycairo
   (package
     (name "python-pycairo")
-    (version "1.19.0")
+    (version "1.19.1")
     (source
      (origin
       (method url-fetch)
@@ -1298,7 +1298,7 @@ printing and other features typical of a source code editor.")
                           version "/pycairo-" version ".tar.gz"))
       (sha256
        (base32
-        "176i283glkpycka8wwyndwld0zp1yn9xj9rpvllqgja698vsjnsg"))))
+        "111fav9m1iagw3nh2ws2vzkjh34r97yl7rdlpvsngsqg521k251c"))))
     (build-system python-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index e9c8e7f82a..94671ee54d 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -178,11 +178,8 @@ top of CLISP.")
 
        #:modules ((guix build gnu-build-system)
                   (guix build utils)
-                  (guix build rpath)
                   (srfi srfi-26)
                   (srfi srfi-1))
-       #:imported-modules (,@%gnu-build-system-modules
-                           (guix build rpath))
        #:configure-flags
        (list
         (string-append "--with-gmp-libraries="
@@ -209,7 +206,7 @@ top of CLISP.")
             (with-directory-excursion ".."
               (copy-file (assoc-ref inputs "ghc-testsuite")
                          "ghc-testsuite.tar.xz")
-              (system* "tar" "xvf" "ghc-testsuite.tar.xz"))
+              (invoke "tar" "xvf" "ghc-testsuite.tar.xz"))
             (substitute*
                 (list "testsuite/timeout/Makefile"
                       "testsuite/timeout/timeout.py"
@@ -228,7 +225,7 @@ top of CLISP.")
              (with-directory-excursion ghc-bootstrap-path
                (copy-file (assoc-ref inputs "ghc-binary")
                           "ghc-bin.tar.xz")
-               (zero? (system* "tar" "xvf" "ghc-bin.tar.xz"))))
+               (invoke "tar" "xvf" "ghc-bin.tar.xz")))
            (alist-cons-before
             'install-bin 'configure-bin
             (lambda* (#:key inputs outputs #:allow-other-keys)
@@ -260,7 +257,7 @@ top of CLISP.")
                   (setenv "LD_LIBRARY_PATH" gmp-lib)
                   ;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded.
                   (for-each
-                   (cut system* "patchelf" "--set-interpreter" ld-so <>)
+                   (cut invoke "patchelf" "--set-interpreter" ld-so <>)
                    binaries)
                   ;; The binaries include a reference to libtinfo.so.5 which
                   ;; is a subset of libncurses.so.5.  We create a symlink in a
@@ -279,7 +276,7 @@ top of CLISP.")
                   (setenv "PATH"
                           (string-append (getenv "PATH") ":"
                                          ghc-bootstrap-prefix "/bin"))
-                  (system*
+                  (invoke
                    (string-append (getcwd) "/configure")
                    (string-append "--prefix=" ghc-bootstrap-prefix)
                    (string-append "--with-gmp-libraries=" gmp-lib)
@@ -289,7 +286,7 @@ top of CLISP.")
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (with-directory-excursion
                    (string-append ghc-bootstrap-path "/ghc-7.8.4")
-                 (zero? (system* "make" "install"))))
+                 (invoke "make" "install")))
              %standard-phases)))))))
     (native-search-paths (list (search-path-specification
                                 (variable "GHC_PACKAGE_PATH")
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index 12a8d6758f..0793635b7d 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@disroot.org>
 ;;; Copyright © 2020 kanichos <kanichos@yandex.ru>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -140,7 +141,6 @@
        ("gconf" ,gconf)
        ("gtk2" ,gtk+-2)
        ("gtk+" ,gtk+)
-       ("gettext" ,gnu-gettext)
        ("json-glib" ,json-glib)
        ("libnotify" ,libnotify)
        ("libx11" ,libx11)
@@ -152,6 +152,7 @@
        ("python" ,python)))
     (native-inputs
      `(("glib" ,glib "bin") ; for glib-genmarshal
+       ("gettext" ,gettext-minimal)
        ("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler
        ("ucd" ,ucd)
        ("unicode-emoji" ,unicode-emoji)
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index 6fc7e6d201..ccc0cfb493 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-95")
+    (version "6.9.11-11")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://imagemagick/ImageMagick-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0fcbcad95wn0q0pdfl0qgycm30f3a7xhskc0r5icldq6v6l4b3is"))))
+               "1b67rrppvm04aqr76qky5h2a0j2d161h8kwa04fv611w5xwandr2"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch"
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index d8a1e5262c..a1abd7d46c 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -65,6 +66,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages polkit)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
@@ -80,7 +82,7 @@
 (define-public extra-cmake-modules
   (package
     (name "extra-cmake-modules")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -89,7 +91,7 @@
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "14h7519bfkwzh58lxgxrj5jlfhfnrakhjcm6lmhafnkg5h56m4kr"))))
+                "10c5xs5shk0dcshpdxg564ay5y8hgmvfvmlhmhjf0dy79kcah3c3"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("qtbase" ,qtbase))) ; For tests (needs qmake)
@@ -224,7 +226,7 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
 (define-public attica
   (package
     (name "attica")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -233,7 +235,7 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0dvsjwl2c3liiicv2m8p1m7hlc3fcapsj5pfirmdm1l38wcayr60"))))
+                "1njw1sifykyqldb5idaywdzi3xg7a6bvzkrvazwmyixd0npq12dx"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -264,7 +266,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/")
 (define-public bluez-qt
   (package
     (name "bluez-qt")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -273,7 +275,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "179am9czhb9mcirmja5bxjmqil3qg81v56n8rmkkp5q50qpln4dh"))))
+                "1kqhps4qyvqm0qmk7fb3w41bib898amipchf8csdzacw4bzpri9k"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("dbus" ,dbus)
@@ -297,7 +299,7 @@ Bluetooth stack.  It is used by the KDE Bluetooth stack, BlueDevil.")
 (define-public breeze-icons
   (package
     (name "breeze-icons")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -306,7 +308,7 @@ Bluetooth stack.  It is used by the KDE Bluetooth stack, BlueDevil.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "17kil9dlh8w5r29arrjbv47b7jxz45kqzpg06zw3vz70bdgbb995"))))
+                "0lqglrjgjb4ralgmr7lb9k7acmn8q4jm18s4p3gbgd9iswyqgsbm"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -326,7 +328,7 @@ It is the default icon theme for the KDE Plasma 5 desktop.")
 (define-public kapidox
   (package
     (name "kapidox")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -335,7 +337,7 @@ It is the default icon theme for the KDE Plasma 5 desktop.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0cwprhpz731bqqhr6vra6lc76k5i4pm3m9j0q21km9wm2djfmk19"))))
+                "1irl25pf60frzrmm1ksgjq6y8kn3rd5snliq69l4c42yznl9qv1j"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f)) ; has no test target
@@ -368,7 +370,7 @@ documentation.")
 (define-public karchive
   (package
     (name "karchive")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -377,7 +379,7 @@ documentation.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0ypykybxl9dz57rgsfihx4rfhzhphidypb2f5nwrw1f6vlqkawzs"))))
+                "0z8asn357pdbv4g9g0x18p72wskca1qanxljyix7wzc5rsi63wzm"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -402,7 +404,7 @@ GZip format, via a subclass of QIODevice.")
 (define-public kcalendarcore
   (package
     (name "kcalendarcore")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -411,7 +413,7 @@ GZip format, via a subclass of QIODevice.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1cqqwpd6faz7sd6jrda564xxvwr231b175h2w3ilxx6hvz9yrps3"))))
+                "1y1f8gc1g9yn9kgmn53f1zvkizasfs667dfin3fyci657r5qwpw2"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -463,7 +465,7 @@ and the older vCalendar.")
 (define-public kcodecs
   (package
     (name "kcodecs")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -472,7 +474,7 @@ and the older vCalendar.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0w5q37lqdzyl84723kg9sh9xxn2g2wv0xfxpy3218hmc9364s89h"))))
+                "0y9n2a5n18pasdmrp0xb84hla9l27yj2x3k4p1c041sd9nkwixpk"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -499,7 +501,7 @@ Internet).")
 (define-public kconfig
   (package
     (name "kconfig")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -508,7 +510,7 @@ Internet).")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1ya0fvrrfiw4a5wkydcjpnkkyq3ampxy5h210dm04qim6a9x8rb1"))))
+                "1s3h4hfpw7c0894cifj66bj1yhx8g94ckvl71jm7qqsb5x5h6y9n"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("dbus" ,dbus)
@@ -564,7 +566,7 @@ propagate their changes to their respective configuration files.")
 (define-public kcoreaddons
   (package
     (name "kcoreaddons")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -573,7 +575,7 @@ propagate their changes to their respective configuration files.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1w658wfksxglr0fjpa2p8gmjbvpd2knzhk3byk2s9dwil7i7cvjd"))))
+                "10a7zys3limsawl7lk9ggymk3msk2bp0y8hp0jmsvk3l405pd1ps"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -621,7 +623,7 @@ many more.")
 (define-public kdbusaddons
   (package
     (name "kdbusaddons")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -630,7 +632,7 @@ many more.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "11zwr89v0k4m1235rzr39z4cbfdwn5zg34abs62nfnr8vmba62qv"))
+                "1vz2hg5p8wvfk0pi8v25zqzcn8yj7ykakxjyipmadvi02c1h8gic"))
               (patches (search-patches "kdbusaddons-kinit-file-name.patch"))))
     (build-system cmake-build-system)
     (native-inputs
@@ -666,7 +668,7 @@ as well as an API to create KDED modules.")
 (define-public kdnssd
   (package
     (name "kdnssd")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -675,7 +677,7 @@ as well as an API to create KDED modules.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1bn9c6ii1n6ns478i3lp7yzga7dbcqvdb43rfzmz7gndnmh853gm"))))
+                "0wadknnf472rqg2xnqzs5v23qzqfr336wj6d96yg2ayqm0chbppy"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -694,7 +696,7 @@ infrastructure.")
 (define-public kguiaddons
   (package
     (name "kguiaddons")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -703,7 +705,7 @@ infrastructure.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0k22kargqxf0j09wzk1x90b526npj8a0210ilk0n1k6spc8xa6mr"))))
+                "1yndjdhb9zzlhh74xccpys38balm5dma56sx6bwwfrga1phq0g5l"))))
     (build-system qt-build-system)
     ;; TODO: Build packages for the Python bindings.  Ideally this will be
     ;; done for all versions of python guix supports.  Requires python,
@@ -724,7 +726,7 @@ interfaces in the areas of colors, fonts, text, images, keyboard input.")
 (define-public kholidays
   (package
     (name "kholidays")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -732,7 +734,7 @@ interfaces in the areas of colors, fonts, text, images, keyboard input.")
                     (version-major+minor version) "/"
                     name "-" version ".tar.xz"))
        (sha256
-        (base32 "1035kh0na4hwp4pnsi8p1nd7r114d4bgdnjr0g2hwmy868vx0a67"))))
+        (base32 "1rifx51yk24sk578h08s1bwpqb61rnyyks33zpl82lcdnl1ljp26"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -759,7 +761,7 @@ other special events for a geographical region.")
 (define-public ki18n
   (package
     (name "ki18n")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -768,7 +770,7 @@ other special events for a geographical region.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1fdp0bdvqbqzbxynbg3bcdridr8j3qnm9spyrrdg5q95sz99a4s9"))))
+                "1f952488492sm904i1iwgjp2gc7z07312mlshw4ckh2801y0qclc"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("gettext" ,gettext-minimal)
@@ -802,7 +804,7 @@ translation scripting.")
 (define-public kidletime
   (package
     (name "kidletime")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -811,7 +813,7 @@ translation scripting.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0zd51lsz23rqwk4lnzs5653sanprgr80p33yk8gmgsihgyfbjv0r"))))
+                "0vbxs80a8kh2xbxclx8zwl7acynsasa7i0cs171fxr26d0dmmhm5"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -833,7 +835,7 @@ or user activity.")
   ;; plasma-framework which is tier 3.
   (package
     (name "kirigami")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -842,7 +844,7 @@ or user activity.")
                     "kirigami2-" version ".tar.xz"))
               (sha256
                (base32
-                "1v76d1xgmi9kkxiwq4y6rzaxs1hwwm95pw490m09rgqhli7180yv"))))
+                "0akkyif6n9l7hw4cj6nkf1zwgnd7vqi1gyiqmn588rspgl91zf1w"))))
     (properties `((upstream-name . "kirigami2")))
     (build-system cmake-build-system)
     (native-inputs
@@ -869,7 +871,7 @@ of applications that follow the Kirigami Human Interface Guidelines.")
 (define-public kitemmodels
   (package
     (name "kitemmodels")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -878,7 +880,7 @@ of applications that follow the Kirigami Human Interface Guidelines.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "10bhg0db9gdg2hlc02ngg1i2q7a99862d5973hxqzf620d28p5rd"))))
+                "0x7y5shg2pp490hvmkz81b8j01cha9j1001q34m7pnyf0n3zknzc"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -920,7 +922,7 @@ model to observers
 (define-public kitemviews
   (package
     (name "kitemviews")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -929,7 +931,7 @@ model to observers
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "15h0w16wgj94kxz4vgjb34i3pyx5w1f2npj86j4d2sa0mxxpmqyz"))))
+                "04vlmkvc3y5h7cpb6kdv9gha5axxkimhqh44mdg2ncyn4sas6j68"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -946,7 +948,7 @@ to flat and hierarchical lists.")
 (define-public kplotting
   (package
     (name "kplotting")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -955,7 +957,7 @@ to flat and hierarchical lists.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "11kpq34j37c1gsvj5nxhkc31bw8gw2n7nkqsfx87jw9f4v2vhmr9"))))
+                "1wj4n2a8iz9ml1y0012xkpsx3dfp5gl2dn80sifrzvkxjxrhwach"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -974,7 +976,7 @@ pixel units.")
 (define-public ksyntaxhighlighting
   (package
     (name "ksyntaxhighlighting")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -983,7 +985,7 @@ pixel units.")
                     "syntax-highlighting-" version ".tar.xz"))
               (sha256
                (base32
-                "08y0m4wcq1sbxvlga3w72waj5xckh5jra5x7rvnp87dl38qxhacs"))))
+                "12jn7lqsp86329spai7n1n8i65nwhxh8gp33wkq543h7w3i2a3jb"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1023,7 +1025,7 @@ integration with a custom editor as well as a ready-to-use
 (define-public kwayland
   (package
     (name "kwayland")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1032,13 +1034,14 @@ integration with a custom editor as well as a ready-to-use
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "03z8hiw0mrhl3f0y7ypc46ic0w5vlp56prbqbk448jin5hakkkdg"))))
+                "0hrpbfzixjpnfy9q5x66q1fff0p7n80rrs127zzdv68pyi6456ry"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("qtbase" ,qtbase)
+       ("qtwayland" ,qtwayland)
        ("wayland" ,wayland)
        ("wayland-protocols" ,wayland-protocols)))
     (arguments
@@ -1063,7 +1066,7 @@ represented by a QPoint or a QSize.")
 (define-public kwidgetsaddons
   (package
     (name "kwidgetsaddons")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1072,7 +1075,7 @@ represented by a QPoint or a QSize.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1nzgv3v3kyq5jm2b9xri6qjawspr9ycxhskfvj8kkgr46dr35qyc"))))
+                "03l37lh219np7pqfa56r2v7n5s5xg4rjq005qng4b5izd95ri56j"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1104,7 +1107,7 @@ configuration pages, message boxes, and password requests.")
 (define-public kwindowsystem
   (package
     (name "kwindowsystem")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1113,7 +1116,7 @@ configuration pages, message boxes, and password requests.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0nbkb8pkrbbp1s892ndzhakzri3qxpw48kibgb0rqz6i0azfxrz8"))))
+                "0a68cj0bsl5a9sxfd969khznycrn9p6grp2b08hqacxqdknzs0wh"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1167,7 +1170,7 @@ lower level classes for interaction with the X Windowing System.")
 (define-public modemmanager-qt
   (package
     (name "modemmanager-qt")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1176,7 +1179,7 @@ lower level classes for interaction with the X Windowing System.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0yv5q71cyyy04051ny5lr7n35pw391gxr6l324n6c0z7kgc560ad"))))
+                "0ydq1l823jgp0yrrpqi1zdk5dsg65ydk1x082qwsa9a0vzs0np3x"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1205,7 +1208,7 @@ messages.")
 (define-public networkmanager-qt
   (package
     (name "networkmanager-qt")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1214,7 +1217,7 @@ messages.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0ydfz6ikya1h8gg9c716y8lmy45iqnx0gaghkm0vz3c3ckx99l9g"))))
+                "1h2kdw5vs7mn3n7bvqwm36a48ra9iap6384kanz14zjbankj04c1"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1244,7 +1247,7 @@ which are used in DBus communication.")
 (define-public oxygen-icons
   (package
     (name "oxygen-icons")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1253,7 +1256,7 @@ which are used in DBus communication.")
                     name "5" "-" version ".tar.xz"))
               (sha256
                (base32
-                "0rh9bysiisnpz3c92hyba98f58dlmwf9zhbbb4vmab0qvm5d3q9g"))))
+                "1rjsnz0g7zyzgii26sk370adb6jcyvr2lm8qi23fvqimifngqm2c"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1269,7 +1272,7 @@ which are used in DBus communication.")
 (define-public prison
   (package
     (name "prison")
-    (version "5.63.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -1277,7 +1280,7 @@ which are used in DBus communication.")
                            (version-major+minor version) "/"
                            name "-" version ".tar.xz"))
        (sha256
-        (base32 "0spkm5j2qmwl374xrbm054rjv4rcqwsz0wl5v2nyrfq2ma4bzzw5"))))
+        (base32 "1qflivvb593d2npc218xkdn3w5zvl7x8v1b52ydnggsxzbgkqvb4"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1291,10 +1294,41 @@ which are used in DBus communication.")
 provides uniform access to generation of barcodes with data.")
     (license license:lgpl2.1+)))
 
+(define-public pulseaudio-qt
+  (package
+    (name "pulseaudio-qt")
+    (version "1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://download.kde.org/stable/pulseaudio-qt"
+                                  "/pulseaudio-qt-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1i0ql68kxv9jxs24rsd3s7jhjid3f2fq56fj4wbp16zb4wd14099"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glib" ,glib)
+       ("pulseaudio" ,pulseaudio)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtbase" ,qtbase)))
+    (home-page "https://invent.kde.org/libraries/pulseaudio-qt/")
+    (synopsis "Qt bindings for PulseAudio")
+    (description
+     "pulseaudio-qt is a Qt-style wrapper for libpulse.  It allows querying
+and manipulation of various PulseAudio objects such as @code{Sinks},
+@code{Sources} and @code{Streams}.  It does not wrap the full feature set of
+libpulse.")
+    ;; User can choose between LGPL version 2.1 or 3.0; or
+    ;; "any later version accepted by the membership of KDE e.V".
+    (license (list license:lgpl2.1 license:lgpl3))))
+
 (define-public qqc2-desktop-style
   (package
     (name "qqc2-desktop-style")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1303,7 +1337,7 @@ provides uniform access to generation of barcodes with data.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1sz2735fn5665pyb5v70y2fmw2mkziq83di4h06pwday9vf2r6l5"))))
+                "1n47cl082zqdw6ykil04rw6bws4fn1m8wfx4vxv1aqj9warbdks3"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1328,7 +1362,7 @@ feel.")
 (define-public solid
   (package
     (name "solid")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1337,7 +1371,7 @@ feel.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0i124kyhd1hfnajp0hnqma35ycr3bh60z39gc6byhxb75p59swnl"))))
+                "0alng7ciw6xji0s2zrk8dsx1p0p9shrrfzl8wnkwygc5chnhysz7"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -1367,7 +1401,7 @@ system.")
 (define-public sonnet
   (package
     (name "sonnet")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1376,7 +1410,7 @@ system.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0gqxmyxmwn2rs9f8x2z8pfmbx0mvkyh7nalnsmfqkph8f0fja9ig"))))
+                "0b88h5fw1n8zyrg0vq3lj2jbjjyh0mk64lj6ab3643kxzqxbn30w"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1396,7 +1430,7 @@ ASpell and HUNSPELL.")
 (define-public threadweaver
   (package
     (name "threadweaver")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1405,7 +1439,7 @@ ASpell and HUNSPELL.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0z2906nmamvcg85jip98wq834rjs3nc1qlv3q182gw1cnh4nbdag"))))
+                "0y1q0wy073lf11g4jrp4bdw4kpj4ibqfscsxj6zlh8ban9zlf389"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1426,7 +1460,7 @@ uses a job-based interface to queue tasks and execute them in an efficient way."
 (define-public kactivities
   (package
     (name "kactivities")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1435,7 +1469,7 @@ uses a job-based interface to queue tasks and execute them in an efficient way."
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "03h5r7z2a449hfvaj3zk1n7dhpj49liy5q60fb4nxz4yjkgca27s"))))
+                "1whsp0f87lrcn61s9rfhy0aj68hm6zgfa38mq6frlkcjksi0z1vn"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1471,7 +1505,7 @@ with other frameworks.")
 (define-public kauth
   (package
     (name "kauth")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1480,7 +1514,7 @@ with other frameworks.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "08gkgmxaxqpavsqdmcgs4i8j63pg5qld7agd58irpw29pgq1fj9c"))))
+                "0nmdz7ra3hpg0air4lfkzilv7cwx3zxs29k7sh8l3i1fs3qpjwxm"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("dbus" ,dbus)
@@ -1518,7 +1552,7 @@ utilities.")
 (define-public kcompletion
   (package
     (name "kcompletion")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1527,7 +1561,7 @@ utilities.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "10ggypg09acc19gkvxsigfsaq8s5vqv64ada307blpzy8j74bisb"))))
+                "1pjgya8wi28jx63hcdi9v5f5487gzbkw2j1iganhd7bhcb8s7zpy"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1546,7 +1580,7 @@ integrated it into your application's other widgets.")
 (define-public kcontacts
   (package
     (name "kcontacts")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1555,7 +1589,7 @@ integrated it into your application's other widgets.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0xs5c5l4vck5i6879jax1nf93if02f9hyfkn60l36cxbphnbpw0h"))))
+                "182ma11z3kqxq3cwy7kwprfqkb9bcmn44w7k9vixbid4pv5wa0lb"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1592,7 +1626,7 @@ localized country name to ISO 3166-1 alpha 2 code mapping and vice verca.
 (define-public kcrash
   (package
     (name "kcrash")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1601,7 +1635,7 @@ localized country name to ISO 3166-1 alpha 2 code mapping and vice verca.
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1xl3bzxfchfafcplil3g07gq1a3fnwx1i40bxp4jfsgb8d8slfwc"))))
+                "11sy9hrjpvybqi53qjrnncy9mzifrb3vqxi2d12ldjzqyqd8pirp"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1619,7 +1653,7 @@ application crashes.")
 (define-public kdoctools
   (package
     (name "kdoctools")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1628,7 +1662,7 @@ application crashes.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1zna9szii2r9agwfqbglk904zzpr3fyrz6x5v2rxrm3c9m110sm4"))))
+                "0g0k83np2xaxk05spf14h5fvzy0n7kbcwx1sa9wjh570f6jx87am"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1676,7 +1710,7 @@ from DocBook files.")
 (define-public kfilemetadata
   (package
     (name "kfilemetadata")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1685,7 +1719,7 @@ from DocBook files.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "11wvddb7nqdyi5rin3xa0p32lmvc62yw47hwcdzc01lkfbxdn050"))))
+                "18n1a5857090a1c1rxzd07sxs652gl6wr3n99sp8rxmvkghn9zsj"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -1730,7 +1764,7 @@ by applications to write metadata.")
 (define-public kimageformats
   (package
     (name "kimageformats")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1739,7 +1773,7 @@ by applications to write metadata.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "15y339by7jvsbmfqb33s3ain7sfhx3789xy2xjpkh5f2f9v29r2b"))))
+                "0pk4b725wapzdxv1mm6ddqcl6z8ffcpr32i5vrhrin8awi5gx13s"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1784,7 +1818,7 @@ formats.")
 (define-public kjobwidgets
   (package
     (name "kjobwidgets")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1793,7 +1827,7 @@ formats.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0pg055ampm69yr1vn03s1ys3p18raj8f5pcg0hg9hb4sjkyrr3pn"))))
+                "13kdczzyyh17hf6vlhh4li5bn4yq5bab5xa8mm63r9rynxihgclf"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1812,7 +1846,7 @@ asynchronous jobs.")
 (define-public knotifications
   (package
     (name "knotifications")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1821,7 +1855,7 @@ asynchronous jobs.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1rknfn50kq6ng7gclgg0n4qyhv2grc7xcf3gcax3bbyy46gajsl8"))))
+                "01bn23xw2n53h9nl99lm3cjnqs8s66bmwkzf6fkpg9rzkykizbyc"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1858,7 +1892,7 @@ covers feedback and persistent events.")
 (define-public kpackage
   (package
     (name "kpackage")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1867,7 +1901,7 @@ covers feedback and persistent events.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1h57kicsjkisysd2mmd5q9q5m421xqcv3p8vkjlqxkph5sa7y2q5"))
+                "03rp7p7i8ihz5wg58gjs638jk7xbszknfiy2j3r979snc57g95mv"))
               ;; Default to: external paths/symlinks can be followed by a
               ;; package
               (patches (search-patches "kpackage-allow-external-paths.patch"))))
@@ -1919,7 +1953,7 @@ were traditional plugins.")
 (define-public kpty
   (package
     (name "kpty")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1928,7 +1962,7 @@ were traditional plugins.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "10v61016kd1q41n4dwac1nsiixji64i5y501nx0hphpjkjbaklkr"))))
+                "1hp6iilr2asf2269linfazjv4yjg7rsi8wydxx53yyr99r0bgmah"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1956,7 +1990,7 @@ and communicating with them using a pty.")
 (define-public kunitconversion
   (package
     (name "kunitconversion")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1965,7 +1999,7 @@ and communicating with them using a pty.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0yzq2jxja9wnhz91cyli2mnw32xynnzbf1lr0hk6vi8a1w2mkrzz"))))
+                "0sp4gfzpf40cdi0xnff9sn7b75z88j0589svz4rv77q5m137cgnn"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -1993,7 +2027,7 @@ gallons).")
 (define-public syndication
   (package
     (name "syndication")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2002,7 +2036,7 @@ gallons).")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1d0k6x11giylfkr183sm307n4v6rjpwkqp7y9wfhimjrcprwf2g6"))))
+                "1n3x8s1z4kd30xirfr07hi87vwhk4rilb5kslcjcgp5n9c0imcpv"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -2026,7 +2060,7 @@ between feed formats.")
 (define-public baloo
   (package
     (name "baloo")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2035,7 +2069,7 @@ between feed formats.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1qhqv19glg98146cyc7ykq02b5b9m936xcml1w1p8fx32cp2zbch"))))
+                "1cf5pp9hn3pqypwyzh63ksasap3n7qz6n3y2xgb83ss3fra90pjf"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kcoreaddons" ,kcoreaddons)
@@ -2076,11 +2110,15 @@ between feed formats.")
                  (display "[testMoveFile]\n*\n")))
              #t))
          (add-after 'unpack 'remove-failing-test
-           ;; This test fails on i686 and aarch64
            (lambda _
+             ;; FIXME: kinotifytest broke in 5.70.0 with commit 73183acf00 and
+             ;; seems like an oversight.  Reverting the commit makes it pass,
+             ;; but causes other problems.  Since just the test file names are
+             ;; broken, disabling it should be safe.  Try enabling for > 5.70.0.
              (substitute* "autotests/unit/file/CMakeLists.txt"
-               (("^\\s*ecm_add_test\\(.* TEST_NAME metadatamovertest .*" line)
-                (string-append "# " line)))
+               ;; The test only runs on GNU/Linux, piggy-back on the check.
+               (("CMAKE_SYSTEM_NAME MATCHES \"Linux\"" all)
+                (string-append all " AND NOT TRUE")))
              #t))
          (replace 'check
            (lambda _
@@ -2096,7 +2134,7 @@ maintaining an index of the contents of your files.")
 (define-public kactivities-stats
   (package
     (name "kactivities-stats")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2105,7 +2143,7 @@ maintaining an index of the contents of your files.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "187fyl92pnkn317pi1pkmf7bv5z6aqdhqa6b8531xgl06gyigy45"))))
+                "1cnfdnxkw9hwbqdzdygp2vzwxqwqhxyipzwdcgar0clgnf7zi7wx"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -2126,7 +2164,7 @@ by which applications, and what documents have been linked to which activity.")
 (define-public kbookmarks
   (package
     (name "kbookmarks")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2135,7 +2173,7 @@ by which applications, and what documents have been linked to which activity.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "011r2ms57ycz5kma0q35cji4isj0lskrxrambk11jibs1xjdis2v"))))
+                "1i5vcyvyc9whmflbcg2kc562ch93yscfic1c1n9z347g26jmgras"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kwidgetsaddons" ,kwidgetsaddons)))
@@ -2169,7 +2207,7 @@ using the XBEL format.")
 (define-public kcmutils
   (package
     (name "kcmutils")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2178,7 +2216,7 @@ using the XBEL format.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1q12n9sfgrm2f8bspsl5i9gbv4jwl25w5id9m9rnnr87hck35g68"))))
+                "08f4yr546brl1dppp0khvsw9ihmh9a7rp505913pdhi0sklaiimz"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kconfigwidgets" ,kconfigwidgets)
@@ -2205,6 +2243,7 @@ using the XBEL format.")
        ("kconfig" ,kconfig)
        ("kcoreaddons" ,kcoreaddons)
        ("kdeclarative" ,kdeclarative)
+       ("kguiaddons" ,kguiaddons)
        ("kiconthemes" ,kiconthemes)
        ("kitemviews" ,kitemviews)
        ("ki18n" ,ki18n)
@@ -2222,7 +2261,7 @@ KCModules can be created with the KConfigWidgets framework.")
 (define-public kconfigwidgets
   (package
     (name "kconfigwidgets")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2231,7 +2270,7 @@ KCModules can be created with the KConfigWidgets framework.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "098xdfvnyz9bdkc6iyq5r2s4vkfdhbrri4015yzbs73j4f2wcxz5"))))
+                "195dw7nyr3fp78y3vfnyjh0hwgwk46f80wdcm8dck5rkscl3v9xz"))))
     (build-system qt-build-system)
     (propagated-inputs
      `(("kauth" ,kauth)
@@ -2269,7 +2308,7 @@ their settings.")
 (define-public kdeclarative
   (package
     (name "kdeclarative")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2278,7 +2317,7 @@ their settings.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "027wnrmr79fxkf4jpdpfhp7smdai2wn9y71l1h4kgqgwfq8anwy8"))))
+                "1vq9pkrb0zsphi2sfx7cyy1kb6pklzjkmqdf5202z8vydlkc4549"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kconfig" ,kconfig)
@@ -2332,7 +2371,7 @@ that offer bindings to some of the Frameworks.")
 (define-public kded
   (package
     (name "kded")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2341,7 +2380,7 @@ that offer bindings to some of the Frameworks.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0kjr6ff1g6xyas5si9b7zilcqcx4mgfkzfpq2c59fz1wd8q8fl05"))))
+                "0zqd33vy4ny7g9as3bhd75qi1chz1nlqq133pgw8kjanvghwwnk9"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -2365,7 +2404,7 @@ started on demand.")
 (define-public kdesignerplugin
   (package
     (name "kdesignerplugin")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2374,7 +2413,7 @@ started on demand.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1w7glszd82iyw6kxzmp0568rm3qfadi7vw7gfxg4c15w5ikkvxn9"))))
+                "0dr6gcag2yzx8fvxis4x403jrcisywds95cywmiyz3pb5727cak2"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -2408,7 +2447,7 @@ ini-style description files.")
 (define-public kdesu
   (package
     (name "kdesu")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2417,7 +2456,7 @@ ini-style description files.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "038m0sdpnsy50m3g78sfg7wk26933rh3578qsnapw2cyimx8ypxx"))))
+                "17k29g7jwgqj5xdmr509438b9sq65zx8khdr4viybjf5xpi0cf5m"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kpty" ,kpty)))
@@ -2439,7 +2478,7 @@ with su and ssh respectively.")
 (define-public kdewebkit
   (package
     (name "kdewebkit")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2448,7 +2487,7 @@ with su and ssh respectively.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1s3bmn1ck7xvc7a6gv7ywv9161hdahiiw20aq88s4qkm2s5wyy6v"))))
+                "0y9ja3znkvzdbjfs91dwr4cmvl9fk97zpz2lkf0f9zhm2nw6q008"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -2472,7 +2511,7 @@ engine WebKit via QtWebKit.")
 (define-public kemoticons
   (package
     (name "kemoticons")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2481,7 +2520,7 @@ engine WebKit via QtWebKit.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0li1lz5kqlczvgq6b2x3nkr0hl96a337ab83fq9wxp5sx440d6sd"))))
+                "11v1srn3nii4j7cn4f19qvdw96pczwxhanzxlg4a9gf8kmnp5gxr"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kservice" ,kservice)))
@@ -2512,7 +2551,7 @@ emoticons coming from different providers.")
 (define-public kglobalaccel
   (package
     (name "kglobalaccel")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2521,7 +2560,7 @@ emoticons coming from different providers.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1xpfvwnrj81mk3di02n37b469gxzmnk89icmcz6wwyk54m86fw76"))))
+                "0hmqigc8myiwwh7m6y2cm4vn0d3kmrhia179hyb84vpvvn3lm93z"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -2548,7 +2587,7 @@ window does not need focus for them to be activated.")
 (define-public kiconthemes
   (package
     (name "kiconthemes")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2557,7 +2596,7 @@ window does not need focus for them to be activated.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "18p4np4chykpy2ck8c76999nh8gdj75hjfakg1pakdqhlash9q6w"))))
+                "09bqpf3drqyfc81vgab9bsh1wm5qbzdwqjlczhax38660nnvh0r9"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -2596,7 +2635,7 @@ in applications using the KDE Frameworks.")
 (define-public kinit
   (package
     (name "kinit")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2605,7 +2644,7 @@ in applications using the KDE Frameworks.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "06p0i9674nzam0f4ac2jrl9pgkycz0lc0kdn24ds2rlh85cqvjwx"))
+                "1x4whs8p1daxjfp4ksf70rxrv7fx3w17s5wh6446039wzz9bv6ki"))
               ;; Use the store paths for other packages and dynamically loaded
               ;; libs
               (patches (search-patches "kinit-kdeinit-extra_libs.patch"
@@ -2638,6 +2677,7 @@ in applications using the KDE Frameworks.")
        ("kconfigwidgets" ,kconfigwidgets)
        ("kcoreaddons" ,kcoreaddons)
        ("kcrash" ,kcrash)
+       ("kdbusaddons" ,kdbusaddons)
        ("kdoctools" ,kdoctools)
        ("kio" ,kio)
        ("kitemviews" ,kitemviews)
@@ -2665,7 +2705,7 @@ consumption.")
 (define-public kio
   (package
     (name "kio")
-    (version "5.63.0")
+    (version "5.70.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2674,7 +2714,7 @@ consumption.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "048gq6j8di6nzsacpr8j40kw6y5607zgwqr21ahcnnb0gd2sly4l"))
+                "1f33jdjjx6k1d5fab35x8xakc4ny9fyfrgkbib60xncc82lz2h5l"))
               (patches (search-patches "kio-search-smbd-on-PATH.patch"))))
     (build-system cmake-build-system)
     (propagated-inputs
@@ -2685,6 +2725,7 @@ consumption.")
        ("kitemviews" ,kitemviews)
        ("kjobwidgets" ,kjobwidgets)
        ("kservice" ,kservice)
+       ("kwindowsystem" ,kwindowsystem)
        ("kxmlgui" ,kxmlgui)
        ("solid" ,solid)))
     (native-inputs
@@ -2707,7 +2748,6 @@ consumption.")
        ("ktextwidgets" ,ktextwidgets)
        ("kwallet" ,kwallet)
        ("kwidgetsaddons" ,kwidgetsaddons)
-       ("kwindowsystem" ,kwindowsystem)
        ("libxml2" ,libxml2)
        ("libxslt" ,libxslt)
        ("qtbase" ,qtbase)
@@ -2759,7 +2799,7 @@ KIO enabled infrastructure.")
 (define-public knewstuff
   (package
     (name "knewstuff")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2768,7 +2808,7 @@ KIO enabled infrastructure.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0pkm7qapkd9xypmhsjfwlgq0l4nfgya5b23lv3zkci8lrbssaqsv"))))
+                "1hpxj4nawh57w8l64gjplb5mk5fpxiffm4x49kg75m637rxy19fq"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("attica" ,attica)
@@ -2815,7 +2855,7 @@ specification.")
 (define-public knotifyconfig
   (package
     (name "knotifyconfig")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2824,7 +2864,7 @@ specification.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1d90gsnxy3kqd6f1bkhflrdwwx3w65sw4c7nfpkdxxhlqhzc9zr4"))))
+                "1d483qrgyamwsqvcl70klv1g8744hn8z1h2j3qfydcvlwz8jy0gj"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -2857,7 +2897,7 @@ notifications which can be embedded in your application.")
 (define-public kparts
   (package
     (name "kparts")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2866,8 +2906,18 @@ notifications which can be embedded in your application.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0md0349r4mdm2r04p5s3pgm17v4w40r3kz58lzp6qfcw25b969nw"))))
+                "1gfaxr856zrsjxzdxw1sj12s6aib6r703jgf7yvsl8kilg8l2gsk"))))
     (build-system qt-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'disable-partloader-test
+                    (lambda _
+                      (substitute* "autotests/CMakeLists.txt"
+                        ;; XXX: PartLoaderTest wants to create a .desktop file
+                        ;; in the common locations and test that MIME types work.
+                        ;; The setup required for this is extensive, skip for now.
+                        (("partloadertest\\.cpp") ""))
+                      #t)))))
     (propagated-inputs
      `(("kio" ,kio)
        ("ktextwidgets" ,ktextwidgets)
@@ -2901,7 +2951,7 @@ widgets with a user-interface defined in terms of actions.")
 (define-public kpeople
   (package
     (name "kpeople")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2910,7 +2960,7 @@ widgets with a user-interface defined in terms of actions.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1q2hh2i8hd638p907g0srdxmxm9h2ay91dmhslqzcgwnlhln4gfl"))))
+                "1dhvly19pj9lx78g7mc89scibzmra1vhv4zz33222zidkbrf9ryl"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -2937,7 +2987,7 @@ to easily extend the contacts collection.")
 (define-public krunner
   (package
     (name "krunner")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2946,12 +2996,15 @@ to easily extend the contacts collection.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0gjqwzsg865gha8k7hda28hsrbfzhw9jz610lkqff5713lqbcn5a"))))
+                "0fhb26vi9z1mky79kq12qq4g4ghz3530cx84n5l3sdgkd6nfsyqf"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("plasma-framework" ,plasma-framework)))
     (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)))
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+
+       ;; For tests.
+       ("dbus" ,dbus)))
     (inputs
      `(("kauth" ,kauth)
        ("kbookmarks" ,kbookmarks)
@@ -2995,7 +3048,10 @@ to easily extend the contacts collection.")
                (lambda _
                  (display "[testMatch]\n*\n")
                  (display "[testMulti]\n*\n")))
-             #t)))))
+             #t))
+         (replace 'check
+           (lambda _
+             (invoke "dbus-launch" "ctest" "."))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Framework for Plasma runners")
     (description "The Plasma workspace provides an application called KRunner
@@ -3007,7 +3063,7 @@ typed.")
 (define-public kservice
   (package
     (name "kservice")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3016,7 +3072,7 @@ typed.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1rdapw9wirfq6pyaza0k7sg6q21rv3cfyalpzrwfrk5gkgpqxzwk"))))
+                "0g49p5331f7dl46rvi43akmjm1jx70w9797j6d17jy7z9s9sqikw"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kconfig" ,kconfig)
@@ -3066,7 +3122,7 @@ types or handled by application specific code.")
 (define-public ktexteditor
   (package
     (name "ktexteditor")
-    (version "5.63.0")
+    (version "5.70.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3075,7 +3131,7 @@ types or handled by application specific code.")
                     "ktexteditor-" version ".tar.xz"))
               (sha256
                (base32
-                "0vfl6rr3624n8v29z07z5c0nh5af5kfg28cnp5ksfvfnssxfzfqa"))))
+                "0k10yj1ia1w1mznj4g5nvp65p226zcvgwxc85ycn2w8lbkknidf7"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kparts" ,kparts)))
@@ -3147,7 +3203,7 @@ library.")
 (define-public ktextwidgets
   (package
     (name "ktextwidgets")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3156,7 +3212,7 @@ library.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1qb1mad5bg19xwykzpwk2b3s505ka4jkg0fsi56ri57wq8gv4qha"))))
+                "1609rlwba674kr9whawk93vb1b14b5ly7wvir7kjyjp4j715f47w"))))
     (build-system qt-build-system)
     (propagated-inputs
      `(("ki18n" ,ki18n)
@@ -3187,7 +3243,7 @@ It supports rich text as well as plain text.")
 (define-public kwallet
   (package
     (name "kwallet")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3196,7 +3252,7 @@ It supports rich text as well as plain text.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1dp3mrgl0h6wqp4wcqpvnvkacwkrrn5lrv6bdl008kx1y594s28g"))))
+                "1ps6ywcirv7xcisvwfcpvk53wm7m8y5lrz4nhkm36rizrdglw19r"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -3229,7 +3285,7 @@ the passwords on KDE work spaces.")
 (define-public kxmlgui
   (package
     (name "kxmlgui")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3238,7 +3294,7 @@ the passwords on KDE work spaces.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0x0mfapgl8w4xal8lamh3v27a9kdb7qyaxdn48gja4x85pkvi87i"))))
+                "0cvzcq2dcz89c0ffhvfb820hfmqa87mfdbjvrqjwdysc9lr8zx8f"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kconfig" ,kconfig)
@@ -3282,7 +3338,7 @@ descriptions for integrating actions from plugins.")
 (define-public kxmlrpcclient
   (package
     (name "kxmlrpcclient")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3291,7 +3347,7 @@ descriptions for integrating actions from plugins.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0k82cyxjipqpky7gs0zb5s1bc6jf22d5vwpwyiqjy32da63mc89c"))))
+                "1cmfv2w9yfi8jhj5nawfz7kw8jbr1k5cr3n5xv3z59pg2vazsx8b"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kio" ,kio)))
@@ -3325,7 +3381,7 @@ setUrl, setUserAgent and call.")
 (define-public plasma-framework
   (package
     (name "plasma-framework")
-    (version "5.63.0")
+    (version "5.70.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3334,7 +3390,7 @@ setUrl, setUserAgent and call.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0p0ziqw70lklx59d0nij3p9yi1vdacdfyrrp7zf74iwxd7598hci"))))
+                "06cxajsxj62g3c37ssrrcaxb9a12zbyp2kvrjqym329k5vd89272"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kpackage" ,kpackage)
@@ -3395,7 +3451,7 @@ script engines.")
 (define-public purpose
   (package
     (name "purpose")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3404,7 +3460,7 @@ script engines.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1mc5z131z9da6qjhlxqz64ys4fgq38iryna58f8l04x8f9igjn8f"))))
+                "1pxlx2hgj42zsisws8f486n8sg0vn5a5mhb85prifwkaw0rqzgah"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -3461,7 +3517,7 @@ need.")
 (define-public kde-frameworkintegration
   (package
     (name "kde-frameworkintegration")
-    (version "5.63.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3470,7 +3526,7 @@ need.")
                     "frameworkintegration-" version ".tar.xz"))
               (sha256
                (base32
-                "0n8n6lnzswi2q848qy2b4rcvkd0y1dywlk6hdmcnn8dfbxy6b050"))))
+                "1lvccvhhkzdv1hw627kw3ds18gfq4bxdhlvh959piqxq5gh9d2n0"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -3518,7 +3574,7 @@ workspace.")
 (define-public kdelibs4support
   (package
     (name "kdelibs4support")
-    (version "5.63.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -3527,7 +3583,7 @@ workspace.")
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "17mywcmgp1yzdipwwaypbkxiyybk1w0sps50jv1bl0f23ya19mlc"))))
+        (base32 "0imkibjlfc0jshdzr05fz5dy2xmfhvgsfan9b1r35spwsn5qkawx"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("dbus" ,dbus)
@@ -3634,7 +3690,7 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.")
 (define-public khtml
   (package
     (name "khtml")
-    (version "5.63.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -3643,7 +3699,7 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.")
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "15f77r6dxkkvi2vxvxlwa7qz3whmz229g79bgadiwffmzxja0ywd"))))
+        (base32 "1jh0g6xv57hyclnh54x0f72lby1gvlisan23y7mzlqf67aky52s5"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -3685,7 +3741,7 @@ technology and using KJS for JavaScript support.")
 (define-public kjs
   (package
     (name "kjs")
-    (version "5.63.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -3694,7 +3750,7 @@ technology and using KJS for JavaScript support.")
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "16zsan9c8kba5m70h34y544id7gig2bcbcs4s90s27pckijkkarp"))))
+        (base32 "0s3n0pdz59p5v967zrxcas3lb94k5bv9vi8058fi0l20nwwlcgh5"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -3718,7 +3774,7 @@ support.")
 (define-public kjsembed
   (package
     (name "kjsembed")
-    (version "5.63.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -3727,7 +3783,7 @@ support.")
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "00sr6lv1nai2y6aawvqwnx4pbx8pw9b1jrpa0klc014gc42l6i7b"))))
+        (base32 "0976faazhxhhi1wpvpcs8hwb2knz0z7j44v3ay3hw73rq4p3bipm"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -3747,7 +3803,7 @@ QObjects, so you can script your applications.")
 (define-public kmediaplayer
   (package
     (name "kmediaplayer")
-    (version "5.63.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -3756,7 +3812,7 @@ QObjects, so you can script your applications.")
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "19v53h3lkys3ryrjacrdng9ak91g03b9s986xhnw1r84zy242kdm"))))
+        (base32 "0lrm4y727nhwaivl37zpmnrwx048gfhyjw19m6q5z9p37lk43jja"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -3785,7 +3841,7 @@ KParts instead.")
 (define-public kross
   (package
     (name "kross")
-    (version "5.63.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -3794,7 +3850,7 @@ KParts instead.")
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "0paipgkxbm6vwgqj38rlr37vgmf1rx0cl2mka8zdbndl76ng5hgc"))))
+        (base32 "12b527l12rcf421p613ydbacilp9v9iy90ma35w21sdf9a15k675"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm
index 5eb90cfb7c..f9cd29e9b8 100644
--- a/gnu/packages/kde-internet.scm
+++ b/gnu/packages/kde-internet.scm
@@ -116,14 +116,14 @@ Other notable features include:
 (define-public kget
   (package
     (name "kget")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kget-" version ".tar.xz"))
        (sha256
-        (base32 "004qqq93iqidh2m9q2p2cwlbc2kfrz0g8a2mgd712c9p66l7s42s"))))
+        (base32 "1swx58wcig8zq8ibhczhcw7l8mqjm7pq8zca9gmny9kda5q04f5m"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -249,14 +249,14 @@ Features are:
 (define-public kopete
   (package
     (name "kopete")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kopete-" version ".tar.xz"))
        (sha256
-        (base32 "088jya4v04l7r38pph1hxkr6ln4023s3ji3y8ipzdkalcx8hgr6l"))))
+        (base32 "149gi9hkyl825kf046iqkam3gkzfwdc2sihbf8gs6njachzvb81y"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -327,14 +327,14 @@ This package is part of the KDE networking module.")
 (define-public krdc
   (package
     (name "krdc")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/krdc-" version ".tar.xz"))
        (sha256
-        (base32 "1p6g994whzjz9aarzrblh70xzs3jvygd1898qxgfymndlfxaxjyl"))))
+        (base32 "1hp23k3nsrcxpv2qiynjgm71zn3l6ds00cpd4frc68szgiblrw9r"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -429,14 +429,14 @@ a full-featured client for BitTorrent.")
 (define-public libgravatar
   (package
     (name "libgravatar")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libgravatar-" version ".tar.xz"))
        (sha256
-        (base32 "1yzq9d0hzqh1hdfpnh7fp44fyjk169gvm4pqgwg24ra00z8j2d3z"))))
+        (base32 "0981ci2kr20v4fk11h57rqya0brgslfazpgq1yk5yqiwyqqm49r2"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 639d74d894..938251a532 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -46,14 +46,14 @@
 (define-public audiocd-kio
   (package
     (name "audiocd-kio")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/audiocd-kio-" version ".tar.xz"))
        (sha256
-        (base32 "1924w7li16qkmqsvbgfihjd7id6mb00m9k3acfwkkf32yzg3dn4q"))))
+        (base32 "0qlnxxbayqhz25jbvzis27jw2zbw1pmacp8rv7v5wa7zfqn3kmyk"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -86,14 +86,14 @@ This package is part of the KDE multimedia module.")
 (define-public dragon
   (package
     (name "dragon")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/dragon-" version ".tar.xz"))
        (sha256
-        (base32 "02l16k4sgrxbczxp8rlnxbylb5fmjh4zhl4xw55qxkvmvxnjy5zr"))))
+        (base32 "1sssg20a1vpwk816lp5jgwahilaswb9f3hgfqvc73il4g11ky1xj"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -201,14 +201,14 @@ its own database.  You can build and play your own playlist.")
 (define-public ffmpegthumbs
   (package
     (name "ffmpegthumbs")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/ffmpegthumbs-" version ".tar.xz"))
        (sha256
-        (base32 "1w6070ng40nf99wpl6p5s8nx0icfx2c26vvnz4f9fx7l7pldh6n9"))))
+        (base32 "17l50z33a1h5zkrrfkb261yi2hms66qj36l1mndq7mvs97y2ggmc"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -232,14 +232,14 @@ This package is part of the KDE multimedia module.")
 (define-public juk
   (package
     (name "juk")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/juk-" version ".tar.xz"))
        (sha256
-        (base32 "0c1hrd1n4ah7qm8xr7bfswgbcmbvnnhai4bfawx6v6ab3frl7wvf"))))
+        (base32 "06vsh7knyhcbcbf632jhldbqpzfkdyils2l8dbcdw5nj5hhgzzmr"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -287,14 +287,14 @@ This package is part of the KDE multimedia module.")
 (define-public k3b
   (package
     (name "k3b")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/k3b-" version ".tar.xz"))
        (sha256
-        (base32 "08rbiy1hz650srdksr7ciq8dpcz20wczs22613pghrpgm5zsczhr"))))
+        (base32 "0r01ninrrmqk7pl5jg0g51fcky1ammw0yyq572wyhibw7q8y7ly7"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -400,14 +400,14 @@ autoloading of subtitle files for use while playing video.")
 (define-public kamoso
   (package
     (name "kamoso")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kamoso-" version ".tar.xz"))
        (sha256
-        (base32 "0j0lr2gwaxwchgfp54dashm1b39gsaw4ly9p8ybavwwzhjkdqza3"))))
+        (base32 "0c47j315kjfikd3b6x18786k3gqymicjjslpm0a58zdxl3wpqfay"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -447,14 +447,14 @@ camera.  Use it to take pictures and make videos to share.")
 (define-public kmix
   (package
     (name "kmix")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
       (method url-fetch)
-      (uri (string-append "mirror://kde/stable/applications/" version
+      (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kmix-" version ".tar.xz"))
       (sha256
-       (base32 "1g42hlmpdf0rrgqapps6v47z9cnwpkfzpwgavaq26m5k3bpanwfg"))))
+       (base32 "1na52ypp57wqrc6pl1khinx9i6fidv1k97nnxcy8zb4l7d5sh1nd"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -560,14 +560,14 @@ Some features:
 (define-public kwave
   (package
     (name "kwave")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kwave-" version ".tar.xz"))
        (sha256
-        (base32 "1vv3m3h9mvjr9sxajccqnvcgvz901n3qxhki0g7vsljvh31x5s5x"))))
+        (base32 "0ysa873pc2gip95cxr8yv7ifd9qql5zg6h67i9n9q3iqa6v58iyw"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -637,14 +637,14 @@ Its features include:
 (define-public libkcddb
   (package
     (name "libkcddb")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libkcddb-" version ".tar.xz"))
        (sha256
-        (base32 "1rla9sfzpdfiki0p265ga6d1axqpq37825maaw85hm84mg7hkzjn"))))
+        (base32 "1fwryaj8ldmsqhl5qxjda8by9i7xlb97r8p9rqzckw697hkfhs0h"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -668,14 +668,14 @@ Its features include:
 (define-public libkcompactdisc
   (package
     (name "libkcompactdisc")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libkcompactdisc-" version ".tar.xz"))
        (sha256
-        (base32 "09gl2dww5i50rpj92ryw4vq5ryy96cv9kflg6yqgdbznmmdqhawi"))))
+        (base32 "0iy4i0hxqsrnndd4iqkww7v1rqry7kvi5paxdw5qjfffwn8kcsbx"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index 569ac43d91..b7b779c7d5 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -43,14 +43,14 @@
 (define-public akonadi
   (package
     (name "akonadi")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akonadi-" version ".tar.xz"))
        (sha256
-        (base32 "0v7f1049wjnqxhwxr1443wc2cfbdqmf15xcwjz3j1m0vgdva9pyg"))
+        (base32 "0kkn7lh3akkk9cdi8qdk9kqzs1cgv916mkl440x4ykqd1v8brzqb"))
        (patches (search-patches
                  "akonadi-paths.patch"
                  "akonadi-timestamps.patch"
@@ -66,8 +66,6 @@
        ("kconfigwidgets" ,kconfigwidgets)
        ("kcoreaddons" ,kcoreaddons)
        ("kcrash" ,kcrash)
-       ("kdbusaddons" ,kdbusaddons)
-       ("kdesignerplugin" ,kdesignerplugin)
        ("ki18n" ,ki18n)
        ("kiconthemes" ,kiconthemes)
        ("kio" ,kio)
@@ -122,14 +120,14 @@ programs.")
 (define-public akonadi-calendar
   (package
     (name "akonadi-calendar")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akonadi-calendar-" version ".tar.xz"))
        (sha256
-        (base32 "1550h08i8rjnbd9yrnhd9v3v68ingrag2bdxrbid62qvam0n5ihy"))))
+        (base32 "1mq76qyd3jcngb2yfanpn7qvklzllza399fxwii0mqppp1vmnb2b"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -142,7 +140,6 @@ programs.")
        ("kcalutils" ,kcalutils)
        ("kcodecs" ,kcodecs)
        ("kcontacts" ,kcontacts)
-       ("kdbusaddons" ,kdbusaddons)
        ("ki18n" ,ki18n)
        ("kiconthemes" ,kiconthemes)
        ("kidentitymanagement" ,kidentitymanagement)
@@ -166,14 +163,14 @@ collection and item views.")
 (define-public akonadi-contacts
   (package
     (name "akonadi-contacts")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akonadi-contacts-" version ".tar.xz"))
        (sha256
-        (base32 "1pw1s8c6dlcb103cw46p1ikvas3y8cwiwnfdny2jd3hr3rig4px9"))))
+        (base32 "0igggarnl99s5pl73dgrpha4lf7vnr000iy69vcwmqs5lxb7cyli"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -217,14 +214,14 @@ to list and filter contacts.")
 (define-public akonadi-mime
   (package
     (name "akonadi-mime")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akonadi-mime-" version ".tar.xz"))
        (sha256
-        (base32 "03q3dnhzcgmgcqvijnwi4ikg0m1zad2l679bqnp051v27fvs4yg7"))))
+        (base32 "1wd776ia3z22a79biq04y4m83n8xpvfmyg8bcsslr7lmc3avdg8w"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -270,14 +267,14 @@ with emails through Akonadi easier.")
 (define-public akonadi-notes
   (package
     (name "akonadi-notes")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akonadi-notes-" version ".tar.xz"))
        (sha256
-        (base32 "0r8vh11bfjzhspb5kp2d0kcgwqd2m5qpxpamiajzjq910f51sw3w"))))
+        (base32 "04y293kjrmjjcbb7fkjl7hl4vrks4cjjxnvc6ibzyv81rn6cdhh2"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -299,14 +296,14 @@ wrapping notes into KMime::Message objects.")
 (define-public akonadi-search
   (package
     (name "akonadi-search")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akonadi-search-" version ".tar.xz"))
        (sha256
-        (base32 "16qzs2cs4nxwrpwcdgwry95qn6wmg8s1p4w3qajx1ahkgwmsh11s"))))
+        (base32 "1h5p44y244gzf7ndzw7afrvq9c76ybp8ddvg82p3lzjh02rrvd50"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -336,7 +333,7 @@ wrapping notes into KMime::Message objects.")
                     (lambda _
                       ;; FIXME: This test fails because it fails to establish
                       ;; a socket connection, seemingly due to failure during
-                      ;; DBus communication.
+                      ;; DBus communication.  See also 'korganizer'.
                       (substitute* "agent/autotests/CMakeLists.txt"
                         ((".*schedulertest\\.cpp.*")
                          ""))
@@ -354,14 +351,14 @@ Akonadi PIM data server.  It uses Xapian for indexing and querying.")
 (define-public kincidenceeditor
   (package
     (name "kincidenceeditor")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/incidenceeditor-" version ".tar.xz"))
        (sha256
-        (base32 "0v962v2ihawndg39ypkfawa449vpbdyg00ib7avb19a153y3wxg6"))))
+        (base32 "1xpp5lw60mvpjsjsxmicfa5y2d68wnb9vm4yb1krwkihm852ziny"))))
     (properties `((upstream-name . "incidenceeditor")))
     (build-system qt-build-system)
     (native-inputs
@@ -403,14 +400,14 @@ Akonadi PIM data server.  It uses Xapian for indexing and querying.")
 (define-public kaddressbook
   (package
     (name "kaddressbook")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kaddressbook-" version ".tar.xz"))
        (sha256
-        (base32 "1bpl9cqjv7s6pnsaa266jqmny2s6ldkylxviri162jxg51v1hhz3"))))
+        (base32 "1vpdhdj87ai2sxjn2jk3mh6bzfr1n3yzydnkgv7nc8v1m2fdawap"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -460,14 +457,14 @@ CalDAV server.")
 (define-public kalarmcal
   (package
     (name "kalarmcal")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kalarmcal-" version ".tar.xz"))
        (sha256
-        (base32 "0w9qsx2gqwny2v4fsj4awn814s9b7yrxvqrawlick3r2kp4x1sgn"))))
+        (base32 "0g0bm4zzzcpl2pqqf609349zagwrgj6a4ibxpgg4zf21aacdq8bi"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -501,14 +498,14 @@ calendar data.")
 (define-public kblog
   (package
     (name "kblog")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kblog-" version ".tar.xz"))
        (sha256
-        (base32 "0r3ik3df444kzg2mnzckkh4kk6v08zil1f26dwmxsslsqw9hl0vv"))))
+        (base32 "0pi3axs58wsz5vq6vyisz73s24q739zplwrblyvkcm16nll4mvhk"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -535,14 +532,14 @@ one of the APIs mentioned above.")
 (define-public kcalendarsupport
   (package
     (name "kcalendarsupport")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/calendarsupport-" version ".tar.xz"))
        (sha256
-        (base32 "1hwfh5njq4614ypwdilna33hdcn11kshpwg6n27cag1qhwrxs1i4"))))
+        (base32 "1yv3hs7qw481cxw4kzbx5l8vv18bgzm1b0vj3zrlqqxwl5ac6xvy"))))
     (properties `((upstream-name . "calendarsupport")))
     (build-system qt-build-system)
     (native-inputs
@@ -581,14 +578,14 @@ calendaring applications.")
 (define-public kcalutils
   (package
     (name "kcalutils")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kcalutils-" version ".tar.xz"))
        (sha256
-        (base32 "1nlkik4qiciyh1slgpis3n5h9pks2ygdba9yq4s16nnmip4l45w2"))))
+        (base32 "0v268w8vhgqxq1nwv9b9cy4h7zqgjrv19r44g3zc9w5j76ivix86"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -620,14 +617,14 @@ functions for accessing calendar data using the kcalcore API.")
 (define-public kdav
   (package
     (name "kdav")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kdav-" version ".tar.xz"))
        (sha256
-        (base32 "1w59n17lridglphnm4mnmmzq1ijpbp269qxfmz01vk6wry6hlnp8"))))
+        (base32 "10syhwdlx36yip07yylzir8ig8arm1i868f2j6xpkwhxblrprlxk"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -648,14 +645,14 @@ supported using GroupDAV or CardDAV.")
 (define-public kdepim-apps-libs
   (package
     (name "kdepim-apps-libs")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kdepim-apps-libs-" version ".tar.xz"))
        (sha256
-        (base32 "10xbzvp9cm5fpy4nxp38qm4vf0bycpq94bm4z2j4lw7ll1aq8irw"))))
+        (base32 "0m9qrfjs97anh9h6ibggx23ddlm1zkxjap2iyf3gf672ip01fvci"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -670,9 +667,7 @@ supported using GroupDAV or CardDAV.")
        ("kconfigwidgets" ,kconfigwidgets)
        ("kcontacts" ,kcontacts)
        ("kcoreaddons" ,kcoreaddons)
-       ("kdbusaddons" ,kdbusaddons)
        ("ki18n" ,ki18n)
-       ("kiconthemes" ,kiconthemes)
        ("kimap" ,kimap)
        ("kio" ,kio)
        ("kitemmodels" ,kitemmodels)
@@ -694,16 +689,14 @@ for KDE PIM.")
 (define-public kdepim-runtime
   (package
     (name "kdepim-runtime")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kdepim-runtime-" version ".tar.xz"))
        (sha256
-        (base32 "1skid9v6viw379mwhmb4xjh6bylv8wg7cy56kkbcpsmpars9cwr6"))
-       (patches (search-patches
-                 "kdepim-runtime-Fix-missing-link-libraries.patch"))))
+        (base32 "1in4x4wvgclkni72cfkw9jx35d0qd0jmfwybm3ksx5qx5sbki9gg"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -727,9 +720,7 @@ for KDE PIM.")
        ("kconfigwidgets" ,kconfigwidgets)
        ("kcontacts" ,kcontacts)
        ("kdav" ,kdav)
-       ("kdbusaddons" ,kdbusaddons)
        ("kholidays" ,kholidays)
-       ("kiconthemes" ,kiconthemes)
        ("kidentitymanagement" ,kidentitymanagement)
        ("kimap" ,kimap)
        ("kio" ,kio)
@@ -758,7 +749,18 @@ for KDE PIM.")
     (arguments
       ;; TODO: 5/45 tests fail for quite different reasons, even with
       ;; "offscreen" and dbus
-     `(#:tests? #f))
+     `(#:tests? #f
+       #:phases (modify-phases %standard-phases
+                  (add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      ;; FIXME: <Akonadi/KMime/SpecialMailCollections> is not
+                      ;; found during one of the compilation steps without
+                      ;; this hack.
+                      (setenv "CPLUS_INCLUDE_PATH"
+                              (string-append (assoc-ref inputs "akonadi-mime")
+                                             "/include/KF5:"
+                                             (or (getenv "CPLUS_INCLUDE_PATH") "")))
+                      #t)))))
     (home-page "https://cgit.kde.org/kdepim-runtime.git")
     (synopsis "Runtime components for Akonadi KDE")
     (description "This package contains Akonadi agents written using KDE
@@ -773,14 +775,14 @@ package.")
 (define-public keventviews
   (package
     (name "keventviews")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/eventviews-" version ".tar.xz"))
        (sha256
-        (base32 "190vx074ligzysc9w5pf2b51dfy0i4v9mc53m9jdcw8y02shy49w"))))
+        (base32 "0si9p95rgp7mgkzhzwyy10zrwzy1kipbhm1y96yjlc9rxi3jrc73"))))
     (properties `((upstream-name . "eventviews")))
     (build-system qt-build-system)
     (native-inputs
@@ -823,14 +825,14 @@ package.")
 (define-public kgpg
   (package
     (name "kgpg")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kgpg-" version ".tar.xz"))
        (sha256
-        (base32 "1dis7zv51a4lhx5l3wlwnhym8f79h8sibhhk97fkn8d7szdrmfw5"))))
+        (base32 "03d3gsbara7ga2cyrhafkw11qq9cj804h9vpvxl4wd2a9c90snkh"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -871,14 +873,14 @@ cryptography to the contents of the clipboard.")
 (define-public kidentitymanagement
   (package
     (name "kidentitymanagement")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kidentitymanagement-" version ".tar.xz"))
        (sha256
-        (base32 "0dqz49sp5hq44590rrxav8688aqlzsww4q4n55ksfy13nk9i5mbf"))))
+        (base32 "0flp9p9hlr1zfgvsy5i1nq55p7bvnhqxkxbif1lyw0cq6iblxhgr"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -910,14 +912,14 @@ cryptography to the contents of the clipboard.")
 (define-public kimap
   (package
     (name "kimap")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kimap-" version ".tar.xz"))
        (sha256
-        (base32 "0l8hb2z82jzbwr12lw5fismwk1a3ca4dk966p1fxg4bibck8vjj6"))))
+        (base32 "1x22wfzqp92mn1fy2xl89k9yjfk2vgcva0fd30i9rrqj4aw2rsma"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -941,14 +943,14 @@ easier to do so.")
 (define-public kldap
   (package
     (name "kldap")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kldap-" version ".tar.xz"))
        (sha256
-        (base32 "1blbnj8av6h168g14gyphyd9sz87af773b1qglmbkv5pzbzaanxn"))))
+        (base32 "0whlp586ycsx0qf0nr81avwscpq62w5js46z7vayy0dxkhrhfayr"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -971,14 +973,14 @@ protocol for querying and modifying directory services running over TCP/IP. ")
 (define-public kleopatra
   (package
     (name "kleopatra")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kleopatra-" version ".tar.xz"))
        (sha256
-        (base32 "1bqwxdl91s2nai871vvhkmcc3simbnvr2i5m6dnl327bplzqgfa4"))))
+        (base32 "1m50nzb2m27fkb8z3k34cv4zi2akr0fx8zn7lk5swhg49sgrip6n"))))
     (build-system qt-build-system)
     (native-inputs
      `(("dbus" ,dbus)
@@ -1027,14 +1029,14 @@ and retrieving certificates from LDAP servers.")
 (define-public kmail
   (package
     (name "kmail")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kmail-" version ".tar.xz"))
        (sha256
-        (base32 "0gsdpv9pf4h031zcawc4qv78a5kl9hxp2amd0spjhs7wc7nl17fk"))
+        (base32 "06qfxzi5pasm6p5ck44sjca96dz8xzd1nndq5lqcyvcxmmnvvz3p"))
        (patches (search-patches "kmail-Fix-missing-link-libraries.patch"))))
     (build-system qt-build-system)
     (native-inputs
@@ -1121,14 +1123,14 @@ manager from KDE.")
 (define-public kmailcommon
   (package
     (name "kmailcommon")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/mailcommon-" version ".tar.xz"))
        (sha256
-        (base32 "1gsj89kgq4457mnfjlys4wiixpzwlbwhj4zpd7r4fdhbyihz3k2m"))))
+        (base32 "0q1k57zx1l7bnzrk1hadjxjn6r4yzz833mgsvaai9sd8qg022x2l"))))
     (properties `((upstream-name . "mailcommon")))
     (build-system qt-build-system)
     (native-inputs
@@ -1188,14 +1190,14 @@ dealing with email.")
 (define-public kmailimporter
   (package
     (name "kmailimporter")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/mailimporter-" version ".tar.xz"))
        (sha256
-        (base32 "0vmrgjz47f96crrbv0bhaz0abh2am4whhb294rfz02mvjghbzpzv"))))
+        (base32 "1929pw0shdzi0yvjnqhak680hjjibg8f8hqy3svyxxhiqbhfjm26"))))
     (properties `((upstream-name . "mailimporter")))
     (build-system qt-build-system)
     (native-inputs
@@ -1227,14 +1229,14 @@ e-mail client programs into KMail and KDE PIM.")
 (define-public kmailtransport
   (package
     (name "kmailtransport")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kmailtransport-" version ".tar.xz"))
        (sha256
-        (base32 "04jdnqxbp4382vjxh06rrvsigbrygqfkw0fvbbjnjymp585mgkr4"))))
+        (base32 "1swqlgzxzlqffm119sbhszy9lr93m8lzwygr0q4raa660b6yiavm"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1269,14 +1271,14 @@ mail transport.")
 (define-public kmbox
   (package
     (name "kmbox")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kmbox-" version ".tar.xz"))
        (sha256
-        (base32 "13b5v1nx46k5ais3cms7yxrfi8p6xbljpkpg3f7v1asb6kshv7g2"))))
+        (base32 "03cny38v4y1lmcrs6d34hbj9assqgf51rqryf5rdzkiaq79c1krc"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1293,14 +1295,14 @@ using a Qt/KMime C++ API.")
 (define-public kmessagelib
   (package
     (name "kmessagelib")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/messagelib-" version ".tar.xz"))
        (sha256
-        (base32 "0a378aqkdjzyzlxxha2qxa6vzrj92l1fplzb6fajz4l7ipj4hbnv"))))
+        (base32 "03vq4962bhps2j9c9i52majlbkmvg2gmr197igv8xamja1vs8hk1"))))
     (properties `((upstream-name . "messagelib")))
     (build-system qt-build-system)
     (native-inputs
@@ -1351,6 +1353,7 @@ using a Qt/KMime C++ API.")
        ("libgravatar" ,libgravatar)
        ("libkdepim" ,libkdepim)
        ("libkleo" ,libkleo)
+       ("qca" ,qca)
        ("qgpgme" ,qgpgme)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
@@ -1359,7 +1362,17 @@ using a Qt/KMime C++ API.")
        ("qtwebkit" ,qtwebkit)
        ("sonnet" ,sonnet)))
     (arguments
-     `(#:tests? #f)) ;; TODO many test fail for quite different reasons
+     `(#:tests? #f     ;TODO many test fail for quite different reasons
+       #:phases (modify-phases %standard-phases
+                  (add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      ;; FIXME: One of the compilation steps fail to find
+                      ;; <Libkdepim/MultiplyingLine> without this hack.
+                      (setenv "CPLUS_INCLUDE_PATH"
+                              (string-append (assoc-ref inputs "libkdepim")
+                                             "/include/KF5:"
+                                             (or (getenv "CPLUS_INCLUDE_PATH") "")))
+                      #t)))))
     (home-page "https://cgit.kde.org/messagelib.git")
     (synopsis "KDE PIM messaging libraries")
     (description "This package provides several libraries for messages,
@@ -1371,14 +1384,14 @@ kwebengineviewer.")
 (define-public kmime
   (package
     (name "kmime")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kmime-" version ".tar.xz"))
        (sha256
-        (base32 "1pc00pwwrngsyr7ppvqwfgvcgy2wiqdbqxhv9xidn4dw9way2ng6"))))
+        (base32 "1dkdxfr1ry10qyql5sp1ai4li11f0ncf9hipg27j59y70mlyrl2r"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1409,14 +1422,14 @@ information in non-ASCII character sets.")
 (define-public knotes
   (package
     (name "knotes")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/knotes-" version ".tar.xz"))
        (sha256
-        (base32 "128qpfqjn5zwl5550srmbjyxns242q6a3b0jy70jjx2yixy3rb87"))))
+        (base32 "13h4n7fb5p6g1f5kmw6pblpd76j904psm30s3a5d3kykni57dijx"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1439,7 +1452,6 @@ information in non-ASCII character sets.")
        ("kcontacts" ,kcontacts)
        ("kcoreaddons" ,kcoreaddons)
        ("kcrash" ,kcrash)
-       ("kdbusaddons" ,kdbusaddons)
        ("kdnssd" ,kdnssd)
        ("kdoctools" ,kdoctools)
        ("kglobalaccel" ,kglobalaccel)
@@ -1483,14 +1495,14 @@ Features:
 (define-public kontactinterface
   (package
     (name "kontactinterface")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kontactinterface-" version ".tar.xz"))
        (sha256
-        (base32 "1p0iw9i8cxh3jn7094wvxhlpc2sw52q8csfdgch1lf3dwhkpp0k7"))))
+        (base32 "0s1qm1wjkvbb1film94r7g88d8vgh26bm0hm6gpyqv5bazw5qx3j"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1511,14 +1523,14 @@ application \"Parts\" to be embedded as a Kontact component (or plugin).")
 (define-public korganizer
   (package
     (name "korganizer")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/korganizer-" version ".tar.xz"))
        (sha256
-        (base32 "1ixdmmczccvwr7a6vvzv0kyjay0mjnbwcwkq6yym32m2lb3vcxdn"))))
+        (base32 "04lz3ldrr0lpy9zpsg9ja1i9gxzlcjpqcwn3g7l4jjdky4frcr2r"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1576,6 +1588,15 @@ application \"Parts\" to be embedded as a Kontact component (or plugin).")
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-test
+           (lambda _
+             ;; FIXME: This test started failing after the 20.04 update
+             ;; seemingly due to DBus communication issues.
+             ;; See also 'akonadi-search' for a similar test failure.
+             (substitute* "src/autotests/CMakeLists.txt"
+               ((".*test_advanced\\(koeventpopupmenutest\\.cpp.*")
+                ""))
+             #t))
          (replace 'check
            (lambda _
              (invoke "dbus-launch" "ctest" ".")
@@ -1629,14 +1650,14 @@ Virtual Contact File}) files to the KPeople contact management library.")
 (define-public kpimcommon
   (package
     (name "kpimcommon")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/pimcommon-" version ".tar.xz"))
        (sha256
-        (base32 "1jl40ymq46yjn9va78hklgg91ikrfahf3w4jl5ziiqbivcl7r9kn"))))
+        (base32 "15lfqv5w4iwyjlvf4idykpkjgppl0ic59r4dw95qkbbjkps0nr7j"))))
     (properties `((upstream-name . "pimcommon")))
     (build-system qt-build-system)
     (native-inputs
@@ -1651,12 +1672,10 @@ Virtual Contact File}) files to the KPeople contact management library.")
        ("grantlee" ,grantlee)
        ;; TODO: ("kaccounts" ,kaccounts)
        ("kcodecs" ,kcodecs)
-       ("kcompletion" ,kcompletion)
        ("kconfig" ,kconfig)
        ("kconfigwidgets" ,kconfigwidgets)
        ("kcontacts" ,kcontacts)
        ("kcoreaddons" ,kcoreaddons)
-       ("kdbusaddons" ,kdbusaddons)
        ("kdesignerplugin" ,kdesignerplugin)
        ("ki18n" ,ki18n)
        ("kiconthemes" ,kiconthemes)
@@ -1691,14 +1710,14 @@ Virtual Contact File}) files to the KPeople contact management library.")
 (define-public kpimtextedit
   (package
     (name "kpimtextedit")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kpimtextedit-" version ".tar.xz"))
        (sha256
-        (base32 "1as48j5qfpj9pqjck1615nlpk4a850m7xxcyl41gx8biww027zvm"))))
+        (base32 "0j6d4sv405c3x0ww75qsww94apidsb8aaqf59akhv96zmv0vx5wy"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1733,14 +1752,14 @@ text in the text edit to all kinds of markup, like HTML or BBCODE.")
 (define-public ksmtp
   (package
     (name "ksmtp")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/ksmtp-" version ".tar.xz"))
        (sha256
-        (base32 "1pd8mma3xbq83jkn76gqinn6xh9imaji0jrg3qzysf5rvjl8kcqn"))))
+        (base32 "1xyaahibm0dc3qdwiak5yqa66szxaxnylvqxi6k21ayvzn2vxbhx"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1773,14 +1792,14 @@ standard protocols for e-mail transmission.")
 (define-public ktnef
   (package
     (name "ktnef")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/ktnef-" version ".tar.xz"))
        (sha256
-        (base32 "0kgfhh46130hg1xq8km5gjzxa3b620j1zdrg54qivxa782smgbl6"))))
+        (base32 "0cn5p32w2kas56yyc15c22kll4hd02lvvxz2n6cz1wda8alspj19"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1805,14 +1824,14 @@ and allows one to view/extract message formatted text in Rich Text Format.")
 (define-public libkdepim
   (package
     (name "libkdepim")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libkdepim-" version ".tar.xz"))
        (sha256
-        (base32 "0ndh97w1bfii4snx9yc0qazqk5jhx22s810kj656967xd1w4bj9n"))))
+        (base32 "0bask561laxgkgm3rxfpyxqs6jx1l9xjk058lhycq0pik6vwhdha"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1853,14 +1872,14 @@ and allows one to view/extract message formatted text in Rich Text Format.")
 (define-public libkgapi
   (package
     (name "libkgapi")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libkgapi-" version ".tar.xz"))
        (sha256
-        (base32 "0z76b745n4hhjndrhv1w5acibia8x1frh78jx7bvxa72d8wphn08"))))
+        (base32 "0nvd5fqrvyb7c3g7rf1lxbbv38q9sqnhd6irgx7awwgw92inxky4"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1889,14 +1908,14 @@ various Google services.")
 (define-public libkleo
   (package
     (name "libkleo")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libkleo-" version ".tar.xz"))
        (sha256
-        (base32 "0vjp07j102mi20c4q2fdvkjc0skb9q7msxp64n76wy3cciv346jz"))))
+        (base32 "0rijpmqyx4mrr7csik3vkfcra7kfywk6yz548fmq3ha8wa9ax8fv"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1927,14 +1946,14 @@ KDE using certificate-based crypto.")
 (define-public libksieve
   (package
     (name "libksieve")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libksieve-" version ".tar.xz"))
        (sha256
-        (base32 "0q6f6lc4yvlq0vsfml10lz844z6zxxf7yivk7l3vglap58ci20x1"))
+        (base32 "04k2nkwg5vlgbr5wpvsq02wi54ljsy4ka7y3ns5x3d2gb06wp03c"))
        (patches (search-patches "libksieve-Fix-missing-link-libraries.patch"))))
     (build-system qt-build-system)
     (native-inputs
@@ -1974,6 +1993,11 @@ KDE using certificate-based crypto.")
                  "src/ksieveui/editor/webengine/autotests/CMakeLists.txt"
                (("^\\s*(add_test|ecm_mark_as_test)\\W" line)
                 (string-append "# " line)))
+             ;; FIXME: This test fails due to time zone problems.
+             (substitute*
+                 "src/ksieveui/autocreatescripts/autotests/CMakeLists.txt"
+               ((".*sieveeditorgraphicalmodewidgettest\\.cpp.*")
+                ""))
              #t)))))
     (home-page "https://cgit.kde.org/libksieve.git")
     (synopsis "KDE Sieve library")
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index a04b2f0279..ce6abb3a65 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -38,14 +38,14 @@
 (define-public kdecoration
   (package
     (name "kdecoration")
-    (version "5.17.0")
+    (version "5.18.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kde/stable/plasma/" version
                                   "/kdecoration-" version ".tar.xz"))
               (sha256
                (base32
-                "0rljpywpaqmar13jijphkpc9k1crma476j9my0d00hfrjil5xlnn"))))
+                "1j59axgpdbj7nlg06h5gb0pix3s3nll32k6s2f88vc1cbwj5d67h"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -62,14 +62,14 @@ manager which re-parents a Client window to a window decoration frame.")
 (define-public kscreenlocker
   (package
     (name "kscreenlocker")
-    (version "5.17.0")
+    (version "5.18.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kde/stable/plasma/" version
                                   "/kscreenlocker-" version ".tar.xz"))
               (sha256
                (base32
-                "1jzkq5m0hvcpsl7clai33ndiil8gls7ndir3mfcc5l8gv7df2ir0"))))
+                "1lhq9rxafbbxwpwzq8m25xi9hgcdfdfwl8hafqhygzp14z89q9ml"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -125,14 +125,14 @@ manager which re-parents a Client window to a window decoration frame.")
 (define-public libkscreen
   (package
     (name "libkscreen")
-    (version "5.17.0")
+    (version "5.18.5")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/plasma/" version "/"
                            name "-" version ".tar.xz"))
        (sha256
-        (base32 "0znxfqqyyij6i4dp95gf5g4vrhg4jsshgh2k13ldy294kby2mxw0"))))
+        (base32 "0z18djlfrj510dz3r2n8qx6fswdbp2qmhg5y3bn00hij02832qm9"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -155,7 +155,7 @@ basic needs and easy to configure for those who want special setups.")
 (define-public libksysguard
   (package
     (name "libksysguard")
-    (version "5.17.0")
+    (version "5.18.5")
     (source
      (origin
        (method url-fetch)
@@ -163,7 +163,7 @@ basic needs and easy to configure for those who want special setups.")
                            "/libksysguard-" version ".tar.xz"))
        (sha256
         (base32
-         "1b79qxg6j9lqgyq8i677f00f7cbplqak1r9riyc9wj5s2r60ydw7"))))
+         "02s40ahqp4r9amjshdf0dhw9hdggvica2jl426i4d9b950507myl"))))
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index d51566341d..0fbf6e3373 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -38,14 +38,14 @@
 (define-public dolphin
   (package
     (name "dolphin")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/dolphin-" version ".tar.xz"))
        (sha256
-        (base32 "0klxyvcj1bmzpsyahj9kq3smvwzww30pjk5c90j6jpf14hizawfy"))))
+        (base32 "0xr5s0s40i2bsfjfapvpa7dxh9s4604cxirg97xcaacd6fdvhpds"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -97,14 +97,14 @@ The main features of Dolphin are:
 (define-public dolphin-plugins
   (package
     (name "dolphin-plugins")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/dolphin-plugins-" version ".tar.xz"))
        (sha256
-        (base32 "0m9sl5fybk60h7r91a5qfxvwzksg2kxn1bc2ygrr8klm2pv0x1l2"))))
+        (base32 "12g44s6g7ma6avp15l45l42qyzbglswvahm2wji79zdls5vjnz7r"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -125,14 +125,14 @@ Dolphin with the version control systems: Bzr, Git, Mercurial, Subversion.")
 (define-public khelpcenter
   (package
     (name "khelpcenter")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/khelpcenter-" version ".tar.xz"))
        (sha256
-        (base32 "0ympq1qm5h14mw18wry7l02ndg1f5kddwkf5bliip6vk2vxiff50"))))
+        (base32 "0wxzjragvjcfc7c4qja8wzpshhaywficj7f7wkmppzybcsxwn9qb"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -175,14 +175,14 @@ document meta data file.")
 (define-public konsole
   (package
     (name "konsole")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/konsole-" version ".tar.xz"))
        (sha256
-        (base32 "09bhgqjnqlpxkkgdpn35pvj747ab7waz10zalvpwdpgqkw811iic"))))
+        (base32 "0ckr7bjkyaw0gr5kx569jfnhkhwmlk4lqk41ng61qwxlb4bsdbdm"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -230,14 +230,14 @@ This package is part of the KDE base applications module.")
 (define-public krfb
   (package
     (name "krfb")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/krfb-" version ".tar.xz"))
        (sha256
-        (base32 "079f4jlmd69a5nppmn7khsxrnswlfbdzjni0cbixwlcij05y2267"))))
+        (base32 "092ijn88jpmgk2zwz37vzf35jisl234mc3krc9jl7bd955akx51k"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -282,14 +282,14 @@ This package is part of the KDE networking module.")
 (define-public ksystemlog
   (package
     (name "ksystemlog")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/ksystemlog-" version ".tar.xz"))
        (sha256
-        (base32 "079r2xnj168y9kz37rhxr3rcwh6fksljsj1ihmi7f7a8wmdabz4p"))))
+        (base32 "1826h89ynvlxdwzyqil2d79cvynglww6fax7qp41wxasgarxhsni"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
index fad308c86f..3c0eb09745 100644
--- a/gnu/packages/kde-utils.scm
+++ b/gnu/packages/kde-utils.scm
@@ -34,14 +34,14 @@
 (define-public kate
   (package
     (name "kate")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kate-" version ".tar.xz"))
        (sha256
-        (base32 "0wgcw10c4grkmsyp79ashwgpy59lgrinwdib4mjclpw2grp0g7xb"))))
+        (base32 "0nrby307syrqlxrf9lwdzc9c15ifw47418qwszqwg345ma2pww7i"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -101,14 +101,14 @@ Kate's features include:
 (define-public kmag
   (package
     (name "kmag")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
       (method url-fetch)
-      (uri (string-append "mirror://kde/stable/applications/" version
+      (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kmag-" version ".tar.xz"))
       (sha256
-       (base32 "0l69mgnh2mmkxawwibqdx9n7myl6qqnr2fd3mpsg2bzpcfvmsvi1"))))
+       (base32 "18lk8i2r90gvw8q5j179xgpniih92mwk06krk7w4jv98yinqf6m5"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -132,14 +132,14 @@ artists to web-designers to people with low vision.")
 (define-public kmousetool
   (package
     (name "kmousetool")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kmousetool-" version ".tar.xz"))
        (sha256
-        (base32 "169kk20mkm29nycg2vs1k5cs22gzchqs9hbfd661cy2l7n4d8d04"))))
+        (base32 "01j6bx8zihns4ip8maj0gb3w3bhx1ha2ljhfmsm6lcyay531ay98"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -171,14 +171,14 @@ whom pressing buttons hurts.")
 (define-public kmouth
   (package
     (name "kmouth")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kmouth-" version ".tar.xz"))
        (sha256
-        (base32 "1agjxf1jfi967hj1iz788n6cna6fr7qg80zsx6s119hg7b0xwqmr"))))
+        (base32 "1afgxlys9mvmc3rd33g7gchfb0ylx83x3x0a0qf3dra6cpgsgcg7"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -476,14 +476,14 @@ Features:
 (define-public sweeper
   (package
     (name "sweeper")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/sweeper-" version ".tar.xz"))
        (sha256
-        (base32 "1gn87yxmhi7rs82jq7y89bvlx33xbl9wq8kr96pcz423khqvjl84"))))
+        (base32 "1az3c2khnh51bbmqpamj4p26d3a0ff4l5rd3vcrylg94mk7wgh59"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index c978504793..fb14a64988 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2018, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -49,6 +50,7 @@
   #:use-module (gnu packages graphics)
   #:use-module (gnu packages image)
   #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages kde-pim)
   #:use-module (gnu packages kde-plasma)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
@@ -70,14 +72,14 @@
 (define-public baloo-widgets
   (package
     (name "baloo-widgets")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/baloo-widgets-" version ".tar.xz"))
        (sha256
-        (base32 "0bba8dgxd7rcjji809kwnw78hl1nb5ssh2ir4k4b0wvx395jifgd"))))
+        (base32 "1x4v79vhvc5ixkbsf3jyjz5ig1lf78rfw3r7g3llpb4j1kcp3wh0"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -103,14 +105,14 @@ This package contains GUI widgets for baloo.")
 (define-public grantleetheme
   (package
     (name "grantleetheme")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/grantleetheme-" version ".tar.xz"))
        (sha256
-        (base32 "0j77q1yyfmggzgkqgcw2xr0v9xg3h5cdhh8jry8h2llw75ahy6xb"))
+        (base32 "0gabc5cb0sf00s7m5v2jnq55qsrdbrq6nqd15y1i15p788zifsjx"))
        (patches (search-patches "grantlee-merge-theme-dirs.patch"))))
     (build-system qt-build-system)
     (native-inputs
@@ -118,6 +120,7 @@ This package contains GUI widgets for baloo.")
        ("libxml2" ,libxml2))) ;; xmllint required for tests
     (inputs
      `(("grantlee" ,grantlee)
+       ("kguiaddons" ,kguiaddons)
        ("ki18n" ,ki18n)
        ("kiconthemes" ,kiconthemes)
        ("knewstuff" ,knewstuff)
@@ -126,7 +129,7 @@ This package contains GUI widgets for baloo.")
     (synopsis "Library providing Grantlee theme support")
     (description "This library provides Grantlee theme support.")
     (license ;; LGPL for libraries, FDL for documentation
-     (list license:lgpl2.0+ license:fdl1.2+))))
+     (list license:lgpl2.1+ license:fdl1.2+))))
 
 (define-public kdenlive
   (let ((version "18.08.1"))
@@ -449,14 +452,14 @@ features include brush stabilizers, brush engines and wrap-around mode.")
 (define-public libkomparediff2
   (package
     (name "libkomparediff2")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "mirror://kde/stable/applications/" version
+        (uri (string-append "mirror://kde/stable/release-service/" version
                             "/src/libkomparediff2-" version ".tar.xz"))
         (sha256
-         (base32 "0p8j24d0lzylv5crdzak87016ppgph5hiyxkvapda1m8zlb5dfm1"))))
+         (base32 "0m8m7sgpf2f4nxpaaymyvihlk0pcyblyd99mcbibrnyr5kzkzzdc"))))
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)))
@@ -564,7 +567,7 @@ different notification systems.")
 (define-public kdeconnect
   (package
     (name "kdeconnect")
-    (version "1.3.5")
+    (version "1.4")
     (source
       (origin
         (method url-fetch)
@@ -573,11 +576,22 @@ different notification systems.")
                             version ".tar.xz"))
         (sha256
          (base32
-          "02lr3xx5s2mgddac4n3lkgr7ppf1z5m6ajs90rjix0vs8a271kp5"))))
+          "06i6spspqpl79x6z2bfvbgd08b3h1pyx5j1xjhd8ifyrm52pkvna"))))
     (build-system qt-build-system)
     (arguments
      `(#:configure-flags '("-DBUILD_TESTING=ON"
                            "-DLIBEXEC_INSTALL_DIR=libexec")
+       #:phases (modify-phases %standard-phases
+                  (add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      ;; FIXME: <kcmutils_version.h> is not found during one
+                      ;; of the compilation steps without this hack.
+                      (setenv "CPLUS_INCLUDE_PATH"
+                              (string-append (assoc-ref inputs "kcmutils")
+                                             "/include/KF5:"
+                                             (or (getenv "CPLUS_INCLUDE_PATH")
+                                                 "")))
+                      #t)))
        #:tests? #f)) ; tests fail hard in our build environment
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -592,12 +606,17 @@ different notification systems.")
        ("ki18n" ,ki18n)
        ("kiconthemes" ,kiconthemes)
        ("kio" ,kio)
+       ("kirigami" ,kirigami)
        ("knotifications" ,knotifications)
+       ("kpeople" ,kpeople)
+       ("kpeoplevcard" ,kpeoplevcard)
        ("kwayland" ,kwayland)
        ("libfakekey" ,libfakekey)
+       ("pulseaudio-qt" ,pulseaudio-qt)
        ("qca" ,qca)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
+       ("qtmultimedia" ,qtmultimedia)
        ("qtx11extras" ,qtx11extras)))
     (home-page "https://community.kde.org/KDEConnect")
     (synopsis "Enable your devices to communicate with each other")
@@ -620,15 +639,15 @@ communicate with each other.  Here's a few things KDE Connect can do:
 (define-public kqtquickcharts
   (package
     (name "kqtquickcharts")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "mirror://kde/stable/applications/"
+        (uri (string-append "mirror://kde/stable/release-service/"
                             version "/src/kqtquickcharts-" version ".tar.xz"))
         (sha256
          (base32
-          "0kwrqm7aa74plqkkyigi6b2hic6dzrygkgb6hsgj35ycrfn4rigi"))))
+          "1wxp35mf9zlpgzi4msdl86b2krdq2ipqw371gyx23r7j84vdyxi3"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -645,14 +664,14 @@ charts.")
 (define-public kcachegrind
   (package
     (name "kcachegrind")
-    (version "19.08.3")
+    (version "20.04.1")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://kde/stable/applications/" version
+              (uri (string-append "mirror://kde/stable/release-service/" version
                                   "/src/kcachegrind-" version ".tar.xz"))
               (sha256
                (base32
-                "0sm3085vd79svfql6nqjyrwlknnmdyyvi0yjnmyb09mq7djf1icg"))))
+                "0fx17s6fj1pxl1mgfrqhchk8sihkbji1x8y3nhb1r0971wzd1nsc"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -687,14 +706,14 @@ Python, PHP, and Perl.")
 (define-public libkdegames
   (package
     (name "libkdegames")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
       (method url-fetch)
-      (uri (string-append "mirror://kde/stable/applications/" version
+      (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/libkdegames-" version ".tar.xz"))
       (sha256
-       (base32 "12dvkmjgbi8dp9y55zmx1pw3zr2i374c4vn3mfn9r31bf06dr701"))))
+       (base32 "1xsrrvhwjwi5aajcaxydmzc69i4yx6shs8ly8vr85njc188ycg13"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -733,14 +752,14 @@ Python, PHP, and Perl.")
 (define-public zeroconf-ioslave
   (package
     (name "zeroconf-ioslave")
-    (version "19.08.3")
+    (version "20.04.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/applications/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/zeroconf-ioslave-" version ".tar.xz"))
        (sha256
-        (base32 "1vbi4kpyrk530q2dj8ql2i0gxjybdbmkqpl8vkhrihl7r7f0xc5p"))))
+        (base32 "1qck5jyc4psslpibhki8sz8aj0hsnx8z791vzyn10lmdzn71vx8c"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index da0c9dcf47..36f6e5ece6 100644
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@ -77,13 +77,13 @@ conversions for values passed between the two languages.")
 (define-public python-cffi
   (package
     (name "python-cffi")
-    (version "1.13.2")
+    (version "1.14.0")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "cffi" version))
       (sha256
-       (base32 "0iikq5rn9a405n94c7s2j6kq3jv5qs9q4xyik8657b2py27ix6jr"))))
+       (base32 "1dn279gw5ql8i5n3s5v4rnv96rhhjjfn7xq729qbl5bs2954yf1d"))))
     (build-system python-build-system)
     (inputs
      `(("libffi" ,libffi)))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c3f22acc6d..20c17144a3 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -43,6 +43,7 @@
 ;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -2980,7 +2981,7 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
 (define-public kmod
   (package
     (name "kmod")
-    (version "26")
+    (version "27")
     (source (origin
               (method url-fetch)
               (uri
@@ -2988,7 +2989,7 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
                               "kmod-" version ".tar.xz"))
               (sha256
                (base32
-                "17dvrls70nr3b3x1wm8pwbqy4r8a5c20m0dhys8mjhsnpg425fsp"))
+                "035wzfzjx4nwidk747p8n085mgkvy531ppn16krrajx2dkqzply1"))
               (patches (search-patches "kmod-module-directory.patch"))))
     (build-system gnu-build-system)
     (native-inputs
@@ -2997,10 +2998,18 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
      `(("xz" ,xz)
        ("zlib" ,zlib)))
     (arguments
-     `(#:tests? #f                      ; FIXME: Investigate test failures
-       #:configure-flags '("--with-xz" "--with-zlib")
+     `(#:configure-flags '("--with-xz" "--with-zlib"
+                           "--disable-test-modules")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'disable-tests
+           (lambda _
+             ;; XXX: These tests need '--sysconfdir=/etc' to pass.
+             (substitute* "Makefile.in"
+               (("testsuite/test-modprobe") "")
+               (("testsuite/test-depmod") "")
+               (("testsuite/test-blacklist") ""))
+             #t))
          (add-after 'install 'install-modprobe&co
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -4300,7 +4309,7 @@ arrays when needed.")
        ;; For tests.
        ("cmocka" ,cmocka)))
     (inputs
-     `(("json-c" ,json-c)
+     `(("json-c" ,json-c-0.13)
        ("libaio" ,libaio)
        ("liburcu" ,liburcu)
        ("lvm2" ,lvm2)
@@ -4423,16 +4432,15 @@ Bluetooth audio output devices like headphones or loudspeakers.")
 (define-public bluez
   (package
     (name "bluez")
-    (version "5.53")
+    (version "5.54")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "mirror://kernel.org/linux/bluetooth/bluez-"
                     version ".tar.xz"))
-              (patches (search-patches "bluez-CVE-2020-0556.patch"))
               (sha256
                (base32
-                "1g1qg6dz6hl3csrmz75ixr12lwv836hq3ckb259svvrg62l2vaiq"))))
+                "1p2ncvjz6alr9n3l5wvq2arqgc7xjs6dqyar1l9jp0z8cfgapkb8"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 3216f0d88d..e9c6c94cef 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1845,7 +1845,7 @@ QMatrixClient project.")
 (define-public mtxclient
   (package
     (name "mtxclient")
-    (version "0.2.1")
+    (version "0.3.0")
     (source
      (origin
        (method git-fetch)
@@ -1854,7 +1854,7 @@ QMatrixClient project.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0pycznrvj57ff6gbwfn1xj943d2dr4vadl79hii1z16gn0nzxpmj"))))
+        (base32 "0vf5xmn6yfi5lvskfgrdmnalvclzrapcrml92bj9qaa8vq8mfsf2"))))
     (arguments
      `(#:configure-flags
        (list
@@ -1865,7 +1865,7 @@ QMatrixClient project.")
          (add-before 'configure 'disable-network-tests
            (lambda _
              (substitute* "CMakeLists.txt"
-               (("add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encryption)")
+               (("add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encryption|Pushrules)")
                 "# add_test"))
              #t))
          (add-before 'configure 'set-home
@@ -1895,7 +1895,7 @@ for the Matrix protocol.  It is built on to of @code{Boost.Asio}.")
 (define-public nheko
   (package
     (name "nheko")
-    (version "0.6.4")
+    (version "0.7.1")
     (source
      (origin
        (method git-fetch)
@@ -1904,7 +1904,7 @@ for the Matrix protocol.  It is built on to of @code{Boost.Asio}.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "19dkc98l1q4070v6mli4ybqn0ip0za607w39hjf0x8rqdxq45iwm"))))
+        (base32 "12sxibbrn79sxkf9jrm7jrlj7l5vz15claxrrll7pkv9mv44wady"))))
     (arguments
      `(#:tests? #f                      ;no test target
        #:configure-flags
@@ -1934,8 +1934,11 @@ for the Matrix protocol.  It is built on to of @code{Boost.Asio}.")
        ("mtxclient" ,mtxclient)
        ("openssl" ,openssl)
        ("qtbase" ,qtbase)
-       ("qtsvg" ,qtsvg)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtgraphicaleffects" ,qtgraphicaleffects)
        ("qtmultimedia" ,qtmultimedia)
+       ("qtquickcontrols2" ,qtquickcontrols2)
+       ("qtsvg" ,qtsvg)
        ("spdlog" ,spdlog)
        ("tweeny" ,tweeny)
        ("zlib" ,zlib)))
diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm
index 887860157d..b19ad7e1e9 100644
--- a/gnu/packages/nss.scm
+++ b/gnu/packages/nss.scm
@@ -72,8 +72,7 @@ in the Mozilla clients.")
 (define-public nss
   (package
     (name "nss")
-    (version "3.50")
-    (replacement nss/fixed)
+    (version "3.52.1")
     (source (origin
               (method url-fetch)
               (uri (let ((version-with-underscores
@@ -84,7 +83,7 @@ in the Mozilla clients.")
                       "nss-" version ".tar.gz")))
               (sha256
                (base32
-                "19rv0vp9nmvn6dy29qsv8f4v7wn5kizrpm59vbszahsjfwcz6p8q"))
+                "0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w"))
               ;; Create nss.pc and nss-config.
               (patches (search-patches "nss-pkgconfig.patch"
                                        "nss-increase-test-timeout.patch"))
@@ -192,11 +191,3 @@ applications.  Applications built with NSS can support SSL v2 and v3, TLS,
 PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other
 security standards.")
     (license license:mpl2.0)))
-
-(define nss/fixed
-  (package
-    (inherit nss)
-    (source (origin
-              (inherit (package-source nss))
-              (patches (append (search-patches "nss-CVE-2020-12399.patch")
-                               (origin-patches (package-source nss))))))))
diff --git a/gnu/packages/patches/akonadi-paths.patch b/gnu/packages/patches/akonadi-paths.patch
index da250ee9e8..ac08ec5448 100644
--- a/gnu/packages/patches/akonadi-paths.patch
+++ b/gnu/packages/patches/akonadi-paths.patch
@@ -1,31 +1,31 @@
 This is based on the respectve patch from NixPkgs, but with the parts pinning
 mysql and postgresql executables removed. The our package definition on why.
 
-
-Index: akonadi-19.08.0/src/akonadicontrol/agentmanager.cpp
-===================================================================
---- akonadi-19.08.0.orig/src/akonadicontrol/agentmanager.cpp
-+++ akonadi-19.08.0/src/akonadicontrol/agentmanager.cpp
-@@ -78,12 +78,12 @@ AgentManager::AgentManager(bool verbose,
-     mStorageController = new Akonadi::ProcessControl;
-     mStorageController->setShutdownTimeout(15 * 1000);   // the server needs more time for shutdown if we are using an internal mysqld
-     connect(mStorageController, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::serverFailure);
--    mStorageController->start(QStringLiteral("akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
-+    mStorageController->start(QLatin1String(NIX_OUT "/bin/akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
+diff --git a/src/akonadicontrol/agentmanager.cpp b/src/akonadicontrol/agentmanager.cpp
+--- a/src/akonadicontrol/agentmanager.cpp
++++ b/src/akonadicontrol/agentmanager.cpp
+@@ -61,7 +61,7 @@ public:
+                 []() {
+                     QCoreApplication::instance()->exit(255);
+                 });
+-        start(QStringLiteral("akonadiserver"), args, RestartOnCrash);
++        start(QLatin1String(NIX_OUT "/bin/akonadiserver"), args, RestartOnCrash);
+     }
  
-     if (mAgentServerEnabled) {
-         mAgentServer = new Akonadi::ProcessControl;
-         connect(mAgentServer, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::agentServerFailure);
--        mAgentServer->start(QStringLiteral("akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
-+        mAgentServer->start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
+     ~StorageProcessControl() override
+@@ -84,7 +84,7 @@ public:
+                 []() {
+                     qCCritical(AKONADICONTROL_LOG) << "Failed to start AgentServer!";
+                 });
+-        start(QStringLiteral("akonadi_agent_server"), args, RestartOnCrash);
++        start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), args, RestartOnCrash);
      }
- }
  
-Index: akonadi-19.08.0/src/akonadicontrol/agentprocessinstance.cpp
-===================================================================
---- akonadi-19.08.0.orig/src/akonadicontrol/agentprocessinstance.cpp
-+++ akonadi-19.08.0/src/akonadicontrol/agentprocessinstance.cpp
-@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const A
+     ~AgentServerProcessControl() override
+diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp
+--- a/src/akonadicontrol/agentprocessinstance.cpp
++++ b/src/akonadicontrol/agentprocessinstance.cpp
+@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo)
      } else {
          Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher);
          const QStringList arguments = QStringList() << executable << identifier();
@@ -34,11 +34,10 @@ Index: akonadi-19.08.0/src/akonadicontrol/agentprocessinstance.cpp
          mController->start(agentLauncherExec, arguments);
      }
      return true;
-Index: akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp
-===================================================================
---- akonadi-19.08.0.orig/src/server/storage/dbconfigmysql.cpp
-+++ akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp
-@@ -209,7 +193,7 @@ bool DbConfigMysql::startInternalServer(
+diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp
+--- a/src/server/storage/dbconfigmysql.cpp
++++ b/src/server/storage/dbconfigmysql.cpp
+@@ -209,7 +209,7 @@ bool DbConfigMysql::startInternalServer()
  #endif
  
      // generate config file
diff --git a/gnu/packages/patches/bluez-CVE-2020-0556.patch b/gnu/packages/patches/bluez-CVE-2020-0556.patch
deleted file mode 100644
index 7c34459a3a..0000000000
--- a/gnu/packages/patches/bluez-CVE-2020-0556.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-Fix CVE-2020-0556:
-
-https://lore.kernel.org/linux-bluetooth/20200310023516.209146-1-alainm@chromium.org/
-https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html
-http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-0556
-
-Patches copied from upstream source repository:
-
-https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=3cccdbab2324086588df4ccf5f892fb3ce1f1787
-https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=8cdbd3b09f29da29374e2f83369df24228da0ad1
-
-From 3cccdbab2324086588df4ccf5f892fb3ce1f1787 Mon Sep 17 00:00:00 2001
-From: Alain Michaud <alainm@chromium.org>
-Date: Tue, 10 Mar 2020 02:35:18 +0000
-Subject: [PATCH] HID accepts bonded device connections only.
-
-This change adds a configuration for platforms to choose a more secure
-posture for the HID profile.  While some older mice are known to not
-support pairing or encryption, some platform may choose a more secure
-posture by requiring the device to be bonded  and require the
-connection to be encrypted when bonding is required.
-
-Reference:
-https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html
----
- profiles/input/device.c   | 23 ++++++++++++++++++++++-
- profiles/input/device.h   |  1 +
- profiles/input/input.conf |  8 ++++++++
- profiles/input/manager.c  | 13 ++++++++++++-
- 4 files changed, 43 insertions(+), 2 deletions(-)
-
-diff --git a/profiles/input/device.c b/profiles/input/device.c
-index 2cb3811c8..d89da2d7c 100644
---- a/profiles/input/device.c
-+++ b/profiles/input/device.c
-@@ -92,6 +92,7 @@ struct input_device {
- 
- static int idle_timeout = 0;
- static bool uhid_enabled = false;
-+static bool classic_bonded_only = false;
- 
- void input_set_idle_timeout(int timeout)
- {
-@@ -103,6 +104,11 @@ void input_enable_userspace_hid(bool state)
- 	uhid_enabled = state;
- }
- 
-+void input_set_classic_bonded_only(bool state)
-+{
-+	classic_bonded_only = state;
-+}
-+
- static void input_device_enter_reconnect_mode(struct input_device *idev);
- static int connection_disconnect(struct input_device *idev, uint32_t flags);
- 
-@@ -970,8 +976,18 @@ static int hidp_add_connection(struct input_device *idev)
- 	if (device_name_known(idev->device))
- 		device_get_name(idev->device, req->name, sizeof(req->name));
- 
-+	/* Make sure the device is bonded if required */
-+	if (classic_bonded_only && !device_is_bonded(idev->device,
-+				btd_device_get_bdaddr_type(idev->device))) {
-+		error("Rejected connection from !bonded device %s", dst_addr);
-+		goto cleanup;
-+	}
-+
- 	/* Encryption is mandatory for keyboards */
--	if (req->subclass & 0x40) {
-+	/* Some platforms may choose to require encryption for all devices */
-+	/* Note that this only matters for pre 2.1 devices as otherwise the */
-+	/* device is encrypted by default by the lower layers */
-+	if (classic_bonded_only || req->subclass & 0x40) {
- 		if (!bt_io_set(idev->intr_io, &gerr,
- 					BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM,
- 					BT_IO_OPT_INVALID)) {
-@@ -1203,6 +1219,11 @@ static void input_device_enter_reconnect_mode(struct input_device *idev)
- 	DBG("path=%s reconnect_mode=%s", idev->path,
- 				reconnect_mode_to_string(idev->reconnect_mode));
- 
-+	/* Make sure the device is bonded if required */
-+	if (classic_bonded_only && !device_is_bonded(idev->device,
-+				btd_device_get_bdaddr_type(idev->device)))
-+		return;
-+
- 	/* Only attempt an auto-reconnect when the device is required to
- 	 * accept reconnections from the host.
- 	 */
-diff --git a/profiles/input/device.h b/profiles/input/device.h
-index 51a9aee18..3044db673 100644
---- a/profiles/input/device.h
-+++ b/profiles/input/device.h
-@@ -29,6 +29,7 @@ struct input_conn;
- 
- void input_set_idle_timeout(int timeout);
- void input_enable_userspace_hid(bool state);
-+void input_set_classic_bonded_only(bool state);
- 
- int input_device_register(struct btd_service *service);
- void input_device_unregister(struct btd_service *service);
-diff --git a/profiles/input/input.conf b/profiles/input/input.conf
-index 3e1d65aae..166aff4a4 100644
---- a/profiles/input/input.conf
-+++ b/profiles/input/input.conf
-@@ -11,3 +11,11 @@
- # Enable HID protocol handling in userspace input profile
- # Defaults to false (HIDP handled in HIDP kernel module)
- #UserspaceHID=true
-+
-+# Limit HID connections to bonded devices
-+# The HID Profile does not specify that devices must be bonded, however some
-+# platforms may want to make sure that input connections only come from bonded
-+# device connections. Several older mice have been known for not supporting
-+# pairing/encryption.
-+# Defaults to false to maximize device compatibility.
-+#ClassicBondedOnly=true
-diff --git a/profiles/input/manager.c b/profiles/input/manager.c
-index 1d31b0652..5cd27b839 100644
---- a/profiles/input/manager.c
-+++ b/profiles/input/manager.c
-@@ -96,7 +96,7 @@ static int input_init(void)
- 	config = load_config_file(CONFIGDIR "/input.conf");
- 	if (config) {
- 		int idle_timeout;
--		gboolean uhid_enabled;
-+		gboolean uhid_enabled, classic_bonded_only;
- 
- 		idle_timeout = g_key_file_get_integer(config, "General",
- 							"IdleTimeout", &err);
-@@ -114,6 +114,17 @@ static int input_init(void)
- 			input_enable_userspace_hid(uhid_enabled);
- 		} else
- 			g_clear_error(&err);
-+
-+		classic_bonded_only = g_key_file_get_boolean(config, "General",
-+						"ClassicBondedOnly", &err);
-+
-+		if (!err) {
-+			DBG("input.conf: ClassicBondedOnly=%s",
-+					classic_bonded_only ? "true" : "false");
-+			input_set_classic_bonded_only(classic_bonded_only);
-+		} else
-+			g_clear_error(&err);
-+
- 	}
- 
- 	btd_profile_register(&input_profile);
--- 
-2.25.1
-
-From 8cdbd3b09f29da29374e2f83369df24228da0ad1 Mon Sep 17 00:00:00 2001
-From: Alain Michaud <alainm@chromium.org>
-Date: Tue, 10 Mar 2020 02:35:16 +0000
-Subject: [PATCH] HOGP must only accept data from bonded devices.
-
-HOGP 1.0 Section 6.1 establishes that the HOGP must require bonding.
-
-Reference:
-https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.htm
----
- profiles/input/hog.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/profiles/input/hog.c b/profiles/input/hog.c
-index 83c017dcb..dfac68921 100644
---- a/profiles/input/hog.c
-+++ b/profiles/input/hog.c
-@@ -186,6 +186,10 @@ static int hog_accept(struct btd_service *service)
- 			return -EINVAL;
- 	}
- 
-+	/* HOGP 1.0 Section 6.1 requires bonding */
-+	if (!device_is_bonded(device, btd_device_get_bdaddr_type(device)))
-+		return -ECONNREFUSED;
-+
- 	/* TODO: Replace GAttrib with bt_gatt_client */
- 	bt_hog_attach(dev->hog, attrib);
- 
--- 
-2.25.1
-
diff --git a/gnu/packages/patches/calibre-msgpack-compat.patch b/gnu/packages/patches/calibre-msgpack-compat.patch
deleted file mode 100644
index 9920103bea..0000000000
--- a/gnu/packages/patches/calibre-msgpack-compat.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Fix deserialization with msgpack 1.0.
-
-Patch copied from upstream source repository:
-https://github.com/kovidgoyal/calibre/commit/0ff41ac64994ec11b7859fc004c94d08769e3af3
-
-diff --git a/src/calibre/utils/serialize.py b/src/calibre/utils/serialize.py
-index f5d560c468..c35ae53849 100644
---- a/src/calibre/utils/serialize.py
-+++ b/src/calibre/utils/serialize.py
-@@ -110,7 +110,7 @@ def msgpack_decoder(code, data):
- def msgpack_loads(dump, use_list=True):
-     # use_list controls whether msgpack arrays are unpacked as lists or tuples
-     import msgpack
--    return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list)
-+    return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list, strict_map_key=False)
- 
- 
- def json_loads(data):
diff --git a/gnu/packages/patches/calibre-remove-test-bs4.patch b/gnu/packages/patches/calibre-remove-test-bs4.patch
deleted file mode 100644
index 77dd45d329..0000000000
--- a/gnu/packages/patches/calibre-remove-test-bs4.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-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/kdepim-runtime-Fix-missing-link-libraries.patch b/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch
deleted file mode 100644
index 13345c0038..0000000000
--- a/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From b84c4ba97cecf7304e99cafdd8a9c5866ce27050 Mon Sep 17 00:00:00 2001
-From: Hartmut Goebel <h.goebel@crazy-compilers.com>
-Date: Tue, 21 Jan 2020 23:33:50 +0100
-Subject: [PATCH] Fix missing link libraries.
-
-See <https://phabricator.kde.org/D26819>
-
-These are only actually missing if the libraries reside in different
-prefixes, as it is the case in Guix or Nix.
----
- resources/ews/test/CMakeLists.txt | 1 +
- resources/facebook/CMakeLists.txt | 2 ++
- 2 files changed, 3 insertions(+)
-
-diff --git a/resources/ews/test/CMakeLists.txt b/resources/ews/test/CMakeLists.txt
-index b20eddcb8..6355eb994 100644
---- a/resources/ews/test/CMakeLists.txt
-+++ b/resources/ews/test/CMakeLists.txt
-@@ -35,6 +35,7 @@ qt5_add_resources(isolatestestcommon_RSRCS isolatedtestcommon.qrc)
- add_library(isolatedtestcommon STATIC ${isolatestestcommon_SRCS})
- target_link_libraries(isolatedtestcommon
-   KF5::AkonadiCore
-+  KF5::AkonadiMime
-   Qt5::Core
-   Qt5::Network
-   Qt5::Test
-diff --git a/resources/facebook/CMakeLists.txt b/resources/facebook/CMakeLists.txt
-index bdd5eeaa7..27a9c83c1 100644
---- a/resources/facebook/CMakeLists.txt
-+++ b/resources/facebook/CMakeLists.txt
-@@ -21,7 +21,8 @@ add_library(facebookresourcelib STATIC ${fbresource_SRCS})
- 
- target_link_libraries(facebookresourcelib
-     KF5::KIOWidgets
-+    KF5::AkonadiCore
-     KF5::IconThemes
-     KF5::I18n
-     KF5::ConfigGui
-     KF5::CalendarCore
--- 
-2.21.1
-
diff --git a/gnu/packages/patches/kinit-kdeinit-extra_libs.patch b/gnu/packages/patches/kinit-kdeinit-extra_libs.patch
index c3c4ce1161..1271f3df7d 100644
--- a/gnu/packages/patches/kinit-kdeinit-extra_libs.patch
+++ b/gnu/packages/patches/kinit-kdeinit-extra_libs.patch
@@ -42,12 +42,12 @@ pkgs/development/libraries/kde-frameworks/kinit/kdeinit-extra_libs.patch
  extern "C" {
  
      static void secondary_child_handler(int)
-@@ -1689,7 +1693,7 @@
+@@ -1673,7 +1673,7 @@
+ #if defined(Q_OS_UNIX) && !defined(Q_OS_OSX)
      if (!d.suicide && qEnvironmentVariableIsEmpty("KDE_IS_PRELINKED")) {
-         const int extrasCount = sizeof(extra_libs) / sizeof(extra_libs[0]);
-         for (int i = 0; i < extrasCount; i++) {
--            const QString extra = findSharedLib(QString::fromLatin1(extra_libs[i]));
-+            const QString extra = QString::fromLatin1(extra_libs[i]);
+         for (const char *extra_lib : extra_libs) {
+-            const QString extra = findSharedLib(QString::fromLatin1(extra_lib));
++            const QString extra = QString::fromLatin1(extra_lib);
              if (!extra.isEmpty()) {
                  QLibrary l(extra);
                  l.setLoadHints(QLibrary::ExportExternalSymbolsHint);
diff --git a/gnu/packages/patches/libdrm-realpath-virtio.patch b/gnu/packages/patches/libdrm-realpath-virtio.patch
new file mode 100644
index 0000000000..b7d85160b4
--- /dev/null
+++ b/gnu/packages/patches/libdrm-realpath-virtio.patch
@@ -0,0 +1,42 @@
+Only check for for relative path on virtio devices.  Otherwise it could
+break driver loading in some circumstances, notably the IceCat sandbox.
+
+https://gitlab.freedesktop.org/mesa/drm/-/issues/39
+
+Taken from upstream:
+https://gitlab.freedesktop.org/mesa/drm/-/commit/57df07572ce45a1b60bae6fb89770388d3abd6dd
+
+diff --git a/xf86drm.c b/xf86drm.c
+--- a/xf86drm.c
++++ b/xf86drm.c
+@@ -3103,15 +3103,18 @@ static int drmParseSubsystemType(int maj, int min)
+     int subsystem_type;
+ 
+     snprintf(path, sizeof(path), "/sys/dev/char/%d:%d/device", maj, min);
+-    if (!realpath(path, real_path))
+-        return -errno;
+-    snprintf(path, sizeof(path), "%s", real_path);
+ 
+     subsystem_type = get_subsystem_type(path);
++    /* Try to get the parent (underlying) device type */
+     if (subsystem_type == DRM_BUS_VIRTIO) {
++        /* Assume virtio-pci on error */
++        if (!realpath(path, real_path))
++            return DRM_BUS_VIRTIO;
+         strncat(path, "/..", PATH_MAX);
+         subsystem_type = get_subsystem_type(path);
+-    }
++        if (subsystem_type < 0)
++            return DRM_BUS_VIRTIO;
++     }
+     return subsystem_type;
+ #elif defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD__)
+     return DRM_BUS_PCI;
+@@ -3920,6 +3923,7 @@ process_device(drmDevicePtr *device, const char *d_name,
+ 
+     switch (subsystem_type) {
+     case DRM_BUS_PCI:
++    case DRM_BUS_VIRTIO:
+         return drmProcessPciDevice(device, node, node_type, maj, min,
+                                    fetch_deviceinfo, flags);
+     case DRM_BUS_USB:
diff --git a/gnu/packages/patches/libdrm-symbol-check.patch b/gnu/packages/patches/libdrm-symbol-check.patch
deleted file mode 100644
index 0a77763a4f..0000000000
--- a/gnu/packages/patches/libdrm-symbol-check.patch
+++ /dev/null
@@ -1,215 +0,0 @@
-Augment the list of expected symbols to fix the symbol-check tests on
-mips64el-linux, armhf-linux and aarch64-linux.
-
---- libdrm-2.4.65/freedreno/freedreno-symbol-check.orig	2015-09-04 11:07:40.000000000 -0400
-+++ libdrm-2.4.65/freedreno/freedreno-symbol-check	2015-10-18 23:57:15.288416229 -0400
-@@ -1,6 +1,6 @@
- #!/bin/bash
- 
--# The following symbols (past the first five) are taken from the public headers.
-+# The following symbols (past the first 12) are taken from the public headers.
- # A list of the latter should be available Makefile.sources/LIBDRM_FREEDRENO_H_FILES
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_freedreno.so} | awk '{print $3}'| while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- fd_bo_cpu_fini
- fd_bo_cpu_prep
- fd_bo_del
---- libdrm-2.4.65/nouveau/nouveau-symbol-check.orig	2015-05-04 11:47:43.000000000 -0400
-+++ libdrm-2.4.65/nouveau/nouveau-symbol-check	2015-10-18 23:55:26.078327118 -0400
-@@ -1,6 +1,6 @@
- #!/bin/bash
- 
--# The following symbols (past the first five) are taken from the public headers.
-+# The following symbols (past the first 12) are taken from the public headers.
- # A list of the latter should be available Makefile.sources/LIBDRM_NOUVEAU_H_FILES
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_nouveau.so} | awk '{print $3}'| while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- nouveau_bo_map
- nouveau_bo_name_get
- nouveau_bo_name_ref
---- libdrm-2.4.65/libkms/kms-symbol-check.orig	2015-05-04 11:47:43.000000000 -0400
-+++ libdrm-2.4.65/libkms/kms-symbol-check	2015-10-18 23:46:10.683869471 -0400
-@@ -1,6 +1,6 @@
- #!/bin/bash
- 
--# The following symbols (past the first five) are taken from the public headers.
-+# The following symbols (past the first 12) are taken from the public headers.
- # A list of the latter should be available Makefile.sources/LIBKMS_H_FILES
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libkms.so} | awk '{print $3}'| while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- kms_bo_create
- kms_bo_destroy
- kms_bo_get_prop
---- libdrm-2.4.65/intel/intel-symbol-check.orig	2015-05-04 11:47:43.000000000 -0400
-+++ libdrm-2.4.65/intel/intel-symbol-check	2015-10-18 23:55:53.309558508 -0400
-@@ -1,6 +1,6 @@
- #!/bin/bash
- 
--# The following symbols (past the first five) are taken from the public headers.
-+# The following symbols (past the first 12) are taken from the public headers.
- # A list of the latter should be available Makefile.sources/LIBDRM_INTEL_H_FILES
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_intel.so} | awk '{print $3}' | while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- drm_intel_bo_alloc
- drm_intel_bo_alloc_for_render
- drm_intel_bo_alloc_tiled
---- libdrm-2.4.65/amdgpu/amdgpu-symbol-check.orig	2015-08-17 10:08:11.000000000 -0400
-+++ libdrm-2.4.65/amdgpu/amdgpu-symbol-check	2015-10-18 23:56:10.606917723 -0400
-@@ -1,6 +1,6 @@
- #!/bin/bash
- 
--# The following symbols (past the first five) are taken from the public headers.
-+# The following symbols (past the first 12) are taken from the public headers.
- # A list of the latter should be available Makefile.am/libdrm_amdgpuinclude_HEADERS
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_amdgpu.so} | awk '{print $3}' | while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- amdgpu_bo_alloc
- amdgpu_bo_cpu_map
- amdgpu_bo_cpu_unmap
---- libdrm-2.4.65/exynos/exynos-symbol-check.orig	2015-05-04 11:47:43.000000000 -0400
-+++ libdrm-2.4.65/exynos/exynos-symbol-check	2015-10-18 23:56:32.025486153 -0400
-@@ -1,6 +1,6 @@
- #!/bin/bash
- 
--# The following symbols (past the first five) are taken from the public headers.
-+# The following symbols (past the first 12) are taken from the public headers.
- # A list of the latter should be available Makefile.am/libdrm_exynos*_HEADERS
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_exynos.so} | awk '{print $3}'| while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- exynos_bo_create
- exynos_bo_destroy
- exynos_bo_from_name
---- libdrm-2.4.65/omap/omap-symbol-check.orig	2015-05-04 11:47:43.000000000 -0400
-+++ libdrm-2.4.65/omap/omap-symbol-check	2015-10-18 23:56:44.834438626 -0400
-@@ -1,6 +1,6 @@
- #!/bin/bash
- 
--# The following symbols (past the first five) are taken from the public headers.
-+# The following symbols (past the first 12) are taken from the public headers.
- # A list of the latter should be available Makefile.am/libdrm_omap*HEADERS
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_omap.so} | awk '{print $3}'| while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- omap_bo_cpu_fini
- omap_bo_cpu_prep
- omap_bo_del
---- libdrm-2.4.65/tegra/tegra-symbol-check.orig	2015-05-04 11:47:43.000000000 -0400
-+++ libdrm-2.4.65/tegra/tegra-symbol-check	2015-10-18 23:57:00.756759698 -0400
-@@ -1,6 +1,6 @@
- #!/bin/bash
- 
--# The following symbols (past the first nine) are taken from tegra.h.
-+# The following symbols (past the first 12) are taken from tegra.h.
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | awk '{print $3}'| while read func; do
- ( grep -q "^$func$" || echo $func )  <<EOF
-@@ -9,6 +9,9 @@
- __bss_start
- __end__
- _bss_end__
-+_fbss
-+_fdata
-+_ftext
- _edata
- _end
- _fini
---- libdrm-2.4.65/radeon/radeon-symbol-check.orig	2015-05-04 11:47:43.000000000 -0400
-+++ libdrm-2.4.65/radeon/radeon-symbol-check	2015-10-18 23:57:00.756759698 -0400
-@@ -1,6 +1,6 @@
- #!/bin/bash
- 
--# The following symbols (past the first five) are taken from the public headers.
-+# The following symbols (past the first 12) are taken from the public headers.
- # A list of the latter should be available Makefile.sources/LIBDRM_RADEON_H_FILES
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | awk '{print $3}'| while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- radeon_bo_debug
- radeon_bo_get_handle
- radeon_bo_get_src_domain
diff --git a/gnu/packages/patches/nss-CVE-2020-12399.patch b/gnu/packages/patches/nss-CVE-2020-12399.patch
deleted file mode 100644
index 0d91b655e2..0000000000
--- a/gnu/packages/patches/nss-CVE-2020-12399.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-Fix CVE-2020-12399 (Timing attack on DSA signature generation: NSS has
-shown timing differences when performing DSA signatures, which was
-exploitable and could eventually leak private keys.)
-
-Copied from upstream:
-<https://hg.mozilla.org/projects/nss/rev/daa823a4a29bcef0fec33a379ec83857429aea2e>
-but with "nss/" inserted into the file name to patch.
-
-# HG changeset patch
-# User Robert Relyea <rrelyea@redhat.com>
-# Date 1589907685 0
-# Node ID daa823a4a29bcef0fec33a379ec83857429aea2e
-# Parent  d2cfb4ccdf167e5ea06d2bb5bc39c50f789929c8
-Bug 1631576 - Force a fixed length for DSA exponentiation r=pereida,bbrumley
-
-Differential Revision: https://phabricator.services.mozilla.com/D72011
-
-diff --git a/nss/lib/freebl/dsa.c b/nss/lib/freebl/dsa.c
---- a/nss/lib/freebl/dsa.c
-+++ b/nss/lib/freebl/dsa.c
-@@ -308,23 +308,24 @@ DSA_NewKeyFromSeed(const PQGParams *para
-     SECItem seedItem;
-     seedItem.data = (unsigned char *)seed;
-     seedItem.len = PQG_GetLength(&params->subPrime);
-     return dsa_NewKeyExtended(params, &seedItem, privKey);
- }
- 
- static SECStatus
- dsa_SignDigest(DSAPrivateKey *key, SECItem *signature, const SECItem *digest,
--               const unsigned char *kb)
-+               const unsigned char *kbytes)
- {
-     mp_int p, q, g; /* PQG parameters */
-     mp_int x, k;    /* private key & pseudo-random integer */
-     mp_int r, s;    /* tuple (r, s) is signature) */
-     mp_int t;       /* holding tmp values */
-     mp_int ar;      /* holding blinding values */
-+    mp_digit fuzz;  /* blinding multiplier for q */
-     mp_err err = MP_OKAY;
-     SECStatus rv = SECSuccess;
-     unsigned int dsa_subprime_len, dsa_signature_len, offset;
-     SECItem localDigest;
-     unsigned char localDigestData[DSA_MAX_SUBPRIME_LEN];
-     SECItem t2 = { siBuffer, NULL, 0 };
- 
-     /* FIPS-compliance dictates that digest is a SHA hash. */
-@@ -368,31 +369,46 @@ dsa_SignDigest(DSAPrivateKey *key, SECIt
-     CHECK_MPI_OK(mp_init(&q));
-     CHECK_MPI_OK(mp_init(&g));
-     CHECK_MPI_OK(mp_init(&x));
-     CHECK_MPI_OK(mp_init(&k));
-     CHECK_MPI_OK(mp_init(&r));
-     CHECK_MPI_OK(mp_init(&s));
-     CHECK_MPI_OK(mp_init(&t));
-     CHECK_MPI_OK(mp_init(&ar));
-+
-     /*
-     ** Convert stored PQG and private key into MPI integers.
-     */
-     SECITEM_TO_MPINT(key->params.prime, &p);
-     SECITEM_TO_MPINT(key->params.subPrime, &q);
-     SECITEM_TO_MPINT(key->params.base, &g);
-     SECITEM_TO_MPINT(key->privateValue, &x);
--    OCTETS_TO_MPINT(kb, &k, dsa_subprime_len);
-+    OCTETS_TO_MPINT(kbytes, &k, dsa_subprime_len);
-+
-+    /* k blinding  create a single value that has the high bit set in
-+     * the mp_digit*/
-+    if (RNG_GenerateGlobalRandomBytes(&fuzz, sizeof(mp_digit)) != SECSuccess) {
-+        PORT_SetError(SEC_ERROR_NEED_RANDOM);
-+        rv = SECFailure;
-+        goto cleanup;
-+    }
-+    fuzz |= 1ULL << ((sizeof(mp_digit) * PR_BITS_PER_BYTE - 1));
-     /*
-     ** FIPS 186-1, Section 5, Step 1
-     **
-     ** r = (g**k mod p) mod q
-     */
--    CHECK_MPI_OK(mp_exptmod(&g, &k, &p, &r)); /* r = g**k mod p */
--    CHECK_MPI_OK(mp_mod(&r, &q, &r));         /* r = r mod q    */
-+    CHECK_MPI_OK(mp_mul_d(&q, fuzz, &t)); /* t = q*fuzz */
-+    CHECK_MPI_OK(mp_add(&k, &t, &t));     /* t = k+q*fuzz */
-+    /* length of t is now fixed, bits in k have been blinded */
-+    CHECK_MPI_OK(mp_exptmod(&g, &t, &p, &r)); /* r = g**t mod p */
-+    /* r is now g**(k+q*fuzz) == g**k mod p */
-+    CHECK_MPI_OK(mp_mod(&r, &q, &r)); /* r = r mod q    */
-+
-     /*
-     ** FIPS 186-1, Section 5, Step 2
-     **
-     ** s = (k**-1 * (HASH(M) + x*r)) mod q
-     */
-     if (DSA_NewRandom(NULL, &key->params.subPrime, &t2) != SECSuccess) {
-         PORT_SetError(SEC_ERROR_NEED_RANDOM);
-         rv = SECFailure;
-@@ -406,25 +422,34 @@ dsa_SignDigest(DSAPrivateKey *key, SECIt
-         goto cleanup;
-     }
-     SECITEM_TO_MPINT(t2, &ar); /* ar <-$ Zq */
-     SECITEM_FreeItem(&t2, PR_FALSE);
- 
-     /* Using mp_invmod on k directly would leak bits from k. */
-     CHECK_MPI_OK(mp_mul(&k, &ar, &k));       /* k = k * ar */
-     CHECK_MPI_OK(mp_mulmod(&k, &t, &q, &k)); /* k = k * t mod q */
--    CHECK_MPI_OK(mp_invmod(&k, &q, &k));     /* k = k**-1 mod q */
-+    /* k is now k*t*ar */
-+    CHECK_MPI_OK(mp_invmod(&k, &q, &k)); /* k = k**-1 mod q */
-+    /* k is now (k*t*ar)**-1 */
-     CHECK_MPI_OK(mp_mulmod(&k, &t, &q, &k)); /* k = k * t mod q */
--    SECITEM_TO_MPINT(localDigest, &s);       /* s = HASH(M)     */
-+    /* k is now (k*ar)**-1 */
-+    SECITEM_TO_MPINT(localDigest, &s); /* s = HASH(M)     */
-     /* To avoid leaking secret bits here the addition is blinded. */
--    CHECK_MPI_OK(mp_mul(&x, &ar, &x));        /* x = x * ar */
--    CHECK_MPI_OK(mp_mulmod(&x, &r, &q, &x));  /* x = x * r mod q */
-+    CHECK_MPI_OK(mp_mul(&x, &ar, &x)); /* x = x * ar */
-+    /* x is now x*ar */
-+    CHECK_MPI_OK(mp_mulmod(&x, &r, &q, &x)); /* x = x * r mod q */
-+    /* x is now x*r*ar */
-     CHECK_MPI_OK(mp_mulmod(&s, &ar, &q, &t)); /* t = s * ar mod q */
--    CHECK_MPI_OK(mp_add(&t, &x, &s));         /* s = t + x */
--    CHECK_MPI_OK(mp_mulmod(&s, &k, &q, &s));  /* s = s * k mod q */
-+    /* t is now hash(M)*ar */
-+    CHECK_MPI_OK(mp_add(&t, &x, &s)); /* s = t + x */
-+    /* s is now (HASH(M)+x*r)*ar */
-+    CHECK_MPI_OK(mp_mulmod(&s, &k, &q, &s)); /* s = s * k mod q */
-+    /* s is now (HASH(M)+x*r)*ar*(k*ar)**-1 = (k**-1)*(HASH(M)+x*r) */
-+
-     /*
-     ** verify r != 0 and s != 0
-     ** mentioned as optional in FIPS 186-1.
-     */
-     if (mp_cmp_z(&r) == 0 || mp_cmp_z(&s) == 0) {
-         PORT_SetError(SEC_ERROR_NEED_RANDOM);
-         rv = SECFailure;
-         goto cleanup;
-
diff --git a/gnu/packages/patches/pyqt-unbundled-qt.patch b/gnu/packages/patches/pyqt-unbundled-qt.patch
deleted file mode 100644
index 5c91ed031c..0000000000
--- a/gnu/packages/patches/pyqt-unbundled-qt.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Remove test for bundled Qt which breaks dependent applications.  This has
-been fixed in 5.13.
-
-Taken from Arch Linux:
-https://git.archlinux.org/svntogit/packages.git/tree/trunk/python2-pyqt5-crash-fix.patch?h=packages/pyqt5&id=3e56e11d1fd7b1eac8242ce64c58db2bd9acba20
-
-diff -ur PyQt5_gpl-5.12.3/qpy/QtCore/qpycore_post_init.cpp.in PyQt5_gpl-5.12.3b/qpy/QtCore/qpycore_post_init.cpp.in
---- PyQt5_gpl-5.12.3/qpy/QtCore/qpycore_post_init.cpp.in        2019-06-25 14:41:02.000000000 +0200
-+++ PyQt5_gpl-5.12.3b/qpy/QtCore/qpycore_post_init.cpp.in       2019-07-01 17:06:34.882644535 +0200
-@@ -151,8 +151,4 @@
-     // initialised first (at least for Windows) and this is the only way to
-     // guarantee things are done in the right order.
-     PyQtSlotProxy::mutex = new QMutex(QMutex::Recursive);
--
--    // Load the embedded qt.conf file if there is a bundled copy of Qt.
--    if (!qpycore_qt_conf())
--        Py_FatalError("PyQt5.QtCore: Unable to embed qt.conf");
- }
-
diff --git a/gnu/packages/patches/qtbase-QTBUG-81715.patch b/gnu/packages/patches/qtbase-QTBUG-81715.patch
deleted file mode 100644
index 70b83b97d2..0000000000
--- a/gnu/packages/patches/qtbase-QTBUG-81715.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 8a3fde00bf53d99e9e4853e8ab97b0e1bcf74915 Mon Sep 17 00:00:00 2001
-From: Joerg Bornemann <joerg.bornemann@qt.io>
-Date: Wed, 29 Jan 2020 11:06:35 +0100
-Subject: [PATCH] Fix qt5_make_output_file macro for paths containing dots
-
-Commit 89bd5a7e broke CMake projects that use dots in their build
-paths, because the used regular expression matches the directory part
-of the path as well.
-
-The regex wants to achieve the same as get_filename_component(...
-NAME_WLE) which is available since CMake 3.14. Re-implement the
-NAME_WLE functionality for older CMake versions by using multiple
-get_filename_component calls.
-
-Fixes: QTBUG-81715
-Task-number: QTBUG-80295
-Change-Id: I2ef053300948f6e1b2c0c5eafac35105f193d4e6
-Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
----
-
-diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake
-index 7735e51..b3da640 100644
---- a/src/corelib/Qt5CoreMacros.cmake
-+++ b/src/corelib/Qt5CoreMacros.cmake
-@@ -59,7 +59,14 @@
-     set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${rel}")
-     string(REPLACE ".." "__" _outfile ${_outfile})
-     get_filename_component(outpath ${_outfile} PATH)
--    string(REGEX REPLACE "\\.[^.]*$" "" _outfile ${_outfile})
-+    if(CMAKE_VERSION VERSION_LESS "3.14")
-+        get_filename_component(_outfile_ext ${_outfile} EXT)
-+        get_filename_component(_outfile_ext ${_outfile_ext} NAME_WE)
-+        get_filename_component(_outfile ${_outfile} NAME_WE)
-+        string(APPEND _outfile ${_outfile_ext})
-+    else()
-+        get_filename_component(_outfile ${_outfile} NAME_WLE)
-+    endif()
-     file(MAKE_DIRECTORY ${outpath})
-     set(${outfile} ${outpath}/${prefix}${_outfile}.${ext})
- endmacro()
diff --git a/gnu/packages/patches/qtbase-use-TZDIR.patch b/gnu/packages/patches/qtbase-use-TZDIR.patch
index 11c737d844..b6c377b133 100644
--- a/gnu/packages/patches/qtbase-use-TZDIR.patch
+++ b/gnu/packages/patches/qtbase-use-TZDIR.patch
@@ -4,8 +4,8 @@ important to be able to update it fast.
 
 Based on a patch fron NixOS.
 ===================================================================
---- qtbase-opensource-src-5.9.4.orig/src/corelib/tools/qtimezoneprivate_tz.cpp
-+++ qtbase-opensource-src-5.9.4/src/corelib/tools/qtimezoneprivate_tz.cpp
+--- qtbase-opensource-src-5.14.2.orig/src/corelib/time/qtimezoneprivate_tz.cpp
++++ qtbase-opensource-src-5.15.2/src/corelib/time/qtimezoneprivate_tz.cpp
 @@ -70,7 +70,11 @@
  // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
  static QTzTimeZoneHash loadTzTimeZones()
diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm
index ce2a6e91db..ab48168567 100644
--- a/gnu/packages/pcre.scm
+++ b/gnu/packages/pcre.scm
@@ -89,14 +89,14 @@ POSIX regular expression API.")
 (define-public pcre2
   (package
     (name "pcre2")
-    (version "10.34")
+    (version "10.35")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/pcre/pcre2/"
                                   version "/pcre2-" version ".tar.bz2"))
               (sha256
                (base32
-                "1jlqnzcz2yi70dm40wyfa9w8is9z2kh4dl8zjnv3vqd9mgzp7i3l"))))
+                "04s6kmk9qdd4rjz477h547j4bx7hfz0yalpvrm381rqc5ghaijww"))))
    (build-system gnu-build-system)
    (inputs `(("bzip2" ,bzip2)
              ("readline" ,readline)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 6121fe650d..0ad1263812 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -749,14 +749,14 @@ line tools for batch rendering @command{pdfdraw}, rewriting files
 (define-public qpdf
   (package
    (name "qpdf")
-   (version "9.1.1")
+   (version "10.0.1")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://sourceforge/qpdf/qpdf/" version
                                 "/qpdf-" version ".tar.gz"))
             (sha256
              (base32
-              "0dj27wb9xg6pg95phbflfvy9rwxn1gh3kc4n175g0pf41r0zrim2"))))
+              "0yw2cpw7ygfd6jlgpwbi8vsnvv9p55zxp9h17x77z2qq733pf8jx"))))
    (build-system gnu-build-system)
    (arguments
     `(#:disallowed-references (,perl)
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index b30a887429..5c9c251c01 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -448,14 +448,15 @@ risk.")
 (define-public python-certifi
   (package
     (name "python-certifi")
-    (version "2019.3.9")
+    (version "2020.4.5.1")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "certifi" version))
               (sha256
                (base32
-                "1bnpw7hrf9i1l9gfxjnzi45hkrvzz0pyn9ia8m4mw7sxhgb08qdj"))))
+                "06b5gfs7wmmipln8f3z928d2mmx2j4b3x7pnqmj6cvmyfh8v7z2i"))))
     (build-system python-build-system)
+    (arguments '(#:tests? #f))          ;no tests
     (home-page "https://certifi.io/")
     (synopsis "Python CA certificate bundle")
     (description
@@ -469,14 +470,14 @@ is used by the Requests library to verify HTTPS requests.")
 (define-public python-cryptography-vectors
   (package
     (name "python-cryptography-vectors")
-    (version "2.7")
+    (version "2.9.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "cryptography_vectors" version))
        (sha256
         (base32
-         "1g38zw90510azyfrj6mxbslx2gp9yrnv5dac0w2819k9ssdznbgi"))))
+         "1d4iykcv7cn9j399hczlxm5pzxmqy6d80h3j16dkjwlmv3293b4r"))))
     (build-system python-build-system)
     (home-page "https://github.com/pyca/cryptography")
     (synopsis "Test vectors for the cryptography package")
@@ -491,14 +492,14 @@ is used by the Requests library to verify HTTPS requests.")
 (define-public python-cryptography
   (package
     (name "python-cryptography")
-    (version "2.7")
+    (version "2.9.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "cryptography" version))
        (sha256
         (base32
-         "1inlnr36kl36551c9rcad99jmhk81v33by3glkadwdcgmi17fd76"))))
+         "0af25w5mkd6vwns3r6ai1w5ip9xp0ms9s261zzssbpadzdr05hx0"))))
     (build-system python-build-system)
     (inputs
      `(("openssl" ,openssl)))
@@ -540,14 +541,14 @@ message digests and key derivation functions.")
 (define-public python-pyopenssl
   (package
     (name "python-pyopenssl")
-    (version "19.0.0")
+    (version "19.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pyOpenSSL" version))
        (sha256
         (base32
-         "007j40y7x3k8xj54dy2qnij9lldfp71k9mkflhd9vqbdiwrndjmf"))))
+         "01wmsq6w0frzbr3zps4ga9kmqjidp2h317jwpq1g9ah24r5lj94s"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index c01a86935c..af414b7b62 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -577,13 +577,13 @@ and written in Python.")
 (define-public python-html5-parser
   (package
     (name "python-html5-parser")
-    (version "0.4.5")
+    (version "0.4.9")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "html5-parser" version))
               (sha256
                (base32
-                "01mx33sx4dhl4kj6wc48nj6jz7ry60rkhjv0s6k8h5xmjf5yy0x9"))))
+                "13yl3vnf3sxl05m0nhpngnrz3g1jvyahd33lys3m3hfb91l8zzi5"))))
     (build-system python-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -1463,13 +1463,13 @@ WebSocket usage in Python programs.")
 (define-public python-requests
   (package
     (name "python-requests")
-    (version "2.22.0")
+    (version "2.23.0")
     (source (origin
              (method url-fetch)
              (uri (pypi-uri "requests" version))
              (sha256
               (base32
-               "1d5ybh11jr5sm7xp6mz8fyc7vrp4syifds91m7sj60xalal0gq0i"))))
+               "1rhpg0jb08v0gd7f19jjiwlcdnxpmqi1fhvw7r4s9avddi4kvx5k"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-certifi" ,python-certifi)
@@ -1676,14 +1676,14 @@ authenticated session objects providing things like keep-alive.")
 (define-public python-urllib3
   (package
     (name "python-urllib3")
-    (version "1.25.3")
+    (version "1.25.9")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "urllib3" version))
         (sha256
          (base32
-          "0cij8qcvvpj62g1q8n785qjkdymfh4b7vf45si4sw64l41rr3rfv"))))
+          "09rmjqm5syhhc8fx3v06h3yv6cqy0b1081jg8wm5grpwpr72j61h"))))
     (build-system python-build-system)
     (arguments `(#:tests? #f))
     (propagated-inputs
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index abf12ec4e0..bf2e7de238 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3021,14 +3021,14 @@ for Python.")
 (define-public python-jinja2
   (package
     (name "python-jinja2")
-    (version "2.11.1")
+    (version "2.11.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Jinja2" version))
        (sha256
         (base32
-         "0l72c11n959yzb8d3ankckb6yhjhm6x729zm7rkpk040qzxpy64k"))))
+         "1c1v3djnr0ymp5xpy1h3h60abcaqxdlm4wsqmls9rxby88av5al9"))))
     (build-system python-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
@@ -3997,14 +3997,14 @@ provides additional functionality on the produced Mallard documents.")
 (define-public python-cython
   (package
     (name "python-cython")
-    (version "0.29.16")
+    (version "0.29.17")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Cython" version))
        (sha256
         (base32
-         "01gs10myw0rw4jsikvqs0859fg7gficxhv508cxvnb4l9wl5a9r3"))))
+         "1wnaz40hdw4mg5acz5gqb6bhjhn4cvfxg0xdzfy7aa6qn665hqb3"))))
     (build-system python-build-system)
     ;; we need the full python package and not just the python-wrapper
     ;; because we need libpython3.3m.so
@@ -5318,14 +5318,14 @@ a general image processing tool.")
 (define-public python-pycparser
   (package
     (name "python-pycparser")
-    (version "2.19")
+    (version "2.20")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "pycparser" version))
       (sha256
        (base32
-        "1cr5dcj9628lkz1qlwq3fv97c25363qppkmcayqvd05dpy573259"))))
+        "1w0m3xvlrzq4lkbvd1ngfm8mdw64r1yxy6n7djlw6qj5d0km6ird"))))
     (outputs '("out" "doc"))
     (build-system python-build-system)
     (native-inputs
@@ -8465,14 +8465,14 @@ versions of Python.")
 (define-public python-idna
   (package
     (name "python-idna")
-    (version "2.8")
+    (version "2.9")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "idna" version))
        (sha256
         (base32
-         "01rlkigdxg17sf9yar1jl8n18ls59367wqh59hnawlyg53vb6my3"))))
+         "1jxp2pdi8y4asi7ka1zhx3yx09kv8kzj533f0ds7viz49b0x323m"))))
     (build-system python-build-system)
     (home-page "https://github.com/kjd/idna")
     (synopsis "Internationalized domain names in applications")
@@ -10132,14 +10132,14 @@ python-xdo for newer bindings.)")
 (define-public python-mako
   (package
     (name "python-mako")
-    (version "1.1.1")
+    (version "1.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Mako" version))
        (sha256
         (base32
-         "193mds7lv91pphnvn6c1n55rhjkgq94asdzgrsb2fiqx7rrsd119"))))
+         "17bd6r9ynp4hyfckkia0bb8gpd98f42jfl5rmzdpbld59bbcaf9i"))))
     (build-system python-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index d4b215a0bc..4d95563403 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -16,6 +16,8 @@
 ;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2020 TomZ <tomz@freedommail.ch>
+;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -99,7 +101,7 @@
 (define-public grantlee
   (package
     (name "grantlee")
-    (version "5.1.0")
+    (version "5.2.0")
     (source
       (origin
         (method git-fetch)
@@ -108,30 +110,18 @@
               (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32 "1dmah2gd6zd4fgz2f4ir11dazqg067hjz8xshhywhfsmavchi626"))))
+         (base32 "02dyqxjyxiqxrlz5g7v9ly8f095vs3iha39l75q6s8axs36y01lq"))))
     (native-inputs
      ;; Optional: lcov and cccc, both are for code coverage
      `(("doxygen" ,doxygen)))
     (inputs
      `(("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
        ("qtscript" ,qtscript)))
     (build-system cmake-build-system)
     (arguments
-     `(#:configure-flags '("-DCMAKE_CXX_STANDARD=11")
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'delete-broken-tests
-           (lambda _
-             ;; TODO: Two date tests (for date01 and date02) fail for unknown
-             ;; reasons.
-             ;;   Actual   (result): ""
-             ;;   Expected (output): "01"
-             ;;   Actual   (result): ""
-             ;;   Expected (output): "Jan. 1, 2008"
-             (delete-file "templates/tests/testfilters.cpp")
-             (substitute* "templates/tests/CMakeLists.txt"
-               (("testfilters") ""))
-             #t))
          (add-before 'check 'check-setup
            (lambda _
              ;; make Qt render "offscreen", required for tests
@@ -352,7 +342,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtbase
   (package
     (name "qtbase")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -361,11 +351,10 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0pb68d30clksdhgy8n6rrs838bb3qcsfq4pv463yy2nr4p5kk2di"))
+               "12mjsahlma9rw3vz9a6b5h2s6ylg8b34hxc2vnlna5ll429fgfa8"))
              ;; Use TZDIR to avoid depending on package "tzdata".
              (patches (search-patches "qtbase-use-TZDIR.patch"
-                                      "qtbase-moc-ignore-gcc-macro.patch"
-                                      "qtbase-QTBUG-81715.patch"))
+                                      "qtbase-moc-ignore-gcc-macro.patch"))
              (modules '((guix build utils)))
              (snippet
                ;; corelib uses bundled harfbuzz, md4, md5, sha3
@@ -571,14 +560,6 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                               "src/network/kernel/qhostinfo_unix.cpp")
                  (("^\\s*(lib.setFileName\\(QLatin1String\\(\")(resolv\"\\)\\);)" _ a b)
                 (string-append a glibc "/lib/lib" b))))
-             ;; X11/locale (compose path)
-             (substitute* "src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp"
-               ;; Don't search in /usr/…/X11/locale, …
-               (("^\\s*m_possibleLocations.append\\(QStringLiteral\\(\"/usr/.*/X11/locale\"\\)\\);" line)
-                (string-append "// " line))
-               ;; … but use libx11's path
-               (("^\\s*(m_possibleLocations.append\\(QStringLiteral\\()X11_PREFIX \"(/.*/X11/locale\"\\)\\);)" _ a b)
-                (string-append a "\"" (assoc-ref inputs "libx11") b)))
              ;; libGL
              (substitute* "src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp"
                (("^\\s*(QLibrary lib\\(QLatin1String\\(\")(GL\"\\)\\);)" _ a b)
@@ -618,7 +599,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtsvg
   (package (inherit qtbase)
     (name "qtsvg")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -627,7 +608,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1f3vqv3s83gjillhgi0wghyf3825fgy1ffhvkxhdk673shb0kxjb"))))
+               "18dmfc8s428fzbk7k5vl3212b25455ayrz7s716nwyiy3ahgmmy7"))))
     (propagated-inputs `())
     (native-inputs `(("perl" ,perl)))
     (inputs
@@ -693,7 +674,7 @@ HostData=lib/qt5
 (define-public qtimageformats
   (package (inherit qtsvg)
     (name "qtimageformats")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -702,7 +683,7 @@ HostData=lib/qt5
                                  version ".tar.xz"))
              (sha256
               (base32
-               "02zpcbx71dz6xvga07dnzqwdfz9pjmy673n706fj8pxq9zi9xlcv"))
+               "132g4rlm61pdcpcrclr1rwpbrxn7va4wjfb021mh8pn1cl0wlgkk"))
              (modules '((guix build utils)))
              (snippet
               '(begin
@@ -724,7 +705,7 @@ support for MNG, TGA, TIFF and WBMP image formats.")))
 (define-public qtx11extras
   (package (inherit qtsvg)
     (name "qtx11extras")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -733,7 +714,7 @@ support for MNG, TGA, TIFF and WBMP image formats.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "15hb90n47khsp3qnzyjd3mh8gi9qvy07dqdr4qspiww43r5mz293"))))
+               "0njlh6d327nll7d8qaqrwr5x15m9yzgyar2j45qigs1f7ah896my"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -748,7 +729,7 @@ from within Qt 5.")))
 (define-public qtxmlpatterns
   (package (inherit qtsvg)
     (name "qtxmlpatterns")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -757,7 +738,7 @@ from within Qt 5.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0ys1kf0zdn8gak1ik9p7i7bdyfz2frvklcyz013s9wm1550h20lh"))))
+               "1dyg1z4349k04yyzn8xbp4f5qjgm60gz6wgzp80khpilcmk8g6i1"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f) ; TODO: Enable the tests
@@ -779,7 +760,7 @@ xmlpatternsvalidator.")))
 (define-public qtdeclarative
   (package (inherit qtsvg)
     (name "qtdeclarative")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -788,16 +769,28 @@ xmlpatternsvalidator.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1gg9xbv8ah4p55ws97brwn0csl0k3j1x6zdknrrsnh7j6nh0bp2w"))))
+               "0l0nhc2si6dl9r4s1bs45z90qqigs8jnrsyjjdy38q4pvix63i53"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
-       ((#:tests? _ #f) #f))) ; TODO: Enable the tests
+       ((#:tests? _ #f) #f)             ;TODO: Enable the tests
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (add-after 'build 'fix-qt5core-install-prefix
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((out (assoc-ref outputs "out")))
+                 ;; The Qt5Core install prefix is set to qtbase, but qmlcachegen
+                 ;; is provided by qtdeclarative.
+                 (substitute*
+                     "lib/cmake/Qt5QuickCompiler/Qt5QuickCompilerConfig.cmake"
+                   (("\\$\\{_qt5Core_install_prefix\\}") out)))
+               #t))))))
     (native-inputs
      `(("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("python" ,python)
        ("python-wrapper" ,python-wrapper)
-       ("qtsvg" ,qtsvg)))
+       ("qtsvg" ,qtsvg)
+       ("vulkan-headers" ,vulkan-headers)))
     (inputs
      `(("mesa" ,mesa)
        ("qtbase" ,qtbase)))
@@ -811,7 +804,7 @@ with JavaScript and C++.")))
 (define-public qtconnectivity
   (package (inherit qtsvg)
     (name "qtconnectivity")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -820,7 +813,7 @@ with JavaScript and C++.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "06h71pd5w5prh722mcbgmx7l71xvh5xpjrlbg17yblx0n6wlhwb4"))))
+               "0a5wzin635b926b8prdwfazgy1vhyf8m6an64wp2lpkp78z7prmb"))))
     (native-inputs
      `(("perl" ,perl)
        ("pkg-config" ,pkg-config)
@@ -835,7 +828,7 @@ with Bluetooth and NFC.")))
 (define-public qtwebsockets
   (package (inherit qtsvg)
     (name "qtwebsockets")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -844,7 +837,7 @@ with Bluetooth and NFC.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "05rv52pp5zg4g14zh7c6jc77l426056b8xyr40ps6cpmb0jkrlbg"))))
+               "116amx4mnv50k0fpswgpr5x8wjny8nbffrjmld01pzhkhfqn4vph"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -862,7 +855,7 @@ consume data received from the server, or both.")))
 (define-public qtsensors
   (package (inherit qtsvg)
     (name "qtsensors")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -871,7 +864,7 @@ consume data received from the server, or both.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0h77h34rn6cgy5qiqq163pj3bhbka1ydkfgjcx01ns1g9sgym6ib"))))
+               "0qccpgbhyg9k4x5nni7xm0pyvaqia3zrcd42cn7ksf5h21lwmkxw"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:parallel-tests? _ #f) #f) ; can lead to race condition
@@ -895,7 +888,7 @@ recognition API for devices.")))
 (define-public qtmultimedia
   (package (inherit qtsvg)
     (name "qtmultimedia")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -904,7 +897,7 @@ recognition API for devices.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "07fvnjywn3hkrxfbxasmy83jr6jq9lf1grasfwij54hz6y0smg98"))
+               "1sczzcvk3c5gczz53yvp8ma6gp8aixk5pcq7wh344c9md3g8xkbs"))
              (modules '((guix build utils)))
              (snippet
               '(begin
@@ -946,7 +939,7 @@ set of plugins for interacting with pulseaudio and GStreamer.")))
 (define-public qtwayland
   (package (inherit qtsvg)
     (name "qtwayland")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -955,7 +948,7 @@ set of plugins for interacting with pulseaudio and GStreamer.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1ib61zh6jrab3yz592p47ldfgphi4i184kqf14vhwn31akibh6pw"))
+               "0al3yypy3fin62n8d1859jh0mn0fbpa161l7f37hgd4gf75365nk"))
              (modules '((guix build utils)))
              (snippet
                ;; The examples try to build and cause the build to fail
@@ -966,13 +959,21 @@ set of plugins for interacting with pulseaudio and GStreamer.")))
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:phases phases)
         `(modify-phases ,phases
-           (add-before 'check 'set-ld-library-path
-             ;; <https://lists.gnu.org/archive/html/guix-devel/2017-09/msg00019.html>
-             ;;
-             ;; Make the uninstalled libQt5WaylandClient.so.5 available to the
-             ;; wayland platform plugin.
+           (add-after 'unpack 'disable-failing-tests
              (lambda _
-               (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/lib"))
+               ;; FIXME: tst_seatv4::animatedCursor() fails for no good
+               ;; reason and breaks these two tests.
+               (substitute* "tests/auto/client/seatv4/tst_seatv4.cpp"
+                 (((string-append "QVERIFY\\(!cursorSurface\\(\\)->"
+                                  "m_waitingFrameCallbacks\\.empty\\(\\)\\);"))
+                  "")
+                 (("QTRY_COMPARE\\(bufferSpy\\.count\\(\\), 1\\);")
+                  ""))
+               #t))
+           (add-before 'check 'set-test-environment
+             (lambda _
+               ;; Do not fail just because /etc/machine-id is missing.
+               (setenv "DBUS_FATAL_WARNINGS" "0")
                #t))))))
     (native-inputs
      `(("glib" ,glib)
@@ -998,7 +999,7 @@ compositor libraries.")))
 (define-public qtserialport
   (package (inherit qtsvg)
     (name "qtserialport")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1007,7 +1008,7 @@ compositor libraries.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "07vjv3p7n7n5v15wdpi8x5sbnvyjqdh85qfzf9mz8l6ppqp2hk12"))))
+               "08ga9a1lwj83872nxablk602z1dq0la6jqsiicvd7m1sfbfpgnd6"))))
     (native-inputs `(("perl" ,perl)))
     (inputs
      `(("qtbase" ,qtbase)
@@ -1032,7 +1033,7 @@ interacting with serial ports from within Qt.")))
 (define-public qtserialbus
   (package (inherit qtsvg)
     (name "qtserialbus")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1041,7 +1042,7 @@ interacting with serial ports from within Qt.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1bkyk1v7bcq657n88a6675lj55vl9y8v46h4kf27v58yjzgiw842"))))
+               "14bahg82jciciqkl74q9hvf3a8kp3pk5v731vp2416k4b8bn4xqb"))))
     (inputs
      `(("qtbase" ,qtbase)
        ("qtserialport" ,qtserialport)))
@@ -1053,7 +1054,7 @@ and others.")))
 (define-public qtwebchannel
   (package (inherit qtsvg)
     (name "qtwebchannel")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1062,7 +1063,7 @@ and others.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0xff3fbbpcl0kkq0rg9npj127ycirygicbkxlf0v593sjpjp5bmh"))))
+               "0x7q66994pw6cd0f505bmirw1sssqs740zaw8lyqqqr32m2ch7bx"))))
     (native-inputs
      `(("perl" ,perl)
        ("qtdeclarative" ,qtdeclarative)
@@ -1077,7 +1078,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine.")))
 (define-public qtwebglplugin
   (package (inherit qtsvg)
     (name "qtwebglplugin")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1086,7 +1087,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0fswnmhb8fm7wqgzv8cjy1j2sgb5mhx80jl411laawn7bf2ysjg0"))))
+               "05rl657848fsprsnabdqb5z363c6drjc32k59223vl351f8ihhgb"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:phases phases)
@@ -1100,7 +1101,8 @@ popular web engines, Qt WebKit 2 and Qt WebEngine.")))
      `(("mesa" ,mesa)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
-       ("qtwebsockets" ,qtwebsockets)))
+       ("qtwebsockets" ,qtwebsockets)
+       ("zlib" ,zlib)))
     (synopsis "QPA plugin for running an application via a browser using
 streamed WebGL commands")
     (description "Qt back end that uses WebGL for rendering. It allows Qt
@@ -1112,7 +1114,7 @@ OpenGL ES 2.0 and can be used in HTML5 canvas elements")))
 (define-public qtwebview
   (package (inherit qtsvg)
     (name "qtwebview")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1121,7 +1123,7 @@ OpenGL ES 2.0 and can be used in HTML5 canvas elements")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1rvvkg6dl34hklllnlzlcffik746f15lzxdnwggc97dmx8n2vy6k"))))
+               "0jzzcm7z5njkddzfhmyjz4dbbzq8h93980cci4479zc4xq9r47y6"))))
     (native-inputs
      `(("perl" ,perl)))
     (inputs
@@ -1135,7 +1137,7 @@ native APIs where it makes sense.")))
 (define-public qtlocation
   (package (inherit qtsvg)
     (name "qtlocation")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1144,7 +1146,7 @@ native APIs where it makes sense.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "07vq4aycayq2bg8yi4awidb25xyvws2ajbnrmad3rnpg1fw0bsfi"))))
+               "1k3m8zhbv04yrqvj7jlnh8f9xczdsmla59j9gcwsqvbg76y0hxy3"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1165,7 +1167,7 @@ positioning and geolocation plugins.")))
 (define-public qttools
   (package (inherit qtsvg)
     (name "qttools")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1174,7 +1176,7 @@ positioning and geolocation plugins.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0j1rl368sjknsmwp2f7bwqcb0sx13l3l4dxbm70873si9l8rf2l6"))))
+               "1iakl3hlyg51ri1czmis8mmb257b0y1zk2a2knybd3mq69wczc2v"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1193,7 +1195,7 @@ that helps in Qt development.")))
 (define-public qtscript
   (package (inherit qtsvg)
     (name "qtscript")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1202,7 +1204,7 @@ that helps in Qt development.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "06a02230mj4bd8qvjaf2q97grzbj1c1rq36x7236fnhjsikbq7fa"))
+               "1zlvg3hc6h70d789g3kv6dxbwswzkskkm00bdgl01grwrdy4izg9"))
              (patches (search-patches "qtscript-disable-tests.patch"))))
     (native-inputs
      `(("perl" ,perl)
@@ -1217,7 +1219,7 @@ ECMAScript and Qt.")))
 (define-public qtquickcontrols
   (package (inherit qtsvg)
     (name "qtquickcontrols")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1226,7 +1228,7 @@ ECMAScript and Qt.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1rar337vv0dx52r2gxwiwy1axn0fpy79rka09xizjlxsdg3vnf0h"))))
+               "0qa4dlhn3iv9yvaic8hw86v6h8rn9sgq8xjfdaym04pfshfyypfm"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1241,7 +1243,7 @@ can be used to build complete interfaces in Qt Quick.")))
 (define-public qtquickcontrols2
   (package (inherit qtsvg)
     (name "qtquickcontrols2")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1250,7 +1252,7 @@ can be used to build complete interfaces in Qt Quick.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0dx2jag6l5a80220fvmf49z1psliqf1ijqx6jsvvzv81mpjjd59s"))))
+               "0q0mk2mjlf9ll0gdrdzxy8096s6g9draaqiwrlvdpa7lv14x7xzs"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1266,7 +1268,7 @@ not available.")))
 (define-public qtgraphicaleffects
   (package (inherit qtsvg)
     (name "qtgraphicaleffects")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1275,7 +1277,7 @@ not available.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1knapc14a80cn2f5bbfj7lhq9flr3v0gwjg9ka7xl8y642235w02"))))
+               "03xmwhapv0b2qj661iaqqrvhxc7qiid0acrp6rj85824ha2pyyj8"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1293,7 +1295,7 @@ coloring, and many more.")))
 (define-public qtgamepad
   (package (inherit qtsvg)
     (name "qtgamepad")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1302,7 +1304,7 @@ coloring, and many more.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "150y7bc755l9y8w7nkg3gfw5n6rlj9hhq0ibc9g1xgllpr18qqq7"))))
+               "00wd3h465waxdghg2vdhs5pkj0xikwjn88l12477dksm8zdslzgp"))))
     (native-inputs
      `(("perl" ,perl)
        ("pkg-config" ,pkg-config)))
@@ -1323,7 +1325,7 @@ and mobile applications targeting TV-like form factors.")))
 (define-public qtscxml
   (package (inherit qtsvg)
     (name "qtscxml")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1332,7 +1334,7 @@ and mobile applications targeting TV-like form factors.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1dpvjkvwc3fj86vay8q8vzym73cix7ri2ianx87ck0gqjny51adg"))
+               "141pfschv6zmcvvn3pi7f5vb4nf96zpngy80f9bly1sn58syl303"))
              (modules '((guix build utils)))
              (snippet
               '(begin
@@ -1354,7 +1356,7 @@ also contains functionality to support data models and executable content.")))
 (define-public qtpurchasing
   (package (inherit qtsvg)
     (name "qtpurchasing")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1363,7 +1365,7 @@ also contains functionality to support data models and executable content.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0xjsn7p629ni68vk4xlw2cvcs53ipcqv1pa4hck0nabddcgcnzkg"))))
+               "0lg8x7g7dkf95xwxq8b4yw4ypdz68igkscya96xwbklg3q08gc39"))))
     (inputs
      `(("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)))
@@ -1371,49 +1373,10 @@ also contains functionality to support data models and executable content.")))
     (description "The Qt Purchasing module provides and in-app API for
 purchasing goods and services.")))
 
-(define-public qtcanvas3d
-  (package (inherit qtsvg)
-    (name "qtcanvas3d")
-    (version "5.12.7")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append "https://download.qt.io/official_releases/qt/"
-                                 (version-major+minor version) "/" version
-                                 "/submodules/" name "-everywhere-src-"
-                                 version ".tar.xz"))
-             (sha256
-              (base32
-               "0l0c1p6jwz5rygyxslfw7jw3wbd23w5n9zg04aqlh5g15qx52fmn"))
-             (modules '((guix build utils)))
-             (snippet
-              '(begin
-                 (delete-file-recursively "examples/canvas3d/3rdparty")
-                 #t))))
-    (arguments
-     (substitute-keyword-arguments (package-arguments qtsvg)
-      ;; Building the tests depends on the bundled 3rd party javascript files,
-      ;; and the test phase fails to import QtCanvas3D, causing the phase to
-      ;; fail, so we skip building them for now.
-      ((#:phases phases)
-       `(modify-phases ,phases
-         (replace 'configure
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (invoke "qmake" "QT_BUILD_PARTS = libs tools"
-                       (string-append "PREFIX=" out)))))))
-       ((#:tests? _ #f) #f))) ; TODO: Enable the tests
-    (native-inputs `())
-    (inputs
-     `(("qtbase" ,qtbase)
-       ("qtdeclarative" ,qtdeclarative)))
-    (synopsis "Qt Canvas 3D module")
-    (description "The Qt Canvas 3D module provides a way to make WebGL-like 3D
-drawing calls from Qt Quick JavaScript.")))
-
 (define-public qtcharts
   (package (inherit qtsvg)
     (name "qtcharts")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1422,7 +1385,7 @@ drawing calls from Qt Quick JavaScript.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0pyg2lpxmhf4amj57zihp5ry0y9m39xq5hbcx4hqj78bdm96ah23"))))
+               "1drvm15i6n10b6a1acgarig120ppvqh3r6fqqdn8i3blx81m5cmd"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1440,7 +1403,7 @@ selecting one of the charts themes.")
 (define-public qtdatavis3d
   (package (inherit qtsvg)
     (name "qtdatavis3d")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1449,7 +1412,7 @@ selecting one of the charts themes.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "09wbv4g29sq5z2fphk2910albr3iv3l14nch3ml77w6drw9mgzq7"))))
+               "080fkpxg70m3c697wfnkjhca58b7r1xsqd559jzb21985pdh6g3j"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1467,7 +1430,7 @@ customized by using themes or by adding custom items and labels to them.")
 (define-public qtnetworkauth
   (package (inherit qtsvg)
     (name "qtnetworkauth")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1476,7 +1439,7 @@ customized by using themes or by adding custom items and labels to them.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0sspni7zllhspk70yjj2d0li9r4rs3iflnksj8mvjx2yl9qpryyb"))))
+               "0pi6p7bq54kzij2p69cgib7n55k69jsq0yqq09yli645s4ym202g"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:phases phases)
@@ -1496,7 +1459,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt.")))
 (define-public qtremoteobjects
   (package (inherit qtsvg)
     (name "qtremoteobjects")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1505,7 +1468,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "03qjj7l63wn1zqkmlja9yrnc38rf6b3apnmsn0kw0h61x72awskd"))))
+               "1mhlws5w0igf5hw0l90p6dz6k7w16dqfbnk2li0zxdmayk2039m6"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:phases phases)
@@ -1516,6 +1479,10 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt.")))
                (substitute* "tests/auto/qml/qml.pro"
                  (("integration") "# integration")
                  (("usertypes") "# usertypes"))
+               ;; disable failing tests: they need network
+               (substitute* "tests/auto/auto.pro"
+                 (("integration_multiprocess proxy_multiprocess integration_external restart")
+                   "integration_multiprocess"))
                #t))))))
     (inputs
      `(("qtbase" ,qtbase)
@@ -1529,7 +1496,7 @@ processes or computers.")))
 (define-public qtspeech
   (package (inherit qtsvg)
     (name "qtspeech")
-    (version "5.12.7")
+    (version "5.14.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1538,7 +1505,7 @@ processes or computers.")))
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0q30m9l28zsdzdmny7wjskd2fjfrgh1l595wir6bhwhil95g3i0c"))))
+               "1nn6kspbp8hfkz1jhzc1qx1m9z7r1bgkdqgi9n4vl1q25yk8x7jy"))))
 
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
@@ -1573,7 +1540,7 @@ message.")))
                            version ".tar.xz"))
        (sha256
         (base32
-         "1yj6pcj945fpbc7nihav0plxpx8ikylmxjy7wqdv5znslgf59dw3"))
+         "0iy9lsl6zxlkca6x2p1506hbj3wmhnaipg23z027wfccbnkxcsg1"))
        (modules '((ice-9 ftw)
                   (ice-9 match)
                   (srfi srfi-1)
@@ -1582,7 +1549,8 @@ message.")))
        (snippet
         '(begin
            (let ((preserved-third-party-files
-                  '("base/third_party/dmg_fp"
+                  '("base/third_party/cityhash"
+                    "base/third_party/dmg_fp"
                     "base/third_party/dynamic_annotations"
                     "base/third_party/icu"
                     "base/third_party/libevent"
@@ -1591,23 +1559,31 @@ message.")))
                     "base/third_party/symbolize"
                     "base/third_party/xdg_mime"
                     "base/third_party/xdg_user_dirs"
-                    "net/third_party/http2"
                     "net/third_party/mozilla_security_manager"
                     "net/third_party/nss"
-                    "net/third_party/spdy"
-                    "net/third_party/quic"
+                    "net/third_party/quiche"
+                    "net/third_party/uri_template"
                     "third_party/abseil-cpp"
                     "third_party/angle"
                     "third_party/angle/src/common/third_party/base"
                     "third_party/angle/src/common/third_party/smhasher"
+                    "third_party/angle/src/common/third_party/xxhash"
                     "third_party/angle/src/third_party/compiler"
+                    "third_party/axe-core"
                     "third_party/blink"
                     "third_party/boringssl"
                     "third_party/boringssl/src/third_party/fiat"
+                    "third_party/boringssl/src/third_party/sike"
+                    "third_party/boringssl/linux-x86_64/crypto/third_party/sike"
+                    "third_party/boringssl/linux-aarch64/crypto/third_party/sike"
                     "third_party/breakpad"
                     "third_party/brotli"
                     "third_party/ced"
+                    "third_party/cld_3"
                     "third_party/crc32c"
+                    "third_party/dav1d"
+                    "third_party/dawn"
+                    "third_party/emoji-segmenter"
                     "third_party/ffmpeg"
                     "third_party/googletest"
                     "third_party/hunspell"
@@ -1615,11 +1591,13 @@ message.")))
                     "third_party/icu"
                     "third_party/inspector_protocol"
                     "third_party/jinja2"
+                    "third_party/jsoncpp"
                     "third_party/jstemplate"
                     "third_party/khronos"
                     "third_party/leveldatabase"
                     "third_party/libaddressinput"
                     "third_party/libjingle_xmpp"
+                    "third_party/libjpeg"
                     "third_party/libpng"
                     "third_party/libsrtp"
                     "third_party/libsync"
@@ -1632,11 +1610,15 @@ message.")))
                     "third_party/libyuv"
                     "third_party/lss"
                     "third_party/markupsafe"
-                    "third_party/mesa"
+                    "third_party/mesa_headers"
                     "third_party/metrics_proto"
                     "third_party/modp_b64"
+                    "third_party/nasm"
+                    "third_party/one_euro_filter"
                     "third_party/opus"
                     "third_party/ots"
+                    "third_party/perfetto"
+                    "third_party/pffft"
                     "third_party/ply"
                     "third_party/polymer"
                     "third_party/protobuf"
@@ -1644,14 +1626,25 @@ message.")))
                     "third_party/re2"
                     "third_party/rnnoise"
                     "third_party/skia"
+                    "third_party/skia/include/third_party/skcms/skcms.h"
+                    "third_party/skia/include/third_party/vulkan"
                     "third_party/skia/third_party/gif"
                     "third_party/skia/third_party/skcms"
+                    "third_party/skia/third_party/vulkanmemoryallocator"
                     "third_party/smhasher"
                     "third_party/snappy"
                     "third_party/sqlite"
+                    "third_party/usb_ids"
                     "third_party/usrsctp"
                     "third_party/web-animations-js"
                     "third_party/webrtc"
+                    "third_party/webrtc/common_audio/third_party/fft4g"
+                    "third_party/webrtc/common_audio/third_party/spl_sqrt_floor"
+                    "third_party/webrtc/modules/third_party/fft"
+                    "third_party/webrtc/modules/third_party/g711"
+                    "third_party/webrtc/modules/third_party/g722"
+                    "third_party/webrtc/rtc_base/third_party/base64"
+                    "third_party/webrtc/rtc_base/third_party/sigslot"
                     "third_party/webrtc_overrides"
                     "third_party/widevine/cdm/widevine_cdm_common.h"
                     "third_party/widevine/cdm/widevine_cdm_version.h"
@@ -1661,7 +1654,8 @@ message.")))
                     "url/third_party/mozilla"
                     "v8/src/third_party/utf8-decoder"
                     "v8/src/third_party/valgrind"
-                    "v8/third_party/antlr4"
+                    "v8/src/third_party/siphash"
+                    "v8/third_party/v8/builtins"
                     "v8/third_party/inspector_protocol"))
                  (protected (make-regexp "\\.(gn|gyp)i?$")))
              (define preserved-club
@@ -1690,9 +1684,9 @@ message.")))
                        (list (string-join (list-head dirs delim) "/"))
                        (list-tail dirs delim))))
              (define (remove-loudly file)
-                (format #t "deleting ~a...~%" file)
-                (force-output)
-                (delete-file file))
+               (format #t "deleting ~a...~%" file)
+               (force-output)
+               (delete-file file))
              (define (delete-unwanted-files child stat flag base level)
                (match flag
                  ((or 'regular 'symlink 'stale-symlink)
@@ -1733,6 +1727,12 @@ message.")))
                  (substitute*
                      "third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.h"
                    (("third_party/curl") "curl"))
+                 (substitute*
+                     '("components/viz/common/gpu/vulkan_context_provider.h"
+                       "components/viz/common/resources/resource_format_utils.h"
+                       "gpu/config/gpu_util.cc")
+                   (("third_party/vulkan/include/")
+                    ""))
 
                  ;; Replace Google Analytics bundle with an empty file and hope
                  ;; no one notices.
@@ -1741,9 +1741,8 @@ message.")))
                      "third_party/analytics/google-analytics-bundle.js"
                    (lambda (port)
                      (const #t)))))
-
              ;; Do not enable support for loading the Widevine DRM plugin.
-             (substitute* "src/core/config/common.pri"
+             (substitute* "src/buildtools/config/common.pri"
                (("enable_widevine=true")
                 "enable_widevine=false"))
              #t)))))
@@ -1774,8 +1773,6 @@ message.")))
        ("libgcrypt" ,libgcrypt)
        ("libjpeg" ,libjpeg-turbo)
        ("libvpx" ,libvpx)
-       ;; FIXME: configure does not find system lcms
-       ;; ("lcms" ,lcms)
        ("libwebp" ,libwebp)
        ("libx11" ,libx11)
        ("libxcb" ,libxcb)
@@ -1806,6 +1803,7 @@ message.")))
        ("snappy" ,snappy)
        ("udev" ,eudev)
        ("valgrind" ,valgrind)
+       ("vulkan-headers" ,vulkan-headers)
        ("xcb-util" ,xcb-util)))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
@@ -1889,7 +1887,7 @@ and binaries removed, and adds modular support for using system libraries.")
 (define-public python-sip
   (package
     (name "python-sip")
-    (version "4.19.18")
+    (version "4.19.22")
     (source
       (origin
         (method url-fetch)
@@ -1897,13 +1895,16 @@ and binaries removed, and adds modular support for using system libraries.")
                             "Downloads/sip/" version "/sip-" version ".tar.gz"))
         (sha256
          (base32
-          "07kyd56xgbb40ljb022rq82shgxprlbl0z27mpf1b6zd00w8dgf0"))))
+          "0idywc326l8v1m3maprg1aq2gph67mmnnsskvlwfx8n19s16idz1"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("python" ,python-wrapper)))
     (arguments
      `(#:tests? #f ; no check target
+       #:imported-modules ((guix build python-build-system)
+                           ,@%gnu-build-system-modules)
        #:modules ((srfi srfi-1)
+                  ((guix build python-build-system) #:select (python-version))
                   ,@%gnu-build-system-modules)
        #:phases
        (modify-phases %standard-phases
@@ -1913,14 +1914,8 @@ and binaries removed, and adds modular support for using system libraries.")
                     (bin (string-append out "/bin"))
                     (include (string-append out "/include"))
                     (python (assoc-ref inputs "python"))
-                    (python-version
-                      (last (string-split python #\-)))
-                    (python-major+minor
-                      (string-join
-                        (take (string-split python-version #\.) 2)
-                        "."))
                     (lib (string-append out "/lib/python"
-                                        python-major+minor
+                                        (python-version python)
                                         "/site-packages")))
                (invoke "python" "configure.py"
                        "--bindir" bin
@@ -1950,18 +1945,21 @@ module provides support functions to the automatically generated code.")
 (define-public python-pyqt
   (package
     (name "python-pyqt")
-    (version "5.12.3")
+    (version "5.14.2")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "https://www.riverbankcomputing.com/static/"
-                            "Downloads/PyQt5/" version "/PyQt5_gpl-"
-                            version ".tar.gz"))
+        ;; PyPI is the canonical distribution point of PyQt.  Older
+        ;; releases are available from the web site.
+        (uri (list (pypi-uri "PyQt5" version)
+                   (string-append "https://www.riverbankcomputing.com/static/"
+                                  "Downloads/PyQt5/" version "/PyQt5-"
+                                  version ".tar.gz")))
+        (file-name (string-append "PyQt5-"version ".tar.gz"))
         (sha256
          (base32
-          "041155bdzp57jy747p5d59740c55yy3241cy1x2lgcdsvqvzmc0d"))
+          "1c4y4qi1l540gd125ikj0al00k5pg65kmqaixcfbzslrsrphq8xx"))
        (patches (search-patches "pyqt-configure.patch"
-                                "pyqt-unbundled-qt.patch"
                                 "pyqt-public-sip.patch"))))
     (build-system gnu-build-system)
     (native-inputs
@@ -1986,7 +1984,10 @@ module provides support functions to the automatically generated code.")
        ("qtxmlpatterns" ,qtxmlpatterns)))
     (arguments
      `(#:modules ((srfi srfi-1)
+                  ((guix build python-build-system) #:select (python-version))
                   ,@%gnu-build-system-modules)
+       #:imported-modules ((guix build python-build-system)
+                           ,@%gnu-build-system-modules)
        #:phases
        (modify-phases %standard-phases
          ;; When building python-pyqtwebengine, <qprinter.h> can not be
@@ -2009,14 +2010,8 @@ module provides support functions to the automatically generated code.")
                     (designer (string-append plugins "/designer"))
                     (qml (string-append plugins "/PyQt5"))
                     (python (assoc-ref inputs "python"))
-                    (python-version
-                      (last (string-split python #\-)))
-                    (python-major+minor
-                      (string-join
-                        (take (string-split python-version #\.) 2)
-                        "."))
                     (lib (string-append out "/lib/python"
-                                        python-major+minor
+                                        (python-version python)
                                         "/site-packages"))
                     (stubs (string-append lib "/PyQt5")))
                (invoke "python" "configure.py"
@@ -2042,16 +2037,19 @@ contain over 620 classes.")
 (define-public python-pyqtwebengine
   (package
     (name "python-pyqtwebengine")
-    (version "5.12.1")
+    (version "5.14.0")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "https://www.riverbankcomputing.com/static/Downloads/PyQtWebEngine/"
-            version "/PyQtWebEngine_gpl-" version ".tar.gz"))
+       ;; The newest releases are only available on PyPI.  Older ones
+       ;; are mirrored at the upstream home page.
+       (uri (list (pypi-uri "PyQtWebEngine" version)
+                  (string-append "https://www.riverbankcomputing.com/static"
+                                 "/Downloads/PyQtWebEngine/" version
+                                 "/PyQtWebEngine-" version ".tar.gz")))
        (sha256
         (base32
-         "0wylkd7fh2g27y3710rpxmj9wx0wpi3z7qbv6khiddm15rkh81w6"))))
+         "14hw49akb35n9pgiw564x8ykmsifihn9p2ax2x4zmywb3w2ra5g1"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("python" ,python)
@@ -2066,7 +2064,6 @@ contain over 620 classes.")
        ("qtsvg" ,qtsvg)
        ("qtdeclarative" ,qtdeclarative)
        ("qtwebchannel" ,qtwebchannel)
-       ("python-pyqt" ,python-pyqt)
        ("qtwebengine" ,qtwebengine)))
     (arguments
      `(#:modules ((srfi srfi-1)
@@ -2133,6 +2130,9 @@ itself.")
 (define-public python2-pyqt
   (package (inherit python-pyqt)
     (name "python2-pyqt")
+    (propagated-inputs
+     `(("python-enum34" ,python2-enum34)
+       ("python-sip" ,python2-sip)))
     (native-inputs
      `(("python-sip" ,python2-sip)
        ("qtbase" ,qtbase)))
@@ -2141,6 +2141,25 @@ itself.")
        ("python2-enum34" ,python2-enum34)
        ,@(alist-delete "python" (package-inputs python-pyqt))))))
 
+(define-public python2-pyqtwebengine
+  (package/inherit
+   python-pyqtwebengine
+   (name "python2-pyqtwebengine")
+   (native-inputs
+    `(("python" ,python-2)
+      ("python-sip" ,python2-sip)
+      ;; qtbase is required for qmake
+      ("qtbase" ,qtbase)))
+   (inputs
+    `(("python" ,python-2)
+      ("python-sip" ,python2-sip)
+      ("python-pyqt" ,python2-pyqt)
+      ("qtbase" ,qtbase)
+      ("qtsvg" ,qtsvg)
+      ("qtdeclarative" ,qtdeclarative)
+      ("qtwebchannel" ,qtwebchannel)
+      ("qtwebengine" ,qtwebengine)))))
+
 (define-public python2-pyqt-4
   (package (inherit python-pyqt)
     (name "python2-pyqt")
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 5d0521a216..132a17810c 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -245,18 +245,8 @@ provides defaults for 80% of the use cases.")
                 (install-file manpage (string-append
                                         (assoc-ref outputs "out")
                                         "/share/man/man1"))))
-             #t))
-         (replace 'install
-           ;; Adapted from (guix build cargo-build-system). The flags need to
-           ;; be passed to `cargo install' too, as otherwise it will build
-           ;; another binary, without the features.
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (mkdir-p out)
-               (setenv "CARGO_TARGET_DIR" "./target")
-               (invoke "cargo" "install" "--path" "." "--root" out
-                       "--features" "pcre2")))))
-       #:cargo-build-flags '("--release" "--features" "pcre2")))
+             #t)))
+       #:features '("pcre2")))
     (native-inputs
      `(("asciidoc" ,asciidoc)
        ("pcre2" ,pcre2)
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 62d2591254..d139657f39 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1183,4 +1183,4 @@ move around."
                  (generate-all-checksums "vendor")
                  #t)))))))))
 
-(define-public rust rust-1.37)
+(define-public rust rust-1.39)
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index e1df075bf3..8f9f2ed2a4 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -357,7 +357,7 @@ and other operations.  It includes a library and a command-line tool.")
                                               (assoc-ref %outputs "out")
                                               "/lib/udev/rules.d"))))
     (inputs
-     `(("json-c" ,json-c)
+     `(("json-c" ,json-c-0.13)
        ("libusb" ,libusb)
        ;; The library "libyubikey" is also known as "yubico-c".
        ("libyubikey" ,libyubikey)))
@@ -457,7 +457,7 @@ PCSC API Python wrapper module.")
                                "/xml/dtd/docbook/docbookx.dtd")))
              #t)))))
     (inputs
-     `(("json-c" ,json-c)
+     `(("json-c" ,json-c-0.13)
        ("hidapi" ,hidapi)))
     (native-inputs
      `(("help2man" ,help2man)
@@ -497,7 +497,7 @@ operations.")
        (list "--enable-gtk-doc"
              "--enable-tests")))
     (inputs
-     `(("json-c" ,json-c)
+     `(("json-c" ,json-c-0.13)
        ("libressl" ,libressl)))
     (native-inputs
      `(("autoconf" ,autoconf)
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index 3bb461dca8..da3f852c05 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -65,7 +65,7 @@
        ("asciidoc" ,asciidoc)))
     (inputs
      `(("curl" ,curl)
-       ("json-c" ,json-c)
+       ("json-c" ,json-c-0.13)
        ("libxml2" ,libxml2)
        ("ncurses" ,ncurses)
        ("stfl" ,stfl)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 18244c368a..16136b7662 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -845,7 +845,7 @@ libebml is a C++ library to read and write EBML files.")
 (define-public libva
   (package
     (name "libva")
-    (version "2.6.1")
+    (version "2.7.1")
     (source
      (origin
        (method url-fetch)
@@ -857,7 +857,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 "19df3r02k1p4cbyvifkdjyc8q7hi23f5b3x3390z52l25mjfnmvc"))))
+        (base32 "014av7ayyc624xfmr63xhbgg7nw8fynsswj1g2wmk4lnkyfz23x0"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 6a2c219aac..d5f5be6816 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,7 +43,7 @@
 (define-public spirv-headers
   (package
     (name "spirv-headers")
-    (version "1.3.7")
+    (version "1.5.3")
     (source
      (origin
        (method git-fetch)
@@ -51,18 +52,11 @@
              (commit version)))
        (sha256
         (base32
-         "0m56smanfcczjfif4yfcqhjj4d4sc088kwg6dgia8fwdsjavdm4d"))
-      (file-name (git-file-name name version))))
+         "069sivqajp7z4p44lmrz23lvf237xpkjxd4lzrg27836pwqcz9bj"))
+       (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f ;; No tests
-       #:phases (modify-phases %standard-phases
-                  (replace 'install
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (invoke "cmake" "-E" "copy_directory"
-                                      "../source/include/spirv"
-                                      (string-append (assoc-ref outputs "out")
-                                                     "/include/spirv")))))))
+     `(#:tests? #f))                    ;no tests
     (home-page "https://github.com/KhronosGroup/SPIRV-Headers")
     (synopsis "Machine-readable files from the SPIR-V Registry")
     (description
@@ -81,7 +75,7 @@ and for the GLSL.std.450 extended instruction set.
 (define-public spirv-tools
   (package
     (name "spirv-tools")
-    (version "2019.2")
+    (version "2020.2")
     (source
      (origin
       (method git-fetch)
@@ -89,13 +83,14 @@ and for the GLSL.std.450 extended instruction set.
             (url "https://github.com/KhronosGroup/SPIRV-Tools")
             (commit (string-append "v" version))))
       (sha256
-       (base32 "0zwz6qg8g8165h7cw52agryjrdb29gbmsbziw3pwiddfkyma8vvg"))
+       (base32 "00b7xgyrcb2qq63pp3cnw5q1xqx2d9rfn65lai6n6r89s1vh3vg6"))
       (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f ; FIXME: Tests fail.
-       #:configure-flags (list (string-append "-DSPIRV-Headers_SOURCE_DIR="
-                               (assoc-ref %build-inputs "spirv-headers")))))
+     `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
+                               (string-append
+                                "-DSPIRV-Headers_SOURCE_DIR="
+                                (assoc-ref %build-inputs "spirv-headers")))))
     (inputs `(("spirv-headers" ,spirv-headers)))
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("python" ,python)))
@@ -110,7 +105,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
 (define-public glslang
   (package
     (name "glslang")
-    (version "7.11.3214")
+    (version "8.13.3743")
     (source
      (origin
        (method git-fetch)
@@ -119,21 +114,15 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
              (commit version)))
        (sha256
         (base32
-         "0dqjga0lcza006fhac26zp2plbq4gx8a6nsmrwkqlzji6lw1jins"))
+         "0d20wfpp2fmbnz1hnsjr9xc62lxpj86ik2qyviqbni0pqj212cry"))
        (file-name (string-append name "-" version "-checkout"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f ;; No tests
-       ;; glslang tries to set CMAKE_INSTALL_PREFIX manually. Remove the
-       ;; offending line.
-       #:phases (modify-phases %standard-phases
-                  (add-after 'patch-source-shebangs 'fix-cmakelists
-                    (lambda _
-                      (substitute* "CMakeLists.txt"
-                        (("set.*CMAKE_INSTALL_PREFIX.*") ""))
-                      #t)))))
-    (native-inputs `(("bison" ,bison)
-                     ("pkg-config" ,pkg-config)))
+     '(#:tests? #f                      ;FIXME: requires bundled SPIRV-Tools
+       #:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python)))
     (home-page "https://github.com/KhronosGroup/glslang")
     (synopsis "OpenGL and OpenGL ES shader front end and validator")
     (description
@@ -149,7 +138,7 @@ interpretation of the specifications for these languages.")
 (define-public vulkan-headers
   (package
     (name "vulkan-headers")
-    (version "1.1.121")
+    (version "1.2.141")
     (source
      (origin
        (method git-fetch)
@@ -159,7 +148,7 @@ interpretation of the specifications for these languages.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0hbgbdxj7lrm37phb0pkq5zgss3h21znj3mivnyva5f60i2wgr73"))))
+         "10nmx6y4llllfcczyfz76amd0vkqv09dj952d19zkzmmgcval7zq"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f))                    ; No tests.
@@ -173,7 +162,7 @@ interpretation of the specifications for these languages.")
 (define-public vulkan-loader
   (package
     (name "vulkan-loader")
-    (version (package-version vulkan-headers))
+    (version "1.2.140")
     (source
      (origin
        (method git-fetch)
@@ -183,26 +172,32 @@ interpretation of the specifications for these languages.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1gbrppfxrncvva30fikgzm7f15xs527sb4lf1sswdyxj3h5cw741"))))
+         "0rhyz0qgp0i7pcx6wlvgwy7j33d4cs0xx39f0b6igpfk0vk70r1w"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f ;FIXME: 23/39 tests fail.  Try "tests/run_all_tests.sh".
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'remove-spirv-tools-commit-id
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; Remove lines trying to build in a git commit id.
-             (substitute* "CMakeLists.txt" ((".*spirv_tools_commit_id.h.*") ""))
-             #t)))
-       #:configure-flags (list
-                          "-DBUILD_TESTS=OFF" ; FIXME: Needs 'googletest' submodule.
-                          (string-append "-DCMAKE_INSTALL_LIBDIR="
-                                         (assoc-ref %outputs "out") "/lib"))))
-    (native-inputs `(("libxrandr" ,libxrandr)
-                     ("pkg-config" ,pkg-config)
-                     ("python" ,python)
-                     ("vulkan-headers" ,vulkan-headers)
-                     ("wayland" ,wayland)))
+     `(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'unpack-googletest
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (let ((gtest (assoc-ref inputs "googletest:source")))
+                        (when gtest
+                          (copy-recursively gtest "external/googletest"))
+                        #t)))
+                  (add-after 'unpack 'disable-loader-tests
+                    (lambda _
+                      ;; Many tests require a Vulkan driver.  Skip those.
+                      (substitute* "tests/loader_validation_tests.cpp"
+                        ((".*= vkCreateInstance.*" all)
+                         (string-append "GTEST_SKIP();\n" all))
+                        (("TEST_F.*InstanceExtensionEnumerated.*" all)
+                         (string-append all "\nGTEST_SKIP();\n")))
+                      #t)))))
+    (native-inputs
+     `(("googletest:source" ,(package-source googletest))
+       ("libxrandr" ,libxrandr)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python)
+       ("vulkan-headers" ,vulkan-headers)
+       ("wayland" ,wayland)))
     (home-page
      "https://github.com/KhronosGroup/Vulkan-Loader")
     (synopsis "Khronos official ICD loader and validation layers for Vulkan")
@@ -221,7 +216,7 @@ and the ICD.")
 (define-public vulkan-tools
   (package
     (name "vulkan-tools")
-    (version (package-version vulkan-headers))
+    (version "1.2.140")
     (source
      (origin
        (method git-fetch)
@@ -231,7 +226,7 @@ and the ICD.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1jndlz3n35zlz44p1b4cgl2alvsmgrqnkxdn5mpahg0zb8dgwmm8"))))
+         "08dk0q77kpycn4vv19jh3ig73gbq3psan246a7fss0nfxpiddg0j"))))
     (build-system cmake-build-system)
     (inputs
      `(("glslang" ,glslang)
@@ -243,7 +238,7 @@ and the ICD.")
        ("python" ,python)
        ("vulkan-headers" ,vulkan-headers)))
     (arguments
-     `(#:tests? #f                      ; No tests.
+     `(#:tests? #f                      ;no tests
        #:configure-flags (list (string-append "-DGLSLANG_INSTALL_DIR="
                                (assoc-ref %build-inputs "glslang")))))
     (home-page
@@ -258,7 +253,7 @@ API.")
 (define-public shaderc
   (package
     (name "shaderc")
-    (version "2019.0")
+    (version "2020.0")
     (source
      (origin
        (method git-fetch)
@@ -268,56 +263,42 @@ API.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1l5mmyxhzsbp0a6y2d86i8jmf46c6bjgjkdgkr5l8hmhflmm7gi2"))))
-    (build-system meson-build-system)
+         "1kqqvsvib01bsmfbdy3fbwwpvkcdlfb6k71kjvzb3crql7w0rxff"))))
+    (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f ; FIXME: Tests fail.
+     `(;; FIXME: Skip most of the tests, because enabling system gtest breaks
+       ;; the build: <https://github.com/google/shaderc/issues/470>.
+       #:configure-flags '("-DSHADERC_SKIP_TESTS=ON")
        #:phases
        (modify-phases %standard-phases
-         (replace 'configure
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               ;; Remove various lines and touch build-version.inc or
-               ;; configuring won't work.
-               (invoke "touch" "glslc/src/build-version.inc")
-               (substitute* "CMakeLists.txt" (("..PYTHON_EXE..*") ""))
-               (substitute* "CMakeLists.txt"
-                 ((".*update_build_version.py..*") ""))
-               (substitute* "CMakeLists.txt"
-                 ((".*add_custom_target.build-version.*") ""))
-               (substitute* "CMakeLists.txt"
-                 ((".*spirv-tools_SOURCE_DIR.*glslang_SOURCE_DIR.*")
-                  ""))
-               (substitute* "CMakeLists.txt"
-                 ((".*Update build-version.inc.*") ""))
-               (substitute* "CMakeLists.txt" ((".*--check.*") ""))
-               (substitute* "glslc/src/main.cc" ((".*build-version.inc.*")
-                                                 "\"1\""))
-               (invoke "cmake" "-GNinja" "-DCMAKE_BUILD_TYPE=Release"
-                       "-DSHADERC_SKIP_TESTS=ON"
-                       "-DCMAKE_INSTALL_LIBDIR=lib"
-                       (string-append "-DCMAKE_INSTALL_PREFIX="
-                                      out)))))
-         (add-after 'unpack 'unpack-sources
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((spirv-tools-source (assoc-ref inputs "spirv-tools-source"))
-                   (spirv-headers-source (assoc-ref inputs "spirv-headers-source"))
-                   (glslang-source (assoc-ref inputs "glslang-source")))
-               (copy-recursively spirv-tools-source "third_party/spirv-tools")
-               (copy-recursively spirv-headers-source
-                                 (string-append "third_party/spirv-tools"
-                                                "/external/spirv-headers"))
-               (copy-recursively glslang-source "third_party/glslang")
-               #t))))))
+         (add-after 'unpack 'do-not-look-for-bundled-sources
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               (("add_subdirectory\\(third_party\\)")
+                ""))
+
+             (substitute* "glslc/test/CMakeLists.txt"
+               (("\\$<TARGET_FILE:spirv-dis>")
+                (which "spirv-dis")))
+
+             ;; Do not attempt to use git to encode version information.
+             (substitute* "glslc/CMakeLists.txt"
+               (("add_dependencies\\(glslc_exe build-version\\)")
+                ""))
+             (call-with-output-file "glslc/src/build-version.inc"
+               (lambda (port)
+                 (format port "\"~a\"\n\"~a\"\n\"~a\"~%"
+                         ,version
+                         ,(package-version spirv-tools)
+                         ,(package-version glslang))))
+             #t)))))
     (inputs
-     `(("googletest" ,googletest)
-       ("python" ,python)))
+     `(("glslang" ,glslang)
+       ("python" ,python)
+       ("spirv-headers" ,spirv-headers)
+       ("spirv-tools" ,spirv-tools)))
     (native-inputs
-     `(("cmake" ,cmake-minimal)
-       ("glslang-source" ,(package-source glslang))
-       ("pkg-config" ,pkg-config)
-       ("spirv-headers-source" ,(package-source spirv-headers))
-       ("spirv-tools-source" ,(package-source spirv-tools))))
+     `(("pkg-config" ,pkg-config)))
     (home-page "https://github.com/google/shaderc")
     (synopsis "Tools for shader compilation")
     (description "Shaderc is a collection of tools, libraries, and tests for
@@ -341,7 +322,16 @@ shader compilation.")
        (file-name (string-append name "-" version "-checkout"))))
      (build-system gnu-build-system)
      (arguments
-      `(#:configure-flags '("--with-spirv-tools")))
+      `(#:configure-flags '("--with-spirv-tools")
+        #:phases (modify-phases %standard-phases
+                   (add-after 'unpack 'patch-for-new-vulkan
+                     (lambda _
+                       ;; Mimic upstream commit 8e7bf8a5c3e0047 for
+                       ;; compatibility with newer vulkan-headers.
+                       (substitute* "libs/vkd3d/vkd3d_private.h"
+                         (("VK_PIPELINE_BIND_POINT_RANGE_SIZE")
+                          "2u"))
+                       #t)))))
      (native-inputs
       `(("autoconf" ,autoconf)
         ("automake" ,automake)
diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm
index 1ec07675ab..934a6d9e38 100644
--- a/gnu/packages/w3m.scm
+++ b/gnu/packages/w3m.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,7 +40,7 @@
 (define-public w3m
   (package
     (name "w3m")
-    (version "0.5.3+git20190105")
+    (version "0.5.3+git20200502")
     (source (origin
               (method git-fetch)
               ;; Debian's fork of w3m is the only one that is still maintained.
@@ -49,7 +50,7 @@
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1fbg2p8qh2gvi3g4iz4q6vc0k70pf248r4yndi5lcn2m3mzvjx0i"))))
+                "0yyfhwcwy1dvdbirj6zqwk4gl8z9npfavs0k7ipcg5fd16vnx7mi"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f  ; no check target
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f6a0fc2e44..8d1c668b8e 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -769,7 +769,7 @@ data.")
 (define-public json-c
   (package
     (name "json-c")
-    (version "0.13.1")
+    (version "0.14")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -777,7 +777,29 @@ data.")
                    version ".tar.gz"))
              (sha256
               (base32
-               "0ws8dz9nk8q2c0gbf66kg2r6mrkl7kamd3gpdv9zsyrz9n6n0zmq"))
+               "0w381krr99q5a2rypx4g437fa7gzgl82i64sgnrs6g5jr44dwxxk"))))
+    (build-system cmake-build-system)
+    (home-page "https://github.com/json-c/json-c/wiki")
+    (synopsis "JSON implementation in C")
+    (description
+     "JSON-C implements a reference counting object model that allows you to
+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 license:x11)))
+
+;; TODO: Remove these old versions when all dependents have been updated.
+(define-public json-c-0.13
+  (package
+    (inherit json-c)
+    (version "0.13.1")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
+                   version ".tar.gz"))
+             (sha256
+              (base32 "0ws8dz9nk8q2c0gbf66kg2r6mrkl7kamd3gpdv9zsyrz9n6n0zmq"))
              (modules '((guix build utils)))
              (snippet
               '(begin
@@ -787,20 +809,11 @@ data.")
                  (set-file-time "config.h.in"
                                 (stat "aclocal.m4"))
                  #t))))
-    (build-system gnu-build-system)
-    (home-page "https://github.com/json-c/json-c/wiki")
-    (synopsis "JSON implementation in C")
-    (description
-     "JSON-C implements a reference counting object model that allows you to
-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 license:x11)))
+    (build-system gnu-build-system)))
 
-;; TODO: remove this old version when all dependents have been updated.
 (define-public json-c-0.12
   (package
-    (inherit json-c)
+    (inherit json-c-0.13)
     (version "0.12.1")
     (source (origin
              (method url-fetch)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index d4acd90154..7cf8cc9a67 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -495,18 +495,16 @@ rasterisation.")
 (define-public libdrm
   (package
     (name "libdrm")
-    (version "2.4.100")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-               "https://dri.freedesktop.org/libdrm/libdrm-"
-               version
-               ".tar.bz2"))
-        (sha256
-         (base32
-          "0p8a1l3a3s40i81mawm8nhrbk7p97ss05qkawp1yx73c30lchz67"))
-        (patches (search-patches "libdrm-symbol-check.patch"))))
+    (version "2.4.101")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://dri.freedesktop.org/libdrm/libdrm-"
+                    version ".tar.xz"))
+              (sha256
+               (base32
+                "19vqbhqljhln0lrpnv3s7y3lkhsdcp76dl8bhqj3cis9ism1pwyx"))
+              (patches (search-patches "libdrm-realpath-virtio.patch"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags
diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm
index 1e8b3a578e..6c8edf6bac 100644
--- a/guix/build-system/cargo.scm
+++ b/guix/build-system/cargo.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -76,6 +77,7 @@ to NAME and VERSION."
                       (vendor-dir "guix-vendor")
                       (cargo-build-flags ''("--release"))
                       (cargo-test-flags ''("--release"))
+                      (features ''())
                       (skip-build? #f)
                       (phases '(@ (guix build cargo-build-system)
                                   %standard-phases))
@@ -104,6 +106,7 @@ to NAME and VERSION."
                     #:vendor-dir ,vendor-dir
                     #:cargo-build-flags ,cargo-build-flags
                     #:cargo-test-flags ,cargo-test-flags
+                    #:features ,features
                     #:skip-build? ,skip-build?
                     #:tests? ,(and tests? (not skip-build?))
                     #:phases ,phases
diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm
index 1b916af8f9..f8ebaefb27 100644
--- a/guix/build-system/go.scm
+++ b/guix/build-system/go.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Petter <petter@mykolab.ch>
 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -82,6 +83,7 @@
                    (install-source? #t)
                    (import-path "")
                    (unpack-path "")
+                   (build-flags ''())
                    (tests? #t)
                    (allow-go-reference? #f)
                    (system (%current-system))
@@ -109,6 +111,7 @@
                 #:install-source? ,install-source?
                 #:import-path ,import-path
                 #:unpack-path ,unpack-path
+                #:build-flags ,build-flags
                 #:tests? ,tests?
                 #:allow-go-reference? ,allow-go-reference?
                 #:inputs %build-inputs)))
diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm
index 0721989589..95e8dd772a 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
 ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -140,11 +141,14 @@ directory = '" port)
 
 (define* (build #:key
                 skip-build?
+                features
                 (cargo-build-flags '("--release"))
                 #:allow-other-keys)
   "Build a given Cargo package."
   (or skip-build?
-      (apply invoke `("cargo" "build" ,@cargo-build-flags))))
+      (apply invoke "cargo" "build"
+             "--features" (string-join features)
+             cargo-build-flags)))
 
 (define* (check #:key
                 tests?
@@ -152,10 +156,10 @@ directory = '" port)
                 #:allow-other-keys)
   "Run tests for a given Cargo package."
   (if tests?
-      (apply invoke `("cargo" "test" ,@cargo-test-flags))
+      (apply invoke "cargo" "test" cargo-test-flags)
       #t))
 
-(define* (install #:key inputs outputs skip-build? #:allow-other-keys)
+(define* (install #:key inputs outputs skip-build? features #:allow-other-keys)
   "Install a given Cargo package."
   (let* ((out (assoc-ref outputs "out")))
     (mkdir-p out)
@@ -168,7 +172,8 @@ directory = '" port)
     ;; otherwise cargo will raise an error.
     (or skip-build?
         (not (has-executable-target?))
-        (invoke "cargo" "install" "--path" "." "--root" out))))
+        (invoke "cargo" "install" "--path" "." "--root" out
+                "--features" (string-join features)))))
 
 (define %standard-phases
   (modify-phases gnu:%standard-phases
diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm
index 0d15f978cd..b9cb2bfd7b 100644
--- a/guix/build/go-build-system.scm
+++ b/guix/build/go-build-system.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2017, 2019 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -214,18 +215,18 @@ unpacking."
                 (_ #f))
               inputs))))
 
-(define* (build #:key import-path #:allow-other-keys)
+(define* (build #:key import-path build-flags #:allow-other-keys)
   "Build the package named by IMPORT-PATH."
   (with-throw-handler
     #t
     (lambda _
-      (invoke "go" "install"
+      (apply invoke "go" "install"
               "-v" ; print the name of packages as they are compiled
               "-x" ; print each command as it is invoked
               ;; Respectively, strip the symbol table and debug
               ;; information, and the DWARF symbol table.
               "-ldflags=-s -w"
-              import-path))
+              `(,@build-flags ,import-path)))
     (lambda (key . args)
       (display (string-append "Building '" import-path "' failed.\n"
                               "Here are the results of `go env`:\n"))