summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/akonadi-not-relocatable.patch51
-rw-r--r--gnu/packages/patches/akonadi-paths.patch32
-rw-r--r--gnu/packages/patches/akonadi-timestamps.patch6
-rw-r--r--gnu/packages/patches/cheese-vala-update.patch180
-rw-r--r--gnu/packages/patches/glade-gls-set-script-name.patch32
-rw-r--r--gnu/packages/patches/glade-test-widget-null-icon.patch30
-rw-r--r--gnu/packages/patches/grantlee-merge-theme-dirs.patch163
-rw-r--r--gnu/packages/patches/kdbusaddons-kinit-file-name.patch15
-rw-r--r--gnu/packages/patches/kinit-kdeinit-extra_libs.patch21
-rw-r--r--gnu/packages/patches/kinit-kdeinit-libpath.patch37
-rw-r--r--gnu/packages/patches/kio-search-smbd-on-PATH.patch46
-rw-r--r--gnu/packages/patches/kmail-Fix-missing-link-libraries.patch41
-rw-r--r--gnu/packages/patches/kmplayer-aarch64.patch57
-rw-r--r--gnu/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch42
-rw-r--r--gnu/packages/patches/kpackage-allow-external-paths.patch13
-rw-r--r--gnu/packages/patches/kpackage-fix-KF5PackageMacros.cmake.patch25
-rw-r--r--gnu/packages/patches/libksieve-Fix-missing-link-libraries.patch76
-rw-r--r--gnu/packages/patches/libxmlb-install-xb-tool-into-bindir.patch100
-rw-r--r--gnu/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch25
19 files changed, 82 insertions, 910 deletions
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 <gnidorah@users.noreply.github.com>
-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 <ttuegel@mailbox.org>
+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/cheese-vala-update.patch b/gnu/packages/patches/cheese-vala-update.patch
deleted file mode 100644
index cb18952ce4..0000000000
--- a/gnu/packages/patches/cheese-vala-update.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-Taken from upstream:
-https://gitlab.gnome.org/GNOME/cheese/-/commit/7cf6268e54620bbbe5e6e61800c50fb0cb4bea57.patch.
-
-From 7cf6268e54620bbbe5e6e61800c50fb0cb4bea57 Mon Sep 17 00:00:00 2001 From:
-=?UTF-8?q?Corentin=20No=C3=ABl?= <corentin@elementary.io> Date: Fri, 16 Oct
-2020 19:56:26 +0200 Subject: [PATCH] Change GLib.PtrArray into
-GLib.GenericArray
-
-This is the vala-friendly way of handling GPtrArray.
-Fix several memory leaks on the go and unnecessary reference increase.
----
- src/cheese-preferences.vala | 26 ++++++++++++--------------
- src/cheese-window.vala      | 22 +++++++++++-----------
- src/vapi/cheese-common.vapi |  2 +-
- 3 files changed, 24 insertions(+), 26 deletions(-)
-
-diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala
-index f56af7e0..80a92431 100644
---- a/src/cheese-preferences.vala
-+++ b/src/cheese-preferences.vala
-@@ -100,7 +100,7 @@ public PreferencesDialog (Cheese.Camera camera)
-    */
-   private void initialize_camera_devices ()
-   {
--    unowned GLib.PtrArray devices = camera.get_camera_devices ();
-+    GLib.GenericArray<unowned Cheese.CameraDevice> devices = camera.get_camera_devices ();
-     camera_model = new Gtk.ListStore (2, typeof (string), typeof (Cheese.CameraDevice));
- 
-     source_combo.model = camera_model;
-@@ -357,13 +357,13 @@ public PreferencesDialog (Cheese.Camera camera)
-    */
-   private void on_camera_update_num_camera_devices ()
-   {
--    unowned GLib.PtrArray devices = camera.get_camera_devices ();
--    Cheese.CameraDevice   dev;
-+    GLib.GenericArray<unowned Cheese.CameraDevice> devices = camera.get_camera_devices ();
-+    unowned Cheese.CameraDevice   dev;
- 
-     // Add (if) / Remove (else) a camera device.
--    if (devices.len > camera_model.iter_n_children (null))
-+    if (devices.length > camera_model.iter_n_children (null))
-     {
--      dev = (Cheese.CameraDevice) devices.index (devices.len - 1);
-+      dev = devices.get (devices.length - 1);
-       add_camera_device(dev);
-     }
-     else
-@@ -382,12 +382,11 @@ public PreferencesDialog (Cheese.Camera camera)
-       bool device_removed = false;
-       devices.foreach ((device) =>
-       {
--        var old_device = (Cheese.CameraDevice) device;
-         Cheese.CameraDevice new_device;
-         camera_model.get (iter, 1, out new_device, -1);
- 
-         // Found the device that was removed.
--        if (old_device != new_device)
-+        if (device != new_device)
-         {
-             remove_camera_device (iter, new_device, active_device);
-             device_removed = true;
-@@ -418,17 +417,16 @@ public PreferencesDialog (Cheese.Camera camera)
-    *
-    * @param device a Cheese.CameraDevice to add to the device combo box model
-    */
--  private void add_camera_device (void *device)
-+  private void add_camera_device (Cheese.CameraDevice device)
-   {
-     TreeIter iter;
--    Cheese.CameraDevice dev = (Cheese.CameraDevice) device;
- 
-     camera_model.append (out iter);
-     camera_model.set (iter,
--                      0, dev.get_name (),
--                      1, dev);
-+                      0, device.get_name (),
-+                      1, device);
- 
--    if (camera.get_selected_device () == dev)
-+    if (camera.get_selected_device () == device)
-         source_combo.set_active_iter (iter);
- 
-     if (camera_model.iter_n_children (null) > 1)
-@@ -445,12 +443,12 @@ public PreferencesDialog (Cheese.Camera camera)
-   private void remove_camera_device (TreeIter iter, Cheese.CameraDevice device_node,
-                              Cheese.CameraDevice active_device_node)
-   {
--      unowned GLib.PtrArray devices = camera.get_camera_devices ();
-+      GLib.GenericArray<unowned Cheese.CameraDevice> devices = camera.get_camera_devices ();
- 
-       // Check if the camera that we want to remove, is the active one
-       if (device_node == active_device_node)
-       {
--        if (devices.len > 0)
-+        if (devices.length > 0)
-           set_new_available_camera_device (iter);
-         else
-           this.hide ();
-diff --git a/src/cheese-window.vala b/src/cheese-window.vala
-index ff069808..cc119b68 100644
---- a/src/cheese-window.vala
-+++ b/src/cheese-window.vala
-@@ -1216,9 +1216,9 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
-    */
-   public void on_switch_camera_clicked ()
-   {
--      Cheese.CameraDevice selected;
--      Cheese.CameraDevice next = null;
--      GLib.PtrArray cameras;
-+      unowned Cheese.CameraDevice selected;
-+      unowned Cheese.CameraDevice next = null;
-+      GLib.GenericArray<unowned Cheese.CameraDevice> cameras;
-       uint i;
- 
-       if (camera == null)
-@@ -1235,9 +1235,9 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
- 
-       cameras = camera.get_camera_devices ();
- 
--      for (i = 0; i < cameras.len; i++)
-+      for (i = 0; i < cameras.length; i++)
-       {
--          next = (Cheese.CameraDevice )cameras.index (i);
-+          next = cameras.get (i);
- 
-           if (next == selected)
-           {
-@@ -1245,13 +1245,13 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
-           }
-       }
- 
--      if (i + 1 < cameras.len)
-+      if (i + 1 < cameras.length)
-       {
--          next = (Cheese.CameraDevice )cameras.index (i + 1);
-+          next = cameras.get (i + 1);
-       }
-       else
-       {
--          next = (Cheese.CameraDevice )cameras.index (0);
-+          next = cameras.get (0);
-       }
- 
-       if (next == selected)
-@@ -1269,8 +1269,8 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
-    */
-   public void set_switch_camera_button_state ()
-   {
--      Cheese.CameraDevice selected;
--      GLib.PtrArray cameras;
-+      unowned Cheese.CameraDevice selected;
-+      GLib.GenericArray<unowned Cheese.CameraDevice> cameras;
- 
-       if (camera == null)
-       {
-@@ -1288,7 +1288,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
- 
-       cameras = camera.get_camera_devices ();
- 
--      if (cameras.len > 1)
-+      if (cameras.length > 1)
-       {
-          switch_camera_button.set_visible (true);
-          return;
-diff --git a/src/vapi/cheese-common.vapi b/src/vapi/cheese-common.vapi
-index 6517cdfc..e4ae7ad3 100644
---- a/src/vapi/cheese-common.vapi
-+++ b/src/vapi/cheese-common.vapi
-@@ -35,7 +35,7 @@ namespace Cheese
-     [CCode (has_construct_function = false)]
-     public Camera (Clutter.Actor video_texture, string camera_device_node, int x_resolution, int y_resolution);
-     public bool                        get_balance_property_range (string property, double min, double max, double def);
--    public unowned GLib.PtrArray       get_camera_devices ();
-+    public GLib.GenericArray<unowned Cheese.CameraDevice> get_camera_devices ();
-     public unowned Cheese.VideoFormat  get_current_video_format ();
-     public int                         get_num_camera_devices ();
-     public unowned Cheese.CameraDevice get_selected_device ();
--- 
-GitLab
-
diff --git a/gnu/packages/patches/glade-gls-set-script-name.patch b/gnu/packages/patches/glade-gls-set-script-name.patch
deleted file mode 100644
index 61fbdf3914..0000000000
--- a/gnu/packages/patches/glade-gls-set-script-name.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Taken from upstream:
-https://gitlab.gnome.org/GNOME/glade/-/commit/eb0429d318c017b57b9e59de1d5b3f142a0f455e.
-
-From 6cf1d3e11d4f8035f33c3003d33f6465896025a5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
-Date: Tue, 18 May 2021 19:54:50 +0200
-Subject: [PATCH] plugins: Define an invalid but non-null file path as script
- path
-
-This is following the gjs applications behaviors, setting a valid string
-as the script path that will be shown in JS stack traces, even though
-won't load a real file through g_file_new_for_commandline_arg()
----
- plugins/gjs/glade-gjs.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/plugins/gjs/glade-gjs.c b/plugins/gjs/glade-gjs.c
-index e1779665..aeae9906 100644
---- a/plugins/gjs/glade-gjs.c
-+++ b/plugins/gjs/glade-gjs.c
-@@ -93,7 +93,7 @@ glade_gjs_init (const gchar *name)
- 
-   /* Importing the module will create all the GTypes so that glade can use them at runtime */
-   retval = gjs_context_eval (gjs_context_get_current (),
--                             import_sentence, -1, NULL,
-+                             import_sentence, -1, "<glade-gjs>",
-                              &exit_status,
-                              &error);
-   if (!retval && error)
--- 
-GitLab
-
diff --git a/gnu/packages/patches/glade-test-widget-null-icon.patch b/gnu/packages/patches/glade-test-widget-null-icon.patch
deleted file mode 100644
index 75668a2f68..0000000000
--- a/gnu/packages/patches/glade-test-widget-null-icon.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Taken from upstream:
-https://gitlab.gnome.org/GNOME/glade/-/commit/6cf1d3e11d4f8035f33c3003d33f6465896025a5.
-
-From eb0429d318c017b57b9e59de1d5b3f142a0f455e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
-Date: Wed, 19 May 2021 00:10:29 +0200
-Subject: [PATCH] tests: Do not create a file icon when no filename is provided
-
-This would fail otherwise as GFileIcon requires a GFile parameter on
-construction.
----
- tests/create-widgets.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/tests/create-widgets.c b/tests/create-widgets.c
-index 2094059d..db8311f8 100644
---- a/tests/create-widgets.c
-+++ b/tests/create-widgets.c
-@@ -106,6 +106,8 @@ main (int   argc,
-       if (G_TYPE_IS_INSTANTIATABLE (adaptor_type) && !G_TYPE_IS_ABSTRACT (adaptor_type) &&
-           /* FIXME: can not create a themed icon without a name */
-           !g_type_is_a (adaptor_type, G_TYPE_THEMED_ICON) &&
-+          /* FIXME: can not create a file icon without a file name */
-+          !g_type_is_a (adaptor_type, G_TYPE_FILE_ICON) &&
-           /* FIXME: GtkPopoverMenu gives a few warnings */
-           !g_type_is_a (adaptor_type, GTK_TYPE_POPOVER_MENU) &&
-           /* FIXME: GtkFileChooserNative is hard to test here */
--- 
-GitLab
-
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();
-                     }
-                 }
-             }
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 <ttuegel@mailbox.org>
+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/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 <h.goebel@crazy-compilers.com>
-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/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 <wbauer@tmo.at>
-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
-
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 <h.goebel@crazy-compilers.com>
-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/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 <h.goebel@crazy-compilers.com>
-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
diff --git a/gnu/packages/patches/libxmlb-install-xb-tool-into-bindir.patch b/gnu/packages/patches/libxmlb-install-xb-tool-into-bindir.patch
deleted file mode 100644
index 97f0f5fbd3..0000000000
--- a/gnu/packages/patches/libxmlb-install-xb-tool-into-bindir.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From f91a9cfcd70178404ac2aafdfa124c9a4efe8866 Mon Sep 17 00:00:00 2001
-From: Richard Hughes <richard@hughsie.com>
-Date: Mon, 18 Apr 2022 10:50:42 +0100
-Subject: [PATCH 11/11] Install xb-tool into bindir
-
-Fixes https://github.com/hughsie/libxmlb/issues/123
----
- contrib/libxmlb.spec.in |  3 ++-
- meson.build             |  4 +++-
- src/meson.build         |  9 ++++++++-
- src/xb-tool.1           | 19 +++++++++++++++++++
- 4 files changed, 32 insertions(+), 3 deletions(-)
- create mode 100644 src/xb-tool.1
-
-diff --git a/contrib/libxmlb.spec.in b/contrib/libxmlb.spec.in
-index 6be65d1..24478fe 100644
---- a/contrib/libxmlb.spec.in
-+++ b/contrib/libxmlb.spec.in
-@@ -71,7 +71,8 @@ Executable and data files for installed tests.
- %files
- %doc README.md
- %license LICENSE
--%{_libexecdir}/xb-tool
-+%{_bindir}/xb-tool
-+%{_mandir}/man1/xb-tool.1*
- %dir %{_libdir}/girepository-1.0
- %{_libdir}/girepository-1.0/Xmlb-2.0.typelib
- %{_libdir}/libxmlb.so.2*
-diff --git a/meson.build b/meson.build
-index 6870907..53b1324 100644
---- a/meson.build
-+++ b/meson.build
-@@ -103,16 +103,18 @@ add_project_link_arguments(
- )
- 
- if host_machine.system() == 'windows'
--  libexecdir = get_option('libexecdir')
-+  bindir = get_option('bindir')
-   installed_test_bindir = get_option('libexecdir')
-   installed_test_datadir = get_option('datadir')
- else
-   prefix = get_option('prefix')
-   datadir = join_paths(prefix, get_option('datadir'))
-+  bindir = join_paths(prefix, get_option('bindir'))
-   libexecdir = join_paths(prefix, get_option('libexecdir'))
-   installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name())
-   installed_test_datadir = join_paths(datadir, 'installed-tests', meson.project_name())
- endif
-+mandir = join_paths(prefix, get_option('mandir'))
- 
- gio = dependency('gio-2.0', version : '>= 2.45.8')
- giounix = dependency('gio-unix-2.0', version : '>= 2.45.8', required: false)
-diff --git a/src/meson.build b/src/meson.build
-index d7a1401..93fb8ba 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -96,7 +96,14 @@ xb_tool = executable(
-     libxmlb,
-   ],
-   install : true,
--  install_dir : libexecdir
-+  install_dir : bindir
-+)
-+configure_file(
-+  input : 'xb-tool.1',
-+  output : 'xb-tool.1',
-+  configuration : conf,
-+  install: true,
-+  install_dir: join_paths(mandir, 'man1'),
- )
- endif
- 
-diff --git a/src/xb-tool.1 b/src/xb-tool.1
-new file mode 100644
-index 0000000..348d1b1
---- /dev/null
-+++ b/src/xb-tool.1
-@@ -0,0 +1,19 @@
-+.\" Report problems in https://github.com/hughsie/libxmlb
-+.TH man 1 "18 April 2022" @PACKAGE_VERSION@ "xb-tool man page"
-+.SH NAME
-+xb-tool \- standalone XMLb utility
-+.SH SYNOPSIS
-+xb-tool [CMD]
-+.SH DESCRIPTION
-+This tool allows creating, dumping and querying binary XML blobs.
-+.PP
-+Additionally \fBxb-tool\fR can be used to profile specfic tokenized queries.
-+.SH OPTIONS
-+The xb-tool command takes various options depending on the action.
-+Run \fBxb-tool --help\fR for the full list.
-+.SH EXIT STATUS
-+Commands that successfully execute will return "0", otherwise "1".
-+.SH BUGS
-+No known bugs.
-+.SH AUTHOR
-+Richard Hughes (richard@hughsie.com)
--- 
-2.35.1
-
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 <h.goebel@crazy-compilers.com>
-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
-