gnu: r-fields: Update to 11.4.
[jackhill/guix/guix.git] / gnu / packages / kde-frameworks.scm
index 5d3eb0a..d264ca5 100644 (file)
@@ -1,11 +1,13 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016-2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; 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.
 ;;;
@@ -24,6 +26,8 @@
 
 (define-module (gnu packages kde-frameworks)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system qt)
+  #:use-module (guix build-system trivial)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -38,9 +42,9 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages calendar)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
-  #:use-module (gnu packages disk)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freedesktop)
@@ -54,6 +58,7 @@
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages image)
   #:use-module (gnu packages kerberos)
+  #:use-module (gnu packages kde-plasma)
   #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages mp3)
@@ -63,6 +68,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)
@@ -78,7 +84,7 @@
 (define-public extra-cmake-modules
   (package
     (name "extra-cmake-modules")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -87,7 +93,7 @@
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "07pdgjyrxniacqcfvrzw8ij3kasx5pkbq38k6491qbhzfm8vi7y0"))))
+                "10c5xs5shk0dcshpdxg564ay5y8hgmvfvmlhmhjf0dy79kcah3c3"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("qtbase" ,qtbase))) ; For tests (needs qmake)
@@ -139,7 +145,7 @@ common build settings used in software produced by the KDE community.")
 (define-public phonon
   (package
     (name "phonon")
-    (version "4.10.1")
+    (version "4.11.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -148,7 +154,7 @@ common build settings used in software produced by the KDE community.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1dwdw0hm6685psrp7v9frhkhqvsxrbdnm3gw794j5z7g3brqvag5"))))
+                "0bfy8iqmjhlg3ma3iqd3kxjc2zkzpjgashbpf5x17y0dc2i1whxl"))))
     (build-system cmake-build-system)
     (native-inputs
      ;; TODO: Think about adding pulseaudio. Is it required for sound?
@@ -180,7 +186,7 @@ common build settings used in software produced by the KDE community.")
 (define-public phonon-backend-gstreamer
   (package
     (name "phonon-backend-gstreamer")
-    (version "4.9.0")
+    (version "4.10.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -189,11 +195,12 @@ common build settings used in software produced by the KDE community.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1wc5p1rqglf0n1avp55s50k7fjdzdrhg0gind15k8796w7nfbhyf"))))
+                "1wk1ip2w7fkh65zk6rilj314dna0hgsv2xhjmpr5w08xa8sii1y5"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
     (inputs
      `(("qtbase" ,qtbase)
        ("phonon" ,phonon)
@@ -212,38 +219,6 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
     ;; license: source files mention "either version 2.1 or 3"
     (license (list license:lgpl2.1 license:lgpl3))))
 
-(define-public kpmcore
-  (package
-    (name "kpmcore")
-    (version "3.3.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "mirror://kde/stable/kpmcore"
-                    "/" version "/src/"
-                    name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "0s6v0jfrhjg31ri5p6h9n4w29jvasf5dj954j3vfpzl91lygmmmq"))))
-    (build-system cmake-build-system)
-    (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)
-       ("pkg-config" ,pkg-config)))
-    (inputs
-     `(("kconfigwidgets" ,kconfigwidgets)
-       ("kiconthemes" ,kiconthemes)
-       ("kio" ,kio)
-       ("ki18n" ,ki18n)
-       ("kservice" ,kservice)
-       ("libatasmart" ,libatasmart)
-       ("parted" ,parted)
-       ("qtbase" ,qtbase)
-       ("util-linux" ,util-linux)))
-    (home-page "https://community.kde.org/Frameworks")
-    (synopsis "Library for managing partitions")
-    (description "Library for managing partitions.")
-    (license license:gpl3+)))
-
 
 ;; Tier 1
 ;;
@@ -253,7 +228,7 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
 (define-public attica
   (package
     (name "attica")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -262,7 +237,7 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1iqclahs9yzyjnkzbzr8hl9j6q8m2djdm6mix92xwrakgirnl3gn"))))
+                "1njw1sifykyqldb5idaywdzi3xg7a6bvzkrvazwmyixd0npq12dx"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -293,7 +268,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/")
 (define-public bluez-qt
   (package
     (name "bluez-qt")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -302,7 +277,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0mgnq7w52ksr8b7ys2f1m3irnviy011bsaggh489fjy0xlzk5ard"))))
+                "1kqhps4qyvqm0qmk7fb3w41bib898amipchf8csdzacw4bzpri9k"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("dbus" ,dbus)
@@ -326,7 +301,7 @@ Bluetooth stack.  It is used by the KDE Bluetooth stack, BlueDevil.")
 (define-public breeze-icons
   (package
     (name "breeze-icons")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -335,23 +310,8 @@ Bluetooth stack.  It is used by the KDE Bluetooth stack, BlueDevil.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "178620hhqlv6dl8qal2bmiw55s8b3p4h16q8cgkmq5q5i59nzcph"))))
+                "0lqglrjgjb4ralgmr7lb9k7acmn8q4jm18s4p3gbgd9iswyqgsbm"))))
     (build-system cmake-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'add-symlinks
-           ;; Fix "ScalableTest" - FIXME: Remove for > 5.49.0
-           (lambda _
-             (symlink "../22/plasma-browser-integration.svg"
-                      "icons-dark/apps/48/plasma-browser-integration.svg")
-             (symlink "../22/plasma-browser-integration.svg"
-                      "icons-dark/apps/64/plasma-browser-integration.svg")
-             (symlink "../22/plasma-browser-integration.svg"
-                      "icons/apps/48/plasma-browser-integration.svg")
-             (symlink "../22/plasma-browser-integration.svg"
-                      "icons/apps/64/plasma-browser-integration.svg")
-             #t)))))
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("fdupes" ,fdupes)
@@ -367,10 +327,67 @@ It is the default icon theme for the KDE Plasma 5 desktop.")
     ;; text.
     (license license:lgpl3+)))
 
+(define-public breeze-assets
+  (package
+    (inherit breeze-icons)
+    (name "breeze-assets")
+    (version "5.19.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/plasma/" version
+                    "/breeze-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0dpk1w7zcafrzf46j060i1qb0fwqpsflkfzr6gcar81llmjnc4b1"))))
+    (inputs
+     `(,@(package-inputs breeze-icons)
+       ("ki18n" ,ki18n)
+       ("kpackage" ,kpackage)
+       ("kguiaddons" ,kguiaddons)
+       ("kdecoration" ,kdecoration)
+       ("kcoreaddons" ,kcoreaddons)
+       ("kiconthemes" ,kiconthemes)
+       ("kwindowsystem" ,kwindowsystem)
+       ("kconfigwidgets" ,kconfigwidgets)
+       ("qtx11extras" ,qtx11extras)))
+    (home-page "https://github.com/KDE/breeze")
+    (synopsis "Artwork, styles and assets for the Breeze visual style")
+    (description "This package contains artwork, styles and assets associated
+with the Breeze visual style.")
+    (license license:gpl2+)))
+
+(define-public breeze
+  (package
+    (name "breeze")
+    (version (package-version breeze-assets))
+    (source #f)
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build union))
+       #:builder
+       (begin
+         (use-modules (ice-9 match)
+                      (guix build union))
+         (match %build-inputs
+           (((names . directories) ...)
+            (union-build (assoc-ref %outputs "out")
+                         directories)
+            #t)))))
+    (inputs
+     `(("breeze-icons" ,breeze-icons)
+       ("breeze-assets" ,breeze-assets)))
+    (home-page "https://github.com/KDE/breeze-icons")
+    (synopsis "Full KDE Breeze theme")
+    (description
+     "This package contains the full Breeze visual style for KDE:
+assets and icons.")
+    (license (list license:gpl2 license:gpl3+))))
+
 (define-public kapidox
   (package
     (name "kapidox")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -379,7 +396,7 @@ It is the default icon theme for the KDE Plasma 5 desktop.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "09jph3hvasqx1ia0l7is9brc08nxvh9qmg8564nh5cmqaxdwj559"))))
