Subject: Re: [bug#50862] [PATCHES] KDE updates (5.90, 22.12.2)

From: phodina <[email-masked]>
Date: Tue, 26 Jul 2022 17:47:20 +0000

Hi,

took me quite long to go through all the commits and the lint messages.

Here are the revised patches. They are still not the latest as that requires other dependencies (updated version of Qt, which I attempted to do as well but failed on the QtWebEngine [1]). Help also welcome.

On top there are also packages related to plasma-mobile.

I've tried to verify all the commits - the changes and the message, build the package, lint it and check if it affects other packages.

@Brendan I've fixed order of some commits as it was unable to build everything in each single commit.
However, it's daunting task. Could somebody apply these patches and check them?

In case you don't want to use the patches included in the email you can checkout the branch [2]

[1] https://issues.guix.gnu.org/56293
[2] https://github.com/phodina/guix/tree/patch/plasma-mobile

----
Petr

From ba39eb475fbe64b5246dd40ed9c166678b8dbe89 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Tue, 14 Sep 2021 21:18:06 +1000
Subject: [PATCH v2 01/75] gnu: Add plasma-wayland-protocols.

* gnu/packages/kde-frameworks.scm (plasma-wayland-protocols): New variable.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 9f957692cb..9f5eee1ab2 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1036,6 +1036,30 @@ (define-public ksyntaxhighlighting
     (properties `((upstream-name . "syntax-highlighting")))
     (license license:lgpl2.1+)))
 
+(define-public plasma-wayland-protocols
+  (package
+    (name "plasma-wayland-protocols")
+    (version "1.6.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://kde/stable/" name "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "07zhf2dzacj4xlhackpzaxqnp0d1ldkqlx0f313pw1pgd74zlkxp"))))
+    (build-system cmake-build-system)
+    (native-inputs (list extra-cmake-modules))
+    (arguments `(#:tests? #f)) ;; No tests
+    (home-page "https://community.kde.org/Frameworks")
+    (synopsis "KDE Plasma Wayland Protocols")
+    (description "Contains XML files describing non-standard wayland
+protocols used in KDE Plasma.")
+    (license (list license:bsd-3
+                   license:lgpl2.1
+                   license:lgpl2.1+
+                   license:lgpl3
+                   license:expat))))
+
 (define-public kwayland
   (package
     (name "kwayland")
-- 
2.37.0

From c7106e3a4736d741eda53ae129992ba6bb26ab7b Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 11:11:57 +0200
Subject: [PATCH v2 33/75] gnu: ark: Add bash-minimal to inputs.

* gnu/packages/kde-utils.scm (ark): [inputs]: Add bash-minimal.

diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
index 60e516f85c..ae8f7ee4ce 100644
--- a/gnu/packages/kde-utils.scm
+++ b/gnu/packages/kde-utils.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2021 Zheng Junjie <[email-masked]>
 ;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
+;;; Copyright © 2022 Petr Hodina <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,6 +27,7 @@ (define-module (gnu packages kde-utils)
   #:use-module (guix packages)
   #:use-module (gnu packages)
   #:use-module (gnu packages backup)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gnome)
@@ -80,7 +82,8 @@ (define-public ark
     (native-inputs
      (list extra-cmake-modules pkg-config kdoctools xorg-server))
     (inputs
-     (list breeze-icons
+     (list bash-minimal
+           breeze-icons
            karchive
            kconfig
            kcrash
-- 
2.37.0

From c3196cec4cdafee99145edddfa4552bbe0b66ba2 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 25 Mar 2022 11:37:17 +0100
Subject: [PATCH v2 70/75] gnu: Add plasma-mobile-settings.

* gnu/pacakges/kde-plasma.scm (plasma-mobile-settings): New variable.

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 27be62d14e..f215f9af4f 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -623,6 +623,34 @@ (define-public plasma-mobile
 customizable platform for mobile devices.")
     (license (list license:gpl3+ license:lgpl2.1+))))
 
+(define-public plasma-mobile-settings
+  (package
+    (name "plasma-mobile-settings")
+    (version "22.02")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://download.kde.org/stable/plasma-mobile/" version
+                    "/plasma-settings-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0b7lj3r9z9cz2vr0h15sqqxdaa7m07hsk8i2p8nf4a3yh02ywsxy"))))
+    (build-system cmake-build-system)
+    (native-inputs (list extra-cmake-modules pkg-config))
+    (inputs (list qtbase-5
+                  qtdeclarative
+                  kio
+                  modemmanager-qt
+                  networkmanager-qt
+                  ki18n
+                  plasma-framework
+                  kdeclarative
+                  kdbusaddons))
+    (home-page "https://plasma-mobile.org/")
+    (synopsis "Settings application for Plasma Mobile")
+    (description "This package provides Settings application for Plasma Mobile.")
+    (license (list license:gpl2+ license:gpl3+ license:lgpl2.1+))))
+
 (define-public plasma-phone-components
   (package
     (name "plasma-phone-components")
-- 
2.37.0

From 53da55b6f40ed6c58aba0e4401d0e469cc205333 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sun, 30 Jan 2022 10:56:07 +0100
Subject: [PATCH v2 65/75] gnu: Add plasma-phone-components.

* gnu/packages/kde-plasma.scm (plasma-phone-components): New variable.

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 629826fdb8..b6981d1724 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -43,6 +43,7 @@ (define-module (gnu packages kde-plasma)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages maths)
+  #:use-module (gnu packages messaging)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pkg-config)
@@ -581,6 +582,55 @@ (define-public kwin
                    license:lgpl2.1
                    license:lgpl3))))
 
+(define-public plasma-phone-components
+  (package
+    (name "plasma-phone-components")
+    (version "5.23.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://kde/stable/plasma/"
+                                  version "/plasma-phone-components-" version
+                                  ".tar.xz"))
+              (sha256
+               (base32
+                "0ml5pyi90nlmx5550sf3x9263f8mypj4jmdskzabzhnz44ck8vy9"))))
+    (build-system cmake-build-system)
+    (native-inputs (list extra-cmake-modules pkg-config qttools))
+    (inputs (list qtbase-5
+                  qtdeclarative
+                  kactivities
+                  kauth
+                  kbookmarks
+                  kwin
+                  kcodecs
+                  kcompletion
+                  kconfig
+                  kconfigwidgets
+                  kcoreaddons
+                  kdbusaddons
+                  kdeclarative
+                  ki18n
+                  kio
+                  kitemviews
+                  kjobwidgets
+                  knotifications
+                  kpackage
+                  kpeople
+                  kservice
+                  kwayland
+                  kwidgetsaddons
+                  kwindowsystem
+                  kxmlgui
+                  libphonenumber
+                  modemmanager-qt
+                  plasma-framework
+                  solid))
+    (home-page "https://plasma-mobile.org/")
+    (synopsis "Modules providing phone functionality for Plasma")
+    (description "This package provides user-friendly, privacy-enabling
+and customizable platform for mobile devices.")
+    (license (list license:gpl3+ license:lgpl2.1+))))
+
 (define-public plasma-workspace
   (package
     (name "plasma-workspace")
-- 
2.37.0

From 31cf32c83c058684ce31883d011ede087ef18ffd Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Wed, 2 Feb 2022 14:13:48 +1100
Subject: [PATCH v2 17/75] gnu: KDE Plasma: Update all packages to 5.24.4.

* gnu/packages/kde-plasma.scm (breeze, kdecoration, kscreenlocker,
ksshaskpass, layer-shell-qt, libkscreen, libksysguard): Update to 5.24.4.

(kdecoration)[inputs]: Add new dependency.

(libkscreen)[inputs]: Add new Wayland inputs.

(kscreenlocker)[inputs]: Add layer-shell-qt.

(libksysguard)[origin]: Fix url so refresh script works.
[native-inputs]: Add qttools.
[inputs]: Add libnl libcap libpcap, qtwebengine, qtwebchannel,
lm-sensors:lib.
[arguments]: Remove unneened hacks. Respect tests?.

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 2c723d34f8..7ebc08b965 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2020 Zheng Junjie <[email-masked]>
-;;; Copyright © 2021 Brendan Tildesley <[email-masked]>
+;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -29,6 +29,7 @@ (define-module (gnu packages kde-plasma)
   #:use-module (guix gexp)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system qt)
+  #:use-module (gnu packages admin)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages glib)
@@ -45,14 +46,14 @@ (define-module (gnu packages kde-plasma)
 (define-public breeze
   (package
     (name "breeze")
-    (version "5.19.5")
+    (version "5.24.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kde/stable/plasma/" version "/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0dpk1w7zcafrzf46j060i1qb0fwqpsflkfzr6gcar81llmjnc4b1"))))
+                "01cqji6figwb95drcq9vrqlkv7xmpn2csbi2mvixbcdawqhywsg3"))))
     (build-system qt-build-system)
     ;; TODO: Warning at /gnu/store/…-kpackage-5.34.0/…/KF5PackageMacros.cmake:
     ;;   warnings during generation of metainfo for org.kde.breezedark.desktop:
@@ -115,19 +116,19 @@ (define-public breeze-gtk
 (define-public kdecoration
   (package
     (name "kdecoration")
-    (version "5.19.5")
+    (version "5.24.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kde/stable/plasma/" version
                                   "/kdecoration-" version ".tar.xz"))
               (sha256
                (base32
-                "0pn8n7zyb0adzjnn92vmbcf7pmpss60k9k1rk5llamj016xzfgnf"))))
+                "05ccyb314mxf0d4ivj71l9lh13s3fqr7f4d2rmg6qshsql39569c"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
     (inputs
-     (list ki18n qtbase-5))
+     (list kcoreaddons ki18n qtbase-5))
     (home-page "https://invent.kde.org/plasma/kdecoration")
     (synopsis "Plugin based library to create window decorations")
     (description "KDecoration is a library to create window decorations.
@@ -138,14 +139,14 @@ (define-public kdecoration
 (define-public ksshaskpass
   (package
     (name "ksshaskpass")
-    (version "5.19.5")
+    (version "5.24.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kde/stable/plasma/" version
                                   "/ksshaskpass-" version ".tar.xz"))
               (sha256
                (base32
-                "1k2va2v9051f71w78dn3gihk642iyy5yzrkcfnp97fag8g6dpisi"))))
+                "1pa41w793dbi3rv6mm1a4xp46n80qwdpdlwhi6z4x76hjvqx9i9l"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -162,14 +163,14 @@ (define-public ksshaskpass
 (define-public layer-shell-qt
   (package
     (name "layer-shell-qt")
-    (version "5.24.1")
+    (version "5.24.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kde/stable/plasma/" version
                                   "/layer-shell-qt-" version ".tar.xz"))
               (sha256
                (base32
-                "1aq089pws39w9ncsiqzgg3qvfg5hc5a74pzra0smdpy5ipfsb6a4"))))
+                "03qyf6pvk36ig6ilimq02q19frdlsmrkbng2iz3d59k15zdrz5x0"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config))
@@ -188,14 +189,14 @@ (define-public layer-shell-qt
 (define-public kscreenlocker
   (package
     (name "kscreenlocker")
-    (version "5.19.5")
+    (version "5.24.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kde/stable/plasma/" version
                                   "/kscreenlocker-" version ".tar.xz"))
               (sha256
                (base32
-                "1fd5sqaqx9kj3kr0bgxpllhcm5arf8bc9pkpd9yk9c8xjy0j0fxi"))))
+                "1xzc80awsapsg65kk21ssp7y0jb374k1w2bb7gvzj8j40rrn48pv"))))
     (build-system qt-build-system)
     (arguments
      `(#:tests? #f ;; TODO: make tests pass
@@ -213,35 +214,36 @@ (define-public kscreenlocker
              (if tests?
                  (begin
                    (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
-                   (invoke "dbus-launch" "ctest" ".")))
+                   (invoke "dbus-launch" "ctest")))
              #t)))))
     (native-inputs
      (list extra-cmake-modules pkg-config
            ;; For tests.
            dbus xorg-server-for-tests))
     (inputs
-     `(("kcmutils" ,kcmutils)
-       ("kcrash" ,kcrash)
-       ("kdeclarative" ,kdeclarative)
-       ("kglobalaccel" ,kglobalaccel)
-       ("ki18n" ,ki18n)
-       ("kidletime" ,kidletime)
-       ("knotifications" ,knotifications)
-       ("ktextwidgets" ,ktextwidgets)
-       ("kwayland" ,kwayland)
-       ("kwindowsystem" ,kwindowsystem)
-       ("kxmlgui" ,kxmlgui)
-       ("libseccomp" ,libseccomp) ;for sandboxing the look'n'feel package
-       ("libxcursor" ,libxcursor) ;missing in CMakeList.txt
-       ("libxi" ,libxi)           ;XInput, required for grabbing XInput2 devices
-       ("linux-pam" ,linux-pam)
-       ("logind" ,elogind)        ;optional loginctl support
-       ("qtbase" ,qtbase-5)
-       ("qtdeclarative" ,qtdeclarative)
-       ("qtx11extras" ,qtx11extras)
-       ("solid" ,solid)
-       ("wayland" ,wayland)
-       ("xcb-util-keysyms" ,xcb-util-keysyms)))
+     (list kcmutils
+           kcrash
+           kdeclarative
+           kglobalaccel
+           ki18n
+           kidletime
+           knotifications
+           ktextwidgets
+           kwayland
+           kwindowsystem
+           kxmlgui
+           layer-shell-qt
+           libseccomp ;for sandboxing the look'n'feel package
+           libxcursor ;missing in CMakeList.txt
+           libxi ;XInput, required for grabbing XInput2 devices
+           linux-pam
+           elogind ;optional loginctl support
+           qtbase-5
+           qtdeclarative
+           qtx11extras
+           solid
+           wayland
+           xcb-util-keysyms))
     (home-page "https://invent.kde.org/plasma/kscreenlocker")
     (synopsis "Screen locking library")
     (description
@@ -251,21 +253,22 @@ (define-public kscreenlocker
 (define-public libkscreen
   (package
     (name "libkscreen")
-    (version "5.19.5")
+    (version "5.24.4")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/plasma/" version "/"
                            name "-" version ".tar.xz"))
        (sha256
-        (base32 "0rf1pm0yyc069f4n5s9ipdx4glzfr9zvv5cbrmn4q9i4v6z1qd8i"))))
+        (base32 "1xv7vml5lxj1lnansisfbfym35h265ggwsyjplz76aibj5nyqv81"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules
            ;; For testing.
            dbus))
     (inputs
-     (list kwayland libxrandr qtbase-5 qtx11extras))
+     (list kwayland libxrandr plasma-wayland-protocols
+           qtbase-5 qtwayland wayland qtx11extras))
     (arguments
      '(#:tests? #f)) ; FIXME: 55% tests passed, 5 tests failed out of 11
     (home-page "https://community.kde.org/Solid/Projects/ScreenManagement")
@@ -278,56 +281,53 @@ (define-public libkscreen
 (define-public libksysguard
   (package
     (name "libksysguard")
-    (version "5.19.5")
+    (version "5.24.4")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde//stable/plasma/" version
+       (uri (string-append "mirror://kde/stable/plasma/" version
                            "/libksysguard-" version ".tar.xz"))
        (sha256
-        (base32 "1kd0h3p8bf9k5pqp0frhr81pa0yyrpkckg9zznirk9p1v88v7bfq"))))
+        (base32 "00i4l2kc02wymmiqh7wam8dp4h9hvn8nsxfv258waq7pnxzjmnkn"))))
     (native-inputs
-     (list extra-cmake-modules pkg-config))
+     (list extra-cmake-modules pkg-config qttools))
     (inputs
-     `(("kconfigwidgets" ,kconfigwidgets)
-       ("kiconthemes" ,kiconthemes)
-       ("kwindowsystem" ,kwindowsystem)
-       ("ki18n" ,ki18n)
-       ("kauth" ,kauth)
-       ("kcompletion" ,kcompletion)
-       ("kconfig" ,kconfig)
-       ("kcoreaddons" ,kcoreaddons)
-       ("kdeclarative" ,kdeclarative)
-       ("kglobalaccel" ,kglobalaccel)
-       ("kio" ,kio)
-       ("knewstuff" ,knewstuff)
-       ("kwidgetsaddons" ,kwidgetsaddons)
-       ("kservice" ,kservice)
-       ("qtbase" ,qtbase-5)
-       ("qtdeclarative" ,qtdeclarative)
-       ("qtscript" ,qtscript)
-       ("qtwebkit" ,qtwebkit)
-       ("qtx11extras" ,qtx11extras)
-       ("plasma" ,plasma-framework)
-       ("zlib" ,zlib)))
+     (list kauth
+           kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kdeclarative
+           kglobalaccel
+           ki18n
+           kiconthemes
+           kio
+           knewstuff
+           kservice
+           kwidgetsaddons
+           kwindowsystem
+           libnl
+           libcap
+           libpcap
+           `(,lm-sensors "lib")
+           plasma-framework
+           qtbase-5
+           qtdeclarative
+           qtscript
+           qtwebchannel
+           qtwebengine
+           qtwebkit
+           qtx11extras
+           zlib))
     (build-system qt-build-system)
     (arguments
-     (list #:configure-flags
-           #~`(,(string-append "-DKDE_INSTALL_DATADIR="
-                               #$output "/share"))
-           #:phases
+     (list #:phases
            #~(modify-phases %standard-phases
-               (add-before 'configure 'patch-cmakelists
-                 (lambda _
-                   ;; TODO: Verify: This should no longer be necessary, since
-                   ;; KF5AuthConfig.cmake.in contains this already.
-                   (substitute* "processcore/CMakeLists.txt"
-                     (("KAUTH_HELPER_INSTALL_DIR")
-                      "KDE_INSTALL_LIBEXECDIR"))))
                (replace 'check
-                 (lambda _
-                   ;; TODO: Fix this failing test-case
-                   (invoke "ctest" "-E" "processtest"))))))
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     ;; TODO: Fix this failing test-case
+                     (invoke "ctest" "-E" "processtest")))))))
     (home-page "https://userbase.kde.org/KSysGuard")
     (synopsis "Network enabled task and system monitoring")
     (description "KSysGuard can obtain information on system load and
-- 
2.37.0

From b7167a2b33317f421b427c17555f3b4766ef134d Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 11:16:10 +0200
Subject: [PATCH v2 35/75] gnu: KDE Utils: Remove trailing booleans.

* gnu/packages/kde-utils.scm (kate, okteta): [arguments]: Remove trailing booleans.

diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
index a319cb3010..4a09828628 100644
--- a/gnu/packages/kde-utils.scm
+++ b/gnu/packages/kde-utils.scm
@@ -159,8 +159,7 @@ (define-public kate
            (lambda _
              ;; make Qt render "offscreen", required for tests
              (setenv "QT_QPA_PLATFORM" "offscreen")
-             (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")
-             #t)))))
+             (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache"))))))
     (home-page "https://kate-editor.org/")
     (synopsis "Multi-document, multi-view text editor")
     (description "Kate is a powerful text editor that can open multiple files
@@ -440,8 +439,7 @@ (define-public okteta
            (lambda _
              ;; make Qt render "offscreen", required for tests
              (setenv "QT_QPA_PLATFORM" "offscreen")
-             (setenv "HOME" "/tmp/dummy-home")
-             #t)))))
+             (setenv "HOME" "/tmp/dummy-home"))))))
     (home-page "https://apps.kde.org/okteta/")
     (synopsis "Hexadecimal editor for binary files")
     (description "Okteta is a simple editor for the raw data of files.  This
-- 
2.37.0

From 249af980f68b717b591db9bed67a9fe25a7431e3 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Tue, 15 Feb 2022 22:21:15 +1100
Subject: [PATCH v2 49/75] gnu: KDE: Use breeze-icons over oxygen-icons.

* gnu/packages/kde-internet.scm (choqok kget konversation krdc krdc)
* gnu/packages/kde-multimedia.scm (dragon elisa juk k3b kaffeine kamoso
kmix kmplayer kwave)
* gnu/packages/kde-pim.scm (kaddressbook kcalutils kgpg kleopatra kmail
knotes korganizer)
* gnu/packages/kde-systemtools.scm (dolphin dolphin-plugins khelpcenter
konsole krfb ksystemlog)
* gnu/packages/kde-utils.scm (kate kmag kmousetool kmouth kronometer
krusader okteta rsibreak smb4k sweeper)
* gnu/packages/kde.scm (kdevelop)
Breeze icons replaces Oxygen icons in KDE 5, so use that in every package.

diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm
index 2744ab1d9c..ee6fdf10af 100644
--- a/gnu/packages/kde-internet.scm
+++ b/gnu/packages/kde-internet.scm
@@ -87,7 +87,7 @@ (define-public choqok
            kwidgetsaddons
            kxmlgui
            ;; TODO: telepathy
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            purpose
            qca
            qoauth
@@ -157,7 +157,7 @@ (define-public kget
            libktorrent
            ;; TODO: libmms
            ;; TODO: LibKWorkspace - plasma-workspace?
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            qca
            qgpgme
            qtbase-5))
@@ -216,7 +216,7 @@ (define-public konversation
            kwallet
            kwidgetsaddons
            kwindowsystem
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            phonon
            qtbase-5
            qca
@@ -359,7 +359,7 @@ (define-public krdc
            kxmlgui
            libssh
            libvnc
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            qtbase-5))
     (arguments ;; FIXEME: libvnc can't be found for some reason.
      (list #:configure-flags #~(list "-DWITH_VNC=NO")))
@@ -412,7 +412,7 @@ (define-public ktorrent
            libgcrypt
            libktorrent
            ;; TODO: LibKWorkspace -> plasma-workspace?
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            phonon
            qtbase-5
            qtscript
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 9a9ec4b8be..64d633cb7d 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -122,7 +122,7 @@ (define-public dragon
            kwidgetsaddons
            kwindowsystem
            kxmlgui
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            phonon
            phonon-backend-gstreamer
            gst-plugins-base
@@ -185,7 +185,7 @@ (define-public elisa
            kpackage
            kwidgetsaddons
            kxmlgui
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            phonon
            qtbase-5
            qtdeclarative
@@ -281,7 +281,7 @@ (define-public juk
            kwidgetsaddons
            kwindowsystem
            kxmlgui
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            phonon
            phonon-backend-gstreamer
            qtbase-5
@@ -435,7 +435,7 @@ (define-public k3b
            libsamplerate
            libsndfile
            libvorbis
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            qtbase-5
            shared-mime-info
            solid
@@ -478,7 +478,7 @@ (define-public kaffeine
            kwindowsystem
            kxmlgui
            libxscrnsaver
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            qtbase-5
            qtx11extras
            solid
@@ -531,7 +531,7 @@ (define-public kamoso
            kirigami
            knotifications
            kparts
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            purpose
            qtbase-5
            qtdeclarative
@@ -579,7 +579,7 @@ (define-public kmix
            kwindowsystem
            kxmlgui
            libcanberra
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            plasma-framework
            pulseaudio
            qtbase-5
@@ -621,7 +621,7 @@ (define-public kmplayer
            kmediaplayer
            kwidgetsaddons
            libxcb ;; FIXME: why does cmake not find XEVIE and XPRINT?
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            phonon
            qtbase-5
            cairo
@@ -695,7 +695,7 @@ (define-public kwave
            libsamplerate
            libvorbis
            opus
-           oxygen-icons ; default icon set
+           breeze-icons ; default icon set
            pulseaudio
            qtbase-5
            qtmultimedia
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index b31fa85f67..7b78b2d859 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -448,7 +448,7 @@ (define-public kaddressbook
            kxmlgui
            libkdepim
            libkleo
-           oxygen-icons ; default icon set, required for tests
+           breeze-icons ; default icon set, required for tests
            prison
            qgpgme
            qtbase-5))
@@ -607,7 +607,7 @@ (define-public kcalutils
            kpimtextedit
            ktextwidgets
            kwidgetsaddons
-           oxygen-icons ; default icon set, required for tests
+           breeze-icons ; default icon set, required for tests
            qtbase-5))
     (arguments
      `(#:tests? #f)) ;; TODO: seem to pull in some wrong theme
@@ -811,7 +811,7 @@ (define-public kgpg
            kwidgetsaddons
            kwindowsystem
            kxmlgui
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qtbase-5))
     (home-page "https://apps.kde.org/utilities/org.kde.kgpg/")
     (synopsis "Graphical front end for GNU Privacy Guard")
@@ -951,7 +951,7 @@ (define-public kleopatra
            kxmlgui
            libassuan
            libkleo
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qgpgme
            qtbase-5))
     (arguments
@@ -1035,7 +1035,7 @@ (define-public kmail
            libkdepim
            libkleo
            libksieve
-           oxygen-icons ; default icon set, required for tests
+           breeze-icons ; default icon set, required for tests
            qgpgme
            qtbase-5
            qtdeclarative
@@ -1419,7 +1419,7 @@ (define-public knotes
            kxmlgui
            kxmlgui
            libkdepim
-           oxygen-icons ; default icon set, required for tests
+           breeze-icons ; default icon set, required for tests
            qtbase-5
            qtx11extras))
     (home-page "https://apps.kde.org/knotes/")
@@ -1525,7 +1525,7 @@ (define-public korganizer
            kwindowsystem
            kxmlgui
            libkdepim
-           oxygen-icons ; default icon set, required for tests
+           breeze-icons ; default icon set, required for tests
            phonon
            qtbase-5))
     (arguments
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index c9b29ec907..4364ff6a7b 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -74,7 +74,7 @@ (define-public dolphin
            ktextwidgets
            kuserfeedback
            kwindowsystem
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            phonon
            qtbase-5
            solid))
@@ -117,7 +117,7 @@ (define-public dolphin-plugins
            ktexteditor
            ksyntaxhighlighting
            kxmlgui
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qtbase-5))
     (home-page "http://www.kde.org/")
     (synopsis "VCS-Plugins for Dolphin")
@@ -156,7 +156,7 @@ (define-public khelpcenter
            kservice
            kwindowsystem
            libxml2
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qtbase-5
            xapian))
     (arguments
@@ -222,7 +222,7 @@ (define-public konsole
            kwidgetsaddons
            kwindowsystem
            kxmlgui
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qtbase-5
            qtscript))
     (arguments
@@ -269,7 +269,7 @@ (define-public krfb
            libvnc
            libxcb
            libxtst
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            pipewire-0.3
            plasma-wayland-protocols
            qtbase-5
@@ -319,7 +319,7 @@ (define-public ksystemlog
            ktextwidgets
            kwidgetsaddons
            kxmlgui
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qtbase-5))
     (home-page "https://apps.kde.org/ksystemlog/")
     (synopsis "System log viewer")
diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
index 4a09828628..e83da4197a 100644
--- a/gnu/packages/kde-utils.scm
+++ b/gnu/packages/kde-utils.scm
@@ -148,7 +148,7 @@ (define-public kate
            plasma-framework
            kwindowsystem
            kxmlgui
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qtbase-5
            qtscript))
     (arguments
@@ -198,7 +198,7 @@ (define-public kmag
      (list ki18n
            kio
            kxmlgui
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            ;; TODO: QAccessibilityClient - libqaccessibilityclien
            qtbase-5))
     (home-page "https://apps.kde.org/kmag/")
@@ -237,7 +237,7 @@ (define-public kmousetool
            libxtst
            libxt
            phonon
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qtbase-5))
     (home-page "https://apps.kde.org/kmousetool/")
     (synopsis "Automatic mouse click and mouse manipulation tool for the
@@ -272,7 +272,7 @@ (define-public kmouth
            kio
            kwidgetsaddons
            kxmlgui
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qtbase-5
            qtspeech))
     (home-page "https://apps.kde.org/kmouth/")
@@ -310,7 +310,7 @@ (define-public kronometer
            ki18n
            kwidgetsaddons
            kxmlgui
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qtbase-5))
     (home-page "https://apps.kde.org/kronometer/")
     (synopsis "Simple stopwatch application")
@@ -353,7 +353,7 @@ (define-public krusader
            kwidgetsaddons
            kwindowsystem
            kxmlgui
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qtbase-5
            solid
            zlib))
@@ -427,7 +427,7 @@ (define-public okteta
            kservice
            kwidgetsaddons
            kxmlgui
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qca
            qtbase-5
            qtdeclarative
@@ -485,7 +485,7 @@ (define-public rsibreak
            ktextwidgets
            kwindowsystem
            kxmlgui
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qtbase-5))
     (home-page "https://apps.kde.org/rsibreak/")
     (synopsis "Assists in the Recovery and Prevention of Repetitive Strain
@@ -532,7 +532,7 @@ (define-public smb4k
            kwindowsystem
            kxmlgui
            samba
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            plasma-framework
            qtbase-5
            qtdeclarative
@@ -594,7 +594,7 @@ (define-public sweeper
            kio
            ktextwidgets
            kxmlgui
-           oxygen-icons ;; default icon set
+           breeze-icons ;; default icon set
            qtbase-5))
     (home-page "https://apps.kde.org/sweeper/")
     (synopsis "Temporary file and history cleaner")
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 438119126e..03343e2774 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -339,7 +339,7 @@ (define-public kdevelop
                   kwindowsystem
                   kxmlgui
                   libkomparediff2
-                  oxygen-icons
+                  breeze-icons
                   qtbase-5
                   qtdeclarative
                   qtquickcontrols ;; not checked as requirement
-- 
2.37.0

From 2cf5f879c93bce8b4ef4f9da62d4cc3091e756b3 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Mon, 25 Jul 2022 11:36:58 +0200
Subject: [PATCH v2 09/75] gnu: kfilemetadata: Remove input labels.

* gnu/packages/kde-frameworks.scm (kfilemetadata): Remove input labels.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 2edeb81182..8eb540b8b3 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1712,9 +1712,7 @@ (define-public kfilemetadata
                ;; (but it can find audio/x-speex+ogg).
                (invoke "ctest" "-E"
 			   "(usermetadatawritertest|embeddedimagedatatest|taglibextractortest)")))))))
-    (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)
-       ("pkg-config" ,pkg-config)))
+    (native-inputs (list extra-cmake-modules pkg-config))
     (inputs
      (list attr
            ;; TODO: EPub http://sourceforge.net/projects/ebook-tools
-- 
2.37.0

From b9a56e26ce073af53d6c6f80e52e8a563986fd00 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Mon, 25 Jul 2022 11:40:42 +0200
Subject: [PATCH v2 11/75] gnu: kwindowsystem: Remove input labels.

* gnu/packages/kde-frameworks.scm (kwindowsystem): Remove input labels.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 4e71d6db23..6c57261231 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1127,11 +1127,11 @@ (define-public kwindowsystem
            qttools
            xorg-server-for-tests)) ; for the tests
     (inputs
-     `(("libxrender" ,libxrender)
-       ("qtbase" ,qtbase-5)
-       ("qtx11extras" ,qtx11extras)
-       ("xcb-utils-keysyms" ,xcb-util-keysyms)
-       ("xcb-util-wm" ,xcb-util-wm)))
+     (list libxrender
+           qtbase-5
+           qtx11extras
+           xcb-util-keysyms
+           xcb-util-wm))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-- 
2.37.0

From 23a02fcb71092111b2dce1d9f2044b12233d2caf Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Tue, 8 Feb 2022 17:03:20 +1100
Subject: [PATCH v2 53/75] gnu: Add kwin.

* gnu/packages/kde-plasma.scm (kwin): New variable.

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index f582c8529c..1c9cb2c16a 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -31,11 +31,16 @@ (define-module (gnu packages kde-plasma)
   #:use-module (guix build-system qt)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
@@ -383,3 +388,191 @@ (define-public kwayland-server
                    license:lgpl3
                    license:expat
                    license:bsd-3))))
+
+(define-public kwin
+  (package
+    (name "kwin")
+    (version "5.24.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/plasma/" version
+                          "/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1qwcd6iw6yvpchiwmvq5nwsr465jmrmscf286mjrc65im4hj6572"))))
+    (native-inputs
+     (list extra-cmake-modules
+           dbus
+           kdoctools
+           pkg-config
+           qttools
+           xorg-server-for-tests))
+    (inputs
+     (list breeze
+           eudev
+           fontconfig
+           freetype
+           hwdata
+           kactivities
+           kcmutils
+           kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           kdeclarative
+           kdecoration
+           kglobalaccel
+           ki18n
+           kiconthemes
+           kidletime
+           kio
+           kirigami
+           knewstuff
+           knotifications
+           kpackage
+           krunner
+           kscreenlocker
+           ktextwidgets
+           kwayland
+           kwayland-server
+           kwindowsystem
+           kxmlgui
+           lcms
+           libcap
+           libepoxy
+           libinput
+           libxkbcommon
+           pipewire-0.3
+           plasma-framework
+           plasma-wayland-protocols
+           qtbase-5
+           qtdeclarative
+           qtwayland
+           qtx11extras
+           wayland
+           wayland-protocols
+           xcb-util ; fails at build time without this
+           xcb-util-cursor
+           xcb-util-keysyms
+           xcb-util-wm
+           xcmsdb
+           xinput ;; XXX: Says disabled in configure phase
+           xorg-server-xwayland
+           zlib))
+ ;;     * hwdata, <https://github.com/vcrhonek/hwdata>
+ ;;   Runtime-only dependency needed for mapping monitor hardware vendor IDs to full names
+ ;; * QtQuick.Controls-QMLModule, QML module 'QtQuick.Controls' is a runtime dependency.
+ ;; * QtMultimedia-QMLModule, QML module 'QtMultimedia' is a runtime dependency.
+ ;; * org.kde.kquickcontrolsaddons-QMLModule, QML module 'org.kde.kquickcontrolsaddons' is a runtime dependency.
+ ;; * org.kde.plasma.core-QMLModule, QML module 'org.kde.plasma.core' is a runtime dependency.
+ ;; * org.kde.plasma.components-QMLModule, QML module 'org.kde.plasma.components' is a runtime dependency.
+
+   ;;   * QAccessibilityClient, KDE client-side accessibility library, <https://www.kde.org>
+   ;; Required to enable accessibility features
+
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f ;; Over 50 tests fail inconsistently.
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; Make QDirIterator follow symlinks
+             (substitute* '("src/plugins/kdecorations/aurorae/src/aurorae.cpp")
+               (("(^\\s*QDirIterator it.path, QDirIterator::Subdirectories)(\\);)"
+                 _ a b)
+                (string-append a " | QDirIterator::FollowSymlinks" b)))
+             (substitute* '("src/xwl/xwayland.cpp")
+               (("(m_xwaylandProcess->setProgram.QStringLiteral..)(Xwayland)(...;)"
+                 _ a Xwayland b)
+                (string-append a (which "Xwayland") b)))
+             (substitute* '("cmake/modules/Findhwdata.cmake")
+               (("/usr/share")
+                (string-append (assoc-ref inputs "hwdata") "/share")))
+             #t))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "XDG_RUNTIME_DIR" (getcwd))
+               (setenv "HOME"  (getcwd))
+               (setenv "DISPLAY" ":1")
+               (system "Xvfb :1 &")
+               (sleep 5)
+               ;; FIXME: Disable failing tests for now. Many of these tests fail inconsistently.
+               (invoke "ctest" "-E" "(\
+kwin-testActivation|\
+kwin-testActivation-waylandonly|\
+kwin-testDebugConsole|\
+kwin-testDecorationInput-waylandonly|\
+kwin-testDecorationInput|\
+kwin-testDontCrashCursorPhysicalSizeEmpty-waylandonly|\
+kwin-testDontCrashAuroraeDestroyDeco|\
+kwin-testDontCrashNoBorder-waylandonly|\
+kwin-testDontCrashCancelAnimation|\
+kwin-testDontCrashGlxgears|\
+kwin-testDontCrashUseractionsMenu-waylandonly|\
+kwin-testDontCrashUseractionsMenu|\
+kwin-testGlobalShortcuts|\
+kwin-testInternalWindow-waylandonly|\
+kwin-testIdleInhibition-waylandonly|\
+kwin-testInputMethod|\
+kwin-testInputStackingOrder-waylandonly|\
+kwin-testKeyboardLayout-waylandonly|\
+kwin-testKWinBindings|\
+kwin-testLayerShellV1Client-waylandonly|\
+kwin-testLibinputDevice|\
+kwin-testLockScreen|\
+kwin-testMaximized-waylandonly|\
+kwin-testMaximized|\
+kwin-testModiferOnlyShortcut|\
+kwin-testNightColor-waylandonly|\
+kwin-testNightColor|\
+kwin-testNoGlobalShortcuts|\
+kwin-testOutputManagement|\
+kwin-testOutputManagement-waylandonly|\
+kwin-testPlacement-waylandonly|\
+kwin-testPlasmaSurface|\
+kwin-testPlasmaSurface-waylandonly|\
+kwin-testPlasmaWindow|\
+kwin-testPlatformCursor|\
+kwin-testPointerConstraints-waylandonly|\
+kwin-testPointerInput|\
+kwin-testQuickTiling|\
+kwin-testSceneOpenGL-waylandonly|\
+kwin-testSceneOpenGLES-waylandonly|\
+kwin-testSceneOpenGLES|\
+kwin-testSceneQPainter|\
+kwin-testScreenChanges-waylandonly|\
+kwin-testScreens|\
+kwin-testShade|\
+kwin-testShowingDesktop-waylandonly|\
+kwin-testStruts|\
+kwin-testTabBox-waylandonly|\
+kwin-testTouchInput|\
+kwin-testTouchInput-waylandonly|\
+kwin-testVirtualDesktop-waylandonly|\
+kwin-testVirtualKeyboardDBus-waylandonly|\
+kwin-testWindowSelection-waylandonly|\
+kwin-testX11Client|\
+kwin-testXdgShellClient-waylandonly|\
+kwin-testXdgShellClient|\
+kwin-testXwaylandSelections)")))))))
+    (home-page "https://userbase.kde.org/KWin")
+    (synopsis "KDE Plasma Window Manager")
+    (description
+     "KWin is an easy to use, but flexible, composited Window Manager for
+Xorg windowing systems (Wayland, X11) on Linux.  Its primary usage is in
+conjunction with the KDE Plasma Desktop.")
+    (license (list license:bsd-2
+                   license:bsd-3
+                   license:expat
+                   license:gpl2
+                   license:gpl2+
+                   license:gpl3
+                   license:gpl3+
+                   license:lgpl2.0
+                   license:lgpl2.0+
+                   license:lgpl2.1
+                   license:lgpl3))))
-- 
2.37.0

From f88fe41ceb61f8c7401f689ed408692419654311 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Mon, 25 Jul 2022 11:34:36 +0200
Subject: [PATCH v2 08/75] gnu: kio: Remove input labels.

* gnu/packages/kde-frameworks.scm (kio): Remove input labels.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index fee4827dea..2edeb81182 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -2628,31 +2628,30 @@ (define-public kio
            solid))
     (native-inputs
      (list extra-cmake-modules dbus kdoctools qttools))
-    (inputs
-     `(;; TODO:  LibACL , <ftp://oss.sgi.com/projects/xfs/cmd_tars>
-       ("krb5" ,mit-krb5)
-       ("karchive" ,karchive)
-       ("kauth" ,kauth)
-       ("kcodecs" ,kcodecs)
-       ("kconfigwidgets" ,kconfigwidgets)
-       ("kcrash" ,kcrash)
-       ("kdbusaddons" ,kdbusaddons)
-       ("kdoctools" ,kdoctools)
-       ("kguiaddons" ,kguiaddons)
-       ("kiconthemes" ,kiconthemes)
-       ("ki18n" ,ki18n)
-       ("knotifications" ,knotifications)
-       ("ktextwidgets" ,ktextwidgets)
-       ("kwallet" ,kwallet)
-       ("kwidgetsaddons" ,kwidgetsaddons)
-       ("libxml2" ,libxml2)
-       ("libxslt" ,libxslt)
-       ("qtbase" ,qtbase-5)
-       ("qtscript" ,qtscript)
-       ("qtx11extras" ,qtx11extras)
-       ("sonnet" ,sonnet)
-       ("util-linux:lib" ,util-linux "lib") ; libmount
-       ("zlib" ,zlib)))
+    (inputs (list ;; TODO:  LibACL , <ftp://oss.sgi.com/projects/xfs/cmd_tars>
+                  mit-krb5
+                  karchive
+                  kauth
+                  kcodecs
+                  kconfigwidgets
+                  kcrash
+                  kdbusaddons
+                  kdoctools
+                  kguiaddons
+                  kiconthemes
+                  ki18n
+                  knotifications
+                  ktextwidgets
+                  kwallet
+                  kwidgetsaddons
+                  libxml2
+                  libxslt
+                  qtbase-5
+                  qtscript
+                  qtx11extras
+                  sonnet
+                  `(,util-linux "lib") ; libmount
+                  zlib))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-- 
2.37.0

From 1774cc8bb61e05f90084def6f33a8d85153b0e98 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Fri, 4 Feb 2022 19:40:41 +1100
Subject: [PATCH v2 36/75] gnu: KDE SystemTools: Update all packages to
 21.12.3.

* gnu/packages/kde-systemtools.scm (dolphin, dolphin-plugins,
khelpcenter, konsole, krfb, ksystemlog, yakuake): Update to 21.12.3.

(krfb)[inputs]: Add new dependencies.

diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 3fab9089f3..aa0ed53a80 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2020 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2021 Tobias Geerinckx-Rice <[email-masked]>
+;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@ (define-module (gnu packages kde-systemtools)
   #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages kde)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages linux)
@@ -39,14 +41,14 @@ (define-module (gnu packages kde-systemtools)
 (define-public dolphin
   (package
     (name "dolphin")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/dolphin-" version ".tar.xz"))
        (sha256
-        (base32 "0xr5s0s40i2bsfjfapvpa7dxh9s4604cxirg97xcaacd6fdvhpds"))))
+        (base32 "0m5nqa8j0mcsrx9wxfcf8z39kxas51k03lschr721vm4x65j64jq"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools ruby ruby-test-unit))
@@ -69,6 +71,7 @@ (define-public dolphin
            knotifications
            kparts
            ktextwidgets
+           kuserfeedback
            kwindowsystem
            oxygen-icons ;; default icon set
            phonon
@@ -95,14 +98,14 @@ (define-public dolphin
 (define-public dolphin-plugins
   (package
     (name "dolphin-plugins")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/dolphin-plugins-" version ".tar.xz"))
        (sha256
-        (base32 "12g44s6g7ma6avp15l45l42qyzbglswvahm2wji79zdls5vjnz7r"))))
+        (base32 "0rbz6fw98c71h10ry1xjc0pgzvphajmj18lnjm4hf7bbrizsmdb5"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -111,6 +114,7 @@ (define-public dolphin-plugins
            ki18n
            kio
            ktexteditor
+           ksyntaxhighlighting
            kxmlgui
            oxygen-icons ;; default icon set
            qtbase-5))
@@ -123,14 +127,14 @@ (define-public dolphin-plugins
 (define-public khelpcenter
   (package
     (name "khelpcenter")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/khelpcenter-" version ".tar.xz"))
        (sha256
-        (base32 "0wxzjragvjcfc7c4qja8wzpshhaywficj7f7wkmppzybcsxwn9qb"))))
+        (base32 "1fj1c57bqs009rx9db4ifvfmhhl4b35r5sfly3wvbfr4dapjqfqr"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -172,14 +176,14 @@ (define-public khelpcenter
 (define-public konsole
   (package
     (name "konsole")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/konsole-" version ".tar.xz"))
        (sha256
-        (base32 "0ckr7bjkyaw0gr5kx569jfnhkhwmlk4lqk41ng61qwxlb4bsdbdm"))))
+        (base32 "06sqm2xmairicrdcxnf7imvyvw0wyknrrym334scx2w7mfhjg5qs"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -226,14 +230,14 @@ (define-public konsole
 (define-public krfb
   (package
     (name "krfb")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/krfb-" version ".tar.xz"))
        (sha256
-        (base32 "092ijn88jpmgk2zwz37vzf35jisl234mc3krc9jl7bd955akx51k"))))
+        (base32 "1r8lvvh2z8xi0l3pizlpl12nm4fnbpgiwqmx18w8i51x4j27dv0n"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config kdoctools))
@@ -247,6 +251,7 @@ (define-public krfb
            ki18n
            knotifications
            kwallet
+           kwayland
            kwidgetsaddons
            kwindowsystem
            kxmlgui
@@ -255,8 +260,11 @@ (define-public krfb
            libxtst
            oxygen-icons ;; default icon set
            pipewire-0.3
+           plasma-wayland-protocols
            qtbase-5
+           qtwayland
            qtx11extras
+           wayland
            xcb-util-image
            zlib))
     (home-page "https://kde.org/applications/internet/org.kde.krfb")
@@ -276,14 +284,14 @@ (define-public krfb
 (define-public ksystemlog
   (package
     (name "ksystemlog")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/ksystemlog-" version ".tar.xz"))
        (sha256
-        (base32 "1826h89ynvlxdwzyqil2d79cvynglww6fax7qp41wxasgarxhsni"))))
+        (base32 "0jkd0rx0xlzwsxa3s40sp5x4r19a9rg1x9klpnjfw0b326vgf2m9"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -315,14 +323,14 @@ (define-public ksystemlog
 (define-public yakuake
   (package
     (name "yakuake")
-    (version "20.12.1")
+    (version "21.12.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kde/stable/release-service/" version
                                   "/src/yakuake-" version ".tar.xz"))
               (sha256
                (base32
-                "02pal9xx1wbpw7dimvs2aw1xnyjqlvbjlybkkfhf8x7c6m1r63aa"))))
+                "10mkr8svkjf2s023mf21cil2c5v986s5b2yp1hm0fzdgmawpwrh9"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
-- 
2.37.0

From 61193a3e8c08618219943ea2ca0094687baacb39 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Sun, 6 Feb 2022 18:22:35 +1100
Subject: [PATCH v2 45/75] gnu: KDE Games: Update all packages to 21.12.3.

* gnu/packages/kde-games.scm (ktuberling, picmi, kolf, libkmahjongg,
kmahjongg, kshisen, kajongg, kbreakout, kmines, konquest, kbounce,
kblocks, ksudoku, klines, kgoldrunner, kdiamond, kfourinline, kblackbox,
knetwalk, bomber, granatier, ksirk, palapeli, kiriki, kigo, kubrick,
lskat, kapman, kspaceduel, bovo, killbots, ksnakeduel, kollision,
knavalbattle, kreversi, ksquares, kjumpingcube): Update to 21.12.3.

diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm
index bc198009a3..6d938d8834 100644
--- a/gnu/packages/kde-games.scm
+++ b/gnu/packages/kde-games.scm
@@ -40,14 +40,14 @@ (define-module (gnu packages kde-games)
 (define-public ktuberling
   (package
     (name "ktuberling")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/ktuberling-" version ".tar.xz"))
       (sha256
-       (base32 "0mlv9qllg70p26dbrcsr820c70d3ib88hapc1z6wgjhdpmc12ni1"))))
+       (base32 "1awsn285j9nggyypkra9ladgi46w2m7m09d8364w5d0sygpzmgsg"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools perl))
@@ -89,14 +89,14 @@ (define-public ktuberling
 (define-public picmi
   (package
     (name "picmi")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/picmi-" version ".tar.xz"))
       (sha256
-       (base32 "1dfq9m4njh0czz8zws46rkz6xq2n6xra5w223m3s2f5civiw5msz"))))
+       (base32 "0gk1yq5ac55k6lxbxszxpd393fb9k6yphisb71lx2zv9gchl44n6"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -125,14 +125,14 @@ (define-public picmi
 (define-public kolf
   (package
     (name "kolf")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kolf-" version ".tar.xz"))
        (sha256
-        (base32 "1lpp6pzr5dgd4si4a8c7hcvgxgqy0bgyhkx9m6jqb0zhll6dxj10"))))
+        (base32 "00dhjy82d9964z94nn4vkkwynql3bfa6djwrgsq93f9d7grgkd7g"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -172,14 +172,14 @@ (define-public kolf
 (define-public libkmahjongg
   (package
     (name "libkmahjongg")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/"
                           version "/src/libkmahjongg-" version ".tar.xz"))
       (sha256
-       (base32 "10ljzbf7qki5flydankrbksaihhkqpfyljb8c71fbwqwmkr7rgfq"))))
+       (base32 "114viyqq7zlwsdnm96iyyvj8ma4p06m69hs641yv42xlbkspwbal"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -203,14 +203,14 @@ (define-public libkmahjongg
 (define-public kmahjongg
   (package
     (name "kmahjongg")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/"
                           version "/src/kmahjongg-" version ".tar.xz"))
       (sha256
-       (base32 "1fcj4jb2zzbaxp7cp04w36y0c7lh77yzin66fmvrcxkl11xi2wwd"))))
+       (base32 "02yvvpwkk5gbj445zv5xhfragk8220rlx0pkxf32pj0jsv7dnz1x"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -242,14 +242,14 @@ (define-public kmahjongg
 (define-public kshisen
   (package
     (name "kshisen")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/"
                           version "/src/kshisen-" version ".tar.xz"))
       (sha256
-       (base32 "1hrwr0f1kidivsp8lnwdbqz3xxagjvjwh72r3gma8smfilybygfb"))))
+       (base32 "1i11gh87gfza58rpdd44pjb423an9a44cls117ba9gznxm67cph5"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules
@@ -281,14 +281,14 @@ (define-public kshisen
 (define-public kajongg
   (package
     (name "kajongg")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/"
                           version "/src/kajongg-" version ".tar.xz"))
       (sha256
-       (base32 "03fdbnx7zx7vgcxvwd1h1098ks9gq162bwz35fhpyzpynr667m5r"))))
+       (base32 "1sffssfpzsd83ippkwpmqdx8rfh9cpd7i22nsv8asnaylylvy3zd"))))
     (build-system qt-build-system)
     (arguments
      `(#:phases
@@ -342,14 +342,14 @@ (define-public kajongg
 (define-public kbreakout
   (package
     (name "kbreakout")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kbreakout-" version ".tar.xz"))
       (sha256
-       (base32 "0kqj2cx0ny3qq65c6w5fpnzmrwl9irg8slzvpd3anck5cnvma3j4"))))
+       (base32 "0vqlxaggzvvrb439ybsvd5kr9j2jzpwk4xy3yni83y830h1mmhhc"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -379,14 +379,14 @@ (define-public kbreakout
 (define-public kmines
   (package
     (name "kmines")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kmines-" version ".tar.xz"))
       (sha256
-       (base32 "0hqjwh3jq2npqwkvh67fyn2xnq8swiasdw5jz8f0ikl0k28id775"))))
+       (base32 "1wxy0cyz733wvnxfjhirqf41wnda4f6aqdiqmb5r1ngzzllgbglc"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -416,14 +416,14 @@ (define-public kmines
 (define-public konquest
   (package
     (name "konquest")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/"
                           version "/src/konquest-" version ".tar.xz"))
       (sha256
-       (base32 "0lnwj06vv4qx05hr8pzysnvrxh8y04asajrph0rsj37v8hs9g5lh"))))
+       (base32 "0lrahq9s70rx24dw4cgpvchr4s6pcl565vh343ggg24s1rd3ly80"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -455,14 +455,14 @@ (define-public konquest
 (define-public kbounce
   (package
     (name "kbounce")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/"
                           version "/src/kbounce-" version ".tar.xz"))
       (sha256
-       (base32 "0ymy0z1qlw3n653xs3dsa1xm78q4xaj09dnnci4km77rzis26vb6"))))
+       (base32 "1am4j11cjzlmav2zh5802kasy0kdcx78slycadnf96bmhxs8hvyv"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -493,14 +493,14 @@ (define-public kbounce
 (define-public kblocks
   (package
     (name "kblocks")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/"
                           version "/src/kblocks-" version ".tar.xz"))
       (sha256
-       (base32 "09yfm9mzbamp294cvc5finq6ilxvxr68i0dnb0m72pa4sfzmij32"))))
+       (base32 "1n3jc96ws8078gk1il61dc96p3pzvj3z9brnwi274pk4cif63bli"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -533,14 +533,14 @@ (define-public kblocks
 (define-public ksudoku
   (package
     (name "ksudoku")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/"
                           version "/src/ksudoku-" version ".tar.xz"))
       (sha256
-       (base32 "0pj6ry7ak1rnpb93mqypaxrcbmrhwg9ir6zhb3ybzfkfcrh67g12"))))
+       (base32 "1gw0ybwhvg1z8pcs72f73y52jvzvrw367g275axf2rw50iik6jwv"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -593,14 +593,14 @@ (define-public ksudoku
 (define-public klines
   (package
     (name "klines")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/klines-" version ".tar.xz"))
       (sha256
-       (base32 "0y8lnwawrkl4ixn7v4dg48k2zpr083krv7dv4d94b2dpkh7xfvih"))))
+       (base32 "1ypi64wdsw1zsj03wcxj02v27y1by113v89as8dyk9wr0pfmbpqf"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -636,14 +636,14 @@ (define-public klines
 (define-public kgoldrunner
   (package
     (name "kgoldrunner")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kgoldrunner-" version ".tar.xz"))
       (sha256
-       (base32 "17ra5d3r9ajy2inj17gwd5xphzhvbzx5kpvdwyj6msx4dd9wxgfi"))))
+       (base32 "0gzz58407zjmk311kyyj5l2c1ciczcq9i8ckpwbd341dvwaww27q"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -676,14 +676,14 @@ (define-public kgoldrunner
 (define-public kdiamond
   (package
     (name "kdiamond")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kdiamond-" version ".tar.xz"))
       (sha256
-       (base32 "1iyxrx3422asa58kh0siwvi1svds5kccrym6gdfpdhlmhmciqlzi"))))
+       (base32 "1d3c4pckddnri9i19g2pi2ygpqakllrgy6azgvnh5hn20kgsw7d9"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -714,14 +714,14 @@ (define-public kdiamond
 (define-public kfourinline
   (package
     (name "kfourinline")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kfourinline-" version ".tar.xz"))
       (sha256
-       (base32 "0plx3lv35fc8q9svbyl71mms3ji6zn58j306bvm1f8kkgg0x395b"))))
+       (base32 "0rb5jcmmf19bidwywj56dn0wfrnrfi5kc75c20d7mxnlgygfdnkg"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -752,14 +752,14 @@ (define-public kfourinline
 (define-public kblackbox
   (package
     (name "kblackbox")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kblackbox-" version ".tar.xz"))
       (sha256
-       (base32 "0la5w44b0gl72g3wfp0pw8gwnm287lh7nd9k5ikpszw5nn49db0h"))))
+       (base32 "10j8rnpr3gjaqspx4mxqj9cncqj6v2jn5rkldr46bv7yxgjb5rw3"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -792,14 +792,14 @@ (define-public kblackbox
 (define-public knetwalk
   (package
     (name "knetwalk")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/knetwalk-" version ".tar.xz"))
       (sha256
-       (base32 "060kj06vpigdy570izsjfgnmqqrpmb8bkr9arqc109hg3avl5wjz"))))
+       (base32 "0ahms3imvkdknp1z2h6j42k9g1i20ygd2633icjv37d2cbij128m"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -833,14 +833,14 @@ (define-public knetwalk
 (define-public bomber
   (package
     (name "bomber")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/bomber-" version ".tar.xz"))
        (sha256
-        (base32 "1fjcwm591jgx3bgqpi0j5fnb2l2r2h3r6lav3vhaxz4rkf56pg2a"))))
+        (base32 "1mlxs2dbsycq7mw9g1hl2l17gl0z33mrry5r0zmz74i67nfijg8w"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -874,14 +874,14 @@ (define-public bomber
 (define-public granatier
   (package
     (name "granatier")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/granatier-" version ".tar.xz"))
       (sha256
-       (base32 "1fyh7zyacb3pnlfd29jw2jmyl8a7sjw354pi234nd5x5999xw5z6"))))
+       (base32 "16yriharl66frglmdy6750nixczh0l4c19nnr6dav15m8qfb3g6b"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -911,14 +911,14 @@ (define-public granatier
 (define-public ksirk
   (package
     (name "ksirk")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/ksirk-" version ".tar.xz"))
        (sha256
-        (base32 "10y7nm0x6zcc0gh3am69bbxyyb8azbbfyrdqsa023ggr7n04cn21"))))
+        (base32 "1ipnkg2mgj37g5s5ihlys176kn2c11f3d57xr9zhqf8fvkvrkfm0"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -966,14 +966,14 @@ (define-public ksirk
 (define-public palapeli
   (package
     (name "palapeli")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/palapeli-" version ".tar.xz"))
        (sha256
-        (base32 "0xxz9g4zxljlg20g88a5lkbwzzm9yg4vxnrfigk8m018cz0nqd5b"))))
+        (base32 "076igql89sx55hfxjb79248ih4cjbkr1s1jnz46y3dk793rscm8g"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1013,14 +1013,14 @@ (define-public palapeli
 (define-public kiriki
   (package
     (name "kiriki")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kiriki-" version ".tar.xz"))
        (sha256
-        (base32 "0milc8fl1rj4yrwdvm60ampd47dyiys1xvqi5f0g7y6mgymgyk4x"))))
+        (base32 "0qbm0zjjqnbcdm39zi8h240nblpa1pa7g1ls9mghzbqrdrh7n3a0"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1051,14 +1051,14 @@ (define-public kiriki
 (define-public kigo
   (package
     (name "kigo")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kigo-" version ".tar.xz"))
        (sha256
-        (base32 "088752yzmfsnppd27p8hld4x5s7sw5fagm08024l5ra1mlicdfz9"))))
+        (base32 "14pp73b9mbf0ny75b90vs7z9l61m7zp8cll7hl4bplqh1kig1szf"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1097,14 +1097,14 @@ (define-public kigo
 (define-public kubrick
   (package
     (name "kubrick")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kubrick-" version ".tar.xz"))
        (sha256
-        (base32 "0h3mypwd67sss08j5vvrih5f5ss85m9kax6412y40xmsm51lz2pq"))))
+        (base32 "0hx81cp1lql74c9067dw7mi78c6sp6p1a035j2nzjn9drpxal6p2"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1138,14 +1138,14 @@ (define-public kubrick
 (define-public lskat
   (package
     (name "lskat")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/lskat-" version ".tar.xz"))
        (sha256
-        (base32 "1wg9zxp64kwjxqs4qw0h7j8yhgffbmvh8j9d4dgmz45dscngnjli"))))
+        (base32 "1cfs1lfwgxwpn2g56y7jb2c6ijd81bi8ba8ap0yyx6nhv6na072b"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1176,14 +1176,14 @@ (define-public lskat
 (define-public kapman
   (package
     (name "kapman")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kapman-" version ".tar.xz"))
       (sha256
-       (base32 "14x3v6li4r3gzzwfd6ar9saq2rhc7yxs0sp9ygalzq8vq4d7i1kh"))))
+       (base32 "1974z7g3ylvf48xh3xhf3gr7iphgmj83ir9hss1a2ba0hpgg463k"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1215,14 +1215,14 @@ (define-public kapman
 (define-public kspaceduel
   (package
     (name "kspaceduel")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kspaceduel-" version ".tar.xz"))
        (sha256
-        (base32 "1aixh6ygif2cm1a5g32sl5y6b5x68139pzihaxq4334c6avamdai"))))
+        (base32 "0dv539jlpkj8hr4cz0ncqm3scg6ja3s41p37bpqd94zicfvzxw84"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1250,14 +1250,14 @@ (define-public kspaceduel
 (define-public bovo
   (package
     (name "bovo")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/bovo-" version ".tar.xz"))
        (sha256
-        (base32 "18qbac366m0xma3ary11q9zxz0wgnysppcl7kpypl6ic3nf61wqz"))))
+        (base32 "1jzvazqy5vcwkyhnbzw7sh8ngff5clclq98vbbhzd9dmnacirdbq"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1286,14 +1286,14 @@ (define-public bovo
 (define-public killbots
   (package
     (name "killbots")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/killbots-" version ".tar.xz"))
        (sha256
-        (base32 "1296gww42nwnai7y6m2qpjqpyc30p7z9chfv5rv0n48jvdhva88y"))))
+        (base32 "1ncr55xq04vrx6bss1ahk86c3l9ckhv4zjbc6gq4krhjw0lkdfiv"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1327,14 +1327,14 @@ (define-public killbots
 (define-public ksnakeduel
   (package
     (name "ksnakeduel")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/ksnakeduel-" version ".tar.xz"))
       (sha256
-       (base32 "0mp6g258n3xzvgf23jnhkw10xgwqwqdzqfdc6r9jq6a6m8v77swz"))))
+       (base32 "06rill73xhhxra7kmbvwwriv9vbi91641z334ry1m4rr1qm2cdd6"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1365,14 +1365,14 @@ (define-public ksnakeduel
 (define-public kollision
   (package
     (name "kollision")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kollision-" version ".tar.xz"))
       (sha256
-       (base32 "180ybafizpwjsg80npy0l9142cjsnlyxwv9dz3bq6r8v4smn2g6b"))))
+       (base32 "0avin6s1lglfps6qlvz19i27nb0x0hgrl4q2brpq4kax7azs1nc3"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1402,14 +1402,14 @@ (define-public kollision
 (define-public knavalbattle
   (package
     (name "knavalbattle")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/knavalbattle-" version ".tar.xz"))
       (sha256
-       (base32 "03rqf4avn61b0v340ymmzgp7s0axygjgxq1nlp5aaqbx70zcb4lq"))))
+       (base32 "1mpj1783za6b7a7cjawy4v0z24dvcd34gdb25qch4gi9cx1lc28z"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1442,14 +1442,14 @@ (define-public knavalbattle
 (define-public kreversi
   (package
     (name "kreversi")
-    (version "20.08.3")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kreversi-" version ".tar.xz"))
       (sha256
-       (base32 "0d3y072q61xcik9lf0pz0c9njvarwlvf6hqv5fp5jyqaf2902pmi"))))
+       (base32 "0lbypkh6lc5af43c2p19gs2c53icxd26abxf5rhs2c8182gr39b8"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1484,14 +1484,14 @@ (define-public kreversi
 (define-public ksquares
   (package
     (name "ksquares")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/ksquares-" version ".tar.xz"))
       (sha256
-       (base32 "0chd30byl2kww1k699vkygrxq2wdyvi84m2bimk23q96fl8h831y"))))
+       (base32 "1wbrakq1wnwp558y140j9vbid3g0k332rwbilky7z11c0giiv76x"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1520,14 +1520,14 @@ (define-public ksquares
 (define-public kjumpingcube
   (package
     (name "kjumpingcube")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kjumpingcube-" version ".tar.xz"))
       (sha256
-       (base32 "1mk73il4jh15z5pm3fp65hsyvmrga11c3h7w96yamy2n2bbniapq"))))
+       (base32 "1wlk6my6pawmdv3zgcpnyyzpjwz0wii0h8i1z0gxhbpg9nc8iy1r"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
-- 
2.37.0

From 5cc1624addbc482748892ee44a0faf19db8e36d7 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Mon, 25 Jul 2022 11:43:43 +0200
Subject: [PATCH v2 12/75] gnu: ki18n: Remove input labels.

* gnu/packages/kde-frameworks.scm (ki18n): Remove input labels.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 6c57261231..99611d0f70 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -773,8 +773,7 @@ (define-public ki18n
                 "0xsp77iaxf72i0ri3pb6x5rrdz3cv8rxcaqcrynisvsmx7l35005"))))
     (build-system cmake-build-system)
     (propagated-inputs
-     `(("gettext" ,gettext-minimal)
-       ("python" ,python)))
+     (list gettext-minimal python))
     (native-inputs
      (list extra-cmake-modules))
     (inputs
-- 
2.37.0

From 33f18bbfeefb097f15b7110278f25a1f0dc63b42 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Sat, 5 Mar 2022 11:47:21 +1100
Subject: [PATCH v2 63/75] . service

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index a3e1318e21..48dd4fdd97 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1431,6 +1431,29 @@ (define-deprecated (xfce-desktop-service #:key (config
   (service xfce-desktop-service-type config))
 
 +
+
+;;;
+;;; KDE Plasma desktop service.
+;;;
+
+(define-record-type* <plasma-desktop-configuration> plasma-desktop-configuration
+  make-plasma-desktop-configuration
+  plasma-desktop-configuration?
+  (plasma plasma-package
+          (default plasma-workspace))) ;; do we need a union package?
+
+(define plasma-desktop-service-type
+  (service-type
+   (name 'plasma-desktop)
+   (extensions
+    (list ;; (service-extension polkit-service-type
+          ;;                    plasma-polkit-settings)
+          (service-extension profile-service-type
+                             (compose list plasma-workspace))))
+   (default-value (plasma-desktop-configuration))
+   (description "Run Plasma desktop environment.")))
+
+
 ;;;
 ;;; Lxqt desktop service.
 ;;;
-- 
2.37.0

From 22711dcda1a76ce1f8ea39945624ce72921f85f3 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Wed, 2 Feb 2022 13:55:44 +1100
Subject: [PATCH v2 15/75] gnu: kgraphviewer: Fix home page.

* gnu/packages/kde-frameworks.scm (kgraphviewer): Fix home page.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 0b6c6dff96..77c93e7a6a 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -701,7 +701,7 @@ (define-public kgraphviewer
            qtsvg))
     (native-inputs
      (list pkg-config extra-cmake-modules kdoctools))
-    (home-page "https://apps.kde.org/en/kgraphviewer")
+    (home-page "https://apps.kde.org/kgraphviewer/")
     (synopsis "Graphviz dot graph viewer for KDE")
     (description "KGraphViewer is a Graphviz DOT graph file viewer, aimed to
 replace the other outdated Graphviz tools.")
-- 
2.37.0

From 3061d8d8600bca0ce6772f56744aea59ab66fa87 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Wed, 2 Feb 2022 13:54:26 +1100
Subject: [PATCH v2 13/75] gnu: phonon: Update home page.

* gnu/packages/kde-frameworks.scm (phonon): Update home page.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 99611d0f70..3223b1a674 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -206,7 +206,7 @@ (define-public phonon
                (substitute* "cmake_install.cmake"
                  ((regex all dest)
                   (string-append dest (assoc-ref outputs "out"))))))))))
-    (home-page "https://phonon.kde.org")
+    (home-page "https://community.kde.org/Phonon")
     (synopsis "KDE's multimedia library")
     (description "KDE's multimedia library.")
     (license license:lgpl2.1+)))
-- 
2.37.0

From 55ae06f9a5d77fd34602712cd16d24153bd19e80 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Wed, 2 Feb 2022 13:55:13 +1100
Subject: [PATCH v2 14/75] gnu: phonon-backend-gstreamer: Update home page.

* gnu/packages/kde-frameworks.scm (phonon-backend-gstreamer): Update home page.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 3223b1a674..0b6c6dff96 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -238,7 +238,7 @@ (define-public phonon-backend-gstreamer
     (arguments
      `(#:configure-flags
        '( "-DPHONON_BUILD_PHONON4QT5=ON")))
-    (home-page "https://phonon.kde.org")
+    (home-page "https://community.kde.org/Phonon")
     (synopsis "Phonon backend which uses GStreamer")
     (description "Phonon makes use of backend libraries to provide sound.
 Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
-- 
2.37.0

From 64cc2a125cf8b6146f15138a55a82d14af3444e2 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Mon, 25 Jul 2022 11:14:35 +0200
Subject: [PATCH v2 06/75] gnu: kde-frameworkintegration: Remove input labels.

* gnu/packages/kde-frameworks.scm (kde-frameworkintegration): Remove input
labels.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 3f8e1135a4..ee6f4a58dc 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -3417,19 +3417,18 @@ (define-public kde-frameworkintegration
     (native-inputs
      (list extra-cmake-modules pkg-config))
     ;; TODO: Optional packages not yet in Guix: packagekitqt5, AppStreamQt
-    (inputs
-     `(("kconfig" ,kconfig)
-       ("kconfigwidgets" ,kconfigwidgets)
-       ("kcoreaddons" ,kcoreaddons)
-       ("ki18n" ,ki18n)
-       ("kiconthemes" ,kiconthemes)
-       ("kitemviews" ,kitemviews)
-       ("knewstuff" ,knewstuff)
-       ("knotificantions" ,knotifications)
-       ("kpackage" ,kpackage)
-       ("kwidgetsaddons" ,kwidgetsaddons)
-       ("qtbase" ,qtbase-5)
-       ("qtx11extras" ,qtx11extras)))
+    (inputs (list kconfig
+                  kconfigwidgets
+                  kcoreaddons
+                  ki18n
+                  kiconthemes
+                  kitemviews
+                  knewstuff
+                  knotifications
+                  kpackage
+                  kwidgetsaddons
+                  qtbase-5
+                  qtx11extras))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-- 
2.37.0

From 1225713838afd1bd4ad6d6ce3afc2f14cc277e14 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Tue, 15 Mar 2022 10:52:19 +1100
Subject: [PATCH v2 64/75] !!! DELETE ME AFTER

diff --git a/guix/import/kde.scm b/guix/import/kde.scm
index 6873418d62..11c75a3320 100644
--- a/guix/import/kde.scm
+++ b/guix/import/kde.scm
@@ -51,7 +51,7 @@ (define (tarball->version tarball)
 
 (define %kde-file-list-uri
   ;; URI of the file list (ls -lR format) for download.kde.org.
-  (string->uri "https://download.kde.org/ls-lR.bz2"))
+  (string->uri "https://mirrors.ocf.berkeley.edu/kde/ls-lR.bz2"))
 
 (define (download.kde.org-files)
   ;;"Return the list of files available at download.kde.org."
-- 
2.37.0

From f666e6d4686ca7ec453d8743d0d7324d518950fd Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Mon, 25 Jul 2022 11:07:29 +0200
Subject: [PATCH v2 05/75] gnu: KDE Frameworks: Remove trailing booleans.

* gnu/packages/kde-frameworks.scm (kcalendarcore, kconfig, kcoreaddons,
ksyntaxhighlighting, kwayland, kwindowsystem, modemmanager-qt, kcontacts,
kdoctools, kfilemetadata, imageformats, knotifications, kpackage, kpty,
baloo, kbookmarks, kcmutils, kconfigwidgets, kemoticons, kiconthemes,
kinit, kio, knewstuff, kparts, kservice, ktexteditor, kxmlgui,plasma-framework,
kde-frameworkintegration, kdelibs4support): Remove trailing booleans.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 875df10adf..3f8e1135a4 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2020 Marius Bakke <[email-masked]>
 ;;; Copyright © 2021 Alexandros Theodotou <[email-masked]>
 ;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
+;;; Copyright © 2022 Petr Hodina <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -204,8 +205,7 @@ (define-public phonon
                                          (assoc-ref inputs "qtbase"))))
                (substitute* "cmake_install.cmake"
                  ((regex all dest)
-                  (string-append dest (assoc-ref outputs "out")))))
-           #t)))))
+                  (string-append dest (assoc-ref outputs "out"))))))))))
     (home-page "https://phonon.kde.org")
     (synopsis "KDE's multimedia library")
     (description "KDE's multimedia library.")
@@ -465,8 +465,7 @@ (define-public kcalendarcore
              (when tests?
                ;; Its already been fixed upstream; remove in 5.93.
                ;; c0428a284444b995d320046c04ef5377d51e4c5c
-               (invoke "ctest" "-E" "testdateserialization"))
-             #t)))))
+               (invoke "ctest" "-E" "testdateserialization")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Library for interfacing with calendars")
     (description "This library provides access to and handling of calendar
@@ -540,8 +539,7 @@ (define-public kconfig
                (setenv "HOME" (getcwd))
                (setenv "QT_QPA_PLATFORM" "offscreen")
                (invoke "ctest" "-E" "(kconfigcore-kconfigtest|\
-kconfiggui-kstandardshortcutwatchertest)"))
-             #t)))))
+kconfiggui-kstandardshortcutwatchertest)")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Kconfiguration settings framework for Qt")
     (description "KConfig provides an advanced configuration system.
@@ -601,8 +599,7 @@ (define-public kcoreaddons
              (setenv "TMPDIR" (getcwd))
              (when tests? ;; kdirwatch test fails inconsistently. kprocesstest fails.
                (invoke "ctest" "-E" "(kdirwatch_qfswatch_unittest|kprocesstest|\
-kdirwatch_stat_unittest)"))
-             #t)))))
+kdirwatch_stat_unittest)")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Qt addon library with a collection of non-GUI utilities")
     (description "KCoreAddons provides classes built on top of QtCore to
@@ -1001,8 +998,7 @@ (define-public ksyntaxhighlighting
                (((which "sh")) " /bin/sh")) ;; space in front!
              (substitute* '("autotests/input/highlight.pl"
                             "autotests/folding/highlight.pl.fold")
-               (((which "perl")) "/usr/bin/perl"))
-             #t)))))
+               (((which "perl")) "/usr/bin/perl")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Syntax highlighting engine for Kate syntax definitions")
     (description "This is a stand-alone implementation of the Kate syntax
@@ -1063,8 +1059,7 @@ (define-public kwayland
              (setenv "XDG_RUNTIME_DIR" (getcwd))
              (setenv "QT_QPA_PLATFORM" "offscreen")
              (when tests? ;; One test fails.
-               (invoke "ctest" "-E" "kwayland-testWaylandRegistry"))
-             #t)))))
+               (invoke "ctest" "-E" "kwayland-testWaylandRegistry")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Qt-style API to interact with the wayland client and server")
     (description "As the names suggest they implement a Client respectively a
@@ -1146,8 +1141,7 @@ (define-public kwindowsystem
              (with-output-to-file "autotests/BLACKLIST"
                (lambda _
                  (display "[testGroupLeader]\n*\n")
-                 (display "[testClientMachine]\n*\n"))) ;; requires network
-             #t))
+                 (display "[testClientMachine]\n*\n"))))) ;; requires network
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              ;; The test suite requires a running window anager
@@ -1203,8 +1197,7 @@ (define-public modemmanager-qt
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
                (setenv "DBUS_FATAL_WARNINGS" "0")
-               (invoke "dbus-launch" "ctest"))
-             #t)))))
+               (invoke "dbus-launch" "ctest")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Qt wrapper for ModemManager DBus API")
     (description "ModemManagerQt provides access to all ModemManager features
@@ -1607,8 +1600,7 @@ (define-public kcontacts
                ;;Expected (result)                                               :
                ;;"Jim Knopf\nLummerlandstr. 1\n12345 Lummerstadt\n\nGERMANIA"
                (invoke "ctest" "-E"
-			   "(kcontacts-addresstest|kcontacts-testroundtrip|kcontacts-impptest|kcontacts-birthdaytest|kcontacts-addresseetest)"))
-             #t)))))
+			   "(kcontacts-addresstest|kcontacts-testroundtrip|kcontacts-impptest|kcontacts-birthdaytest|kcontacts-addresseetest)")))))))
     (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
@@ -1681,8 +1673,7 @@ (define-public kdoctools
              (substitute* "cmake/FindDocBookXSL.cmake"
                (("^.*xml/docbook/stylesheet.*$")
                 (string-append "xml/xsl/docbook-xsl-"
-                               ,(package-version docbook-xsl) "\n")))
-             #t))
+                               ,(package-version docbook-xsl) "\n")))))
          (add-after 'install 'add-symlinks
            ;; Some package(s) (e.g. kdelibs4support) refer to this locale by a
            ;; different spelling.
@@ -1690,8 +1681,7 @@ (define-public kdoctools
              (let ((xsl (string-append (assoc-ref outputs "out")
                                        "/share/kf5/kdoctools/customization/xsl/")))
                (symlink (string-append xsl "pt_br.xml")
-                        (string-append xsl "pt-BR.xml")))
-             #t)))))
+                        (string-append xsl "pt-BR.xml"))))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Create documentation from DocBook")
     (description "Provides tools to generate documentation in various format
@@ -1721,8 +1711,7 @@ (define-public kfilemetadata
                ;; FIXME: Test can't find audio/x-speex mimeinfo
                ;; (but it can find audio/x-speex+ogg).
                (invoke "ctest" "-E"
-			   "(usermetadatawritertest|embeddedimagedatatest|taglibextractortest)"))
-             #t)))))
+			   "(usermetadatawritertest|embeddedimagedatatest|taglibextractortest)")))))))
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)))
@@ -1785,8 +1774,7 @@ (define-public kimageformats
              (setenv "QT_QPA_PLATFORM" "offscreen")
              (setenv "QT_PLUGIN_PATH"
                      (string-append (getcwd) "/bin:"
-                                    (getenv "QT_PLUGIN_PATH")))
-             #t)))
+                                    (getenv "QT_PLUGIN_PATH"))))))
        ;; FIXME: The header files of ilmbase (propagated by openexr) are not
        ;; found when included by the header files of openexr, and an explicit
        ;; flag needs to be set.
@@ -1862,8 +1850,7 @@ (define-public knotifications
              (when tests?
                (setenv "HOME" (getcwd))
                (setenv "DBUS_FATAL_WARNINGS" "0")
-               (invoke "dbus-launch" "ctest"))
-             #t)))))
+               (invoke "dbus-launch" "ctest")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Desktop notifications")
     (description "KNotification is used to notify the user of an event.  It
@@ -1905,8 +1892,7 @@ (define-public kpackage
                (("^\\s*(const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories)(;)" _ a b)
                 (string-append a " | QDirIterator::FollowSymlinks" b))
                (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
-                (string-append a " | QDirIterator::FollowSymlinks" b)))
-             #t))
+                (string-append a " | QDirIterator::FollowSymlinks" b)))))
          (add-after 'unpack 'patch-tests
            (lambda _
              ;; /bin/ls doesn't exist in the build-container use /etc/passwd
@@ -1916,12 +1902,10 @@ (define-public kpackage
                 (string-append a "etc" b "etc" c "etc\""))
                (("filePath\\(\"bin\", QStringLiteral\\(\"ls\"))")
                 "filePath(\"etc\", QStringLiteral(\"passwd\"))")
-               (("\"/bin/ls\"") "\"/etc/passwd\""))
-             #t))
+               (("\"/bin/ls\"") "\"/etc/passwd\""))))
          (add-before 'check 'check-setup
            (lambda _
-             (setenv "HOME" (getcwd))
-             #t)))))
+             (setenv "HOME" (getcwd)))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Installation and loading of additional content as packages")
     (description "The Package framework lets the user install and load packages
@@ -1956,8 +1940,7 @@ (define-public kpty
          (add-after 'unpack 'patch-tests
            (lambda _
              (substitute* "autotests/kptyprocesstest.cpp"
-               (("/bin/bash") (which "bash")))
-             #t)))))
+               (("/bin/bash") (which "bash"))))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Interfacing with pseudo terminal devices")
     (description "This library provides primitives to interface with pseudo
@@ -2072,15 +2055,13 @@ (define-public baloo
              (substitute* "autotests/unit/file/CMakeLists.txt"
                ;; 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))
+                (string-append all " AND NOT TRUE")))))
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
                (setenv "DBUS_FATAL_WARNINGS" "0")
                (setenv "HOME" (getcwd))
-               (invoke "dbus-launch" "ctest"))
-             #t)))))
+               (invoke "dbus-launch" "ctest")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "File searching and indexing")
     (description "Baloo provides file searching and indexing.  It does so by
@@ -2148,8 +2129,7 @@ (define-public kbookmarks
            (lambda _
              (setenv "HOME" (getcwd))
              ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+             (setenv "QT_QPA_PLATFORM" "offscreen"))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Bookmarks management library")
     (description "KBookmarks lets you access and manipulate bookmarks stored
@@ -2186,12 +2166,10 @@ (define-public kcmutils
              (substitute* "src/kcmoduleloader.cpp"
                ;; print plugin name when loading fails
                (("^\\s*(qWarning\\(\\) << \"Error loading) (plugin:\")( << loader\\.errorString\\(\\);)" _ a b c)
-                (string-append a " KCM plugin\" << mod.service()->library() << \":\"" c)))
-             #t))
+                (string-append a " KCM plugin\" << mod.service()->library() << \":\"" c)))))
          (add-before 'check 'check-setup
            (lambda _
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+             (setenv "QT_QPA_PLATFORM" "offscreen"))))))
     (inputs
      (list kauth
            kcodecs
@@ -2247,13 +2225,11 @@ (define-public kconfigwidgets
                (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
                 (string-append a " | QDirIterator::FollowSymlinks" b)))
              (substitute* "CMakeLists.txt"
-               (("5\\.90\\.0") "5.92.0"))
-             #t))
+               (("5\\.90\\.0") "5.92.0"))))
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
-               (invoke "ctest" "-E" "kstandardactiontest"))
-             #t)))))
+               (invoke "ctest" "-E" "kstandardactiontest")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Widgets for configuration dialogs")
     (description "KConfigWidgets provides easy-to-use classes to create
@@ -2471,8 +2447,7 @@ (define-public kemoticons
            (lambda _
              (setenv "HOME" (getcwd))
              ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+             (setenv "QT_QPA_PLATFORM" "offscreen"))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Convert text emoticons to graphical emoticons")
     (description "KEmoticons converts emoticons from text to a graphical
@@ -2551,8 +2526,7 @@ (define-public kiconthemes
                                     "/share"))
              (setenv "HOME" (getcwd))
              ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+             (setenv "QT_QPA_PLATFORM" "offscreen"))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Icon GUI utilities")
     (description "This library contains classes to improve the handling of icons
@@ -2585,8 +2559,7 @@ (define-public kinit
              (substitute* "src/kdeinit/kinit.cpp"
                (("GUIX_PKGS_KF5_KIO") (assoc-ref inputs "kio"))
                (("GUIX_PKGS_KF5_PARTS") (assoc-ref inputs "kparts"))
-               (("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework")))
-             #t)))))
+               (("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework"))))))))
     (native-search-paths
      (list (search-path-specification
             (variable "KDEINIT5_LIBRARY_PATH")
@@ -2688,8 +2661,7 @@ (define-public kio
              ;; Better error message (taken from NixOS)
              (substitute* "src/kiod/kiod_main.cpp"
                (("(^\\s*qCWarning(KIOD_CATEGORY) << \"Error loading plugin:\")( << loader.errorString();)" _ a b)
-                (string-append a "<< name" b)))
-             #t))
+                (string-append a "<< name" b)))))
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
@@ -2716,8 +2688,7 @@ (define-public kio
                                       "|kiowidgets-kfileitemactionstest"
                                       "|kiowidgets-kurifiltertest-colon-separator"
                                       "|kiowidgets-kurifiltertest-space-separator"
-                                      "|kiofilewidgets-knewfilemenutest)")))
-             #t))
+                                      "|kiofilewidgets-knewfilemenutest)")))))
          (add-after 'install 'add-symlinks
            ;; Some package(s) (e.g. bluedevil) refer to these service types by
            ;; the wrong name.  I would prefer to patch those packages, but I
@@ -2784,8 +2755,7 @@ (define-public knewstuff
            (lambda _ ; XDG_DATA_DIRS isn't set
              (setenv "HOME" (getcwd))
              ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+             (setenv "QT_QPA_PLATFORM" "offscreen"))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Framework for downloading and sharing additional application data")
     (description "The KNewStuff library implements collaborative data sharing
@@ -2857,8 +2827,7 @@ (define-public kparts
                         ;; 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)))))
+                        (("partloadertest\\.cpp") "")))))))
     (propagated-inputs
      (list kio ktextwidgets kxmlgui))
     (native-inputs
@@ -3027,8 +2996,7 @@ (define-public kservice
                ;; Normalize path, but don't resolve symlinks (taken from
                ;; NixOS)
                (("^\\s*QString resolved = QDir\\(dir\\)\\.canonicalPath\\(\\);")
-                "QString resolved = QDir::cleanPath(dir);"))
-             #t))
+                "QString resolved = QDir::cleanPath(dir);"))))
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
@@ -3097,14 +3065,12 @@ (define-public ktexteditor
          (add-after 'unpack 'setup
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "XDG_DATA_DIRS" ; FIXME build phase doesn't find parts.desktop
-                     (string-append (assoc-ref inputs "kparts") "/share"))
-             #t))
+                     (string-append (assoc-ref inputs "kparts") "/share"))))
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests? ;; Maybe locale issues with tests?
                (setenv "QT_QPA_PLATFORM" "offscreen")
-               (invoke "ctest" "-E" "(kateview_test|movingrange_test)"))
-             #t))
+               (invoke "ctest" "-E" "(kateview_test|movingrange_test)"))))
          (add-after 'install 'add-symlinks
            ;; Some package(s) (e.g. plasma-sdk) refer to these service types
            ;; by the wrong name.  I would prefer to patch those packages, but
@@ -3113,8 +3079,7 @@ (define-public ktexteditor
              (let ((kst5 (string-append (assoc-ref outputs "out")
                                         "/share/kservicetypes5/")))
                (symlink (string-append kst5 "ktexteditorplugin.desktop")
-                        (string-append kst5 "ktexteditor-plugin.desktop"))
-               #t))))))
+                        (string-append kst5 "ktexteditor-plugin.desktop"))))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Full text editor component")
     (description "KTextEditor provides a powerful text editor component that you
@@ -3244,8 +3209,7 @@ (define-public kxmlgui
            (lambda _
              (setenv "HOME" (getcwd))
              ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+             (setenv "QT_QPA_PLATFORM" "offscreen"))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Framework for managing menu and toolbar actions")
     (description "KXMLGUI provides a framework for managing menu and toolbar
@@ -3362,8 +3326,7 @@ (define-public plasma-framework
                (invoke "ctest" "-E" (string-append "(plasma-dialogstatetest"
                                                    "|plasma-iconitemtest"
                                                    "|plasma-themetest"
-                                                   "|dialognativetest)")))
-             #t)))))
+                                                   "|dialognativetest)"))))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Libraries, components and tools of Plasma workspaces")
     (description "The plasma framework provides QML components, libplasma and
@@ -3474,8 +3437,7 @@ (define-public kde-frameworkintegration
            (lambda _
              (setenv "HOME" (getcwd))
              ;; Make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+             (setenv "QT_QPA_PLATFORM" "offscreen"))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "KDE Frameworks 5 workspace and cross-framework integration plugins")
     (description "Framework Integration is a set of plugins responsible for
@@ -3568,8 +3530,7 @@ (define-public kdelibs4support
            (lambda _
              (substitute* "cmake/FindDocBookXML4.cmake"
                (("^.*xml/docbook/schema/dtd.*$")
-                "xml/dtd/docbook\n"))
-             #t))
+                "xml/dtd/docbook\n"))))
          (delete 'check)
          (add-after 'install 'check-post-install
            (lambda* (#:key inputs tests? #:allow-other-keys)
@@ -3815,8 +3776,7 @@ (define-public kdav
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests? ;; Seems to require network.
                (invoke "ctest" "-E"
-                       "(kdav-davcollectionsmultifetchjobtest|kdav-davitemfetchjob)"))
-             #t)))))
+                       "(kdav-davcollectionsmultifetchjobtest|kdav-davitemfetchjob)")))))))
     (home-page "https://invent.kde.org/frameworks/kdav")
     (synopsis "DAV protocol implementation with KJobs")
     (description "This is a DAV protocol implementation with KJobs.  Calendars
-- 
2.37.0

From c03dd389886fd0e1c77b69fd2b1c5f196c5ab175 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 10:25:42 +0200
Subject: [PATCH v2 25/75] gnu: kdenlive, marble-qt: Add kdoctools.

* gnu/packages/kde.scm (kdenlive)[native-inputs]: Add kdoctools.
(marble-qt): Move kdoctools from inputs to native-inputs.

diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index c248e6ea8d..3684740b1a 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -258,7 +258,7 @@ (define-public kdenlive
                   `("MLT_PREFIX" ":" =
                     (,#$(this-package-input "mlt"))))))))))
     (native-inputs
-     (list extra-cmake-modules pkg-config qttools))
+     (list extra-cmake-modules kdoctools pkg-config qttools))
     (inputs
      (list bash-minimal
            breeze                       ; make dark them available easily
@@ -1009,13 +1009,12 @@ (define-public marble-qt
              "-DBUILD_TOUCH=YES"
              "-DBUILD_MARBLE_TESTS=FALSE")))
     (native-inputs
-     (list extra-cmake-modules qttools))
+     (list extra-cmake-modules kdoctools qttools))
     ;; One optional dependency missing: libwlocate.
     (inputs
      (list gpsd
            kcoreaddons
            kcrash
-           kdoctools
            ki18n
            kio
            knewstuff
-- 
2.37.0

From 6d4276eabb20951789f6fd5d04f517e28bf29e39 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Mon, 25 Jul 2022 11:39:17 +0200
Subject: [PATCH v2 10/75] gnu: solid: Remove input labels.

* gnu/packages/kde-frameworks.scm (solid): Remove input labels.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 8eb540b8b3..4e71d6db23 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1376,9 +1376,7 @@ (define-public solid
     (native-inputs
      (list bison dbus extra-cmake-modules flex qttools))
     (inputs
-     `(("qtbase" ,qtbase-5)
-       ("qtdeclarative" ,qtdeclarative)
-       ("udev" ,eudev)))
+     (list qtbase-5 qtdeclarative eudev))
     ;; TODO: Add runtime-only dependency MediaPlayerInfo
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Desktop hardware abstraction")
-- 
2.37.0

From 05b9dd4ec4b8cd20175edc832ee188a22ef64c63 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Sat, 5 Mar 2022 11:46:10 +1100
Subject: [PATCH v2 57/75] gnu: kmessagelib: Remove qtwebkit as an input.

* gnu/packages/kde-pim.scm (kmessagelib): qtwebkit is unmaintained so it
should be removed where possible.

diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index 7b78b2d859..fae01bb339 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -1310,7 +1310,6 @@ (define-public kmessagelib
            qtdeclarative
            qtwebchannel
            qtwebengine
-           qtwebkit
            sonnet))
     (arguments
      `(#:tests? #f     ;TODO many test fail for quite different reasons
-- 
2.37.0

From 9aef6e3a8dfd1e89ed076273ee9d6bc9d1eddec9 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Tue, 1 Feb 2022 18:22:59 +1100
Subject: [PATCH v2 03/75] gnu: kdav: Move to (gnu packages kde-frameworks).

* gnu/packages/kde-pim.scm
* gnu/packages/kde-frameworks.scm
(kdav): Move to (gnu packages kde-frameworks). It's considered a
framework component now.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 9f5eee1ab2..35c3b68bda 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2020 Vincent Legoll <[email-masked]>
 ;;; Copyright © 2020 Marius Bakke <[email-masked]>
 ;;; Copyright © 2021 Alexandros Theodotou <[email-masked]>
+;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3808,3 +3809,27 @@ (define-public kross
     ;; under a variety of licenses.
     (license (list license:lgpl2.0+ license:lgpl2.1+
                    license:lgpl2.0 license:gpl3+))))
+
+(define-public kdav
+  (package
+    (name "kdav")
+    (version "20.04.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/kdav-" version ".tar.xz"))
+       (sha256
+        (base32 "0445gl4xm0h39igkxgb6vmq5iaa04wkgrgbs7nfd0zwngk8xaidn"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules))
+    (inputs
+     (list kcoreaddons ki18n kio qtbase-5 qtxmlpatterns))
+    (home-page "https://invent.kde.org/frameworks/kdav")
+    (synopsis "DAV protocol implementation with KJobs")
+    (description "This is a DAV protocol implementation with KJobs.  Calendars
+and todos are supported, using either GroupDAV or CalDAV, and contacts are
+supported using GroupDAV or CardDAV.")
+    (license ;; GPL for programs, LGPL for libraries
+     (list license:gpl2+ license:lgpl2.0+))))
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index a5acbb0da8..4937ed3594 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -606,30 +606,6 @@ (define-public kcalutils
 functions for accessing calendar data using the kcalcore API.")
     (license  license:lgpl2.0+)))
 
-(define-public kdav
-  (package
-    (name "kdav")
-    (version "20.04.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/kdav-" version ".tar.xz"))
-       (sha256
-        (base32 "0445gl4xm0h39igkxgb6vmq5iaa04wkgrgbs7nfd0zwngk8xaidn"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules))
-    (inputs
-     (list kcoreaddons ki18n kio qtbase-5 qtxmlpatterns))
-    (home-page "https://invent.kde.org/frameworks/kdav")
-    (synopsis "DAV protocol implementation with KJobs")
-    (description "This is a DAV protocol implementation with KJobs.  Calendars
-and todos are supported, using either GroupDAV or CalDAV, and contacts are
-supported using GroupDAV or CardDAV.")
-    (license ;; GPL for programs, LGPL for libraries
-     (list license:gpl2+ license:lgpl2.0+))))
-
 (define-public kdepim-apps-libs
   (package
     (name "kdepim-apps-libs")
-- 
2.37.0

From 9af7178621c806ea72f41ee26b58345d8026d753 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Wed, 2 Feb 2022 20:08:23 +1100
Subject: [PATCH v2 21/75] gnu: KDE PIM: Update all packages to 21.12.3.

* gnu/packages/kde-pim.scm (KDE PIM): Update to 21.12.3.

(akonadi, akonadi-calendar, akonadi-contacts, akonadi-mime,
akonadi-notes, akonadi-search, kaddressbook, kalarmcal,
kcalendarsupport, kcalutils, kdepim-runtime, keventviews, kgpg,
kidentitymanagement, kimap, kincidenceeditor, kldap, kleopatra, kmail,
kmailcommon, kmailimporter, kmailtransport, kmbox, kmessagelib, kmime,
knotes, kontactinterface, korganizer, kpeoplevcard, kpimcommon,
kpimtextedit, ksmtp, ktnef, libgravatar, libkdepim, libkgapi, libkleo,
libksieve): Update to 21.12.3.
(kblog): Update to 20.04.3.

* gnu/packages/patches/akonadi-not-relocatable.patch
* gnu/packages/patches/akonadi-paths.patch
* gnu/packages/patches/akonadi-timestamps.patch
Fix patches to apply to latest code.

(akonadi-calendar): [inputs]: Add new dependencies.

(akonadi-contacts): [inputs]: Add new dependencies.

(akonadi-search): [arguments]: Disable failing tests.

(kcalendarsupport): [inputs]: Add new dependency, remove obsolete kdepim-apps-lib.

(libksieve): [arguments]: Enable test that works now.
* gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch: Fix patch.

(kaddressbook): [inputs]: Remove obsolete kdepim-apps-libs.

(kmessagelib): [inputs]: Remove obsolete kdepim-appslibs, add kguiaddons.
[arguments]: Fix findind header file.

(kmailimporter): [inputs]: Add new dependencies.

(kmailtransport): [inputs]: Add qtkeychain.

(kincidenceeditor): [inputs]: Add new dependencies. Remove obsolete kdepim-apps-libs
[arguments]: Disable failing test.

(kldap): [inputs]: Add qtkeychain.

(kgpg)[arguments]: Disable failing test.

(libkleo): [propagated-inputs]: Propagate gpgme, qgpgme.
[arguments]: Disable failing tests.

(kdepim-runtime): [inputs]: Add new dependencies grantlee, grantleetheme, kcmutils, kldap,
libkdepim, qtkeychain
[arguments]: Enable all the tests that pass.
We need to use the old hack instead of search-input-directory to
workaround a mysterious include error.

(kdepim-apps-lib): Remove obsolete package.

(kmail): [origin]: Remove patch. Don't think it is needed anymore.
[inputs]: Add new dependencies, delete obsolete kdepim-apps-libs and
duplicate kmime.
[arguments]: Disable failing tests.
* gnu/packages/patches/kmail-Fix-missing-link-libraries.patch: Delete file.
* gnu/local.mk: Remove reference to patch.

(kmailcommon): [inputs]: Add new dependencies.

diff --git a/gnu/local.mk b/gnu/local.mk
index 942d702428..2389aa47e0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1351,7 +1351,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/kinit-kdeinit-extra_libs.patch		\
   %D%/packages/patches/kio-search-smbd-on-PATH.patch		\
   %D%/packages/patches/kismet-unbundle-boost.patch		\
-  %D%/packages/patches/kmail-Fix-missing-link-libraries.patch \
   %D%/packages/patches/kmod-module-directory.patch		\
   %D%/packages/patches/kmscon-runtime-keymap-switch.patch	\
   %D%/packages/patches/kmplayer-aarch64.patch			\
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index 0fa120e075..62b271aa5c 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -44,14 +44,14 @@ (define-module (gnu packages kde-pim)
 (define-public akonadi
   (package
     (name "akonadi")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akonadi-" version ".tar.xz"))
        (sha256
-        (base32 "0kkn7lh3akkk9cdi8qdk9kqzs1cgv916mkl440x4ykqd1v8brzqb"))
+        (base32 "026srxk7da20vfhbj7jh8aip3sylpm61czwblj3wxxps0vbxxs2g"))
        (patches (search-patches
                  "akonadi-paths.patch"
                  "akonadi-timestamps.patch"
@@ -89,9 +89,7 @@ (define-public akonadi
        (modify-phases (@ (guix build qt-build-system) %standard-phases)
          (add-before 'configure 'add-definitions
            (lambda* (#:key outputs inputs #:allow-other-keys)
-             (let ((out   (assoc-ref outputs "out"))
-                   (mysql (assoc-ref inputs "mysql"))
-                   (pgsql (assoc-ref inputs "postgresql")))
+             (let ((out   (assoc-ref outputs "out")))
                (with-output-to-file "CMakeLists.txt.new"
                  (lambda _
                    (display
@@ -119,14 +117,14 @@ (define-public akonadi
 (define-public akonadi-calendar
   (package
     (name "akonadi-calendar")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akonadi-calendar-" version ".tar.xz"))
        (sha256
-        (base32 "1mq76qyd3jcngb2yfanpn7qvklzllza399fxwii0mqppp1vmnb2b"))))
+        (base32 "0hzy6y9pxa06k0pp5yr84i0sv15qgzjn7nrlmsylm6iy7fspqqbq"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -135,6 +133,8 @@ (define-public akonadi-calendar
            akonadi-contacts
            akonadi-mime
            boost
+           grantlee
+           grantleetheme
            kcalendarcore
            kcalutils
            kcodecs
@@ -162,21 +162,24 @@ (define-public akonadi-calendar
 (define-public akonadi-contacts
   (package
     (name "akonadi-contacts")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akonadi-contacts-" version ".tar.xz"))
        (sha256
-        (base32 "0igggarnl99s5pl73dgrpha4lf7vnr000iy69vcwmqs5lxb7cyli"))))
+        (base32 "04ixj09s27q8pbmfrb1475bc0h84sb5ikfxzpc4i5b3whx40g9dm"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
     (inputs
      (list akonadi
            boost
+           grantlee
+           grantleetheme
            kauth
+           kcmutils
            kcodecs
            kcompletion
            kconfigwidgets
@@ -193,6 +196,7 @@ (define-public akonadi-contacts
            ktextwidgets
            kwidgetsaddons
            kxmlgui
+           libkleo
            prison
            kio
            qtbase-5
@@ -213,14 +217,14 @@ (define-public akonadi-contacts
 (define-public akonadi-mime
   (package
     (name "akonadi-mime")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akonadi-mime-" version ".tar.xz"))
        (sha256
-        (base32 "1wd776ia3z22a79biq04y4m83n8xpvfmyg8bcsslr7lmc3avdg8w"))))
+        (base32 "1bcrbf5z9175p206cvm5s6zq882nb32cf9akdcbnadqiibrpxkxv"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules libxslt ;; xslt for generating interface descriptions
@@ -265,14 +269,14 @@ (define-public akonadi-mime
 (define-public akonadi-notes
   (package
     (name "akonadi-notes")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akonadi-notes-" version ".tar.xz"))
        (sha256
-        (base32 "04y293kjrmjjcbb7fkjl7hl4vrks4cjjxnvc6ibzyv81rn6cdhh2"))))
+        (base32 "0xkcw9izgxfzglciig2i4wiz6iflzjg0d6dp1nq6p1kwxwc899sb"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -290,14 +294,14 @@ (define-public akonadi-notes
 (define-public akonadi-search
   (package
     (name "akonadi-search")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akonadi-search-" version ".tar.xz"))
        (sha256
-        (base32 "1h5p44y244gzf7ndzw7afrvq9c76ybp8ddvg82p3lzjh02rrvd50"))))
+        (base32 "1id6zzjxc9zvpz1ryj2zn1yff5ak04r1mlk9cklbj99frzf0wv6p"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules
@@ -334,7 +338,8 @@ (define-public akonadi-search
                   (replace 'check
                     (lambda* (#:key tests? #:allow-other-keys)
                       (when tests?
-                        (invoke "dbus-launch" "ctest")))))))
+                        (invoke "dbus-launch" "ctest" "-E"
+                                "akonadi-sqlite-collectionindexingjobtest")))))))
     (home-page "https://api.kde.org/kdepim/akonadi/html/index.html")
     (synopsis "Akonadi search library")
     (description "This package provides a library used to search in the
@@ -345,46 +350,58 @@ (define-public akonadi-search
 (define-public kincidenceeditor
   (package
     (name "kincidenceeditor")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/incidenceeditor-" version ".tar.xz"))
        (sha256
-        (base32 "1xpp5lw60mvpjsjsxmicfa5y2d68wnb9vm4yb1krwkihm852ziny"))))
+        (base32 "1sbflfggpqhwhg3iw46462z3p83sjhlx6f1fvgz251m020vqq9xa"))))
     (properties `((upstream-name . "incidenceeditor")))
     (build-system qt-build-system)
     (native-inputs
-     (list extra-cmake-modules))
+     (list extra-cmake-modules dbus))
     (inputs
      (list akonadi
            akonadi-calendar
            akonadi-contacts
            akonadi-mime
            boost
+           grantlee
+           grantleetheme
            kcalendarcore
            kcalendarsupport
            kcalutils
            kcodecs
            kcontacts
            kdbusaddons
-           kdepim-apps-libs
            kdiagram
            keventviews
            ki18n
            kiconthemes
            kidentitymanagement
+           kimap
            kio
            kitemmodels
            kldap
            kmailtransport
            kmime
+           kpimcommon
            kpimtextedit
            ktextwidgets
            kwallet
            libkdepim
            qtbase-5))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "dbus-launch" "ctest" ;; FIXME: test fails.
+                       "-E" "akonadi-sqlite-incidencedatetimetest"))
+             #t)))))
     (home-page "https://invent.kde.org/pim/incidenceeditor")
     (synopsis "KDE PIM library for editing incidences")
     (description "This library provides an incidence editor for KDE PIM.")
@@ -394,14 +411,14 @@ (define-public kincidenceeditor
 (define-public kaddressbook
   (package
     (name "kaddressbook")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kaddressbook-" version ".tar.xz"))
        (sha256
-        (base32 "1vpdhdj87ai2sxjn2jk3mh6bzfr1n3yzydnkgv7nc8v1m2fdawap"))))
+        (base32 "1hzq0fdy99l1kqw14d582l0s56gvrw86abihib6k4az4c6g3c0md"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -420,7 +437,6 @@ (define-public kaddressbook
            kcontacts
            kcrash
            kdbusaddons
-           kdepim-apps-libs
            kdoctools
            ki18n
            kiconthemes
@@ -451,14 +467,14 @@ (define-public kaddressbook
 (define-public kalarmcal
   (package
     (name "kalarmcal")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kalarmcal-" version ".tar.xz"))
        (sha256
-        (base32 "0g0bm4zzzcpl2pqqf609349zagwrgj6a4ibxpgg4zf21aacdq8bi"))))
+        (base32 "160pmr702b68hys9l02azvrv6pagy1r2whw0zp3jlf6863p9fkqr"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -492,14 +508,14 @@ (define-public kalarmcal
 (define-public kblog
   (package
     (name "kblog")
-    (version "20.04.1")
+    (version "20.04.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kblog-" version ".tar.xz"))
        (sha256
-        (base32 "0pi3axs58wsz5vq6vyisz73s24q739zplwrblyvkcm16nll4mvhk"))))
+        (base32 "1d5r9ivc1xmhkrz780xga87p84h7dnxjl981qap16gy37sxahcjr"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -526,14 +542,14 @@ (define-public kblog
 (define-public kcalendarsupport
   (package
     (name "kcalendarsupport")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/calendarsupport-" version ".tar.xz"))
        (sha256
-        (base32 "1yv3hs7qw481cxw4kzbx5l8vv18bgzm1b0vj3zrlqqxwl5ac6xvy"))))
+        (base32 "0annni037cp1ga2lj2gkjxlkygnaxna4fs095lbaqp5zljz3g8vp"))))
     (properties `((upstream-name . "calendarsupport")))
     (build-system qt-build-system)
     (native-inputs
@@ -542,12 +558,12 @@ (define-public kcalendarsupport
      (list akonadi
            akonadi-calendar
            akonadi-mime
+           akonadi-notes
            boost
            kcalendarcore
            kcalutils
            kcompletion
            kdbusaddons
-           kdepim-apps-libs
            kguiaddons
            kholidays
            ki18n
@@ -571,14 +587,14 @@ (define-public kcalendarsupport
 (define-public kcalutils
   (package
     (name "kcalutils")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kcalutils-" version ".tar.xz"))
        (sha256
-        (base32 "0v268w8vhgqxq1nwv9b9cy4h7zqgjrv19r44g3zc9w5j76ivix86"))))
+        (base32 "006sfkjzyid8byl2mmyn1is4nra9wjqh21ksd5g1kv948hf1jdcs"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules libxml2)) ;; xmllint required for tests
@@ -606,61 +622,17 @@ (define-public kcalutils
 functions for accessing calendar data using the kcalcore API.")
     (license  license:lgpl2.0+)))
 
-(define-public kdepim-apps-libs
-  (package
-    (name "kdepim-apps-libs")
-    (version "20.04.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/kdepim-apps-libs-" version ".tar.xz"))
-       (sha256
-        (base32 "0m9qrfjs97anh9h6ibggx23ddlm1zkxjap2iyf3gf672ip01fvci"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules))
-    (inputs
-     (list akonadi
-           akonadi-contacts
-           boost
-           gpgme
-           grantlee
-           grantleetheme
-           kconfig
-           kconfigwidgets
-           kcontacts
-           kcoreaddons
-           ki18n
-           kimap
-           kio
-           kitemmodels
-           kmime
-           kpimcommon
-           kservice
-           kwidgetsaddons
-           libkleo
-           prison
-           qgpgme
-           qtbase-5))
-    (home-page "https://invent.kde.org/pim/kdepim-apps-libs")
-    (synopsis "KDE PIM mail related libraries and data files")
-    (description "This package provides mail related libraries and data files
-for KDE PIM.")
-    (license ;; GPL for programs, LGPL for libraries
-     (list license:gpl2+ license:lgpl2.0+))))
-
 (define-public kdepim-runtime
   (package
     (name "kdepim-runtime")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kdepim-runtime-" version ".tar.xz"))
        (sha256
-        (base32 "1in4x4wvgclkni72cfkw9jx35d0qd0jmfwybm3ksx5qx5sbki9gg"))))
+        (base32 "1ahrnnc9vn0556s4nrsjgc9vbf5rb6yby7fn33p3jjnpgja0mc7m"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules dbus kdoctools libxslt shared-mime-info))
@@ -672,9 +644,12 @@ (define-public kdepim-runtime
            akonadi-notes
            boost
            cyrus-sasl
+           grantlee
+           grantleetheme
            kalarmcal
            kcalendarcore
            kcalutils
+           kcmutils
            kcodecs
            kconfig
            kconfigwidgets
@@ -686,6 +661,7 @@ (define-public kdepim-runtime
            kio
            kitemmodels
            kmailtransport
+           kldap
            kmbox
            kmime
            knotifications
@@ -696,11 +672,13 @@ (define-public kdepim-runtime
            ktextwidgets
            kwallet
            kwindowsystem
+           libkdepim
            libkgapi
            ;; TODO: libkolab
            qca
            qtbase-5
            qtdeclarative
+           qtkeychain
            qtnetworkauth
            qtspeech
            qtwebchannel
@@ -709,8 +687,7 @@ (define-public kdepim-runtime
     (arguments
       ;; TODO: 5/45 tests fail for quite different reasons, even with
       ;; "offscreen" and dbus
-     `(#:tests? #f
-       #:phases (modify-phases %standard-phases
+     `(#:phases (modify-phases %standard-phases
                   (add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH
                     (lambda* (#:key inputs #:allow-other-keys)
                       ;; FIXME: <Akonadi/KMime/SpecialMailCollections> is not
@@ -718,8 +695,19 @@ (define-public kdepim-runtime
                       ;; this hack.
                       (setenv "CPLUS_INCLUDE_PATH"
                               (string-append
-                               (search-input-directory inputs "include/KF5")
-                               ":" (or (getenv "CPLUS_INCLUDE_PATH") ""))))))))
+                               (assoc-ref inputs "akonadi-mime") "/include/KF5:"
+                               (or (getenv "CPLUS_INCLUDE_PATH") "")))))
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        ;; FIXME: Atleast some appear to require network.
+                        (invoke "dbus-launch" "ctest" "-E" "\
+(akonadi-sqlite-synctest|akonadi-sqlite-pop3test|storecompacttest\
+|akonadi-sqlite-ewstest|ewsmoveitemrequest_ut|ewsdeleteitemrequest_ut\
+|ewsgetitemrequest_ut|ewsunsubscriberequest_ut|ewssettings_ut\
+|templatemethodstest|akonadi-sqlite-serverbusytest|ewsattachment_ut|\\
+testmovecollectiontask)"))
+                      #t)))))
     (home-page "https://invent.kde.org/pim/kdepim-runtime")
     (synopsis "Runtime components for Akonadi KDE")
     (description "This package contains Akonadi agents written using KDE
@@ -734,14 +722,14 @@ (define-public kdepim-runtime
 (define-public keventviews
   (package
     (name "keventviews")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/eventviews-" version ".tar.xz"))
        (sha256
-        (base32 "0si9p95rgp7mgkzhzwyy10zrwzy1kipbhm1y96yjlc9rxi3jrc73"))))
+        (base32 "01x9ccwspn1dwkmcxcr8p6pazj6w31pxhx0bzlfr6bgpccicp2w2"))))
     (properties `((upstream-name . "eventviews")))
     (build-system qt-build-system)
     (native-inputs
@@ -783,23 +771,34 @@ (define-public keventviews
 (define-public kgpg
   (package
     (name "kgpg")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kgpg-" version ".tar.xz"))
        (sha256
-        (base32 "03d3gsbara7ga2cyrhafkw11qq9cj804h9vpvxl4wd2a9c90snkh"))))
+        (base32 "1mzq3g4xwg459k0mp9xvg8bhilizadbh4gck1764wq69bxlcyav3"))))
     (build-system qt-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "dbus-launch" "ctest" "-E" ;; FIXME: Failing test.
+                       "(kgpg-import)")))))))
     (native-inputs
      (list extra-cmake-modules gnupg ;; TODO: Remove after gpgme uses fixed path
+           dbus ;; Remove after failing test passes
            kdoctools))
     (inputs
      (list akonadi
            akonadi-contacts
            boost
            gpgme
+           grantlee
+           grantleetheme
            karchive
            kcodecs
            kcontacts
@@ -830,14 +829,14 @@ (define-public kgpg
 (define-public kidentitymanagement
   (package
     (name "kidentitymanagement")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kidentitymanagement-" version ".tar.xz"))
        (sha256
-        (base32 "0flp9p9hlr1zfgvsy5i1nq55p7bvnhqxkxbif1lyw0cq6iblxhgr"))))
+        (base32 "18xwvlmqhih5jmig2mj3a6mc5awlxdv8f81da6cgm123imhrirk4"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -869,14 +868,14 @@ (define-public kidentitymanagement
 (define-public kimap
   (package
     (name "kimap")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kimap-" version ".tar.xz"))
        (sha256
-        (base32 "1x22wfzqp92mn1fy2xl89k9yjfk2vgcva0fd30i9rrqj4aw2rsma"))))
+        (base32 "11jd9zkvflfh3gqs36fhj8mla3k44xf7zdb0z4nl9sk5nhhgm5px"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -900,24 +899,24 @@ (define-public kimap
 (define-public kldap
   (package
     (name "kldap")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kldap-" version ".tar.xz"))
        (sha256
-        (base32 "0whlp586ycsx0qf0nr81avwscpq62w5js46z7vayy0dxkhrhfayr"))))
+        (base32 "13llsfhx9lfvhf90a3vmpkyh02fjg5sp4fmrwrqyx9hjrbmy1g0a"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
     (inputs
-     (list ki18n kio kwidgetsaddons qtbase-5))
+     (list ki18n kio kwidgetsaddons qtbase-5 qtkeychain))
     (propagated-inputs
      (list cyrus-sasl openldap))
     (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
     (synopsis "Library for accessing LDAP")
-    (description " This is a library for accessing LDAP with a convenient Qt
+    (description "This is a library for accessing LDAP with a convenient Qt
 style C++ API.  LDAP (Lightweight Directory Access Protocol) is an application
 protocol for querying and modifying directory services running over TCP/IP.")
     (license license:lgpl2.0+)))
@@ -925,14 +924,14 @@ (define-public kldap
 (define-public kleopatra
   (package
     (name "kleopatra")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kleopatra-" version ".tar.xz"))
        (sha256
-        (base32 "1m50nzb2m27fkb8z3k34cv4zi2akr0fx8zn7lk5swhg49sgrip6n"))))
+        (base32 "10f61m0qrs0qipn94jd32gibyj8pcvprs8j7gmac0mym0b3djjls"))))
     (build-system qt-build-system)
     (native-inputs
      (list dbus extra-cmake-modules gnupg ;; TODO: Remove after gpgme uses fixed path
@@ -967,7 +966,7 @@ (define-public kleopatra
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
-               (invoke "dbus-launch" "ctest" "."))
+               (invoke "dbus-launch" "ctest"))
              #t)))))
     (home-page "https://kde.org/applications/utilities/org.kde.kleopatra")
     (synopsis "Certificate Manager and Unified Crypto GUI")
@@ -980,15 +979,14 @@ (define-public kleopatra
 (define-public kmail
   (package
     (name "kmail")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kmail-" version ".tar.xz"))
        (sha256
-        (base32 "06qfxzi5pasm6p5ck44sjca96dz8xzd1nndq5lqcyvcxmmnvvz3p"))
-       (patches (search-patches "kmail-Fix-missing-link-libraries.patch"))))
+        (base32 "1knh6cf72hidc6jyiw250b708b410fla0c5w83zaavmwv37ah8z0"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules dbus kdoctools))
@@ -999,6 +997,8 @@ (define-public kmail
            akonadi-search
            boost
            gpgme
+           grantlee
+           grantleetheme
            kbookmarks
            kcalendarcore
            kcalutils
@@ -1009,7 +1009,6 @@ (define-public kmail
            kcontacts
            kcrash
            kdbusaddons
-           kdepim-apps-libs
            kguiaddons
            ki18n
            kiconthemes
@@ -1024,7 +1023,6 @@ (define-public kmail
            kmailtransport
            kmessagelib
            kmime
-           kmime
            knotifications
            knotifyconfig
            kontactinterface
@@ -1034,6 +1032,7 @@ (define-public kmail
            kservice
            ksyntaxhighlighting
            ktextwidgets
+           kuserfeedback
            ktnef
            kwallet
            kwidgetsaddons
@@ -1047,6 +1046,7 @@ (define-public kmail
            qgpgme
            qtbase-5
            qtdeclarative
+           qtkeychain
            qtwebchannel
            qtwebengine
            sonnet))
@@ -1056,7 +1056,14 @@ (define-public kmail
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
-               (invoke "dbus-launch" "ctest" "."))
+               (invoke "dbus-launch" "ctest" "-E" ;; FIXME: Many failing tests.
+                       "(akonadi-sqlite-kmcomposerwintest|\
+akonadi-sqlite-tagselectdialogtest|\
+akonadi-sqlite-kmcommandstest|\
+sendlateragent-sendlaterutiltest|\
+sendlateragent-sendlaterconfigtest|\
+followupreminder-followupreminderconfigtest|\
+akonadi-sqlite-unifiedmailboxmanagertest)"))
              #t)))))
     (home-page "https://kontact.kde.org/components/kmail.html")
     (synopsis "Full featured graphical email client")
@@ -1073,14 +1080,14 @@ (define-public kmail
 (define-public kmailcommon
   (package
     (name "kmailcommon")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/mailcommon-" version ".tar.xz"))
        (sha256
-        (base32 "0q1k57zx1l7bnzrk1hadjxjn6r4yzz833mgsvaai9sd8qg022x2l"))))
+        (base32 "1zi8zkhv9g4vsylqzjm2wr9v6b20irfxhf4q467cmpqqrqpcp3af"))))
     (properties `((upstream-name . "mailcommon")))
     (build-system qt-build-system)
     (native-inputs
@@ -1091,6 +1098,8 @@ (define-public kmailcommon
            akonadi-mime
            boost
            gpgme
+           grantlee
+           grantleetheme
            karchive
            kcodecs
            kcompletion
@@ -1099,6 +1108,7 @@ (define-public kmailcommon
            kcontacts
            kdbusaddons
            kdesignerplugin
+           kguiaddons
            ki18n
            kiconthemes
            kidentitymanagement
@@ -1126,7 +1136,7 @@ (define-public kmailcommon
            qgpgme
            qtbase-5))
     (arguments
-     `(#:tests? #f))  ;; TODO: 4/56 tests fail, even with "offscreen" and dbus
+     `(#:tests? #f))  ;; TODO: 12/62 tests fail
     (home-page "https://invent.kde.org/pim/mailcommon")
     (synopsis "KDE email utility library")
     (description "The mail common library provides utility functions for
@@ -1137,32 +1147,38 @@ (define-public kmailcommon
 (define-public kmailimporter
   (package
     (name "kmailimporter")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/mailimporter-" version ".tar.xz"))
        (sha256
-        (base32 "1929pw0shdzi0yvjnqhak680hjjibg8f8hqy3svyxxhiqbhfjm26"))))
+        (base32 "0lcr9zzdf16f82spr9x33jnzr23sx7xk2zvfpzdki3b5jxvapnsk"))))
     (properties `((upstream-name . "mailimporter")))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
     (inputs
      (list akonadi
+           akonadi-contacts
            akonadi-mime
+           grantlee
+           grantleetheme
            boost
            karchive
            kcompletion
            kconfig
            kconfigwidgets
+           kcontacts
            kcoreaddons
            kdbusaddons
            ki18n
+           kimap
            kio
            kitemmodels
            kmime
+           kpimcommon
            kxmlgui
            libkdepim
            qtbase-5))
@@ -1176,14 +1192,14 @@ (define-public kmailimporter
 (define-public kmailtransport
   (package
     (name "kmailtransport")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kmailtransport-" version ".tar.xz"))
        (sha256
-        (base32 "1swqlgzxzlqffm119sbhszy9lr93m8lzwygr0q4raa660b6yiavm"))))
+        (base32 "0l3pgs781a6is937i0bkz9ykr40l36rwlrirsr4g8wh0gkc3ifi6"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1205,7 +1221,8 @@ (define-public kmailtransport
            ktextwidgets
            kwallet
            libkgapi
-           qtbase-5))
+           qtbase-5
+           qtkeychain))
     (arguments
      `(#:tests? #f)) ;; TODO - 3/3 tests fail, require drkonqi
     (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
@@ -1217,14 +1234,14 @@ (define-public kmailtransport
 (define-public kmbox
   (package
     (name "kmbox")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kmbox-" version ".tar.xz"))
        (sha256
-        (base32 "03cny38v4y1lmcrs6d34hbj9assqgf51rqryf5rdzkiaq79c1krc"))))
+        (base32 "04cl2khj3a7n81nlmxsg8kgszrl22qm6s2kvbrhz39yfzi31cwqr"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1239,14 +1256,14 @@ (define-public kmbox
 (define-public kmessagelib
   (package
     (name "kmessagelib")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/messagelib-" version ".tar.xz"))
        (sha256
-        (base32 "03vq4962bhps2j9c9i52majlbkmvg2gmr197igv8xamja1vs8hk1"))))
+        (base32 "0xrhnkahqirsz37lbvx505ll7bfhr25lbq89yqq81bxbzkbvamsw"))))
     (properties `((upstream-name . "messagelib")))
     (build-system qt-build-system)
     (native-inputs
@@ -1269,7 +1286,7 @@ (define-public kmessagelib
            kconfigwidgets
            kcontacts
            kdbusaddons
-           kdepim-apps-libs
+           kguiaddons
            ki18n
            kiconthemes
            kidentitymanagement
@@ -1309,12 +1326,11 @@ (define-public kmessagelib
                   (add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH
                     (lambda* (#:key inputs #:allow-other-keys)
                       ;; FIXME: One of the compilation steps fail to find
-                      ;; <Libkdepim/MultiplyingLine> without this hack.
+                      ;; <QPrinter> without this hack.
                       (setenv "CPLUS_INCLUDE_PATH"
-                              (string-append
-                                (assoc-ref inputs "libkdepim")
-                                "/include/KF5:"
-                                (or (getenv "CPLUS_INCLUDE_PATH") ""))))))))
+                              (string-append (assoc-ref inputs "qtbase")
+                                             "/include/qt5/QtPrintSupport:"
+                                             (or (getenv "CPLUS_INCLUDE_PATH") ""))))))))
     (home-page "https://invent.kde.org/pim/messagelib")
     (synopsis "KDE PIM messaging libraries")
     (description "This package provides several libraries for messages,
@@ -1326,14 +1342,14 @@ (define-public kmessagelib
 (define-public kmime
   (package
     (name "kmime")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kmime-" version ".tar.xz"))
        (sha256
-        (base32 "1dkdxfr1ry10qyql5sp1ai4li11f0ncf9hipg27j59y70mlyrl2r"))))
+        (base32 "03s7l4lywdvp97h4qjgq06qqcclvnhy83qsrfzv0w2wcl631nnpw"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1362,14 +1378,14 @@ (define-public kmime
 (define-public knotes
   (package
     (name "knotes")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/knotes-" version ".tar.xz"))
        (sha256
-        (base32 "13h4n7fb5p6g1f5kmw6pblpd76j904psm30s3a5d3kykni57dijx"))))
+        (base32 "07pj0aqwsy1xi5mx7x0h3zmxfg0n4afgjax9a9ihc553xs6k48d7"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules libxslt))
@@ -1399,7 +1415,6 @@ (define-public knotes
            kitemmodels
            kitemviews
            kmime
-           kmime
            knewstuff
            knotifications
            knotifyconfig
@@ -1434,14 +1449,14 @@ (define-public knotes
 (define-public kontactinterface
   (package
     (name "kontactinterface")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kontactinterface-" version ".tar.xz"))
        (sha256
-        (base32 "0s1qm1wjkvbb1film94r7g88d8vgh26bm0hm6gpyqv5bazw5qx3j"))))
+        (base32 "1qwx0q4bbk3d720ij37wbd54g9alw6ispjl1mq19hkk3gs5l1c78"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1462,14 +1477,14 @@ (define-public kontactinterface
 (define-public korganizer
   (package
     (name "korganizer")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/korganizer-" version ".tar.xz"))
        (sha256
-        (base32 "04lz3ldrr0lpy9zpsg9ja1i9gxzlcjpqcwn3g7l4jjdky4frcr2r"))))
+        (base32 "072pyzs38dv07mwi4hlfb4rh9jx40dpxac3ywy7kj6nyvbfjmh0r"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules dbus qttools kdoctools))
@@ -1481,6 +1496,8 @@ (define-public korganizer
            akonadi-notes
            akonadi-search
            boost
+           grantlee
+           grantleetheme
            kcalendarcore
            kcalendarsupport
            kcalutils
@@ -1493,7 +1510,6 @@ (define-public korganizer
            kcoreaddons
            kcrash
            kdbusaddons
-           kdepim-apps-libs
            keventviews
            kholidays
            kiconthemes
@@ -1536,11 +1552,11 @@ (define-public korganizer
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
-               (invoke "dbus-launch" "ctest" "."))
+               (invoke "dbus-launch" "ctest"))
              #t)))))
     (home-page "https://kontact.kde.org/components/korganizer.html")
     (synopsis "Organizational assistant, providing calendars and other similar
-functionality to help you organize your life.")
+functionality to help you organize your life")
     (description "KOrganizer is the calendar and scheduling component of
 Kontact.  It provides management of events and tasks, alarm notification, web
 export, network transparent handling of data, group scheduling, import and
@@ -1585,14 +1601,14 @@ (define-public kpeoplevcard
 (define-public kpimcommon
   (package
     (name "kpimcommon")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/pimcommon-" version ".tar.xz"))
        (sha256
-        (base32 "15lfqv5w4iwyjlvf4idykpkjgppl0ic59r4dw95qkbbjkps0nr7j"))))
+        (base32 "1k1d100lr277lgwyzn2ssxsx9x2yd9nfd5657r95vmdnkh2qs517"))))
     (properties `((upstream-name . "pimcommon")))
     (build-system qt-build-system)
     (native-inputs
@@ -1602,9 +1618,13 @@ (define-public kpimcommon
            akonadi
            akonadi-contacts
            akonadi-mime
+           akonadi-search
            boost
            grantlee
+           grantleetheme
            ;; TODO: ("kaccounts" ,kaccounts)
+           kcalendarcore
+           kcmutils
            kcodecs
            kconfig
            kconfigwidgets
@@ -1619,10 +1639,10 @@ (define-public kpimcommon
            kitemmodels
            kitemviews
            kjobwidgets
+           kldap
            kmime
            knewstuff
            kpimtextedit
-           kservice
            ktextwidgets
            kwallet
            kwidgetsaddons
@@ -1644,14 +1664,14 @@ (define-public kpimcommon
 (define-public libgravatar
   (package
     (name "libgravatar")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libgravatar-" version ".tar.xz"))
        (sha256
-        (base32 "0981ci2kr20v4fk11h57rqya0brgslfazpgq1yk5yqiwyqqm49r2"))))
+        (base32 "1bihy3dfagwc7aday40myqjbn555mkzzaaq7c14ywkmhh99dhvh7"))))
     (build-system qt-build-system)
     (native-inputs (list extra-cmake-modules))
     (inputs (list kconfig
@@ -1674,14 +1694,14 @@ (define-public libgravatar
 (define-public kpimtextedit
   (package
     (name "kpimtextedit")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kpimtextedit-" version ".tar.xz"))
        (sha256
-        (base32 "0j6d4sv405c3x0ww75qsww94apidsb8aaqf59akhv96zmv0vx5wy"))))
+        (base32 "19hrqbjcmpi81vmnggrkrv0fcc9inhz5aa5klx0141aylnzfgwsl"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules qttools))
@@ -1715,14 +1735,14 @@ (define-public kpimtextedit
 (define-public ksmtp
   (package
     (name "ksmtp")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/ksmtp-" version ".tar.xz"))
        (sha256
-        (base32 "1xyaahibm0dc3qdwiak5yqa66szxaxnylvqxi6k21ayvzn2vxbhx"))))
+        (base32 "0kdy5gsg1sgccvdk1fpf866xl9m8v8z034jpgf6s7n2pr5r5mni2"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1755,14 +1775,14 @@ (define-public ksmtp
 (define-public ktnef
   (package
     (name "ktnef")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/ktnef-" version ".tar.xz"))
        (sha256
-        (base32 "0cn5p32w2kas56yyc15c22kll4hd02lvvxz2n6cz1wda8alspj19"))))
+        (base32 "1in991n8alkxf40p0wvkr7gdaaz8w4kdw1rsq6sbjil6cs4cr5nl"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1787,14 +1807,14 @@ (define-public ktnef
 (define-public libkdepim
   (package
     (name "libkdepim")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libkdepim-" version ".tar.xz"))
        (sha256
-        (base32 "0bask561laxgkgm3rxfpyxqs6jx1l9xjk058lhycq0pik6vwhdha"))))
+        (base32 "0g9jx6z5jf9yqn01xc1k038b4ljr9sil7bwvifc64s38qxl9wmww"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules qttools))
@@ -1834,14 +1854,14 @@ (define-public libkdepim
 (define-public libkgapi
   (package
     (name "libkgapi")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libkgapi-" version ".tar.xz"))
        (sha256
-        (base32 "0nvd5fqrvyb7c3g7rf1lxbbv38q9sqnhd6irgx7awwgw92inxky4"))))
+        (base32 "1vbk8786mk1irm94bsm97270gnd149nz7w0zqnvwz499f72d21jx"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules qttools))
@@ -1869,14 +1889,14 @@ (define-public libkgapi
 (define-public libkleo
   (package
     (name "libkleo")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libkleo-" version ".tar.xz"))
        (sha256
-        (base32 "0rijpmqyx4mrr7csik3vkfcra7kfywk6yz548fmq3ha8wa9ax8fv"))))
+        (base32 "19q128ldi0aspy7vc03r54vrf7wz7l1181x9pbmax8340nbnaz7l"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools qttools))
@@ -1895,6 +1915,18 @@ (define-public libkleo
            kpimtextedit
            qgpgme
            qtbase-5))
+    (propagated-inputs
+     `(("gpgme" ,gpgme)
+       ("qgpgme" ,qgpgme)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests? ;; FIXME: These tests fail.
+               (invoke "ctest" "-E"
+                       "(keyresolvercoretest|newkeyapprovaldialogtest)"))
+             #t)))))
     (home-page "https://invent.kde.org/pim/libkleo")
     (synopsis "KDE PIM cryptographic library")
     (description "@code{libkleo} is a library for Kleopatra and other parts of
@@ -1905,14 +1937,14 @@ (define-public libkleo
 (define-public libksieve
   (package
     (name "libksieve")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libksieve-" version ".tar.xz"))
        (sha256
-        (base32 "04k2nkwg5vlgbr5wpvsq02wi54ljsy4ka7y3ns5x3d2gb06wp03c"))
+        (base32 "1li9cc5y6xbn4m4qa21qmsjd4xzshp67mxwh2nvr17mfs8ray7vd"))
        (patches (search-patches "libksieve-Fix-missing-link-libraries.patch"))))
     (build-system qt-build-system)
     (native-inputs
@@ -1951,11 +1983,6 @@ (define-public libksieve
                  "src/ksieveui/editor/webengine/autotests/CMakeLists.txt"
                (("^\\s*(add_test|ecm_mark_as_test)\\W" line)
                 (string-append "# " line)))
-             ;; FIXME: This test fails due to time zone problems.
-             (substitute*
-                 "src/ksieveui/autocreatescripts/autotests/CMakeLists.txt"
-               ((".*sieveeditorgraphicalmodewidgettest\\.cpp.*")
-                ""))
              #t)))))
     (home-page "https://invent.kde.org/pim/libksieve")
     (synopsis "KDE Sieve library")
diff --git a/gnu/packages/patches/akonadi-not-relocatable.patch b/gnu/packages/patches/akonadi-not-relocatable.patch
index c3964c5c05..bd4cbee79f 100644
--- a/gnu/packages/patches/akonadi-not-relocatable.patch
+++ b/gnu/packages/patches/akonadi-not-relocatable.patch
@@ -1,19 +1,18 @@
-From bc018b4bc816a3b51deb9739bedbf8a2268d0684 Mon Sep 17 00:00:00 2001
-From: gnidorah <[email-masked]>
-Date: Fri, 22 Dec 2017 17:36:03 +0300
-Subject: [PATCH] Revert "Make Akonadi installation properly relocatable"
+From 4b90a0bd4411a66bbe6ecf85ce89a60a58bee969 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <[email-masked]>
+Date: Sun, 25 Apr 2021 08:01:21 -0500
+Subject: [PATCH 3/3] akonadi revert make relocatable
 
-This reverts commit b2bb55f13f2ac783f89cc414de8c39f62fa2096a.
 ---
  CMakeLists.txt            | 3 ---
  KF5AkonadiConfig.cmake.in | 6 +++---
  2 files changed, 3 insertions(+), 6 deletions(-)
 
-Index: akonadi-19.08.0/CMakeLists.txt
-===================================================================
---- akonadi-19.08.0.orig/CMakeLists.txt
-+++ akonadi-19.08.0/CMakeLists.txt
-@@ -306,9 +306,6 @@ configure_package_config_file(
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4e8cc81..63161b7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -368,9 +368,6 @@ configure_package_config_file(
      "${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiConfig.cmake.in"
      "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiConfig.cmake"
      INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
@@ -21,29 +20,25 @@ Index: akonadi-19.08.0/CMakeLists.txt
 -              AKONADI_INCLUDE_DIR
 -              KF5Akonadi_DATA_DIR
  )
- 
+
  install(FILES
-Index: akonadi-19.08.0/KF5AkonadiConfig.cmake.in
-===================================================================
---- akonadi-19.08.0.orig/KF5AkonadiConfig.cmake.in
-+++ akonadi-19.08.0/KF5AkonadiConfig.cmake.in
-@@ -26,8 +26,8 @@ if(BUILD_TESTING)
-     find_dependency(Qt5Test "@QT_REQUIRED_VERSION@")
- endif()
- 
+diff --git a/KF5AkonadiConfig.cmake.in b/KF5AkonadiConfig.cmake.in
+index bcf7320..1574319 100644
+--- a/KF5AkonadiConfig.cmake.in
++++ b/KF5AkonadiConfig.cmake.in
+@@ -1,10 +1,10 @@
+ @PACKAGE_INIT@
+
 -set_and_check(AKONADI_DBUS_INTERFACES_DIR  "@PACKAGE_AKONADI_DBUS_INTERFACES_INSTALL_DIR@")
 -set_and_check(AKONADI_INCLUDE_DIR          "@PACKAGE_AKONADI_INCLUDE_DIR@")
 +set_and_check(AKONADI_DBUS_INTERFACES_DIR  "@AKONADI_DBUS_INTERFACES_INSTALL_DIR@")
 +set_and_check(AKONADI_INCLUDE_DIR          "@AKONADI_INCLUDE_DIR@")
- 
- find_dependency(Boost "@Boost_MINIMUM_VERSION@")
- 
-@@ -35,7 +35,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/KF5Ako
- include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiMacros.cmake)
- 
+
  # The directory where akonadi-xml.xsd and kcfg2dbus.xsl are installed
 -set(KF5Akonadi_DATA_DIR "@PACKAGE_KF5Akonadi_DATA_DIR@")
 +set(KF5Akonadi_DATA_DIR "@KF5Akonadi_DATA_DIR@")
- 
- ####################################################################################
- # CMAKE_AUTOMOC
+
+ # set the directories
+ if(NOT AKONADI_INSTALL_DIR)
+--
+2.31.1
diff --git a/gnu/packages/patches/akonadi-paths.patch b/gnu/packages/patches/akonadi-paths.patch
index ac08ec5448..bb4a19ede0 100644
--- a/gnu/packages/patches/akonadi-paths.patch
+++ b/gnu/packages/patches/akonadi-paths.patch
@@ -1,26 +1,26 @@
 This is based on the respectve patch from NixPkgs, but with the parts pinning
-mysql and postgresql executables removed. The our package definition on why.
+mysql and postgresql executables removed. See our package definition on why.
 
 diff --git a/src/akonadicontrol/agentmanager.cpp b/src/akonadicontrol/agentmanager.cpp
 --- a/src/akonadicontrol/agentmanager.cpp
 +++ b/src/akonadicontrol/agentmanager.cpp
-@@ -61,7 +61,7 @@ public:
-                 []() {
-                     QCoreApplication::instance()->exit(255);
-                 });
+@@ -47,7 +47,7 @@ public:
+         connect(this, &Akonadi::ProcessControl::unableToStart, this, []() {
+             QCoreApplication::instance()->exit(255);
+         });
 -        start(QStringLiteral("akonadiserver"), args, RestartOnCrash);
-+        start(QLatin1String(NIX_OUT "/bin/akonadiserver"), args, RestartOnCrash);
++        start(QStringLiteral(NIX_OUT "/bin/akonadiserver"), args, RestartOnCrash);
      }
- 
+
      ~StorageProcessControl() override
-@@ -84,7 +84,7 @@ public:
-                 []() {
-                     qCCritical(AKONADICONTROL_LOG) << "Failed to start AgentServer!";
-                 });
+@@ -69,7 +69,7 @@ public:
+         connect(this, &Akonadi::ProcessControl::unableToStart, this, []() {
+             qCCritical(AKONADICONTROL_LOG) << "Failed to start AgentServer!";
+         });
 -        start(QStringLiteral("akonadi_agent_server"), args, RestartOnCrash);
-+        start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), args, RestartOnCrash);
++        start(QStringLiteral(NIX_OUT "/bin/akonadi_agent_server"), args, RestartOnCrash);
      }
- 
+
      ~AgentServerProcessControl() override
 diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp
 --- a/src/akonadicontrol/agentprocessinstance.cpp
@@ -37,12 +37,12 @@ diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/ag
 diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp
 --- a/src/server/storage/dbconfigmysql.cpp
 +++ b/src/server/storage/dbconfigmysql.cpp
-@@ -209,7 +209,7 @@ bool DbConfigMysql::startInternalServer()
+@@ -215,7 +215,7 @@ bool DbConfigMysql::startInternalServer()
  #endif
- 
+
      // generate config file
 -    const QString globalConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-global.conf"));
 +    const QString globalConfig = QLatin1String(NIX_OUT "/etc/xdg/akonadi/mysql-global.conf");
-     const QString localConfig  = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-local.conf"));
+     const QString localConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-local.conf"));
      const QString actualConfig = StandardDirs::saveDir("data") + QLatin1String("/mysql.conf");
      if (globalConfig.isEmpty()) {
diff --git a/gnu/packages/patches/akonadi-timestamps.patch b/gnu/packages/patches/akonadi-timestamps.patch
index e299a6991f..df81fdb2dc 100644
--- a/gnu/packages/patches/akonadi-timestamps.patch
+++ b/gnu/packages/patches/akonadi-timestamps.patch
@@ -2,12 +2,12 @@ Index: akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp
 ===================================================================
 --- akonadi-19.08.0.orig/src/server/storage/dbconfigmysql.cpp
 +++ akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp
-@@ -235,8 +235,7 @@ bool DbConfigMysql::startInternalServer(
+@@ -260,8 +260,7 @@ bool DbConfigMysql::startInternalServer(
      bool confUpdate = false;
      QFile actualFile(actualConfig);
      // update conf only if either global (or local) is newer than actual
--    if ((QFileInfo(globalConfig).lastModified() > QFileInfo(actualFile).lastModified()) ||
--            (QFileInfo(localConfig).lastModified()  > QFileInfo(actualFile).lastModified())) {
+-    if ((QFileInfo(globalConfig).lastModified() > QFileInfo(actualFile).lastModified())
+-        || (QFileInfo(localConfig).lastModified() > QFileInfo(actualFile).lastModified())) {
 +    if (true) {
          QFile globalFile(globalConfig);
          QFile localFile(localConfig);
diff --git a/gnu/packages/patches/kmail-Fix-missing-link-libraries.patch b/gnu/packages/patches/kmail-Fix-missing-link-libraries.patch
deleted file mode 100644
index fc784d63dd..0000000000
--- a/gnu/packages/patches/kmail-Fix-missing-link-libraries.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 6b0a3a60870499b20ce9ae2ea07cbc5ee53cbdd2 Mon Sep 17 00:00:00 2001
-From: Hartmut Goebel <[email-masked]>
-Date: Tue, 21 Jan 2020 23:23:38 +0100
-Subject: [PATCH] Fix missing link libraries.
-
-See <https://phabricator.kde.org/D26821>
-
-These are only actually missing if the libraries reside in different
-prefixes, as it is the case in Guix or Nix.
----
- agents/archivemailagent/CMakeLists.txt      | 1 +
- agents/followupreminderagent/CMakeLists.txt | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/agents/archivemailagent/CMakeLists.txt b/agents/archivemailagent/CMakeLists.txt
-index 95c6249de..d0ddcd475 100644
---- a/agents/archivemailagent/CMakeLists.txt
-+++ b/agents/archivemailagent/CMakeLists.txt
-@@ -22,6 +22,7 @@ ki18n_wrap_ui(libarchivemailagent_SRCS ui/archivemailwidget.ui )
- add_library(archivemailagent STATIC ${libarchivemailagent_SRCS})
- target_link_libraries(archivemailagent
-     KF5::MailCommon
-+    KF5::Libkdepim
-     KF5::I18n
-     KF5::Notifications
-     KF5::KIOWidgets
-diff --git a/agents/followupreminderagent/CMakeLists.txt b/agents/followupreminderagent/CMakeLists.txt
-index 9ae7eaa29..527044807 100644
---- a/agents/followupreminderagent/CMakeLists.txt
-+++ b/agents/followupreminderagent/CMakeLists.txt
-@@ -27,6 +27,7 @@ target_link_libraries(followupreminderagent
-     KF5::AkonadiMime
-     KF5::AkonadiAgentBase
-     KF5::DBusAddons
-+    KF5::FollowupReminder
-     KF5::XmlGui
-     KF5::KIOWidgets
-     KF5::Notifications
--- 
-2.21.1
-
diff --git a/gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch b/gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch
index 238c4ec46c..3835c2e313 100644
--- a/gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch
+++ b/gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch
@@ -1,59 +1,23 @@
-From 732861dda9c466841a09329a0b2c992f2b78c40a Mon Sep 17 00:00:00 2001
-From: Hartmut Goebel <[email-masked]>
-Date: Tue, 21 Jan 2020 23:15:23 +0100
-Subject: [PATCH] Fix missing link libraries.
-
 See <https://phabricator.kde.org/D26818>
 
-These are only actually missing if the libraries reside in different
-prefixes, as it is the case in Guix or Nix.
----
- src/ksieveui/autocreatescripts/tests/CMakeLists.txt  | 2 ++
- src/ksieveui/scriptsparsing/autotests/CMakeLists.txt | 2 +-
- src/ksieveui/scriptsparsing/tests/CMakeLists.txt     | 8 ++++++--
- 3 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/src/ksieveui/autocreatescripts/tests/CMakeLists.txt b/src/ksieveui/autocreatescripts/tests/CMakeLists.txt
-index 8a482b4..c43216c 100644
---- a/src/ksieveui/autocreatescripts/tests/CMakeLists.txt
-+++ b/src/ksieveui/autocreatescripts/tests/CMakeLists.txt
-@@ -15,6 +16,7 @@ set(parsingscript_gui_SRCS parsingscript_gui.cpp ../../tests/capability.cpp)
- add_executable(parsingscript_gui ${parsingscript_gui_SRCS})
- target_link_libraries(parsingscript_gui
-   KF5::KIOCore
-+  KF5::SyntaxHighlighting
-   KF5::KSieveUi
-   KF5::KSieve
-   KF5::PimCommon
-diff --git a/src/ksieveui/scriptsparsing/autotests/CMakeLists.txt b/src/ksieveui/scriptsparsing/autotests/CMakeLists.txt
-index e41a74e..31703ef 100644
---- a/src/ksieveui/scriptsparsing/autotests/CMakeLists.txt
-+++ b/src/ksieveui/scriptsparsing/autotests/CMakeLists.txt
-@@ -5,7 +5,7 @@ macro(add_sieveeditor_xmlprintingscriptbuilding _source _extrasource)
-     ecm_add_test(${_test}
-         TEST_NAME ${_name}
-         NAME_PREFIX "sieveeditor-xmlprintingscriptbuilding-"
--        LINK_LIBRARIES Qt5::Test KF5::I18n KF5::KSieveUi
-+        LINK_LIBRARIES Qt5::Test KF5::I18n KF5::KSieveUi KF5::SyntaxHighlighting
-         )
- endmacro()
- add_sieveeditor_xmlprintingscriptbuilding(xmlprintingscriptbuildertest.cpp "" "")
-diff --git a/src/ksieveui/scriptsparsing/tests/CMakeLists.txt b/src/ksieveui/scriptsparsing/tests/CMakeLists.txt
-index a252039..99a1aaa 100644
---- a/src/ksieveui/scriptsparsing/tests/CMakeLists.txt
-+++ b/src/ksieveui/scriptsparsing/tests/CMakeLists.txt
-@@ -9,5 +9,9 @@ set(xmlsieveparsing_SRCS
- )
- 
- add_executable(xmlsieveparsing ${xmlsieveparsing_SRCS} )
--target_link_libraries(xmlsieveparsing   KF5::KSieveUi KF5::KSieve KF5::I18n)
--
-+target_link_libraries(xmlsieveparsing
-+  KF5::KSieveUi
-+  KF5::SyntaxHighlighting
-+  KF5::KSieve
-+  KF5::I18n
-+)
--- 
-2.21.1
+diff --git a/src/ksieveui/CMakeLists.txt b/src/ksieveui/CMakeLists.txt
+--- a/src/ksieveui/CMakeLists.txt
++++ b/src/ksieveui/CMakeLists.txt
+@@ -255,6 +255,7 @@ target_link_libraries(KF5KSieveUi
+     KF5::KManageSieve
+     KF5::KSieve
+     KF5::PimCommon
++    KF5::SyntaxHighlighting
+     PRIVATE
+     KF5::Libkdepim
+     KF5::Archive
+@@ -269,7 +270,6 @@ target_link_libraries(KF5KSieveUi
+     KF5::I18n
+     KF5::SonnetUi
+     Qt::PrintSupport
+-    KF5::SyntaxHighlighting
+     )
 
+ set_target_properties(KF5KSieveUi PROPERTIES
+--
+2.33.0
-- 
2.37.0

From 7013b27d19c89bc979894e2c7832bf1e1d0af660 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 1 Apr 2022 23:00:37 +0200
Subject: [PATCH v2 74/75] gnu: Add kwin-effects-yet-another-magic-lamp.

* gnu/packages/kde-frameworks.scm (kwin-effects-yet-another-magic-lamp): New
  variable.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 47d300e7b5..3db3255bbe 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -1522,6 +1522,35 @@ (define-public threadweaver
 uses a job-based interface to queue tasks and execute them in an efficient way.")
     (license license:lgpl2.1+)))
 
+(define-public kwin-effects-yet-another-magic-lamp
+  (package
+    (name "kwin-effects-yet-another-magic-lamp")
+    (version "5.24.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/zzag/kwin-effects-yet-another-magic-lamp")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0aggi3p10kaa8lann0j7cp2g76qh83s1r7akjcjc2y4anv0asz68"))))
+    (build-system cmake-build-system)
+    (native-inputs (list extra-cmake-modules pkg-config))
+    (inputs (list qtbase-5
+                  kwindowsystem
+                  kconfigwidgets
+                  kcoreaddons
+                  kconfig
+                  kwin
+                  libepoxy))
+    (home-page "https://github.com/zzag/kwin-effects-yet-another-magic-lamp")
+    (synopsis "Just Yet Another Magic Lamp Kwin plugin")
+    (description "This package provides a window minimization effect
+for KWin.  Whenever a window is minimized, it'll get sucked down into
+the dock/panel.")
+    (license license:gpl2+)))
 
 ;; Tier 2
 ;;
-- 
2.37.0

From 669fedd87e237e131c32486119ebb89d85dc939c Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 10:47:21 +0200
Subject: [PATCH v2 31/75] gnu: KDE Internet: Update home-page links.

* gnu/packages/kde-internet.scm (konversation, kopete, krdc, ktorrent): Update
home-page.

diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm
index 1f91ede969..2744ab1d9c 100644
--- a/gnu/packages/kde-internet.scm
+++ b/gnu/packages/kde-internet.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2020 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
+;;; Copyright © 2022 Petr Hodina <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -172,7 +173,7 @@ (define-public kget
     (synopsis "Versatile and user-friendly download manager")
     (description "KGet is an advanced download manager with support for
 Metalink and Bittorrent.  Downloads are added to the list, where they can be
-paused, queued, or scheduled for later. KGet supports download via FTP anf
+paused, queued, or scheduled for later.  KGet supports download via FTP anf
 HTTP(S) as well as pausing downloads.
 
 This package is part of the KDE networking module.")
@@ -221,7 +222,7 @@ (define-public konversation
            qca
            solid
            sonnet))
-    (home-page "https://kde.org/applications/internet/org.kde.konversations")
+    (home-page "https://apps.kde.org/konversation/")
     (synopsis "Graphical Internet Relay Chat (IRC) client for KDE")
     (description "Konversation is a graphical Internet Relay Chat client (IRC)
 with KDE support.
@@ -311,7 +312,7 @@ (define-public kopete
            ;; TODO: Xmms
            zlib))
     ;; TODO: enable video support
-    (home-page "https://kde.org/applications/internet/org.kde.kopete")
+    (home-page "https://apps.kde.org/kopete/")
     (synopsis "Instant messaging and chat application")
     (description "Kopete is an instant messenger supporting Jabber/XMPP ,AIM,
 ICQ, Gadu-Gadu, Novell GroupWise Messenger, and more.  It is designed to be a
@@ -362,7 +363,7 @@ (define-public krdc
            qtbase-5))
     (arguments ;; FIXEME: libvnc can't be found for some reason.
      (list #:configure-flags #~(list "-DWITH_VNC=NO")))
-    (home-page "https://kde.org/applications/internet/org.kde.krdc")
+    (home-page "https://apps.kde.org/krdc/")
     (synopsis "Remote desktop client")
     (description "KRDC is a client application that allows you to view or even
 control the desktop session on another machine that is running a compatible
@@ -419,7 +420,7 @@ (define-public ktorrent
            solid
            syndication
            taglib))
-    (home-page "https://kde.org/applications/internet/org.kde.ktorrent")
+    (home-page "https://apps.kde.org/ktorrent/")
     (synopsis "BitTorrent client")
     (description "KTorrent is a BitTorrent application by KDE which allows you
 to download files using the BitTorrent protocol.  It enables you to run
-- 
2.37.0

From 14c17a75191f043dceae762d978d92f9716e467d Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Thu, 3 Feb 2022 19:42:15 +1100
Subject: [PATCH v2 30/75] gnu: KDE Internet: Update all packages to 21.12.3.

* gnu/packages/kde-internet.scm (kget, konversation, kopete, krdc,
ktorrent, libktorrent): Update to 21.12.3.

(kget)[inputs]: Move kdoctools to native-inputs.
[arguments]: Disable broken tests.

(kopete)[inputs]: Add ksyntaxhighlighting, mediastreamer2.

(krdc)[arguments]: Add new dependencies.

(ktorrent)[origin]: Update URI.
[inputs]: Remove obsolete kdewebkit.

diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm
index 40b8e93b3c..1f91ede969 100644
--- a/gnu/packages/kde-internet.scm
+++ b/gnu/packages/kde-internet.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2020 Tobias Geerinckx-Rice <[email-masked]>
+;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,6 +21,7 @@
 (define-module (gnu packages kde-internet)
   #:use-module (guix build-system qt)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
@@ -46,6 +48,7 @@ (define-module (gnu packages kde-internet)
   #:use-module (gnu packages linphone)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages vnc)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xml))
@@ -113,17 +116,17 @@ (define-public choqok
 (define-public kget
   (package
     (name "kget")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kget-" version ".tar.xz"))
        (sha256
-        (base32 "1swx58wcig8zq8ibhczhcw7l8mqjm7pq8zca9gmny9kda5q04f5m"))))
+        (base32 "1w249gvzz47ac7n1mnxxf20d9l7jmbh18m5dijy55ck61s4zcq4l"))))
     (build-system qt-build-system)
     (native-inputs
-     (list extra-cmake-modules pkg-config))
+     (list extra-cmake-modules kdoctools pkg-config))
     (inputs
      (list boost
            gmp
@@ -136,7 +139,6 @@ (define-public kget
            kcrash
            kdbusaddons
            kdelibs4support ;; KLocale
-           kdoctools
            ki18n
            kiconthemes
            kio
@@ -158,6 +160,14 @@ (define-public kget
            qca
            qgpgme
            qtbase-5))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests? ;; FIXME: two tests fails.
+               (invoke "ctest" "-E" "(schedulertest|filedeletertest)"))
+             #t)))))
     (home-page "http://www.kde.org/")
     (synopsis "Versatile and user-friendly download manager")
     (description "KGet is an advanced download manager with support for
@@ -172,14 +182,14 @@ (define-public kget
 (define-public konversation
   (package
     (name "konversation")
-    (version "1.7.7")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/konversation/" version
+       (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/konversation-" version ".tar.xz"))
        (sha256
-        (base32 "19qqq9s8k0cl71ib33xn07f26j5ji2g4336jk65im6452cf1dv27"))))
+        (base32 "05dxzkpadz29b5fm6pf225xqq0gaz9w50paz9341kzz4k3rnzq80"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -198,6 +208,7 @@ (define-public konversation
            kidletime
            kio
            kitemviews
+           knewstuff
            knotifications
            knotifyconfig
            kparts
@@ -242,14 +253,14 @@ (define-public konversation
 (define-public kopete
   (package
     (name "kopete")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kopete-" version ".tar.xz"))
        (sha256
-        (base32 "149gi9hkyl825kf046iqkam3gkzfwdc2sihbf8gs6njachzvb81y"))))
+        (base32 "1v519sw2lzlap6xci3j55k8c48755sc9p3mgvj566b6jjq64xi5k"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools pkg-config))
@@ -277,6 +288,7 @@ (define-public kopete
            knotifyconfig
            kparts
            kpimtextedit
+           ksyntaxhighlighting
            ktexteditor
            kwallet
            ;; TODO: Libgadu
@@ -287,7 +299,7 @@ (define-public kopete
            libsrtp
            libxml2
            libxslt
-           ;; TODO: Mediastreamer
+           mediastreamer2
            openssl
            ortp
            phonon
@@ -318,14 +330,14 @@ (define-public kopete
 (define-public krdc
   (package
     (name "krdc")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/krdc-" version ".tar.xz"))
        (sha256
-        (base32 "1hp23k3nsrcxpv2qiynjgm71zn3l6ds00cpd4frc68szgiblrw9r"))))
+        (base32 "09np9clvmdll7v2p9aswnlhz4cgsnly82za7k3k9fs66h5c8q20j"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -340,15 +352,16 @@ (define-public krdc
            kiconthemes
            knotifications
            knotifyconfig
-           knotifyconfig
            kwallet
            kwidgetsaddons
            kwindowsystem
            kxmlgui
            libssh
-           ;; TODO: libvnc{server,client} - is not tigervnc-{server,client}
+           libvnc
            oxygen-icons ; default icon set
            qtbase-5))
+    (arguments ;; FIXEME: libvnc can't be found for some reason.
+     (list #:configure-flags #~(list "-DWITH_VNC=NO")))
     (home-page "https://kde.org/applications/internet/org.kde.krdc")
     (synopsis "Remote desktop client")
     (description "KRDC is a client application that allows you to view or even
@@ -362,14 +375,14 @@ (define-public krdc
 (define-public ktorrent
   (package
     (name "ktorrent")
-    (version "5.1.2")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/ktorrent/" version
-                           "/ktorrent-" version ".tar.xz"))
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/ktorrent-" version ".tar.xz"))
        (sha256
-        (base32 "0kwd0npxfg4mdh7f3xadd2zjlqalpb1jxk61505qpcgcssijf534"))))
+        (base32 "021x6qcbk4kdh5ay5mqmf92129s42j2rhrs0q350b0wcnpad55zd"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -383,7 +396,6 @@ (define-public ktorrent
            kcoreaddons
            kcrash
            kdbusaddons
-           kdewebkit
            kdnssd
            ki18n
            kiconthemes
@@ -418,15 +430,14 @@ (define-public ktorrent
 (define-public libktorrent
   (package
     (name "libktorrent")
-    (version "2.1.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde//stable/ktorrent/"
-                           (package-version ktorrent)
-                           "/libktorrent-" version ".tar.xz"))
+       (uri (string-append "mirror://kde/stable/release-service/"
+                           version "/src/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "0051zh8bb4p9wmcfn5ql987brhsaiw9880xdck7b5dm1a05mri2w"))))
+        (base32 "0i976al9bsc3gbplqbxkxr03sdhxv3yzjlfkdaghga8fkihzkkl0"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
-- 
2.37.0

From 9f1740623c1200f2e1b20198a6ff62461f4cd99f Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Thu, 14 Oct 2021 18:25:20 +1100
Subject: [PATCH v2 18/75] gnu: libgravatar: Move to (gnu packages kde-pim).

Remove uneeded (gnu packages kde-internet) import.
* gnu/packages/kde-internet.scm: Move libgravatar ...
* gnu/packages/kde-pim.scm ...here

diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm
index 9de2c54ad3..40b8e93b3c 100644
--- a/gnu/packages/kde-internet.scm
+++ b/gnu/packages/kde-internet.scm
@@ -415,38 +415,6 @@ (define-public ktorrent
 a full-featured client for BitTorrent.")
     (license license:gpl2+)))
 
-(define-public libgravatar
-  (package
-    (name "libgravatar")
-    (version "20.04.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/libgravatar-" version ".tar.xz"))
-       (sha256
-        (base32 "0981ci2kr20v4fk11h57rqya0brgslfazpgq1yk5yqiwyqqm49r2"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules))
-    (inputs
-     (list kconfig
-           ki18n
-           kio
-           kpimcommon
-           ktextwidgets
-           kwidgetsaddons
-           qtbase-5))
-    (arguments
-     `(#:tests? #f)) ;; 2/7 tests fail (due to network issues?)
-    (home-page "https://invent.kde.org/pim/libgravatar")
-    (synopsis "Online avatar lookup library")
-    (description "This library retrieves avatar images based on a
-hash from a person's email address, as well as local caching to avoid
-unnecessary network operations.")
-    (license ;; GPL for programs, LGPL for libraries
-     (list license:gpl2+ license:lgpl2.0+))))
-
 (define-public libktorrent
   (package
     (name "libktorrent")
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index 4937ed3594..5da25bfad8 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2020 Marius Bakke <[email-masked]>
 ;;; Copyright © 2021, 2022 Efraim Flashner <[email-masked]>
+;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -34,7 +35,6 @@ (define-module (gnu packages kde-pim)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages kde)
   #:use-module (gnu packages kde-frameworks)
-  #:use-module (gnu packages kde-internet)
   #:use-module (gnu packages openldap)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages search)
@@ -1641,6 +1641,38 @@ (define-public kpimcommon
     (license ;; GPL for programs, LGPL for libraries
      (list license:gpl2+ license:lgpl2.0+))))
 
+(define-public libgravatar
+  (package
+    (name "libgravatar")
+    (version "20.04.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/libgravatar-" version ".tar.xz"))
+       (sha256
+        (base32 "0981ci2kr20v4fk11h57rqya0brgslfazpgq1yk5yqiwyqqm49r2"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (inputs
+     `(("kconfig" ,kconfig)
+       ("ki18n" ,ki18n)
+       ("kio" ,kio)
+       ("kpimcommon" ,kpimcommon)
+       ("ktextwidgets" ,ktextwidgets)
+       ("kwidgetsaddons" ,kwidgetsaddons)
+       ("qtbase" ,qtbase-5)))
+    (arguments
+     `(#:tests? #f)) ;; 2/7 tests fail (due to network issues?)
+    (home-page "https://invent.kde.org/pim/libgravatar")
+    (synopsis "Online avatar lookup library")
+    (description "This library retrieves avatar images based on a
+hash from a person's email address, as well as local caching to avoid
+unnecessary network operations.")
+    (license ;; GPL for programs, LGPL for libraries
+     (list license:gpl2+ license:lgpl2.0+))))
+
 (define-public kpimtextedit
   (package
     (name "kpimtextedit")
-- 
2.37.0

From f14657fb4720bb741c4d7b22681bed097bfcd6f9 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Thu, 21 Jul 2022 08:33:36 +0200
Subject: [PATCH v2 23/75] gnu: KDE-PIM: Remove trailing booleans.

* gnu/packages/kde-pim.scm (akonadi, akonadi-mime, akonadi-search,
kincidenceeditor, kdepim-runtime, kidentitymanagement, kleopatra, kmail,
kmime, korganizer, kpeoplevcard, ksmtp, libkleo,
libksieve)[arguments]: Remove trailing booleans.

diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index bea3f2a17c..b31fa85f67 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -102,8 +102,7 @@ (define-public akonadi
                    (display
                     (call-with-input-file "CMakeLists.txt"
                       get-string-all))))
-               (rename-file "CMakeLists.txt.new" "CMakeLists.txt"))
-             #t)))))
+               (rename-file "CMakeLists.txt.new" "CMakeLists.txt")))))))
     (home-page "https://kontact.kde.org/components/akonadi")
     (synopsis "Extensible cross-desktop storage service for PIM")
     (description "Akonadi is an extensible cross-desktop Personal Information
@@ -253,12 +252,10 @@ (define-public akonadi-mime
              (let ((plugins-dir "/tmp/.local/share/akonadi/plugins/serializer"))
                (mkdir-p plugins-dir)
                (copy-file "serializers/akonadi_serializer_mail.desktop"
-                          (string-append plugins-dir "/akonadi_serializer_mail.desktop")))
-             #t))
+                          (string-append plugins-dir "/akonadi_serializer_mail.desktop")))))
          (add-before 'check 'check-setup
            (lambda _
-             (setenv "HOME" "/tmp")
-             #t)))))
+             (setenv "HOME" "/tmp"))))))
     (synopsis "Akonadi MIME handling library")
     (description "Akonadi Mime is a library that effectively bridges the
 type-agnostic API of the Akonadi client libraries and the domain-specific
@@ -334,8 +331,7 @@ (define-public akonadi-search
                       ;; DBus communication.  See also 'korganizer'.
                       (substitute* "agent/autotests/CMakeLists.txt"
                         ((".*schedulertest\\.cpp.*")
-                         ""))
-                      #t))
+                         ""))))
                   (replace 'check
                     (lambda* (#:key tests? #:allow-other-keys)
                       (when tests?
@@ -401,8 +397,7 @@ (define-public kincidenceeditor
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
                (invoke "dbus-launch" "ctest" ;; FIXME: test fails.
-                       "-E" "akonadi-sqlite-incidencedatetimetest"))
-             #t)))))
+                       "-E" "akonadi-sqlite-incidencedatetimetest")))))))
     (home-page "https://invent.kde.org/pim/incidenceeditor")
     (synopsis "KDE PIM library for editing incidences")
     (description "This library provides an incidence editor for KDE PIM.")
@@ -707,8 +702,7 @@ (define-public kdepim-runtime
 |akonadi-sqlite-ewstest|ewsmoveitemrequest_ut|ewsdeleteitemrequest_ut\
 |ewsgetitemrequest_ut|ewsunsubscriberequest_ut|ewssettings_ut\
 |templatemethodstest|akonadi-sqlite-serverbusytest|ewsattachment_ut|\\
-testmovecollectiontask)"))
-                      #t)))))
+testmovecollectiontask)")))))))
     (home-page "https://invent.kde.org/pim/kdepim-runtime")
     (synopsis "Runtime components for Akonadi KDE")
     (description "This package contains Akonadi agents written using KDE
@@ -858,8 +852,7 @@ (define-public kidentitymanagement
        (modify-phases %standard-phases
          (add-before 'check 'set-home
            (lambda _
-             (setenv "HOME" "/tmp/dummy-home") ;; FIXME: what is this?
-             #t)))))
+             (setenv "HOME" "/tmp/dummy-home")))))) ;; FIXME: what is this?
     (home-page "https://kontact.kde.org/")
     (synopsis "Library for shared identities between mail applications")
     (description "This library provides an API for managing user identities.")
@@ -967,8 +960,7 @@ (define-public kleopatra
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
-               (invoke "dbus-launch" "ctest"))
-             #t)))))
+               (invoke "dbus-launch" "ctest")))))))
     (home-page "https://apps.kde.org/utilities/org.kde.kleopatra/")
     (synopsis "Certificate Manager and Unified Crypto GUI")
     (description "Kleopatra is a certificate manager and a universal crypto
@@ -1064,8 +1056,7 @@ (define-public kmail
 sendlateragent-sendlaterutiltest|\
 sendlateragent-sendlaterconfigtest|\
 followupreminder-followupreminderconfigtest|\
-akonadi-sqlite-unifiedmailboxmanagertest)"))
-             #t)))))
+akonadi-sqlite-unifiedmailboxmanagertest)")))))))
     (home-page "https://kontact.kde.org/components/kmail/")
     (synopsis "Full featured graphical email client")
     (description "KMail supports multiple accounts, mail filtering and email
@@ -1365,9 +1356,8 @@ (define-public kmime
              ;; the Qt locale returns different. See kmime commit 3a9651d26a.
              (substitute* "autotests/dateformattertest.cpp"
                (("(Today|Yesterday) 12:34:56" line day)
-                (string-append day " 12:34 PM")))
-             #t)))))
-    (home-page "https://api.kde.org/kdepim/kmime/html/index.html")
+                (string-append day " 12:34 PM"))))))))
+    (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
     (synopsis "Library for handling MIME data")
     (description "This library provides an API for handling MIME
 data.  MIME (Multipurpose Internet Mail Extensions) is an Internet Standard
@@ -1548,13 +1538,11 @@ (define-public korganizer
              ;; See also 'akonadi-search' for a similar test failure.
              (substitute* "src/autotests/CMakeLists.txt"
                ((".*test_advanced\\(koeventpopupmenutest\\.cpp.*")
-                ""))
-             #t))
+                ""))))
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
-               (invoke "dbus-launch" "ctest"))
-             #t)))))
+               (invoke "dbus-launch" "ctest")))))))
     (home-page "https://apps.kde.org/korganizer/")
     (synopsis "Organizational assistant, providing calendars and other similar
 functionality to help you organize your life")
@@ -1586,8 +1574,7 @@ (define-public kpeoplevcard
      '(#:phases (modify-phases %standard-phases
                   (replace 'check-setup
                     (lambda _
-                      (setenv "HOME" "/tmp")
-                      #t)))))
+                      (setenv "HOME" "/tmp"))))))
     (native-inputs
      (list extra-cmake-modules))
     (inputs
@@ -1764,8 +1751,7 @@ (define-public ksmtp
              (substitute* "src/CMakeLists.txt"
                (("^(install\\(.* )\\$\\{KF5_INSTALL_TARGETS_DEFAULT_ARGS\\}\\)"
                  _ prefix)
-                (string-append prefix "${KDE_INSTALL_TARGETS_DEFAULT_ARGS})")))
-             #t)))))
+                (string-append prefix "${KDE_INSTALL_TARGETS_DEFAULT_ARGS})"))))))))
     (home-page "https://invent.kde.org/pim/ksmtp")
     (synopsis "Library for sending email through an SMTP server")
     (description "This library provides an API for handling SMTP
@@ -1926,8 +1912,7 @@ (define-public libkleo
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests? ;; FIXME: These tests fail.
                (invoke "ctest" "-E"
-                       "(keyresolvercoretest|newkeyapprovaldialogtest)"))
-             #t)))))
+                       "(keyresolvercoretest|newkeyapprovaldialogtest)")))))))
     (home-page "https://invent.kde.org/pim/libkleo")
     (synopsis "KDE PIM cryptographic library")
     (description "@code{libkleo} is a library for Kleopatra and other parts of
@@ -1983,8 +1968,7 @@ (define-public libksieve
              (substitute*
                  "src/ksieveui/editor/webengine/autotests/CMakeLists.txt"
                (("^\\s*(add_test|ecm_mark_as_test)\\W" line)
-                (string-append "# " line)))
-             #t)))))
+                (string-append "# " line))))))))
     (home-page "https://invent.kde.org/pim/libksieve")
     (synopsis "KDE Sieve library")
     (description "Sieve is a language that can be used filter emails.  KSieve
-- 
2.37.0

From d9a51318e773d58e2226755cbcec8db00b4b584d Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Thu, 21 Jul 2022 10:24:50 +0200
Subject: [PATCH v2 28/75] gnu: labplot: Remove input labels.

* gnu/packages/kde-pim.scm (labplot): Remove input labels.

diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 3e4fbe8e0b..45da96a9c0 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -798,14 +798,12 @@ (define-public labplot
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
                ;; This test fails, I don't know why.
-               (invoke "ctest" "-E" "parsertest"))
-             #t)))))
-    (native-inputs
-     `(("bison" ,bison)
-       ("extra-cmake-modules" ,extra-cmake-modules)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("qttools" ,qttools)))
+               (invoke "ctest" "-E" "parsertest")))))))
+    (native-inputs (list bison
+                         extra-cmake-modules
+                         pkg-config
+                         python-wrapper
+                         qttools))
     (inputs
      (list breeze ;for dark themes
            breeze-icons ;for icons
-- 
2.37.0

From ed057aa8641e3facf6e34ade9da4071414ef1f4a Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Tue, 1 Feb 2022 18:14:24 +1100
Subject: [PATCH v2 02/75] gnu: libdbusmenu-qt: Move to (gnu packages qt).

*  gnu/packages/lxqt.scm: Remove libdbusmenu-qt.
*  gnu/packages/qt.scm: Re-add libdbusmenu-qt.

diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index a0a3a0f15b..89d588da29 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2019, 2020 Reza Alizadeh Majd <[email-masked]>
 ;;; Copyright © 2020 Fakhri Sajadi <[email-masked]>
 ;;; Copyright © 2020 André Batista <[email-masked]>
-;;; Copyright © 2021 Brendan Tildesley <[email-masked]>
+;;; Copyright © 2021, 2022 Brendan Tildesley <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -68,36 +68,6 @@ (define-module (gnu packages lxqt)
 
 ;; Third party libraries
 
-(define-public libdbusmenu-qt
-  (package
-    (name "libdbusmenu-qt")
-    (version "0.9.3+16.04.20160218-0ubuntu1")
-    (source
-     (origin
-       (method git-fetch)
-       ;; Download from github rather than launchpad because launchpad trunk
-       ;; tarball hash is not deterministic.
-       (uri (git-reference
-             (url "https://github.com/unity8-team/libdbusmenu-qt")
-             (commit version)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0b7ii1cvmpcyl79gqal9c3va9m55h055s4hx7fpxkhhqs9463ggg"))))
-    (build-system cmake-build-system)
-    (arguments
-     ;; XXX: Tests require a dbus session and some icons.
-     '(#:tests? #f))
-    (native-inputs
-     (list doxygen))
-    (inputs
-     (list qtbase-5))
-    (home-page "https://launchpad.net/libdbusmenu-qt")
-    (synopsis "Qt implementation of the DBusMenu spec")
-    (description "This library provides a Qt implementation of the DBusMenu
-protocol.  The DBusMenu protocol makes it possible for applications to export
-and import their menus over DBus.")
-    (license license:lgpl2.1+)))
-
 (define-public libstatgrab
   (package
     (name "libstatgrab")
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 9593009ae3..00abaf2fe1 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -20,7 +20,7 @@
 ;;; Copyright © 2020 Jonathan Brielmaier <[email-masked]>
 ;;; Copyright © 2020 Michael Rohleder <[email-masked]>
 ;;; Copyright © 2020, 2021 Maxim Cournoyer <[email-masked]>
-;;; Copyright © 2021 Brendan Tildesley <[email-masked]>
+;;; Copyright © 2021, 2022 Brendan Tildesley <[email-masked]>
 ;;; Copyright © 2021, 2022 Guillaume Le Vaillant <[email-masked]>
 ;;; Copyright © 2021 Nicolò Balzarotti <[email-masked]>
 ;;; Copyright © 2022 Foo Chuan Wei <[email-masked]>
@@ -3119,3 +3119,33 @@ (define-public soqt
 also compatible with SGI and TGS Open Inventor, and the API is based on the API
 of the InventorXt GUI component toolkit.")
     (license license:bsd-3))))
+
+(define-public libdbusmenu-qt
+  (package
+    (name "libdbusmenu-qt")
+    (version "0.9.3+16.04.20160218-0ubuntu1")
+    (source
+     (origin
+       (method git-fetch)
+       ;; Download from github rather than launchpad because launchpad trunk
+       ;; tarball hash is not deterministic.
+       (uri (git-reference
+             (url "https://github.com/unity8-team/libdbusmenu-qt")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0b7ii1cvmpcyl79gqal9c3va9m55h055s4hx7fpxkhhqs9463ggg"))))
+    (build-system cmake-build-system)
+    (arguments
+     ;; XXX: Tests require a dbus session and some icons.
+     '(#:tests? #f))
+    (native-inputs
+     (list doxygen))
+    (inputs
+     (list qtbase-5))
+    (home-page "https://launchpad.net/libdbusmenu-qt")
+    (synopsis "Qt implementation of the DBusMenu spec")
+    (description "This library provides a Qt implementation of the DBusMenu
+protocol.  The DBusMenu protocol makes it possible for applications to export
+and import their menus over DBus.")
+    (license license:lgpl2.1+)))
-- 
2.37.0

From cf9a5b0ecb625adfa0df6763a04ee4806b4c83ff Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Thu, 21 Jul 2022 12:38:08 +0200
Subject: [PATCH v2 41/75] gnu: kmplayer: Update to specific commit.

* gnu/local.mk: Remove patches.
* gnu/packages/kde-multimedia.scm (kmplayer): Update to specific commit.
* gnu/packages/patches/kmplayer-aarch64.patch: Remove file.
* gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch: Remove
file.

diff --git a/gnu/local.mk b/gnu/local.mk
index 2389aa47e0..7c14f9dd95 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1353,8 +1353,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/kismet-unbundle-boost.patch		\
   %D%/packages/patches/kmod-module-directory.patch		\
   %D%/packages/patches/kmscon-runtime-keymap-switch.patch	\
-  %D%/packages/patches/kmplayer-aarch64.patch			\
-  %D%/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch	\
   %D%/packages/patches/kobodeluxe-paths.patch			\
   %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch	\
   %D%/packages/patches/kobodeluxe-const-charp-conversion.patch	\
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index f4f7852677..4a9c6e54b0 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -594,19 +594,18 @@ (define-public kmix
      (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
 
 (define-public kmplayer
+(let ((commit "88e85308b71dc5e58cc655b5b9a13cd71b78233f")
+      (revision "1"))
   (package
     (name "kmplayer")
     (version "0.12.0b")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/kmplayer/0.12"
-                           "/kmplayer-" version ".tar.bz2"))
+	   (uri (string-append "https://invent.kde.org/multimedia/kmplayer/-/archive/" commit "/kmplayer-" commit ".tar.bz2"))
        (sha256
-        (base32 "0wzdxym4fc83wvqyhcwid65yv59a2wvp1lq303cn124mpnlwx62y"))
-       (patches (search-patches
-                 "kmplayer-aarch64.patch"
-                 "kmplayer-upstream_Fix-build-with-Qt-5.9.patch"))))
+        (base32
+		"1gmz0kiddqa8nca6mpkds3di9f6dksyz9rq413b1wmks9803f9hk"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config kdoctools))
@@ -657,7 +656,7 @@ (define-public kmplayer
 @item For TV sources, you need v4lctl (part of the xawtv package)
 @end itemize")
     (license ;; GPL for programs, LGPL for libraries, FDL for documentation
-     (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+     (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))))
 
 (define-public kwave
   (package
diff --git a/gnu/packages/patches/kmplayer-aarch64.patch b/gnu/packages/patches/kmplayer-aarch64.patch
deleted file mode 100644
index 76f713be96..0000000000
--- a/gnu/packages/patches/kmplayer-aarch64.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Index: b/src/moz-sdk/prcpucfg.h
-===================================================================
---- a/src/moz-sdk/prcpucfg.h
-+++ b/src/moz-sdk/prcpucfg.h
-@@ -288,6 +288,52 @@
- #define PR_BYTES_PER_WORD_LOG2  3
- #define PR_BYTES_PER_DWORD_LOG2 3
- 
-+#elif defined(__aarch64__)
-+
-+#define IS_LITTLE_ENDIAN 1
-+#undef  IS_BIG_ENDIAN
-+#define IS_64
-+
-+#define PR_BYTES_PER_BYTE   1
-+#define PR_BYTES_PER_SHORT  2
-+#define PR_BYTES_PER_INT    4
-+#define PR_BYTES_PER_INT64  8
-+#define PR_BYTES_PER_LONG   8
-+#define PR_BYTES_PER_FLOAT  4
-+#define PR_BYTES_PER_DOUBLE 8
-+#define PR_BYTES_PER_WORD   8
-+#define PR_BYTES_PER_DWORD  8
-+
-+#define PR_BITS_PER_BYTE    8
-+#define PR_BITS_PER_SHORT   16
-+#define PR_BITS_PER_INT     32
-+#define PR_BITS_PER_INT64   64
-+#define PR_BITS_PER_LONG    64
-+#define PR_BITS_PER_FLOAT   32
-+#define PR_BITS_PER_DOUBLE  64
-+#define PR_BITS_PER_WORD    64
-+
-+#define PR_BITS_PER_BYTE_LOG2   3
-+#define PR_BITS_PER_SHORT_LOG2  4
-+#define PR_BITS_PER_INT_LOG2    5
-+#define PR_BITS_PER_INT64_LOG2  6
-+#define PR_BITS_PER_LONG_LOG2   6
-+#define PR_BITS_PER_FLOAT_LOG2  5
-+#define PR_BITS_PER_DOUBLE_LOG2 6
-+#define PR_BITS_PER_WORD_LOG2   6
-+
-+#define PR_ALIGN_OF_SHORT   2
-+#define PR_ALIGN_OF_INT     4
-+#define PR_ALIGN_OF_LONG    8
-+#define PR_ALIGN_OF_INT64   8
-+#define PR_ALIGN_OF_FLOAT   4
-+#define PR_ALIGN_OF_DOUBLE  8
-+#define PR_ALIGN_OF_POINTER 8
-+#define PR_ALIGN_OF_WORD    8
-+
-+#define PR_BYTES_PER_WORD_LOG2  3
-+#define PR_BYTES_PER_DWORD_LOG2 3
-+
- #elif defined(__mc68000__)
- 
- #undef  IS_LITTLE_ENDIAN
diff --git a/gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch b/gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch
deleted file mode 100644
index 6a40dbe347..0000000000
--- a/gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 3def65075c09af4961cd399e8e78ed78cca72e65 Mon Sep 17 00:00:00 2001
-From: Wolfgang Bauer <[email-masked]>
-Date: Wed, 11 Oct 2017 22:16:02 +0200
-Subject: [PATCH] Fix build with Qt 5.9
-
-Summary:
-moc 5.9 errors out when building:
-Error: Plugin Metadata file "" could not be opened: file to open is a directory
-
-Same issue and fix as https://phabricator.kde.org/D5392 for khtml.
-
-CCBUG: 377490
-
-Test Plan: builds fine now with Qt 5.9.0rc and also earlier versions.
-
-Reviewers: vriezen, pino
-
-Reviewed By: pino
-
-Subscribers: pino
-
-Differential Revision: https://phabricator.kde.org/D5985
----
- src/kmplayer_part.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/kmplayer_part.h b/src/kmplayer_part.h
-index f90f85d..0fddbaa 100644
---- a/src/kmplayer_part.h
-+++ b/src/kmplayer_part.h
-@@ -36,7 +36,7 @@ namespace KMPlayer {
- 
- class KMPlayerFactory : public KPluginFactory {
-     Q_OBJECT
--    Q_PLUGIN_METADATA(IID "org.kde.KPluginFactory" FILE "")
-+    Q_PLUGIN_METADATA(IID "org.kde.KPluginFactory")
-     Q_INTERFACES(KPluginFactory)
- public:
-     KMPlayerFactory();
--- 
-2.14.2
-
-- 
2.37.0

From de8fce3c59260beb02c6dbbcbbd146907b1fb18f Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 08:48:48 +0200
Subject: [PATCH v2 22/75] gnu: KDE PIM: Update home-pages.

* gnu/packages/kde-pim.scm (akonadi, kaddressbook, kcalutils, kgpg, kimap,
kldap, kleopatra, kmail, kmailtransport, kmbox, kmime, knotes,
 kontactinterface, korganizer, kpimtextedit, ktnef): [home-page]: Update the
link.

(kontactinterface): [description]: Remove leading white space.

(kaddressbook): [inputs]: Add kdoctools.

(knotes): [inputs]: Add kdoctools.

diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index 62b271aa5c..bea3f2a17c 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2020 Marius Bakke <[email-masked]>
 ;;; Copyright © 2021, 2022 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
+;;; Copyright © 2022 Petr Hodina <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -103,7 +104,7 @@ (define-public akonadi
                       get-string-all))))
                (rename-file "CMakeLists.txt.new" "CMakeLists.txt"))
              #t)))))
-    (home-page "https://kontact.kde.org/components/akonadi.html")
+    (home-page "https://kontact.kde.org/components/akonadi")
     (synopsis "Extensible cross-desktop storage service for PIM")
     (description "Akonadi is an extensible cross-desktop Personal Information
 Management (PIM) storage service.  It provides a common framework for
@@ -421,7 +422,7 @@ (define-public kaddressbook
         (base32 "1hzq0fdy99l1kqw14d582l0s56gvrw86abihib6k4az4c6g3c0md"))))
     (build-system qt-build-system)
     (native-inputs
-     (list extra-cmake-modules))
+     (list extra-cmake-modules kdoctools))
     (inputs
      (list akonadi
            akonadi-contacts
@@ -456,7 +457,7 @@ (define-public kaddressbook
            prison
            qgpgme
            qtbase-5))
-    (home-page "https://kontact.kde.org/components/kaddressbook.html")
+    (home-page "https://kontact.kde.org/components/kaddressbook")
     (synopsis "Address Book application to manage your contacts")
     (description "KAddressBook stores all the personal details of your family,
 friends and other contacts.  It supports large variety of services, including
@@ -615,7 +616,7 @@ (define-public kcalutils
            qtbase-5))
     (arguments
      `(#:tests? #f)) ;; TODO: seem to pull in some wrong theme
-    (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
+    (home-page "https://api.kde.org/kdepim/kcalutils/html/index.html")
     (synopsis "Library with utility functions for the handling of calendar
 data")
     (description "This library provides a utility and user interface
@@ -818,7 +819,7 @@ (define-public kgpg
            kxmlgui
            oxygen-icons ;; default icon set
            qtbase-5))
-    (home-page "https://kde.org/applications/utilities/org.kde.kgpg")
+    (home-page "https://apps.kde.org/utilities/org.kde.kgpg/")
     (synopsis "Graphical front end for GNU Privacy Guard")
     (description "Kgpg manages cryptographic keys for the GNU Privacy Guard,
 and can encrypt, decrypt, sign, and verify files.  It features a simple editor
@@ -886,7 +887,7 @@ (define-public kimap
            kio
            kmime
            qtbase-5))
-    (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
+    (home-page "https://api.kde.org/kdepim/kimap/html/index.html")
     (synopsis "Library for handling IMAP")
     (description "This library provides a job-based API for interacting with
 an IMAP4rev1 server.  It manages connections, encryption and parameter quoting
@@ -914,7 +915,7 @@ (define-public kldap
      (list ki18n kio kwidgetsaddons qtbase-5 qtkeychain))
     (propagated-inputs
      (list cyrus-sasl openldap))
-    (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
+    (home-page "https://api.kde.org/kdepim/kldap/html/index.html")
     (synopsis "Library for accessing LDAP")
     (description "This is a library for accessing LDAP with a convenient Qt
 style C++ API.  LDAP (Lightweight Directory Access Protocol) is an application
@@ -968,7 +969,7 @@ (define-public kleopatra
              (when tests?
                (invoke "dbus-launch" "ctest"))
              #t)))))
-    (home-page "https://kde.org/applications/utilities/org.kde.kleopatra")
+    (home-page "https://apps.kde.org/utilities/org.kde.kleopatra/")
     (synopsis "Certificate Manager and Unified Crypto GUI")
     (description "Kleopatra is a certificate manager and a universal crypto
 GUI.  It supports managing X.509 and OpenPGP certificates in the GpgSM keybox
@@ -1065,7 +1066,7 @@ (define-public kmail
 followupreminder-followupreminderconfigtest|\
 akonadi-sqlite-unifiedmailboxmanagertest)"))
              #t)))))
-    (home-page "https://kontact.kde.org/components/kmail.html")
+    (home-page "https://kontact.kde.org/components/kmail/")
     (synopsis "Full featured graphical email client")
     (description "KMail supports multiple accounts, mail filtering and email
 encryption.  The program let you configure your workflow and it has good
@@ -1225,7 +1226,7 @@ (define-public kmailtransport
            qtkeychain))
     (arguments
      `(#:tests? #f)) ;; TODO - 3/3 tests fail, require drkonqi
-    (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
+    (home-page "https://api.kde.org/kdepim/kmailtransport/html/index.html")
     (synopsis "Mail transport service library")
     (description "This library provides an API and support code for managing
 mail transport.")
@@ -1247,7 +1248,7 @@ (define-public kmbox
      (list extra-cmake-modules))
     (inputs
      (list kcodecs kmime qtbase-5))
-    (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
+    (home-page "https://api.kde.org/kdepim/kmbox/html/index.html")
     (synopsis "Library for handling mbox mailboxes")
     (description "This is a library for handling mailboxes in mbox format,
 using a Qt/KMime C++ API.")
@@ -1366,7 +1367,7 @@ (define-public kmime
                (("(Today|Yesterday) 12:34:56" line day)
                 (string-append day " 12:34 PM")))
              #t)))))
-    (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
+    (home-page "https://api.kde.org/kdepim/kmime/html/index.html")
     (synopsis "Library for handling MIME data")
     (description "This library provides an API for handling MIME
 data.  MIME (Multipurpose Internet Mail Extensions) is an Internet Standard
@@ -1388,7 +1389,7 @@ (define-public knotes
         (base32 "07pj0aqwsy1xi5mx7x0h3zmxfg0n4afgjax9a9ihc553xs6k48d7"))))
     (build-system qt-build-system)
     (native-inputs
-     (list extra-cmake-modules libxslt))
+     (list extra-cmake-modules kdoctools libxslt))
     (inputs
      (list akonadi
            akonadi-contacts
@@ -1431,7 +1432,7 @@ (define-public knotes
            oxygen-icons ; default icon set, required for tests
            qtbase-5
            qtx11extras))
-    (home-page "https://kontact.kde.org/components/knotes.html")
+    (home-page "https://apps.kde.org/knotes/")
     (synopsis "Note-taking utility")
     (description "KNotes lets you write the computer equivalent of sticky
 notes.  The notes are saved automatically when you exit the program, and they
@@ -1468,9 +1469,9 @@ (define-public kontactinterface
            kwindowsystem
            kxmlgui
            qtbase-5))
-    (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
+    (home-page "https://api.kde.org/kdepim/kontactinterface/html/index.html")
     (synopsis "Kontact interface library")
-    (description " This library provides the glue necessary for
+    (description "This library provides the glue necessary for
 application \"Parts\" to be embedded as a Kontact component (or plugin).")
     (license license:lgpl2.0+)))
 
@@ -1554,7 +1555,7 @@ (define-public korganizer
              (when tests?
                (invoke "dbus-launch" "ctest"))
              #t)))))
-    (home-page "https://kontact.kde.org/components/korganizer.html")
+    (home-page "https://apps.kde.org/korganizer/")
     (synopsis "Organizational assistant, providing calendars and other similar
 functionality to help you organize your life")
     (description "KOrganizer is the calendar and scheduling component of
@@ -1724,7 +1725,7 @@ (define-public kpimtextedit
            sonnet))
     (arguments
      `(#:tests? #f)) ;; TODO - test suite hangs
-    (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
+    (home-page "https://api.kde.org/kdepim/kpimtextedit/html/index.html")
     (synopsis "Library providing a textedit with PIM-specific features")
     (description "This package provides a textedit with PIM-specific features.
 It also provides so-called rich text builders which can convert the formatted
@@ -1795,7 +1796,7 @@ (define-public ktnef
            kcoreaddons
            ki18n
            qtbase-5))
-    (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/ktnef/html/")
+    (home-page "https://api.kde.org/kdepim/ktnef/html/index.html")
     (synopsis "Library for handling mail attachments using TNEF format")
     (description "Ktnef is a library for handling data in the TNEF
 format (Transport Neutral Encapsulation Format, a proprietary format of e-mail
-- 
2.37.0

From d49389cc0613c1c9033cc08b6fd1f52fe5f3f1d9 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 10:27:37 +0200
Subject: [PATCH v2 26/75] gnu: KDE: Update home-page links.

* gnu/packages/kde.scm (massif-visualizer, libkdegames, okular, poxml,
  zeroconf-ioslave): Update home-page link.

diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 3684740b1a..6ac614e422 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2021 la snesne <[email-masked]>
 ;;; Copyright © 2021, 2022 Vinicius Monego <[email-masked]>
 ;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
+;;; Copyright © 2022 Petr Hodina <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -574,7 +575,7 @@ (define-public massif-visualizer
            qtbase-5
            qtsvg
            qtxmlpatterns))
-    (home-page "https://apps.kde.org/en/massif-visualizer")
+    (home-page "https://apps.kde.org/massif-visualizer/")
     (synopsis "Visualize massif data generated by Valgrind")
     (description
      "Massif Visualizer is a tool that visualizes massif data.
@@ -981,7 +982,7 @@ (define-public libkdegames
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/categories/games/")
     (synopsis "Runtime library for kdegames")
     (description "Runtime library for kdegames")
     (license (list license:gpl2+  license:fdl1.2+))))
@@ -1100,7 +1101,7 @@ (define-public okular
            threadweaver
            kcrash
            kjs))
-    (home-page "https://kde.org/applications/graphics/okular/")
+    (home-page "https://apps.kde.org/okular/")
     (synopsis "Document viewer")
     (description
      "Okular is a document viewer developed for KDE.  It can display files in
@@ -1124,7 +1125,7 @@ (define-public poxml
      (list extra-cmake-modules kdoctools))
     (inputs
      (list gettext-minimal qtbase-5))
-    (home-page "https://kde.org/applications/development")
+    (home-page "https://apps.kde.org/development/")
     (synopsis "Tools for translating DocBook XML files with Gettext")
     (description "This is a collection of tools that facilitate translating
 DocBook XML files using Gettext message files (PO files).  Also included are
@@ -1192,7 +1193,7 @@ (define-public zeroconf-ioslave
      (list extra-cmake-modules))
     (inputs
      (list kdbusaddons kdnssd ki18n kio qtbase-5))
-    (home-page "https://kde.org/applications/internet/org.kde.zeroconf_ioslave")
+    (home-page "https://apps.kde.org/kio_zeroconf/")
     (synopsis "DNS-SD Service Discovery Monitor")
     (description "Adds an entry to Dolphin's Network page to show local
 services such as printers which advertise themselves with DNSSD (called Avahi
-- 
2.37.0

From be0c5fd214f5f3eff6017d7f31dd724d8d1d031d Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 14:13:22 +0200
Subject: [PATCH v2 47/75] gnu: kajongg: Add bash-minimal to inputs.

* gnu/packages/kde-games.scm (kajongg): [inputs]: Add bash-minimal.

diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm
index ae1273d28f..d9e00851cc 100644
--- a/gnu/packages/kde-games.scm
+++ b/gnu/packages/kde-games.scm
@@ -27,6 +27,7 @@ (define-module (gnu packages kde-games)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system qt)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gl)
   #:use-module ((gnu packages gnome) #:select (shared-mime-info))
@@ -314,7 +315,8 @@ (define-public kajongg
            ;("perl" ,perl)
            kdoctools))
     (inputs
-     (list kconfig
+     (list bash-minimal
+           kconfig
            kconfigwidgets
            kcoreaddons
            ki18n
-- 
2.37.0

From e9cf1c5d34f69071958a840caca8f02f78d51f45 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 25 Mar 2022 12:21:56 +0100
Subject: [PATCH v2 73/75] gnu: Add plasma-mobile-sounds.

* gnu/packages/kde-plasma.scm (plasma-mobile-sounds): New variable.

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index f215f9af4f..86d241498f 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -700,6 +700,26 @@ (define-public plasma-phone-components
 and customizable platform for mobile devices.")
     (license (list license:gpl3+ license:lgpl2.1+))))
 
+(define-public plasma-mobile-sounds
+  (package
+    (name "plasma-mobile-sounds")
+    (version "0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/plasma-mobile-sounds/"
+                    version "/plasma-mobile-sounds-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1br6kzicrr45vgg0ciqczxlcid21n5lfjm6zc06rw86ys7fx7bpi"))))
+    (build-system cmake-build-system)
+    (native-inputs (list extra-cmake-modules pkg-config))
+    (home-page "https://plasma-mobile.org/")
+    (synopsis "Sounds for Plasma Mobile devices")
+    (description "")
+    ;; TODO: Multiple
+    (license (list license:gpl3+ license:lgpl2.1+))))
+
 (define-public plasma-workspace
   (package
     (name "plasma-workspace")
-- 
2.37.0

From 55eaad13946a77fe848df8caff03a3588929afad Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 14:09:53 +0200
Subject: [PATCH v2 46/75] gnu: KDE Games: Update home-page links.

* gnu/package/kde-games.scm (ktuberling, picmi, kolf,  kmahjongg,
kshisen, kajongg, kbreakout, kmines, konquest, kbounce, kblocks, ksudoku,
klines, kgoldrunner, kdiamond, kfourinline, kblackbox, knetwalk, bomber,
granatier, ksirk, palapeli, kiriki, kigo, kubrick, lskat, kapman,
kspaceduel, bovo, killbots, ksnakeduel, kollision, knavalbattle,
kreversi, ksquares, kjumpingcube): Update home-page.

diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm
index 6d938d8834..ae1273d28f 100644
--- a/gnu/packages/kde-games.scm
+++ b/gnu/packages/kde-games.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2021 Maxim Cournoyer <[email-masked]>
 ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <[email-masked]>
 ;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
+;;; Copyright © 2022 Petr Hodina <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -67,7 +68,7 @@ (define-public ktuberling
            qtmultimedia
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/ktuberling/")
     (synopsis "Stamp drawing toy")
     (description "KTuberling is a drawing toy intended for small children and
 adults who remain young at heart.  The game has no winner; the only purpose is
@@ -113,7 +114,7 @@ (define-public picmi
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/picmi/")
     (synopsis "Number logic game")
     (description "Picmi is a number logic game in which cells in a grid have
 to be colored or left blank according to numbers given at the side of the
@@ -150,7 +151,7 @@ (define-public kolf
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kolf/")
     (synopsis "Miniature golf game")
     (description "Kolf is a miniature golf game for one to ten players.  The
 game is played from an overhead view, with a short bar representing the golf
@@ -227,7 +228,7 @@ (define-public kmahjongg
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kmahjongg/")
     (synopsis "Tile laying patience")
     (description "In KMahjongg the tiles are scrambled and staked on top of
 each other to resemble a certain shape.  The player is then expected to remove
@@ -269,7 +270,7 @@ (define-public kshisen
            libkmahjongg
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kshisen/")
     (synopsis "Shisen-Sho solitaire game")
     (description "KShisen is a solitaire-like game played using the standard
 set of Mahjong tiles.  Unlike Mahjong however, KShisen has only one layer of
@@ -324,7 +325,7 @@ (define-public kajongg
            python-zope-interface
            qtbase-5
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kajongg/")
     (synopsis "Classical Mah Jongg game for 4 players")
     (description "Kajongg is the ancient Chinese board game for 4 players.
 
@@ -366,7 +367,7 @@ (define-public kbreakout
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kbreakout/")
     (synopsis "Breakout like game")
     (description "KBreakout is similar to the classics breakout and xboing,
 featuring a number of added graphical enhancements and effects.  You control a
@@ -404,7 +405,7 @@ (define-public kmines
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kmines/")
     (synopsis "Classical mine sweeper game")
     (description "KMines is a classic Minesweeper game.  The idea is to
 uncover all the squares without blowing up any mines.  When a mine is blown
@@ -441,7 +442,7 @@ (define-public konquest
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/konquest/")
     (synopsis "Simple turn-based strategy game")
     (description "Konquest is the KDE version of Gnu-Lactic Konquest.  Players
 conquer other planets by sending ships to them.  The goal is to build an
@@ -480,7 +481,7 @@ (define-public kbounce
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kbounce/")
     (synopsis "Jezzball arcade game")
     (description "KBounce is a single player arcade game with the elements of
 puzzle.  It is played on a field, surrounded by wall, with two or more balls
@@ -518,7 +519,7 @@ (define-public kblocks
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kblocks/")
     (synopsis "Single player falling blocks puzzle game")
     (description "KBlocks is the classic Tetris-like falling blocks game.
 
@@ -561,7 +562,7 @@ (define-public ksudoku
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/ksudoku/")
     (synopsis "Sudoku puzzle game and solver")
     (description "KSudoku is a Sudoku game and solver, supporting a range of
 2D and 3D Sudoku variants.  In addition to playing Sudoku, it can print Sudoku
@@ -616,7 +617,7 @@ (define-public klines
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/klines/")
     (synopsis "Place 5 equal pieces together, but wait, there are 3 new ones")
     (description "KLines is a simple but highly addictive one player game.
 
@@ -659,7 +660,7 @@ (define-public kgoldrunner
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kgoldrunner/")
     (synopsis "Action and puzzle solving game")
     (description "KGoldrunner is an action game where the hero runs through a
 maze, climbs stairs, dig holes and dodges enemies in order to collect all the
@@ -702,7 +703,7 @@ (define-public kdiamond
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kdiamond/")
     (synopsis "Three-in-a-row game")
     (description "KDiamond is a three-in-a-row game like Bejeweled.  It
 features unlimited fun with randomly generated games and five difficulty
@@ -738,7 +739,7 @@ (define-public kfourinline
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kfourinline/")
     (synopsis "Place 4 pieces in a row")
     (description "KFourInLine is a board game for two players based on the
 Connect-Four game.
@@ -777,7 +778,7 @@ (define-public kblackbox
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kblackbox/")
     (synopsis "Find atoms in a grid by shooting electrons")
     (description "KBlackbox is a game of hide and seek played on a grid of
 boxes where the computer has hidden several balls.  The position of the hidden
@@ -817,7 +818,7 @@ (define-public knetwalk
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/knetwalk/")
     (synopsis "Turn the board pieces to get all computers connected")
     (description "KNetWalk is a small game where you have to build up a
 computer network by rotating the wires to connect the terminals to the server.
@@ -855,7 +856,7 @@ (define-public bomber
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/bomber/")
     (synopsis "Arcade bombing game")
     (description "Bomber is a single player arcade game.
 
@@ -900,7 +901,7 @@ (define-public granatier
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/granatier/")
     (synopsis "Bomberman clone")
     (description "Granatier is a clone of the classic Bomberman game,
 inspired by the work of the Clanbomber clone.
@@ -937,7 +938,7 @@ (define-public ksirk
            qtdeclarative
            qtsvg
            zlib))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/ksirk/")
     (synopsis "Computerized version of the well known strategy board game
 'Risk'")
     (description "KsirK is a multi-player network-enabled game.  The goal of
@@ -998,7 +999,7 @@ (define-public palapeli
            qtdeclarative
            qtsvg
            shared-mime-info))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/palapeli/")
     (synopsis "Jigsaw puzzle game")
     (description "Palapeli is a jigsaw puzzle game.  Unlike other games in
 that genre, you are not limited to aligning pieces on imaginary grids.  The
@@ -1037,7 +1038,7 @@ (define-public kiriki
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kiriki/")
     (synopsis "Yahtzee dice game")
     (description "Kiriki is an addictive and fun dice game, designed to be
 played by as many as six players.
@@ -1077,7 +1078,7 @@ (define-public kigo
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kigo/")
     (synopsis "Go board game")
     (description "Kigo is an open-source implementation of the popular Go
 game.
@@ -1122,7 +1123,7 @@ (define-public kubrick
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kubrick/")
     (synopsis "Game based on Rubik's Cube")
     (description "Kubrick is a game based on the Rubik's Cube puzzle.
 
@@ -1162,7 +1163,7 @@ (define-public lskat
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/lskat/")
     (synopsis "Lieutnant Skat card game")
     (description "Lieutnant Skat (from German \"Offiziersskat\") is a fun and
 engaging card game for two players, where the second player is either live
@@ -1200,7 +1201,7 @@ (define-public kapman
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kapman/")
     (synopsis "Pac-Man clone")
     (description "Kapman is a clone of the well known game Pac-Man.
 
@@ -1239,7 +1240,7 @@ (define-public kspaceduel
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kspaceduel/")
     (synopsis "Two player game with shooting spaceships flying around a sun")
     (description "KSpaceduel is a space battle game for one or two players,
 where two ships fly around a star in a struggle to be the only survivor.
@@ -1272,7 +1273,7 @@ (define-public bovo
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/bovo/")
     (synopsis "Classic pen and paper game: five in a line")
     (description "Bovo is a Gomoku (from Japanese 五目並べ - lit.  \"five
 points\") like game for two players, where the opponents alternate in placing
@@ -1310,7 +1311,7 @@ (define-public killbots
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/killbots/")
     (synopsis "Port of the classic BSD console game robots")
     (description "Killbots is a simple game of evading killer robots.
 
@@ -1352,7 +1353,7 @@ (define-public ksnakeduel
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/ksnakeduel/")
     (synopsis "Snake race played against the computer")
     (description "KSnakeDuel is a fast action game where you steer a snake
 which has to eat food.  While eating the snake grows.  But once a player
@@ -1388,7 +1389,7 @@ (define-public kollision
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kollision/")
     (synopsis "Simple ball dodging game")
     (description "In Kollision you use mouse to control a small blue ball in a
 closed space environment filled with small red balls, which move about
@@ -1428,7 +1429,7 @@ (define-public knavalbattle
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/knavalbattle/")
     (synopsis "Battleship board game with built-in game server")
     (description "KBattleship is a Battle Ship game for KDE.
 
@@ -1468,7 +1469,7 @@ (define-public kreversi
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kreversi/")
     (synopsis "Old reversi board game, also known as othello")
     (description "KReversi is a simple one player strategy game played
 against the computer.
@@ -1508,7 +1509,7 @@ (define-public ksquares
            libkdegames
            qtbase-5
            qtdeclarative))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/ksquares/")
     (synopsis "Dots and Boxes game")
     (description "KSquares is an implementation of the popular paper based
 game Squares.  Two players take turns connecting dots on a grid to complete
@@ -1545,7 +1546,7 @@ (define-public kjumpingcube
            qtbase-5
            qtdeclarative
            qtsvg))
-    (home-page "https://games.kde.org/")
+    (home-page "https://apps.kde.org/kjumpingcube/")
     (synopsis "Simple tactical game for number-crunchers")
     (description "KJumpingcube is a simple tactical game for one or two
 players, played on a grid of numbered squares.  Each turn, players compete for
-- 
2.37.0

From 8983d00613d42ad640571490fbef6fa5d13ea0d1 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 25 Mar 2022 12:22:39 +0100
Subject: [PATCH v2 66/75] gnu: libmbim: Update to 1.26.4.

* gnu/packages/freedesktop.scm (libmbim): Update to 1.26.4.

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index b69a078d35..1dd72700ff 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1467,7 +1467,7 @@ (define-public accountsservice
 (define-public libmbim
   (package
     (name "libmbim")
-    (version "1.20.2")
+    (version "1.26.4")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1475,7 +1475,7 @@ (define-public libmbim
                     "libmbim-" version ".tar.xz"))
               (sha256
                (base32
-                "16q550sy84izi5ic3sbbhjnnka2fwhj8vvdrirpn9xspbsgbc3sm"))))
+                "1ncaarl4lgc7i52rwz50yq701wk2rr478cjybxbifsjqqk2cx27n"))))
     (build-system gnu-build-system)
     (native-inputs
      (list `(,glib "bin") ; for glib-mkenums
-- 
2.37.0

From 1385dd596792aa5b4f26ed8931bf805950e87671 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Thu, 3 Feb 2022 19:00:31 +1100
Subject: [PATCH v2 29/75] gnu: Remove libraw-0.18.

* gnu/packages/photo.scm (libraw-0.18): Delete unused old version.

diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index eda9eadca2..d2c246b983 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -204,17 +204,6 @@ (define-public libraw
     ;; both two licensing modes for your changes/additions."
     (license (list license:lgpl2.1 license:cddl1.0))))
 
-(define-public libraw-0.18
-  (package (inherit libraw)
-    (name "libraw")
-    (version "0.18.12")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://www.libraw.org/data/LibRaw-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "1m2khr2cij8z6lawgbmdksjn14fpnjsy8ad4qahnpqapm1slsxap"))))))
 
 (define-public libexif
   (package
-- 
2.37.0

From 5f84ada9e21e84497e25a3833938f787887f45d3 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 11:33:21 +0200
Subject: [PATCH v2 37/75] gnu: KDE Systemtools: Update home-page links.

* gnu/packages/kde-systemtools.scm (dolphin, khelpcenter, krfb, ksystemlog,
yakuake): Update home-page.

diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index aa0ed53a80..90260c2630 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2017, 2020 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2021 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
+;;; Copyright © 2022 Petr Hodina <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -79,7 +80,7 @@ (define-public dolphin
            solid))
     (arguments
      `(#:tests? #f)) ;; TODO: 4/15 tests fail even with offscreen
-    (home-page "https://kde.org/applications/system/org.kde.dolphin")
+    (home-page "https://apps.kde.org/dolphin/")
     (synopsis "File manager for KDE")
     (description "Dolphin is a file manager for KDE focusing on usability.
 The main features of Dolphin are:
@@ -160,7 +161,7 @@ (define-public khelpcenter
            xapian))
     (arguments
      `(#:tests? #f)) ;; 1/1 test fails
-    (home-page "https://kde.org/applications/system/org.kde.Help")
+    (home-page "https://apps.kde.org/khelpcenter/")
     (synopsis "KDE documentation viewer")
     (description "KHelpCenter uses meta data files which describe the
 documentation available in the system.  Each document is represented by a meta
@@ -267,7 +268,7 @@ (define-public krfb
            wayland
            xcb-util-image
            zlib))
-    (home-page "https://kde.org/applications/internet/org.kde.krfb")
+    (home-page "https://apps.kde.org/krfb/")
     (synopsis "Desktop Sharing utility")
     (description "KDE Desktop Sharing is a server application that allows you
 to share your current session with a user on another machine.  The desktop
@@ -310,7 +311,7 @@ (define-public ksystemlog
            kxmlgui
            oxygen-icons ;; default icon set
            qtbase-5))
-    (home-page "https://kde.org/applications/system/org.kde.ksystemlog")
+    (home-page "https://apps.kde.org/ksystemlog/")
     (synopsis "System log viewer")
     (description "This program is developed for being used by beginner users,
 which don't know how to find information about their Linux system, and how the
@@ -356,7 +357,7 @@ (define-public yakuake
            qtbase-5
            qtsvg
            qtx11extras))
-    (home-page "https://www.kde.org/applications/system/yakuake/")
+    (home-page "https://apps.kde.org/yakuake/")
     (synopsis "Quad-style terminal emulator for KDE")
     (description "Yakuake is a drop-down terminal emulator based on KDE Konsole
 technology.  Features include:
-- 
2.37.0

From 5ef6f34eaf0d02e7e148e98cd3756abdcd1b4cda Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 12:11:37 +0200
Subject: [PATCH v2 39/75] gnu: KDE Multimedia: Update home-page links.

* gnu/packages/kde-multimedia.scm (audiocd-kio, dragon, elisa,
ffmpegthumbs, juk, k3b, kaffeine, kamoso, kmix, kwave): Update home-page.

diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 76e25c32f3..7a082b127a 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2021, 2022 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2022 Vinicius Monego <[email-masked]>
 ;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
+;;; Copyright © 2022 Petr Hodina <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -79,7 +80,7 @@ (define-public audiocd-kio
            libvorbis
            phonon
            qtbase-5))
-    (home-page "https://kde.org/applications/multimedia/org.kde.kio_audiocd")
+    (home-page "https://apps.kde.org/kio_audiocd/")
     (synopsis "Transparent audio CD integration for applications using the KDE
 Platform")
     (description "KIO AudioCD is a KIO slave that enables KIO-aware
@@ -137,7 +138,7 @@ (define-public dragon
                (wrap-program (string-append out "/bin/dragon")
                  `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))
                #t))))))
-    (home-page "https://kde.org/applications/multimedia/org.kde.dragonplayer")
+    (home-page "https://apps.kde.org/dragonplayer/")
     (synopsis "Simple video player")
     (description "Dragon Player is a multimedia player where the focus is on
 simplicity, instead of features.  Dragon Player does one thing, and only one
@@ -212,7 +213,7 @@ (define-public elisa
                (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
                (invoke "dbus-launch" "make" test-target))
              #t)))))
-    (home-page "https://kde.org/applications/multimedia/org.kde.elisa")
+    (home-page "https://apps.kde.org/elisa/")
     (synopsis "Powerful music player for Plasma 5")
     (description "Elisa is a simple music player aiming to provide a nice
 experience for its users.  Elisa browses music by album, artist or
@@ -238,7 +239,7 @@ (define-public ffmpegthumbs
      (list extra-cmake-modules pkg-config))
     (inputs
      (list ffmpeg kconfig ki18n kio taglib qtbase-5))
-    (home-page "https://kde.org/applications/multimedia/org.kde.ffmpegthumbs")
+    (home-page "https://apps.kde.org/ffmpegthumbs/")
     (synopsis "Video thumbnail generator for KDE using ffmpeg")
     (description "
 FFMpegThumbs is a video thumbnail generator for KDE file managers
@@ -286,7 +287,7 @@ (define-public juk
            qtbase-5
            qtsvg
            taglib))
-    (home-page "https://kde.org/applications/multimedia/org.kde.juk")
+    (home-page "https://apps.kde.org/juk/")
     (synopsis "Music jukebox / music player")
     (description "JuK is a powerful music player capable of managing a large
 music collection.
@@ -440,7 +441,7 @@ (define-public k3b
            sox
            taglib
            zlib))
-    (home-page "https://kde.org/applications/multimedia/org.kde.k3b")
+    (home-page "https://apps.kde.org/k3b/")
     (synopsis "Sophisticated CD/DVD burning application")
     (description "K3b is CD-writing software which intends to be feature-rich
 and provide an easily usable interface.  Features include burning audio CDs
@@ -491,7 +492,7 @@ (define-public kaffeine
                (("\\s*qPrintable\\(transponder\\.getTransmissionType\\(\\)\\)\\);")
                  "transponder.getTransmissionType());"))
              #t)))))
-    (home-page "https://kde.org/applications/multimedia/org.kde.kaffeine")
+    (home-page "https://apps.kde.org/kaffeine/")
     (synopsis "Versatile media player for KDE")
     (description "Kaffeine is a media player for KDE.  While it supports
 multiple Phonon backends, its default backend is Xine, giving Kaffeine a wide
@@ -539,7 +540,7 @@ (define-public kamoso
            qtx11extras))
     (arguments
      (list #:tests? #f)) ; test program gets built, but is not found
-    (home-page "https://kde.org/applications/multimedia/org.kde.kamoso")
+    (home-page "https://apps.kde.org/kamoso/")
     (synopsis "Take pictures and videos out of your webcam")
     (description "Kamoso is a simple and friendly program to use your
 camera.  Use it to take pictures and make videos to share.")
@@ -583,7 +584,7 @@ (define-public kmix
            pulseaudio
            qtbase-5
            solid))
-    (home-page "https://kde.org/applications/multimedia/org.kde.kmix")
+    (home-page "https://apps.kde.org/kmix/")
     (synopsis "Volume control and mixer")
     (description "KMix is an audio device mixer, used to adjust volume, select
 recording inputs, and set other hardware options.
@@ -700,7 +701,7 @@ (define-public kwave
            qtbase-5
            qtmultimedia
            zlib))
-    (home-page "https://kde.org/applications/multimedia/org.kde.kwave")
+    (home-page "https://apps.kde.org/kwave/")
     (synopsis "Sound editor for KDE")
     (description "Kwave is a sound editor designed for the KDE Desktop
 Environment.
-- 
2.37.0

From ffbfd49a77803b46c42c85f58fdbfcd8e91a5fc0 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Thu, 14 Oct 2021 18:11:57 +1100
Subject: [PATCH v2 16/75] gnu: Add layer-shell-qt.

* gnu/packages/kde-plasma.scm (layer-shell-qt): New variable.

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 2317cbec5a..2c723d34f8 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2020 Zheng Junjie <[email-masked]>
+;;; Copyright © 2021 Brendan Tildesley <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,6 +38,7 @@ (define-module (gnu packages kde-plasma)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages web))
 
@@ -157,6 +159,32 @@ (define-public ksshaskpass
 call it if it is not associated to a terminal.")
     (license license:gpl2+)))
 
+(define-public layer-shell-qt
+  (package
+    (name "layer-shell-qt")
+    (version "5.24.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://kde/stable/plasma/" version
+                                  "/layer-shell-qt-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1aq089pws39w9ncsiqzgg3qvfg5hc5a74pzra0smdpy5ipfsb6a4"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules pkg-config))
+    (inputs
+     (list libxkbcommon
+           qtbase-5
+           qtdeclarative
+           qtwayland
+           wayland
+           wayland-protocols))
+    (home-page "https://invent.kde.org/plasma/layer-shell-qt")
+    (synopsis "Qt component for the Wayland ql-layer-shell protocol")
+    (description "Qt component for the Wayland ql-layer-shell protocol.")
+    (license license:gpl2+)))
+
 (define-public kscreenlocker
   (package
     (name "kscreenlocker")
-- 
2.37.0

From 92838eb8ec5268954d17f7d63d8bff7ff09492b2 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Wed, 2 Feb 2022 19:10:58 +1100
Subject: [PATCH v2 24/75] gnu: KDE: Update all packages to 21.12.3.

* gnu/packages/kde.scm (baloo-widgets, kcachegrind,
kdeconnect, kdegraphics-mobipocket, kdenlive, kdevelop, kdevelop-pg-qt,
kdf, kdiagram, kpmcore, kqtquickcharts, krita, kseexpr, kuserfeedback,
labplot, libkdegames, libkexiv2, libkomparediff2, marble-qt,
massif-visualizer, okular, poxml, qca, snorenotify, zeroconf-ioslave):
Update to 21.12.3.

(baloo-widgets)[arguments]: Disable tests.

(kdiagram): Update to 2.8.0.

(qca): Update to 2.3.4.

(kpmcore)[arguments]: Don't try install polkit files to polkits store path.

(kdevelop)[inputs]: Add ksyntaxhighlighting. Use new inputs format.

(kdeconnect)[native-inputs]: Use new style.
[inputs]: Add new dependencies.

(krita)[inputs]: Use latest libraw.

diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index ea372f7460..c248e6ea8d 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2021 Alexandros Theodotou <[email-masked]>
 ;;; Copyright © 2021 la snesne <[email-masked]>
 ;;; Copyright © 2021, 2022 Vinicius Monego <[email-masked]>
+;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -60,6 +61,7 @@ (define-module (gnu packages kde)
   #:use-module (gnu packages ebook)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages geo)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
@@ -81,6 +83,7 @@ (define-module (gnu packages kde)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages polkit)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
@@ -95,26 +98,21 @@ (define-module (gnu packages kde)
 (define-public baloo-widgets
   (package
     (name "baloo-widgets")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/baloo-widgets-" version ".tar.xz"))
        (sha256
-        (base32 "1x4v79vhvc5ixkbsf3jyjz5ig1lf78rfw3r7g3llpb4j1kcp3wh0"))))
+        (base32 "0cfcfmsgbaxi53a3r0f013lskm5yll7zaxw98nlj6r8fsq2slrhv"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
     (inputs
      (list baloo kconfig ki18n kio qtbase-5))
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+     `(#:tests? #f)) ;; tests fail
     (home-page "https://community.kde.org/Baloo")
     (synopsis "Wigets for use with Baloo")
     (description "Baloo is a framework for searching and managing metadata.
@@ -152,14 +150,14 @@ (define-public grantleetheme
 (define-public akregator
   (package
     (name "akregator")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/akregator-" version ".tar.xz"))
        (sha256
-        (base32 "1711yhwsdq9iyc3wm3a4xmz81p73hvvc0h58sasc89ifpry50k2p"))))
+        (base32 "1yy5c29zxpli4cddknmdvjkgii3j7pvw6lhwqfrqjc8jh83gm8f8"))))
     (build-system qt-build-system)
     (arguments
      `(#:phases
@@ -306,68 +304,66 @@ (define-public kdenlive
 (define-public kdevelop
   (package
     (name "kdevelop")
-    (version "5.6.1")
+    (version "21.12.3")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "mirror://kde/stable/kdevelop"
-                            "/" version "/src/kdevelop-"
-                            version ".tar.xz"))
+        (uri (string-append "mirror://kde/stable/release-service/" version
+                            "/src/kdevelop-" version ".tar.xz"))
         (sha256
-         (base32 "02ip5r67hjfpywkm3mz86n6wbqcr7996ifzfd2fyzsvm4998hi4y"))))
+         (base32 "1shp8zlxr7iyysn1c8d3fp6rg6g2krj2v3zw5apalxcnal16bww6"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config shared-mime-info qttools))
-    (inputs
-     `(("boost" ,boost)
-       ("clang" ,clang)
-       ("grantlee" ,grantlee)
-       ("karchive" ,karchive)
-       ("kcmutils" ,kcmutils)
-       ("kcrash" ,kcrash)
-       ("kdeclarative" ,kdeclarative)
-       ("kdoctools" ,kdoctools)
-       ("kguiaddons" ,kguiaddons)
-       ("ki18n" ,ki18n)
-       ("kiconthemes" ,kiconthemes)
-       ("kio" ,kio)  ;; not checked as requirement
-       ("kitemmodels" ,kitemmodels)
-       ("kitemviews" ,kitemviews)
-       ("kjobwidgets" ,kjobwidgets)
-       ("knotifications" ,knotifications)
-       ("knotifyconfig" ,knotifyconfig)
-       ("kparts" ,kparts)
-       ("kservice" ,kservice)
-       ("ktexteditor" ,ktexteditor)
-       ("kwindowsystem" ,kwindowsystem)
-       ("kxmlgui" ,kxmlgui)
-       ("libkomparediff2" ,libkomparediff2)
-       ("oxygen-icons" ,oxygen-icons)
-       ("qtbase" ,qtbase-5)
-       ("qtdeclarative" ,qtdeclarative)
-       ("qtquickcontrols" ,qtquickcontrols)  ;; not checked as requirement
-       ("qtquickcontrols2" ,qtquickcontrols2)  ;; not checked as requirement
-       ("qtwebkit" ,qtwebkit)
-       ("threadweaver" ,threadweaver)
-
-       ;; recommendes
-       ("astyle" ,astyle)
-       ("kdevelop-pg-qt" ,kdevelop-pg-qt)
-       ("libksysguard" ,libksysguard)
+    (inputs (list boost
+                  clang
+                  grantlee
+                  karchive
+                  kcmutils
+                  kcrash
+                  kdeclarative
+                  kdoctools
+                  kguiaddons
+                  ki18n
+                  kiconthemes
+                  kio ;; not checked as requirement
+                  kitemmodels
+                  kitemviews
+                  kjobwidgets
+                  knotifications
+                  knotifyconfig
+                  kparts
+                  kservice
+                  ksyntaxhighlighting
+                  ktexteditor
+                  kwindowsystem
+                  kxmlgui
+                  libkomparediff2
+                  oxygen-icons
+                  qtbase-5
+                  qtdeclarative
+                  qtquickcontrols ;; not checked as requirement
+                  qtquickcontrols2 ;; not checked as requirement
+                  qtwebkit
+                  threadweaver
 
-       ;; optional
-       ("apr" ,apr)            ; required for subversion support
-       ("apr-util" ,apr-util)  ; required for subversion support
-       ("attica" ,attica)
-       ("kconfigwidgets" ,kconfigwidgets)
-       ("knewstuff" ,knewstuff)
-       ("krunner" ,krunner)
-       ;; TODO: OktetaGui, OktetaKastenControllers
-       ("plasma" ,plasma-framework)
-       ;; TODO: purpose
-       ("sonnet" ,sonnet)
-       ("subversion" ,subversion)))
+                  ;; recommendes
+                  astyle
+                  kdevelop-pg-qt
+                  libksysguard
 
+                  ;; optional
+                  apr ; required for subversion support
+                  apr-util ; required for subversion support
+                  attica
+                  kconfigwidgets
+                  knewstuff
+                  krunner
+                  ;; TODO: OktetaGui, OktetaKastenControllers
+                  plasma-framework
+                  ;; TODO: purpose
+                  sonnet
+                  subversion))
        ;; run-time packages - TODO
        ;; ClazyStandalone
        ;; Cppcheck
@@ -423,14 +419,14 @@ (define-deprecated kdevplatform kdevelop)
 (define-public kdiagram
   (package
     (name "kdiagram")
-    (version "2.7.0")
+    (version "2.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/kdiagram/" version
                            "/kdiagram-" version ".tar.xz"))
        (sha256
-        (base32 "1pgvf2q8b59hw0jg5ajmj5nrn4q8cgnifpvdd0fynk2ml6zym8k3"))
+        (base32 "07s3kwv0mqvb64x8nz4w1yb3hbk28yzkw4qg1jibai7as4xsv7ap"))
        (patches (search-patches
                  "kdiagram-Fix-missing-link-libraries.patch"))))
     (build-system qt-build-system)
@@ -526,7 +522,7 @@ (define-public krita
            libheif
            libmypaint
            libpng
-           libraw-0.18
+           libraw
            libtiff
            libwebp
            libx11
@@ -590,14 +586,14 @@ (define-public massif-visualizer
 (define-public libkomparediff2
   (package
     (name "libkomparediff2")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append "mirror://kde/stable/release-service/" version
                             "/src/libkomparediff2-" version ".tar.xz"))
         (sha256
-         (base32 "0m8m7sgpf2f4nxpaaymyvihlk0pcyblyd99mcbibrnyr5kzkzzdc"))))
+         (base32 "1j93lf9adyw581a9i8kc1pj6vadscibw49wvwfs750f0kxn5p0d2"))))
     (native-inputs
      (list extra-cmake-modules pkg-config))
     (inputs
@@ -621,14 +617,14 @@ (define-public libkomparediff2
 (define-public qca
   (package
     (name "qca")
-    (version "2.3.3")
+    (version "2.3.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append "mirror://kde/stable/qca/" version
                             "/qca-" version ".tar.xz"))
         (sha256
-         (base32 "0rvvf97la95lah67jcj0p06n4br0pc2mri0q1hn4x522hndqybjn"))))
+         (base32 "1i7m5y3dfwij9cyjp72ya5zd2skgp7mfmrmf7bvrbzg3ly0mhsbb"))))
     (build-system cmake-build-system)
     (native-inputs
      (list pkg-config))
@@ -645,16 +641,15 @@ (define-public qca
 (define-public kpmcore
   (package
     (name "kpmcore")
-    (version "4.1.0")
+    (version "21.12.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "mirror://kde/stable/kpmcore"
-                    "/" version "/src/"
-                    name "-" version ".tar.xz"))
+                    "mirror://kde/stable/release-service/" version
+                    "/src/" name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0jsig7algmab9h0fb09my0axjqzw83zgscamhzl8931lribs6idm"))))
+                "19h0ag54xzv4hwh950hshjghd4fb9xkdg8rlx6lvqa0w9b8admva"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config))
@@ -663,9 +658,18 @@ (define-public kpmcore
            kcoreaddons
            ki18n
            kwidgetsaddons
+           polkit-qt
            qtbase-5
            qca
            `(,util-linux "lib")))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-cmake-install-directories
+           (lambda _
+             (substitute* "src/util/CMakeLists.txt"
+               (("DESTINATION \\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
+                "DESTINATION share/polkit-1/actions")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Library for managing partitions")
     (description "Library for managing partitions.")
@@ -700,7 +704,7 @@ (define-public snorenotify
 (define-public kdeconnect
   (package
     (name "kdeconnect")
-    (version "20.04.2")
+    (version "21.12.3")
     (source
       (origin
         (method url-fetch)
@@ -709,25 +713,20 @@ (define-public kdeconnect
                             version ".tar.xz"))
         (sha256
          (base32
-          "0yq3afbbcc9gmlcachvh3xz3gdj57092fpagp36l5knw8gr0d9ip"))))
+          "1n9km7czif19cvrsdfcjbb02i1xgpa1z4ycn20d3g8azmli4zj4g"))))
     (build-system qt-build-system)
     (arguments
      `(#:configure-flags '("-DBUILD_TESTING=ON"
-                           "-DKDE_INSTALL_LIBEXECDIR=libexec")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'adjust-include-header
-           (lambda _
-             (substitute* "plugins/runcommand/runcommandplugin.cpp"
-               (("<kcmutils_version.h>")
-                "<KF5/kcmutils_version.h>")))))
+                           "-DKDE_INSTALL_LIBEXECDIR=libexec"
+                           ;; So kdeconnect.so isn't installed to lib/plugins
+                           "-DPLUGIN_INSTALL_DIR=lib/qt5/plugins")
        #:tests? #f)) ; tests fail hard in our build environment
     (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)
-       ("kdoctools" ,kdoctools)
-       ("libxtst" ,libxtst)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)))
+     (list extra-cmake-modules
+           kdoctools
+           libxtst
+           pkg-config
+           python-wrapper))
     (inputs
      (list kcmutils
            kconfigwidgets
@@ -737,19 +736,23 @@ (define-public kdeconnect
            kio
            kirigami
            knotifications
+           kpackage
            kpeople
            kpeoplevcard
            kwayland
            libfakekey
            pulseaudio-qt
            qca
+           qqc2-desktop-style
            qtbase-5
            qtdeclarative
            qtgraphicaleffects
            qtmultimedia
            qtquickcontrols
            qtquickcontrols2
-           qtx11extras))
+           qtx11extras
+           qtwayland
+           wayland))
     (home-page "https://community.kde.org/KDEConnect")
     (synopsis "Enable your devices to communicate with each other")
     (description "KDE Connect is a project that enables all your devices to
@@ -849,7 +852,7 @@ (define-public labplot
 (define-public kqtquickcharts
   (package
     (name "kqtquickcharts")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
       (origin
         (method url-fetch)
@@ -857,7 +860,7 @@ (define-public kqtquickcharts
                             version "/src/kqtquickcharts-" version ".tar.xz"))
         (sha256
          (base32
-          "1wxp35mf9zlpgzi4msdl86b2krdq2ipqw371gyx23r7j84vdyxi3"))))
+          "0gl9c8zfn440202l82y4nfng0hyhivby8a4hf91rphi8f1xfxxmr"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -873,14 +876,14 @@ (define-public kqtquickcharts
 (define-public kdf
   (package
     (name "kdf")
-    (version "20.12.1")
+    (version "21.12.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kde/stable/release-service/"
                                   version "/src/kdf-" version ".tar.xz"))
               (sha256
                (base32
-                "0ba67hs4vlb3qyvdzhnpmf8p62df12s8aqw4hzf9vnxff3qix5k1"))))
+                "179ygy4kxkapfyxqj8h5xlvp1160vd72af34vd0a4r5az7wfd1m7"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -906,14 +909,14 @@ (define-public kdf
 (define-public kcachegrind
   (package
     (name "kcachegrind")
-    (version "20.04.1")
+    (version "21.12.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kde/stable/release-service/" version
                                   "/src/kcachegrind-" version ".tar.xz"))
               (sha256
                (base32
-                "0fx17s6fj1pxl1mgfrqhchk8sihkbji1x8y3nhb1r0971wzd1nsc"))))
+                "1cssjywnhfbnsvly4mralpx3af2pqkmhg1jj2q3cjiqx44i3gkyx"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules perl python qttools kdoctools))
@@ -940,14 +943,14 @@ (define-public kcachegrind
 (define-public libkdegames
   (package
     (name "libkdegames")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/libkdegames-" version ".tar.xz"))
       (sha256
-       (base32 "1xsrrvhwjwi5aajcaxydmzc69i4yx6shs8ly8vr85njc188ycg13"))))
+       (base32 "0x5mw25c8hmnxhcxc2xm19xmgdxfbx89nrxfl6mzfrh8myr3ybsb"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1043,14 +1046,14 @@ (define-public marble-qt
 (define-public okular
   (package
     (name "okular")
-    (version "20.12.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "0gpm7n47yijsjg4yba561j5pbvd98hgvr93w1kvzk851nb87m89c"))))
+        (base32 "054rzdqsqkjx2sncyfcnfdvm9bp45sdw3rycmpzicnwpn5j4hcb3"))))
     (build-system qt-build-system)
     ;; The tests fail because they can't find the proper mimetype plugins:
     ;; "org.kde.okular.core: No plugin for mimetype '"image/jpeg"'."
@@ -1108,7 +1111,7 @@ (define-public okular
 (define-public poxml
   (package
     (name "poxml")
-    (version "20.12.1")
+    (version "21.12.3")
     (source (origin
               (method url-fetch)
               (uri
@@ -1116,7 +1119,7 @@ (define-public poxml
                               "/src/poxml-" version ".tar.xz"))
               (sha256
                (base32
-                "1smjvblx0jcv3afs2sr4qcmvhqd44iw24hvr9fppa3nxhrmjwmlk"))))
+                "19hrb75fbh102fw8ajflj4777s7hq7vxv6kbwjir6wzsvdfanwdb"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -1133,14 +1136,14 @@ (define-public poxml
 (define-public kdegraphics-mobipocket
   (package
     (name "kdegraphics-mobipocket")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "0fm880lp9g60zgrkjyh4jxws6x0s77l9ia4f8pza3w8sxcbbswk5"))))
+        (base32 "091ix343p9vs4iyj8abq6mw9lbm1fx5167gykhm4g8bjk5vdri2q"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1155,14 +1158,14 @@ (define-public kdegraphics-mobipocket
 (define-public libkexiv2
   (package
     (name "libkexiv2")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "0k0iinf7s8qlk3fwvq7iic1b4zn2gm65rfd58q7d3wb1i1j2hjjk"))))
+        (base32 "0r2m6d9rw0r6rm6xqpj1i3w0hplhivy8h90zggqynfzvfyr9c529"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1177,14 +1180,14 @@ (define-public libkexiv2
 (define-public zeroconf-ioslave
   (package
     (name "zeroconf-ioslave")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/zeroconf-ioslave-" version ".tar.xz"))
        (sha256
-        (base32 "1qck5jyc4psslpibhki8sz8aj0hsnx8z791vzyn10lmdzn71vx8c"))))
+        (base32 "09jmf233njbqam1swzvpzfgdplpjzdx48vjy6kcpmjvg2qlm7i2l"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
-- 
2.37.0

From 12a2562ef9142e8a7252e051c215c2f920b52973 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 12:20:11 +0200
Subject: [PATCH v2 42/75] gnu: kmplayer: Update home-page.

* gnu/packages/kde-multimedia.scm (kmplayer): Update home-page.

diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 4a9c6e54b0..9a9ec4b8be 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -639,7 +639,7 @@ (define-public kmplayer
                     "-DCMAKE_CXX_FLAGS=-I"
                     #$(this-package-input "qtx11extras")
                     "/include/qt5"))))
-    (home-page "https://kde.org/applications/multimedia/org.kde.kmplayer")
+    (home-page "https://apps.kde.org/kmplayer/")
     (synopsis "Media player using mplayer/phonon as backend")
     (description "Kmplayer can play all the audio/video supported by
 mplayer/phonon from a local file or URL and be embedded in Konqueror and
-- 
2.37.0

From c4b325159e852854e497cad68e51f564add68159 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Thu, 21 Jul 2022 10:22:52 +0200
Subject: [PATCH v2 27/75] gnu: KDE: Remove trailing booleans.

* gnu/packages/kde.scm (akregator, kdevelop)[arguments]: Remove trailing booleans.

diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 6ac614e422..3e4fbe8e0b 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -171,8 +171,7 @@ (define-public akregator
                                        (assoc-ref inputs "qtwebengine")
                                        "/lib/qt5/libexec/QtWebEngineProcess")))
                (wrap-program bin
-                 `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))
-               #t))))))
+                 `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))))))))
     (native-inputs
      (list extra-cmake-modules kdoctools))
     (inputs
@@ -379,8 +378,7 @@ (define-public kdevelop
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "cmake/modules/FindClang.cmake"
                (("^\\s*PATHS \"\\$\\{CLANG_LIBRARY_DIRS\\}\"" line)
-                (string-append line " " (assoc-ref inputs "clang") "/lib")))
-             #t)))))
+                (string-append line " " (assoc-ref inputs "clang") "/lib"))))))))
     (home-page "https://kdevelop.org")
     (synopsis "IDE for C, C++, Python, Javascript and PHP")
     (description "The KDevelop IDE provides semantic syntax highlighting, as
-- 
2.37.0

From 60664c0318383142ab58906b8d58c1bbd9de0bd6 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Sat, 5 Mar 2022 11:46:54 +1100
Subject: [PATCH v2 62/75] ! gnu: Add plasma-desktop.

* gnu/packages/kde-plasma.scm (plasma-desktop): New variable.

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 08294acb6e..629826fdb8 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -712,3 +712,114 @@ (define-public plasma-workspace
 activities effectively, without being distracting.")
     (license (list license:bsd-3 license:gpl2+ license:gpl3 license:lgpl2.1+
 license:lgpl3))))
+
+(define-public plasma-desktop
+  (package
+    (name "plasma-desktop")
+    (version "5.24.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/plasma/" version
+                    "/" name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1lwizprs6nk6nibydwkwmpi9c7c50lvg2k188pb6ddz2sb7pwgjq"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules
+           kdoctools
+           pkg-config
+           qtsvg
+           qttools))
+    (inputs
+     (list ;kplasma
+           ;kplasmaquick
+           ;packagekit-qt
+
+      kdelibs4support
+      ;kaccounts
+      plasma-workspace
+
+           appstream-qt
+           baloo
+           breeze
+           breeze-icons
+           fontconfig
+           iso-codes
+           kactivities
+           kactivities-stats
+           karchive
+           kcmutils
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           kdeclarative
+           kded
+           kdesu
+           kglobalaccel
+           kguiaddons
+           kholidays
+           ki18n
+           kiconthemes
+           kidletime
+           kinit
+           kio
+           kirigami
+           kitemmodels
+           knewstuff
+           knotifications
+           knotifyconfig
+           kpackage
+           kpeople
+           kqtquickcharts ;; XXX: not found?
+           krunner
+           kscreenlocker
+           ktexteditor
+           ktextwidgets
+           kunitconversion
+           kuserfeedback
+           kwallet
+           kwayland
+           kwin
+           layer-shell-qt
+           libkscreen
+           libksysguard
+           libqalculate gmp mpfr
+           libsm
+           libxft
+           libxkbcommon
+           libxrender
+           libxtst
+           networkmanager-qt
+           phonon
+           pipewire-0.3
+           plasma-wayland-protocols
+           prison
+           qtbase-5
+           qtdeclarative
+           qtwayland
+           qtx11extras
+           wayland
+           wayland-protocols
+           xcb-util
+           xcb-util-image))
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (setenv "HOME" (getcwd))
+                     (setenv "XDG_RUNTIME_DIR" (getcwd))
+                     (setenv "XDG_CACHE_HOME" (getcwd))
+                     (setenv "QT_QPA_PLATFORM" "offscreen")
+                     ;; Disable failing tests for now.
+                     (invoke "ctest"))
+                   #t)))))
+    (home-page "https://kde.org/plasma-desktop/")
+    (synopsis "")
+    (description "")
+    (license (list license:bsd-3 license:gpl2+ license:gpl3 license:lgpl2.1+
+license:lgpl3))))
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 29a3722f1b..a3e1318e21 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -53,6 +53,7 @@ (define-module (gnu services desktop)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages kde-plasma)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages xfce)
   #:use-module (gnu packages avahi)
-- 
2.37.0

From 8c9a7d5253d0f56d2de6d64d6f9e73b257210946 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 11:13:16 +0200
Subject: [PATCH v2 34/75] gnu: KDE Utils: Update home-page links.

* gnu/packages/kde-utils.scm (ark, kmag, kmousetool, kmouth, kronometer,
krusader, kxstitch, okteta, rsibreak, smb4k, sweeper): Update home-page
link.

diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
index ae8f7ee4ce..a319cb3010 100644
--- a/gnu/packages/kde-utils.scm
+++ b/gnu/packages/kde-utils.scm
@@ -107,7 +107,7 @@ (define-public ark
            unzip
            zip
            zstd))
-    (home-page "https://apps.kde.org/en/ark")
+    (home-page "https://apps.kde.org/ark/")
     (synopsis "Graphical archiving tool")
     (description "Ark is a graphical file compression/decompression utility
 with support for multiple formats, including tar, gzip, bzip2, rar and zip, as
@@ -202,7 +202,7 @@ (define-public kmag
            oxygen-icons ;; default icon set
            ;; TODO: QAccessibilityClient - libqaccessibilityclien
            qtbase-5))
-    (home-page "https://kde.org/applications/utilities/org.kde.kmag")
+    (home-page "https://apps.kde.org/kmag/")
     (synopsis "Screen magnifier tool")
     (description "You can use KMagnifier to magnify a part of the screen just
 as you would use a lens to magnify a newspaper fine-print or a photograph.
@@ -240,7 +240,7 @@ (define-public kmousetool
            phonon
            oxygen-icons ;; default icon set
            qtbase-5))
-    (home-page "https://kde.org/applications/utilities/org.kde.kmousetool")
+    (home-page "https://apps.kde.org/kmousetool/")
     (synopsis "Automatic mouse click and mouse manipulation tool for the
 disabled")
     (description "KMouseTool clicks the mouse whenever the mouse cursor pauses
@@ -276,7 +276,7 @@ (define-public kmouth
            oxygen-icons ;; default icon set
            qtbase-5
            qtspeech))
-    (home-page "https://kde.org/applications/utilities/org.kde.kmouth")
+    (home-page "https://apps.kde.org/kmouth/")
     (synopsis "Type-and-say frontend for speech synthesizers")
     (description "KMouth is a program which enables persons that cannot speak
 to let their computer speak, e.g. mutal people or people who have lost their
@@ -313,7 +313,7 @@ (define-public kronometer
            kxmlgui
            oxygen-icons ;; default icon set
            qtbase-5))
-    (home-page "https://kde.org/applications/utilities/org.kde.kronometer")
+    (home-page "https://apps.kde.org/kronometer/")
     (synopsis "Simple stopwatch application")
     (description "Kronometer is a stopwatch application.  It features the
 basic stopwatch actions (pause, resume, reset, laps), as well as the ability
@@ -358,7 +358,7 @@ (define-public krusader
            qtbase-5
            solid
            zlib))
-    (home-page "https://www.krusader.org")
+    (home-page "https://krusader.org/")
     (synopsis "Twin-panel (commander-style) file manager")
     (description "Krusader is a simple, easy, yet powerful,
 twin-panel (commander-style) file manager, similar to Midnight Commander or
@@ -391,7 +391,7 @@ (define-public kxstitch
      (list extra-cmake-modules kdoctools pkg-config))
     (inputs
      (list ktexteditor imagemagick qtbase-5 qtx11extras))
-    (home-page "https://kde.org/applications/en/graphics/org.kde.kxstitch")
+    (home-page "https://apps.kde.org/kxstitch/")
     (synopsis "Create and print cross stitch patterns")
     (description
      "KXStitch allows creating and printing cross stitch patterns, which can
@@ -442,7 +442,7 @@ (define-public okteta
              (setenv "QT_QPA_PLATFORM" "offscreen")
              (setenv "HOME" "/tmp/dummy-home")
              #t)))))
-    (home-page "https://kde.org/applications/utilities/org.kde.okteta")
+    (home-page "https://apps.kde.org/okteta/")
     (synopsis "Hexadecimal editor for binary files")
     (description "Okteta is a simple editor for the raw data of files.  This
 type of program is also called hex editor or binary editor.
@@ -489,7 +489,7 @@ (define-public rsibreak
            kxmlgui
            oxygen-icons ;; default icon set
            qtbase-5))
-    (home-page "https://kde.org/applications/utilities/org.kde.rsibreak")
+    (home-page "https://apps.kde.org/rsibreak/")
     (synopsis "Assists in the Recovery and Prevention of Repetitive Strain
 Injury")
     (description "Repetitive Strain Injury is an illness which can occur as a
@@ -539,7 +539,7 @@ (define-public smb4k
            qtbase-5
            qtdeclarative
            solid))
-    (home-page "https://kde.org/applications/utilities/org.kde.smb4k")
+    (home-page "https://apps.kde.org/smb4k/")
     (synopsis "Samba (SMB) share advanced browser")
     (description "Smb4K is an network neighborhood browser for the KDE
 Software Compilation and a frontend to the programs of the Samba software
@@ -598,7 +598,7 @@ (define-public sweeper
            kxmlgui
            oxygen-icons ;; default icon set
            qtbase-5))
-    (home-page "https://kde.org/applications/utilities/org.kde.sweeper")
+    (home-page "https://apps.kde.org/sweeper/")
     (synopsis "Temporary file and history cleaner")
     (description "
 Sweeper helps to clean unwanted traces the user leaves on the system and to
-- 
2.37.0

From ae7e3581c60f92d94b7ae866367397f4c8131db4 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Fri, 4 Feb 2022 19:20:46 +1100
Subject: [PATCH v2 32/75] gnu: KDE Utils: Update all packages to 21.12.3.

* gnu/packages/kde-utils.scm (ark, kate, kmag, kmousetool, kmouth,
kronometer, krusader, kxstitch, rsibreak, sweeper):
Update to 21.12.3.

(okteta): Update to 0.26.6.
[origin]: Update source path location.
[arguments]: New dependency

(smb4k): Update to 3.1.1.
[origin]: Fix extraction of donwloaded tarball.
[inputs]: Add new dependency.

diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
index 2b3a0dd15e..60e516f85c 100644
--- a/gnu/packages/kde-utils.scm
+++ b/gnu/packages/kde-utils.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2017, 2019 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2021 Zheng Junjie <[email-masked]>
+;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -40,14 +41,14 @@ (define-module (gnu packages kde-utils)
 (define-public ark
   (package
     (name "ark")
-    (version "20.04.1")
+    (version "21.12.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kde/stable/release-service/" version
                                   "/src/ark-" version ".tar.xz"))
               (sha256
                (base32
-                "0g5bfa1lc7mhrc2ngd4ldf33dpwr7gqrj95kp897pf632wwj23iw"))
+                "1p30bgnb3aw0f2jnaksz7jfqqcz45b2x3bjrri0w5w580204a5s8"))
               ;; The libarchive package in Guix does not support
               ;; xar; disable related tests.
               (patches (search-patches "ark-skip-xar-test.patch"))))
@@ -113,14 +114,14 @@ (define-public ark
 (define-public kate
   (package
     (name "kate")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kate-" version ".tar.xz"))
        (sha256
-        (base32 "0nrby307syrqlxrf9lwdzc9c15ifw47418qwszqwg345ma2pww7i"))))
+        (base32 "1pp0k00kvih0xkkv1q1gha4na2bwqc7dhyyrla7c2vvln8gi99dg"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -139,6 +140,7 @@ (define-public kate
            kjobwidgets
            kparts
            ktexteditor
+           ksyntaxhighlighting
            kwallet
            plasma-framework
            kwindowsystem
@@ -179,14 +181,14 @@ (define-public kate
 (define-public kmag
   (package
     (name "kmag")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kmag-" version ".tar.xz"))
       (sha256
-       (base32 "18lk8i2r90gvw8q5j179xgpniih92mwk06krk7w4jv98yinqf6m5"))))
+       (base32 "067x65gmip89rdgii2nwnxn7zi96cf7vfbhqzg0499pd2d69p3sl"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -209,14 +211,14 @@ (define-public kmag
 (define-public kmousetool
   (package
     (name "kmousetool")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kmousetool-" version ".tar.xz"))
        (sha256
-        (base32 "01j6bx8zihns4ip8maj0gb3w3bhx1ha2ljhfmsm6lcyay531ay98"))))
+        (base32 "013qr1md3gbin7hcahnv14y9i2cg35r433s2w81fvgcakd38qvkj"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -247,14 +249,14 @@ (define-public kmousetool
 (define-public kmouth
   (package
     (name "kmouth")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kmouth-" version ".tar.xz"))
        (sha256
-        (base32 "1afgxlys9mvmc3rd33g7gchfb0ylx83x3x0a0qf3dra6cpgsgcg7"))))
+        (base32 "0xvkp2pm2szbgzdsfmwrykma8npmlwmx2pb1iakbx3x1wyyjsbim"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -396,15 +398,14 @@ (define-public kxstitch
 (define-public okteta
   (package
     (name "okteta")
-    (version "17.12.3")
+    (version "0.26.7")
     (source
      (origin
        (method url-fetch)
-       ;; TODO: Why is this not in "stable" anymore
-       (uri (string-append "mirror://kde/Attic/applications/" version
+       (uri (string-append "mirror://kde/stable/okteta/" version
                            "/src/okteta-" version ".tar.xz"))
        (sha256
-        (base32 "03wsv83l1cay2dpcsksad124wzan7kh8zxdw1h0yicn398kdbck4"))))
+        (base32 "1qrhsnglvkiq480c0b6hgcpahab7l8wbfpcsgra5zkynj1bba8zi"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools qttools shared-mime-info))
@@ -427,6 +428,7 @@ (define-public okteta
            oxygen-icons ;; default icon set
            qca
            qtbase-5
+           qtdeclarative
            qtscript))
     (arguments
      `(#:phases
@@ -496,14 +498,15 @@ (define-public rsibreak
 (define-public smb4k
   (package
     (name "smb4k")
-    (version "3.0.6")
+    (version "3.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://sourceforge.net/projects/smb4k/files/"
                            version "/smb4k-" version ".tar.xz/download"))
+       (file-name (string-append name "-" version ".tar.xz"))
        (sha256
-        (base32 "0hz6nfd845bykf78s4g2qs77szl96gy6g8rpg44pqd39a0k0xbh7"))))
+        (base32 "189h5znan2kfqflik308ghqc2z55s5z8kwpq8gjz2y0lwyqdiw0b"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -515,6 +518,7 @@ (define-public smb4k
            kcoreaddons
            kcrash
            kdbusaddons
+           kdnssd
            ki18n
            kiconthemes
            kio
@@ -567,14 +571,14 @@ (define-public smb4k
 (define-public sweeper
   (package
     (name "sweeper")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/sweeper-" version ".tar.xz"))
        (sha256
-        (base32 "1az3c2khnh51bbmqpamj4p26d3a0ff4l5rd3vcrylg94mk7wgh59"))))
+        (base32 "1l4ag2nhy0da9z4nlf7fmjrim7pmwpm3m4v4y50jlpdv73f63246"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
-- 
2.37.0

From ac33fbe7aea4971499beba2fea6e2b3c2c010cb3 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Fri, 4 Feb 2022 19:53:37 +1100
Subject: [PATCH v2 38/75] gnu: KDE Multimedia: Update all packages to 21.12.3.

* gnu/packages/kde-multimedia.scm (audiocd-kio, dragon, elisa,
ffmpegthumbs, juk, k3b, kaffeine, kamoso, kmix, kwave,
libkcddb, libkcompactdisc): Update to 21.12.3.

(kid3): Update to 3.9.1.

(kamoso): Remove unneeded configure-flags.

(kuserfeedback): Update to 1.2.0.

diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 752f6b499c..76e25c32f3 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2020 Timotej Lazar <[email-masked]>
 ;;; Copyright © 2021, 2022 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2022 Vinicius Monego <[email-masked]>
+;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -29,6 +30,7 @@ (define-module (gnu packages kde-multimedia)
   #:use-module (guix gexp)
   #:use-module (gnu packages)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages docbook)
@@ -54,14 +56,14 @@ (define-module (gnu packages kde-multimedia)
 (define-public audiocd-kio
   (package
     (name "audiocd-kio")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/audiocd-kio-" version ".tar.xz"))
        (sha256
-        (base32 "0qlnxxbayqhz25jbvzis27jw2zbw1pmacp8rv7v5wa7zfqn3kmyk"))))
+        (base32 "1alyn7w0v1by3fkb6xfnwj0hayjrrnmwnajnrnpvn8skbqsbzlgc"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -93,14 +95,14 @@ (define-public audiocd-kio
 (define-public dragon
   (package
     (name "dragon")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/dragon-" version ".tar.xz"))
        (sha256
-        (base32 "1sssg20a1vpwk816lp5jgwahilaswb9f3hgfqvc73il4g11ky1xj"))))
+        (base32 "09iwwlbv4jmxs92dz20z9fqg1sfnqih54izz8459ibl8vydfgfp1"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -121,8 +123,20 @@ (define-public dragon
            oxygen-icons ; default icon set
            phonon
            phonon-backend-gstreamer
+           gst-plugins-base
+           gst-plugins-good
            qtbase-5
            solid))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'qt-wrap 'gst-wrap
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out             (assoc-ref outputs "out"))
+                   (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
+               (wrap-program (string-append out "/bin/dragon")
+                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))
+               #t))))))
     (home-page "https://kde.org/applications/multimedia/org.kde.dragonplayer")
     (synopsis "Simple video player")
     (description "Dragon Player is a multimedia player where the focus is on
@@ -138,14 +152,14 @@ (define-public dragon
 (define-public elisa
   (package
     (name "elisa")
-    (version "20.12.0")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/elisa-" version ".tar.xz"))
        (sha256
-        (base32 "02450lsnbd37fms1i2bb9qc9wir4vym6qqd9p5hr6a6s6qwfs6qf"))))
+        (base32 "0cg9v438fclqnv1rgx2k86mzfp5ggfcp7d5kr8xh4kjbmy17rzca"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config dbus kdoctools
@@ -161,6 +175,7 @@ (define-public elisa
            kdeclarative
            kfilemetadata
            ki18n
+           kiconthemes
            kio
            kirigami
            kmediaplayer
@@ -181,7 +196,8 @@ (define-public elisa
            ;; TODO: upnpqt https://gitlab.com/homeautomationqt/upnp-player-qt
            vlc))
     (arguments
-     `(#:phases
+     `(#:tests? #f ;; many tests fail
+       #:phases
        (modify-phases %standard-phases
          (add-before 'check 'start-xorg-server
            (lambda* (#:key inputs #:allow-other-keys)
@@ -209,19 +225,19 @@ (define-public elisa
 (define-public ffmpegthumbs
   (package
     (name "ffmpegthumbs")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/ffmpegthumbs-" version ".tar.xz"))
        (sha256
-        (base32 "17l50z33a1h5zkrrfkb261yi2hms66qj36l1mndq7mvs97y2ggmc"))))
+        (base32 "0x2gpx30azkz61p3xj1nm7hckyrmyh0qhs29ah30z6a5xw7336ws"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config))
     (inputs
-     (list ffmpeg kconfig ki18n kio qtbase-5))
+     (list ffmpeg kconfig ki18n kio taglib qtbase-5))
     (home-page "https://kde.org/applications/multimedia/org.kde.ffmpegthumbs")
     (synopsis "Video thumbnail generator for KDE using ffmpeg")
     (description "
@@ -235,14 +251,14 @@ (define-public ffmpegthumbs
 (define-public juk
   (package
     (name "juk")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/juk-" version ".tar.xz"))
        (sha256
-        (base32 "06vsh7knyhcbcbf632jhldbqpzfkdyils2l8dbcdw5nj5hhgzzmr"))))
+        (base32 "1ipzx031996h83f9w3fzbx5vf5nnskq9kf71a6aypqckk65vcqcs"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -290,7 +306,7 @@ (define-public juk
 (define-public kid3
   (package
     (name "kid3")
-    (version "3.9.0")
+    (version "3.9.1")
     (source
      (origin
        (method git-fetch)
@@ -299,7 +315,7 @@ (define-public kid3
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "02r3cnwr05mcxjawzip3jl1lfijvzfbbafq3saipjjjp4kiq9bk4"))))
+        (base32 "1rq0742rm3y5ps7878qd7xhhiizy6d6ls6hdjqa6z5sq077s5lz9"))))
     (build-system qt-build-system)
     (arguments
      (list
@@ -348,14 +364,14 @@ (define-public kid3
 (define-public k3b
   (package
     (name "k3b")
-    (version "20.04.2")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/k3b-" version ".tar.xz"))
        (sha256
-        (base32 "15wm987hz6rfs9ds9l1gbs6gdsardj1ywvk6zmpvj2i2190y4b3q"))))
+        (base32 "0igqb6zw76j2hl9xclcwfny2831phdg9s2msa1y87zyc3c7g9nxc"))))
     (build-system qt-build-system)
     (arguments
      `(#:phases
@@ -490,14 +506,14 @@ (define-public kaffeine
 (define-public kamoso
   (package
     (name "kamoso")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/kamoso-" version ".tar.xz"))
        (sha256
-        (base32 "0c47j315kjfikd3b6x18786k3gqymicjjslpm0a58zdxl3wpqfay"))))
+        (base32 "1q98f6ni4p19pk0svbfw4mbfwnc9i5p9csms2aj76mp2dn78xpib"))))
     (build-system qt-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -522,11 +538,7 @@ (define-public kamoso
            qtquickcontrols2 ; not listed as dependency
            qtx11extras))
     (arguments
-     (list #:tests? #f ; test program gets built, but is not found
-           #:configure-flags
-           #~(list (string-append "-DCMAKE_CXX_FLAGS=-I"
-                                  #$(this-package-input "gst-plugins-base")
-                                  "/include/gstreamer-1.0"))))
+     (list #:tests? #f)) ; test program gets built, but is not found
     (home-page "https://kde.org/applications/multimedia/org.kde.kamoso")
     (synopsis "Take pictures and videos out of your webcam")
     (description "Kamoso is a simple and friendly program to use your
@@ -537,14 +549,14 @@ (define-public kamoso
 (define-public kmix
   (package
     (name "kmix")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kmix-" version ".tar.xz"))
       (sha256
-       (base32 "1na52ypp57wqrc6pl1khinx9i6fidv1k97nnxcy8zb4l7d5sh1nd"))))
+       (base32 "1zk2xljis1pv3m4vs5zr6wza6iv5y6wmh1csx3rn8ylfkrpk7h8k"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config))
@@ -598,7 +610,8 @@ (define-public kmplayer
     (native-inputs
      (list extra-cmake-modules pkg-config kdoctools))
     (inputs
-     (list kconfig
+     (list kbookmarks
+           kconfig
            kcoreaddons
            kdelibs4support
            ki18n
@@ -648,14 +661,14 @@ (define-public kmplayer
 (define-public kwave
   (package
     (name "kwave")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                           "/src/kwave-" version ".tar.xz"))
        (sha256
-        (base32 "0ysa873pc2gip95cxr8yv7ifd9qql5zg6h67i9n9q3iqa6v58iyw"))))
+        (base32 "07xbbii5gpllbpmkxfv5kwxawd390zp0angh94xjk0yq71lvdav2"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules (librsvg-for-system) pkg-config kdoctools))
@@ -722,14 +735,14 @@ (define-public kwave
 (define-public libkcddb
   (package
     (name "libkcddb")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libkcddb-" version ".tar.xz"))
        (sha256
-        (base32 "1fwryaj8ldmsqhl5qxjda8by9i7xlb97r8p9rqzckw697hkfhs0h"))))
+        (base32 "14f1mzsfm0vyqzsyja0p8ln1105sw5dr6fssj25j0qw4rnf9yw32"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools))
@@ -752,14 +765,14 @@ (define-public libkcddb
 (define-public libkcompactdisc
   (package
     (name "libkcompactdisc")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/libkcompactdisc-" version ".tar.xz"))
        (sha256
-        (base32 "0iy4i0hxqsrnndd4iqkww7v1rqry7kvi5paxdw5qjfffwn8kcsbx"))))
+        (base32 "1vmaf3b41sj0sm4k9zdliy5ba4ps5z0cwabggfish152wzw34kgn"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 45da96a9c0..438119126e 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -1203,14 +1203,14 @@ (define-public kuserfeedback
   ;; FIXME: Check https://www.reddit.com/r/kde/comments/f7ojg9 for insights
   (package
     (name "kuserfeedback")
-    (version "1.0.0")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/kuserfeedback/"
                            "/kuserfeedback-" version ".tar.xz"))
        (sha256
-        (base32 "1dwx9fscnfp3zsxdir774skn8xvad2dvscnaaw3ji6mrnkmm6bss"))))
+        (base32 "0r7jcc88n5b4rc0asjzh7m7g33i35k3z99l08qkrn92kn4ickakn"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules
-- 
2.37.0

From 90c8cd25e4b93cc53ec218265c79ad481d767f3c Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 16:45:56 +0200
Subject: [PATCH v2 55/75] gnu: appstream: Move itstool to native-inputs.

* gnu/packages/freedesktop.scm (appstream): Move itstool to native-inputs.

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 4b81a1f5c0..6427a2b95e 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -175,11 +175,12 @@ (define-public appstream
            gobject-introspection
            gperf
            gtk-doc/stable
+           itstool
            pkg-config
            python-wrapper
            libxslt))
     (inputs
-     (list curl itstool libsoup-minimal-2 libstemmer libxmlb libxml2 libyaml lmdb))
+     (list curl libsoup-minimal-2 libstemmer libxmlb libxml2 libyaml lmdb))
     (propagated-inputs
      (list glib))
     (synopsis "Tools and libraries to work with AppStream metadata")
-- 
2.37.0

From d614a426322eaa40fab4762d40b88cdf006c30cc Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Tue, 28 Sep 2021 15:25:49 +1000
Subject: [PATCH v2 50/75] gnu: Add kdsoap.

* gnu/packages/qt.scm (kdsoap): New variable.

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 00abaf2fe1..15edccbe07 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3149,3 +3149,34 @@ (define-public libdbusmenu-qt
 protocol.  The DBusMenu protocol makes it possible for applications to export
 and import their menus over DBus.")
     (license license:lgpl2.1+)))
+
+(define-public kdsoap
+  (package
+    (name "kdsoap")
+    (version "2.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/KDAB/KDSoap/releases/download/"
+                           "kdsoap-" version "/kdsoap-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vh4rzb09kks1ilay1y60q7gf64gwzdwsca60hmx1xx69w8672fi"))))
+    (build-system qt-build-system)
+    (inputs `(("qtbase" ,qtbase-5)))
+    (arguments
+     '(#:configure-flags '("-DKDSoap_TESTS=true")
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "ctest" "-E" ;; These tests try connect to the internet.
+                       "(kdsoap-webcalls|kdsoap-webcalls_wsdl|kdsoap-test_calc)"))
+             #t)))))
+    (home-page "https://www.kdab.com/development-resources/qt-tools/kd-soap/")
+    (synopsis "Qt SOAP component")
+    (description "KD SOAP is a tool for creating client applications for web
+services using the XML based SOAP protocol and without the need for a dedicated
+web server.")
+    (license (list license:gpl2 license:gpl3))))
-- 
2.37.0

From 9fdcf1d7e3a637140eae41fa57831df32cd40882 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Sun, 6 Feb 2022 16:25:08 +1100
Subject: [PATCH v2 43/75] gnu: ktouch: Update to 21.12.2.

* gnu/packages/education.scm (ktouch): Update to 21.12.2.

diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 9e5a17a6ae..5551f9141b 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -643,14 +643,14 @@ (define-public klavaro
 (define-public ktouch
   (package
     (name "ktouch")
-    (version "20.12.1")
+    (version "21.12.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append "mirror://kde/stable/release-service/"
                             version "/src/ktouch-" version ".tar.xz"))
         (sha256
-         (base32 "10lm2p8w26c9n6lhvw3301myfss0dq7hl7rawzb3hsy1lqvmvdib"))))
+         (base32 "1rq2n8395sb17rqd295axv2pbwzhqs8ikjqx5ryn4lv1713alabl"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools pkg-config))
-- 
2.37.0

From f18d40d15c7fb7a601ca9072e1cd11b1dc272e1b Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Sun, 6 Feb 2022 18:32:30 +1100
Subject: [PATCH v2 48/75] gnu: khelpcenter: Fix program.

* gnu/packages/kde-systemtools.scm (khelpcenter): Wrap XDG_DATA_DIRS to
point to khtml where it can find the html4.css file, otherwise
khelpcenter fails to launch.

diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 90260c2630..c9b29ec907 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -160,7 +160,17 @@ (define-public khelpcenter
            qtbase-5
            xapian))
     (arguments
-     `(#:tests? #f)) ;; 1/1 test fails
+     `(#:tests? #f  ;; 1/1 test fails
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap-executable
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               ;; Since qt-wrap selectors do not wrap for /share/kf5
+               ;; directories, we need this so khelpcenter can find html4.css.
+               (wrap-program (string-append out "/bin/khelpcenter")
+                 `("XDG_DATA_DIRS" suffix
+                   (,(string-append (assoc-ref inputs "khtml") "/share"))))))))))
     (home-page "https://apps.kde.org/khelpcenter/")
     (synopsis "KDE documentation viewer")
     (description "KHelpCenter uses meta data files which describe the
-- 
2.37.0

From 188108d746e0c31992ec5867359cea20d97930b4 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Sat, 5 Mar 2022 11:46:47 +1100
Subject: [PATCH v2 60/75] ! gnu: Add libaccounts-qt.

* gnu/packages/qt.scm (libaccounts-qt): New variable.

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 406e6dc984..c5aef0a8e8 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3236,3 +3236,43 @@ (define-public libaccounts-glib
 handles the authentication process of an account and securely stores the
 credentials and service-specific settings.")
     (license license:lgpl2.1+)))
+
+(define-public libaccounts-qt
+  (package
+    (name "libaccounts-qt")
+    (version "1.16")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/accounts-sso/libaccounts-qt")
+                    (commit (string-append "VERSION_" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vmpjvysm0ld8dqnx8msa15hlhrkny02cqycsh4k2azrnijg0xjz"))))
+    (build-system gnu-build-system)
+    (native-inputs (list doxygen pkg-config qtbase-5 strace qttools))
+    (inputs (list glib
+                  libaccounts-glib))
+    (arguments
+     (list
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          ;(delete 'configure)
+          (replace 'configure
+            (lambda _ (invoke "qmake")))
+          ;; (replace 'build
+          ;;   (lambda _
+          ;;     (with-directory-excursion "Accounts"
+          ;;         (invoke "strace" "qmake" "-o" "Makefile" "Accounts.pro")
+          ;;         (system "make" "-f" "Makefile"))
+          ;;     ;; (invoke ;"strace"
+          ;;     ;;         "make")
+          ;;     ))
+          )))
+    (home-page "https://accounts-sso.gitlab.io/")
+    (synopsis "Qt5 bindings for libaccounts-glib")
+    (description (package-description libaccounts-glib))
+    ; * SignOnQt5 (required version >= 8.55), D-Bus service which performs user authentication on behalf of its clients, <https://gitlab.com/accounts-sso/signond>
+    (license license:lgpl2.1+)))
-- 
2.37.0

From d029567fae7be07f98a75a3e8f9ccf22c49aff8a Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 25 Mar 2022 11:36:00 +0100
Subject: [PATCH v2 69/75] ! gnu: Add plasma-mobile.

* gnu/packages/kde-plasma.scm (plasma-mobile): New variable.

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index b6981d1724..27be62d14e 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -30,6 +30,7 @@ (define-module (gnu packages kde-plasma)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system qt)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
@@ -582,6 +583,46 @@ (define-public kwin
                    license:lgpl2.1
                    license:lgpl3))))
 
+(define-public plasma-mobile
+  (package
+    (name "plasma-mobile")
+    (version "5.24.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://download.kde.org/stable/plasma/"
+                                  version "/plasma-mobile-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1bwmy7xvd8wmh0snqqjh9jjgawib8ks2g30w48sqxwhplhf3da58"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'install 'wrap-script
+                          (lambda* (#:key inputs outputs #:allow-other-keys)
+                            (wrap-program (string-append #$output
+                                                         "/bin/kwinwrapper")
+                                          `("PATH" ":" prefix
+                                            (,(string-append #$plasma-framework
+                                                             "/bin")))))))))
+    (native-inputs (list extra-cmake-modules pkg-config qttools))
+    (inputs (list bash-minimal
+                  kdeclarative
+                  ki18n
+                  kio
+                  knotifications
+                  kwayland
+                  kwin
+                  modemmanager-qt
+                  networkmanager-qt
+                  plasma-framework
+                  qtbase-5))
+    (home-page "https://plasma-mobile.org/")
+    (synopsis
+     "General UI components for Plasma Phone including shell, containment and applets")
+    (description "This package provides user-friendly, privacy-enabling and
+customizable platform for mobile devices.")
+    (license (list license:gpl3+ license:lgpl2.1+))))
+
 (define-public plasma-phone-components
   (package
     (name "plasma-phone-components")
-- 
2.37.0

From 98aefcec542b571632d3ed57ac7b06ad3b09ec55 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Thu, 21 Jul 2022 08:26:59 +0200
Subject: [PATCH v2 19/75] gnu: libgravatar: Remove input labels.

* gnu/packages/kde-pim.scm (libgravatar): Remove input labels.

diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index 5da25bfad8..0fa120e075 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -1653,16 +1653,14 @@ (define-public libgravatar
        (sha256
         (base32 "0981ci2kr20v4fk11h57rqya0brgslfazpgq1yk5yqiwyqqm49r2"))))
     (build-system qt-build-system)
-    (native-inputs
-     `(("extra-cmake-modules" ,extra-cmake-modules)))
-    (inputs
-     `(("kconfig" ,kconfig)
-       ("ki18n" ,ki18n)
-       ("kio" ,kio)
-       ("kpimcommon" ,kpimcommon)
-       ("ktextwidgets" ,ktextwidgets)
-       ("kwidgetsaddons" ,kwidgetsaddons)
-       ("qtbase" ,qtbase-5)))
+    (native-inputs (list extra-cmake-modules))
+    (inputs (list kconfig
+                  ki18n
+                  kio
+                  kpimcommon
+                  ktextwidgets
+                  kwidgetsaddons
+                  qtbase-5))
     (arguments
      `(#:tests? #f)) ;; 2/7 tests fail (due to network issues?)
     (home-page "https://invent.kde.org/pim/libgravatar")
-- 
2.37.0

From 1ddc5cb5e88b952764cbf5550d08055c43cb4a48 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 26 Jul 2022 12:15:41 +0200
Subject: [PATCH v2 40/75] gnu: KDE Multimedia: Add bash-minimal and kdoctools.

* gnu/packages/kde-multimedia.scm (juk, kmix): Move kdoctools from inputs to
 native-inputs.

 (dragon, k3b): [inputs]: Add bash-minimal.

diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 7a082b127a..f4f7852677 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -108,7 +108,8 @@ (define-public dragon
     (native-inputs
      (list extra-cmake-modules kdoctools))
     (inputs
-     (list kconfig
+     (list bash-minimal
+           kconfig
            kconfigwidgets
            kcoreaddons
            kcrash
@@ -262,14 +263,13 @@ (define-public juk
         (base32 "1ipzx031996h83f9w3fzbx5vf5nnskq9kf71a6aypqckk65vcqcs"))))
     (build-system qt-build-system)
     (native-inputs
-     (list extra-cmake-modules))
+     (list extra-cmake-modules kdoctools))
     (inputs
      (list kcoreaddons
            kcompletion
            kconfig
            kcrash
            kdbusaddons
-           kdoctools
            kglobalaccel
            ki18n
            kiconthemes
@@ -402,7 +402,8 @@ (define-public k3b
     (native-inputs
      (list extra-cmake-modules pkg-config kdoctools))
     (inputs
-     (list cdrdao
+     (list bash-minimal
+           cdrdao
            dvd+rw-tools
            ffmpeg
            flac
@@ -560,7 +561,7 @@ (define-public kmix
        (base32 "1zk2xljis1pv3m4vs5zr6wza6iv5y6wmh1csx3rn8ylfkrpk7h8k"))))
     (build-system qt-build-system)
     (native-inputs
-     (list extra-cmake-modules pkg-config))
+     (list extra-cmake-modules kdoctools pkg-config))
     (inputs
      (list alsa-lib
            glib
@@ -570,7 +571,6 @@ (define-public kmix
            kconfigwidgets
            kcrash
            kdbusaddons
-           kdoctools
            kglobalaccel
            ki18n
            kiconthemes
-- 
2.37.0

From d390b44976a1cec740662fea9e71f1d78522e5ab Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Mon, 25 Jul 2022 11:18:27 +0200
Subject: [PATCH v2 07/75] gnu: plasma-framework: Remove input labels.

    * gnu/packages/kde-frameworks.scm (plasma-framework): Remove input
    labels.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index ee6f4a58dc..fee4827dea 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -3280,41 +3280,40 @@ (define-public plasma-framework
      (list kpackage kservice))
     (native-inputs
      (list extra-cmake-modules kdoctools pkg-config))
-    (inputs
-     `(("kactivities" ,kactivities)
-       ("karchive" ,karchive)
-       ("kauth" ,kauth)
-       ("kbookmarks" ,kbookmarks)
-       ("kcodecs" ,kcodecs)
-       ("kcompletion" ,kcompletion)
-       ("kconfig" ,kconfig)
-       ("kconfigwidgets" ,kconfigwidgets)
-       ("kcoreaddons" ,kcoreaddons)
-       ("kdbusaddons" ,kdbusaddons)
-       ("kdeclarative" ,kdeclarative)
-       ("kdoctools" ,kdoctools)
-       ("kglobalaccel" ,kglobalaccel)
-       ("kguiaddons" ,kguiaddons)
-       ("kiconthemes" ,kiconthemes)
-       ("kirigami" ,kirigami)
-       ("kitemviews" ,kitemviews)
-       ("kio" ,kio)
-       ("ki18n" ,ki18n)
-       ("kjobwidgets" ,kjobwidgets)
-       ("knotifications" ,knotifications)
-       ("kwayland" ,kwayland)
-       ("kwidgetsaddons" ,kwidgetsaddons)
-       ("kwindowsystem" ,kwindowsystem)
-       ("kxmlgui" ,kxmlgui)
-       ;; XXX: "undefined reference to `glGetString'" errors occur without libglvnd,
-       ("libglvnd" ,libglvnd)
-       ("phonon" ,phonon)
-       ("qtbase" ,qtbase-5)
-       ("qtdeclarative" ,qtdeclarative)
-       ("qtquickcontrols2" ,qtquickcontrols2)
-       ("qtsvg" ,qtsvg)
-       ("qtx11extras" ,qtx11extras)
-       ("solid" ,solid)))
+    (inputs (list kactivities
+                  karchive
+                  kauth
+                  kbookmarks
+                  kcodecs
+                  kcompletion
+                  kconfig
+                  kconfigwidgets
+                  kcoreaddons
+                  kdbusaddons
+                  kdeclarative
+                  kdoctools
+                  kglobalaccel
+                  kguiaddons
+                  kiconthemes
+                  kirigami
+                  kitemviews
+                  kio
+                  ki18n
+                  kjobwidgets
+                  knotifications
+                  kwayland
+                  kwidgetsaddons
+                  kwindowsystem
+                  kxmlgui
+                  ;; XXX: "undefined reference to `glGetString'" errors occur without libglvnd,
+                  libglvnd
+                  phonon
+                  qtbase-5
+                  qtdeclarative
+                  qtquickcontrols2
+                  qtsvg
+                  qtx11extras
+                  solid))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-- 
2.37.0

From 41e1c620267754546d168a833712609e2316e9df Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Tue, 21 Jun 2022 04:56:08 +0200
Subject: [PATCH v2 20/75] gnu: grantleetheme: Update to 21.12.3.

* gnu/packages/kde.scm (grantleetheme): Update to 21.12.3.
* gnu/local.mk: Remove patch.
* gnu/packages/patches/grantlee-merge-theme-dirs.patch: Remove file.

diff --git a/gnu/local.mk b/gnu/local.mk
index 500f1be1ff..942d702428 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1220,7 +1220,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/gpm-glibc-2.26.patch			\
   %D%/packages/patches/gpodder-disable-updater.patch		\
   %D%/packages/patches/gpsbabel-fix-i686-test.patch		\
-  %D%/packages/patches/grantlee-merge-theme-dirs.patch		\
   %D%/packages/patches/grep-timing-sensitive-test.patch		\
   %D%/packages/patches/grfcodec-gcc-compat.patch		\
   %D%/packages/patches/gromacs-tinyxml2.patch			\
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index b56b63e784..ea372f7460 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -124,15 +124,14 @@ (define-public baloo-widgets
 (define-public grantleetheme
   (package
     (name "grantleetheme")
-    (version "20.04.1")
+    (version "21.12.3")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://kde/stable/release-service/" version
                            "/src/grantleetheme-" version ".tar.xz"))
        (sha256
-        (base32 "0gabc5cb0sf00s7m5v2jnq55qsrdbrq6nqd15y1i15p788zifsjx"))
-       (patches (search-patches "grantlee-merge-theme-dirs.patch"))))
+        (base32 "1w83slbkj2y1wk78srq2k95ybs66sb4mbaa0zm7fl9pkwhqxbnb7"))))
     (build-system qt-build-system)
     (arguments `(#:tests? #f))  ; unexpected error in the test suite.
     (native-inputs
diff --git a/gnu/packages/patches/grantlee-merge-theme-dirs.patch b/gnu/packages/patches/grantlee-merge-theme-dirs.patch
deleted file mode 100644
index 96a15a387b..0000000000
--- a/gnu/packages/patches/grantlee-merge-theme-dirs.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-Taken from nixpkgs, see
-grantleetheme: merge themes across multiple prefixes
-<https://github.com/NixOS/nixpkgs/commits/master/pkgs/applications/kde/grantleetheme/grantlee-merge-theme-dirs.patch>
-
-
-diff --git a/src/grantleetheme.cpp b/src/grantleetheme.cpp
-index 27d5bc8..8d43140 100644
---- a/src/grantleetheme.cpp
-+++ b/src/grantleetheme.cpp
-@@ -46,7 +46,7 @@ ThemePrivate::ThemePrivate(const ThemePrivate &other)
-     , description(other.description)
-     , name(other.name)
-     , dirName(other.dirName)
--    , absolutePath(other.absolutePath)
-+    , absolutePaths(other.absolutePaths)
-     , author(other.author)
-     , email(other.email)
-     , loader(other.loader)
-@@ -64,12 +64,15 @@ void ThemePrivate::setupEngine()
- 
- void ThemePrivate::setupLoader()
- {
--    // Get the parent dir with themes, we set the theme directory separately
--    QDir dir(absolutePath);
--    dir.cdUp();
-+    QStringList templateDirs;
-+    for (const QString& path : absolutePaths) {
-+        QDir dir(path);
-+        dir.cdUp();
-+        templateDirs << dir.absolutePath();
-+    }
- 
-     loader = QSharedPointer<GrantleeTheme::QtResourceTemplateLoader>::create();
--    loader->setTemplateDirs({ dir.absolutePath() });
-+    loader->setTemplateDirs(templateDirs);
-     loader->setTheme(dirName);
- 
-     if (!sEngine) {
-@@ -121,7 +124,7 @@ Theme::Theme(const QString &themePath, const QString &dirName, const QString &de
-     KConfigGroup group(&config, QStringLiteral("Desktop Entry"));
-     if (group.isValid()) {
-         d->dirName = dirName;
--        d->absolutePath = themePath;
-+        d->absolutePaths = QStringList(themePath);
-         d->name = group.readEntry("Name", QString());
-         d->description = group.readEntry("Description", QString());
-         d->themeFileName = group.readEntry("FileName", QString());
-@@ -140,7 +143,7 @@ Theme::~Theme()
- 
- bool Theme::operator==(const Theme &other) const
- {
--    return isValid() && other.isValid() && d->absolutePath == other.absolutePath();
-+    return isValid() && other.isValid() && d->absolutePaths == other.absolutePaths();
- }
- 
- Theme &Theme::operator=(const Theme &other)
-@@ -184,7 +187,15 @@ QString Theme::dirName() const
- 
- QString Theme::absolutePath() const
- {
--    return d->absolutePath;
-+    if (! d->absolutePaths.isEmpty()) {
-+      return d->absolutePaths.first();
-+    };
-+    return QString();
-+}
-+
-+QStringList Theme::absolutePaths() const
-+{
-+    return d->absolutePaths;
- }
- 
- QString Theme::author() const
-@@ -223,6 +231,13 @@ QString Theme::render(const QString &templateName, const QVariantHash &data, con
-     return result;
- }
- 
-+void Theme::addThemeDir(const QString& path)
-+{
-+    QDir dir(path);
-+    dir.cdUp();
-+    d->absolutePaths << dir.absolutePath();
-+}
-+
- void Theme::addPluginPath(const QString &path)
- {
-     if (!ThemePrivate::sEngine) {
-diff --git a/src/grantleetheme.h b/src/grantleetheme.h
-index a25c27b..be38299 100644
---- a/src/grantleetheme.h
-+++ b/src/grantleetheme.h
-@@ -48,11 +48,14 @@ public:
-     Q_REQUIRED_RESULT QStringList displayExtraVariables() const;
-     Q_REQUIRED_RESULT QString dirName() const;
-     Q_REQUIRED_RESULT QString absolutePath() const;
-+    Q_REQUIRED_RESULT QStringList absolutePaths() const;
-     Q_REQUIRED_RESULT QString author() const;
-     Q_REQUIRED_RESULT QString authorEmail() const;
- 
-     Q_REQUIRED_RESULT QString render(const QString &templateName, const QVariantHash &data, const QByteArray &applicationDomain = QByteArray());
- 
-+    void addThemeDir(const QString&);
-+
-     static void addPluginPath(const QString &path);
- 
- private:
-diff --git a/src/grantleetheme_p.h b/src/grantleetheme_p.h
-index eb73dcb..00510e9 100644
---- a/src/grantleetheme_p.h
-+++ b/src/grantleetheme_p.h
-@@ -43,7 +43,7 @@ public:
-     QString description;
-     QString name;
-     QString dirName;
--    QString absolutePath;
-+    QStringList absolutePaths;
-     QString author;
-     QString email;
- 
-diff --git a/src/grantleethememanager.cpp b/src/grantleethememanager.cpp
-index 606d717..dc99041 100644
---- a/src/grantleethememanager.cpp
-+++ b/src/grantleethememanager.cpp
-@@ -125,25 +125,18 @@ public:
- 
-         for (const QString &directory : qAsConst(themesDirectories)) {
-             QDirIterator dirIt(directory, QStringList(), QDir::AllDirs | QDir::NoDotAndDotDot);
--            QStringList alreadyLoadedThemeName;
-             while (dirIt.hasNext()) {
-                 dirIt.next();
-                 const QString dirName = dirIt.fileName();
-                 GrantleeTheme::Theme theme = q->loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName);
-                 if (theme.isValid()) {
-                     QString themeName = theme.name();
--                    if (alreadyLoadedThemeName.contains(themeName)) {
--                        int i = 2;
--                        const QString originalName(theme.name());
--                        while (alreadyLoadedThemeName.contains(themeName)) {
--                            themeName = originalName + QStringLiteral(" (%1)").arg(i);
--                            ++i;
--                        }
--                        theme.d->name = themeName;
-+                    QMap<QString, GrantleeTheme::Theme>::iterator i = themes.find(dirName);
-+                    if (i != themes.end()) {
-+                        i.value().addThemeDir(dirIt.filePath());
-+                    } else {
-+                        themes.insert(dirName, theme);
-                     }
--                    alreadyLoadedThemeName << themeName;
--                    themes.insert(dirName, theme);
--                    //qDebug()<<" theme.name()"<<theme.name();
-                 }
-             }
-             watch->addDir(directory);
-@@ -366,7 +359,7 @@ QString ThemeManager::pathFromThemes(const QString &themesRelativePath, const QS
-                 GrantleeTheme::Theme theme = loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName);
-                 if (theme.isValid()) {
-                     if (dirName == themeName) {
--                        return theme.absolutePath();
-+                        return theme.absolutePaths().first();
-                     }
-                 }
-             }
-- 
2.37.0

From af4a59efaf1a870fde8da81dfba81ccaf60281b4 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 25 Mar 2022 11:38:20 +0100
Subject: [PATCH v2 71/75] gnu: Add maliit-framework.

* gnu/pacakges/kde-frameworks.scm (maliit-framework): New variable.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 77c93e7a6a..47fc170133 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -33,6 +33,7 @@ (define-module (gnu packages kde-frameworks)
   #:use-module (guix build-system qt)
   #:use-module (guix build-system trivial)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
@@ -50,6 +51,7 @@ (define-module (gnu packages kde-frameworks)
   #:use-module (gnu packages calendar)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freedesktop)
@@ -86,6 +88,7 @@ (define-module (gnu packages kde-frameworks)
   #:use-module (gnu packages video)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (srfi srfi-1))
 
@@ -1168,6 +1171,41 @@ (define-public kwindowsystem
     ;; the lgpl2.1. Some source files are under non-copyleft licenses.
     (license license:lgpl2.1+)))
 
+(define-public maliit-framework
+  (package
+    (name "maliit-framework")
+    (version "2.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/maliit/framework")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1dkjxvfxg56hfy70j6ibfklfyv57jiha4vgc3ggl60r5kjx65s5b"))))
+    (build-system cmake-build-system)
+    (native-inputs (list extra-cmake-modules
+                         wayland-protocols
+                         pkg-config
+                         doxygen
+                         graphviz
+                         `(,glib "bin"))) ;for gdbus-codegen))
+    (inputs (list qtbase-5
+                  qtdeclarative
+                  qtwayland
+                  wayland
+                  libxkbcommon
+                  dbus
+                  eudev
+                  glib))
+    ;; ki18n plasma-framework knotifications networkmanager-qt kwin))
+    (home-page "https://github.com/maliit/framework")
+    (synopsis "Core libraries of Maliit")
+    (description "This package provides Maliit provides a flexible input
+method framework.")
+    (license license:lgpl2.1)))
+
 (define-public modemmanager-qt
   (package
     (name "modemmanager-qt")
-- 
2.37.0

From 712e23fd01825e334437b1282739e380499fb0c7 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 8 Apr 2022 13:24:20 +0200
Subject: [PATCH v2 75/75] gnu: Add plasma-phonebook.

* gnu/packages/kde-plasma.scm (plasma-phonebook): New variable.

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 86d241498f..54ee310f8e 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -700,6 +700,35 @@ (define-public plasma-phone-components
 and customizable platform for mobile devices.")
     (license (list license:gpl3+ license:lgpl2.1+))))
 
+(define-public plasma-phonebook
+  (package
+    (name "plasma-phonebook")
+    (version "0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://kde/stable/plasma-phonebook/"
+                                  version "/plasma-phonebook-" version
+                                  ".tar.xz"))
+              (sha256
+               (base32
+                "13nnzdzpganlp319sc9dm9w5hsjhw4f3w8rb80q3nd8q6nyrpky8"))))
+    (build-system cmake-build-system)
+    (native-inputs (list extra-cmake-modules pkg-config))
+    (inputs (list kpeoplevcard
+                  kirigami
+                  kpeople
+                  kcoreaddons
+                  kcontacts
+                  qtbase-5
+                  qtdeclarative
+                  qtquickcontrols2
+                  qtsvg))
+    (home-page "https://plasma-mobile.org/")
+    (synopsis "Phonebook for Plasma Mobile devices")
+    (description "This package provides contacts application which allows
+adding, modifying and removing contacts.")
+    (license (list license:gpl3+ license:lgpl2.1+))))
+
 (define-public plasma-mobile-sounds
   (package
     (name "plasma-mobile-sounds")
-- 
2.37.0

From 50c774cd7fd03f3f189d58c87e93aad1749efa94 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Mon, 11 Oct 2021 18:12:57 +1100
Subject: [PATCH v2 54/75] gnu: appstream: Update to 0.15.2.

* gnu/packages/freedesktop.scm (appstream): Update to 0.15.2.
[arguments]: Use gexp's with new input format.
Tests still broken so disable.
[inputs]: Add new inputs curl, libxmlb.
[native-inputs]: Use cmake-minimal, same as cmake-build-system, to avoid
building another cmake. Add itstool.

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 925b1fb5f4..4b81a1f5c0 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -72,6 +72,7 @@ (define-module (gnu packages freedesktop)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cryptsetup)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages disk)
   #:use-module (gnu packages docbook)
@@ -124,7 +125,7 @@ (define-module (gnu packages freedesktop)
 (define-public appstream
   (package
     (name "appstream")
-    (version "0.13.1")
+    (version "0.15.2")
     (source
      (origin
        (method url-fetch)
@@ -133,69 +134,52 @@ (define-public appstream
                        "appstream/releases/"
                        "AppStream-" version ".tar.xz"))
        (sha256
-        (base32 "09l6ixz1w29pi0nb0flz14m4r3f2hpqpp1fq8y66v9xa4c9fczds"))))
+        (base32 "0jn7x48fzyfdvch7j2zbrgbxjk22s77scihpy9drzif7i391qv4g"))))
     (build-system meson-build-system)
     (arguments
-     `(#:glib-or-gtk? #t
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-libstemmer
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "meson.build"
-               (("/usr/include")
-                (string-append (assoc-ref inputs "libstemmer")
-                               "/include")))
-             #t))
-         (add-after 'patch-libstemmer 'patch-docbook-xml
-           (lambda* (#:key inputs #:allow-other-keys)
-             (with-directory-excursion "docs/api"
-               (substitute* "appstream-docs.xml"
-                 (("http://www.oasis-open.org/docbook/xml/4.3/")
-                  (string-append (assoc-ref inputs "docbook-xml-4.3")
-                                 "/xml/dtd/docbook/"))))
-             (for-each (lambda (file)
-                         (substitute* file
-                           (("http://www.oasis-open.org/docbook/xml/4.5/")
-                            (string-append (assoc-ref inputs "docbook-xml")
-                                           "/xml/dtd/docbook/"))))
-                       (find-files "scripts/desc" "\\.xml$"))
-             #t))
-         (add-after 'patch-docbook-xml 'disable-failing-tests
-           (lambda _
-             (substitute* "tests/test-pool.c"
-               (("[ \t]*g_test_add_func \\(\"/AppStream/PoolRead?.*;")
-                "")
-               (("[ \t]*g_test_add_func \\(\"/AppStream/PoolReadAsync?.*;")
-                "")
-               (("[ \t]*g_test_add_func \\(\"/AppStream/PoolEmpty?.*;")
-                "")
-               (("[ \t]*g_test_add_func \\(\"/AppStream/Cache?.*;")
-                "")
-               (("[ \t]*g_test_add_func \\(\"/AppStream/Merges?.*;")
-                ""))
-             #t))
-         (add-after 'disable-failing-tests 'patch-install-dir
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "data/meson.build"
-               (("/etc")
-                (string-append (assoc-ref outputs "out")
-                               "/etc")))
-             #t)))))
+     (list
+      #:configure-flags ''()
+      #:glib-or-gtk? #t
+      #:tests? #f ;; FIXME: Tests fail.
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-libstemmer
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "meson.build"
+                (("/usr/include")
+                 (string-append #$(this-package-input "libstemmer") "/include")))
+              #t))
+          (add-after 'patch-libstemmer 'patch-docbook-xml
+            (lambda* (#:key inputs #:allow-other-keys)
+              (with-directory-excursion "docs/api"
+                (substitute* "appstream-docs.xml"
+                  (("http://www.oasis-open.org/docbook/xml/4.3/")
+                   (string-append #$docbook-xml-4.3 "/xml/dtd/docbook/"))))
+              (for-each
+               (lambda (file)
+                 (substitute* file
+                   (("http://www.oasis-open.org/docbook/xml/4.5/")
+                    (string-append #$docbook-xml "/xml/dtd/docbook/"))))
+               (find-files "scripts/desc" "\\.xml$"))
+              #t))
+          (add-before 'check 'check-setup
+            (lambda _
+              (setenv "HOME" (getcwd)))))))
     (native-inputs
-     `(("cmake" ,cmake)
-       ("docbook-xml-4.3" ,docbook-xml-4.3)
-       ("docbook-xml" ,docbook-xml)
-       ("docbook-xsl" ,docbook-xsl)
-       ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("gperf" ,gperf)
-       ("gtk-doc" ,gtk-doc/stable)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)
-       ("xsltproc" ,libxslt)))
+     (list cmake-minimal ;; or cmake?
+           docbook-xml-4.3
+           docbook-xml
+           docbook-xsl
+           gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           gperf
+           gtk-doc/stable
+           pkg-config
+           python-wrapper
+           libxslt))
     (inputs
-     (list libsoup-minimal-2 libstemmer libxml2 libyaml lmdb))
+     (list curl itstool libsoup-minimal-2 libstemmer libxmlb libxml2 libyaml lmdb))
     (propagated-inputs
      (list glib))
     (synopsis "Tools and libraries to work with AppStream metadata")
-- 
2.37.0

From 4693ad63c89bc203c5b998c32ff9f6db57216bfc Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Tue, 8 Feb 2022 17:36:22 +1100
Subject: [PATCH v2 56/75] gnu: appstream-qt: Add package variant.

* gnu/packages/freedesktop.scm (appstream-qt): Add a build of appstream
with Qt support.

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 6427a2b95e..b69a078d35 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -197,6 +197,20 @@ (define-public appstream
     ;;      there are also some (irrelevant) wtfpl2 examples
     (license (list license:gpl2+ license:lgpl2.1+))))
 
+(define-public appstream-qt
+  (package/inherit appstream
+    (name "appstream-qt")
+    (native-inputs
+     (cons (list "qttools" qttools)
+           (package-native-inputs appstream)))
+    (inputs
+     (cons (list "qtbase" qtbase-5)
+           (package-inputs appstream)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments appstream)
+       ((#:configure-flags flags)
+        '(list "-Dqt=true"))))))
+
 (define-public farstream
   (package
     (name "farstream")
-- 
2.37.0

From 9c03ffaae8c4c0627c4eb7d9b6f06c7c8590e6c3 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Sat, 5 Mar 2022 11:46:20 +1100
Subject: [PATCH v2 61/75] ! gnu: Add kaccounts-integration.

* gnu/packages/kde.scm (kaccounts-integration): New variable.

diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 03343e2774..a786cb5b60 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -1237,3 +1237,39 @@ (define-public kuserfeedback
 @item A management and analytics application.
 @end itemize")
     (license license:expat)))
+
+
+(define-public kaccounts-integration
+  (package
+    (name "kaccounts-integration")
+    (version "21.12.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/" name "-" version ".tar.xz"))
+       (sha256
+        (base32 "13q4d7ln98vdpb6ryk49zakx5bysdnjxifi7cma10fgk9gcqqhpb"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules))
+    (inputs
+     (list kcmutils
+           kcoreaddons
+           kdbusaddons
+           kdeclarative
+           ki18n
+           kio
+           kwallet
+           libaccounts-qt
+           qtbase-5))
+    (home-page "https://invent.kde.org/network/kaccounts-integration")
+    (synopsis "Online account management system and Plasma Integration")
+    (description "KAccounts Integration provides a way to share accounts data
+such as login tokens and general user information (like usernames and such)
+between various applications.
+
+The KAccounts library is a KDE Frameworks style abstraction layer on top of
+the Accounts-SSO and SignOnD libraries, which uses a combination of models and
+jobs to expose the functionality of those.")
+    (license (list license:gpl2+ license:gpl3+ license:lgpl2.0+))))
-- 
2.37.0

From 4fe06de9ca8a2608c1567206610e4bf627117667 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Sun, 3 Oct 2021 13:42:31 +1100
Subject: [PATCH v2 52/75] gnu: Add kwayland-server.

* gnu/packages/kde-plasma.scm (kwayland-server): New variable.

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 7ebc08b965..f582c8529c 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -335,3 +335,51 @@ (define-public libksysguard
 with a ksysguardd daemon, which may also run on a remote system.")
     (license license:gpl3+)))
 
+(define-public kwayland-server
+  (package
+    (name "kwayland-server")
+    (version "5.24.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/plasma/" version
+                    "/" name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1279nqhy1qyz84dkn23rvzak8bg71hbrp09jlhv9mkjdb3bhnyfi"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules pkg-config))
+    (inputs
+     (list plasma-wayland-protocols
+           qtbase-5
+           qtwayland
+           kwayland
+           wayland
+           wayland-protocols-next))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-install-path
+           (lambda _
+             ;; Fixes errors including nonexistant /include/KF5
+             (substitute* "src/server/CMakeLists.txt"
+               (("KF5_INSTALL") "KDE_INSTALL"))))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "HOME" (getcwd))
+               (setenv "XDG_RUNTIME_DIR" (getcwd))
+               (setenv "QT_QPA_PLATFORM" "offscreen")
+               (invoke "ctest" "-E" ;; Test fails inconsistently.
+                       "kwayland-testDragAndDrop"))
+             #t)))))
+    (home-page "https://api.kde.org/kwayland-server/html/index.html")
+    (synopsis "KDE wayland server component")
+    (description "KWayland is a Qt-style API to interact with the wayland-client and
+wayland-server API.")
+    (license (list license:lgpl2.1
+                   license:lgpl2.1+
+                   license:lgpl3
+                   license:expat
+                   license:bsd-3))))
-- 
2.37.0

From 9194ec610820b83ef78a9264d47251089d807afa Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Mon, 21 Feb 2022 21:03:44 +1100
Subject: [PATCH v2 51/75] !!DELETE gnu: Add wayland-protocols 1.26.

* gnu/packages/freedesktop.scm (wayland-protocols-next): New variable.

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 4d06235771..925b1fb5f4 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1051,6 +1051,21 @@ (define-public wayland-protocols
         . "https://wayland.freedesktop.org/releases.html")))
     (license license:expat)))
 
+;;; This is just a temporary package that should be deleted
+(define-public wayland-protocols-next
+  (package
+    (inherit wayland-protocols)
+    (name "wayland-protocols")
+    (version "1.26")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://wayland.freedesktop.org/releases/"
+                    "wayland-protocols-" version ".tar.xz"))
+              (sha256
+               (base32
+                "04vgllmpmrv14x3x64ns01vgwx4hriljayjkz9idgbv83i63hly5"))))))
+
 (define-public waylandpp
   (package
     (name "waylandpp")
-- 
2.37.0

From a70346d2535db4cfa14a2103a8e240c94fe4bec9 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 25 Mar 2022 12:24:36 +0100
Subject: [PATCH v2 68/75] gnu: modem-manager: Update to 1.18.6.

* gnu/packages/freedesktop.scm (modem-manager) Update to 1.18.6. Disable tests
  due failing tests.

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 9747a1da82..677ec52c04 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1527,7 +1527,7 @@ (define-public libqmi
 (define-public modem-manager
   (package
     (name "modem-manager")
-    (version "1.12.10")
+    (version "1.18.6")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1535,10 +1535,12 @@ (define-public modem-manager
                     "ModemManager-" version ".tar.xz"))
               (sha256
                (base32
-                "1apq9camys2gaw6y6ic1ld20cncfwpmxnzvh4j5zkbbjpf5hbcxj"))))
+                "02j7d8a6vb4df41vbaz93sx0rh4m43376j8xbyf2617m3jrh9y6l"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags
+     ; multiple tests fail
+     '(#:tests? #f
+       #:configure-flags
        `(,(string-append "--with-udev-base-dir=" %output "/lib/udev"))))
     (native-inputs
      `(("glib:bin" ,glib "bin") ; for glib-mkenums
-- 
2.37.0

From 481b385448f9e2cfa48c51ae98ae1b50b8fd3860 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 25 Mar 2022 11:38:50 +0100
Subject: [PATCH v2 72/75] gnu: Add maliit-keyboard.

* gnu/pacakges/kde-frameworks.scm (maliit-keyboard): New variable.

diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 47fc170133..47d300e7b5 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -53,6 +53,8 @@ (define-module (gnu packages kde-frameworks)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages docbook)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages fcitx)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
@@ -65,9 +67,11 @@ (define-module (gnu packages kde-frameworks)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages kerberos)
   #:use-module (gnu packages kde-plasma)
+  #:use-module (gnu packages language)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
@@ -1206,6 +1210,50 @@ (define-public maliit-framework
 method framework.")
     (license license:lgpl2.1)))
 
+(define-public maliit-keyboard
+  (package
+    (name "maliit-keyboard")
+    (version "2.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/maliit/keyboard")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0g89lckl4wzwamc89hs8871fbiyrsjwzk5b6ic4vhc4d1clyqzaw"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases (modify-phases %standard-phases
+                  (add-after 'install 'install-gschema
+                    (lambda* (#:key source outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out"))
+                             (schemas (string-append out
+                                       "/share/glib-2.0/schemas")))
+					  ;; TODO: No GSettings schemas
+                        (install-file (string-append source
+                                       "/data/schemas/org.maliit.keyboard.maliit.gschema.xml")
+                                      schemas)))))))
+    (native-inputs (list extra-cmake-modules gsettings-desktop-schemas pkg-config gettext-minimal
+                         `(,glib "bin")))
+    (inputs (list hunspell
+                  glib
+                  libchewing
+                  libpinyin
+                  maliit-framework
+                  presage
+                  qtbase-5
+                  qtdeclarative
+                  qtmultimedia
+                  qtquickcontrols2))
+    (home-page "https://github.com/maliit/keyboard")
+    (synopsis "Maliit Keyboard")
+    (description "This package provides virtual keyboard for Wayland and X11
+display servers.  It supports many different languages and emoji.")
+    (license license:gpl3+)))
+
 (define-public modemmanager-qt
   (package
     (name "modemmanager-qt")
-- 
2.37.0

From 95dd2157633987b92947c84cb6df4ff9e5850cab Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Mon, 21 Feb 2022 21:47:28 +1100
Subject: [PATCH v2 58/75] ! gnu: Add plasma-workspace.

* gnu/packages/kde-plasma.scm (plasma-workspace): New variable.

diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 1c9cb2c16a..08294acb6e 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -38,8 +38,12 @@ (define-module (gnu packages kde-plasma)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages iso-codes)
+  #:use-module (gnu packages kde)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages maths)
+  #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -576,3 +580,135 @@ (define-public kwin
                    license:lgpl2.0+
                    license:lgpl2.1
                    license:lgpl3))))
+
+(define-public plasma-workspace
+  (package
+    (name "plasma-workspace")
+    (version "5.24.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/plasma/" version
+                    "/" name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1d1a8k75q0rdbbwkx8p1i38hc6xv9kggvfm6973lh3q0pc75qk0h"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules
+           pkg-config
+           qtsvg
+           qttools))
+    (inputs
+     (list ;kplasma
+           ;kplasmaquick
+           ;packagekit-qt
+           appstream-qt
+           baloo
+           breeze
+           breeze-icons
+           fontconfig
+           iso-codes
+           kactivities
+           kactivities-stats
+           karchive
+           kcmutils
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           kdeclarative
+           kded
+           kdesu
+           kdoctools
+           kglobalaccel
+           kguiaddons
+           kholidays
+           ki18n
+           kiconthemes
+           kidletime
+           kinit
+           kio
+           kirigami
+           kitemmodels
+           knewstuff
+           knotifications
+           knotifyconfig
+           kpackage
+           kpeople
+           kqtquickcharts ;; XXX: not found?
+           krunner
+           kscreenlocker
+           ktexteditor
+           ktextwidgets
+           kunitconversion
+           kuserfeedback
+           kwallet
+           kwayland
+           kwin
+           layer-shell-qt
+           libkscreen
+           libksysguard
+           libqalculate gmp mpfr
+           libsm
+           libxft
+           libxkbcommon
+           libxrender
+           libxtst
+           networkmanager-qt
+           phonon
+           pipewire-0.3
+           plasma-wayland-protocols
+           prison
+           qtbase-5
+           qtdeclarative
+           qtwayland
+           qtx11extras
+           wayland
+           wayland-protocols-next
+
+           xcb-util
+           xcb-util-image))
+    ;;     -- The following RUNTIME packages have not been found:
+    ;;  * KF5QuickCharts (required version >= 5.89), Used for rendering charts
+    ;;  * KIOExtras, Common KIO slaves for operations.
+    ;;    Show thumbnails in wallpaper selection.
+    ;;  * KIOFuse, Provide KIO support to legacy applications.
+    ;;  * org.kde.prison-QMLModule, QML module 'org.kde.prison' is a runtime dependency.
+    ;;  * org.kde.plasma.core-QMLModule, QML module 'org.kde.plasma.core' is a runtime dependency.
+    ;;  * IsoCodes, ISO language, territory, currency, script codes and their translations, <https://salsa.debian.org/iso-codes-team/iso-codes>
+    ;;    Translation of country names in digital clock applet
+    ;;  * AppMenuGtkModule, Application Menu GTK+ Module, <https://github.com/rilian-la-te/vala-panel-appmenu/tree/master/subprojects/appmenu-gtk-module>
+    ;; -- The following OPTIONAL packages have not been found:
+    ;;  * PackageKitQt5, Software Manager integration
+    ;;    Used to install additional language packages on demand
+    ;; kf.package: Invalid metadata for package structure "Plasma/LookAndFeel"
+    ;; Package type "Plasma/LookAndFeel" not found
+    ;; TODO: startkde patch, xsetroot, xrdb, xmessage, ...
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-wallpaper
+                 (lambda _
+                   (substitute* "sddm-theme/theme.conf.cmake"
+                     (("background=..KDE_INSTALL_FULL_WALLPAPERDIR.")
+                      (string-append "background=" #$breeze "/share/wallpapers")))))
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (setenv "HOME" (getcwd))
+                     (setenv "XDG_RUNTIME_DIR" (getcwd))
+                     (setenv "XDG_CACHE_HOME" (getcwd))
+                     (setenv "QT_QPA_PLATFORM" "offscreen")
+                     ;; Disable failing tests for now.
+                     (invoke "ctest" "-E" "lookandfeel-kcmTest|locationsrunnertest|\
+tst_triangleFilter|systemtraymodeltest|testdesktop")))))))
+    (home-page "https://kde.org/plasma-desktop/")
+    (synopsis "Plasma for the Desktop")
+    (description "Plasma Desktop offers a beautiful looking desktop that takes
+complete advantage of modern computing technology. Through the use of visual
+effects and scalable graphics, the desktop experience is not only smooth but
+also pleasant to the eye. The looks of Plasma Desktop not only provide
+beauty, they are also used to support and improve your computer
+activities effectively, without being distracting.")
+    (license (list license:bsd-3 license:gpl2+ license:gpl3 license:lgpl2.1+
+license:lgpl3))))
-- 
2.37.0

From a05443e74e84b71e6704cd5d0687544facadd1e5 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Fri, 25 Mar 2022 12:23:30 +0100
Subject: [PATCH v2 67/75] gnu: libqmi: Update to 1.30.8.

* gnu/packages/freedesktop.scm (libqmi): Update to 1.30.8.

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 1dd72700ff..9747a1da82 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1497,7 +1497,7 @@ (define-public libmbim
 (define-public libqmi
   (package
     (name "libqmi")
-    (version "1.24.14")
+    (version "1.30.8")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1505,7 +1505,7 @@ (define-public libqmi
                     "libqmi-" version ".tar.xz"))
               (sha256
                (base32
-                "0zshxqbm9ldybgrzh7pjmwmfjvvvfd0xh8qhgl8xiqdb9ply73r0"))))
+                "140rmjw436rh6rqmnfw6yaflpffd27ilwcv4s9jvvl1skv784946"))))
     (build-system gnu-build-system)
     (inputs
      (list libgudev))
-- 
2.37.0

From 68ae38c7c11388ee916806f9d8ca03a92974d3c7 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Sun, 6 Feb 2022 16:31:03 +1100
Subject: [PATCH v2 44/75] gnu: Move KDE games to (gnu packages kde-games).

*  gnu/packages/games.scm:
(ktuberling picmi kolf libkmahjongg kmahjongg kshisen kajongg kbreakout
kmines konquest kbounce kblocks ksudoku klines kgoldrunner kdiamond
kfourinline kblackbox knetwalk bomber granatier ksirk palapeli kiriki
kigo kubrick lskat kapman kspaceduel bovo killbots ksnakeduel kollision
knavalbattle kreversi ksquares kjumpingcube):
Move to gnu/packages/kde-games.scm.
[define-module]: Remove (gnu packages kde), (gnu packages
kde-frameworks).

* gnu/packages/kde-games.scm: New module.
[header]: Copy over any copyrights I could find that affected these games.

Why? games.scm is very large, and will only get larger, so splitting it
helps. Also, it is convenient for singling out and updating KDE games.

diff --git a/gnu/local.mk b/gnu/local.mk
index 7c14f9dd95..3d328a7468 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -340,6 +340,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/kawa.scm				\
   %D%/packages/kde.scm				\
   %D%/packages/kde-frameworks.scm		\
+  %D%/packages/kde-games.scm		\
   %D%/packages/kde-internet.scm			\
   %D%/packages/kde-multimedia.scm		\
   %D%/packages/kde-pim.scm			\
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 713f9339b2..141dbb17bc 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -155,8 +155,6 @@ (define-module (gnu packages games)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages javascript)
-  #:use-module (gnu packages kde)
-  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages less)
   #:use-module (gnu packages lesstif)
   #:use-module (gnu packages libcanberra)
@@ -10260,1523 +10258,6 @@ (define-public q5go
    (home-page "https://github.com/bernds/q5Go")
    (license license:gpl2+)))
 
-(define-public ktuberling
-  (package
-    (name "ktuberling")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/ktuberling-" version ".tar.xz"))
-      (sha256
-       (base32 "0mlv9qllg70p26dbrcsr820c70d3ib88hapc1z6wgjhdpmc12ni1"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools perl))
-    (inputs
-     (list kcompletion
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kio
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           python-wrapper
-           qtbase-5
-           qtmultimedia
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Stamp drawing toy")
-    (description "KTuberling is a drawing toy intended for small children and
-adults who remain young at heart.  The game has no winner; the only purpose is
-to make the funniest faces you can.  Several activities are possible, e.g.:
-
-@itemize
-@item Give the potato a funny face, clothes, and other goodies
-@item Build a small town, complete with school, zoo, and fire department
-@item Create a fantastic moonscape with spaceships and aliens
-@item Top a pizza
-@end itemize
-
-KTuberling can speak the name of each the object in several languages,
-to assist in learning basic vocabulary.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public picmi
-  (package
-    (name "picmi")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/picmi-" version ".tar.xz"))
-      (sha256
-       (base32 "1dfq9m4njh0czz8zws46rkz6xq2n6xra5w223m3s2f5civiw5msz"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcoreaddons
-           kcrash
-           kdbusaddons
-           kdeclarative
-           ki18n
-           kio
-           knewstuff
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Number logic game")
-    (description "Picmi is a number logic game in which cells in a grid have
-to be colored or left blank according to numbers given at the side of the
-grid.  The aim is to reveal a hidden picture.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public kolf
-  (package
-    (name "kolf")
-    (version "20.12.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/kolf-" version ".tar.xz"))
-       (sha256
-        (base32 "1lpp6pzr5dgd4si4a8c7hcvgxgqy0bgyhkx9m6jqb0zhll6dxj10"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kio
-           kwidgetsaddons
-           kxmlgui
-           ktextwidgets
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Miniature golf game")
-    (description "Kolf is a miniature golf game for one to ten players.  The
-game is played from an overhead view, with a short bar representing the golf
-club.  Kolf features many different types of objects, such as water hazards,
-slopes, sand traps, and black holes (warps), among others.
-
-Features are:
-@itemize
-@item Single and Multi-player (up to ten players) modes
-@item High scores table
-@item Dynamic courses
-@item Third-party courses
-@item Course editor
-@end itemize
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
-
-(define-public libkmahjongg
-  (package
-    (name "libkmahjongg")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/"
-                          version "/src/libkmahjongg-" version ".tar.xz"))
-      (sha256
-       (base32 "10ljzbf7qki5flydankrbksaihhkqpfyljb8c71fbwqwmkr7rgfq"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules))
-    (inputs
-     (list kauth
-           kcompletion
-           ;("kconfig" ,kconfig)
-           kcodecs
-           kconfigwidgets
-           kcoreaddons
-           ki18n
-           kwidgetsaddons
-           qtbase-5
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Shared library for kmahjongg and kshisen")
-    (description "Shared library and common files for kmahjongg, kshisen and
-other Mah Jongg like games.")
-    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
-
-(define-public kmahjongg
-  (package
-    (name "kmahjongg")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/"
-                          version "/src/kmahjongg-" version ".tar.xz"))
-      (sha256
-       (base32 "1fcj4jb2zzbaxp7cp04w36y0c7lh77yzin66fmvrcxkl11xi2wwd"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kcrash
-           kdbusaddons
-           kdeclarative
-           ki18n
-           knewstuff
-           kxmlgui
-           libkdegames
-           libkmahjongg
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Tile laying patience")
-    (description "In KMahjongg the tiles are scrambled and staked on top of
-each other to resemble a certain shape.  The player is then expected to remove
-all the tiles off the game board by locating each tile's matching pair.
-
-A variety of tile layouts are included, as well as an editor to create new
-layouts.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
-
-(define-public kshisen
-  (package
-    (name "kshisen")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/"
-                          version "/src/kshisen-" version ".tar.xz"))
-      (sha256
-       (base32 "1hrwr0f1kidivsp8lnwdbqz3xxagjvjwh72r3gma8smfilybygfb"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules
-           ;("perl" ,perl)
-           ;("pkg-config" ,pkg-config)
-           kdoctools))
-    (inputs
-     (list kauth
-           kcompletion
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kxmlgui
-           libkdegames
-           libkmahjongg
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Shisen-Sho solitaire game")
-    (description "KShisen is a solitaire-like game played using the standard
-set of Mahjong tiles.  Unlike Mahjong however, KShisen has only one layer of
-scrambled tiles
-
-This package is part of the KDE games module.")
-    (license license:gpl2+)))
-
-(define-public kajongg
-  (package
-    (name "kajongg")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/"
-                          version "/src/kajongg-" version ".tar.xz"))
-      (sha256
-       (base32 "03fdbnx7zx7vgcxvwd1h1098ks9gq162bwz35fhpyzpynr667m5r"))))
-    (build-system qt-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-paths
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "src/mjresource.py"
-               (("'share', 'kmahjongglib'" all)
-                (string-append "'" (assoc-ref inputs "libkmahjongg")
-                               "/share', 'kmahjongglib'")))))
-         (add-after 'qt-wrap 'wrap
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (for-each (lambda (program)
-                           (wrap-program program
-                             `("GUIX_PYTHONPATH" ":" prefix
-                               (,(getenv "GUIX_PYTHONPATH")))))
-                         (list (string-append out "/bin/kajongg")
-                               (string-append out "/bin/kajonggserver")))))))))
-    (native-inputs
-     (list extra-cmake-modules
-           ;("perl" ,perl)
-           kdoctools))
-    (inputs
-     (list kconfig
-           kconfigwidgets
-           kcoreaddons
-           ki18n
-           libkmahjongg
-           python
-           python-twisted
-           python-pyqt
-           python-zope-interface
-           qtbase-5
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Classical Mah Jongg game for 4 players")
-    (description "Kajongg is the ancient Chinese board game for 4 players.
-
-If you are looking for the Mah Jongg solitaire please use the application
-kmahjongg.
-
-Kajongg can be used in two different ways: Scoring a manual game where you
-play as always and use Kajongg for the computation of scores and for
-bookkeeping.  Or you can use Kajongg to play against any combination of other
-human players or computer players.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public kbreakout
-  (package
-    (name "kbreakout")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/kbreakout-" version ".tar.xz"))
-      (sha256
-       (base32 "0kqj2cx0ny3qq65c6w5fpnzmrwl9irg8slzvpd3anck5cnvma3j4"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Breakout like game")
-    (description "KBreakout is similar to the classics breakout and xboing,
-featuring a number of added graphical enhancements and effects.  You control a
-paddle at the bottom of the playing-field, and must destroy bricks at the top
-by bouncing balls against them.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public kmines
-  (package
-    (name "kmines")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/kmines-" version ".tar.xz"))
-      (sha256
-       (base32 "0hqjwh3jq2npqwkvh67fyn2xnq8swiasdw5jz8f0ikl0k28id775"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           ktextwidgets
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Classical mine sweeper game")
-    (description "KMines is a classic Minesweeper game.  The idea is to
-uncover all the squares without blowing up any mines.  When a mine is blown
-up, the game is over.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public konquest
-  (package
-    (name "konquest")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/"
-                          version "/src/konquest-" version ".tar.xz"))
-      (sha256
-       (base32 "0lnwj06vv4qx05hr8pzysnvrxh8y04asajrph0rsj37v8hs9g5lh"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           kguiaddons
-           ki18n
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Simple turn-based strategy game")
-    (description "Konquest is the KDE version of Gnu-Lactic Konquest.  Players
-conquer other planets by sending ships to them.  The goal is to build an
-interstellar empire and ultimately conquer all other player's planets.  The
-game can be played with up to nine empires, commanded either by the computer
-or by puny earthlings.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public kbounce
-  (package
-    (name "kbounce")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/"
-                          version "/src/kbounce-" version ".tar.xz"))
-      (sha256
-       (base32 "0ymy0z1qlw3n653xs3dsa1xm78q4xaj09dnnci4km77rzis26vb6"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kio
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Jezzball arcade game")
-    (description "KBounce is a single player arcade game with the elements of
-puzzle.  It is played on a field, surrounded by wall, with two or more balls
-bouncing around within the walls.  The object of the game is to build new
-walls to decrease the size of the active field.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
-
-(define-public kblocks
-  (package
-    (name "kblocks")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/"
-                          version "/src/kblocks-" version ".tar.xz"))
-      (sha256
-       (base32 "09yfm9mzbamp294cvc5finq6ilxvxr68i0dnb0m72pa4sfzmij32"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Single player falling blocks puzzle game")
-    (description "KBlocks is the classic Tetris-like falling blocks game.
-
-The idea is to stack the falling blocks to create horizontal lines without any
-gaps.  When a line is completed it is removed, and more space is available in
-the play area.  When there is not enough space for blocks to fall, the game is
-over.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public ksudoku
-  (package
-    (name "ksudoku")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/"
-                          version "/src/ksudoku-" version ".tar.xz"))
-      (sha256
-       (base32 "0pj6ry7ak1rnpb93mqypaxrcbmrhwg9ir6zhb3ybzfkfcrh67g12"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list karchive
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kguiaddons
-           ki18n
-           kiconthemes
-           kio
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           glu
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Sudoku puzzle game and solver")
-    (description "KSudoku is a Sudoku game and solver, supporting a range of
-2D and 3D Sudoku variants.  In addition to playing Sudoku, it can print Sudoku
-puzzle sheets and find the solution to any Sudoku puzzle.
-
-The word Sudoku means \"single number in an allotted place\" in Japanese.
-These are the basic rules: Every Sudoku is a square divided into 3x3
-subsquares with 3x3 cells each.
-
-Some cells are filled with a number at the beginning.  The remaining ones are
-to be filled by the player using numbers from 1 to 9, without repeating a
-number twice on each column, row or subsquare (each of them must contain only
-one 1, one 2, one 3, and so on).  The game requires logic and patience.
-Solving takes usually 10 to 30 minutes, depending on puzzle level, your skill
-and experience.
-
-The numerals in Sudoku puzzles are used for convenience (for example in 16x16
-board we use letters): arithmetic relationships between numbers are
-irrelevant.
-
-This program supports also 16x16 games with numbers from 1 to 16 and 256
-cells with 16 cols, rows and subsquares!
-
-More information at http://en.wikipedia.org/wiki/Sudoku
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public klines
-  (package
-    (name "klines")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/klines-" version ".tar.xz"))
-      (sha256
-       (base32 "0y8lnwawrkl4ixn7v4dg48k2zpr083krv7dv4d94b2dpkh7xfvih"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Place 5 equal pieces together, but wait, there are 3 new ones")
-    (description "KLines is a simple but highly addictive one player game.
-
-The player has to move the colored balls around the game board, gathering them
-into the lines of the same color by five.  Once the line is complete it is
-removed from the board, therefore freeing precious space.  In the same time
-the new balls keep arriving by three after each move, filling up the game
-board.
-
-KLines is a single-player game where the player removes colored balls from the
-board by arranging them into lines of five or more.  However, every time the
-player moves a ball, three more balls are added to the board.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public kgoldrunner
-  (package
-    (name "kgoldrunner")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/kgoldrunner-" version ".tar.xz"))
-      (sha256
-       (base32 "17ra5d3r9ajy2inj17gwd5xphzhvbzx5kpvdwyj6msx4dd9wxgfi"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kio
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Action and puzzle solving game")
-    (description "KGoldrunner is an action game where the hero runs through a
-maze, climbs stairs, dig holes and dodges enemies in order to collect all the
-gold nuggets and escape to the next level.  Your enemies are also after the
-gold.  Worse still, they are after you!.
-
-KGoldrunner is a fast-paced platform game where the player must navigate a
-maze while collecting gold nuggets and avoiding enemies.  A variety of level
-packs are included, as well as an editor to create new levels.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public kdiamond
-  (package
-    (name "kdiamond")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/kdiamond-" version ".tar.xz"))
-      (sha256
-       (base32 "1iyxrx3422asa58kh0siwvi1svds5kccrym6gdfpdhlmhmciqlzi"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           knotifications
-           knotifyconfig
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Three-in-a-row game")
-    (description "KDiamond is a three-in-a-row game like Bejeweled.  It
-features unlimited fun with randomly generated games and five difficulty
-levels with varying number of diamond colors and board sizes.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public kfourinline
-  (package
-    (name "kfourinline")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/kfourinline-" version ".tar.xz"))
-      (sha256
-       (base32 "0plx3lv35fc8q9svbyl71mms3ji6zn58j306bvm1f8kkgg0x395b"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdnssd
-           ki18n
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Place 4 pieces in a row")
-    (description "KFourInLine is a board game for two players based on the
-Connect-Four game.
-
-KFourInLine is a game where two players take turns dropping pieces into a
-grid, the winner being the first to place four pieces in a line.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
-
-(define-public kblackbox
-  (package
-    (name "kblackbox")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/kblackbox-" version ".tar.xz"))
-      (sha256
-       (base32 "0la5w44b0gl72g3wfp0pw8gwnm287lh7nd9k5ikpszw5nn49db0h"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list karchive
-           kcompletion
-           kconfig
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           ktextwidgets
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Find atoms in a grid by shooting electrons")
-    (description "KBlackbox is a game of hide and seek played on a grid of
-boxes where the computer has hidden several balls.  The position of the hidden
-balls can be deduced by shooting beams into the box
-
-KBlackBox is a game of hide and seek played on an grid of boxes, where the
-player shoots rays into the grid to deduce the positions of hidden objects.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public knetwalk
-  (package
-    (name "knetwalk")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/knetwalk-" version ".tar.xz"))
-      (sha256
-       (base32 "060kj06vpigdy570izsjfgnmqqrpmb8bkr9arqc109hg3avl5wjz"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           ktextwidgets
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Turn the board pieces to get all computers connected")
-    (description "KNetWalk is a small game where you have to build up a
-computer network by rotating the wires to connect the terminals to the server.
-When the network is build, a highscore-list comes up where competitions can be
-fought out.
-
-KNetwalk is a puzzle game where the player arranges sections of wire to
-connect all the computers on the board.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public bomber
-  (package
-    (name "bomber")
-    (version "20.12.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/bomber-" version ".tar.xz"))
-       (sha256
-        (base32 "1fjcwm591jgx3bgqpi0j5fnb2l2r2h3r6lav3vhaxz4rkf56pg2a"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Arcade bombing game")
-    (description "Bomber is a single player arcade game.
-
-The player is invading various cities in a plane that is decreasing in height.
-The goal of the game is to destroy all the buildings and advance to the next
-level.  Each level gets a bit harder by increasing the speed of the plane and
-the height of the buildings.
-
-Bomber is a game where you fly a spaceship and attempt to bomb the buildings
-below you.  Each pass the spaceship makes, it gets lower and lower.  If you've
-not destroyed a building in your path, you will crash into it.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public granatier
-  (package
-    (name "granatier")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/granatier-" version ".tar.xz"))
-      (sha256
-       (base32 "1fyh7zyacb3pnlfd29jw2jmyl8a7sjw354pi234nd5x5999xw5z6"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           knewstuff
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Bomberman clone")
-    (description "Granatier is a clone of the classic Bomberman game,
-inspired by the work of the Clanbomber clone.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public ksirk
-  (package
-    (name "ksirk")
-    (version "20.12.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/ksirk-" version ".tar.xz"))
-       (sha256
-        (base32 "10y7nm0x6zcc0gh3am69bbxyyb8azbbfyrdqsa023ggr7n04cn21"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcrash
-           ki18n
-           kiconthemes
-           kio
-           knewstuff
-           kwallet
-           kxmlgui
-           libkdegames
-           phonon
-           qca
-           qtbase-5
-           qtdeclarative
-           qtsvg
-           zlib))
-    (home-page "https://games.kde.org/")
-    (synopsis "Computerized version of the well known strategy board game
-'Risk'")
-    (description "KsirK is a multi-player network-enabled game.  The goal of
-the game is simply to conquer the world by attacking your neighbors with your
-armies.
-
-At the beginning of the game, countries are distributed to all the players.
-Each country contains one army represented by an infantryman.  Each player has
-some armies to distribute to his countries.  On each turn, each player can
-attack his neighbours, eventually conquering one or more countries.  At the
-end of each turn, some bonus armies are distributed to the players in function
-of the number of countries they own.  The winner is the player that conquered
-all the world.
-
-Features:
-@itemize
-@item Support for 1-6 human or computer players
-@item Multi-player gaming over a network
-@item You can easily create new skins with SVG graphics and the skin editor
-@item Hot New Stuff support.  You can easily download and install new skins
-@end itemize
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
-
-(define-public palapeli
-  (package
-    (name "palapeli")
-    (version "20.12.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/palapeli-" version ".tar.xz"))
-       (sha256
-        (base32 "0xxz9g4zxljlg20g88a5lkbwzzm9yg4vxnrfigk8m018cz0nqd5b"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list karchive
-           kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kcrash
-           ki18n
-           ki18n
-           kio
-           kitemviews
-           knotifications
-           kservice
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg
-           shared-mime-info))
-    (home-page "https://games.kde.org/")
-    (synopsis "Jigsaw puzzle game")
-    (description "Palapeli is a jigsaw puzzle game.  Unlike other games in
-that genre, you are not limited to aligning pieces on imaginary grids.  The
-pieces are freely moveable.  Also, Palapeli features real persistency, i.e.
-everything you do is saved on your disk immediately.
-
-Palapeli is the Finnish word for jigsaw puzzle.
-
-This package is part of the KDE games module.")
-    (license license:gpl2+)))
-
-(define-public kiriki
-  (package
-    (name "kiriki")
-    (version "20.12.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/kiriki-" version ".tar.xz"))
-       (sha256
-        (base32 "0milc8fl1rj4yrwdvm60ampd47dyiys1xvqi5f0g7y6mgymgyk4x"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kiconthemes
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Yahtzee dice game")
-    (description "Kiriki is an addictive and fun dice game, designed to be
-played by as many as six players.
-
-Participants have to collect points by rolling five dice for up to three times
-per single turn to make combinations with the highest score.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public kigo
-  (package
-    (name "kigo")
-    (version "20.12.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/kigo-" version ".tar.xz"))
-       (sha256
-        (base32 "088752yzmfsnppd27p8hld4x5s7sw5fagm08024l5ra1mlicdfz9"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kio
-           knewstuff
-           ktextwidgets
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Go board game")
-    (description "Kigo is an open-source implementation of the popular Go
-game.
-
-Go is a strategic board game for two players.  It is also known as
-igo (Japanese), weiqi or wei ch'i (Chinese) or baduk (Korean).  Go is noted
-for being rich in strategic complexity despite its simple rules.  The game is
-played by two players who alternately place black and white stones (playing
-pieces, now usually made of glass or plastic) on the vacant intersections of a
-grid of 19x19 lines (9x9 or 13x13 for easier games).
-
-You also need to install a go engine, e.g. @code{gnugo}.
-
-This package is part of the KDE games module.")
-    (license license:gpl3+)))
-
-(define-public kubrick
-  (package
-    (name "kubrick")
-    (version "20.12.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/kubrick-" version ".tar.xz"))
-       (sha256
-        (base32 "0h3mypwd67sss08j5vvrih5f5ss85m9kax6412y40xmsm51lz2pq"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list glu
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           ki18n
-           kio
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Game based on Rubik's Cube")
-    (description "Kubrick is a game based on the Rubik's Cube puzzle.
-
-The cube sizes range from 2x2x2 up to 6x6x6, or you can play with irregular
-\"bricks\" such as 5x3x2 or \"mats\" such as 6x4x1 or 2x2x1.  The game has a
-selection of puzzles at several levels of difficulty, as well as demos of
-pretty patterns and solution moves, or you can make up your own puzzles.  The
-game has unlimited undo, redo, save and reload capabilities.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public lskat
-  (package
-    (name "lskat")
-    (version "20.12.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/lskat-" version ".tar.xz"))
-       (sha256
-        (base32 "1wg9zxp64kwjxqs4qw0h7j8yhgffbmvh8j9d4dgmz45dscngnjli"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kcoreaddons
-           kcrash
-           kguiaddons
-           ki18n
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Lieutnant Skat card game")
-    (description "Lieutnant Skat (from German \"Offiziersskat\") is a fun and
-engaging card game for two players, where the second player is either live
-opponent, or a built in artificial intelligence.
-
-Lieutnant Skat is a simplified variant of the Skat card game for two players.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
-
-(define-public kapman
-  (package
-    (name "kapman")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/kapman-" version ".tar.xz"))
-      (sha256
-       (base32 "14x3v6li4r3gzzwfd6ar9saq2rhc7yxs0sp9ygalzq8vq4d7i1kh"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Pac-Man clone")
-    (description "Kapman is a clone of the well known game Pac-Man.
-
-You must run through the maze to eat all pills without being captured by a
-ghost.  By eating an energizer, Kapman gets the ability to eat ghosts for a
-few seconds.  When a stage is cleared of pills and energizer the player is
-taken to the next stage with slightly increased game speed
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public kspaceduel
-  (package
-    (name "kspaceduel")
-    (version "20.12.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/kspaceduel-" version ".tar.xz"))
-       (sha256
-        (base32 "1aixh6ygif2cm1a5g32sl5y6b5x68139pzihaxq4334c6avamdai"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Two player game with shooting spaceships flying around a sun")
-    (description "KSpaceduel is a space battle game for one or two players,
-where two ships fly around a star in a struggle to be the only survivor.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public bovo
-  (package
-    (name "bovo")
-    (version "20.12.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/bovo-" version ".tar.xz"))
-       (sha256
-        (base32 "18qbac366m0xma3ary11q9zxz0wgnysppcl7kpypl6ic3nf61wqz"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Classic pen and paper game: five in a line")
-    (description "Bovo is a Gomoku (from Japanese 五目並べ - lit.  \"five
-points\") like game for two players, where the opponents alternate in placing
-their respective pictogram on the game board.  The winner is the first to
-complete a line of five markers.  (Also known as: Connect Five, Five in a row,
-X and O, Naughts and Crosses)
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public killbots
-  (package
-    (name "killbots")
-    (version "20.12.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/killbots-" version ".tar.xz"))
-       (sha256
-        (base32 "1296gww42nwnai7y6m2qpjqpyc30p7z9chfv5rv0n48jvdhva88y"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Port of the classic BSD console game robots")
-    (description "Killbots is a simple game of evading killer robots.
-
-Who created the robots and why they have been programmed to destroy, no one
-knows.  All that is known is that the robots are numerous and their sole
-objective is to destroy you.  Fortunately for you, their creator has focused
-on quantity rather than quality and as a result the robots are severely
-lacking in intelligence.  Your superior wit and a fancy teleportation device
-are your only weapons against the never-ending stream of mindless automatons.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public ksnakeduel
-  (package
-    (name "ksnakeduel")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/ksnakeduel-" version ".tar.xz"))
-      (sha256
-       (base32 "0mp6g258n3xzvgf23jnhkw10xgwqwqdzqfdc6r9jq6a6m8v77swz"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           kguiaddons
-           ki18n
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Snake race played against the computer")
-    (description "KSnakeDuel is a fast action game where you steer a snake
-which has to eat food.  While eating the snake grows.  But once a player
-collides with the other snake or the wall the game is lost.  This becomes of
-course more and more difficult the longer the snakes grow.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public kollision
-  (package
-    (name "kollision")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/kollision-" version ".tar.xz"))
-      (sha256
-       (base32 "180ybafizpwjsg80npy0l9142cjsnlyxwv9dz3bq6r8v4smn2g6b"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Simple ball dodging game")
-    (description "In Kollision you use mouse to control a small blue ball in a
-closed space environment filled with small red balls, which move about
-chaotically.  Your goal is to avoid touching any of those red balls with your
-blue one, because the moment you do the game will be over.  The longer you can
-stay in game the higher will your score be.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public knavalbattle
-  (package
-    (name "knavalbattle")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/knavalbattle-" version ".tar.xz"))
-      (sha256
-       (base32 "03rqf4avn61b0v340ymmzgp7s0axygjgxq1nlp5aaqbx70zcb4lq"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kauth
-           kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           kdnssd
-           ki18n
-           ktextwidgets
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Battleship board game with built-in game server")
-    (description "KBattleship is a Battle Ship game for KDE.
-
-Ships are placed on a board which represents the sea.  Players try to hit each
-others ships in turns without knowing where they are placed.  The first player
-to destroy all ships wins the game.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public kreversi
-  (package
-    (name "kreversi")
-    (version "20.08.3")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/kreversi-" version ".tar.xz"))
-      (sha256
-       (base32 "0d3y072q61xcik9lf0pz0c9njvarwlvf6hqv5fp5jyqaf2902pmi"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           kdeclarative
-           ki18n
-           kiconthemes
-           kio
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Old reversi board game, also known as othello")
-    (description "KReversi is a simple one player strategy game played
-against the computer.
-
-If a player's piece is captured by an opposing player, that piece is turned
-over to reveal the color of that player.  A winner is declared when one player
-has more pieces of his own color on the board and there are no more possible
-moves.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
-(define-public ksquares
-  (package
-    (name "ksquares")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/ksquares-" version ".tar.xz"))
-      (sha256
-       (base32 "0chd30byl2kww1k699vkygrxq2wdyvi84m2bimk23q96fl8h831y"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kcompletion
-           kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative))
-    (home-page "https://games.kde.org/")
-    (synopsis "Dots and Boxes game")
-    (description "KSquares is an implementation of the popular paper based
-game Squares.  Two players take turns connecting dots on a grid to complete
-squares, the player with the most squares wins.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
-
-(define-public kjumpingcube
-  (package
-    (name "kjumpingcube")
-    (version "20.12.0")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://kde/stable/release-service/" version
-                          "/src/kjumpingcube-" version ".tar.xz"))
-      (sha256
-       (base32 "1mk73il4jh15z5pm3fp65hsyvmrga11c3h7w96yamy2n2bbniapq"))))
-    (build-system qt-build-system)
-    (native-inputs
-     (list extra-cmake-modules kdoctools))
-    (inputs
-     (list kconfig
-           kconfigwidgets
-           kcoreaddons
-           kcrash
-           kdbusaddons
-           ki18n
-           kio
-           kwidgetsaddons
-           kxmlgui
-           libkdegames
-           qtbase-5
-           qtdeclarative
-           qtsvg))
-    (home-page "https://games.kde.org/")
-    (synopsis "Simple tactical game for number-crunchers")
-    (description "KJumpingcube is a simple tactical game for one or two
-players, played on a grid of numbered squares.  Each turn, players compete for
-control of the board by capturing or adding to one square.
-
-This package is part of the KDE games module.")
-    (license (list license:gpl2+ license:fdl1.2+))))
-
 (define-public xmoto
   (package
     (name "xmoto")
diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm
new file mode 100644
index 0000000000..bc198009a3
--- /dev/null
+++ b/gnu/packages/kde-games.scm
@@ -0,0 +1,1555 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017, 2019 Hartmut Goebel <[email-masked]>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <[email-masked]>
+;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <[email-masked]>
+;;; Copyright © 2021 Maxim Cournoyer <[email-masked]>
+;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <[email-masked]>
+;;; Copyright © 2022 Brendan Tildesley <[email-masked]>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages kde-games)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system qt)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages gl)
+  #:use-module ((gnu packages gnome) #:select (shared-mime-info))
+  #:use-module (gnu packages kde)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-web)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages qt))
+
+(define-public ktuberling
+  (package
+    (name "ktuberling")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/ktuberling-" version ".tar.xz"))
+      (sha256
+       (base32 "0mlv9qllg70p26dbrcsr820c70d3ib88hapc1z6wgjhdpmc12ni1"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools perl))
+    (inputs
+     (list kcompletion
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kio
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           python-wrapper
+           qtbase-5
+           qtmultimedia
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Stamp drawing toy")
+    (description "KTuberling is a drawing toy intended for small children and
+adults who remain young at heart.  The game has no winner; the only purpose is
+to make the funniest faces you can.  Several activities are possible, e.g.:
+
+@itemize
+@item Give the potato a funny face, clothes, and other goodies
+@item Build a small town, complete with school, zoo, and fire department
+@item Create a fantastic moonscape with spaceships and aliens
+@item Top a pizza
+@end itemize
+
+KTuberling can speak the name of each the object in several languages,
+to assist in learning basic vocabulary.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public picmi
+  (package
+    (name "picmi")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/picmi-" version ".tar.xz"))
+      (sha256
+       (base32 "1dfq9m4njh0czz8zws46rkz6xq2n6xra5w223m3s2f5civiw5msz"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcoreaddons
+           kcrash
+           kdbusaddons
+           kdeclarative
+           ki18n
+           kio
+           knewstuff
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Number logic game")
+    (description "Picmi is a number logic game in which cells in a grid have
+to be colored or left blank according to numbers given at the side of the
+grid.  The aim is to reveal a hidden picture.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public kolf
+  (package
+    (name "kolf")
+    (version "20.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/kolf-" version ".tar.xz"))
+       (sha256
+        (base32 "1lpp6pzr5dgd4si4a8c7hcvgxgqy0bgyhkx9m6jqb0zhll6dxj10"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kio
+           kwidgetsaddons
+           kxmlgui
+           ktextwidgets
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Miniature golf game")
+    (description "Kolf is a miniature golf game for one to ten players.  The
+game is played from an overhead view, with a short bar representing the golf
+club.  Kolf features many different types of objects, such as water hazards,
+slopes, sand traps, and black holes (warps), among others.
+
+Features are:
+@itemize
+@item Single and Multi-player (up to ten players) modes
+@item High scores table
+@item Dynamic courses
+@item Third-party courses
+@item Course editor
+@end itemize
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+
+(define-public libkmahjongg
+  (package
+    (name "libkmahjongg")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/"
+                          version "/src/libkmahjongg-" version ".tar.xz"))
+      (sha256
+       (base32 "10ljzbf7qki5flydankrbksaihhkqpfyljb8c71fbwqwmkr7rgfq"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules))
+    (inputs
+     (list kauth
+           kcompletion
+           ;("kconfig" ,kconfig)
+           kcodecs
+           kconfigwidgets
+           kcoreaddons
+           ki18n
+           kwidgetsaddons
+           qtbase-5
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Shared library for kmahjongg and kshisen")
+    (description "Shared library and common files for kmahjongg, kshisen and
+other Mah Jongg like games.")
+    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+
+(define-public kmahjongg
+  (package
+    (name "kmahjongg")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/"
+                          version "/src/kmahjongg-" version ".tar.xz"))
+      (sha256
+       (base32 "1fcj4jb2zzbaxp7cp04w36y0c7lh77yzin66fmvrcxkl11xi2wwd"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kcrash
+           kdbusaddons
+           kdeclarative
+           ki18n
+           knewstuff
+           kxmlgui
+           libkdegames
+           libkmahjongg
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Tile laying patience")
+    (description "In KMahjongg the tiles are scrambled and staked on top of
+each other to resemble a certain shape.  The player is then expected to remove
+all the tiles off the game board by locating each tile's matching pair.
+
+A variety of tile layouts are included, as well as an editor to create new
+layouts.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+
+(define-public kshisen
+  (package
+    (name "kshisen")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/"
+                          version "/src/kshisen-" version ".tar.xz"))
+      (sha256
+       (base32 "1hrwr0f1kidivsp8lnwdbqz3xxagjvjwh72r3gma8smfilybygfb"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules
+           ;("perl" ,perl)
+           ;("pkg-config" ,pkg-config)
+           kdoctools))
+    (inputs
+     (list kauth
+           kcompletion
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kxmlgui
+           libkdegames
+           libkmahjongg
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Shisen-Sho solitaire game")
+    (description "KShisen is a solitaire-like game played using the standard
+set of Mahjong tiles.  Unlike Mahjong however, KShisen has only one layer of
+scrambled tiles
+
+This package is part of the KDE games module.")
+    (license license:gpl2+)))
+
+(define-public kajongg
+  (package
+    (name "kajongg")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/"
+                          version "/src/kajongg-" version ".tar.xz"))
+      (sha256
+       (base32 "03fdbnx7zx7vgcxvwd1h1098ks9gq162bwz35fhpyzpynr667m5r"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "src/mjresource.py"
+               (("'share', 'kmahjongglib'" all)
+                (string-append "'" (assoc-ref inputs "libkmahjongg")
+                               "/share', 'kmahjongglib'")))))
+         (add-after 'qt-wrap 'wrap
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (for-each (lambda (program)
+                           (wrap-program program
+                             `("GUIX_PYTHONPATH" ":" prefix
+                               (,(getenv "GUIX_PYTHONPATH")))))
+                         (list (string-append out "/bin/kajongg")
+                               (string-append out "/bin/kajonggserver")))))))))
+    (native-inputs
+     (list extra-cmake-modules
+           ;("perl" ,perl)
+           kdoctools))
+    (inputs
+     (list kconfig
+           kconfigwidgets
+           kcoreaddons
+           ki18n
+           libkmahjongg
+           python
+           python-twisted
+           python-pyqt
+           python-zope-interface
+           qtbase-5
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Classical Mah Jongg game for 4 players")
+    (description "Kajongg is the ancient Chinese board game for 4 players.
+
+If you are looking for the Mah Jongg solitaire please use the application
+kmahjongg.
+
+Kajongg can be used in two different ways: Scoring a manual game where you
+play as always and use Kajongg for the computation of scores and for
+bookkeeping.  Or you can use Kajongg to play against any combination of other
+human players or computer players.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public kbreakout
+  (package
+    (name "kbreakout")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/kbreakout-" version ".tar.xz"))
+      (sha256
+       (base32 "0kqj2cx0ny3qq65c6w5fpnzmrwl9irg8slzvpd3anck5cnvma3j4"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Breakout like game")
+    (description "KBreakout is similar to the classics breakout and xboing,
+featuring a number of added graphical enhancements and effects.  You control a
+paddle at the bottom of the playing-field, and must destroy bricks at the top
+by bouncing balls against them.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public kmines
+  (package
+    (name "kmines")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/kmines-" version ".tar.xz"))
+      (sha256
+       (base32 "0hqjwh3jq2npqwkvh67fyn2xnq8swiasdw5jz8f0ikl0k28id775"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           ktextwidgets
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Classical mine sweeper game")
+    (description "KMines is a classic Minesweeper game.  The idea is to
+uncover all the squares without blowing up any mines.  When a mine is blown
+up, the game is over.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public konquest
+  (package
+    (name "konquest")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/"
+                          version "/src/konquest-" version ".tar.xz"))
+      (sha256
+       (base32 "0lnwj06vv4qx05hr8pzysnvrxh8y04asajrph0rsj37v8hs9g5lh"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           kguiaddons
+           ki18n
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Simple turn-based strategy game")
+    (description "Konquest is the KDE version of Gnu-Lactic Konquest.  Players
+conquer other planets by sending ships to them.  The goal is to build an
+interstellar empire and ultimately conquer all other player's planets.  The
+game can be played with up to nine empires, commanded either by the computer
+or by puny earthlings.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public kbounce
+  (package
+    (name "kbounce")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/"
+                          version "/src/kbounce-" version ".tar.xz"))
+      (sha256
+       (base32 "0ymy0z1qlw3n653xs3dsa1xm78q4xaj09dnnci4km77rzis26vb6"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kio
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Jezzball arcade game")
+    (description "KBounce is a single player arcade game with the elements of
+puzzle.  It is played on a field, surrounded by wall, with two or more balls
+bouncing around within the walls.  The object of the game is to build new
+walls to decrease the size of the active field.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+
+(define-public kblocks
+  (package
+    (name "kblocks")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/"
+                          version "/src/kblocks-" version ".tar.xz"))
+      (sha256
+       (base32 "09yfm9mzbamp294cvc5finq6ilxvxr68i0dnb0m72pa4sfzmij32"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Single player falling blocks puzzle game")
+    (description "KBlocks is the classic Tetris-like falling blocks game.
+
+The idea is to stack the falling blocks to create horizontal lines without any
+gaps.  When a line is completed it is removed, and more space is available in
+the play area.  When there is not enough space for blocks to fall, the game is
+over.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public ksudoku
+  (package
+    (name "ksudoku")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/"
+                          version "/src/ksudoku-" version ".tar.xz"))
+      (sha256
+       (base32 "0pj6ry7ak1rnpb93mqypaxrcbmrhwg9ir6zhb3ybzfkfcrh67g12"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list karchive
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kguiaddons
+           ki18n
+           kiconthemes
+           kio
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           glu
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Sudoku puzzle game and solver")
+    (description "KSudoku is a Sudoku game and solver, supporting a range of
+2D and 3D Sudoku variants.  In addition to playing Sudoku, it can print Sudoku
+puzzle sheets and find the solution to any Sudoku puzzle.
+
+The word Sudoku means \"single number in an allotted place\" in Japanese.
+These are the basic rules: Every Sudoku is a square divided into 3x3
+subsquares with 3x3 cells each.
+
+Some cells are filled with a number at the beginning.  The remaining ones are
+to be filled by the player using numbers from 1 to 9, without repeating a
+number twice on each column, row or subsquare (each of them must contain only
+one 1, one 2, one 3, and so on).  The game requires logic and patience.
+Solving takes usually 10 to 30 minutes, depending on puzzle level, your skill
+and experience.
+
+The numerals in Sudoku puzzles are used for convenience (for example in 16x16
+board we use letters): arithmetic relationships between numbers are
+irrelevant.
+
+This program supports also 16x16 games with numbers from 1 to 16 and 256
+cells with 16 cols, rows and subsquares!
+
+More information at http://en.wikipedia.org/wiki/Sudoku
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public klines
+  (package
+    (name "klines")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/klines-" version ".tar.xz"))
+      (sha256
+       (base32 "0y8lnwawrkl4ixn7v4dg48k2zpr083krv7dv4d94b2dpkh7xfvih"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Place 5 equal pieces together, but wait, there are 3 new ones")
+    (description "KLines is a simple but highly addictive one player game.
+
+The player has to move the colored balls around the game board, gathering them
+into the lines of the same color by five.  Once the line is complete it is
+removed from the board, therefore freeing precious space.  In the same time
+the new balls keep arriving by three after each move, filling up the game
+board.
+
+KLines is a single-player game where the player removes colored balls from the
+board by arranging them into lines of five or more.  However, every time the
+player moves a ball, three more balls are added to the board.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public kgoldrunner
+  (package
+    (name "kgoldrunner")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/kgoldrunner-" version ".tar.xz"))
+      (sha256
+       (base32 "17ra5d3r9ajy2inj17gwd5xphzhvbzx5kpvdwyj6msx4dd9wxgfi"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kio
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Action and puzzle solving game")
+    (description "KGoldrunner is an action game where the hero runs through a
+maze, climbs stairs, dig holes and dodges enemies in order to collect all the
+gold nuggets and escape to the next level.  Your enemies are also after the
+gold.  Worse still, they are after you!.
+
+KGoldrunner is a fast-paced platform game where the player must navigate a
+maze while collecting gold nuggets and avoiding enemies.  A variety of level
+packs are included, as well as an editor to create new levels.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public kdiamond
+  (package
+    (name "kdiamond")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/kdiamond-" version ".tar.xz"))
+      (sha256
+       (base32 "1iyxrx3422asa58kh0siwvi1svds5kccrym6gdfpdhlmhmciqlzi"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           knotifications
+           knotifyconfig
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Three-in-a-row game")
+    (description "KDiamond is a three-in-a-row game like Bejeweled.  It
+features unlimited fun with randomly generated games and five difficulty
+levels with varying number of diamond colors and board sizes.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public kfourinline
+  (package
+    (name "kfourinline")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/kfourinline-" version ".tar.xz"))
+      (sha256
+       (base32 "0plx3lv35fc8q9svbyl71mms3ji6zn58j306bvm1f8kkgg0x395b"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdnssd
+           ki18n
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Place 4 pieces in a row")
+    (description "KFourInLine is a board game for two players based on the
+Connect-Four game.
+
+KFourInLine is a game where two players take turns dropping pieces into a
+grid, the winner being the first to place four pieces in a line.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+
+(define-public kblackbox
+  (package
+    (name "kblackbox")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/kblackbox-" version ".tar.xz"))
+      (sha256
+       (base32 "0la5w44b0gl72g3wfp0pw8gwnm287lh7nd9k5ikpszw5nn49db0h"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list karchive
+           kcompletion
+           kconfig
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           ktextwidgets
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Find atoms in a grid by shooting electrons")
+    (description "KBlackbox is a game of hide and seek played on a grid of
+boxes where the computer has hidden several balls.  The position of the hidden
+balls can be deduced by shooting beams into the box
+
+KBlackBox is a game of hide and seek played on an grid of boxes, where the
+player shoots rays into the grid to deduce the positions of hidden objects.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public knetwalk
+  (package
+    (name "knetwalk")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/knetwalk-" version ".tar.xz"))
+      (sha256
+       (base32 "060kj06vpigdy570izsjfgnmqqrpmb8bkr9arqc109hg3avl5wjz"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           ktextwidgets
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Turn the board pieces to get all computers connected")
+    (description "KNetWalk is a small game where you have to build up a
+computer network by rotating the wires to connect the terminals to the server.
+When the network is build, a highscore-list comes up where competitions can be
+fought out.
+
+KNetwalk is a puzzle game where the player arranges sections of wire to
+connect all the computers on the board.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public bomber
+  (package
+    (name "bomber")
+    (version "20.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/bomber-" version ".tar.xz"))
+       (sha256
+        (base32 "1fjcwm591jgx3bgqpi0j5fnb2l2r2h3r6lav3vhaxz4rkf56pg2a"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Arcade bombing game")
+    (description "Bomber is a single player arcade game.
+
+The player is invading various cities in a plane that is decreasing in height.
+The goal of the game is to destroy all the buildings and advance to the next
+level.  Each level gets a bit harder by increasing the speed of the plane and
+the height of the buildings.
+
+Bomber is a game where you fly a spaceship and attempt to bomb the buildings
+below you.  Each pass the spaceship makes, it gets lower and lower.  If you've
+not destroyed a building in your path, you will crash into it.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public granatier
+  (package
+    (name "granatier")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/granatier-" version ".tar.xz"))
+      (sha256
+       (base32 "1fyh7zyacb3pnlfd29jw2jmyl8a7sjw354pi234nd5x5999xw5z6"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           knewstuff
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Bomberman clone")
+    (description "Granatier is a clone of the classic Bomberman game,
+inspired by the work of the Clanbomber clone.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public ksirk
+  (package
+    (name "ksirk")
+    (version "20.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/ksirk-" version ".tar.xz"))
+       (sha256
+        (base32 "10y7nm0x6zcc0gh3am69bbxyyb8azbbfyrdqsa023ggr7n04cn21"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcrash
+           ki18n
+           kiconthemes
+           kio
+           knewstuff
+           kwallet
+           kxmlgui
+           libkdegames
+           phonon
+           qca
+           qtbase-5
+           qtdeclarative
+           qtsvg
+           zlib))
+    (home-page "https://games.kde.org/")
+    (synopsis "Computerized version of the well known strategy board game
+'Risk'")
+    (description "KsirK is a multi-player network-enabled game.  The goal of
+the game is simply to conquer the world by attacking your neighbors with your
+armies.
+
+At the beginning of the game, countries are distributed to all the players.
+Each country contains one army represented by an infantryman.  Each player has
+some armies to distribute to his countries.  On each turn, each player can
+attack his neighbours, eventually conquering one or more countries.  At the
+end of each turn, some bonus armies are distributed to the players in function
+of the number of countries they own.  The winner is the player that conquered
+all the world.
+
+Features:
+@itemize
+@item Support for 1-6 human or computer players
+@item Multi-player gaming over a network
+@item You can easily create new skins with SVG graphics and the skin editor
+@item Hot New Stuff support.  You can easily download and install new skins
+@end itemize
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+
+(define-public palapeli
+  (package
+    (name "palapeli")
+    (version "20.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/palapeli-" version ".tar.xz"))
+       (sha256
+        (base32 "0xxz9g4zxljlg20g88a5lkbwzzm9yg4vxnrfigk8m018cz0nqd5b"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list karchive
+           kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kcrash
+           ki18n
+           ki18n
+           kio
+           kitemviews
+           knotifications
+           kservice
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg
+           shared-mime-info))
+    (home-page "https://games.kde.org/")
+    (synopsis "Jigsaw puzzle game")
+    (description "Palapeli is a jigsaw puzzle game.  Unlike other games in
+that genre, you are not limited to aligning pieces on imaginary grids.  The
+pieces are freely moveable.  Also, Palapeli features real persistency, i.e.
+everything you do is saved on your disk immediately.
+
+Palapeli is the Finnish word for jigsaw puzzle.
+
+This package is part of the KDE games module.")
+    (license license:gpl2+)))
+
+(define-public kiriki
+  (package
+    (name "kiriki")
+    (version "20.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/kiriki-" version ".tar.xz"))
+       (sha256
+        (base32 "0milc8fl1rj4yrwdvm60ampd47dyiys1xvqi5f0g7y6mgymgyk4x"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kiconthemes
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Yahtzee dice game")
+    (description "Kiriki is an addictive and fun dice game, designed to be
+played by as many as six players.
+
+Participants have to collect points by rolling five dice for up to three times
+per single turn to make combinations with the highest score.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public kigo
+  (package
+    (name "kigo")
+    (version "20.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/kigo-" version ".tar.xz"))
+       (sha256
+        (base32 "088752yzmfsnppd27p8hld4x5s7sw5fagm08024l5ra1mlicdfz9"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kio
+           knewstuff
+           ktextwidgets
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Go board game")
+    (description "Kigo is an open-source implementation of the popular Go
+game.
+
+Go is a strategic board game for two players.  It is also known as
+igo (Japanese), weiqi or wei ch'i (Chinese) or baduk (Korean).  Go is noted
+for being rich in strategic complexity despite its simple rules.  The game is
+played by two players who alternately place black and white stones (playing
+pieces, now usually made of glass or plastic) on the vacant intersections of a
+grid of 19x19 lines (9x9 or 13x13 for easier games).
+
+You also need to install a go engine, e.g. @code{gnugo}.
+
+This package is part of the KDE games module.")
+    (license license:gpl3+)))
+
+(define-public kubrick
+  (package
+    (name "kubrick")
+    (version "20.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/kubrick-" version ".tar.xz"))
+       (sha256
+        (base32 "0h3mypwd67sss08j5vvrih5f5ss85m9kax6412y40xmsm51lz2pq"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list glu
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           ki18n
+           kio
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Game based on Rubik's Cube")
+    (description "Kubrick is a game based on the Rubik's Cube puzzle.
+
+The cube sizes range from 2x2x2 up to 6x6x6, or you can play with irregular
+\"bricks\" such as 5x3x2 or \"mats\" such as 6x4x1 or 2x2x1.  The game has a
+selection of puzzles at several levels of difficulty, as well as demos of
+pretty patterns and solution moves, or you can make up your own puzzles.  The
+game has unlimited undo, redo, save and reload capabilities.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public lskat
+  (package
+    (name "lskat")
+    (version "20.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/lskat-" version ".tar.xz"))
+       (sha256
+        (base32 "1wg9zxp64kwjxqs4qw0h7j8yhgffbmvh8j9d4dgmz45dscngnjli"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kcoreaddons
+           kcrash
+           kguiaddons
+           ki18n
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Lieutnant Skat card game")
+    (description "Lieutnant Skat (from German \"Offiziersskat\") is a fun and
+engaging card game for two players, where the second player is either live
+opponent, or a built in artificial intelligence.
+
+Lieutnant Skat is a simplified variant of the Skat card game for two players.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+
+(define-public kapman
+  (package
+    (name "kapman")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/kapman-" version ".tar.xz"))
+      (sha256
+       (base32 "14x3v6li4r3gzzwfd6ar9saq2rhc7yxs0sp9ygalzq8vq4d7i1kh"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Pac-Man clone")
+    (description "Kapman is a clone of the well known game Pac-Man.
+
+You must run through the maze to eat all pills without being captured by a
+ghost.  By eating an energizer, Kapman gets the ability to eat ghosts for a
+few seconds.  When a stage is cleared of pills and energizer the player is
+taken to the next stage with slightly increased game speed
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public kspaceduel
+  (package
+    (name "kspaceduel")
+    (version "20.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/kspaceduel-" version ".tar.xz"))
+       (sha256
+        (base32 "1aixh6ygif2cm1a5g32sl5y6b5x68139pzihaxq4334c6avamdai"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Two player game with shooting spaceships flying around a sun")
+    (description "KSpaceduel is a space battle game for one or two players,
+where two ships fly around a star in a struggle to be the only survivor.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public bovo
+  (package
+    (name "bovo")
+    (version "20.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/bovo-" version ".tar.xz"))
+       (sha256
+        (base32 "18qbac366m0xma3ary11q9zxz0wgnysppcl7kpypl6ic3nf61wqz"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Classic pen and paper game: five in a line")
+    (description "Bovo is a Gomoku (from Japanese 五目並べ - lit.  \"five
+points\") like game for two players, where the opponents alternate in placing
+their respective pictogram on the game board.  The winner is the first to
+complete a line of five markers.  (Also known as: Connect Five, Five in a row,
+X and O, Naughts and Crosses)
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public killbots
+  (package
+    (name "killbots")
+    (version "20.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/release-service/" version
+                           "/src/killbots-" version ".tar.xz"))
+       (sha256
+        (base32 "1296gww42nwnai7y6m2qpjqpyc30p7z9chfv5rv0n48jvdhva88y"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Port of the classic BSD console game robots")
+    (description "Killbots is a simple game of evading killer robots.
+
+Who created the robots and why they have been programmed to destroy, no one
+knows.  All that is known is that the robots are numerous and their sole
+objective is to destroy you.  Fortunately for you, their creator has focused
+on quantity rather than quality and as a result the robots are severely
+lacking in intelligence.  Your superior wit and a fancy teleportation device
+are your only weapons against the never-ending stream of mindless automatons.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public ksnakeduel
+  (package
+    (name "ksnakeduel")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/ksnakeduel-" version ".tar.xz"))
+      (sha256
+       (base32 "0mp6g258n3xzvgf23jnhkw10xgwqwqdzqfdc6r9jq6a6m8v77swz"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           kguiaddons
+           ki18n
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Snake race played against the computer")
+    (description "KSnakeDuel is a fast action game where you steer a snake
+which has to eat food.  While eating the snake grows.  But once a player
+collides with the other snake or the wall the game is lost.  This becomes of
+course more and more difficult the longer the snakes grow.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public kollision
+  (package
+    (name "kollision")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/kollision-" version ".tar.xz"))
+      (sha256
+       (base32 "180ybafizpwjsg80npy0l9142cjsnlyxwv9dz3bq6r8v4smn2g6b"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Simple ball dodging game")
+    (description "In Kollision you use mouse to control a small blue ball in a
+closed space environment filled with small red balls, which move about
+chaotically.  Your goal is to avoid touching any of those red balls with your
+blue one, because the moment you do the game will be over.  The longer you can
+stay in game the higher will your score be.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public knavalbattle
+  (package
+    (name "knavalbattle")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/knavalbattle-" version ".tar.xz"))
+      (sha256
+       (base32 "03rqf4avn61b0v340ymmzgp7s0axygjgxq1nlp5aaqbx70zcb4lq"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kauth
+           kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           kdnssd
+           ki18n
+           ktextwidgets
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Battleship board game with built-in game server")
+    (description "KBattleship is a Battle Ship game for KDE.
+
+Ships are placed on a board which represents the sea.  Players try to hit each
+others ships in turns without knowing where they are placed.  The first player
+to destroy all ships wins the game.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public kreversi
+  (package
+    (name "kreversi")
+    (version "20.08.3")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/kreversi-" version ".tar.xz"))
+      (sha256
+       (base32 "0d3y072q61xcik9lf0pz0c9njvarwlvf6hqv5fp5jyqaf2902pmi"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           kdeclarative
+           ki18n
+           kiconthemes
+           kio
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Old reversi board game, also known as othello")
+    (description "KReversi is a simple one player strategy game played
+against the computer.
+
+If a player's piece is captured by an opposing player, that piece is turned
+over to reveal the color of that player.  A winner is declared when one player
+has more pieces of his own color on the board and there are no more possible
+moves.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
+
+(define-public ksquares
+  (package
+    (name "ksquares")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/ksquares-" version ".tar.xz"))
+      (sha256
+       (base32 "0chd30byl2kww1k699vkygrxq2wdyvi84m2bimk23q96fl8h831y"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kcompletion
+           kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative))
+    (home-page "https://games.kde.org/")
+    (synopsis "Dots and Boxes game")
+    (description "KSquares is an implementation of the popular paper based
+game Squares.  Two players take turns connecting dots on a grid to complete
+squares, the player with the most squares wins.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
+
+(define-public kjumpingcube
+  (package
+    (name "kjumpingcube")
+    (version "20.12.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kde/stable/release-service/" version
+                          "/src/kjumpingcube-" version ".tar.xz"))
+      (sha256
+       (base32 "1mk73il4jh15z5pm3fp65hsyvmrga11c3h7w96yamy2n2bbniapq"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules kdoctools))
+    (inputs
+     (list kconfig
+           kconfigwidgets
+           kcoreaddons
+           kcrash
+           kdbusaddons
+           ki18n
+           kio
+           kwidgetsaddons
+           kxmlgui
+           libkdegames
+           qtbase-5
+           qtdeclarative
+           qtsvg))
+    (home-page "https://games.kde.org/")
+    (synopsis "Simple tactical game for number-crunchers")
+    (description "KJumpingcube is a simple tactical game for one or two
+players, played on a grid of numbered squares.  Each turn, players compete for
+control of the board by capturing or adding to one square.
+
+This package is part of the KDE games module.")
+    (license (list license:gpl2+ license:fdl1.2+))))
-- 
2.37.0

From c1670eec4af2b165695470b28481175521e803af Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Wed, 2 Mar 2022 08:29:54 +1100
Subject: [PATCH v2 59/75] gnu: Add libaccounts-glib.

* gnu/packages/qt.scm (libaccounts-glib): New variable.

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 15edccbe07..406e6dc984 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -48,6 +48,7 @@ (define-module (gnu packages qt)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system qt)
   #:use-module (guix gexp)
@@ -57,6 +58,7 @@ (define-module (gnu packages qt)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cups)
@@ -3180,3 +3182,57 @@ (define-public kdsoap
 services using the XML based SOAP protocol and without the need for a dedicated
 web server.")
     (license (list license:gpl2 license:gpl3))))
+
+(define-public libaccounts-glib
+  (package
+    (name "libaccounts-glib")
+    (version "1.25")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/accounts-sso/libaccounts-glib")
+                    (commit (string-append version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "19rhk9f97m736d5ia26vfcbjp5kgi454558yhf9mrwm4iw5d9pk4"))))
+    (build-system meson-build-system)
+    (native-inputs
+     (list dbus `(,glib "bin") gobject-introspection gtk-doc pkg-config vala))
+    (inputs (list check
+                  libxml2
+                  python
+                  python-pygobject
+                  sqlite))
+    (propagated-inputs
+     (list glib))
+    (arguments
+     (list
+      #:tests? #f ; one test fails.
+      #:imported-modules `((guix build python-build-system)
+                          ,@%meson-build-system-modules)
+      #:modules '(((guix build python-build-system) #:select
+                   (python-version))
+                  (guix build meson-build-system)
+                  (guix build utils))
+      ;; don't try installing to python store path.
+      #:configure-flags
+      #~(list (string-append
+               "-Dpy-overrides-dir=" #$output "/lib/python"
+               (python-version #$(this-package-input "python"))
+               "/site-packages/gi/overrides"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "dbus-run-session" "--" "meson" "test"
+                        "--print-errorlogs")))))))
+    (home-page "https://accounts-sso.gitlab.io/")
+    (synopsis "Accounts SSO (Single Sign-On) management library for GLib
+applications")
+    (description "Accounts SSO is a framework for application developers who
+wish to acquire, use and store web account details and credentials.  It
+handles the authentication process of an account and securely stores the
+credentials and service-specific settings.")
+    (license license:lgpl2.1+)))
-- 
2.37.0

From 622235e7ed69c0b68e895b6550125fc00ba77b9f Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <[email-masked]>
Date: Tue, 1 Feb 2022 18:34:57 +1100
Subject: [PATCH v2 04/75] gnu: KDE Frameworks: Update all packages to 5.92.0

*  gnu/packages/kde-frameworks.scm

(extra-cmake-modules, attica, bluez-qt, breeze-icons, kapidox, karchive,
kcalendarcore, kcodecs, kconfig, kcoreaddons, kdbusaddons, kdnssd,
kguiaddons, kholidays, ki18n, kidletime, kirigami, kitemmodels,
kitemviews, kplotting, ksyntaxhighlighting, kwayland, kwidgetsaddons,
kwindowsystem, modemmanager-qt, networkmanager-qt, oxygen-icons, prison,
qqc2-desktop-style, solid, sonnet, threadweaver, kactivities, kauth,
kcompletion, kcontacts, kcrash, kdoctools, kfilemetadata, kimageformats,
kjobwidgets, knotifications, kpackage, kpty, kunitconversion, syndication,
baloo, kactivities-stats, kbookmarks, kcmutils, kconfigwidgets,
kdeclarative, kded, kdesignerplugin, kdesu, kdewebkit, kemoticons,
kglobalaccel, kiconthemes, kinit, kio, knewstuff, knotifyconfig, kparts,
kpeople, krunner, kservice, ktexteditor, ktextwidgets, kwallet, kxmlgui,
kxmlrpcclient, plasma-framework, purpose, kde-frameworkintegration,
kdelibs4support, khtml, kjs, kjsembed, kmediaplayer, kross, kdav):
Update to 5.92.0.

(extra-cmake-modules)[arguments]:
Disable failing test.
Don't run check phase after install.

(bluez): [arguments]: Enable tests.

(breeze-icons): [native-inputs]: Remove uneeded dependency libxml2, Add python-lxml, python.

(kapidox): Use python-build-system.  [native-inputs]: Remove extraneous
input.

kcalendarcore: [arguments]: Enable as many tests as possible.

(kconfig): [native-inputs]: Remove no longer needed inputs.
[arguments]: Disable failing test.

(kcoreaddons): [arguments]: Remove old hack, disable broken tests.

(ki18n): [arguments]: Disable failing tests.

(kguiaddons): [inputs]: Add new dependencies qtwayland, wayland.

(kwidgetsaddons): [arguments]: Disable another failing test.

(kwayland): [inputs]: Add plasma-wayland-protocols.
[arguments]: Enable working tests.

(knotifications): [native-inputs]: add libcanberra, libdbusmenu-qt, qtdeclarative
[arguments]: Respect tests?

(sonnet): [inputs]: Add qtdeclarative.

(kxmlgui): [inputs]: Add kguiaddons.

(kxmlrpcclient): [source]: Update url.

(plasma-framework): [arguments]: Enable all tests that work.
[native-inputs]: Add kdoctools.

(kpackage): [arguments]: Use substitution instead of patch.

(kio): [inputs]: Add new dependencies.
[native-inputs]: Add kdoctools.
[arguments]: Enable all tests that work.

(kdeclarative): [inputs]: Remove extraenous inputs.
[propagated-inputs]: Propagate qtdeclarative, since it always seems to
be needed.
[native-inputs]: Add dbus to skip failing test.
[arguments]: Replace check due to failing test.

(solid): [arguments]: Respect tests?.

(kdbusaddons): [arguments]: Respect tests?.
Fix patch by replacing it with a substitution instead.

(kholidays): [arguments]: Enable working test.

(ksyntaxhighlighting): [arguments]: Don't patch file that doesn't exist any more.

(kwindowsystem): [arguments]: Respect tests?.

(modemmanager-qt): [arguments]: Respect tests?.

(kauth): [arguments]: Respect tests?.

(kfilemetadata): [arguments]: A different test fails now.

(kunitconversion): [arguments]: Disable tests.

(baloo): [arguments]: Enable tests. Respect tests?.

(kconfigwidgets): Move qttools to native-inputs.

(kded): [inputs]: Remove unneeded kinit input.
[native-inputs]: Add kdoctools.

(kdesignerplugin): [inputs]: Remove extraneous inputs.
[native-inputs]: Add kdoctools.

(kglobalaccel): [inputs]: Remove extraneous inputs.

(kinit): [native-inputs]: Add kdoctools.

(knewstuff): [inputs]: Add kpackage.

(krunner): [arguments]: Disable failing tests.

(kservice): [arguments]: Enable all tests that work.
[native-inputs]: Add kdoctools.

(ktexteditor): [arguments]: Enable all tests that work.

(kwallet): [native-inputs]: Add kdoctools.

(purpose): [arguments]: Remove unneeded hack.

(kdelibs4support): Move qttools to native-inputs.
[native-inputs]: Add kdoctools.

(kcontacts): [inputs]: Add iso-codes since the tests look for some .json
files from it.  [arguments]: Disable failing test.

(networkmanager-qt): [arguments]: Respect tests?.

* gnu/local.mk: Delete references to deleted patches:
kdbusaddons-kinit-file-name.patch
kinit-kdeinit-libpath.patch
kpackage-allow-external-paths.patch
kpackage-fix-KF5PackageMacros.cmake.patch
plasma-framework-fix-KF5PlasmaMacros.cmake.patch

* gnu/packages/patches/kdbusaddons-kinit-file-name.patch: Delete file.
* gnu/packages/patches/kinit-kdeinit-libpath.patch: Delete file.
* gnu/packages/patches/kpackage-allow-external-paths.patch: Delete file.
* gnu/packages/patches/kpackage-fix-KF5PackageMacros.cmake.patch: Delete
file.
* gnu/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch:
Delete file.

* gnu/packages/patches/kinit-kdeinit-extra_libs.patch: Fix patch.

PHODINA Kcontacts Squash

diff --git a/gnu/local.mk b/gnu/local.mk
index 07e3497d10..500f1be1ff 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1337,7 +1337,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch	\
   %D%/packages/patches/julia-tracker-16-compat.patch		\
   %D%/packages/patches/julia-allow-parallel-build.patch		\
-  %D%/packages/patches/kdbusaddons-kinit-file-name.patch	\
   %D%/packages/patches/libffi-3.3-powerpc-fixes.patch		\
   %D%/packages/patches/libffi-float128-powerpc64le.patch	\
   %D%/packages/patches/libobjc2-unbundle-robin-map.patch	\
@@ -1351,14 +1350,11 @@ dist_patch_DATA =						\
   %D%/packages/patches/kiki-missing-includes.patch		\
   %D%/packages/patches/kiki-portability-64bit.patch		\
   %D%/packages/patches/kinit-kdeinit-extra_libs.patch		\
-  %D%/packages/patches/kinit-kdeinit-libpath.patch		\
   %D%/packages/patches/kio-search-smbd-on-PATH.patch		\
   %D%/packages/patches/kismet-unbundle-boost.patch		\
   %D%/packages/patches/kmail-Fix-missing-link-libraries.patch \
   %D%/packages/patches/kmod-module-directory.patch		\
   %D%/packages/patches/kmscon-runtime-keymap-switch.patch	\
-  %D%/packages/patches/kpackage-allow-external-paths.patch	\
-  %D%/packages/patches/kpackage-fix-KF5PackageMacros.cmake.patch \
   %D%/packages/patches/kmplayer-aarch64.patch			\
   %D%/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch	\
   %D%/packages/patches/kobodeluxe-paths.patch			\
@@ -1597,7 +1593,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/pciutils-hurd-configure.patch		\
   %D%/packages/patches/pciutils-hurd-fix.patch			\
   %D%/packages/patches/pjproject-install-libpjsua2.patch	\
-  %D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
   %D%/packages/patches/pokerth-boost.patch			\
   %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch		\
   %D%/packages/patches/pthreadpool-system-libraries.patch	\
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 35c3b68bda..875df10adf 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -28,6 +28,7 @@
 
 (define-module (gnu packages kde-frameworks)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system python)
   #:use-module (guix build-system qt)
   #:use-module (guix build-system trivial)
   #:use-module (guix download)
@@ -61,8 +62,10 @@ (define-module (gnu packages kde-frameworks)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages kerberos)
   #:use-module (gnu packages kde-plasma)
+  #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages mp3)
@@ -88,7 +91,7 @@ (define-module (gnu packages kde-frameworks)
 (define-public extra-cmake-modules
   (package
     (name "extra-cmake-modules")
-    (version "5.91.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -97,7 +100,7 @@ (define-public extra-cmake-modules
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0k65rvxh926ya6qahzk2ns7g1fya1429648mlx7iipxa61g8h5wp"))))
+                "1vq3sd4qfr4hjcgqyfpykcz5wyagbfvrd4p24pdki1zjqn5j76pq"))))
     (build-system cmake-build-system)
     (native-inputs
      ;; Add test dependency, except on armhf where building it is too
@@ -251,7 +254,7 @@ (define-public phonon-backend-gstreamer
 (define-public attica
   (package
     (name "attica")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -260,7 +263,7 @@ (define-public attica
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1njw1sifykyqldb5idaywdzi3xg7a6bvzkrvazwmyixd0npq12dx"))))
+                "0cy9dd8kazfkhas87bxjj5smmzay3gvkjwsmy6gvkfxc6rvpqr5z"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -291,7 +294,7 @@ (define-public attica
 (define-public bluez-qt
   (package
     (name "bluez-qt")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -300,7 +303,7 @@ (define-public bluez-qt
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1kqhps4qyvqm0qmk7fb3w41bib898amipchf8csdzacw4bzpri9k"))))
+                "1dlasb39kqrcql6hq0sl74ax3n5bdcy3pkhvc9vwpf9dxn1j93gm"))))
     (build-system cmake-build-system)
     (native-inputs
      (list dbus extra-cmake-modules))
@@ -313,7 +316,13 @@ (define-public bluez-qt
                     "-DUDEV_RULES_INSTALL_DIR=" #$output "/lib/udev/rules.d"))
            ;; TODO: Make tests pass: DBUS_FATAL_WARNINGS=0 still yields 7/8 tests
            ;; failing.  When running after install, tests hang.
-           #:tests? #f))
+           #:phases
+            '(modify-phases %standard-phases
+              (replace 'check
+                (lambda* (#:key tests? #:allow-other-keys)
+                  (when tests?
+                    (setenv "DBUS_FATAL_WARNINGS" "0")
+                    (invoke "dbus-launch" "ctest")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "QML wrapper for BlueZ")
     (description "bluez-qt is a Qt-style library for accessing the bluez
@@ -323,7 +332,7 @@ (define-public bluez-qt
 (define-public breeze-icons
   (package
     (name "breeze-icons")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -332,12 +341,15 @@ (define-public breeze-icons
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0lqglrjgjb4ralgmr7lb9k7acmn8q4jm18s4p3gbgd9iswyqgsbm"))))
+                "0rj30r52ca6njx00gmmni4k70yn8873ihxfbc66lklwzk1irdq29"))))
     (build-system cmake-build-system)
     (native-inputs
-     (list extra-cmake-modules fdupes libxml2))
+     (list extra-cmake-modules fdupes
+           python python-lxml)) ;; For 24x24 icon generation
     (inputs
      (list qtbase-5))
+    (arguments ;; fails because duplicate icons exist. TODO: try fix this.
+     `(#:tests? #f))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Default KDE Plasma 5 icon theme")
     (description "Breeze provides a freedesktop.org compatible icon theme.
@@ -350,7 +362,7 @@ (define-public breeze-icons
 (define-public kapidox
   (package
     (name "kapidox")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -359,12 +371,12 @@ (define-public kapidox
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1irl25pf60frzrmm1ksgjq6y8kn3rd5snliq69l4c42yznl9qv1j"))))
-    (build-system cmake-build-system)
+                "0vd5k4wmmawbhyy3cxj0gjidf4haghwbsbly9yr3zg3qb3g02ljg"))))
+    (build-system python-build-system)
     (arguments
-     `(#:tests? #f)) ; has no test target
-    (native-inputs
-     (list extra-cmake-modules))
+     `(#:tests? #f  ; has no test target
+       #:phases (modify-phases %standard-phases
+                  (delete 'sanity-check)))) ;its insane.
     (propagated-inputs
      ;; kapidox is a python programm
      ;; TODO: check if doxygen has to be installed, the readme does not
@@ -390,7 +402,7 @@ (define-public kapidox
 (define-public karchive
   (package
     (name "karchive")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -399,12 +411,14 @@ (define-public karchive
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0z8asn357pdbv4g9g0x18p72wskca1qanxljyix7wzc5rsi63wzm"))))
+                "1blzm6vf8kpflam4671r1y4svrsb79bglln7aia7baqh7a6a4xjh"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
+           ;; pkg-config ;; For zstd
     (inputs
      (list bzip2 qtbase-5 xz zlib))
+           ;; `(,zstd "lib")  ;; FIXME: Tests fail with zstd
     (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
@@ -421,7 +435,7 @@ (define-public karchive
 (define-public kcalendarcore
   (package
     (name "kcalendarcore")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -430,7 +444,7 @@ (define-public kcalendarcore
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1y1f8gc1g9yn9kgmn53f1zvkizasfs667dfin3fyci657r5qwpw2"))))
+                "0fhbas8i7i08z4x32yq49admiz8vk4h9vwgkh7qy14lbzf6ydwkg"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules perl tzdata-for-tests))
@@ -439,30 +453,20 @@ (define-public kcalendarcore
     (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)
+         (add-before 'check 'check-setup
+           (lambda* (#:key inputs #:allow-other-keys) ;;; XXX: failing test
+             (setenv "QT_QPA_PLATFORM" "offscreen")
              (setenv "TZ" "Europe/Prague")
              (setenv "TZDIR"
                      (search-input-directory inputs
-                                             "share/zoneinfo")))))))
+                                             "share/zoneinfo"))))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               ;; Its already been fixed upstream; remove in 5.93.
+               ;; c0428a284444b995d320046c04ef5377d51e4c5c
+               (invoke "ctest" "-E" "testdateserialization"))
+             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Library for interfacing with calendars")
     (description "This library provides access to and handling of calendar
@@ -478,7 +482,7 @@ (define-public kcalendarcore
 (define-public kcodecs
   (package
     (name "kcodecs")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -487,7 +491,7 @@ (define-public kcodecs
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0y9n2a5n18pasdmrp0xb84hla9l27yj2x3k4p1c041sd9nkwixpk"))))
+                "0xfjc0diljx081as3b500awybay9l3sfl59792h5z3clafjbgrfn"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules gperf qttools))
@@ -512,7 +516,7 @@ (define-public kcodecs
 (define-public kconfig
   (package
     (name "kconfig")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -521,25 +525,23 @@ (define-public kconfig
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1s3h4hfpw7c0894cifj66bj1yhx8g94ckvl71jm7qqsb5x5h6y9n"))))
+                "08q57f3wxj22d485s0ph53p44yrkjb376817470a0s43p10vc0bq"))))
     (build-system cmake-build-system)
     (native-inputs
-     (list dbus extra-cmake-modules inetutils qttools
-           xorg-server-for-tests))
+     (list extra-cmake-modules qttools))
     (inputs
      (list qtbase-5))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "HOME" (getcwd))
-             (setenv "TMPDIR" (getcwd))
-             #t))
          (replace 'check
-           (lambda _
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             (invoke "dbus-launch" "ctest" "."))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests? ;; kconfigcore-kconfigtest fails inconsistently!!
+               (setenv "HOME" (getcwd))
+               (setenv "QT_QPA_PLATFORM" "offscreen")
+               (invoke "ctest" "-E" "(kconfigcore-kconfigtest|\
+kconfiggui-kstandardshortcutwatchertest)"))
+             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Kconfiguration settings framework for Qt")
     (description "KConfig provides an advanced configuration system.
@@ -574,7 +576,7 @@ (define-public kconfig
 (define-public kcoreaddons
   (package
     (name "kcoreaddons")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -583,39 +585,23 @@ (define-public kcoreaddons
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "10a7zys3limsawl7lk9ggymk3msk2bp0y8hp0jmsvk3l405pd1ps"))))
+                "0rv63byrxwf9zdpx347rxybpk2j9yyjqm323j60vb8ja6a7p2pyz"))))
     (build-system cmake-build-system)
     (native-inputs
-     (list extra-cmake-modules qttools shared-mime-info
+     (list extra-cmake-modules qttools shared-mime-info))
            ;; TODO: FAM: File alteration notification http://oss.sgi.com/projects/fam
-           xorg-server-for-tests)) ; for the tests
     (inputs
      (list qtbase-5))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before 'check 'blacklist-failing-test
-           (lambda _
-             ;; Blacklist failing tests.
-             (with-output-to-file "autotests/BLACKLIST"
-               (lambda _
-                 ;; FIXME: Make it pass.  Test failure caused by stout/stderr
-                 ;; being interleaved.
-                 (display "[test_channels]\n*\n")
-                 ;; This fails with ENOSPC because of too many inotify watches.
-                 (display "[benchNotifyWatcher]\n*\n")))
-             #t))
-         ;; See upstream commit ee424e9b62368485bba4193053cabb553a1d268e
-         (add-after 'unpack 'fix-broken-test
-           (lambda _
-             (substitute* "autotests/kdirwatch_unittest.cpp"
-               (("QVERIFY\\(waitForRecreationSignal\\(watch, existingFile\\)\\);" m)
-                (string-append m "\nwaitUntilNewSecond();")))
-             #t))
-         (add-before 'check 'check-setup
-           (lambda _
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
              (setenv "HOME" (getcwd))
              (setenv "TMPDIR" (getcwd))
+             (when tests? ;; kdirwatch test fails inconsistently. kprocesstest fails.
+               (invoke "ctest" "-E" "(kdirwatch_qfswatch_unittest|kprocesstest|\
+kdirwatch_stat_unittest)"))
              #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Qt addon library with a collection of non-GUI utilities")
@@ -629,7 +615,7 @@ (define-public kcoreaddons
 (define-public kdbusaddons
   (package
     (name "kdbusaddons")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -638,27 +624,29 @@ (define-public kdbusaddons
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1vz2hg5p8wvfk0pi8v25zqzcn8yj7ykakxjyipmadvi02c1h8gic"))
-              (patches (search-patches "kdbusaddons-kinit-file-name.patch"))))
+                "0m5fd396xi3dhc45zwxjrrxr2bhlrc8g8m7n17jq1ylzqhyg60vw"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules dbus qttools))
     (inputs
-     (list qtbase-5 qtx11extras kinit-bootstrap)) ;; kinit-bootstrap: kinit package which does not depend on kdbusaddons.
+     (list qtbase-5 qtx11extras kinit-bootstrap))
+    ;; kinit-bootstrap: kinit package which does not depend on kdbusaddons.
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before
-          'configure 'patch-source
+         (add-before 'configure 'patch-source
           (lambda* (#:key inputs #:allow-other-keys)
             ;; look for the kdeinit5 executable in kinit's store directory,
             ;; instead of the current application's directory:
             (substitute* "src/kdeinitinterface.cpp"
-              (("@SUBSTITUTEME@") (assoc-ref inputs "kinit")))))
+              (("<< QCoreApplication::applicationDirPath..")
+               (string-append
+                "<< QString::fromUtf8(\"" (assoc-ref inputs "kinit") "/bin\")" )))))
          (replace 'check
-           (lambda _
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             (invoke "dbus-launch" "ctest" "."))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "DBUS_FATAL_WARNINGS" "0")
+               (invoke "dbus-launch" "ctest")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Convenience classes for DBus")
     (description "KDBusAddons provides convenience classes on top of QtDBus,
@@ -670,7 +658,7 @@ (define-public kdbusaddons
 (define-public kdnssd
   (package
     (name "kdnssd")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -679,7 +667,7 @@ (define-public kdnssd
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0wadknnf472rqg2xnqzs5v23qzqfr336wj6d96yg2ayqm0chbppy"))))
+                "1m24v36pphy591z1xp90i0yxv70c62iinvy4gspdi15bz94sydjz"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules qttools))
@@ -725,7 +713,7 @@ (define-public kgraphviewer
 (define-public kguiaddons
   (package
     (name "kguiaddons")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -734,7 +722,7 @@ (define-public kguiaddons
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1yndjdhb9zzlhh74xccpys38balm5dma56sx6bwwfrga1phq0g5l"))))
+                "0pyzgyrglvz2m11b82rycs9fbmzpfgzabnjkvsq00agjcnjparqg"))))
     (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,
@@ -743,7 +731,7 @@ (define-public kguiaddons
     (native-inputs
      (list extra-cmake-modules pkg-config))
     (inputs
-     (list qtbase-5 qtx11extras))
+     (list qtbase-5 qtwayland qtx11extras wayland))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Utilities for graphical user interfaces")
     (description "The KDE GUI addons provide utilities for graphical user
@@ -753,7 +741,7 @@ (define-public kguiaddons
 (define-public kholidays
   (package
     (name "kholidays")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -761,18 +749,8 @@ (define-public kholidays
                     (version-major+minor version) "/"
                     name "-" version ".tar.xz"))
        (sha256
-        (base32 "1rifx51yk24sk578h08s1bwpqb61rnyyks33zpl82lcdnl1ljp26"))))
+        (base32 "042bdg46hkpg66vdp9gk13wck5yhks8s6i9qz9xzh2mikz285lqf"))))
     (build-system cmake-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             ;; blacklist a failing test function TODO: make it pass
-             (with-output-to-file "autotests/BLACKLIST"
-               (lambda _
-                 (display "[testDefaultRegions]\n*\n")))
-             #t)))))
     (native-inputs
      (list extra-cmake-modules qttools))
     (inputs
@@ -786,7 +764,7 @@ (define-public kholidays
 (define-public ki18n
   (package
     (name "ki18n")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -795,7 +773,7 @@ (define-public ki18n
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1f952488492sm904i1iwgjp2gc7z07312mlshw4ckh2801y0qclc"))))
+                "0xsp77iaxf72i0ri3pb6x5rrdz3cv8rxcaqcrynisvsmx7l35005"))))
     (build-system cmake-build-system)
     (propagated-inputs
      `(("gettext" ,gettext-minimal)
@@ -803,14 +781,15 @@ (define-public ki18n
     (native-inputs
      (list extra-cmake-modules))
     (inputs
-     (list qtbase-5 qtdeclarative qtscript))
+     (list qtbase-5 qtdeclarative qtscript iso-codes))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "HOME" (getcwd))
-             #t)))))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "HOME" (getcwd))
+               (invoke "ctest" "-E" "(kcountrytest|kcountrysubdivisiontest)")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "KDE Gettext-based UI text internationalization")
     (description "KI18n provides functionality for internationalizing user
@@ -827,7 +806,7 @@ (define-public ki18n
 (define-public kidletime
   (package
     (name "kidletime")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -836,7 +815,7 @@ (define-public kidletime
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0vbxs80a8kh2xbxclx8zwl7acynsasa7i0cs171fxr26d0dmmhm5"))))
+                "1mw0jarqv2ypxwgf4qaxqlw0sijw0is36sasrfz8grbykwi18bz1"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config))
@@ -856,7 +835,7 @@ (define-public kirigami
   ;; plasma-framework which is tier 3.
   (package
     (name "kirigami")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -865,7 +844,7 @@ (define-public kirigami
                     "kirigami2-" version ".tar.xz"))
               (sha256
                (base32
-                "0akkyif6n9l7hw4cj6nkf1zwgnd7vqi1gyiqmn588rspgl91zf1w"))))
+                "0p1x40p38pr9rvzwil57asgsaa95qpjqi9npwv4pgibhxacgznha"))))
     (properties `((upstream-name . "kirigami2")))
     (build-system cmake-build-system)
     (native-inputs
@@ -891,7 +870,7 @@ (define-public kirigami
 (define-public kitemmodels
   (package
     (name "kitemmodels")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -900,7 +879,7 @@ (define-public kitemmodels
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0x7y5shg2pp490hvmkz81b8j01cha9j1001q34m7pnyf0n3zknzc"))))
+                "16z8m11cyrapf6m56gmpjmvcgan7s50si8rl1cbbid02src7yp76"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -941,7 +920,7 @@ (define-public kitemmodels
 (define-public kitemviews
   (package
     (name "kitemviews")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -950,7 +929,7 @@ (define-public kitemviews
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "04vlmkvc3y5h7cpb6kdv9gha5axxkimhqh44mdg2ncyn4sas6j68"))))
+                "1ml6i1km22xsprldkzmngfh9xs5vdhlfvc6f7aq5hx9q5114v2q5"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules qttools))
@@ -966,7 +945,7 @@ (define-public kitemviews
 (define-public kplotting
   (package
     (name "kplotting")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -975,7 +954,7 @@ (define-public kplotting
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1wj4n2a8iz9ml1y0012xkpsx3dfp5gl2dn80sifrzvkxjxrhwach"))))
+                "1l8y0xlwjyv1l4g0mag4bgf906jc654ygky1bribzay4wki66pf9"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules qttools))
@@ -993,7 +972,7 @@ (define-public kplotting
 (define-public ksyntaxhighlighting
   (package
     (name "ksyntaxhighlighting")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1002,7 +981,7 @@ (define-public ksyntaxhighlighting
                     "syntax-highlighting-" version ".tar.xz"))
               (sha256
                (base32
-                "12jn7lqsp86329spai7n1n8i65nwhxh8gp33wkq543h7w3i2a3jb"))))
+                "03p5qzf13nbf54gzad3q1q6i33iggz3ik0ydr9szhj92kfppwd4r"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules perl qttools
@@ -1017,9 +996,6 @@ (define-public ksyntaxhighlighting
            (lambda _
              ;; revert the patch-shebang phase on scripts which are
              ;; in fact test data
-             (substitute* '("autotests/input/test.bash"
-                            "autotests/folding/test.bash.fold")
-               (((which "bash")) "/bin/bash"))
              (substitute* '("autotests/input/highlight.sh"
                             "autotests/folding/highlight.sh.fold")
                (((which "sh")) " /bin/sh")) ;; space in front!
@@ -1064,7 +1040,7 @@ (define-public plasma-wayland-protocols
 (define-public kwayland
   (package
     (name "kwayland")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1073,20 +1049,21 @@ (define-public kwayland
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0hrpbfzixjpnfy9q5x66q1fff0p7n80rrs127zzdv68pyi6456ry"))))
+                "15fizsbdl6psmi24fvpfk9dvh61q07irzavpkl961qp4zg79gq4m"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config))
     (inputs
-     (list qtbase-5 qtwayland wayland wayland-protocols))
+     (list qtbase-5 plasma-wayland-protocols qtwayland wayland wayland-protocols))
     (arguments
-     `(#:tests? #f ; FIXME tests require weston to run
-                   ; weston requires wayland flags in mesa
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "XDG_RUNTIME_DIR" "/tmp")
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (setenv "XDG_RUNTIME_DIR" (getcwd))
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             (when tests? ;; One test fails.
+               (invoke "ctest" "-E" "kwayland-testWaylandRegistry"))
              #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Qt-style API to interact with the wayland client and server")
@@ -1101,7 +1078,7 @@ (define-public kwayland
 (define-public kwidgetsaddons
   (package
     (name "kwidgetsaddons")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1110,7 +1087,7 @@ (define-public kwidgetsaddons
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "03l37lh219np7pqfa56r2v7n5s5xg4rjq005qng4b5izd95ri56j"))))
+                "0b0z24j162j39zfycl5al69xcqgdsr96p7ii3prm1mbyda6mbqyh"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules qttools xorg-server-for-tests))
@@ -1119,12 +1096,12 @@ (define-public kwidgetsaddons
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'adjust-tests
-           (lambda _
-             ;; It is unclear why this test suddenly started failing.
-             (substitute* "autotests/kcolumnresizertest.cpp"
-               ((".*QCOMPARE.*") ""))
-             #t)))))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")
+               (invoke "ctest" "-E" "(ksqueezedtextlabelautotest|\
+kwidgetsaddons-kcolumnresizertest)")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Large set of desktop widgets")
     (description "Provided are action classes that can be added to toolbars or
@@ -1136,7 +1113,7 @@ (define-public kwidgetsaddons
 (define-public kwindowsystem
   (package
     (name "kwindowsystem")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1145,7 +1122,7 @@ (define-public kwindowsystem
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0a68cj0bsl5a9sxfd969khznycrn9p6grp2b08hqacxqdknzs0wh"))))
+                "103xvhzlggi05k16s9kssy7g5a74k9yildj1a4igqwi39wmvvnyw"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules
@@ -1172,16 +1149,18 @@ (define-public kwindowsystem
                  (display "[testClientMachine]\n*\n"))) ;; requires network
              #t))
          (replace 'check
-           (lambda _
+           (lambda* (#:key tests? #:allow-other-keys)
              ;; 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
-             (system "openbox &")
-             (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             (invoke "dbus-launch" "ctest" "."))))))
+             (when tests?
+               (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
+               (system "openbox &")
+               (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
+               (setenv "DBUS_FATAL_WARNINGS" "0")
+               (invoke "dbus-launch" "ctest" "-E"
+                       "kwindowsystem-kwindowsystemplatformwaylandtest")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "KDE access to the windowing system")
     (description "KWindowSystem provides information about and allows
@@ -1199,7 +1178,7 @@ (define-public kwindowsystem
 (define-public modemmanager-qt
   (package
     (name "modemmanager-qt")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1208,7 +1187,7 @@ (define-public modemmanager-qt
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0ydq1l823jgp0yrrpqi1zdk5dsg65ydk1x082qwsa9a0vzs0np3x"))))
+                "162qzq1aqv2l3bi0r01xrfan20r1zhaaqih4dqbaj7vqibsb9l3y"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules dbus pkg-config))
@@ -1221,9 +1200,11 @@ (define-public modemmanager-qt
      `(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda _
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             (invoke "dbus-launch" "ctest" "."))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "DBUS_FATAL_WARNINGS" "0")
+               (invoke "dbus-launch" "ctest"))
+             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Qt wrapper for ModemManager DBus API")
     (description "ModemManagerQt provides access to all ModemManager features
@@ -1235,7 +1216,7 @@ (define-public modemmanager-qt
 (define-public networkmanager-qt
   (package
     (name "networkmanager-qt")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1244,7 +1225,7 @@ (define-public networkmanager-qt
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1h2kdw5vs7mn3n7bvqwm36a48ra9iap6384kanz14zjbankj04c1"))))
+                "0r7s3fw9fk3pkrzrl1bxsmkf1qbgv3p0jrsskp28f3561vncipai"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules dbus pkg-config))
@@ -1258,9 +1239,10 @@ (define-public networkmanager-qt
      `(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda _
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             (invoke "dbus-launch" "ctest" "."))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "DBUS_FATAL_WARNINGS" "0")
+               (invoke "dbus-launch" "ctest")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Qt wrapper for NetworkManager DBus API")
     (description "NetworkManagerQt provides access to all NetworkManager
@@ -1272,7 +1254,7 @@ (define-public networkmanager-qt
 (define-public oxygen-icons
   (package
     (name "oxygen-icons")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1281,7 +1263,7 @@ (define-public oxygen-icons
                     name "5" "-" version ".tar.xz"))
               (sha256
                (base32
-                "1rjsnz0g7zyzgii26sk370adb6jcyvr2lm8qi23fvqimifngqm2c"))))
+                "1wcy8bv4d6jns7vaisbvjc8nxriw9vkiz7j4za5ry7wnvlzv126a"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules fdupes))
@@ -1296,7 +1278,7 @@ (define-public oxygen-icons
 (define-public prison
   (package
     (name "prison")
-    (version "5.70.0")
+    (version "5.92.0")
     (source
      (origin
        (method url-fetch)
@@ -1304,7 +1286,7 @@ (define-public prison
                            (version-major+minor version) "/"
                            name "-" version ".tar.xz"))
        (sha256
-        (base32 "1qflivvb593d2npc218xkdn3w5zvl7x8v1b52ydnggsxzbgkqvb4"))))
+        (base32 "07p47q8sva82hglfzp145a1sajlal8b3qshhkicc9rkbsngywvvy"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1319,14 +1301,14 @@ (define-public prison
 (define-public pulseaudio-qt
   (package
     (name "pulseaudio-qt")
-    (version "1.2")
+    (version "1.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kde/stable/pulseaudio-qt"
                                   "/pulseaudio-qt-" version ".tar.xz"))
               (sha256
                (base32
-                "1i0ql68kxv9jxs24rsd3s7jhjid3f2fq56fj4wbp16zb4wd14099"))))
+                "1i4yb0v1mmhih8c2i61hybg6q60qys3pc5wbjb7a0vwl1mihgsxw"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config))
@@ -1346,7 +1328,7 @@ (define-public pulseaudio-qt
 (define-public qqc2-desktop-style
   (package
     (name "qqc2-desktop-style")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1355,7 +1337,7 @@ (define-public qqc2-desktop-style
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1n47cl082zqdw6ykil04rw6bws4fn1m8wfx4vxv1aqj9warbdks3"))))
+                "1b5xr71lan7ixvd1nfxy9wj21h4wwidsaxa192sha1d8p49hhlwp"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config))
@@ -1379,7 +1361,7 @@ (define-public qqc2-desktop-style
 (define-public solid
   (package
     (name "solid")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1388,15 +1370,16 @@ (define-public solid
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0alng7ciw6xji0s2zrk8dsx1p0p9shrrfzl8wnkwygc5chnhysz7"))))
+                "172sid8l1znzxxz0hi5m19yy4vg7l1nbghvzjvh18ssbmxcwh9l9"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda _
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             (invoke "dbus-launch" "ctest" "."))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "DBUS_FATAL_WARNINGS" "0")
+               (invoke "dbus-launch" "ctest")))))))
     (native-inputs
      (list bison dbus extra-cmake-modules flex qttools))
     (inputs
@@ -1414,7 +1397,7 @@ (define-public solid
 (define-public sonnet
   (package
     (name "sonnet")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1423,13 +1406,14 @@ (define-public sonnet
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0b88h5fw1n8zyrg0vq3lj2jbjjyh0mk64lj6ab3643kxzqxbn30w"))))
+                "08jps1hy0qvk62wnzn50qi8iaay7xav3hbcj55sk70mm7pd1vz1i"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config qttools))
     (inputs
      (list hunspell
            ;; TODO: hspell (for Hebrew), Voikko (for Finish)
+           qtdeclarative
            qtbase-5))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Multi-language spell checker")
@@ -1441,7 +1425,7 @@ (define-public sonnet
 (define-public threadweaver
   (package
     (name "threadweaver")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1450,7 +1434,7 @@ (define-public threadweaver
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0y1q0wy073lf11g4jrp4bdw4kpj4ibqfscsxj6zlh8ban9zlf389"))))
+                "008in2wbl6zr404m9hbqdvy3d4r06mmb3jrr13myldwljqywzc28"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1471,7 +1455,7 @@ (define-public threadweaver
 (define-public kactivities
   (package
     (name "kactivities")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1480,7 +1464,7 @@ (define-public kactivities
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1whsp0f87lrcn61s9rfhy0aj68hm6zgfa38mq6frlkcjksi0z1vn"))))
+                "1kfvg23gdl4k6azs6700j8i8ncl8c7rrc70w1i2xhphz27ybc1pw"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1516,7 +1500,7 @@ (define-public kactivities
 (define-public kauth
   (package
     (name "kauth")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1525,7 +1509,7 @@ (define-public kauth
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0nmdz7ra3hpg0air4lfkzilv7cwx3zxs29k7sh8l3i1fs3qpjwxm"))))
+                "0a27z9xr5ccxfcxmx93vs4hgxc388nsd9ac906mdh475ivv4p0j4"))))
     (build-system cmake-build-system)
     (native-inputs
      (list dbus extra-cmake-modules qttools))
@@ -1546,9 +1530,10 @@ (define-public kauth
                (("@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@")
                 "${KDE_INSTALL_LIBEXECDIR}"))))
          (replace 'check
-           (lambda _
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             (invoke "dbus-launch" "ctest" "."))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "DBUS_FATAL_WARNINGS" "0")
+               (invoke "dbus-launch" "ctest")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Execute actions as privileged user")
     (description "KAuth provides a convenient, system-integrated way to offload
@@ -1559,7 +1544,7 @@ (define-public kauth
 (define-public kcompletion
   (package
     (name "kcompletion")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1568,7 +1553,7 @@ (define-public kcompletion
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1pjgya8wi28jx63hcdi9v5f5487gzbkw2j1iganhd7bhcb8s7zpy"))))
+                "1svwvj9jxkgcddfdila10ggdmsabs22vnhf9k7isp2zfdif55w88"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules qttools))
@@ -1584,7 +1569,7 @@ (define-public kcompletion
 (define-public kcontacts
   (package
     (name "kcontacts")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1593,7 +1578,7 @@ (define-public kcontacts
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "182ma11z3kqxq3cwy7kwprfqkb9bcmn44w7k9vixbid4pv5wa0lb"))))
+                "1kik4pvy8snvj6rsc9pfbcpc8rrcn0k4pjj1h9m221zma1p00xhj"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules xorg-server)) ; for the tests
@@ -1601,18 +1586,28 @@ (define-public kcontacts
      (list qtbase-5))
     (propagated-inputs
      (list ;; As required by KF5ContactsConfig.cmake.
-           kcodecs kconfig kcoreaddons ki18n))
+          iso-codes kcodecs kconfig kcoreaddons qtdeclarative ki18n))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before 'check 'start-xorg-server
-           (lambda* (#:key inputs #:allow-other-keys)
+         (replace 'check
+           (lambda* (#:key tests? #: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 "Xvfb :1 -screen 0 640x480x24 &")
-             (setenv "DISPLAY" ":1")
+             (when tests?
+               (setenv "HOME" (getcwd))
+               (system "Xvfb :1 -screen 0 640x480x24 &")
+               (setenv "DISPLAY" ":1")
+               ;; testrounddrip fail inconsistently.
+               ;; addresstest produces wrong value:
+               ;;Actual   (address.formattedAddress(QStringLiteral("Jim Knopf"))):
+               ;;"Jim Knopf\nLummerlandstr. 1\n12345 Lummerstadt\n\nGERMANY"
+               ;;Expected (result)                                               :
+               ;;"Jim Knopf\nLummerlandstr. 1\n12345 Lummerstadt\n\nGERMANIA"
+               (invoke "ctest" "-E"
+			   "(kcontacts-addresstest|kcontacts-testroundtrip|kcontacts-impptest|kcontacts-birthdaytest|kcontacts-addresseetest)"))
              #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "API for contacts/address book data following the vCard standard")
@@ -1625,7 +1620,7 @@ (define-public kcontacts
 (define-public kcrash
   (package
     (name "kcrash")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1634,7 +1629,7 @@ (define-public kcrash
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "11sy9hrjpvybqi53qjrnncy9mzifrb3vqxi2d12ldjzqyqd8pirp"))))
+                "1ir64mlv49vh3vz81r22q3sx0fichiwjr8qw5jf5vx96a1dn1icv"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1649,7 +1644,7 @@ (define-public kcrash
 (define-public kdoctools
   (package
     (name "kdoctools")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1658,7 +1653,7 @@ (define-public kdoctools
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0g0k83np2xaxk05spf14h5fvzy0n7kbcwx1sa9wjh570f6jx87am"))))
+                "0w08fa8rl0dhp59lv6xcvypahl6pxda6cr0vv0f0xv0xp6wax8w6"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1706,7 +1701,7 @@ (define-public kdoctools
 (define-public kfilemetadata
   (package
     (name "kfilemetadata")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1715,25 +1710,22 @@ (define-public kfilemetadata
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "18n1a5857090a1c1rxzd07sxs652gl6wr3n99sp8rxmvkghn9zsj"))))
+                "1khmx9kd1jhd6j7rmfww3vmyjz2pg36mpsdn0bc77kwl21ax696n"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before 'check 'disable-failing-test
-           (lambda _
-             ;; Blacklist a failing test-function. FIXME: Make it pass.
-             ;; UserMetaDataWriterTest fails with getxattr("…/writertest.txt")
-             ;; -> EOPNOTSUPP (Operation not supported)
-             (with-output-to-file "autotests/BLACKLIST"
-               (lambda _
-                 (display "[testMimetype]\n*\n")
-                 (display "[test]\n*\n")))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               ;; FIXME: Test can't find audio/x-speex mimeinfo
+               ;; (but it can find audio/x-speex+ogg).
+               (invoke "ctest" "-E"
+			   "(usermetadatawritertest|embeddedimagedatatest|taglibextractortest)"))
              #t)))))
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
-       ("pkg-config" ,pkg-config)
-       ("python-2" ,python-2)))
+       ("pkg-config" ,pkg-config)))
     (inputs
      (list attr
            ;; TODO: EPub http://sourceforge.net/projects/ebook-tools
@@ -1760,7 +1752,7 @@ (define-public kfilemetadata
 (define-public kimageformats
   (package
     (name "kimageformats")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1769,7 +1761,7 @@ (define-public kimageformats
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0pk4b725wapzdxv1mm6ddqcl6z8ffcpr32i5vrhrin8awi5gx13s"))))
+                "0sd3xhqh3zgy4jq8fc1llqjrxizylbsz58njz2dxqjas2a4rj16f"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config))
@@ -1813,7 +1805,7 @@ (define-public kimageformats
 (define-public kjobwidgets
   (package
     (name "kjobwidgets")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1822,7 +1814,7 @@ (define-public kjobwidgets
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "13kdczzyyh17hf6vlhh4li5bn4yq5bab5xa8mm63r9rynxihgclf"))))
+                "09l5zgr5mn29v410ng5rccdg2bki9r6cb8y2lrijzgfxfxpvj96z"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules qttools))
@@ -1837,7 +1829,7 @@ (define-public kjobwidgets
 (define-public knotifications
   (package
     (name "knotifications")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1846,7 +1838,7 @@ (define-public knotifications
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "01bn23xw2n53h9nl99lm3cjnqs8s66bmwkzf6fkpg9rzkykizbyc"))))
+                "1dwlx8w810l0cvy72mj52saf4x7i9p3xpqpjx4chy54n7mg0jklc"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules dbus qttools))
@@ -1855,23 +1847,23 @@ (define-public knotifications
            kconfig
            kcoreaddons
            kwindowsystem
+           libcanberra
+           libdbusmenu-qt
            phonon
+           qtdeclarative
            qtbase-5
            qtspeech
-           ;; TODO: Think about adding dbusmenu-qt5 from
-           ;; https://launchpad.net/libdbusmenu-qt
            qtx11extras))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "HOME" (getcwd))
-             #t))
          (replace 'check
-           (lambda _
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             (invoke "dbus-launch" "ctest" "."))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "HOME" (getcwd))
+               (setenv "DBUS_FATAL_WARNINGS" "0")
+               (invoke "dbus-launch" "ctest"))
+             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Desktop notifications")
     (description "KNotification is used to notify the user of an event.  It
@@ -1881,7 +1873,7 @@ (define-public knotifications
 (define-public kpackage
   (package
     (name "kpackage")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1890,11 +1882,7 @@ (define-public kpackage
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "03rp7p7i8ihz5wg58gjs638jk7xbszknfiy2j3r979snc57g95mv"))
-              ;; Default to: external paths/symlinks can be followed by a
-              ;; package
-              (patches (search-patches "kpackage-allow-external-paths.patch"
-                                       "kpackage-fix-KF5PackageMacros.cmake.patch"))))
+                "1av6v0629a8yi0wpl7xgyd0gsn5gi228abdlvbk4dzrx9vxpa7rn"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1910,9 +1898,10 @@ (define-public kpackage
        (modify-phases %standard-phases
          (add-after 'unpack 'patch
            (lambda _
+             (substitute* "src/kpackage/package.cpp"
+               (("externalPaths.false.") "externalPaths(true)"))
              ;; Make QDirIterator follow symlinks
-             (substitute* '("src/kpackage/packageloader.cpp"
-                            "src/kpackage/private/packagejobthread.cpp")
+             (substitute* '("src/kpackage/packageloader.cpp")
                (("^\\s*(const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories)(;)" _ a b)
                 (string-append a " | QDirIterator::FollowSymlinks" b))
                (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
@@ -1943,7 +1932,7 @@ (define-public kpackage
 (define-public kpty
   (package
     (name "kpty")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1952,7 +1941,7 @@ (define-public kpty
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1hp6iilr2asf2269linfazjv4yjg7rsi8wydxx53yyr99r0bgmah"))))
+                "0lp0bqlg1i0a5vl6gvvkngbsha8ab38z6b3sjvpmk83vixgsq7fb"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -1979,7 +1968,7 @@ (define-public kpty
 (define-public kunitconversion
   (package
     (name "kunitconversion")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1988,18 +1977,9 @@ (define-public kunitconversion
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0sp4gfzpf40cdi0xnff9sn7b75z88j0589svz4rv77q5m137cgnn"))))
+                "17ph75rg3y652ii0yxm9s8xrbpjs9pdfsrsajm220mi9ng2b9qj7"))))
     (build-system cmake-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'disable-a-failing-test-case
-           (lambda _
-             ;; FIXME: Re-enable this test-case. It was committed with the
-             ;; message: "tsan says it's clean, apart from issues in Qt
-             ;; (reported upstream)"
-             (substitute* "autotests/convertertest.cpp"
-               (("const int numThreads = 2") "const int numThreads = 0")))))))
+    (arguments `(#:tests? #f)) ;; Requires network.
     (native-inputs
      (list extra-cmake-modules))
     (inputs
@@ -2015,7 +1995,7 @@ (define-public kunitconversion
 (define-public syndication
   (package
     (name "syndication")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2024,7 +2004,7 @@ (define-public syndication
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1n3x8s1z4kd30xirfr07hi87vwhk4rilb5kslcjcgp5n9c0imcpv"))))
+                "0ijxpnsygwzzybic5lp8gfq57y84vrp3bq7vdbjh3h0345vvk6hw"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -2047,7 +2027,7 @@ (define-public syndication
 (define-public baloo
   (package
     (name "baloo")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2056,7 +2036,7 @@ (define-public baloo
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1cf5pp9hn3pqypwyzh63ksasap3n7qz6n3y2xgb83ss3fra90pjf"))))
+                "0xd4a0p22gjm523ymlyd5nfgp8z3ayb0nq6a04h5py507mc70d98"))))
     (build-system cmake-build-system)
     (propagated-inputs
      (list kcoreaddons kfilemetadata))
@@ -2083,17 +2063,6 @@ (define-public baloo
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             (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
            (lambda _
              ;; FIXME: kinotifytest broke in 5.70.0 with commit 73183acf00 and
@@ -2106,9 +2075,12 @@ (define-public baloo
                 (string-append all " AND NOT TRUE")))
              #t))
          (replace 'check
-           (lambda _
-             (setenv "DBUS_FATAL_WARNINGS" "0")
-             (invoke "dbus-launch" "ctest" "."))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "DBUS_FATAL_WARNINGS" "0")
+               (setenv "HOME" (getcwd))
+               (invoke "dbus-launch" "ctest"))
+             #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "File searching and indexing")
     (description "Baloo provides file searching and indexing.  It does so by
@@ -2119,7 +2091,7 @@ (define-public baloo
 (define-public kactivities-stats
   (package
     (name "kactivities-stats")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2128,7 +2100,7 @@ (define-public kactivities-stats
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1cnfdnxkw9hwbqdzdygp2vzwxqwqhxyipzwdcgar0clgnf7zi7wx"))))
+                "0lgp7zxgjmjm02x4mydlv6ivmlxqjkklav5vfwgjgf6v1qp161i2"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -2145,7 +2117,7 @@ (define-public kactivities-stats
 (define-public kbookmarks
   (package
     (name "kbookmarks")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2154,7 +2126,7 @@ (define-public kbookmarks
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1i5vcyvyc9whmflbcg2kc562ch93yscfic1c1n9z347g26jmgras"))))
+                "0hym3558xnp3h7q8kf1ljcy65r3g37mcmqb1ll3nxd912rv4wl4r"))))
     (build-system cmake-build-system)
     (propagated-inputs
      (list kwidgetsaddons))
@@ -2187,7 +2159,7 @@ (define-public kbookmarks
 (define-public kcmutils
   (package
     (name "kcmutils")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2196,7 +2168,7 @@ (define-public kcmutils
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "08f4yr546brl1dppp0khvsw9ihmh9a7rp505913pdhi0sklaiimz"))))
+                "0fldpkhq4ysma4m6qylr7kqvxw0rb11x5abz5921bhl5zicfcjfx"))))
     (build-system cmake-build-system)
     (propagated-inputs
      (list kconfigwidgets kservice))
@@ -2215,6 +2187,10 @@ (define-public kcmutils
                ;; print plugin name when loading fails
                (("^\\s*(qWarning\\(\\) << \"Error loading) (plugin:\")( << loader\\.errorString\\(\\);)" _ a b c)
                 (string-append a " KCM plugin\" << mod.service()->library() << \":\"" c)))
+             #t))
+         (add-before 'check 'check-setup
+           (lambda _
+             (setenv "QT_QPA_PLATFORM" "offscreen")
              #t)))))
     (inputs
      (list kauth
@@ -2240,7 +2216,7 @@ (define-public kcmutils
 (define-public kconfigwidgets
   (package
     (name "kconfigwidgets")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2249,19 +2225,18 @@ (define-public kconfigwidgets
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "195dw7nyr3fp78y3vfnyjh0hwgwk46f80wdcm8dck5rkscl3v9xz"))))
+                "0ji799xd45lpnd70a9bizicfz2bsmlxq6r0fqgn0ghwsbp9ywna2"))))
     (build-system qt-build-system)
     (propagated-inputs
      (list kauth kcodecs kconfig kwidgetsaddons))
     (native-inputs
-     (list extra-cmake-modules kdoctools))
+     (list extra-cmake-modules kdoctools qttools))
     (inputs
      (list kcoreaddons
            kguiaddons
            ki18n
            ;; todo: PythonModuleGeneration
-           qtbase-5
-           qttools))
+           qtbase-5))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -2271,6 +2246,13 @@ (define-public kconfigwidgets
                ;; make QDirIterator follow symlinks
                (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
                 (string-append a " | QDirIterator::FollowSymlinks" b)))
+             (substitute* "CMakeLists.txt"
+               (("5\\.90\\.0") "5.92.0"))
+             #t))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "ctest" "-E" "kstandardactiontest"))
              #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Widgets for configuration dialogs")
@@ -2283,7 +2265,7 @@ (define-public kconfigwidgets
 (define-public kdeclarative
   (package
     (name "kdeclarative")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2292,33 +2274,27 @@ (define-public kdeclarative
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1vq9pkrb0zsphi2sfx7cyy1kb6pklzjkmqdf5202z8vydlkc4549"))))
+                "1cymh8clcajk9cl6r443cpqk6vmp4x12ngc6wgp08z53zrvlv5py"))))
     (build-system cmake-build-system)
     (propagated-inputs
-     (list kconfig kpackage))
+     (list kconfig kpackage qtdeclarative))
     (native-inputs
-     (list extra-cmake-modules pkg-config xorg-server-for-tests))
+     (list dbus extra-cmake-modules pkg-config xorg-server-for-tests))
     (inputs
      (list kauth
-           kbookmarks
-           kcodecs
-           kcompletion
-           kconfigwidgets
            kcoreaddons
            kglobalaccel
            kguiaddons
            kiconthemes
            kio
-           kitemviews
            ki18n
            kjobwidgets
+           knotifications
            kservice
            kwidgetsaddons
            kwindowsystem
-           kxmlgui
            libepoxy
            qtbase-5
-           qtdeclarative
            solid))
     (arguments
      `(#:phases
@@ -2328,8 +2304,17 @@ (define-public kdeclarative
              ;; The test suite requires a running X server, setting
              ;; QT_QPA_PLATFORM=offscreen does not suffice.
              (system "Xvfb :1 -screen 0 640x480x24 &")
-             (setenv "DISPLAY" ":1")
-             #t)))))
+             (setenv "DISPLAY" ":1")))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "HOME" (getcwd))
+               (setenv "XDG_RUNTIME_DIR" (getcwd))
+               (setenv "QT_QPA_PLATFORM" "offscreen")
+               (setenv "DBUS_FATAL_WARNINGS" "0")
+               (invoke "dbus-launch" "ctest"
+                       "-E" ; FIXME: test fails.
+                       "fullmodelaccesstest")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Integration of QML and KDE work spaces")
     (description "KDeclarative provides integration of QML and KDE work spaces.
@@ -2342,7 +2327,7 @@ (define-public kdeclarative
 (define-public kded
   (package
     (name "kded")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2351,17 +2336,16 @@ (define-public kded
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0zqd33vy4ny7g9as3bhd75qi1chz1nlqq133pgw8kjanvghwwnk9"))))
+                "0v0fak84nw4lb4qc1irb9sn5nh5k7qrhnfav5smn3cvchldm6dc3"))))
     (build-system cmake-build-system)
     (native-inputs
-     (list extra-cmake-modules))
+     (list extra-cmake-modules kdoctools))
     (inputs
      (list kconfig
            kcoreaddons
            kcrash
            kdbusaddons
            kdoctools
-           kinit
            kservice
            qtbase-5))
     (home-page "https://community.kde.org/Frameworks")
@@ -2375,7 +2359,7 @@ (define-public kded
 (define-public kdesignerplugin
   (package
     (name "kdesignerplugin")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2384,28 +2368,15 @@ (define-public kdesignerplugin
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0dr6gcag2yzx8fvxis4x403jrcisywds95cywmiyz3pb5727cak2"))))
+                "0kial8k6qr39871v103952d0qcs0hm25y6k0vdg4y8ns8nrmjs06"))))
     (build-system qt-build-system)
     (native-inputs
-     (list extra-cmake-modules qttools))
+     (list extra-cmake-modules kdoctools qttools))
     (inputs
      (list kconfig
            kcoreaddons
            kdoctools
-           qtbase-5
-           ;; optional:
-           kcompletion
-           kconfigwidgets
-           kiconthemes
-           kitemviews
-           kio
-           kplotting
-           ktextwidgets
-           kdewebkit
-           kwidgetsaddons
-           kxmlgui
-           qtwebkit
-           sonnet))
+           qtbase-5))
     (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
@@ -2417,7 +2388,7 @@ (define-public kdesignerplugin
 (define-public kdesu
   (package
     (name "kdesu")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2426,7 +2397,7 @@ (define-public kdesu
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "17k29g7jwgqj5xdmr509438b9sq65zx8khdr4viybjf5xpi0cf5m"))))
+                "1yjyz4v0gn7ys7zy4ymn47zggxxmgd37big005c6g85dm63xr1s6"))))
     (build-system cmake-build-system)
     (propagated-inputs
      (list kpty))
@@ -2444,7 +2415,7 @@ (define-public kdesu
 (define-public kdewebkit
   (package
     (name "kdewebkit")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2453,7 +2424,7 @@ (define-public kdewebkit
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0y9ja3znkvzdbjfs91dwr4cmvl9fk97zpz2lkf0f9zhm2nw6q008"))))
+                "1dni134qbs5yff7zgk4n3sfjwblzarblg16rj35l59l6mly7f2jd"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules qttools))
@@ -2476,7 +2447,7 @@ (define-public kdewebkit
 (define-public kemoticons
   (package
     (name "kemoticons")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2485,7 +2456,7 @@ (define-public kemoticons
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "11v1srn3nii4j7cn4f19qvdw96pczwxhanzxlg4a9gf8kmnp5gxr"))))
+                "01wzy3mwfz4sqpq8i1hfbbymajp55axryiaqkfr9r2n1844y7kzx"))))
     (build-system cmake-build-system)
     (propagated-inputs
      (list kservice))
@@ -2513,7 +2484,7 @@ (define-public kemoticons
 (define-public kglobalaccel
   (package
     (name "kglobalaccel")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2522,7 +2493,7 @@ (define-public kglobalaccel
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0hmqigc8myiwwh7m6y2cm4vn0d3kmrhia179hyb84vpvvn3lm93z"))))
+                "0lhlb274pvv7rpkcsccqbv81bh8iklanp29g0k28wrv3kckiwyxy"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config qttools))
@@ -2531,9 +2502,7 @@ (define-public kglobalaccel
            kcrash
            kcoreaddons
            kdbusaddons
-           kservice
            kwindowsystem
-           libxcb
            qtbase-5
            qtx11extras
            xcb-util-keysyms))
@@ -2547,7 +2516,7 @@ (define-public kglobalaccel
 (define-public kiconthemes
   (package
     (name "kiconthemes")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2556,7 +2525,7 @@ (define-public kiconthemes
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "09bqpf3drqyfc81vgab9bsh1wm5qbzdwqjlczhax38660nnvh0r9"))))
+                "08yb6f980p620dfklfiyp83lcsqw4dds9qwzd6xpn2mzz07p2a11"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules qttools shared-mime-info))
@@ -2593,7 +2562,7 @@ (define-public kiconthemes
 (define-public kinit
   (package
     (name "kinit")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2602,11 +2571,10 @@ (define-public kinit
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1x4whs8p1daxjfp4ksf70rxrv7fx3w17s5wh6446039wzz9bv6ki"))
+                "1kpkqnq9krxlzhripwjhw3n55p5sxqsvj6nb2pqb9m0ppw97jlfb"))
               ;; Use the store paths for other packages and dynamically loaded
               ;; libs
-              (patches (search-patches "kinit-kdeinit-extra_libs.patch"
-                                       "kinit-kdeinit-libpath.patch"))))
+              (patches (search-patches "kinit-kdeinit-extra_libs.patch"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -2662,7 +2630,7 @@ (define-public kinit
 (define-public kio
   (package
     (name "kio")
-    (version "5.70.1")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2671,7 +2639,7 @@ (define-public kio
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1f33jdjjx6k1d5fab35x8xakc4ny9fyfrgkbib60xncc82lz2h5l"))
+                "1cscsjb2v0zygzazfhcflc3gb5ny1a79g3i6glyzw6ppj2c3yhyl"))
               (patches (search-patches "kio-search-smbd-on-PATH.patch"))))
     (build-system cmake-build-system)
     (propagated-inputs
@@ -2686,7 +2654,7 @@ (define-public kio
            kxmlgui
            solid))
     (native-inputs
-     (list dbus qttools extra-cmake-modules))
+     (list extra-cmake-modules dbus kdoctools qttools))
     (inputs
      `(;; TODO:  LibACL , <ftp://oss.sgi.com/projects/xfs/cmd_tars>
        ("krb5" ,mit-krb5)
@@ -2697,6 +2665,7 @@ (define-public kio
        ("kcrash" ,kcrash)
        ("kdbusaddons" ,kdbusaddons)
        ("kdoctools" ,kdoctools)
+       ("kguiaddons" ,kguiaddons)
        ("kiconthemes" ,kiconthemes)
        ("ki18n" ,ki18n)
        ("knotifications" ,knotifications)
@@ -2708,10 +2677,11 @@ (define-public kio
        ("qtbase" ,qtbase-5)
        ("qtscript" ,qtscript)
        ("qtx11extras" ,qtx11extras)
-       ("sonnet" ,sonnet)))
+       ("sonnet" ,sonnet)
+       ("util-linux:lib" ,util-linux "lib") ; libmount
+       ("zlib" ,zlib)))
     (arguments
-     `(#:tests? #f ; FIXME: 41/50 tests fail.
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch
            (lambda _
@@ -2720,12 +2690,33 @@ (define-public kio
                (("(^\\s*qCWarning(KIOD_CATEGORY) << \"Error loading plugin:\")( << loader.errorString();)" _ a b)
                 (string-append a "<< name" b)))
              #t))
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "HOME" (getcwd))
-             (setenv "XDG_RUNTIME_DIR" (getcwd))
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "HOME" (getcwd))
+               (setenv "XDG_RUNTIME_DIR" (getcwd))
+               (setenv "QT_QPA_PLATFORM" "offscreen")
+               (setenv "DBUS_FATAL_WARNINGS" "0")
+               (invoke "dbus-launch" "ctest"
+                       "-E" ; FIXME: 17/67 tests fail.
+                       (string-append "(kiocore-jobtest"
+                                      "|fileitemtest"
+                                      "|kiocore-kmountpointtest"
+                                      "|kiocore-ktcpsockettest"
+                                      "|kiocore-mimetypefinderjobtest"
+                                      "|kiocore-http_jobtest"
+                                      "|kiogui-openurljobtest"
+                                      "|applicationlauncherjob_forkingtest"
+                                      "|applicationlauncherjob_scopetest"
+                                      "|applicationlauncherjob_servicetest"
+                                      "|commandlauncherjob_forkingtest"
+                                      "|commandlauncherjob_scopetest"
+                                      "|commandlauncherjob_servicetest"
+                                      "|kiowidgets-kdirmodeltest"
+                                      "|kiowidgets-kfileitemactionstest"
+                                      "|kiowidgets-kurifiltertest-colon-separator"
+                                      "|kiowidgets-kurifiltertest-space-separator"
+                                      "|kiofilewidgets-knewfilemenutest)")))
              #t))
          (add-after 'install 'add-symlinks
            ;; Some package(s) (e.g. bluedevil) refer to these service types by
@@ -2736,10 +2727,6 @@ (define-public kio
                                         "/share/kservicetypes5/")))
                (symlink (string-append kst5 "kfileitemactionplugin.desktop")
                         (string-append kst5 "kfileitemaction-plugin.desktop"))))))))
-    ;;(replace 'check
-    ;;  (lambda _
-    ;;    (setenv "DBUS_FATAL_WARNINGS" "0")
-    ;;    (zero? (system* "dbus-launch" "ctest" ".")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Network transparent access to files and data")
     (description "This framework implements a lot of file management functions.
@@ -2754,7 +2741,7 @@ (define-public kio
 (define-public knewstuff
   (package
     (name "knewstuff")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2763,7 +2750,7 @@ (define-public knewstuff
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1hpxj4nawh57w8l64gjplb5mk5fpxiffm4x49kg75m637rxy19fq"))))
+                "0gvclv1a6xyrqa24svb56kp9zf2wi98as3q30lnwf0bpbpjsw52b"))))
     (build-system cmake-build-system)
     (propagated-inputs
      (list attica kservice kxmlgui))
@@ -2783,6 +2770,7 @@ (define-public knewstuff
            ki18n
            kiconthemes
            kjobwidgets
+           kpackage
            ktextwidgets
            kwidgetsaddons
            qtbase-5
@@ -2808,7 +2796,7 @@ (define-public knewstuff
 (define-public knotifyconfig
   (package
     (name "knotifyconfig")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2817,7 +2805,7 @@ (define-public knotifyconfig
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1d483qrgyamwsqvcl70klv1g8744hn8z1h2j3qfydcvlwz8jy0gj"))))
+                "0fii74r0ap3n08lp9kj7pki0msqjsia2jnmavyps51kq37im5x7p"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -2850,7 +2838,7 @@ (define-public knotifyconfig
 (define-public kparts
   (package
     (name "kparts")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2859,7 +2847,7 @@ (define-public kparts
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1gfaxr856zrsjxzdxw1sj12s6aib6r703jgf7yvsl8kilg8l2gsk"))))
+                "061kzss4b0bw67j3mc8h36mbaji077k3alk2ghcir7qix6r1hkh9"))))
     (build-system qt-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
@@ -2901,7 +2889,7 @@ (define-public kparts
 (define-public kpeople
   (package
     (name "kpeople")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2910,7 +2898,7 @@ (define-public kpeople
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1dhvly19pj9lx78g7mc89scibzmra1vhv4zz33222zidkbrf9ryl"))))
+                "0wf555pqiannxb115mlbl43ds1365im95vadsbzv1gdz668p44xk"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -2937,7 +2925,7 @@ (define-public kpeople
 (define-public krunner
   (package
     (name "krunner")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2946,7 +2934,7 @@ (define-public krunner
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0fhb26vi9z1mky79kq12qq4g4ghz3530cx84n5l3sdgkd6nfsyqf"))))
+                "1vcgqjyx9i8k9q4j6q9p4f7sp76aap8gqn2v269lb7imcrfhrj1z"))))
     (build-system cmake-build-system)
     (propagated-inputs
      (list plasma-framework))
@@ -2987,20 +2975,15 @@ (define-public krunner
                (("//usr/bin\"") (string-append (getcwd) "\"")) ;; multiple path-parts
                (("/bin/ls")
                 (search-input-file inputs "/bin/ls")))))
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "HOME" (getcwd))
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             ;; Blacklist some failing test-functions. FIXME: Make them pass.
-             (with-output-to-file "bin/BLACKLIST"
-               (lambda _
-                 (display "[testMatch]\n*\n")
-                 (display "[testMulti]\n*\n")))
-             #t))
          (replace 'check
-           (lambda _
-             (invoke "dbus-launch" "ctest" "."))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "HOME" (getcwd))
+               (setenv "QT_QPA_PLATFORM" "offscreen")
+               (invoke "dbus-launch" "ctest"
+                       "-E" ;; Some tests fail
+                       "(runnercontexttest|dbusrunnertest|\
+runnermanagersinglerunnermodetest|runnermanagertest)")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Framework for Plasma runners")
     (description "The Plasma workspace provides an application called KRunner
@@ -3012,7 +2995,7 @@ (define-public krunner
 (define-public kservice
   (package
     (name "kservice")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3021,17 +3004,16 @@ (define-public kservice
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0g49p5331f7dl46rvi43akmjm1jx70w9797j6d17jy7z9s9sqikw"))))
+                "1y1fr1galhhi6yf9w9qcvkp1zb63ifvr4wb43jwpvpms9djxkqjj"))))
     (build-system cmake-build-system)
     (propagated-inputs
-     (list kconfig kcoreaddons))
+     (list kconfig kcoreaddons kdoctools))
     (native-inputs
-     (list bison extra-cmake-modules flex))
+     (list bison extra-cmake-modules flex shared-mime-info))
     (inputs
      (list kcrash kdbusaddons kdoctools ki18n qtbase-5))
     (arguments
-     `(#:tests? #f ; FIXME: 6/10 tests fail.
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch
            ;; Adopted from NixOS' patches "qdiriterator-follow-symlinks" and
@@ -3047,12 +3029,13 @@ (define-public kservice
                (("^\\s*QString resolved = QDir\\(dir\\)\\.canonicalPath\\(\\);")
                 "QString resolved = QDir::cleanPath(dir);"))
              #t))
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "HOME" (getcwd))
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
-             #t)))))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "HOME" (getcwd))
+               (setenv "QT_QPA_PLATFORM" "offscreen")
+               ;; Disable failing tests.
+               (invoke "ctest" "-E" "(kautostarttest|ksycocatest)")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Plugin framework for desktop services")
     (description "KService provides a plugin framework for handling desktop
@@ -3064,7 +3047,7 @@ (define-public kservice
 (define-public ktexteditor
   (package
     (name "ktexteditor")
-    (version "5.70.1")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3073,10 +3056,11 @@ (define-public ktexteditor
                     "ktexteditor-" version ".tar.xz"))
               (sha256
                (base32
-                "0k10yj1ia1w1mznj4g5nvp65p226zcvgwxc85ycn2w8lbkknidf7"))))
+                "137v8g7j8kkv9yh30ysmm5n6imyyd3jmd0f6w5ni00kxl0y1rl5w"))))
     (build-system cmake-build-system)
     (propagated-inputs
-     (list kparts))
+     (list kparts
+           ksyntaxhighlighting))
     (native-inputs
      (list extra-cmake-modules pkg-config))
     (inputs
@@ -3096,7 +3080,6 @@ (define-public ktexteditor
            ki18n
            kjobwidgets
            kservice
-           ksyntaxhighlighting
            ktextwidgets
            kwidgetsaddons
            kxmlgui
@@ -3109,19 +3092,18 @@ (define-public ktexteditor
            solid
            sonnet))
     (arguments
-     `(#:tests? #f ; FIXME: 2/54 tests fail: Cannot find fontdirectory qtbase/lib/font
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'setup
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "XDG_DATA_DIRS" ; FIXME build phase doesn't find parts.desktop
                      (string-append (assoc-ref inputs "kparts") "/share"))
              #t))
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "HOME" (getcwd))
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests? ;; Maybe locale issues with tests?
+               (setenv "QT_QPA_PLATFORM" "offscreen")
+               (invoke "ctest" "-E" "(kateview_test|movingrange_test)"))
              #t))
          (add-after 'install 'add-symlinks
            ;; Some package(s) (e.g. plasma-sdk) refer to these service types
@@ -3144,7 +3126,7 @@ (define-public ktexteditor
 (define-public ktextwidgets
   (package
     (name "ktextwidgets")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3153,7 +3135,7 @@ (define-public ktextwidgets
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1609rlwba674kr9whawk93vb1b14b5ly7wvir7kjyjp4j715f47w"))))
+                "030bz67n6m3fkbldnr48mzicm9cgnr9gdpwipaghl5x5k3s7p1py"))))
     (build-system qt-build-system)
     (propagated-inputs
      (list ki18n sonnet))
@@ -3182,7 +3164,7 @@ (define-public ktextwidgets
 (define-public kwallet
   (package
     (name "kwallet")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3191,10 +3173,10 @@ (define-public kwallet
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1ps6ywcirv7xcisvwfcpvk53wm7m8y5lrz4nhkm36rizrdglw19r"))))
+                "1ra0cxw70vb6pks8sqw5k895rnrfzwxhg6vh4yc5dgzdn1nagb3i"))))
     (build-system cmake-build-system)
     (native-inputs
-     (list extra-cmake-modules))
+     (list extra-cmake-modules kdoctools))
     (inputs
      (list gpgme
            kauth
@@ -3224,7 +3206,7 @@ (define-public kwallet
 (define-public kxmlgui
   (package
     (name "kxmlgui")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3233,7 +3215,7 @@ (define-public kxmlgui
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0cvzcq2dcz89c0ffhvfb820hfmqa87mfdbjvrqjwdysc9lr8zx8f"))))
+                "0hxpjyjr77q2gyi3hg13119aza3634rvmllbj66pi7y37h6lr2z0"))))
     (build-system cmake-build-system)
     (propagated-inputs
      (list kconfig kconfigwidgets))
@@ -3245,6 +3227,7 @@ (define-public kxmlgui
            kcodecs
            kcoreaddons
            kglobalaccel
+           kguiaddons
            kiconthemes
            kitemviews
            ki18n
@@ -3275,16 +3258,16 @@ (define-public kxmlgui
 (define-public kxmlrpcclient
   (package
     (name "kxmlrpcclient")
-    (version "5.70.0")
+    (version "5.92.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
-                "1cmfv2w9yfi8jhj5nawfz7kw8jbr1k5cr3n5xv3z59pg2vazsx8b"))))
+                "1axy34g5ahd1c3qg7ab7h786jibpaj4dvj45x50x5czq06idqchf"))))
     (build-system cmake-build-system)
     (propagated-inputs
      (list kio))
@@ -3318,7 +3301,7 @@ (define-public kxmlrpcclient
 (define-public plasma-framework
   (package
     (name "plasma-framework")
-    (version "5.70.1")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3327,13 +3310,12 @@ (define-public plasma-framework
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "06cxajsxj62g3c37ssrrcaxb9a12zbyp2kvrjqym329k5vd89272"))
-              (patches (search-patches "plasma-framework-fix-KF5PlasmaMacros.cmake.patch"))))
+                "1xq66lyagjsgfashhqgqgqhda0rqfqf0l5yf1gc4ziv48mibrhn6"))))
     (build-system cmake-build-system)
     (propagated-inputs
      (list kpackage kservice))
     (native-inputs
-     (list extra-cmake-modules pkg-config))
+     (list extra-cmake-modules kdoctools pkg-config))
     (inputs
      `(("kactivities" ,kactivities)
        ("karchive" ,karchive)
@@ -3355,11 +3337,13 @@ (define-public plasma-framework
        ("kio" ,kio)
        ("ki18n" ,ki18n)
        ("kjobwidgets" ,kjobwidgets)
-       ("knotificantions" ,knotifications)
+       ("knotifications" ,knotifications)
        ("kwayland" ,kwayland)
        ("kwidgetsaddons" ,kwidgetsaddons)
        ("kwindowsystem" ,kwindowsystem)
        ("kxmlgui" ,kxmlgui)
+       ;; XXX: "undefined reference to `glGetString'" errors occur without libglvnd,
+       ("libglvnd" ,libglvnd)
        ("phonon" ,phonon)
        ("qtbase" ,qtbase-5)
        ("qtdeclarative" ,qtdeclarative)
@@ -3368,14 +3352,17 @@ (define-public plasma-framework
        ("qtx11extras" ,qtx11extras)
        ("solid" ,solid)))
     (arguments
-     `(#:tests? #f ; FIXME: 9/15 tests fail.
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         (add-before 'check 'check-setup
-           (lambda _
-             (setenv "HOME" (getcwd))
-             ;; make Qt render "offscreen", required for tests
-             (setenv "QT_QPA_PLATFORM" "offscreen")
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (setenv "HOME" (getcwd))
+               (setenv "QT_QPA_PLATFORM" "offscreen") ;; These tests fail
+               (invoke "ctest" "-E" (string-append "(plasma-dialogstatetest"
+                                                   "|plasma-iconitemtest"
+                                                   "|plasma-themetest"
+                                                   "|dialognativetest)")))
              #t)))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Libraries, components and tools of Plasma workspaces")
@@ -3387,7 +3374,7 @@ (define-public plasma-framework
 (define-public purpose
   (package
     (name "purpose")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3396,7 +3383,7 @@ (define-public purpose
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1pxlx2hgj42zsisws8f486n8sg0vn5a5mhb85prifwkaw0rqzgah"))))
+                "02j09zf18dwjk17mn841m7cm0qsn7gcz5lff8dad3yah0lc3wqcl"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules))
@@ -3412,13 +3399,6 @@ (define-public purpose
            qtdeclarative))
     (arguments
      `(#:tests? #f  ;; seem to require network; don't find QTQuick components
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'dont-use-qt515-logic
-           (lambda _
-             (substitute* "src/externalprocess/purposeprocess_main.cpp"
-               ((" 15") " 16"))
-             #t)))
        #:configure-flags '("-DBUILD_TESTING=OFF"))) ; not run anyway
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Offers available actions for a specific purpose")
@@ -3460,7 +3440,7 @@ (define kinit-bootstrap
 (define-public kde-frameworkintegration
   (package
     (name "kde-frameworkintegration")
-    (version "5.70.0")
+    (version "5.92.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3469,7 +3449,7 @@ (define-public kde-frameworkintegration
                     "frameworkintegration-" version ".tar.xz"))
               (sha256
                (base32
-                "1lvccvhhkzdv1hw627kw3ds18gfq4bxdhlvh959piqxq5gh9d2n0"))))
+                "0pgcwfxxzvfvqyjfgqzsllzfy9il4y8xr8dzdyjmd5vccpvgd3mx"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules pkg-config))
@@ -3516,7 +3496,7 @@ (define-public kde-frameworkintegration
 (define-public kdelibs4support
   (package
     (name "kdelibs4support")
-    (version "5.70.0")
+    (version "5.92.0")
     (source
      (origin
        (method url-fetch)
@@ -3525,15 +3505,17 @@ (define-public kdelibs4support
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "0imkibjlfc0jshdzr05fz5dy2xmfhvgsfan9b1r35spwsn5qkawx"))))
+        (base32 "1q7d0i09klkhsiwq7i91ypxakdr5b841zdb60q7yjzcdmn25wbi9"))))
     (build-system cmake-build-system)
     (native-inputs
      (list dbus
            docbook-xml-4.4 ; optional
            extra-cmake-modules
+           kdoctools
            perl
            perl-uri
            pkg-config
+           qttools
            shared-mime-info
            kjobwidgets ;; required for running the tests
            strace
@@ -3574,7 +3556,6 @@ (define-public kdelibs4support
            networkmanager-qt
            openssl
            qtsvg
-           qttools
            qtx11extras))
     ;; FIXME: Use Guix ca-bundle.crt in etc/xdg/ksslcalist and
     ;; share/kf5/kssl/ca-bundle.crt
@@ -3610,7 +3591,7 @@ (define-public kdelibs4support
                (lambda _
                  (display "[testSmb]\n*\n")))
              ;; kuniqueapptest hangs. FIXME: Make this test pass.
-             (invoke "dbus-launch" "ctest" "."
+             (invoke "dbus-launch" "ctest"
                      "-E" "kstandarddirstest|kuniqueapptest"))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "KDE Frameworks 5 porting aid from KDELibs4")
@@ -3632,7 +3613,7 @@ (define-public kdelibs4support
 (define-public khtml
   (package
     (name "khtml")
-    (version "5.70.0")
+    (version "5.92.0")
     (source
      (origin
        (method url-fetch)
@@ -3641,7 +3622,7 @@ (define-public khtml
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "1jh0g6xv57hyclnh54x0f72lby1gvlisan23y7mzlqf67aky52s5"))))
+        (base32 "06hpjcm5yrfj1056vvv9dklccd0a1y09zm8ch4a5d8l2lfgdg8ci"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules perl))
@@ -3682,7 +3663,7 @@ (define-public khtml
 (define-public kjs
   (package
     (name "kjs")
-    (version "5.70.0")
+    (version "5.92.0")
     (source
      (origin
        (method url-fetch)
@@ -3691,7 +3672,7 @@ (define-public kjs
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "0s3n0pdz59p5v967zrxcas3lb94k5bv9vi8058fi0l20nwwlcgh5"))))
+        (base32 "067ilsm78x03kf5fs2xmlasvy2712k0xrsa404g2zj81fm92s1q4"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools perl pkg-config))
@@ -3711,7 +3692,7 @@ (define-public kjs
 (define-public kjsembed
   (package
     (name "kjsembed")
-    (version "5.70.0")
+    (version "5.92.0")
     (source
      (origin
        (method url-fetch)
@@ -3720,7 +3701,7 @@ (define-public kjsembed
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "0976faazhxhhi1wpvpcs8hwb2knz0z7j44v3ay3hw73rq4p3bipm"))))
+        (base32 "0db0r8v0bhp3razwyvmvk9r4psl14vgn23c4cm2q1b5pl0w6bhnp"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools qttools))
@@ -3735,7 +3716,7 @@ (define-public kjsembed
 (define-public kmediaplayer
   (package
     (name "kmediaplayer")
-    (version "5.70.0")
+    (version "5.92.0")
     (source
      (origin
        (method url-fetch)
@@ -3744,7 +3725,7 @@ (define-public kmediaplayer
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "0lrm4y727nhwaivl37zpmnrwx048gfhyjw19m6q5z9p37lk43jja"))))
+        (base32 "19lpib2wj91w8shsf9056nwi46qja8nh96hj164ydqlkslpfnf7y"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools qttools))
@@ -3771,7 +3752,7 @@ (define-public kmediaplayer
 (define-public kross
   (package
     (name "kross")
-    (version "5.70.0")
+    (version "5.92.0")
     (source
      (origin
        (method url-fetch)
@@ -3780,7 +3761,7 @@ (define-public kross
              (version-major+minor version) "/portingAids/"
              name "-" version ".tar.xz"))
        (sha256
-        (base32 "12b527l12rcf421p613ydbacilp9v9iy90ma35w21sdf9a15k675"))))
+        (base32 "1gqy1h5mqsfgbpqkdrhs7xf77kw4yy19mryda1fwjcqzxd02i7hj"))))
     (build-system cmake-build-system)
     (native-inputs
      (list extra-cmake-modules kdoctools qttools))
@@ -3813,19 +3794,29 @@ (define-public kross
 (define-public kdav
   (package
     (name "kdav")
-    (version "20.04.3")
+    (version "5.92.0")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://kde/stable/release-service/" version
-                           "/src/kdav-" version ".tar.xz"))
+       (uri (string-append "mirror://kde/stable/frameworks/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
        (sha256
-        (base32 "0445gl4xm0h39igkxgb6vmq5iaa04wkgrgbs7nfd0zwngk8xaidn"))))
+        (base32 "1i5i6bkjairz1slk3fhrxd3s8wkcdaqg55jg2bv86kqh7d3nrcgk"))))
     (build-system qt-build-system)
     (native-inputs
      (list extra-cmake-modules))
     (inputs
      (list kcoreaddons ki18n kio qtbase-5 qtxmlpatterns))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests? ;; Seems to require network.
+               (invoke "ctest" "-E"
+                       "(kdav-davcollectionsmultifetchjobtest|kdav-davitemfetchjob)"))
+             #t)))))
     (home-page "https://invent.kde.org/frameworks/kdav")
     (synopsis "DAV protocol implementation with KJobs")
     (description "This is a DAV protocol implementation with KJobs.  Calendars
diff --git a/gnu/packages/patches/kdbusaddons-kinit-file-name.patch b/gnu/packages/patches/kdbusaddons-kinit-file-name.patch
deleted file mode 100644
index ffed88e043..0000000000
--- a/gnu/packages/patches/kdbusaddons-kinit-file-name.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Add placeholder for kinit's store file name.
-
-diff --git a/src/kdeinitinterface.cpp b/src/kdeinitinterface.cpp
-index 22fa5e5..3d40937 100644
---- a/src/kdeinitinterface.cpp
-+++ b/src/kdeinitinterface.cpp
-@@ -52,7 +52,7 @@ void KDEInitInterface::ensureKdeinitRunning()
-     // If not found in system paths, search other paths
-     if (srv.isEmpty()) {
-         const QStringList searchPaths = QStringList()
--            << QCoreApplication::applicationDirPath() // then look where our application binary is located
-+            << QString::fromUtf8("@SUBSTITUTEME@/bin") // using QStringLiteral would be more efficient, but breaks guix store reference detection.
-             << QLibraryInfo::location(QLibraryInfo::BinariesPath); // look where exec path is (can be set in qt.conf)
-         srv = QStandardPaths::findExecutable(QStringLiteral("kdeinit5"), searchPaths);
-         if (srv.isEmpty()) {
diff --git a/gnu/packages/patches/kinit-kdeinit-extra_libs.patch b/gnu/packages/patches/kinit-kdeinit-extra_libs.patch
index 1271f3df7d..b27c6ed535 100644
--- a/gnu/packages/patches/kinit-kdeinit-extra_libs.patch
+++ b/gnu/packages/patches/kinit-kdeinit-extra_libs.patch
@@ -21,27 +21,6 @@ pkgs/development/libraries/kde-frameworks/kinit/kdeinit-extra_libs.patch
  #endif
  };
  #endif
-@@ -1533,20 +1531,6 @@ static int initXconnection()
- }
- #endif
- 
--#ifndef Q_OS_OSX
--// Find a shared lib in the lib dir, e.g. libkio.so.
--// Completely unrelated to plugins.
--static QString findSharedLib(const QString &lib)
--{
--    QString path = QFile::decodeName(CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/") + lib;
--    if (QFile::exists(path)) {
--        return path;
--    }
--    // We could also look in LD_LIBRARY_PATH, but really, who installs the main libs in different prefixes?
--    return QString();
--}
--#endif
--
- extern "C" {
- 
-     static void secondary_child_handler(int)
 @@ -1673,7 +1673,7 @@
  #if defined(Q_OS_UNIX) && !defined(Q_OS_OSX)
      if (!d.suicide && qEnvironmentVariableIsEmpty("KDE_IS_PRELINKED")) {
diff --git a/gnu/packages/patches/kinit-kdeinit-libpath.patch b/gnu/packages/patches/kinit-kdeinit-libpath.patch
deleted file mode 100644
index 6382e8804b..0000000000
--- a/gnu/packages/patches/kinit-kdeinit-libpath.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Search libraries in GUIX_KF5INIT_LIB_PATH.
-
-Based on an idea by NixOs
-pkgs/development/libraries/kde-frameworks/kinit/kinit-libpath.patch
-
-===================================================================
---- kinit-5.32.0/src/kdeinit/kinit.cpp.orig	2017-10-22 21:02:20.908765455 +0200
-+++ kinit-5.32.0/src/kdeinit/kinit.cpp	2017-10-22 21:03:25.312818248 +0200
-@@ -623,20 +623,18 @@
-             if (libpath_relative) {
-                 // NB: Because Qt makes the actual dlopen() call, the
-                 //     RUNPATH of kdeinit is *not* respected - see
-                 //     https://sourceware.org/bugzilla/show_bug.cgi?id=13945
-                 //     - so we try hacking it in ourselves
--                QString install_lib_dir = QFile::decodeName(
--                        CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/");
--                QString orig_libpath = libpath;
--                libpath = install_lib_dir + libpath;
--                l.setFileName(libpath);
--                if (!l.load()) {
--                    libpath = orig_libpath;
--                    l.setFileName(libpath);
--                    l.load();
--                }
-+                // Try to load the library relative to the active profiles.
-+                QByteArrayList profiles = qgetenv("KDEINIT5_LIBRARY_PATH").split(':');
-+                for (const QByteArray &profile: profiles) {
-+                    if (!profile.isEmpty()) {
-+                        l.setFileName(QFile::decodeName(profile) + QStringLiteral("/") + libpath);
-+                        if (l.load()) break;
-+                    }
-+		}
-             } else {
-                 l.load();
-             }
-             if (!l.isLoaded()) {
-                 QString ltdlError(l.errorString());
diff --git a/gnu/packages/patches/kio-search-smbd-on-PATH.patch b/gnu/packages/patches/kio-search-smbd-on-PATH.patch
index 55535ffa11..5118c9a361 100644
--- a/gnu/packages/patches/kio-search-smbd-on-PATH.patch
+++ b/gnu/packages/patches/kio-search-smbd-on-PATH.patch
@@ -1,30 +1,24 @@
-Adopted from NixOS
-pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch
+From af54a2a37655df26a33bc6783cb472c38f65322f Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <[email-masked]>
+Date: Sun, 28 Mar 2021 10:31:12 -0500
+Subject: [PATCH 1/2] Remove impure smbd search path
 
-===================================================================
---- kio-5.17.0.orig/src/core/ksambashare.cpp
-+++ kio-5.17.0/src/core/ksambashare.cpp
-@@ -67,13 +67,18 @@ KSambaSharePrivate::~KSambaSharePrivate(
- 
+---
+ src/core/ksambashare.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/ksambashare.cpp b/src/core/ksambashare.cpp
+index e810ce4..7cfb4e6 100644
+--- a/src/core/ksambashare.cpp
++++ b/src/core/ksambashare.cpp
+@@ -61,7 +61,7 @@ KSambaSharePrivate::~KSambaSharePrivate()
  bool KSambaSharePrivate::isSambaInstalled()
  {
--    if (QFile::exists(QStringLiteral("/usr/sbin/smbd"))
--            || QFile::exists(QStringLiteral("/usr/local/sbin/smbd"))) {
--        return true;
-+    const QByteArray pathEnv = qgetenv("PATH");
-+    if (!pathEnv.isEmpty()) {
-+        QLatin1Char pathSep(':');
-+        QStringList paths = QFile::decodeName(pathEnv).split(pathSep, QString::SkipEmptyParts);
-+        for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
-+            it->append(QStringLiteral("/smbd"));
-+            if (QFile::exists(*it)) {
-+                return true;
-+            }
-+        }
+     const bool daemonExists =
+-        !QStandardPaths::findExecutable(QStringLiteral("smbd"), {QStringLiteral("/usr/sbin/"), QStringLiteral("/usr/local/sbin/")}).isEmpty();
++        !QStandardPaths::findExecutable(QStringLiteral("smbd")).isEmpty();
+     if (!daemonExists) {
+         qCDebug(KIO_CORE_SAMBASHARE) << "KSambaShare: Could not find smbd";
      }
- 
--    //qDebug() << "Samba is not installed!";
--
-     return false;
- }
- 
+--
+2.30.1
diff --git a/gnu/packages/patches/kpackage-allow-external-paths.patch b/gnu/packages/patches/kpackage-allow-external-paths.patch
deleted file mode 100644
index c1c9efde7f..0000000000
--- a/gnu/packages/patches/kpackage-allow-external-paths.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/kpackage/package.cpp b/src/kpackage/package.cpp
-index 5aec9fd..b15c933 100644
---- a/src/kpackage/package.cpp
-+++ b/src/kpackage/package.cpp
-@@ -820,7 +820,7 @@ PackagePrivate::PackagePrivate()
-     : QSharedData(),
-       fallbackPackage(nullptr),
-       metadata(nullptr),
--      externalPaths(false),
-+      externalPaths(true),
-       valid(false),
-       checkedValid(false)
- {
diff --git a/gnu/packages/patches/kpackage-fix-KF5PackageMacros.cmake.patch b/gnu/packages/patches/kpackage-fix-KF5PackageMacros.cmake.patch
deleted file mode 100644
index d677f19a70..0000000000
--- a/gnu/packages/patches/kpackage-fix-KF5PackageMacros.cmake.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 668010ebc9fd84d9dc60f90b9a4ebf3c7054977f Mon Sep 17 00:00:00 2001
-From: Hartmut Goebel <[email-masked]>
-Date: Sun, 25 Oct 2020 20:11:13 +0000
-Subject: [PATCH] Fix build errors if PREFIX is different from ECM's PREFIX.
-
-See <https://bugs.kde.org/424483> for details.
----
- KF5PackageMacros.cmake | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/KF5PackageMacros.cmake b/KF5PackageMacros.cmake
-index f4c1d1d..acd3798 100644
---- a/KF5PackageMacros.cmake
-+++ b/KF5PackageMacros.cmake
-@@ -1,6 +1,5 @@
- 
--find_package(ECM 1.6.0 CONFIG REQUIRED)
--include(${ECM_KDE_MODULE_DIR}/KDEInstallDirs.cmake)
-+include(KDEInstallDirs)
- 
- set(KPACKAGE_RELATIVE_DATA_INSTALL_DIR "kpackage")
- 
--- 
-GitLab
-
diff --git a/gnu/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch b/gnu/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch
deleted file mode 100644
index bd55d512cf..0000000000
--- a/gnu/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From ff5ed26f21d304e867ab57781878069567deb23d Mon Sep 17 00:00:00 2001
-From: Hartmut Goebel <[email-masked]>
-Date: Mon, 3 Aug 2020 19:49:58 +0000
-Subject: [PATCH] Fix build errors if PREFIX is different from ECM's PREFIX.
-
-See <https://bugs.kde.org/424483> for details
----
- KF5PlasmaMacros.cmake | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/KF5PlasmaMacros.cmake b/KF5PlasmaMacros.cmake
-index 494b42d56..80b3fd8dd 100644
---- a/KF5PlasmaMacros.cmake
-+++ b/KF5PlasmaMacros.cmake
-@@ -1,6 +1,5 @@
- 
--find_package(ECM 1.6.0 CONFIG REQUIRED)
--include(${ECM_KDE_MODULE_DIR}/KDEInstallDirs.cmake)
-+include(KDEInstallDirs)
- 
- set(PLASMA_RELATIVE_DATA_INSTALL_DIR "plasma")
- set(PLASMA_DATA_INSTALL_DIR "${KDE_INSTALL_DATADIR}/${PLASMA_RELATIVE_DATA_INSTALL_DIR}")
--- 
-GitLab
-
-- 
2.37.0