+                "1irl25pf60frzrmm1ksgjq6y8kn3rd5snliq69l4c42yznl9qv1j"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f)) ; has no test target
@@ -412,7 +429,7 @@ documentation.")
 (define-public karchive
   (package
     (name "karchive")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -421,7 +438,7 @@ documentation.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1p1gwqda2bsjdysp4ggwdsldbasyfl075xn3wchqyakdv2bdzmn0"))))
+                "0z8asn357pdbv4g9g0x18p72wskca1qanxljyix7wzc5rsi63wzm"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -433,7 +450,7 @@ documentation.")
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Qt 5 addon providing access to numerous types of archives")
     (description "KArchive provides classes for easy reading, creation and
-manipulation of 'archive' formats like ZIP and TAR.
+manipulation of @code{archive} formats like ZIP and TAR.
 
 It also provides transparent compression and decompression of data, like the
 GZip format, via a subclass of QIODevice.")
@@ -443,10 +460,71 @@ GZip format, via a subclass of QIODevice.")
     (license (list license:lgpl2.1 license:lgpl2.1+
                    license:lgpl3+ license:bsd-2))))
 
+(define-public kcalendarcore
+  (package
+    (name "kcalendarcore")
+    (version "5.70.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/frameworks/"
+                    (version-major+minor version) "/"
+                    name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1y1f8gc1g9yn9kgmn53f1zvkizasfs667dfin3fyci657r5qwpw2"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("perl" ,perl)
+       ("tzdata" ,tzdata-for-tests)))
+    (inputs
+     `(("libical" ,libical)
+       ("qtbase" ,qtbase)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'disable-failing-libical3-tests
+           (lambda _
+             ;; testicaltimezones fails with some time-zone issue
+             (substitute* "autotests/CMakeLists.txt"
+               (("macro_unit_tests\\(testicaltimezones\\)" line)
+                (string-append "## " line))
+               (("target_link_libraries\\(testicaltimezones " line)
+                (string-append "## " line)))
+             (for-each
+              delete-file
+              (list
+               ;; test cases are generated for each .ics file. These fail:
+               "autotests/data/Compat-libical3/AppleICal_1.5.ics"
+               "autotests/data/Compat-libical3/Evolution_2.8.2_timezone_test.ics"
+               "autotests/data/Compat-libical3/KOrganizer_3.1a.ics"
+               "autotests/data/Compat-libical3/MSExchange.ics"
+               "autotests/data/Compat-libical3/Mozilla_1.0.ics"))
+             #t))
+         (add-before 'check 'set-timezone
+           (lambda* (#:key inputs #:allow-other-keys)
+             (setenv "TZ" "Europe/Prague")
+             (setenv "TZDIR"
+                     (string-append (assoc-ref inputs "tzdata")
+                                    "/share/zoneinfo"))
+             #t)))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Library for interfacing with calendars")
+    (description "This library provides access to and handling of calendar
+data.  It supports the standard formats iCalendar and vCalendar and the group
+scheduling standard iTIP.
+
+A calendar contains information like incidences (events, to-dos, journals),
+alarms, time zones, and other useful information.  This API provides access to
+that calendar information via well known calendar formats iCalendar (or iCal)
+and the older vCalendar.")
+    (license (list license:lgpl3+ license:bsd-2))))
+
 (define-public kcodecs
   (package
     (name "kcodecs")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -455,7 +533,7 @@ GZip format, via a subclass of QIODevice.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "07va63gsfjrc5ha9rdli923cwyzxpb3v8xgf1zfhw75cfkgda3nz"))))
+                "0y9n2a5n18pasdmrp0xb84hla9l27yj2x3k4p1c041sd9nkwixpk"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -482,7 +560,7 @@ Internet).")
 (define-public kconfig
   (package
     (name "kconfig")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -491,13 +569,14 @@ Internet).")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0cb3crnlr8hr5npq3ykfxqd4yckmkykzrrizfs89ryhmznc2ngsf"))))
+                "1s3h4hfpw7c0894cifj66bj1yhx8g94ckvl71jm7qqsb5x5h6y9n"))))
     (build-system cmake-build-system)
     (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)
+     `(("dbus" ,dbus)
+       ("extra-cmake-modules" ,extra-cmake-modules)
        ("inetutils" ,inetutils)
        ("qttools" ,qttools)
-       ("xorg-server" ,xorg-server)))
+       ("xorg-server" ,xorg-server-for-tests)))
     (inputs
      `(("qtbase" ,qtbase)))
     (arguments
@@ -508,13 +587,10 @@ Internet).")
              (setenv "HOME" (getcwd))
              (setenv "TMPDIR" (getcwd))
              #t))
-         (add-before 'check 'start-xorg-server
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; The test suite requires a running X server.
-             (system (string-append (assoc-ref inputs "xorg-server")
-                                    "/bin/Xvfb :1 &"))
-             (setenv "DISPLAY" ":1")
-             #t)))))
+         (replace 'check
+           (lambda _
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             (invoke "dbus-launch" "ctest" "."))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Kconfiguration settings framework for Qt")
     (description "KConfig provides an advanced configuration system.
@@ -549,7 +625,7 @@ propagate their changes to their respective configuration files.")
 (define-public kcoreaddons
   (package
     (name "kcoreaddons")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -558,14 +634,14 @@ propagate their changes to their respective configuration files.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "00s22jvbwav20cidnp8v9fgc6pqbp4wnqkb2spv18mjhg4pv3bqj"))))
+                "10a7zys3limsawl7lk9ggymk3msk2bp0y8hp0jmsvk3l405pd1ps"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("qttools" ,qttools)
        ("shared-mime-info" ,shared-mime-info)
        ;; TODO: FAM: File alteration notification http://oss.sgi.com/projects/fam
-       ("xorg-server" ,xorg-server))) ; for the tests
+       ("xorg-server" ,xorg-server-for-tests))) ; for the tests
     (inputs
      `(("qtbase" ,qtbase)))
     (arguments
@@ -606,7 +682,7 @@ many more.")
 (define-public kdbusaddons
   (package
     (name "kdbusaddons")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -615,7 +691,7 @@ many more.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1fnmrrffp3kfwyjfzqkzlizflpyqgzbjljb51ppmdypcq8wy9ibh"))
+                "1vz2hg5p8wvfk0pi8v25zqzcn8yj7ykakxjyipmadvi02c1h8gic"))
               (patches (search-patches "kdbusaddons-kinit-file-name.patch"))))
     (build-system cmake-build-system)
     (native-inputs
@@ -651,7 +727,7 @@ as well as an API to create KDED modules.")
 (define-public kdnssd
   (package
     (name "kdnssd")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -660,7 +736,7 @@ as well as an API to create KDED modules.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1n61id2x1iianshg8g6fw389mqihz4h8sj9hnng7cdg4csh72ffr"))))
+                "0wadknnf472rqg2xnqzs5v23qzqfr336wj6d96yg2ayqm0chbppy"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -679,7 +755,7 @@ infrastructure.")
 (define-public kguiaddons
   (package
     (name "kguiaddons")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -688,8 +764,8 @@ infrastructure.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1zkjd3l5pyvvilcc9lbdgqaxnpvh586yf0cndl90h3x89hy1d4xk"))))
-    (build-system cmake-build-system)
+                "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,
     ;; python-sip, clang-python, libclang.  Requires python-2 in all cases for
@@ -700,24 +776,51 @@ infrastructure.")
     (inputs
      `(("qtbase" ,qtbase)
        ("qtx11extras" ,qtx11extras)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Utilities for graphical user interfaces")
+    (description "The KDE GUI addons provide utilities for graphical user
+interfaces in the areas of colors, fonts, text, images, keyboard input.")
+    (license (list license:gpl2+ license:lgpl2.1+))))
+
+(define-public kholidays
+  (package
+    (name "kholidays")
+    (version "5.70.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/frameworks/"
+                    (version-major+minor version) "/"
+                    name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1rifx51yk24sk578h08s1bwpqb61rnyyks33zpl82lcdnl1ljp26"))))
+    (build-system cmake-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
          (add-before 'check 'check-setup
            (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
+             ;; blacklist a failing test function TODO: make it pass
+             (with-output-to-file "autotests/BLACKLIST"
+               (lambda _
+                 (display "[testDefaultRegions]\n*\n")))
              #t)))))
-    (home-page "https://community.kde.org/Frameworks")
-    (synopsis "Utilities for graphical user interfaces")
-    (description "The KDE GUI addons provide utilities for graphical user
-interfaces in the areas of colors, fonts, text, images, keyboard input.")
-    (license (list license:gpl2+ license:lgpl2.1+))))
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)))
+    (home-page "https://cgit.kde.org/kholidays.git")
+    (synopsis "Library for regional holiday information")
+    (description "This library provides a C++ API that determines holiday and
+other special events for a geographical region.")
+    (license license:lgpl2.0+)))
 
 (define-public ki18n
   (package
     (name "ki18n")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -726,7 +829,7 @@ interfaces in the areas of colors, fonts, text, images, keyboard input.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1i4rdrxann45zl6fkmfd1b96q52g0mpc5x19fx9h80crapkm8jjz"))))
+                "1f952488492sm904i1iwgjp2gc7z07312mlshw4ckh2801y0qclc"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("gettext" ,gettext-minimal)
@@ -760,7 +863,7 @@ translation scripting.")
 (define-public kidletime
   (package
     (name "kidletime")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -769,7 +872,7 @@ translation scripting.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1fd02anlmaa0hnnp5q1s9973m3asy56qppwq1va1g6ga3csv3wrv"))))
+                "0vbxs80a8kh2xbxclx8zwl7acynsasa7i0cs171fxr26d0dmmhm5"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -791,7 +894,7 @@ or user activity.")
   ;; plasma-framework which is tier 3.
   (package
     (name "kirigami")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -800,7 +903,7 @@ or user activity.")
                     "kirigami2-" version ".tar.xz"))
               (sha256
                (base32
-                "1wan9h7kvjzvyzfjfjd512lxiac5prhs493xjqwxgags6kxwglaz"))))
+                "0akkyif6n9l7hw4cj6nkf1zwgnd7vqi1gyiqmn588rspgl91zf1w"))))
     (properties `((upstream-name . "kirigami2")))
     (build-system cmake-build-system)
     (native-inputs
@@ -827,7 +930,7 @@ of applications that follow the Kirigami Human Interface Guidelines.")
 (define-public kitemmodels
   (package
     (name "kitemmodels")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -836,21 +939,13 @@ of applications that follow the Kirigami Human Interface Guidelines.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1frha301540js45mrxiw034m9b2rwsa56xphkqn6cm4jmn48qdjg"))))
-    (build-system cmake-build-system)
+                "0x7y5shg2pp490hvmkz81b8j01cha9j1001q34m7pnyf0n3zknzc"))))
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
     (inputs
      `(("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Set of item models extending the Qt model-view framework")
     (description "KItemModels provides the following models:
@@ -886,7 +981,7 @@ model to observers
 (define-public kitemviews
   (package
     (name "kitemviews")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -895,22 +990,13 @@ model to observers
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1aj605q2p72w4rb9i0f2xb93bn5xfjq9sl5i4h6rqflcvvy7qpdp"))))
-    (build-system cmake-build-system)
+                "04vlmkvc3y5h7cpb6kdv9gha5axxkimhqh44mdg2ncyn4sas6j68"))))
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("qttools" ,qttools)))
     (inputs
      `(("qtbase" ,qtbase)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Set of item views extending the Qt model-view framework")
     (description "KItemViews includes a set of views, which can be used with
@@ -921,7 +1007,7 @@ to flat and hierarchical lists.")
 (define-public kplotting
   (package
     (name "kplotting")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -930,20 +1016,13 @@ to flat and hierarchical lists.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "13fzqqkyxs4ja6n5yb9lc5jx4qpsmrbsiihnwrgj3lhpzhlr91n0"))))
-    (build-system cmake-build-system)
+                "1wj4n2a8iz9ml1y0012xkpsx3dfp5gl2dn80sifrzvkxjxrhwach"))))
+    (build-system qt-build-system)
     (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)))
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("qttools" ,qttools)))
     (inputs
      `(("qtbase" ,qtbase)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _ ; kplotting
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Data plotting library")
     (description "KPlotWidget is a QWidget-derived class that provides a virtual
@@ -956,7 +1035,7 @@ pixel units.")
 (define-public ksyntaxhighlighting
   (package
     (name "ksyntaxhighlighting")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -965,7 +1044,7 @@ pixel units.")
                     "syntax-highlighting-" version ".tar.xz"))
               (sha256
                (base32
-                "17rkgzkfiz5dv0xr67na7ikqszgwjnf2gc11b2h47qdsr7pgx95v"))))
+                "12jn7lqsp86329spai7n1n8i65nwhxh8gp33wkq543h7w3i2a3jb"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1005,7 +1084,7 @@ integration with a custom editor as well as a ready-to-use
 (define-public kwayland
   (package
     (name "kwayland")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1014,14 +1093,16 @@ integration with a custom editor as well as a ready-to-use
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0d95l2i3j1xxkc15n57w4rhf3di02zna4zzn4gap9qdhfxlfbqi6"))))
+                "0hrpbfzixjpnfy9q5x66q1fff0p7n80rrs127zzdv68pyi6456ry"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("qtbase" ,qtbase)
-       ("wayland" ,wayland)))
+       ("qtwayland" ,qtwayland)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)))
     (arguments
      `(#:tests? #f ; FIXME tests require weston to run
                    ; weston requires wayland flags in mesa
@@ -1044,7 +1125,7 @@ represented by a QPoint or a QSize.")
 (define-public kwidgetsaddons
   (package
     (name "kwidgetsaddons")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1053,23 +1134,17 @@ represented by a QPoint or a QSize.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1frgqz9njbc81pfy6gl6p0hyh1977lg31ynrx5wy7lg7fwaxwl92"))))
-    (build-system cmake-build-system)
+                "03l37lh219np7pqfa56r2v7n5s5xg4rjq005qng4b5izd95ri56j"))))
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("qttools" ,qttools)
-       ("xorg-server" ,xorg-server)))
+       ("xorg-server" ,xorg-server-for-tests)))
     (inputs
      `(("qtbase" ,qtbase)))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             #t))
          (add-before 'check 'start-xorg-server
            (lambda* (#:key inputs #:allow-other-keys)
              ;; The test suite requires a running X server.
@@ -1091,7 +1166,7 @@ configuration pages, message boxes, and password requests.")
 (define-public kwindowsystem
   (package
     (name "kwindowsystem")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1100,7 +1175,7 @@ configuration pages, message boxes, and password requests.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "175rzwrjndhawyy4x11lbihdr1r9gwxmxjpbz4x06hlz4g50wffp"))))
+                "0a68cj0bsl5a9sxfd969khznycrn9p6grp2b08hqacxqdknzs0wh"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1108,12 +1183,13 @@ configuration pages, message boxes, and password requests.")
        ("dbus" ,dbus) ; for the tests
        ("openbox" ,openbox) ; for the tests
        ("qttools" ,qttools)
-       ("xorg-server" ,xorg-server))) ; for the tests
+       ("xorg-server" ,xorg-server-for-tests))) ; for the tests
     (inputs
      `(("libxrender" ,libxrender)
        ("qtbase" ,qtbase)
        ("qtx11extras" ,qtx11extras)
-       ("xcb-utils-keysyms" ,xcb-util-keysyms)))
+       ("xcb-utils-keysyms" ,xcb-util-keysyms)
+       ("xcb-util-wm" ,xcb-util-wm)))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -1122,12 +1198,13 @@ configuration pages, message boxes, and password requests.")
              ;; Blacklist a failing test-functions. FIXME: Make it pass.
              (with-output-to-file "autotests/BLACKLIST"
                (lambda _
-                 (display "[testState]\n*\n")
-                 (display "[testSupported]\n*\n")))
+                 (display "[testGroupLeader]\n*\n")
+                 (display "[testClientMachine]\n*\n"))) ;; requires network
              #t))
          (replace 'check
            (lambda _
              ;; The test suite requires a running window anager
+             (setenv "XDG_RUNTIME_DIR" "/tmp")
              (system "Xvfb :1 -ac -screen 0 640x480x24 &")
              (setenv "DISPLAY" ":1")
              (sleep 5) ;; Give Xvfb a few moments to get on it's feet
@@ -1152,7 +1229,7 @@ lower level classes for interaction with the X Windowing System.")
 (define-public modemmanager-qt
   (package
     (name "modemmanager-qt")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1161,7 +1238,7 @@ lower level classes for interaction with the X Windowing System.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1wf3v552vbr4kh2d770zn3yn0q3bqjqbfrvnf813mnld7961m7p2"))))
+                "0ydq1l823jgp0yrrpqi1zdk5dsg65ydk1x082qwsa9a0vzs0np3x"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1190,7 +1267,7 @@ messages.")
 (define-public networkmanager-qt
   (package
     (name "networkmanager-qt")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1199,7 +1276,7 @@ messages.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "16pnd52m9srcb2ml3vc3kd9k1yak5rq09yci39qp7z5jbdy7jk2z"))))
+                "1h2kdw5vs7mn3n7bvqwm36a48ra9iap6384kanz14zjbankj04c1"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1229,7 +1306,7 @@ which are used in DBus communication.")
 (define-public oxygen-icons
   (package
     (name "oxygen-icons")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1238,7 +1315,7 @@ which are used in DBus communication.")
                     name "5" "-" version ".tar.xz"))
               (sha256
                (base32
-                "0llx06sr36cd6vgkgm3jw6k4cv1cfx3r6x6lmb477wpahis0n75g"))))
+                "1rjsnz0g7zyzgii26sk370adb6jcyvr2lm8qi23fvqimifngqm2c"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1254,7 +1331,7 @@ which are used in DBus communication.")
 (define-public prison
   (package
     (name "prison")
-    (version "5.49.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -1262,7 +1339,7 @@ which are used in DBus communication.")
                            (version-major+minor version) "/"
                            name "-" version ".tar.xz"))
        (sha256
-        (base32 "0dppz9x6k84sl0aiyjlh3xigqgda64r8mij3bzxcdkv2wbc4ld9d"))))
+        (base32 "1qflivvb593d2npc218xkdn3w5zvl7x8v1b52ydnggsxzbgkqvb4"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1276,10 +1353,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.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1288,7 +1396,7 @@ provides uniform access to generation of barcodes with data.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1vbms7b8x1y7yh8im8dv1q3wwl3j2x4r47yqg86f28grw2r2n2zj"))))
+                "1n47cl082zqdw6ykil04rw6bws4fn1m8wfx4vxv1aqj9warbdks3"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1313,7 +1421,7 @@ feel.")
 (define-public solid
   (package
     (name "solid")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1322,7 +1430,7 @@ feel.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1p7rdmf2f8520xc7zp7wxlcizyyjfxwq5mf95qsfpwc4dl0c43gp"))))
+                "0alng7ciw6xji0s2zrk8dsx1p0p9shrrfzl8wnkwygc5chnhysz7"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -1352,7 +1460,7 @@ system.")
 (define-public sonnet
   (package
     (name "sonnet")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1361,16 +1469,8 @@ system.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0m5pmka1hwjsg3c3qvx087z3fjrfw0ayk7ylgjls5iwd39kkl1b3"))))
-    (build-system cmake-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+                "0b88h5fw1n8zyrg0vq3lj2jbjjyh0mk64lj6ab3643kxzqxbn30w"))))
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)
@@ -1389,7 +1489,7 @@ ASpell and HUNSPELL.")
 (define-public threadweaver
   (package
     (name "threadweaver")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1398,7 +1498,7 @@ ASpell and HUNSPELL.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "099bs429p71dzrqy25z61rvn48w3b73p7yag4q69jnxcpj0qcyz7"))))
+                "0y1q0wy073lf11g4jrp4bdw4kpj4ibqfscsxj6zlh8ban9zlf389"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1419,7 +1519,7 @@ uses a job-based interface to queue tasks and execute them in an efficient way."
 (define-public kactivities
   (package
     (name "kactivities")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1428,7 +1528,7 @@ uses a job-based interface to queue tasks and execute them in an efficient way."
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "117f3zrdbs0pa10wn7vy691n02m01h6x4pm8m1q3f4pjm0k4kqim"))))
+                "1whsp0f87lrcn61s9rfhy0aj68hm6zgfa38mq6frlkcjksi0z1vn"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1464,7 +1564,7 @@ with other frameworks.")
 (define-public kauth
   (package
     (name "kauth")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1473,7 +1573,7 @@ with other frameworks.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0qg3zwg3kfx2snmvsw4ixr0qds7bd7992dxggvi9dcny7dm9q0n8"))))
+                "0nmdz7ra3hpg0air4lfkzilv7cwx3zxs29k7sh8l3i1fs3qpjwxm"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("dbus" ,dbus)
@@ -1511,7 +1611,7 @@ utilities.")
 (define-public kcompletion
   (package
     (name "kcompletion")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1520,8 +1620,8 @@ utilities.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "16br6wnqzndk8v41im23h2ww4hypi2i1qfg6m9c49mpxflgmspbi"))))
-    (build-system cmake-build-system)
+                "1pjgya8wi28jx63hcdi9v5f5487gzbkw2j1iganhd7bhcb8s7zpy"))))
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("qttools" ,qttools)))
@@ -1529,14 +1629,6 @@ utilities.")
      `(("kconfig" ,kconfig)
        ("kwidgetsaddons" ,kwidgetsaddons)
        ("qtbase" ,qtbase)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Powerful autocompletion framework and widgets")
     (description "This framework helps implement autocompletion in Qt-based
@@ -1544,10 +1636,56 @@ applications.  It provides a set of completion-ready widgets, or can be
 integrated it into your application's other widgets.")
     (license license:lgpl2.1+)))
 
+(define-public kcontacts
+  (package
+    (name "kcontacts")
+    (version "5.70.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/frameworks/"
+                    (version-major+minor version) "/"
+                    name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "182ma11z3kqxq3cwy7kwprfqkb9bcmn44w7k9vixbid4pv5wa0lb"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("xorg-server" ,xorg-server))) ; for the tests
+    (inputs
+     `(("qtbase" ,qtbase)))
+    (propagated-inputs
+     `(;; As required by KF5ContactsConfig.cmake.
+       ("kcodecs" ,kcodecs)
+       ("kconfig" ,kconfig)
+       ("kcoreaddons" ,kcoreaddons)
+       ("ki18n" ,ki18n)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'start-xorg-server
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; The test suite requires a running X server.
+             ;; Xvfb doesn't have proper glx support and needs a pixeldepth
+             ;; of 24 bit to avoid "libGL error: failed to load driver: swrast"
+             ;;                    "Could not initialize GLX"
+             (system (string-append (assoc-ref inputs "xorg-server")
+                                    "/bin/Xvfb :1 -screen 0 640x480x24 &"))
+             (setenv "DISPLAY" ":1")
+             #t)))))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "API for contacts/address book data following the vCard standard")
+    (description "This library provides a vCard data model, vCard
+input/output, contact group management, locale-aware address formatting, and
+localized country name to ISO 3166-1 alpha 2 code mapping and vice verca.
+")
+    (license license:lgpl2.1+)))
+
 (define-public kcrash
   (package
     (name "kcrash")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1556,8 +1694,8 @@ integrated it into your application's other widgets.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0xmr9rrl0xahpnq1rw4bbar1nbr21x2bk4hhv79la6dsg9ha25b3"))))
-    (build-system cmake-build-system)
+                "11sy9hrjpvybqi53qjrnncy9mzifrb3vqxi2d12ldjzqyqd8pirp"))))
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
     (inputs
@@ -1565,14 +1703,6 @@ integrated it into your application's other widgets.")
        ("kwindowsystem" ,kwindowsystem)
        ("qtbase" ,qtbase)
        ("qtx11extras" ,qtx11extras)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Graceful handling of application crashes")
     (description "KCrash provides support for intercepting and handling
@@ -1582,7 +1712,7 @@ application crashes.")
 (define-public kdoctools
   (package
     (name "kdoctools")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1591,7 +1721,7 @@ application crashes.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1dmpk453s71ls0q8hgpqqd5dcr7zlimf5wykizcy2wn7p77gzsgl"))))
+                "0g0k83np2xaxk05spf14h5fvzy0n7kbcwx1sa9wjh570f6jx87am"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1639,7 +1769,7 @@ from DocBook files.")
 (define-public kfilemetadata
   (package
     (name "kfilemetadata")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1648,7 +1778,7 @@ from DocBook files.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "045k1mgn8kg0qfsr5sl1499nzhzmbcvrqc205pmq6sh4r14nvk80"))))
+                "18n1a5857090a1c1rxzd07sxs652gl6wr3n99sp8rxmvkghn9zsj"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -1660,6 +1790,7 @@ from DocBook files.")
              ;; -> EOPNOTSUPP (Operation not supported)
              (with-output-to-file "autotests/BLACKLIST"
                (lambda _
+                 (display "[testMimetype]\n*\n")
                  (display "[test]\n*\n")))
              #t)))))
     (native-inputs
@@ -1670,6 +1801,7 @@ from DocBook files.")
      `(("attr" ,attr)
        ;; TODO: EPub http://sourceforge.net/projects/ebook-tools
        ("karchive" ,karchive)
+       ("kcoreaddons" ,kcoreaddons)
        ("ki18n" ,ki18n)
        ("qtmultimedia" ,qtmultimedia)
        ("qtbase" ,qtbase)
@@ -1691,7 +1823,7 @@ by applications to write metadata.")
 (define-public kimageformats
   (package
     (name "kimageformats")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1700,7 +1832,7 @@ by applications to write metadata.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1q7019gbk59fwampna1ayjvw016c0q79hmldpaqh3xa9sh082wy4"))))
+                "0pk4b725wapzdxv1mm6ddqcl6z8ffcpr32i5vrhrin8awi5gx13s"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1745,7 +1877,7 @@ formats.")
 (define-public kjobwidgets
   (package
     (name "kjobwidgets")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1754,7 +1886,7 @@ formats.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "04i5cvbxii7n0jr3ai1dh44miqbdkxb6an5w8s7qvkv0xmkml35g"))))
+                "13kdczzyyh17hf6vlhh4li5bn4yq5bab5xa8mm63r9rynxihgclf"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1773,7 +1905,7 @@ asynchronous jobs.")
 (define-public knotifications
   (package
     (name "knotifications")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1782,7 +1914,7 @@ asynchronous jobs.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "10481j2irlqhqd16xi412xbglnyjl0ndanlv9s0d3fxirs95zdd9"))))
+                "01bn23xw2n53h9nl99lm3cjnqs8s66bmwkzf6fkpg9rzkykizbyc"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -1819,7 +1951,7 @@ covers feedback and persistent events.")
 (define-public kpackage
   (package
     (name "kpackage")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1828,7 +1960,7 @@ covers feedback and persistent events.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1xbfjwxb4gff8gg0hs5m9s0jcnzqk27rs2jr71g5ckhvs5psnkcd"))
+                "03rp7p7i8ihz5wg58gjs638jk7xbszknfiy2j3r979snc57g95mv"))
               ;; Default to: external paths/symlinks can be followed by a
               ;; package
               (patches (search-patches "kpackage-allow-external-paths.patch"))))
@@ -1880,7 +2012,7 @@ were traditional plugins.")
 (define-public kpty
   (package
     (name "kpty")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1889,7 +2021,7 @@ were traditional plugins.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1pnj07079l6gkz6171fcvljh0dcdy9s77p1q0l9nnkknjbr102pg"))))
+                "1hp6iilr2asf2269linfazjv4yjg7rsi8wydxx53yyr99r0bgmah"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -1917,7 +2049,7 @@ and communicating with them using a pty.")
 (define-public kunitconversion
   (package
     (name "kunitconversion")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1926,7 +2058,7 @@ and communicating with them using a pty.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "11jnqz218rga3f4ppf1d927c7qhh2qpghwjpsrnrxdkz5nrvnf79"))))
+                "0sp4gfzpf40cdi0xnff9sn7b75z88j0589svz4rv77q5m137cgnn"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -1951,6 +2083,33 @@ mega, giga) as well as converting between different unit systems (e.g. liters,
 gallons).")
     (license license:lgpl2.1+)))
 
+(define-public syndication
+  (package
+    (name "syndication")
+    (version "5.70.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/frameworks/"
+                    (version-major+minor version) "/"
+                    name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1n3x8s1z4kd30xirfr07hi87vwhk4rilb5kslcjcgp5n9c0imcpv"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (inputs
+     `(("kcodecs" ,kcodecs)
+       ("qtbase" ,qtbase)))
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "RSS/Atom parser library")
+    (description "@code{syndication} supports RSS (0.9/1.0, 0.91..2.0) and
+Atom (0.3 and 1.0) feeds.  The library offers a unified, format-agnostic view
+on the parsed feed, so that the using application does not need to distinguish
+between feed formats.")
+    (license license:lgpl2.1+)))
+
 
 ;; Tier 3
 ;;
@@ -1960,7 +2119,7 @@ gallons).")
 (define-public baloo
   (package
     (name "baloo")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1969,7 +2128,7 @@ gallons).")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0xj12v0k58sr3snxyj4vx7dqhinrvk6qm0ikymscqgbmw9ijwxph"))))
+                "1cf5pp9hn3pqypwyzh63ksasap3n7qz6n3y2xgb83ss3fra90pjf"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kcoreaddons" ,kcoreaddons)
@@ -2003,13 +2162,22 @@ gallons).")
              (setenv "HOME" (getcwd))
              ;; make Qt render "offscreen", required for tests
              (setenv "QT_QPA_PLATFORM" "offscreen")
+             (with-output-to-file "bin/BLACKLIST"
+               (lambda _
+                 ;; Blacklist some failing tests. FIXME: Make them pass.
+                 (display "[testRenameFile]\n*\n")
+                 (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 _
@@ -2025,7 +2193,7 @@ maintaining an index of the contents of your files.")
 (define-public kactivities-stats
   (package
     (name "kactivities-stats")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2034,7 +2202,7 @@ maintaining an index of the contents of your files.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "129z2m5330j0l1nw8g3qjib60xmx54c6d2g9vnp4w8z0agnihs5f"))))
+                "1cnfdnxkw9hwbqdzdygp2vzwxqwqhxyipzwdcgar0clgnf7zi7wx"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -2055,7 +2223,7 @@ by which applications, and what documents have been linked to which activity.")
 (define-public kbookmarks
   (package
     (name "kbookmarks")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2064,7 +2232,7 @@ by which applications, and what documents have been linked to which activity.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0clmfdcc1fc98q3vbfjf8x140a6df88ixhz0mny3dpv1wcr5cz53"))))
+                "1i5vcyvyc9whmflbcg2kc562ch93yscfic1c1n9z347g26jmgras"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kwidgetsaddons" ,kwidgetsaddons)))
@@ -2098,7 +2266,7 @@ using the XBEL format.")
 (define-public kcmutils
   (package
     (name "kcmutils")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2107,7 +2275,7 @@ using the XBEL format.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0xv899p9f0hj6hd089mhn910qn66bihzpaa11ikrhbimckw8g19q"))))
+                "08f4yr546brl1dppp0khvsw9ihmh9a7rp505913pdhi0sklaiimz"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kconfigwidgets" ,kconfigwidgets)
@@ -2134,6 +2302,7 @@ using the XBEL format.")
        ("kconfig" ,kconfig)
        ("kcoreaddons" ,kcoreaddons)
        ("kdeclarative" ,kdeclarative)
+       ("kguiaddons" ,kguiaddons)
        ("kiconthemes" ,kiconthemes)
        ("kitemviews" ,kitemviews)
        ("ki18n" ,ki18n)
@@ -2151,7 +2320,7 @@ KCModules can be created with the KConfigWidgets framework.")
 (define-public kconfigwidgets
   (package
     (name "kconfigwidgets")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2160,8 +2329,8 @@ KCModules can be created with the KConfigWidgets framework.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1nqcrqr67m3kvq2r83x45zcdghk12bas9fp0s43s68imrhy5xikz"))))
-    (build-system cmake-build-system)
+                "195dw7nyr3fp78y3vfnyjh0hwgwk46f80wdcm8dck5rkscl3v9xz"))))
+    (build-system qt-build-system)
     (propagated-inputs
      `(("kauth" ,kauth)
        ("kcodecs" ,kcodecs)
@@ -2174,7 +2343,9 @@ KCModules can be created with the KConfigWidgets framework.")
      `(("kcoreaddons" ,kcoreaddons)
        ("kguiaddons" ,kguiaddons)
        ("ki18n" ,ki18n)
-       ("qtbase" ,qtbase)))
+       ;; todo: PythonModuleGeneration
+       ("qtbase" ,qtbase)
+       ("qttools" ,qttools)))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -2184,11 +2355,6 @@ KCModules can be created with the KConfigWidgets framework.")
                ;; make QDirIterator follow symlinks
                (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
                 (string-append a " | QDirIterator::FollowSymlinks" b)))
-             #t))
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
              #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Widgets for configuration dialogs")
@@ -2201,7 +2367,7 @@ their settings.")
 (define-public kdeclarative
   (package
     (name "kdeclarative")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2210,7 +2376,7 @@ their settings.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0kgawb8wfx4snk2ckwxj0hmpgcvq3k1zpsxqdawi4cmsy4bxzfs9"))))
+                "1vq9pkrb0zsphi2sfx7cyy1kb6pklzjkmqdf5202z8vydlkc4549"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kconfig" ,kconfig)
@@ -2218,7 +2384,7 @@ their settings.")
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)
-       ("xorg-server" ,xorg-server)))
+       ("xorg-server" ,xorg-server-for-tests)))
     (inputs
      `(("kauth" ,kauth)
        ("kbookmarks" ,kbookmarks)
@@ -2264,7 +2430,7 @@ that offer bindings to some of the Frameworks.")
 (define-public kded
   (package
     (name "kded")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2273,7 +2439,7 @@ that offer bindings to some of the Frameworks.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1l6hs3spbs3618jwg3n7r3hrrkqxmmd43f0km8849x4641p72zyc"))))
+                "0zqd33vy4ny7g9as3bhd75qi1chz1nlqq133pgw8kjanvghwwnk9"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -2297,17 +2463,17 @@ started on demand.")
 (define-public kdesignerplugin
   (package
     (name "kdesignerplugin")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "mirror://kde/stable/frameworks/"
-                    (version-major+minor version) "/"
+                    (version-major+minor version) "/portingAids/"
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0hj4ng0i22rvw4kl0irhqhww3kvn4c0pncn38w1j5vim4gxv0xcd"))))
-    (build-system cmake-build-system)
+                "0dr6gcag2yzx8fvxis4x403jrcisywds95cywmiyz3pb5727cak2"))))
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("qttools" ,qttools)))
@@ -2329,14 +2495,6 @@ started on demand.")
        ("kxmlgui" ,kxmlgui)
        ("qtwebkit" ,qtwebkit)
        ("sonnet" ,sonnet)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Integrating KDE frameworks widgets with Qt Designer")
     (description "This framework provides plugins for Qt Designer that allow it
@@ -2348,7 +2506,7 @@ ini-style description files.")
 (define-public kdesu
   (package
     (name "kdesu")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2357,7 +2515,7 @@ ini-style description files.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1gwvby51qqbkrs2vjpnplxr6m6xa5ddfdjs1iygh8kpqsh8a765k"))))
+                "17k29g7jwgqj5xdmr509438b9sq65zx8khdr4viybjf5xpi0cf5m"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kpty" ,kpty)))
@@ -2379,19 +2537,20 @@ with su and ssh respectively.")
 (define-public kdewebkit
   (package
     (name "kdewebkit")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "mirror://kde/stable/frameworks/"
-                    (version-major+minor version) "/"
+                    (version-major+minor version) "/portingAids/"
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "05idyw94ayjh7qdia9pnjmx29r5lsch421kv8h5ivr7ixcbrgk6n"))))
+                "0y9ja3znkvzdbjfs91dwr4cmvl9fk97zpz2lkf0f9zhm2nw6q008"))))
     (build-system cmake-build-system)
     (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)))
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("qttools" ,qttools)))
     (inputs
      `(("kconfig" ,kconfig)
        ("kcoreaddons" ,kcoreaddons)
@@ -2411,7 +2570,7 @@ engine WebKit via QtWebKit.")
 (define-public kemoticons
   (package
     (name "kemoticons")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2420,7 +2579,7 @@ engine WebKit via QtWebKit.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0mz9hkhnprjbrfq54mqcvj8w87h025785m1bas80brsqzvni5krn"))))
+                "11v1srn3nii4j7cn4f19qvdw96pczwxhanzxlg4a9gf8kmnp5gxr"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kservice" ,kservice)))
@@ -2451,7 +2610,7 @@ emoticons coming from different providers.")
 (define-public kglobalaccel
   (package
     (name "kglobalaccel")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2460,8 +2619,8 @@ emoticons coming from different providers.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1fk7wazfwr7smqiym3phm5yvw6cmiczag52y1vad8fgb3izd6zhl"))))
-    (build-system cmake-build-system)
+                "0hmqigc8myiwwh7m6y2cm4vn0d3kmrhia179hyb84vpvvn3lm93z"))))
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)
@@ -2477,14 +2636,6 @@ emoticons coming from different providers.")
        ("qtbase" ,qtbase)
        ("qtx11extras" ,qtx11extras)
        ("xcb-util-keysyms" ,xcb-util-keysyms)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Global desktop keyboard shortcuts")
     (description "KGlobalAccel allows you to have global accelerators that are
@@ -2495,7 +2646,7 @@ window does not need focus for them to be activated.")
 (define-public kiconthemes
   (package
     (name "kiconthemes")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2504,10 +2655,11 @@ window does not need focus for them to be activated.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1f7pk6smi2f0mm7jkrw5ymmkhd9gi8vnmppyblp1v3pvmy571c2m"))))
+                "09bqpf3drqyfc81vgab9bsh1wm5qbzdwqjlczhax38660nnvh0r9"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("qttools" ,qttools)
        ("shared-mime-info" ,shared-mime-info)))
     (inputs
      `(("karchive" ,karchive)
@@ -2542,7 +2694,7 @@ in applications using the KDE Frameworks.")
 (define-public kinit
   (package
     (name "kinit")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2551,7 +2703,7 @@ in applications using the KDE Frameworks.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1rq9b59gdgcpvwd694l8h55sqahpdaky0n7ag5psjlfn5myf1d95"))
+                "1x4whs8p1daxjfp4ksf70rxrv7fx3w17s5wh6446039wzz9bv6ki"))
               ;; Use the store paths for other packages and dynamically loaded
               ;; libs
               (patches (search-patches "kinit-kdeinit-extra_libs.patch"
@@ -2584,6 +2736,7 @@ in applications using the KDE Frameworks.")
        ("kconfigwidgets" ,kconfigwidgets)
        ("kcoreaddons" ,kcoreaddons)
        ("kcrash" ,kcrash)
+       ("kdbusaddons" ,kdbusaddons)
        ("kdoctools" ,kdoctools)
        ("kio" ,kio)
        ("kitemviews" ,kitemviews)
@@ -2602,15 +2755,16 @@ in applications using the KDE Frameworks.")
     (synopsis "Library to speed up start of applications on KDE workspaces")
     (description "Kdeinit is a process launcher similar to init used for booting
 UNIX.  It launches processes by forking and then loading a dynamic library which
-contains a 'kdemain(...)' function.  Using kdeinit to launch KDE applications
-makes starting KDE applications faster and reduces memory consumption.")
+contains a @code{kdemain(@dots{})} function.  Using kdeinit to launch KDE
+applications makes starting KDE applications faster and reduces memory
+consumption.")
     ;; dual licensed
     (license (list license:lgpl2.0+ license:lgpl2.1+))))
 
 (define-public kio
   (package
     (name "kio")
-    (version "5.49.0")
+    (version "5.70.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2619,7 +2773,7 @@ makes starting KDE applications faster and reduces memory consumption.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0rrsg3g1b204cdp58vxd5dig1ggwyvk1382p1c86vn6w8qbrq27k"))
+                "1f33jdjjx6k1d5fab35x8xakc4ny9fyfrgkbib60xncc82lz2h5l"))
               (patches (search-patches "kio-search-smbd-on-PATH.patch"))))
     (build-system cmake-build-system)
     (propagated-inputs
@@ -2630,10 +2784,12 @@ makes starting KDE applications faster and reduces memory consumption.")
        ("kitemviews" ,kitemviews)
        ("kjobwidgets" ,kjobwidgets)
        ("kservice" ,kservice)
+       ("kwindowsystem" ,kwindowsystem)
        ("kxmlgui" ,kxmlgui)
        ("solid" ,solid)))
     (native-inputs
      `(("dbus" ,dbus)
+       ("qttools" ,qttools)
        ("extra-cmake-modules" ,extra-cmake-modules)))
     (inputs
      `(;; TODO:  LibACL , <ftp://oss.sgi.com/projects/xfs/cmd_tars>
@@ -2642,6 +2798,7 @@ makes starting KDE applications faster and reduces memory consumption.")
        ("kauth" ,kauth)
        ("kcodecs" ,kcodecs)
        ("kconfigwidgets" ,kconfigwidgets)
+       ("kcrash" ,kcrash)
        ("kdbusaddons" ,kdbusaddons)
        ("kdoctools" ,kdoctools)
        ("kiconthemes" ,kiconthemes)
@@ -2650,7 +2807,6 @@ makes starting KDE applications faster and reduces memory consumption.")
        ("ktextwidgets" ,ktextwidgets)
        ("kwallet" ,kwallet)
        ("kwidgetsaddons" ,kwidgetsaddons)
-       ("kwindowsystem" ,kwindowsystem)
        ("libxml2" ,libxml2)
        ("libxslt" ,libxslt)
        ("qtbase" ,qtbase)
@@ -2702,7 +2858,7 @@ KIO enabled infrastructure.")
 (define-public knewstuff
   (package
     (name "knewstuff")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2711,7 +2867,7 @@ KIO enabled infrastructure.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1vhcl2z9rcqg8390l1cwn3yyi1n17pn6mn8fsplp25qhzimb8bmk"))))
+                "1hpxj4nawh57w8l64gjplb5mk5fpxiffm4x49kg75m637rxy19fq"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("attica" ,attica)
@@ -2758,7 +2914,7 @@ specification.")
 (define-public knotifyconfig
   (package
     (name "knotifyconfig")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2767,7 +2923,7 @@ specification.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "09v4aq5x98sqg2awhw0n0y0rnjkr77kbf51xij0fiykd4llp9lfa"))))
+                "1d483qrgyamwsqvcl70klv1g8744hn8z1h2j3qfydcvlwz8jy0gj"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -2800,7 +2956,7 @@ notifications which can be embedded in your application.")
 (define-public kparts
   (package
     (name "kparts")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2809,16 +2965,25 @@ notifications which can be embedded in your application.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0zdz0byj0gsbgb007y8x37w8yf1gkw6dsp2s9bbdc4w6h9ipdj2k"))))
-    (build-system cmake-build-system)
+                "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)
        ("kxmlgui" ,kxmlgui)))
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
-       ("shared-mime-info" ,shared-mime-info)
-       ))
+       ("shared-mime-info" ,shared-mime-info)))
     (inputs
      `(("kauth" ,kauth)
        ("kbookmarks" ,kbookmarks)
@@ -2836,14 +3001,6 @@ notifications which can be embedded in your application.")
        ("qtbase" ,qtbase)
        ("solid" ,solid)
        ("sonnet" ,sonnet)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Plugin framework for user interface components")
     (description "This library implements the framework for KDE parts, which are
@@ -2853,7 +3010,7 @@ widgets with a user-interface defined in terms of actions.")
 (define-public kpeople
   (package
     (name "kpeople")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2862,8 +3019,8 @@ widgets with a user-interface defined in terms of actions.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0i5pd1d2jphsvpc3dpdw28dsdal1qrnnrx3k6qx4wax3f8ph5khv"))))
-    (build-system cmake-build-system)
+                "1dhvly19pj9lx78g7mc89scibzmra1vhv4zz33222zidkbrf9ryl"))))
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
     (inputs
@@ -2876,14 +3033,7 @@ widgets with a user-interface defined in terms of actions.")
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)))
     (arguments
-     `(#:tests? #f ; FIXME: 1/3 tests fail.
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+     `(#:tests? #f)) ; FIXME: 1/3 tests fail.
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Provides access to all contacts and aggregates them by person")
     (description "KPeople offers unified access to our contacts from different
@@ -2896,7 +3046,7 @@ to easily extend the contacts collection.")
 (define-public krunner
   (package
     (name "krunner")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2905,12 +3055,15 @@ to easily extend the contacts collection.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "02l5gch9hpag1q5ixnb541g7m9lx25pbggldpa8zykp63apyca19"))))
+                "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)
@@ -2954,7 +3107,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
@@ -2966,7 +3122,7 @@ typed.")
 (define-public kservice
   (package
     (name "kservice")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2975,7 +3131,7 @@ typed.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1wwb6c6m8f3b16p47adkc05rrlszvvym7ckks5xp08s58pk1dm8z"))))
+                "0g49p5331f7dl46rvi43akmjm1jx70w9797j6d17jy7z9s9sqikw"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kconfig" ,kconfig)
@@ -3025,16 +3181,16 @@ types or handled by application specific code.")
 (define-public ktexteditor
   (package
     (name "ktexteditor")
-    (version "5.49.0")
+    (version "5.70.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "mirror://kde/stable/frameworks/"
                     (version-major+minor version) "/"
-                    name "-" version ".tar.xz"))
+                    "ktexteditor-" version ".tar.xz"))
               (sha256
                (base32
-                "14iss8svx49vav0h2kg8vhv8g5hg4ky30s7049csfwz7xhp7jmcj"))))
+                "0k10yj1ia1w1mznj4g5nvp65p226zcvgwxc85ycn2w8lbkknidf7"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kparts" ,kparts)))
@@ -3093,7 +3249,8 @@ types or handled by application specific code.")
              (let ((kst5 (string-append (assoc-ref outputs "out")
                                         "/share/kservicetypes5/")))
                (symlink (string-append kst5 "ktexteditorplugin.desktop")
-                        (string-append kst5 "ktexteditor-plugin.desktop"))))))))
+                        (string-append kst5 "ktexteditor-plugin.desktop"))
+               #t))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Full text editor component")
     (description "KTextEditor provides a powerful text editor component that you
@@ -3105,7 +3262,7 @@ library.")
 (define-public ktextwidgets
   (package
     (name "ktextwidgets")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3114,13 +3271,14 @@ library.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "14gclshmpwmfwkp2hzlnf823pjjmknd9q0gdclsh3yy268c2rsw1"))))
-    (build-system cmake-build-system)
+                "1609rlwba674kr9whawk93vb1b14b5ly7wvir7kjyjp4j715f47w"))))
+    (build-system qt-build-system)
     (propagated-inputs
      `(("ki18n" ,ki18n)
        ("sonnet" ,sonnet)))
     (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)))
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("qttools" ,qttools)))
     (inputs
      `(("kauth" ,kauth)
        ("kcodecs" ,kcodecs)
@@ -3134,14 +3292,6 @@ library.")
        ("kwindowsystem" ,kwindowsystem)
        ("qtbase" ,qtbase)
        ("qtspeech" ,qtspeech)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Text editing widgets")
     (description "KTextWidgets provides widgets for displaying and editing text.
@@ -3152,7 +3302,7 @@ It supports rich text as well as plain text.")
 (define-public kwallet
   (package
     (name "kwallet")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3161,7 +3311,7 @@ It supports rich text as well as plain text.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "13bmks9jb3yhp6clv25qkqkrvbhfyk9z16laxsv79jdd82lxgn1z"))))
+                "1ps6ywcirv7xcisvwfcpvk53wm7m8y5lrz4nhkm36rizrdglw19r"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)))
@@ -3194,7 +3344,7 @@ the passwords on KDE work spaces.")
 (define-public kxmlgui
   (package
     (name "kxmlgui")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3203,13 +3353,14 @@ the passwords on KDE work spaces.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0wsgs5ya3wnc5cryi1r9i30sq8dnnhh15p02skdjlhwjfvdhxmfa"))))
+                "0cvzcq2dcz89c0ffhvfb820hfmqa87mfdbjvrqjwdysc9lr8zx8f"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kconfig" ,kconfig)
        ("kconfigwidgets" ,kconfigwidgets)))
     (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)))
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("qttools" ,qttools)))
     (inputs
      `(("attica" ,attica)
        ("kauth" ,kauth)
@@ -3246,7 +3397,7 @@ descriptions for integrating actions from plugins.")
 (define-public kxmlrpcclient
   (package
     (name "kxmlrpcclient")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3255,7 +3406,7 @@ descriptions for integrating actions from plugins.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0l4jnvn7s77jkvd2z44mz24mfzcw499plms79j21pjryc88drh06"))))
+                "1cmfv2w9yfi8jhj5nawfz7kw8jbr1k5cr3n5xv3z59pg2vazsx8b"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kio" ,kio)))
@@ -3289,7 +3440,7 @@ setUrl, setUserAgent and call.")
 (define-public plasma-framework
   (package
     (name "plasma-framework")
-    (version "5.49.0")
+    (version "5.70.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3298,7 +3449,7 @@ setUrl, setUserAgent and call.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1yrccbkdpnfbgn7fzpmzzxm5c7fhkv1vqygq1f96r30fia0cj5jv"))))
+                "06cxajsxj62g3c37ssrrcaxb9a12zbyp2kvrjqym329k5vd89272"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("kpackage" ,kpackage)
@@ -3356,6 +3507,45 @@ script engines.")
     ;; dual licensed
     (license (list license:gpl2+ license:lgpl2.1+))))
 
+(define-public purpose
+  (package
+    (name "purpose")
+    (version "5.70.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/frameworks/"
+                    (version-major+minor version) "/"
+                    name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1pxlx2hgj42zsisws8f486n8sg0vn5a5mhb85prifwkaw0rqzgah"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (inputs
+     `(;;TODO: ("kaccounts" ,kaccounts)
+       ("kconfig" ,kconfig)
+       ("kcoreaddons" ,kcoreaddons)
+       ("knotifications" ,knotifications)
+       ("ki18n" ,ki18n)
+       ("kio" ,kio)
+       ("kirigami" ,kirigami)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)))
+    (arguments
+     `(#:tests? #f  ;; seem to require network; don't find QTQuick components
+       #:configure-flags '("-DBUILD_TESTING=OFF"))) ; not run anyway
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "Offers available actions for a specific purpose")
+    (description "This framework offers the possibility to create integrate
+services and actions on any application without having to implement them
+specifically.  Purpose will offer them mechanisms to list the different
+alternatives to execute given the requested action type and will facilitate
+components so that all the plugins can receive all the information they
+need.")
+    (license license:lgpl2.1+)))
+
 ;; This version of kdbusaddons does not use kinit as an input, and is used to
 ;; build kinit-bootstrap, as well as bootstrap versions of all kinit
 ;; dependencies which also rely on kdbusaddons.
@@ -3386,7 +3576,7 @@ script engines.")
 (define-public kde-frameworkintegration
   (package
     (name "kde-frameworkintegration")
-    (version "5.49.0")
+    (version "5.70.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3395,7 +3585,7 @@ script engines.")
                     "frameworkintegration-" version ".tar.xz"))
               (sha256
                (base32
-                "1ni4jrny630zf3zwmqbm8z7dqgiar58992lylfv7kspdg5crcgfx"))))
+                "1lvccvhhkzdv1hw627kw3ds18gfq4bxdhlvh959piqxq5gh9d2n0"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -3443,7 +3633,7 @@ workspace.")
 (define-public kdelibs4support
   (package
     (name "kdelibs4support")
-    (version "5.49.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -3452,7 +3642,7 @@ workspace.")
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "1cz70c77l66lbw4fbgmfbq1fldybqxsiay2pg9risgqp3ra8wahi"))))
+        (base32 "0imkibjlfc0jshdzr05fz5dy2xmfhvgsfan9b1r35spwsn5qkawx"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("dbus" ,dbus)
@@ -3464,7 +3654,7 @@ workspace.")
        ("shared-mime-info" ,shared-mime-info)
        ("kjobwidgets" ,kjobwidgets) ;; required for running the tests
        ("strace" ,strace)
-       ("tzdata" ,tzdata)))
+       ("tzdata" ,tzdata-for-tests)))
     (propagated-inputs
      ;; These are required to be installed along with this package, see
      ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake
@@ -3503,7 +3693,7 @@ workspace.")
        ("qtsvg" ,qtsvg)
        ("qttools" ,qttools)
        ("qtx11extras" ,qtx11extras)))
-    ;; FIXME: Use GuixSD ca-bundle.crt in etc/xdg/ksslcalist and
+    ;; FIXME: Use Guix ca-bundle.crt in etc/xdg/ksslcalist and
     ;; share/kf5/kssl/ca-bundle.crt
     ;; TODO: NixOS has nix-kde-include-dir.patch to change std-dir "include"
     ;; into "@dev@/include/". Think about whether this is needed for us, too.
@@ -3537,8 +3727,8 @@ workspace.")
                (lambda _
                  (display "[testSmb]\n*\n")))
              ;; kuniqueapptest hangs. FIXME: Make this test pass.
-             (zero? (system* "dbus-launch" "ctest" "."
-                             "-E" "kstandarddirstest|kuniqueapptest")))))))
+             (invoke "dbus-launch" "ctest" "."
+                     "-E" "kstandarddirstest|kuniqueapptest"))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "KDE Frameworks 5 porting aid from KDELibs4")
     (description "This framework provides code and utilities to ease the
@@ -3559,7 +3749,7 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.")
 (define-public khtml
   (package
     (name "khtml")
-    (version "5.49.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -3568,8 +3758,8 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.")
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "0k9m2pgq64grmgc6ywpzfnn65h8wfkkiwjbmz2mwbf2yi9c1ky64"))))
-    (build-system cmake-build-system)
+        (base32 "1jh0g6xv57hyclnh54x0f72lby1gvlisan23y7mzlqf67aky52s5"))))
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("perl" ,perl)))
@@ -3590,21 +3780,13 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.")
        ("kwidgetsaddons" ,kwidgetsaddons)
        ("kwindowsystem" ,kwindowsystem)
        ("kxmlgui" ,kxmlgui)
-       ("libjpeg" ,libjpeg)
+       ("libjpeg" ,libjpeg-turbo)
        ("libpng" ,libpng)
        ("openssl" ,openssl)
        ("phonon" ,phonon)
        ("qtbase" ,qtbase)
        ("qtx11extras" ,qtx11extras)
        ("sonnet" ,sonnet)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; Make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "KDE Frameworks 5 HTML widget and component")
     (description "KHTML is a web rendering engine, based on the KParts
@@ -3618,7 +3800,7 @@ technology and using KJS for JavaScript support.")
 (define-public kjs
   (package
     (name "kjs")
-    (version "5.49.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -3627,7 +3809,7 @@ technology and using KJS for JavaScript support.")
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "057ikyi4wffjvxdyk08hmj7h8vmbwbcxv98apmjzgsd611zvx5p0"))))
+        (base32 "0s3n0pdz59p5v967zrxcas3lb94k5bv9vi8058fi0l20nwwlcgh5"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -3651,7 +3833,7 @@ support.")
 (define-public kjsembed
   (package
     (name "kjsembed")
-    (version "5.49.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -3660,7 +3842,7 @@ support.")
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "0qddjkfm6f0f5dynqvi3l23mgyfdbk4xzg967sj3a2qlq423ah0m"))))
+        (base32 "0976faazhxhhi1wpvpcs8hwb2knz0z7j44v3ay3hw73rq4p3bipm"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -3680,7 +3862,7 @@ QObjects, so you can script your applications.")
 (define-public kmediaplayer
   (package
     (name "kmediaplayer")
-    (version "5.49.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -3689,8 +3871,8 @@ QObjects, so you can script your applications.")
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "0hbx48ivj4i96yagd9n9vd22ycsljrvijm6nfms4x7z7jr49flrx"))))
-    (build-system cmake-build-system)
+        (base32 "0lrm4y727nhwaivl37zpmnrwx048gfhyjw19m6q5z9p37lk43jja"))))
+    (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("kdoctools" ,kdoctools)
@@ -3705,14 +3887,6 @@ QObjects, so you can script your applications.")
        ("kwidgetsaddons" ,kwidgetsaddons)
        ("kxmlgui" ,kxmlgui)
        ("qtbase" ,qtbase)))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; Make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "KDE Frameworks 5 plugin interface for media player features")
     (description "KMediaPlayer builds on the KParts framework to provide a
@@ -3726,7 +3900,7 @@ KParts instead.")
 (define-public kross
   (package
     (name "kross")
-    (version "5.49.0")
+    (version "5.70.0")
     (source
      (origin
        (method url-fetch)
@@ -3735,7 +3909,7 @@ KParts instead.")
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "194zcf499fkwk3wcs3kc3l0fi9h8gn5yqh6gxrgiyn6iyy9a4qdz"))))
+        (base32 "12b527l12rcf421p613ydbacilp9v9iy90ma35w21sdf9a15k675"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)