summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/modules.nix1
-rwxr-xr-xlib/tests/modules.sh7
-rw-r--r--lib/tests/modules/deferred-module-error.nix20
-rw-r--r--lib/tests/modules/deferred-module.nix58
-rw-r--r--lib/tests/modules/define-settingsDict-a-is-b.nix3
-rw-r--r--lib/types.nix30
-rw-r--r--nixos/doc/manual/development/option-types.section.md19
-rw-r--r--nixos/doc/manual/from_md/development/option-types.section.xml37
-rw-r--r--nixos/modules/services/web-apps/hedgedoc.nix3
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix51
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix4
-rw-r--r--pkgs/applications/blockchains/go-ethereum/default.nix6
-rw-r--r--pkgs/applications/blockchains/lightning-loop/default.nix6
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix12
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names1
-rw-r--r--pkgs/applications/graphics/drawio/default.nix4
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix13
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/srcs.nix1884
-rw-r--r--pkgs/applications/misc/gmtp/default.nix6
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/office/watson/default.nix11
-rw-r--r--pkgs/applications/video/coriander/default.nix5
-rw-r--r--pkgs/applications/video/gnome-mplayer/default.nix5
-rw-r--r--pkgs/applications/virtualization/conmon/default.nix4
-rw-r--r--pkgs/build-support/replace-dependency.nix2
-rw-r--r--pkgs/build-support/rust/build-rust-crate/lib.sh2
-rw-r--r--pkgs/build-support/rust/build-rust-crate/test/default.nix14
-rw-r--r--pkgs/build-support/rust/build-rust-crate/test/rcgen-crates.nix3496
-rw-r--r--pkgs/desktops/plasma-5/default.nix1
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/kwayland-server/0001-Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing.patch25
-rw-r--r--pkgs/desktops/plasma-5/kwayland-server/default.nix18
-rw-r--r--pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch12
-rw-r--r--pkgs/desktops/plasma-5/kwin/0002-xwayland.patch16
-rw-r--r--pkgs/desktops/plasma-5/kwin/default.nix12
-rw-r--r--pkgs/desktops/plasma-5/plasma-integration/default.nix6
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/default.nix2
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix436
-rw-r--r--pkgs/development/libraries/catch2/3.nix42
-rw-r--r--pkgs/development/libraries/jarowinkler-cpp/default.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix664
-rw-r--r--pkgs/development/libraries/libbluedevil/default.nix21
-rw-r--r--pkgs/development/libraries/rapidfuzz-cpp/default.nix20
-rw-r--r--pkgs/development/libraries/rapidfuzz-cpp/dont-fetch-project-options.patch58
-rw-r--r--pkgs/development/ocaml-modules/tsort/default.nix5
-rw-r--r--pkgs/development/python-modules/aesara/default.nix4
-rw-r--r--pkgs/development/python-modules/appthreat-vulnerability-db/default.nix4
-rw-r--r--pkgs/development/python-modules/cachelib/default.nix4
-rw-r--r--pkgs/development/python-modules/cssutils/default.nix8
-rw-r--r--pkgs/development/python-modules/dash/default.nix4
-rw-r--r--pkgs/development/python-modules/flammkuchen/default.nix4
-rw-r--r--pkgs/development/python-modules/gnureadline/default.nix4
-rw-r--r--pkgs/development/python-modules/jaraco-test/default.nix54
-rw-r--r--pkgs/development/python-modules/mkdocs-material/default.nix4
-rw-r--r--pkgs/development/python-modules/mockito/default.nix4
-rw-r--r--pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--pkgs/development/python-modules/pyclipper/default.nix6
-rw-r--r--pkgs/development/python-modules/qcelemental/default.nix4
-rw-r--r--pkgs/development/python-modules/rapidfuzz/default.nix2
-rw-r--r--pkgs/development/python-modules/rpi-gpio/default.nix23
-rw-r--r--pkgs/development/python-modules/sabyenc3/default.nix4
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix4
-rw-r--r--pkgs/development/tools/appthreat-depscan/default.nix4
-rw-r--r--pkgs/servers/computing/slurm/default.nix7
-rw-r--r--pkgs/servers/plex/raw.nix6
-rw-r--r--pkgs/servers/sabnzbd/default.nix20
-rw-r--r--pkgs/tools/networking/godns/default.nix6
-rw-r--r--pkgs/tools/security/gitsign/default.nix8
-rw-r--r--pkgs/tools/security/yubikey-agent/default.nix10
-rw-r--r--pkgs/tools/text/qshowdiff/default.nix27
-rw-r--r--pkgs/top-level/aliases.nix2
-rw-r--r--pkgs/top-level/all-packages.nix6
-rw-r--r--pkgs/top-level/python-packages.nix4
75 files changed, 5570 insertions, 1736 deletions
diff --git a/lib/modules.nix b/lib/modules.nix
index d8ae497fb2d..1e48f544079 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -462,6 +462,7 @@ rec {
           config = addFreeformType (addMeta (m.config or {}));
         }
     else
+      lib.throwIfNot (isAttrs m) "module ${file} (${key}) does not look like a module."
       { _file = toString m._file or file;
         key = toString m.key or key;
         disabledModules = m.disabledModules or [];
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index 36af32ca89d..c92cc62023b 100755
--- a/lib/tests/modules.sh
+++ b/lib/tests/modules.sh
@@ -194,6 +194,13 @@ checkConfigOutput '^"submodule"$' options.submodule.type.description ./declare-s
 ## Paths should be allowed as values and work as expected
 checkConfigOutput '^true$' config.submodule.enable ./declare-submoduleWith-path.nix
 
+## deferredModule
+# default module is merged into nodes.foo
+checkConfigOutput '"beta"' config.nodes.foo.settingsDict.c ./deferred-module.nix
+# errors from the default module are reported with accurate location
+checkConfigError 'In `the-file-that-contains-the-bad-config.nix, via option default'\'': "bogus"' config.nodes.foo.bottom ./deferred-module.nix
+checkConfigError '.*lib/tests/modules/deferred-module-error.nix, via option deferred [(]:anon-1:anon-1:anon-1[)] does not look like a module.' config.result ./deferred-module-error.nix
+
 # Check the file location information is propagated into submodules
 checkConfigOutput the-file.nix config.submodule.internalFiles.0 ./submoduleFiles.nix
 
diff --git a/lib/tests/modules/deferred-module-error.nix b/lib/tests/modules/deferred-module-error.nix
new file mode 100644
index 00000000000..d48ae092e8f
--- /dev/null
+++ b/lib/tests/modules/deferred-module-error.nix
@@ -0,0 +1,20 @@
+{ config, lib, ... }:
+let
+  inherit (lib) types mkOption setDefaultModuleLocation evalModules;
+  inherit (types) deferredModule lazyAttrsOf submodule str raw enum;
+in
+{
+  options = {
+    deferred = mkOption {
+      type = deferredModule;
+    };
+    result = mkOption {
+      default = (evalModules { modules = [ config.deferred ]; }).config.result;
+    };
+  };
+  config = {
+    deferred = { ... }:
+      # this should be an attrset, so this fails
+      true;
+  };
+}
diff --git a/lib/tests/modules/deferred-module.nix b/lib/tests/modules/deferred-module.nix
new file mode 100644
index 00000000000..d03c60b029b
--- /dev/null
+++ b/lib/tests/modules/deferred-module.nix
@@ -0,0 +1,58 @@
+{ lib, ... }:
+let
+  inherit (lib) types mkOption setDefaultModuleLocation;
+  inherit (types) deferredModule lazyAttrsOf submodule str raw enum;
+in
+{
+  imports = [
+    # generic module, declaring submodules:
+    #   - nodes.<name>
+    #   - default
+    # where all nodes include the default
+    ({ config, ... }: {
+      _file = "generic.nix";
+      options.nodes = mkOption {
+        type = lazyAttrsOf (submodule { imports = [ config.default ]; });
+        default = {};
+      };
+      options.default = mkOption {
+        type = deferredModule;
+        default = { };
+        description = ''
+          Module that is included in all nodes.
+        '';
+      };
+    })
+
+    {
+      _file = "default-1.nix";
+      default = { config, ... }: {
+        options.settingsDict = lib.mkOption { type = lazyAttrsOf str; default = {}; };
+        options.bottom = lib.mkOption { type = enum []; };
+      };
+    }
+
+    {
+      _file = "default-a-is-b.nix";
+      default = ./define-settingsDict-a-is-b.nix;
+    }
+
+    {
+      _file = "nodes-foo.nix";
+      nodes.foo.settingsDict.b = "beta";
+    }
+
+    {
+      _file = "the-file-that-contains-the-bad-config.nix";
+      default.bottom = "bogus";
+    }
+
+    {
+      _file = "nodes-foo-c-is-a.nix";
+      nodes.foo = { config, ... }: {
+        settingsDict.c = config.settingsDict.a;
+      };
+    }
+
+  ];
+}
diff --git a/lib/tests/modules/define-settingsDict-a-is-b.nix b/lib/tests/modules/define-settingsDict-a-is-b.nix
new file mode 100644
index 00000000000..42363f45f78
--- /dev/null
+++ b/lib/tests/modules/define-settingsDict-a-is-b.nix
@@ -0,0 +1,3 @@
+{ config, ... }: {
+  settingsDict.a = config.settingsDict.b;
+}
diff --git a/lib/types.nix b/lib/types.nix
index caaa6dccc6d..354714b2873 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -539,6 +539,36 @@ rec {
       modules = toList modules;
     };
 
+    # A module to be imported in some other part of the configuration.
+    deferredModule = deferredModuleWith { };
+
+    # A module to be imported in some other part of the configuration.
+    # `staticModules`' options will be added to the documentation, unlike
+    # options declared via `config`.
+    deferredModuleWith = attrs@{ staticModules ? [] }: mkOptionType {
+      name = "deferredModule";
+      description = "module";
+      check = x: isAttrs x || isFunction x || path.check x;
+      merge = loc: defs: {
+        imports = staticModules ++ map (def: lib.setDefaultModuleLocation "${def.file}, via option ${showOption loc}" def.value) defs;
+      };
+      inherit (submoduleWith { modules = staticModules; })
+        getSubOptions
+        getSubModules;
+      substSubModules = m: deferredModuleWith (attrs // {
+        staticModules = m;
+      });
+      functor = defaultFunctor "deferredModuleWith" // {
+        type = types.deferredModuleWith;
+        payload = {
+          inherit staticModules;
+        };
+        binOp = lhs: rhs: {
+          staticModules = lhs.staticModules ++ rhs.staticModules;
+        };
+      };
+    };
+
     # The type of a type!
     optionType = mkOptionType {
       name = "optionType";
diff --git a/nixos/doc/manual/development/option-types.section.md b/nixos/doc/manual/development/option-types.section.md
index d32d4fc50ad..9b35e663014 100644
--- a/nixos/doc/manual/development/option-types.section.md
+++ b/nixos/doc/manual/development/option-types.section.md
@@ -220,6 +220,25 @@ Value types are types that take a value parameter.
         requires using a function:
         `the-submodule = { ... }: { options = { ... }; }`.
 
+`types.deferredModule`
+
+:   Whereas `submodule` represents an option tree, `deferredModule` represents
+    a module value, such as a module file or a configuration.
+
+    It can be set multiple times.
+
+    Module authors can use its value in `imports`, in `submoduleWith`'s `modules`
+    or in `evalModules`' `modules` parameter, among other places.
+
+    Note that `imports` must be evaluated before the module fixpoint. Because
+    of this, deferred modules can only be imported into "other" fixpoints, such
+    as submodules.
+
+    One use case for this type is the type of a "default" module that allow the
+    user to affect all submodules in an `attrsOf submodule` at once. This is
+    more convenient and discoverable than expecting the module user to
+    type-merge with the `attrsOf submodule` option.
+
 ## Composed Types {#sec-option-types-composed}
 
 Composed types are types that take a type as parameter. `listOf
diff --git a/nixos/doc/manual/from_md/development/option-types.section.xml b/nixos/doc/manual/from_md/development/option-types.section.xml
index c67e183581c..929d5302ed4 100644
--- a/nixos/doc/manual/from_md/development/option-types.section.xml
+++ b/nixos/doc/manual/from_md/development/option-types.section.xml
@@ -427,6 +427,43 @@
           </itemizedlist>
         </listitem>
       </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>types.deferredModule</literal>
+        </term>
+        <listitem>
+          <para>
+            Whereas <literal>submodule</literal> represents an option
+            tree, <literal>deferredModule</literal> represents a module
+            value, such as a module file or a configuration.
+          </para>
+          <para>
+            It can be set multiple times.
+          </para>
+          <para>
+            Module authors can use its value in
+            <literal>imports</literal>, in
+            <literal>submoduleWith</literal><quote>s
+            <literal>modules</literal> or in
+            <literal>evalModules</literal></quote>
+            <literal>modules</literal> parameter, among other places.
+          </para>
+          <para>
+            Note that <literal>imports</literal> must be evaluated
+            before the module fixpoint. Because of this, deferred
+            modules can only be imported into <quote>other</quote>
+            fixpoints, such as submodules.
+          </para>
+          <para>
+            One use case for this type is the type of a
+            <quote>default</quote> module that allow the user to affect
+            all submodules in an <literal>attrsOf submodule</literal> at
+            once. This is more convenient and discoverable than
+            expecting the module user to type-merge with the
+            <literal>attrsOf submodule</literal> option.
+          </para>
+        </listitem>
+      </varlistentry>
     </variablelist>
   </section>
   <section xml:id="sec-option-types-composed">
diff --git a/nixos/modules/services/web-apps/hedgedoc.nix b/nixos/modules/services/web-apps/hedgedoc.nix
index 22270609dbc..0310c15a4d2 100644
--- a/nixos/modules/services/web-apps/hedgedoc.nix
+++ b/nixos/modules/services/web-apps/hedgedoc.nix
@@ -1031,7 +1031,8 @@ in
       '';
       serviceConfig = {
         WorkingDirectory = cfg.workDir;
-        StateDirectory = [ cfg.workDir cfg.configuration.uploadsPath ];
+        StateDirectory = [ (builtins.replaceStrings [ "/var/lib/"  ] [ "" ] cfg.workDir) ];
+        ReadWritePaths = [ cfg.configuration.uploadsPath ];
         ExecStart = "${cfg.package}/bin/hedgedoc";
         EnvironmentFile = mkIf (cfg.environmentFile != null) [ cfg.environmentFile ];
         Environment = [
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index 083b12193da..d04e565f7d3 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -50,10 +50,6 @@ in
 
           Note that this should be a last resort; patching the package is preferred (see GPaste).
         '';
-        apply = list: list ++
-        [
-          pkgs.pantheon.pantheon-agent-geoclue2
-        ];
       };
 
       extraWingpanelIndicators = mkOption {
@@ -96,6 +92,9 @@ in
 
   config = mkMerge [
     (mkIf cfg.enable {
+      services.xserver.desktopManager.pantheon.sessionPath = utils.removePackagesByName [
+        pkgs.pantheon.pantheon-agent-geoclue2
+      ] config.environment.pantheon.excludePackages;
 
       services.xserver.displayManager.sessionPackages = [ pkgs.pantheon.elementary-session-settings ];
 
@@ -177,19 +176,28 @@ in
       networking.networkmanager.enable = mkDefault true;
 
       # Global environment
-      environment.systemPackages = with pkgs; [
+      environment.systemPackages = (with pkgs.pantheon; [
+        elementary-session-settings
+        elementary-settings-daemon
+        gala
+        gnome-settings-daemon
+        (switchboard-with-plugs.override {
+          plugs = cfg.extraSwitchboardPlugs;
+        })
+        (wingpanel-with-indicators.override {
+          indicators = cfg.extraWingpanelIndicators;
+        })
+      ]) ++ utils.removePackagesByName ((with pkgs; [
         desktop-file-utils
-        glib
+        glib # for gsettings program
         gnome-menus
         gnome.adwaita-icon-theme
-        gtk3.out
-        hicolor-icon-theme
+        gtk3.out # for gtk-launch program
         onboard
         qgnomeplatform
-        shared-mime-info
         sound-theme-freedesktop
-        xdg-user-dirs
-      ] ++ (with pkgs.pantheon; [
+        xdg-user-dirs # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/
+      ]) ++ (with pkgs.pantheon; [
         # Artwork
         elementary-gtk-theme
         elementary-icon-theme
@@ -199,31 +207,21 @@ in
         # Desktop
         elementary-default-settings
         elementary-dock
-        elementary-session-settings
         elementary-shortcut-overlay
-        gala
-        (switchboard-with-plugs.override {
-          plugs = cfg.extraSwitchboardPlugs;
-        })
-        (wingpanel-with-indicators.override {
-          indicators = cfg.extraWingpanelIndicators;
-        })
 
         # Services
         elementary-capnet-assist
         elementary-notifications
-        elementary-settings-daemon
-        gnome-settings-daemon
         pantheon-agent-geoclue2
         pantheon-agent-polkit
-      ]);
-
-      programs.evince.enable = mkDefault true;
-      programs.file-roller.enable = mkDefault true;
+      ])) config.environment.pantheon.excludePackages;
 
       # Settings from elementary-default-settings
       environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
 
+      xdg.mime.enable = true;
+      xdg.icons.enable = true;
+
       xdg.portal.enable = true;
       xdg.portal.extraPortals = with pkgs.pantheon; [
         elementary-files
@@ -271,6 +269,9 @@ in
     })
 
     (mkIf serviceCfg.apps.enable {
+      programs.evince.enable = mkDefault true;
+      programs.file-roller.enable = mkDefault true;
+
       environment.systemPackages = utils.removePackagesByName ([
         pkgs.gnome.gnome-font-viewer
       ] ++ (with pkgs.pantheon; [
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 3ca044ad5bc..144cb00e480 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -234,11 +234,11 @@ in
     (mkIf (cfg.enable || cfg.mobile.enable) {
 
       security.wrappers = {
-        kcheckpass = {
+        kscreenlocker_greet = {
           setuid = true;
           owner = "root";
           group = "root";
-          source = "${getBin libsForQt5.kscreenlocker}/libexec/kcheckpass";
+          source = "${getBin libsForQt5.kscreenlocker}/libexec/kscreenlocker_greet";
         };
         start_kdeinit = {
           setuid = true;
diff --git a/pkgs/applications/blockchains/go-ethereum/default.nix b/pkgs/applications/blockchains/go-ethereum/default.nix
index 661a25c8314..ef79e514638 100644
--- a/pkgs/applications/blockchains/go-ethereum/default.nix
+++ b/pkgs/applications/blockchains/go-ethereum/default.nix
@@ -9,16 +9,16 @@ let
 
 in buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.10.17";
+  version = "1.10.18";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GBlrg4wOiqEQTZC3CtfAZbIvS16/pSjEedEDrPGNUtY=";
+    sha256 = "1jfyhzklznjrdki6m8wjgqzp63b6n6vy7ws3l0al58zkaybnpikw";
   };
 
-  vendorSha256 = "sha256-D4odWuGFipSvbKbNlA6PkTo3rWGTCptJcn/7V7ZA7qs=";
+  vendorSha256 = "10xpxz8ybgwqizqy9d3phza8mlxxpsbk4qsf271r7ls4qr5q1wxz";
 
   doCheck = false;
 
diff --git a/pkgs/applications/blockchains/lightning-loop/default.nix b/pkgs/applications/blockchains/lightning-loop/default.nix
index 6e99e8fe412..7efba6de079 100644
--- a/pkgs/applications/blockchains/lightning-loop/default.nix
+++ b/pkgs/applications/blockchains/lightning-loop/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "lightning-loop";
-  version = "0.18.0-beta";
+  version = "0.19.1-beta";
 
   src = fetchFromGitHub {
     owner = "lightninglabs";
     repo = "loop";
     rev = "v${version}";
-    sha256 = "1kg5nlvb4lb3cjn84wcylhq0l73d2n6rg4n1srnxmgs96v41y78f";
+    sha256 = "08jn1ybh9l9qy4j9b3psvgk7b869aaabpxh73v81980qflb9snnc";
   };
 
-  vendorSha256 = "0q3wbjfaqdj29sjlhx6fhc0p4d12aa31s6ia36jalcvf659ybb0l";
+  vendorSha256 = "0wirlf43jl888bh2qxis1ihsr1g2lp2rx7p100dsb3imqbm25q3b";
 
   subPackages = [ "cmd/loop" "cmd/loopd" ];
 
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 4ea3843c3f7..dac92940b6d 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -12696,6 +12696,18 @@ final: prev:
     meta.homepage = "https://github.com/catppuccin/nvim/";
   };
 
+  catppuccin-vim = buildVimPluginFrom2Nix {
+    pname = "catppuccin-vim";
+    version = "2022-06-06";
+    src = fetchFromGitHub {
+      owner = "catppuccin";
+      repo = "vim";
+      rev = "eaac7edb19ff11ce049513ac184fff7493817c1f";
+      sha256 = "181jfbw3msf1pccykabnniqry28ikassj39rc36hyz1vii1dq1d0";
+    };
+    meta.homepage = "https://github.com/catppuccin/vim/";
+  };
+
   chad = buildVimPluginFrom2Nix {
     pname = "chad";
     version = "2022-06-09";
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 5148efdf4c4..b540180d123 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -657,6 +657,7 @@ https://github.com/vhda/verilog_systemverilog.vim/,,
 https://github.com/vifm/vifm.vim/,,
 https://github.com/dracula/vim/,,dracula-vim
 https://github.com/embark-theme/vim/,,embark-vim
+https://github.com/catppuccin/vim/,HEAD,catppuccin-vim
 https://github.com/Konfekt/vim-CtrlXA/,,
 https://github.com/konfekt/vim-DetectSpellLang/,,
 https://github.com/dpelle/vim-LanguageTool/,,
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index 674a87dea47..08cd0aad815 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "19.0.2";
+  version = "19.0.3";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
-    sha256 = "46b4e7269628100ea3c083dee75308d9746780e46eac15d2c5495fdeece7e323";
+    sha256 = "be456d396a19dcb8881ad4bff315197306ae05cca5e47332a1e5ad572948614e";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 79760bb31a6..ae44b47643c 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -229,6 +229,10 @@ in
       Filters/Enhance/Wavelet sharpen
     */
     name = "wavelet-sharpen-0.1.2";
+    # Workaround build failure on -fno-common toolchains like upstream
+    # gcc-10. Otherwise build fails as:
+    #   ld: interface.o:(.bss+0xe0): multiple definition of `fimg'; plugin.o:(.bss+0x40): first defined here
+    NIX_CFLAGS_COMPILE = "-fcommon";
     NIX_LDFLAGS = "-lm";
     src = fetchurl {
       url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz";
@@ -250,6 +254,15 @@ in
       rev = "v${version}";
       sha256 = "81ajdZ2zQi/THxnBlSeT36tVTEzrS1YqLGpHMhFTKAo=";
     };
+    patches = [
+      # Pull upstream fix for -fno-common toolchain support:
+      #   https://github.com/carlobaldassi/gimp-lqr-plugin/pull/6
+      (fetchpatch {
+        name = "fno-common.patch";
+        url = "https://github.com/carlobaldassi/gimp-lqr-plugin/commit/ae3464a82e1395fc577cc94999bdc7c4a7bb35f1.patch";
+        sha256 = "EdjZWM6U1bhUmsOnLA8iJ4SFKuAXHIfNPzxZqel+JrY=";
+      })
+    ];
   };
 
   gmic = pkgs.gmic-qt.override {
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index d3b94c2a852..fe81cc6e524 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/release-service/22.04.1/src -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/release-service/22.04.2/src -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index 7e5dff590ed..af0eaf2b28b 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -4,1859 +4,1859 @@
 
 {
   akonadi = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/akonadi-22.04.1.tar.xz";
-      sha256 = "109r46dghfg84kcgq8h69m2pkd7abmq37ykgnpqynfzyrpkcvy6s";
-      name = "akonadi-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/akonadi-22.04.2.tar.xz";
+      sha256 = "0r6d8isvfvci056myjiryk9c7fqllsb8pqh9nndxcb7g7ja010d3";
+      name = "akonadi-22.04.2.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/akonadi-calendar-22.04.1.tar.xz";
-      sha256 = "1jqil45igxbii7warzil9r9lphd0vm23454zc9k0psl4zvwqd71m";
-      name = "akonadi-calendar-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/akonadi-calendar-22.04.2.tar.xz";
+      sha256 = "1izcgd55slayzh82yck2c1mbhw3kf0m61gv7ff1mcf382d4wxyfr";
+      name = "akonadi-calendar-22.04.2.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/akonadi-calendar-tools-22.04.1.tar.xz";
-      sha256 = "1sn0355mkd8cl58nm6aspjb9jzngp7cxgj3jypyvwriv3fcm3ixj";
-      name = "akonadi-calendar-tools-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/akonadi-calendar-tools-22.04.2.tar.xz";
+      sha256 = "154r0rkm22d0zaybzz5xd60cckm6kalvgr7i8bn8ic3rr18ap7c6";
+      name = "akonadi-calendar-tools-22.04.2.tar.xz";
+    };
+  };
+  akonadiconsole = {
+    version = "22.04.2";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/22.04.2/src/akonadiconsole-22.04.2.tar.xz";
+      sha256 = "19iq0qqf8y06l3nbl4q0i1065kywbyixsrdaj5zk1xrwzp824zcr";
+      name = "akonadiconsole-22.04.2.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/akonadi-contacts-22.04.1.tar.xz";
-      sha256 = "03ir95sghhvfxcsaz2v4wp06461xdr85iidgvpp9glfhp45cdwnd";
-      name = "akonadi-contacts-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/akonadi-contacts-22.04.2.tar.xz";
+      sha256 = "0d2h202d6wfm0fcsqibbiibzw5qylik9fwf3xdv739hjkmbfg4ky";
+      name = "akonadi-contacts-22.04.2.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/akonadi-import-wizard-22.04.1.tar.xz";
-      sha256 = "0qgpzz855gfvsq30m3rw935pixpc8b732lsbzjykw6pnl73yji3j";
-      name = "akonadi-import-wizard-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/akonadi-import-wizard-22.04.2.tar.xz";
+      sha256 = "0xjk95wdb5mbzr04g79xkklhynra5wgyqwd8v8a383sqzk7hp70l";
+      name = "akonadi-import-wizard-22.04.2.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/akonadi-mime-22.04.1.tar.xz";
-      sha256 = "03kx6j48rmsz0gy7w1fhs6g0xb8difd753kyv9a2di1ijkqhhn3g";
-      name = "akonadi-mime-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/akonadi-mime-22.04.2.tar.xz";
+      sha256 = "09jjgjw5zak5kshzas6d3zg6msq006gwvks5a1mxkg9ssclq8zlj";
+      name = "akonadi-mime-22.04.2.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/akonadi-notes-22.04.1.tar.xz";
-      sha256 = "119s7vgl8s9ik2fabky6xwq6gvj2xdq2ii0h1j6vx2x98mwwcqsk";
-      name = "akonadi-notes-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/akonadi-notes-22.04.2.tar.xz";
+      sha256 = "1wm7zjv66vlm562ihvxycngmvngja8jgx76fjnhch0vfcm1j5328";
+      name = "akonadi-notes-22.04.2.tar.xz";
     };
   };
   akonadi-search = {
-    version = "22.04.1";
-    src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/akonadi-search-22.04.1.tar.xz";
-      sha256 = "0arymd5islkmiarxppg3d4fwfrb13fzrj8dpzv7y9llgmngcn7kk";
-      name = "akonadi-search-22.04.1.tar.xz";
-    };
-  };
-  akonadiconsole = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/akonadiconsole-22.04.1.tar.xz";
-      sha256 = "1yji38rzjn3pr9b1gqbx0jq8k6iiqsi6cwpzk0ak9qp02z8h7bx9";
-      name = "akonadiconsole-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/akonadi-search-22.04.2.tar.xz";
+      sha256 = "0jmh2sglr590z29ppq1zrp07nwvaim9kyi3jwp1h3ckxscs236fq";
+      name = "akonadi-search-22.04.2.tar.xz";
     };
   };
   akregator = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/akregator-22.04.1.tar.xz";
-      sha256 = "18anzq4wcimgqizshb6i3cd18ydsls0i88pbgzc92rajqvv8m7z2";
-      name = "akregator-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/akregator-22.04.2.tar.xz";
+      sha256 = "12rp09d5xfs9xfc3giknywsd3pi9kc36fsx15470aszvp4c3pcnr";
+      name = "akregator-22.04.2.tar.xz";
     };
   };
   analitza = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/analitza-22.04.1.tar.xz";
-      sha256 = "0a0xzxfqxpriq1ak8qfi2f93f4ilfdp3z4v9ivl468fssmxg2x3j";
-      name = "analitza-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/analitza-22.04.2.tar.xz";
+      sha256 = "0sgcyxp047jm6ppyhnwk4inm3kz70cyjqgwdrmri44g5qligwg6q";
+      name = "analitza-22.04.2.tar.xz";
     };
   };
   ark = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ark-22.04.1.tar.xz";
-      sha256 = "1ikdwr803f55fgymp27zpwwfxzsjf79angzm84ysy2mv3l4cnpkn";
-      name = "ark-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ark-22.04.2.tar.xz";
+      sha256 = "0sgv5l1fmdr4g5dw1r4f0qjd3sbqfqvrwidm3nznrxz2idrb99n4";
+      name = "ark-22.04.2.tar.xz";
     };
   };
   artikulate = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/artikulate-22.04.1.tar.xz";
-      sha256 = "176qjgwwh9xalwddjlfn39hkymjajbabzhgzrrrzjpw30zz6nplc";
-      name = "artikulate-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/artikulate-22.04.2.tar.xz";
+      sha256 = "055vp3b0mi9nw8csc3f6iifnf0g7y2mmfqix9rq9ri02sx0b8j2i";
+      name = "artikulate-22.04.2.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/audiocd-kio-22.04.1.tar.xz";
-      sha256 = "1mannh6f79q4i6lpyf1dqvc9ra4hdrk7md40m8jj718v834svrql";
-      name = "audiocd-kio-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/audiocd-kio-22.04.2.tar.xz";
+      sha256 = "0x48k0ccacs47c3mdb5r7956dyi2c2nyqr4kkv20gm3rbbmzhmsd";
+      name = "audiocd-kio-22.04.2.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/baloo-widgets-22.04.1.tar.xz";
-      sha256 = "1bkkdqnl3zdwijn05cmnbf77hc1y9zx7h5r24y9197sg2b0241v8";
-      name = "baloo-widgets-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/baloo-widgets-22.04.2.tar.xz";
+      sha256 = "0c6c4947zgx4ajhvb1m3c6blyv1aajqdymh14dpj59ry9gqnmzcn";
+      name = "baloo-widgets-22.04.2.tar.xz";
     };
   };
   blinken = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/blinken-22.04.1.tar.xz";
-      sha256 = "162cbivfbxi8792l2m2ipm0g67v2khfgxb481fccgraq3690ib2m";
-      name = "blinken-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/blinken-22.04.2.tar.xz";
+      sha256 = "1yfh66354cxhkmqshbsl2d6kiwkx53x18h5wgndrfxwfv5nfkzly";
+      name = "blinken-22.04.2.tar.xz";
     };
   };
   bomber = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/bomber-22.04.1.tar.xz";
-      sha256 = "04siq2vcicm88p31v3hlqrsyxjbvvbayr03zf5kgn08kr3dr24y9";
-      name = "bomber-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/bomber-22.04.2.tar.xz";
+      sha256 = "07cvnpifg4z4bjf81hvngv6zp54q08jk5phgpj9fxg95z32khydv";
+      name = "bomber-22.04.2.tar.xz";
     };
   };
   bovo = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/bovo-22.04.1.tar.xz";
-      sha256 = "0xbfnhvkfyy0pi1d0df02yx91551hcw5vf8mrm163abd4mjpmzls";
-      name = "bovo-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/bovo-22.04.2.tar.xz";
+      sha256 = "0ms0b91gl6wrpvw0pxhmqnnm0ff2y0jyy48rg47bxg5rk31ri0yd";
+      name = "bovo-22.04.2.tar.xz";
     };
   };
   calendarsupport = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/calendarsupport-22.04.1.tar.xz";
-      sha256 = "1axfhc09shmmmwgx1n2ilz7k0sakhlx6d9jvxhr2p29s5jsrbcqh";
-      name = "calendarsupport-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/calendarsupport-22.04.2.tar.xz";
+      sha256 = "1d83aacsr40yyhich0f2n1yb9ij0xf2lgg2zm8yhy5pdg1j9xbfv";
+      name = "calendarsupport-22.04.2.tar.xz";
     };
   };
   cantor = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/cantor-22.04.1.tar.xz";
-      sha256 = "1lc3nnpg601mx2km62s3jwnyhngv0w4brgrylx4q3v4g2h0czbjc";
-      name = "cantor-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/cantor-22.04.2.tar.xz";
+      sha256 = "1j0ywikjml4wv03yw2dbgmqy4y7f0z0f80h7f3mg60kgs7m9icsn";
+      name = "cantor-22.04.2.tar.xz";
     };
   };
   cervisia = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/cervisia-22.04.1.tar.xz";
-      sha256 = "0dr77221ayhb0ihhjgm8rbcsmni8l12hyvp5w0dcd4p58xabnd2w";
-      name = "cervisia-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/cervisia-22.04.2.tar.xz";
+      sha256 = "1gcf8q0qa578g7lnsvj1n7y9js1j9vwp58vql8q1srgi13gw6v5q";
+      name = "cervisia-22.04.2.tar.xz";
     };
   };
   dolphin = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/dolphin-22.04.1.tar.xz";
-      sha256 = "0ywsjz6jqcwr8i5zafiaxlg7855vyf0cm77936li4ggw3z11mxcw";
-      name = "dolphin-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/dolphin-22.04.2.tar.xz";
+      sha256 = "0iyib0z8912pcc38rylv8f6n9la1ysr7jb677m7j4apldz0w9qy2";
+      name = "dolphin-22.04.2.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/dolphin-plugins-22.04.1.tar.xz";
-      sha256 = "1zxh4aqi3mk9wafgslchm0jvcacva405jxf5l8hffkr2llchn8l1";
-      name = "dolphin-plugins-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/dolphin-plugins-22.04.2.tar.xz";
+      sha256 = "0a7gz2nx2dzkrhss3pl5y9hxcq1nsxwavkffxf49yfxmxwv5wsmf";
+      name = "dolphin-plugins-22.04.2.tar.xz";
     };
   };
   dragon = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/dragon-22.04.1.tar.xz";
-      sha256 = "0nq3m5y6yawb5z036gqmqajvsk52yy5pisblkyjnj1a8i0mlkg9p";
-      name = "dragon-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/dragon-22.04.2.tar.xz";
+      sha256 = "0hl12i73vqqcic01j0imgsda70pii7dnd5jv32h7vxabwaj0a28k";
+      name = "dragon-22.04.2.tar.xz";
     };
   };
   elisa = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/elisa-22.04.1.tar.xz";
-      sha256 = "01ay2nz08943iaja8ns3p8gkjbi4hqn632gw30la9kccjgnskgkp";
-      name = "elisa-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/elisa-22.04.2.tar.xz";
+      sha256 = "0dh0hm9x39agsqkh57wf5cynmdf5lh0g1fd83qnjqaq2fyh4vi6v";
+      name = "elisa-22.04.2.tar.xz";
     };
   };
   eventviews = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/eventviews-22.04.1.tar.xz";
-      sha256 = "0j3f1y7wnw1y0c6wxbm5cx298afngzppn2rz6vynslz3pb11825d";
-      name = "eventviews-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/eventviews-22.04.2.tar.xz";
+      sha256 = "13npqh0bdv0xm00jqwkhd79g6b80kq72jnhd280h6fsws97xcvmk";
+      name = "eventviews-22.04.2.tar.xz";
     };
   };
   falkon = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/falkon-22.04.1.tar.xz";
-      sha256 = "09623p10n92fjk5i4kzpjnd5vjxng2m8z7vbz7n0snly8h67i6bl";
-      name = "falkon-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/falkon-22.04.2.tar.xz";
+      sha256 = "1rh3sa09sqal7v3m2m0vk14izn0vr4hkyyvz1712kjzg4qildxhk";
+      name = "falkon-22.04.2.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ffmpegthumbs-22.04.1.tar.xz";
-      sha256 = "0xbqkly4bpzx0ign1diz2z0gqn05dp6pgzn6z1wfxxp8rpf7nbwc";
-      name = "ffmpegthumbs-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ffmpegthumbs-22.04.2.tar.xz";
+      sha256 = "0pb4ak6kn13l4nmk8ixinhq5cx7v05c3pl1ss03n6smik2x30sz4";
+      name = "ffmpegthumbs-22.04.2.tar.xz";
     };
   };
   filelight = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/filelight-22.04.1.tar.xz";
-      sha256 = "06zrfa8r17sf326msnbqgzyazdijxvxd4plbwdkl6iyvybvswfdn";
-      name = "filelight-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/filelight-22.04.2.tar.xz";
+      sha256 = "093n6r2rdv5igyfpimfn4m4sqk3d703sx23axlzn6jhg5d186r83";
+      name = "filelight-22.04.2.tar.xz";
     };
   };
   granatier = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/granatier-22.04.1.tar.xz";
-      sha256 = "01czy1a4jiwcj7ngajqb6kf47d1dhxrzjk58l9w1npnl4zgjcbqd";
-      name = "granatier-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/granatier-22.04.2.tar.xz";
+      sha256 = "0xkabkb5d2hb24mvqa9q9m1p37hciw234c5fwy8zxaxszz2j5m86";
+      name = "granatier-22.04.2.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/grantlee-editor-22.04.1.tar.xz";
-      sha256 = "0yis7cd7x4z1hn3q3wwkhqjzlfm6l43fkcj218yayb7pdqxa9q44";
-      name = "grantlee-editor-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/grantlee-editor-22.04.2.tar.xz";
+      sha256 = "0gr672g2q909ncacx51cdvg6p7n3d1lz0by80cm8acx088l56np0";
+      name = "grantlee-editor-22.04.2.tar.xz";
     };
   };
   grantleetheme = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/grantleetheme-22.04.1.tar.xz";
-      sha256 = "0aks9sb4ywk461wqa2yhs0nc0h0i8v30rckx44s0f29v18z50ckm";
-      name = "grantleetheme-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/grantleetheme-22.04.2.tar.xz";
+      sha256 = "1gj6lfiiizv00z4mrnfhivihsd5hfdmzdrly17a2hgcddf006md4";
+      name = "grantleetheme-22.04.2.tar.xz";
     };
   };
   gwenview = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/gwenview-22.04.1.tar.xz";
-      sha256 = "0jncx7avdfqdv0x0r0s85h1lxxhc0ni14ia37y5vmqn7nxp8z6pr";
-      name = "gwenview-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/gwenview-22.04.2.tar.xz";
+      sha256 = "11s34kzsp26m1amyxmqviy2qga98h4sj9100asrdchq86j0wxvl4";
+      name = "gwenview-22.04.2.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/incidenceeditor-22.04.1.tar.xz";
-      sha256 = "0h33jgrlvdsa4d2p905hl2spg7j265mn79l02rg21258r8r56bc3";
-      name = "incidenceeditor-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/incidenceeditor-22.04.2.tar.xz";
+      sha256 = "0z5hrk1jysjc5x704sy60b353p2cxqcfgbcjky6srkxs24fc5s2a";
+      name = "incidenceeditor-22.04.2.tar.xz";
     };
   };
   itinerary = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/itinerary-22.04.1.tar.xz";
-      sha256 = "09h0m9g7mmy1qap8k00fx3y63lqa641cwpi7dak91jh57crialcy";
-      name = "itinerary-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/itinerary-22.04.2.tar.xz";
+      sha256 = "1r9isr0i08yrl6x42388ycs1mdy447cvx6sa2igc38h0f2cs533d";
+      name = "itinerary-22.04.2.tar.xz";
     };
   };
   juk = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/juk-22.04.1.tar.xz";
-      sha256 = "1c9cigd72qzmaann85i0kfxivkbdqy1lwcrf2mlrb6ycvbzfmbm0";
-      name = "juk-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/juk-22.04.2.tar.xz";
+      sha256 = "11l2q8gdj2z9wxj7z9fb194aw293ip1pxav487910clfgv0q6hvf";
+      name = "juk-22.04.2.tar.xz";
     };
   };
   k3b = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/k3b-22.04.1.tar.xz";
-      sha256 = "1yslsf736nlkxra8ial067a69mzlfb5zdyakcjg7nmkxbklkg46p";
-      name = "k3b-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/k3b-22.04.2.tar.xz";
+      sha256 = "1rbmaj4ini7gxsl16kx29wqg66wn44a9kwf6aa5pgq91a53h5999";
+      name = "k3b-22.04.2.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kaccounts-integration-22.04.1.tar.xz";
-      sha256 = "1yj4c4qgxk8r5salfwra8dqi418167zrcs8rnpnzlvrr3gqqvvbj";
-      name = "kaccounts-integration-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kaccounts-integration-22.04.2.tar.xz";
+      sha256 = "1s18bq77al8alwv4j9c9n48adfplbf9a1jn0xyncayz86x73c53a";
+      name = "kaccounts-integration-22.04.2.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kaccounts-providers-22.04.1.tar.xz";
-      sha256 = "0mphnjgyzdxlp5iig2hyfzvpykqf7bm6vn4ninnj5wcs91jkjlxq";
-      name = "kaccounts-providers-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kaccounts-providers-22.04.2.tar.xz";
+      sha256 = "18kyjg60zrr94c76jgnpkqfni9ybmx17g7cyrylsxzqc4gnacrqa";
+      name = "kaccounts-providers-22.04.2.tar.xz";
     };
   };
   kaddressbook = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kaddressbook-22.04.1.tar.xz";
-      sha256 = "1n76baf47ran2rdaz6i6b8c411zagqgzz89ap7v7x843vsv6g960";
-      name = "kaddressbook-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kaddressbook-22.04.2.tar.xz";
+      sha256 = "1kc1glax3hq73s9lvxh0dr1rl5zhggs053wc0s2w1ah7930xx5w0";
+      name = "kaddressbook-22.04.2.tar.xz";
     };
   };
   kajongg = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kajongg-22.04.1.tar.xz";
-      sha256 = "0pbym31l4gyzwi9qvhbwmkyrb7199vfn5mipc9fxkjsczsyp0cqg";
-      name = "kajongg-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kajongg-22.04.2.tar.xz";
+      sha256 = "169pavwsh3irb8k49qbf2l6yzk5vhczdlx0v80dsakxchj2c61d9";
+      name = "kajongg-22.04.2.tar.xz";
     };
   };
   kalarm = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kalarm-22.04.1.tar.xz";
-      sha256 = "04cg8ymgwx6ls62q87ma3658xswff3a4kbjbdh05vvipqpkhd0cm";
-      name = "kalarm-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kalarm-22.04.2.tar.xz";
+      sha256 = "08xxkb8cjspjdxlqf2476dm3q8wnjiw8idb4bibnq4hwwqk7cixd";
+      name = "kalarm-22.04.2.tar.xz";
     };
   };
   kalendar = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kalendar-22.04.1.tar.xz";
-      sha256 = "1vk1n6in42frx95mgcsz8qhrhbbg2vz0fwxf966xbsdjcrg6whsn";
-      name = "kalendar-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kalendar-22.04.2.tar.xz";
+      sha256 = "06z5j5p8awq30kvix7wzv2gc91gsy9i5sdkq7cnan22z621p1k95";
+      name = "kalendar-22.04.2.tar.xz";
     };
   };
   kalgebra = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kalgebra-22.04.1.tar.xz";
-      sha256 = "07cyknqhkyr4vsrv7bfl7aqflw079rb1rcqq2lm0k0pp4mi3z5m3";
-      name = "kalgebra-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kalgebra-22.04.2.tar.xz";
+      sha256 = "0cskrl3c3a1z26ykgsycx66yx45lrj96p4rcn2yskwyvkcqwa2lv";
+      name = "kalgebra-22.04.2.tar.xz";
     };
   };
   kalzium = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kalzium-22.04.1.tar.xz";
-      sha256 = "1fn8vn0phnaknd8yrzv75zdz3byq0rmdpb8blvp224nnlmf1733f";
-      name = "kalzium-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kalzium-22.04.2.tar.xz";
+      sha256 = "086f5w5idhs715hvb3fjpzv35y6qk3hxvazdpb3gdaikd9mxjc86";
+      name = "kalzium-22.04.2.tar.xz";
     };
   };
   kamera = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kamera-22.04.1.tar.xz";
-      sha256 = "0c1mb8phip67h9v2crmrv7lnb00ha257l27j6hhq0pi3mpy4jhsg";
-      name = "kamera-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kamera-22.04.2.tar.xz";
+      sha256 = "159lci4h52pdn2f5kwrydkxh3mzs6842pvczglc4g4jw08qrmakh";
+      name = "kamera-22.04.2.tar.xz";
     };
   };
   kamoso = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kamoso-22.04.1.tar.xz";
-      sha256 = "039x5nrrznhlw53v63n550wb9k7x4r5w2d45rc2inw140rj5i32v";
-      name = "kamoso-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kamoso-22.04.2.tar.xz";
+      sha256 = "0jb7y9mx3bwss5yfc1jwprca3g4awpfr4gxn1g0ykmham9xd6rmc";
+      name = "kamoso-22.04.2.tar.xz";
     };
   };
   kanagram = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kanagram-22.04.1.tar.xz";
-      sha256 = "0j0lg5yx8yid1anpvjvgy8p09b1nn8pcvd6w2rlrrxjwpybnx9jc";
-      name = "kanagram-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kanagram-22.04.2.tar.xz";
+      sha256 = "0r875gnrhc08nsz37apz84wvs9amqfapvxh0sdi9drqza9g9j6vq";
+      name = "kanagram-22.04.2.tar.xz";
     };
   };
   kapman = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kapman-22.04.1.tar.xz";
-      sha256 = "1a6mmzmaxmlkn9d14m06b5wzr9rbciskhb3bfdzjpk9gia6j22kk";
-      name = "kapman-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kapman-22.04.2.tar.xz";
+      sha256 = "0rv9vs432xwnypbm3vg8jgblww62a3q3ssyc0i76k4pibjsby74b";
+      name = "kapman-22.04.2.tar.xz";
     };
   };
   kapptemplate = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kapptemplate-22.04.1.tar.xz";
-      sha256 = "16q7pzd47aksbnnfa04cnjf6gbzhzfdmykn9cqwdb37689fs9lmf";
-      name = "kapptemplate-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kapptemplate-22.04.2.tar.xz";
+      sha256 = "12djljr9blcpans1ayknzjpczbz7nvs2vc9hx3br1yygn1fz2a2r";
+      name = "kapptemplate-22.04.2.tar.xz";
     };
   };
   kate = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kate-22.04.1.tar.xz";
-      sha256 = "0jcqa3c1z54k3sjqhz8f7rq3xygkxcqw9728rppk506zgqyw6vpl";
-      name = "kate-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kate-22.04.2.tar.xz";
+      sha256 = "1phpy4ganjnd8dky5q386gvr5axgzl13kb9ylx59328x76vcizkw";
+      name = "kate-22.04.2.tar.xz";
     };
   };
   katomic = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/katomic-22.04.1.tar.xz";
-      sha256 = "1858q8k6pzszrmgjqhp32kkqmax6nbfw04x5h1pjyxhvaxg3xr27";
-      name = "katomic-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/katomic-22.04.2.tar.xz";
+      sha256 = "0ynalhc0zrx4a861lj68n618ki5z2jakfss493pjl8yj7jqn4mci";
+      name = "katomic-22.04.2.tar.xz";
     };
   };
   kbackup = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kbackup-22.04.1.tar.xz";
-      sha256 = "1h84alirmrbn90l9zfzs1xj2nf5q5hzvy0rsbsrkhwcsw35q63z2";
-      name = "kbackup-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kbackup-22.04.2.tar.xz";
+      sha256 = "1qad8gcvi7pl05zp8xb15av84c4z21yw8x9wiccaqrdbb45phg58";
+      name = "kbackup-22.04.2.tar.xz";
     };
   };
   kblackbox = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kblackbox-22.04.1.tar.xz";
-      sha256 = "03gdwfwkzyzwh3qj6pjsd90df2knmaf6y6vgpzh92k4y1zq8n421";
-      name = "kblackbox-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kblackbox-22.04.2.tar.xz";
+      sha256 = "0qiv52970sw1myl09qzmlmb7l7714gyifbrricpgvsnn26niqz1w";
+      name = "kblackbox-22.04.2.tar.xz";
     };
   };
   kblocks = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kblocks-22.04.1.tar.xz";
-      sha256 = "1dglbppjfbdvnmpnk6cf01sp0vclnbxgvw6wnlmdp1vh00qgad3d";
-      name = "kblocks-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kblocks-22.04.2.tar.xz";
+      sha256 = "0ibxmpf4lqbg6nm2f3bqi2pz8czd3rpvyy51kag5skyqy06740v5";
+      name = "kblocks-22.04.2.tar.xz";
     };
   };
   kbounce = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kbounce-22.04.1.tar.xz";
-      sha256 = "1ci5i5d5dppw7xgma6hyrd5v93n1lc8n2bp36p0za1hak9kxisaa";
-      name = "kbounce-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kbounce-22.04.2.tar.xz";
+      sha256 = "11yhfxwxx44m28md32m57fi1l6jy5y18ix6zx95b96fgiv5xh6r5";
+      name = "kbounce-22.04.2.tar.xz";
     };
   };
   kbreakout = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kbreakout-22.04.1.tar.xz";
-      sha256 = "0fmk4nd8c5z8fy2pw88l9fpcv0a59gbcvvgh3v92cmdw0ml65wb0";
-      name = "kbreakout-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kbreakout-22.04.2.tar.xz";
+      sha256 = "0gnmbrksnagz6600fifinvf4qy9ws425s8nqp83258bbnha6bpx6";
+      name = "kbreakout-22.04.2.tar.xz";
     };
   };
   kbruch = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kbruch-22.04.1.tar.xz";
-      sha256 = "1zx0cwi8s83j9ix0vdnjxhrkw2pa85y6plpwzy12f2fbxkmzvg1h";
-      name = "kbruch-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kbruch-22.04.2.tar.xz";
+      sha256 = "170zzgfg26l4z4vl8djan2gqfc03w9fa92a2naxm4iv9shn2xigp";
+      name = "kbruch-22.04.2.tar.xz";
     };
   };
   kcachegrind = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kcachegrind-22.04.1.tar.xz";
-      sha256 = "0nvqly26w4wma68glfa6bil1jxh6hmd7mjvcr3s6fvzk4ky51was";
-      name = "kcachegrind-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kcachegrind-22.04.2.tar.xz";
+      sha256 = "1dj19290pzfi5ys01i4kgd32hqnyrb1y61xkrm7gqgd5dr6vr1fn";
+      name = "kcachegrind-22.04.2.tar.xz";
     };
   };
   kcalc = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kcalc-22.04.1.tar.xz";
-      sha256 = "09nfcmmh5bmjx2bkjw33s0a55lky8shkhrgq1q3fd18igw7xpcgl";
-      name = "kcalc-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kcalc-22.04.2.tar.xz";
+      sha256 = "1mw7ans14q1bhhsk563r28cb4bhj559ma3mkxh4573aj2rqf1j4g";
+      name = "kcalc-22.04.2.tar.xz";
     };
   };
   kcalutils = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kcalutils-22.04.1.tar.xz";
-      sha256 = "0vgwz3yinrf2wjwj5qfj22fn7hdl0q5lhzd7v4a903gj4cb27ayq";
-      name = "kcalutils-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kcalutils-22.04.2.tar.xz";
+      sha256 = "0h6n4k2v66b21ccq1hlv5vhan6xxgli19mr5l0j9zgsnpk4kvikv";
+      name = "kcalutils-22.04.2.tar.xz";
     };
   };
   kcharselect = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kcharselect-22.04.1.tar.xz";
-      sha256 = "0s4wfq808dsi3bjf4hq419b3ws0hsir79wgw9mbbry0s0c02nlk9";
-      name = "kcharselect-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kcharselect-22.04.2.tar.xz";
+      sha256 = "1jz3f86if4klsv6w7y9crn7zvzikg64qpdlr9ba8vyxay9lrhdhw";
+      name = "kcharselect-22.04.2.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kcolorchooser-22.04.1.tar.xz";
-      sha256 = "1s9j7r5rxq1zd8aaakxsw2p56rvykhnm80s5rk8krkp4gk58przr";
-      name = "kcolorchooser-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kcolorchooser-22.04.2.tar.xz";
+      sha256 = "17hfx219491s8fjx51mfm81bqlg4nbz91vpg51ygc8j6dsxnapr5";
+      name = "kcolorchooser-22.04.2.tar.xz";
     };
   };
   kcron = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kcron-22.04.1.tar.xz";
-      sha256 = "15g5k3z840zawhnksyzznw5w8ns3pp9vgdmz7pc2pir15mp763jm";
-      name = "kcron-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kcron-22.04.2.tar.xz";
+      sha256 = "1k810ggrsqybbmxmbdqir7ya7sqa536di6z3ib5yqc3lbrigak4h";
+      name = "kcron-22.04.2.tar.xz";
     };
   };
-  kde-dev-scripts = {
-    version = "22.04.1";
+  kdebugsettings = {
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kde-dev-scripts-22.04.1.tar.xz";
-      sha256 = "1s9cjyz2im8s6gpq1w0zqrfgf3cdw697s4z7srw50cg6aagks4x3";
-      name = "kde-dev-scripts-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdebugsettings-22.04.2.tar.xz";
+      sha256 = "1i94rih9z927jn5mjjzzmsan8jsk715bgwnk65cg1mbgqnclvi5s";
+      name = "kdebugsettings-22.04.2.tar.xz";
     };
   };
-  kde-dev-utils = {
-    version = "22.04.1";
+  kdeconnect-kde = {
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kde-dev-utils-22.04.1.tar.xz";
-      sha256 = "1bi8i6pnx2yi786y78ad24f1yrb2vjd5ggrgaxislijs9qpdpbnr";
-      name = "kde-dev-utils-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdeconnect-kde-22.04.2.tar.xz";
+      sha256 = "0q12qai55383fa70kiliqq474y9hji2amm2gd8cdljl1wn7cp16w";
+      name = "kdeconnect-kde-22.04.2.tar.xz";
     };
   };
-  kdebugsettings = {
-    version = "22.04.1";
+  kde-dev-scripts = {
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdebugsettings-22.04.1.tar.xz";
-      sha256 = "14b0p0n14bivfr5nfjsyamx8jk2sbw283s04hrrxmv93b14068r7";
-      name = "kdebugsettings-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kde-dev-scripts-22.04.2.tar.xz";
+      sha256 = "1x25hidqs03ylbk9h5rq3jwp5ljh02ak0js97yy1y23qwvhqi9xj";
+      name = "kde-dev-scripts-22.04.2.tar.xz";
     };
   };
-  kdeconnect-kde = {
-    version = "22.04.1";
+  kde-dev-utils = {
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdeconnect-kde-22.04.1.tar.xz";
-      sha256 = "0ym5n311iabrwal8w3yiq76g656rp1gz0yq9fdz61fl0pd4bmnbd";
-      name = "kdeconnect-kde-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kde-dev-utils-22.04.2.tar.xz";
+      sha256 = "0zqv0r5s24bb6cgg039dw1sl8vl4pgck5any0k08swb14zbpc63p";
+      name = "kde-dev-utils-22.04.2.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdeedu-data-22.04.1.tar.xz";
-      sha256 = "1lgcn4z4k2djzls35w33y5h7yjw2cs1028bxh0avlprh5ihi8cn2";
-      name = "kdeedu-data-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdeedu-data-22.04.2.tar.xz";
+      sha256 = "1npa7545f2a40gpv0zq8rmfy6gd745m4agsrvjj55g43mncj496d";
+      name = "kdeedu-data-22.04.2.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdegraphics-mobipocket-22.04.1.tar.xz";
-      sha256 = "0p8zsks0fcrzmcnwdzb7gcswq7vkv67vy1x1mi4v0y6lcgx1xqz7";
-      name = "kdegraphics-mobipocket-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdegraphics-mobipocket-22.04.2.tar.xz";
+      sha256 = "078s3a0mwdsdx2gxppmhmn8swranwd9q8q2ymyxlbmriif1sncs3";
+      name = "kdegraphics-mobipocket-22.04.2.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdegraphics-thumbnailers-22.04.1.tar.xz";
-      sha256 = "1y8rkjr5azyffj8bb06jrm46j87n93xzvn2fcyarrmww01dsw1hp";
-      name = "kdegraphics-thumbnailers-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdegraphics-thumbnailers-22.04.2.tar.xz";
+      sha256 = "1m8nndw18simw5hk124xknqsn5ckpz28l65r52424rihvb2kzf1s";
+      name = "kdegraphics-thumbnailers-22.04.2.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdenetwork-filesharing-22.04.1.tar.xz";
-      sha256 = "1h5zh0yvar3lylxm1iri3w7c7qzmdf18ak258jfphc23c9q6w32j";
-      name = "kdenetwork-filesharing-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdenetwork-filesharing-22.04.2.tar.xz";
+      sha256 = "040z92z16vzl4r025i2yajaxb4lqgaaf0sjcq00qh3y5f353n325";
+      name = "kdenetwork-filesharing-22.04.2.tar.xz";
     };
   };
   kdenlive = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdenlive-22.04.1.tar.xz";
-      sha256 = "0kiajmkmf2254464s8rv8d61igwrd2xmrj1dxwzrps4fy50r11xf";
-      name = "kdenlive-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdenlive-22.04.2.tar.xz";
+      sha256 = "1jfw0978xs6dd90f9ddc4fvvf0wlzkjmksbi55dskd49rr780x0z";
+      name = "kdenlive-22.04.2.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdepim-addons-22.04.1.tar.xz";
-      sha256 = "0r5gy56n1nrsm1wvf8687g6ng5m3q9wnl8nkfqaa4a4kk16h0i5f";
-      name = "kdepim-addons-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdepim-addons-22.04.2.tar.xz";
+      sha256 = "1fnd6z80b9mla4sryfcl3s591m9hcs2qapfj91w6w2wzgw8b5gnc";
+      name = "kdepim-addons-22.04.2.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdepim-runtime-22.04.1.tar.xz";
-      sha256 = "0gwhzdlzal2j61hak5axv68n7chhnlf8n9dqnnfili6ffps63yxm";
-      name = "kdepim-runtime-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdepim-runtime-22.04.2.tar.xz";
+      sha256 = "04qrdbj0f91q8vwfrnq3sdrcxb8jpq3kg7hab39ynp3qkfqdlmll";
+      name = "kdepim-runtime-22.04.2.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdesdk-kioslaves-22.04.1.tar.xz";
-      sha256 = "19ay298fbjmn5xcrmpjabch7ljfmn03qkacifv337yx5idv1116q";
-      name = "kdesdk-kioslaves-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdesdk-kioslaves-22.04.2.tar.xz";
+      sha256 = "1r2r8qh8qffvgq8rsm1a9y5djh1zmql5nhm3snqfjm2d88dpd9b8";
+      name = "kdesdk-kioslaves-22.04.2.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdesdk-thumbnailers-22.04.1.tar.xz";
-      sha256 = "0f7d9m13gx552f1ficw1r7ndlal39iicklrc8g8cqh2gvkbydgni";
-      name = "kdesdk-thumbnailers-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdesdk-thumbnailers-22.04.2.tar.xz";
+      sha256 = "0ibnfjigi4rhnrnqcyfhc1mw7r2zy3rm2k2fk5fqsijx2w975ghf";
+      name = "kdesdk-thumbnailers-22.04.2.tar.xz";
     };
   };
-  kdev-php = {
-    version = "22.04.1";
+  kdevelop = {
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdev-php-22.04.1.tar.xz";
-      sha256 = "1cxvzybiqxa5kgbv2jb42jq7div5q4jyl3kiar5mdnnc590x4h2y";
-      name = "kdev-php-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdevelop-22.04.2.tar.xz";
+      sha256 = "1dihxx3sq0pmszd9nhp5x9h2s0flrjhbi8miq20w8k1kqs6jnqfk";
+      name = "kdevelop-22.04.2.tar.xz";
     };
   };
-  kdev-python = {
-    version = "22.04.1";
+  kdev-php = {
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdev-python-22.04.1.tar.xz";
-      sha256 = "01570g5284llqbmnlrsbrpm6zbkkp5rip49gng4nn7pi4nab9nyr";
-      name = "kdev-python-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdev-php-22.04.2.tar.xz";
+      sha256 = "1rpnmwyf08r8qcq25fdrnq0in3vqvn8ydh5v5zazjns7bx68n295";
+      name = "kdev-php-22.04.2.tar.xz";
     };
   };
-  kdevelop = {
-    version = "22.04.1";
+  kdev-python = {
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdevelop-22.04.1.tar.xz";
-      sha256 = "1n6dcs1z88d7aaski7ffjvjpfzqssr9zjrlzlcf84k285l6zbwr2";
-      name = "kdevelop-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdev-python-22.04.2.tar.xz";
+      sha256 = "1p1vn8163b5qf0ifcxw6c647qf2rmrygw7xbvzppfi9346j72r4b";
+      name = "kdev-python-22.04.2.tar.xz";
     };
   };
   kdf = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdf-22.04.1.tar.xz";
-      sha256 = "03vr48yhb08fw5f34yn8yjnygflz6993ihq9pfcp6jg916fpwkbp";
-      name = "kdf-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdf-22.04.2.tar.xz";
+      sha256 = "0srdqjf4sk6kidh04n9py8qcbcd2jdclnrrq1v4bn2zlm0qbqa0r";
+      name = "kdf-22.04.2.tar.xz";
     };
   };
   kdialog = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdialog-22.04.1.tar.xz";
-      sha256 = "0qqpvrkbinnxz26a4msak4wa26b4r52yjyz2h5l3q1gw7j2kp4wm";
-      name = "kdialog-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdialog-22.04.2.tar.xz";
+      sha256 = "0csrlc411v0yfizadf0w5nbyr6df2gjdmxn18ds81fjkpvdk1ajp";
+      name = "kdialog-22.04.2.tar.xz";
     };
   };
   kdiamond = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kdiamond-22.04.1.tar.xz";
-      sha256 = "19pj1lfcz7bgq6cxkn165l7b8lr5vwjp4sd724krm6l51jxzmd0x";
-      name = "kdiamond-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kdiamond-22.04.2.tar.xz";
+      sha256 = "09xrld4c3p822mn86hks93wl5llwc6if9cxa10x2hn4y9cfa1zvl";
+      name = "kdiamond-22.04.2.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/keditbookmarks-22.04.1.tar.xz";
-      sha256 = "0bix84hy02i90bpmrxjl5gd433jb2yawlbdcchgwb73py14pcay2";
-      name = "keditbookmarks-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/keditbookmarks-22.04.2.tar.xz";
+      sha256 = "1dmyw99a08l28715ssgnrbi6rfma5a5ad0k1vrczp4sad1flgpam";
+      name = "keditbookmarks-22.04.2.tar.xz";
     };
   };
   kfind = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kfind-22.04.1.tar.xz";
-      sha256 = "1mrrjrnlapvajw3hysqzd1kb1qvjwbwbc4mggawpwpq4cbpap4mc";
-      name = "kfind-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kfind-22.04.2.tar.xz";
+      sha256 = "1bnav9n1ak10824m55kkmf2haz5swfcwy6zsjs463qh3zvwnydz9";
+      name = "kfind-22.04.2.tar.xz";
     };
   };
   kfloppy = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kfloppy-22.04.1.tar.xz";
-      sha256 = "1yc90238v9f5czryjzfx9znjkl5r5smwr3gdx0cgp9sw225gl01q";
-      name = "kfloppy-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kfloppy-22.04.2.tar.xz";
+      sha256 = "0mkc05068d189zq2q1hgz5vw39fq3x2hcnxsyclis7g3p0ff4siv";
+      name = "kfloppy-22.04.2.tar.xz";
     };
   };
   kfourinline = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kfourinline-22.04.1.tar.xz";
-      sha256 = "0964iv2fa96s659crs56yqjcdkbckl7zw5h25x0r9gfycjkddhl2";
-      name = "kfourinline-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kfourinline-22.04.2.tar.xz";
+      sha256 = "0rchr0gj1zqc9anrj2d57l00r0sjx14hdlch7djrwarsj4xfc6rb";
+      name = "kfourinline-22.04.2.tar.xz";
     };
   };
   kgeography = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kgeography-22.04.1.tar.xz";
-      sha256 = "0l6az2fkbgrlg7i8h81f6jhj4vlw92x6jgkywxm93msbaz4ah1fw";
-      name = "kgeography-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kgeography-22.04.2.tar.xz";
+      sha256 = "0fsb2x44b35gvc2h0ksmjavpc8zif9inziaxxqq7mq9hgjdxnr98";
+      name = "kgeography-22.04.2.tar.xz";
     };
   };
   kget = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kget-22.04.1.tar.xz";
-      sha256 = "1v8vv32ncwnw4wn51rvk8n5kixdc2kjw9ds08ajv5x6iz06cvqrd";
-      name = "kget-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kget-22.04.2.tar.xz";
+      sha256 = "0i2pc3jmvqgrzgj9rhjshdd5kkq9bqdmch2h5rbdgbabw47l6xag";
+      name = "kget-22.04.2.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kgoldrunner-22.04.1.tar.xz";
-      sha256 = "0hs7p3allyw16lncr7fwavgggacdlgp893i1wx0mqzgg9yp4p1zm";
-      name = "kgoldrunner-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kgoldrunner-22.04.2.tar.xz";
+      sha256 = "0w5x6ar1km7ycprxfda0k65qx5lwnzmh0ch2w1py97sz3yq0pbfk";
+      name = "kgoldrunner-22.04.2.tar.xz";
     };
   };
   kgpg = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kgpg-22.04.1.tar.xz";
-      sha256 = "0dgc33h7mmbmgk29jmrrsykngzkirk53j6xxwrz8mfwbadvmvgy5";
-      name = "kgpg-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kgpg-22.04.2.tar.xz";
+      sha256 = "1rjdqlnzn269fqza6388mb3rcf43bs9xn9npzyb2anqcfsqin5cy";
+      name = "kgpg-22.04.2.tar.xz";
     };
   };
   khangman = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/khangman-22.04.1.tar.xz";
-      sha256 = "09mx12hf24rhwk0q2kni1gx5hg90nkjh556c0v6zqjmx3whlc1p6";
-      name = "khangman-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/khangman-22.04.2.tar.xz";
+      sha256 = "199k5llgi1iy9grm4am9kk1mjcjnhw33aviyp6bxip2dyw1hhcsg";
+      name = "khangman-22.04.2.tar.xz";
     };
   };
   khelpcenter = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/khelpcenter-22.04.1.tar.xz";
-      sha256 = "0wjjcrmncig6ymrk2an5n12ygy652zg7lxwvi2wi6zrdjk2kazf8";
-      name = "khelpcenter-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/khelpcenter-22.04.2.tar.xz";
+      sha256 = "1m6k61xya0xrpfd22bgargfgnv5981mjf0zyzb4szxlb8v9cjapa";
+      name = "khelpcenter-22.04.2.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kidentitymanagement-22.04.1.tar.xz";
-      sha256 = "0f07r0x8i0k8fkzik49y80wr3laxq96gcmr287n4265f7pj02skl";
-      name = "kidentitymanagement-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kidentitymanagement-22.04.2.tar.xz";
+      sha256 = "1xq73lbxpqp63f537yv0gkkd8x9bwr9y7qxzk203hmlz43jk1g1i";
+      name = "kidentitymanagement-22.04.2.tar.xz";
     };
   };
   kig = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kig-22.04.1.tar.xz";
-      sha256 = "1qz287cfvk7wvx5jp61jcwnmwmjm8y3h6k2hyjpspqr3k1n84345";
-      name = "kig-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kig-22.04.2.tar.xz";
+      sha256 = "02iivp8kj3vp2n9qk58z5fzxplqpq57ch9h2jczyd96kxsn9yc6b";
+      name = "kig-22.04.2.tar.xz";
     };
   };
   kigo = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kigo-22.04.1.tar.xz";
-      sha256 = "094q9q9c728zva64dxl522s2q7lzdybrw055w5mryj66mdb9b43j";
-      name = "kigo-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kigo-22.04.2.tar.xz";
+      sha256 = "06bg1r9assp5f5i6wzh7wvh46mkjkbwq8y5nhs8iqrg7jm9dfp0a";
+      name = "kigo-22.04.2.tar.xz";
     };
   };
   killbots = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/killbots-22.04.1.tar.xz";
-      sha256 = "0kymimgwa5amcc93r6nrfiv6psjb0k96a8b2vr3jbc6vrm9aimjy";
-      name = "killbots-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/killbots-22.04.2.tar.xz";
+      sha256 = "192pcx7dvbbgfsp2vl7h1y26gvz9cnrwa644k1g40iyarc3nckgk";
+      name = "killbots-22.04.2.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kimagemapeditor-22.04.1.tar.xz";
-      sha256 = "1lzqgav4gfq0cay162rjypikh4dx1jjj44ds9br2rfm0wp6x6zds";
-      name = "kimagemapeditor-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kimagemapeditor-22.04.2.tar.xz";
+      sha256 = "1mdrmg2qvs081xqamiqdljryznskhdzmzbnlqscagwg0kz608rpg";
+      name = "kimagemapeditor-22.04.2.tar.xz";
     };
   };
   kimap = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kimap-22.04.1.tar.xz";
-      sha256 = "0r945v0365vmyapcaqb6wabxdyflp33hh441cx26acwj11dpwgvl";
-      name = "kimap-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kimap-22.04.2.tar.xz";
+      sha256 = "1iafjazan4vhvxfafxykci2wm2xhj0752907w9c0rhrnjsj0hcb7";
+      name = "kimap-22.04.2.tar.xz";
     };
   };
   kio-extras = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kio-extras-22.04.1.tar.xz";
-      sha256 = "057qbz1cmmi1mgj38r4dsh49af4dqnihzs5r7w6hwx3dw03m2ix4";
-      name = "kio-extras-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kio-extras-22.04.2.tar.xz";
+      sha256 = "05q7hssrf82xl1c4a7wcxnvp2rzg29a2am15lwi1xv1yfgymk69i";
+      name = "kio-extras-22.04.2.tar.xz";
     };
   };
   kio-gdrive = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kio-gdrive-22.04.1.tar.xz";
-      sha256 = "12qb6m2n0nfx62z0xc1p66si140j6yih3lp80n9b43yf9c1hn5h6";
-      name = "kio-gdrive-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kio-gdrive-22.04.2.tar.xz";
+      sha256 = "1mw8w5zdj334ndgfkacycdhyk7as86dxpd0w61i26yjir22nfa90";
+      name = "kio-gdrive-22.04.2.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kipi-plugins-22.04.1.tar.xz";
-      sha256 = "0587pc2nmcxig4nfqyc6yvc1rxaqqa3kgnbdah53177mb4zj1lk8";
-      name = "kipi-plugins-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kipi-plugins-22.04.2.tar.xz";
+      sha256 = "1kdkflizw98zk8vzikm12vj7j00dldqw9hii8al6mch2mbva6qc2";
+      name = "kipi-plugins-22.04.2.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kirigami-gallery-22.04.1.tar.xz";
-      sha256 = "1yjj18vcik38gzqka2kia4yrk8ay9l2d7lh3wspp97v3r49dpl7y";
-      name = "kirigami-gallery-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kirigami-gallery-22.04.2.tar.xz";
+      sha256 = "01hvbixjr90p0j5p3nklrxz5lqdx6k3lv9vjffpm7x0r5d0f6vkl";
+      name = "kirigami-gallery-22.04.2.tar.xz";
     };
   };
   kiriki = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kiriki-22.04.1.tar.xz";
-      sha256 = "0mwdmb14ljr2vvpz05frzd3qpwp16zckivi5qb7awf488vj7iknz";
-      name = "kiriki-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kiriki-22.04.2.tar.xz";
+      sha256 = "0wdfs328axlw0gwapxkyvd80ymkjlx4smz4ph72d58fhmjnhp551";
+      name = "kiriki-22.04.2.tar.xz";
     };
   };
   kiten = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kiten-22.04.1.tar.xz";
-      sha256 = "14zq296qmjfssa0f3gmq2hsadlglp95l1wrrm0v14j19rd1sfzlr";
-      name = "kiten-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kiten-22.04.2.tar.xz";
+      sha256 = "0gpjcf72hz8nif1vzs46him58g8f74r24nfk2dpxil3nxdy10xp9";
+      name = "kiten-22.04.2.tar.xz";
     };
   };
   kitinerary = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kitinerary-22.04.1.tar.xz";
-      sha256 = "0ykbjp3bqhlhjj3r04zgh0pza6mh4qadhxk8gsxdndqvpv4p8sih";
-      name = "kitinerary-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kitinerary-22.04.2.tar.xz";
+      sha256 = "1gvjz1qvz6cy13c1a3drrznf110y78517s0akq8ir3aik4q4kczc";
+      name = "kitinerary-22.04.2.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kjumpingcube-22.04.1.tar.xz";
-      sha256 = "1fgz21wy3nwqhsplpg65j54rlwdpmp6nhdh9g04zsgy3micsghag";
-      name = "kjumpingcube-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kjumpingcube-22.04.2.tar.xz";
+      sha256 = "15djzgaaqdbialfb7a81i8vm7cgkkgx2lvnnr9yi06drf6a0xn81";
+      name = "kjumpingcube-22.04.2.tar.xz";
     };
   };
   kldap = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kldap-22.04.1.tar.xz";
-      sha256 = "1p06v089mid7y1qapdwai781jvypl2a3q8007j0rfpk9nbb93lhb";
-      name = "kldap-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kldap-22.04.2.tar.xz";
+      sha256 = "10rs6hyf31783prsh838sdl4wlm7a8v9bn9k400x53j6lb0k9nb0";
+      name = "kldap-22.04.2.tar.xz";
     };
   };
   kleopatra = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kleopatra-22.04.1.tar.xz";
-      sha256 = "08xfxbm9rlv36bf9zzj61ds052hg5l1q4m1fs9mcwvwcnwsn63nk";
-      name = "kleopatra-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kleopatra-22.04.2.tar.xz";
+      sha256 = "11cks6cizjvj52arj9j78zyqs9hnsaha42s00vnqi5x4cp6qf22n";
+      name = "kleopatra-22.04.2.tar.xz";
     };
   };
   klettres = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/klettres-22.04.1.tar.xz";
-      sha256 = "1clyjlrzjxw534ks6y496l1xr4iz1qxmmlgr5dyaqw8r5n45x687";
-      name = "klettres-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/klettres-22.04.2.tar.xz";
+      sha256 = "1c5pd3dmrny1qyj4lrrww2y26mfg9n52mggsrhgmbmk9m251a4b4";
+      name = "klettres-22.04.2.tar.xz";
     };
   };
   klickety = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/klickety-22.04.1.tar.xz";
-      sha256 = "1ssnrqyvm9w3jn53pshy8gd06q30760wgzk9svhk485j90g6jw9c";
-      name = "klickety-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/klickety-22.04.2.tar.xz";
+      sha256 = "06x2wimz6r0dvwfxwkr9p0glqk7vhg17m9rgcjxn4mkgz65yidip";
+      name = "klickety-22.04.2.tar.xz";
     };
   };
   klines = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/klines-22.04.1.tar.xz";
-      sha256 = "1k3a9vr92xb7m5gqdgz9kg0vnyxq4br1zyxy7d5wgqf28qgh41vf";
-      name = "klines-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/klines-22.04.2.tar.xz";
+      sha256 = "0gvpp4ngmlzblpgv55qslp24irkpgq52352n7miv7jjdilvflid1";
+      name = "klines-22.04.2.tar.xz";
     };
   };
   kmag = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kmag-22.04.1.tar.xz";
-      sha256 = "0siiwgrfvzqhm23887j560w6l9i0j43i569kfknyqkiz5p0l28zz";
-      name = "kmag-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kmag-22.04.2.tar.xz";
+      sha256 = "12i7xyd8bjgrvb1ml0947k26vc110yzan4rq84gfydbmky3vwqjn";
+      name = "kmag-22.04.2.tar.xz";
     };
   };
   kmahjongg = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kmahjongg-22.04.1.tar.xz";
-      sha256 = "0kcdpyh7iabg672y0yd84lb14h0mn4p3cq2w9zi0l71gqm1zs22a";
-      name = "kmahjongg-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kmahjongg-22.04.2.tar.xz";
+      sha256 = "0h2krv7940d4k71zjm5p2nbirnzklvvci5bircz712f2mp9pqnxx";
+      name = "kmahjongg-22.04.2.tar.xz";
     };
   };
   kmail = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kmail-22.04.1.tar.xz";
-      sha256 = "1s4kbv8y7jhwg6b2qd8kj22xiwdgyllxnljmmna1964kqakl6h54";
-      name = "kmail-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kmail-22.04.2.tar.xz";
+      sha256 = "0ahq41xnwlg5qbrwfcnjixbvkpxpr9bj4gj11xxzwr6d83svwlpw";
+      name = "kmail-22.04.2.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kmail-account-wizard-22.04.1.tar.xz";
-      sha256 = "119gp8dv84nfnd2lvxgw3qsrfrycmgbqq2xm0hlz8zp2jmikw9fk";
-      name = "kmail-account-wizard-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kmail-account-wizard-22.04.2.tar.xz";
+      sha256 = "1bm09zrpa678qgvci783zql1k45b1fjlm4fkk6xxalhfyd8hk12j";
+      name = "kmail-account-wizard-22.04.2.tar.xz";
     };
   };
   kmailtransport = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kmailtransport-22.04.1.tar.xz";
-      sha256 = "1lmd4lvj66ib0f1bkaanvcdq84f8hcyxx2hgrqdyha5d1mpw47cg";
-      name = "kmailtransport-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kmailtransport-22.04.2.tar.xz";
+      sha256 = "0s5vpcp7c6143z9yc7nbljbrx8zljy4n46y57shmsqy5h73lbfwb";
+      name = "kmailtransport-22.04.2.tar.xz";
     };
   };
   kmbox = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kmbox-22.04.1.tar.xz";
-      sha256 = "1496mzbcxzdlwyy207b0ql2il934hcqigb2vybxqc6lap4irzf4i";
-      name = "kmbox-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kmbox-22.04.2.tar.xz";
+      sha256 = "138nwfr58wav0ybgwjrv9c33asbwwp7gss8aj912kq3izj4sw15r";
+      name = "kmbox-22.04.2.tar.xz";
     };
   };
   kmime = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kmime-22.04.1.tar.xz";
-      sha256 = "01favp535b9cjjwyqcaqbprcljamn2pzwl8mf5m59xq4s9h4myd7";
-      name = "kmime-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kmime-22.04.2.tar.xz";
+      sha256 = "00wh72s989mrny518gmldb78qcsrwhz46dcydi34v6q06x1jdlk0";
+      name = "kmime-22.04.2.tar.xz";
     };
   };
   kmines = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kmines-22.04.1.tar.xz";
-      sha256 = "1rcx9yxml0lgaa8bls836j010bgqbqd6pj08ncjqw42m67fzll24";
-      name = "kmines-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kmines-22.04.2.tar.xz";
+      sha256 = "1hxm3kd8in4x6ww6wymba2nw17ggv10wjbzjvl4iyqbk8l3v2851";
+      name = "kmines-22.04.2.tar.xz";
     };
   };
   kmix = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kmix-22.04.1.tar.xz";
-      sha256 = "1flf3adk1bm9c6hi4xqana8r1jslgdffy4rri4r5s0lrr3w7kdsw";
-      name = "kmix-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kmix-22.04.2.tar.xz";
+      sha256 = "1k739lir73yj7biz98yij8m7hv492y2h64hzl3xpwc63jc5cpfcc";
+      name = "kmix-22.04.2.tar.xz";
     };
   };
   kmousetool = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kmousetool-22.04.1.tar.xz";
-      sha256 = "0hlggni1mwn1bf9xx8l643nxwzw7pjh4y9cra7adph30nqfyr4cv";
-      name = "kmousetool-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kmousetool-22.04.2.tar.xz";
+      sha256 = "1nzqmd5kqixzyfgb0w58rrfghh19dxsbc4bk7rpynvknd2alm3c3";
+      name = "kmousetool-22.04.2.tar.xz";
     };
   };
   kmouth = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kmouth-22.04.1.tar.xz";
-      sha256 = "01j19l02ffijjggi8h1lrncc9177iqgdh62y14dlka83j47f1wh3";
-      name = "kmouth-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kmouth-22.04.2.tar.xz";
+      sha256 = "1j7ggfq53ca1578470qn3y8p6bg2cml8j7scwjkkl430zh5nz59m";
+      name = "kmouth-22.04.2.tar.xz";
     };
   };
   kmplot = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kmplot-22.04.1.tar.xz";
-      sha256 = "0fvsygp3sf1mvhws8mb3q3vdf4ljmvvjj9a36rl7904zan14klq8";
-      name = "kmplot-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kmplot-22.04.2.tar.xz";
+      sha256 = "0jgg48mp7niby032r3wxrg5n41mhw0vq213a6bi7fnkn9bjlipbc";
+      name = "kmplot-22.04.2.tar.xz";
     };
   };
   knavalbattle = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/knavalbattle-22.04.1.tar.xz";
-      sha256 = "1araf2f216hjy212ilabz4z4axa2j93j2jvvlq5y5psn4zmrz23v";
-      name = "knavalbattle-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/knavalbattle-22.04.2.tar.xz";
+      sha256 = "08hn8ich5vvk6nk1b4zm7k6rb7wjv4hvsaf7j0ikcm78iky8yccw";
+      name = "knavalbattle-22.04.2.tar.xz";
     };
   };
   knetwalk = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/knetwalk-22.04.1.tar.xz";
-      sha256 = "0psayrbk56zl54vbwhzzzpg4h9rigyw48rxl0si7z7sjwill3xq2";
-      name = "knetwalk-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/knetwalk-22.04.2.tar.xz";
+      sha256 = "0dckkn7n576x9b0yffj3zwa4ynq1cyb3w49n0zhvw94aclix4pih";
+      name = "knetwalk-22.04.2.tar.xz";
     };
   };
   knights = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/knights-22.04.1.tar.xz";
-      sha256 = "018f8y7zhdqn77qkkwqgf5w5m0y1c9i5w7xs08q2hcglpa6pb5jj";
-      name = "knights-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/knights-22.04.2.tar.xz";
+      sha256 = "0x57dxy2n1lr5wlivbb8qq037v43cd8839xx4mxbqjwm4ix4y7cp";
+      name = "knights-22.04.2.tar.xz";
     };
   };
   knotes = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/knotes-22.04.1.tar.xz";
-      sha256 = "1h1afis9d33mzz023b61b6fxy399bdxrvnbmjvb2ncgs7c3nvd21";
-      name = "knotes-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/knotes-22.04.2.tar.xz";
+      sha256 = "0l106f9jrcjx93bz76azg6mn53ddv6d2kpxyf65bzprlgg0v1qn0";
+      name = "knotes-22.04.2.tar.xz";
     };
   };
   kolf = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kolf-22.04.1.tar.xz";
-      sha256 = "15jhd2giakbp7zy3jwz0rqmr11cv7y5n6hbvxdx17xf6rgr20qxf";
-      name = "kolf-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kolf-22.04.2.tar.xz";
+      sha256 = "1pyx524gwsypmqg1i3al42w0a5a3apvif5rs1s5fabkn33djw1af";
+      name = "kolf-22.04.2.tar.xz";
     };
   };
   kollision = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kollision-22.04.1.tar.xz";
-      sha256 = "1g7z7n2ihfnqr10pbba2rfwm826vrir7k6lxvizma4fa65f9dg9c";
-      name = "kollision-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kollision-22.04.2.tar.xz";
+      sha256 = "0q7199z3s231fxygbshjviwmyppxz34d99d40v5z5s1qgnshyv10";
+      name = "kollision-22.04.2.tar.xz";
     };
   };
   kolourpaint = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kolourpaint-22.04.1.tar.xz";
-      sha256 = "1sxgfyvxfjwfn5rjxcgifmdlxin77f5kizwpyn1jan8awk3rcl2d";
-      name = "kolourpaint-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kolourpaint-22.04.2.tar.xz";
+      sha256 = "192n8sjimh2anqqrfs3pmw40393qnriiimz0pd8pwhsl1x05c3lq";
+      name = "kolourpaint-22.04.2.tar.xz";
     };
   };
   kompare = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kompare-22.04.1.tar.xz";
-      sha256 = "0kjkmj5xnvkg22i9h5bqy3r68xbxy57mpp0fynaakl3dj89pxz0m";
-      name = "kompare-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kompare-22.04.2.tar.xz";
+      sha256 = "188siw60ahl84h2lii74siqc0glvmpxvj22f28nm700hchwvv5bk";
+      name = "kompare-22.04.2.tar.xz";
     };
   };
   konqueror = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/konqueror-22.04.1.tar.xz";
-      sha256 = "1vs7x40pf8290bqcxyd0p086nds9z3bczk4rjsadifrymgmf4i17";
-      name = "konqueror-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/konqueror-22.04.2.tar.xz";
+      sha256 = "18fmwawpkbqsgfxcjhr1l5695mwcan92krr252130p4l1scdcnjc";
+      name = "konqueror-22.04.2.tar.xz";
     };
   };
   konquest = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/konquest-22.04.1.tar.xz";
-      sha256 = "0rajwi6yjxzs4g7q8bc07b4sn71p0989cz9fx4k6rs3zwhfdf0dr";
-      name = "konquest-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/konquest-22.04.2.tar.xz";
+      sha256 = "16cd4069n29y6k9p7f3r9p7ici0z54m17avyq34jf39qiz5a83x0";
+      name = "konquest-22.04.2.tar.xz";
     };
   };
   konsole = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/konsole-22.04.1.tar.xz";
-      sha256 = "1qr2d32j0dz1ssd8ym8llxwsdzjmn6x1z5hcbkn6895ym649h14d";
-      name = "konsole-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/konsole-22.04.2.tar.xz";
+      sha256 = "04bi6g2zfk7p189cfd0xacvqg6niv4rhyaqckax3zc0msy6fklcp";
+      name = "konsole-22.04.2.tar.xz";
     };
   };
   kontact = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kontact-22.04.1.tar.xz";
-      sha256 = "19krnikn5374gjp82k7g3vvv1ylakqari2rnsbp1l7vdrymj28wn";
-      name = "kontact-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kontact-22.04.2.tar.xz";
+      sha256 = "1d2p1n68qdzzv6b7f438n0f8xmdv9m1vy2v6s47wnxspbmflfyvb";
+      name = "kontact-22.04.2.tar.xz";
     };
   };
   kontactinterface = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kontactinterface-22.04.1.tar.xz";
-      sha256 = "0sya33b0xg9392jb8p5gdw0cd3iivgfq2jvzbvpr3iiq9cgbj2m3";
-      name = "kontactinterface-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kontactinterface-22.04.2.tar.xz";
+      sha256 = "0pgw9cdfqkb9kdpkjm9g2l4vypz7x9gkjmwgbjx5x9j02fgqqqd6";
+      name = "kontactinterface-22.04.2.tar.xz";
     };
   };
   kontrast = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kontrast-22.04.1.tar.xz";
-      sha256 = "0paharkjyz51mgajan6bspkc8bpywjkgdkszdi909vxyzgszcznz";
-      name = "kontrast-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kontrast-22.04.2.tar.xz";
+      sha256 = "0mkg2j46kan1zwrpvppamh1lx87hv11d5y2kjwv2ncpbk79jab41";
+      name = "kontrast-22.04.2.tar.xz";
     };
   };
   konversation = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/konversation-22.04.1.tar.xz";
-      sha256 = "1gzy1v2vdc100sr1anp3762nn3hj4km5hrjnxnkcc30z2p7g7cyi";
-      name = "konversation-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/konversation-22.04.2.tar.xz";
+      sha256 = "1wj32yvrdvk304d8z1rb72cw2m7arsxivr0w77id9a7c9w28qiir";
+      name = "konversation-22.04.2.tar.xz";
     };
   };
   kopeninghours = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kopeninghours-22.04.1.tar.xz";
-      sha256 = "0w9j1y7h8p6hqvrf9k0rp0hbajjlbipnwj4rc9p204khganbp1nd";
-      name = "kopeninghours-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kopeninghours-22.04.2.tar.xz";
+      sha256 = "0lay8mdiv6zylr86w1y2ap7117yc5xx1lz293bqxcp6pxnd77fpv";
+      name = "kopeninghours-22.04.2.tar.xz";
     };
   };
   kopete = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kopete-22.04.1.tar.xz";
-      sha256 = "1rhykqns68p650s64vd1x655cvfa0jgvban3v2vpa2qh2pl7w1mk";
-      name = "kopete-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kopete-22.04.2.tar.xz";
+      sha256 = "0zxrn2c5wz3aqx2qg5h2i8f22gzq40d965x9h7dyhc7zhr6ccfvw";
+      name = "kopete-22.04.2.tar.xz";
     };
   };
   korganizer = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/korganizer-22.04.1.tar.xz";
-      sha256 = "0d2mshb8gj5akr4jxf85rk759i3dmkg15c3daj7jfpgr7ybyck2r";
-      name = "korganizer-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/korganizer-22.04.2.tar.xz";
+      sha256 = "0x27gs3ggqzhabxwmndfwz7jzi3xkzskxsp2k50apmdnbzsb7qiv";
+      name = "korganizer-22.04.2.tar.xz";
     };
   };
   kosmindoormap = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kosmindoormap-22.04.1.tar.xz";
-      sha256 = "0kmla7f8ld0398prqcqanv2pf38lg4c1gkz1qiak93ay2h9nww11";
-      name = "kosmindoormap-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kosmindoormap-22.04.2.tar.xz";
+      sha256 = "0hn0blfmpgvpphrivdmn1ql7q5k9sj7yb4vp3k27p3w4q4hbbyvf";
+      name = "kosmindoormap-22.04.2.tar.xz";
     };
   };
   kpat = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kpat-22.04.1.tar.xz";
-      sha256 = "1wd125nxgmflzxrsasbsi3k99wwws1nrwvimqgsy2rw40fm3i6ga";
-      name = "kpat-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kpat-22.04.2.tar.xz";
+      sha256 = "0gh23av90r89dbajwap4ds9j7w0rmq708q30760x88hw3v89b7r2";
+      name = "kpat-22.04.2.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kpimtextedit-22.04.1.tar.xz";
-      sha256 = "1ixzz4wlmx8sh4bkxaxacllcn3pymr75vwgks00rw1jiqgydxkpn";
-      name = "kpimtextedit-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kpimtextedit-22.04.2.tar.xz";
+      sha256 = "0mcvlyr0xmwmzv6hhv1crbiqcynfzj206hgm6cry2ffbiqpln7g4";
+      name = "kpimtextedit-22.04.2.tar.xz";
     };
   };
   kpkpass = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kpkpass-22.04.1.tar.xz";
-      sha256 = "07a1k6gfl0x7p57n0g0199g2zaz097arbwhkjx1y7xsi775asp2y";
-      name = "kpkpass-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kpkpass-22.04.2.tar.xz";
+      sha256 = "0ifq86b53b3w3kha8kdlzdkr936pivcfnffnaipc3wb607g8s4nw";
+      name = "kpkpass-22.04.2.tar.xz";
     };
   };
   kpmcore = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kpmcore-22.04.1.tar.xz";
-      sha256 = "1y34gh1983ihf2hcs9x35xq805wd0cx1w2dgnbb41l2v2b647l3h";
-      name = "kpmcore-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kpmcore-22.04.2.tar.xz";
+      sha256 = "19hyf31b1n0l0vqwwqkpm8kg9a430pys0s4ywxplbcz8n58qpcf6";
+      name = "kpmcore-22.04.2.tar.xz";
     };
   };
   kpublictransport = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kpublictransport-22.04.1.tar.xz";
-      sha256 = "0zssk77hxzprpgdzcw5r00kk3yccpmjcqx0hvix4q2ghj422z1cg";
-      name = "kpublictransport-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kpublictransport-22.04.2.tar.xz";
+      sha256 = "1spkgsa1fbcr74l9kc2rszqwxb92jfrsfgk42g64gnnsprxxaj5a";
+      name = "kpublictransport-22.04.2.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kqtquickcharts-22.04.1.tar.xz";
-      sha256 = "0b1cwsa16bfwlv8x3zwmvhkk5zahrhqpr94vpv5fvai47apihng8";
-      name = "kqtquickcharts-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kqtquickcharts-22.04.2.tar.xz";
+      sha256 = "1wmrnyzf6hpfrw15prc648jln3dhjhyf7rfidpr3cwaq7qw4p8zr";
+      name = "kqtquickcharts-22.04.2.tar.xz";
     };
   };
   krdc = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/krdc-22.04.1.tar.xz";
-      sha256 = "0ccg5a5rk9cb0q844y2adyrxj2z0zc63jp9zcdi14f7lp4rka8zz";
-      name = "krdc-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/krdc-22.04.2.tar.xz";
+      sha256 = "1bpydyxs0zb597mp81xmgl5d9fk7rzf9aagdswvbwk5j0l2lqbzi";
+      name = "krdc-22.04.2.tar.xz";
     };
   };
   kreversi = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kreversi-22.04.1.tar.xz";
-      sha256 = "0kwy7wdrfndmxg4nrqy51j102z33xzh1768ai6jcbgz2vjv6qhln";
-      name = "kreversi-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kreversi-22.04.2.tar.xz";
+      sha256 = "1mwv6qwqm5csga05py8wgm2k8grrgljim1rxxx13n0vpxnb1j9ln";
+      name = "kreversi-22.04.2.tar.xz";
     };
   };
   krfb = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/krfb-22.04.1.tar.xz";
-      sha256 = "00843wncngb4x6l44li6yzaq4qzlfyrzyxvkk6njm5pzmgki4yvp";
-      name = "krfb-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/krfb-22.04.2.tar.xz";
+      sha256 = "137rz2xlrpx0zlrrqgfqi80crwa8nmnxnk1kj13yf4b02z0di91p";
+      name = "krfb-22.04.2.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kross-interpreters-22.04.1.tar.xz";
-      sha256 = "1sh8f0m8hh06i3wspjybhqhn1dhpxag2mass38p7gm3ipkp7q88n";
-      name = "kross-interpreters-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kross-interpreters-22.04.2.tar.xz";
+      sha256 = "1ivkglglwxc102jc08alhf0smc4rc0m9f0v561vds026gma9lz2j";
+      name = "kross-interpreters-22.04.2.tar.xz";
     };
   };
   kruler = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kruler-22.04.1.tar.xz";
-      sha256 = "0vp1290wmy8rji34wdzzpshrgpzpiz3hvjgd0cynqg3skjn8r17p";
-      name = "kruler-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kruler-22.04.2.tar.xz";
+      sha256 = "0yf4yn6bgqysr8fgx0f8qilwvpd46wdhm99427z0q88cj9f93igx";
+      name = "kruler-22.04.2.tar.xz";
     };
   };
   kshisen = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kshisen-22.04.1.tar.xz";
-      sha256 = "0hiwkz2fm4ywm404prphl797j5dn95di6bcnnrb8l8zy6i2gwkvp";
-      name = "kshisen-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kshisen-22.04.2.tar.xz";
+      sha256 = "0yqafi4qxmcnlr7j9amrgb2yw3nzmldz4fngjssvry3g6wfqbj1w";
+      name = "kshisen-22.04.2.tar.xz";
     };
   };
   ksirk = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ksirk-22.04.1.tar.xz";
-      sha256 = "14zb64kz7jk46hqc388g4zv7a3m2bd131sp8pabjmn83ysrpppz7";
-      name = "ksirk-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ksirk-22.04.2.tar.xz";
+      sha256 = "1gz3wq50xk5ik71bn24gcm3cak2kh3r1cfxfqv9cmv1ikpjbv5fh";
+      name = "ksirk-22.04.2.tar.xz";
     };
   };
   ksmtp = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ksmtp-22.04.1.tar.xz";
-      sha256 = "0n7lg7zavy43z73my5569hb1fv4xrsibizpzd9yp631iahn6jigl";
-      name = "ksmtp-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ksmtp-22.04.2.tar.xz";
+      sha256 = "003wrhd0xw04hr8scsz9wpcikm13fzaajic1hlg1n35aqwh1cckn";
+      name = "ksmtp-22.04.2.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ksnakeduel-22.04.1.tar.xz";
-      sha256 = "1sz70hdyfbzl5syq9f2vn2wdqdl4058xxk83vmj2a8niva49nr9m";
-      name = "ksnakeduel-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ksnakeduel-22.04.2.tar.xz";
+      sha256 = "18fwdiy96zdpbygh5jzdvrn2b971vpnma3wbairwwf4xirb69cic";
+      name = "ksnakeduel-22.04.2.tar.xz";
     };
   };
   kspaceduel = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kspaceduel-22.04.1.tar.xz";
-      sha256 = "1k5fl88w1wcsq2sbh36bkikjh272fc9z89v45xnv40hjd00wwxac";
-      name = "kspaceduel-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kspaceduel-22.04.2.tar.xz";
+      sha256 = "00r27q16xag1dpjal9qm920s6qfrgdl10yfdxa1lq2lha0wwi6wy";
+      name = "kspaceduel-22.04.2.tar.xz";
     };
   };
   ksquares = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ksquares-22.04.1.tar.xz";
-      sha256 = "1xlzbl9iqkhbh91v7qkrgk0ha8xi96j680bzyia9yjhxq8bkn0ii";
-      name = "ksquares-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ksquares-22.04.2.tar.xz";
+      sha256 = "1m6bd474rcjhlcpxmz3iqwd884h87kvrphqd5dci4bnlvwgp3cfg";
+      name = "ksquares-22.04.2.tar.xz";
     };
   };
   ksudoku = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ksudoku-22.04.1.tar.xz";
-      sha256 = "03nasma38xiwvbapyxs2wkgk7vv83jk57zg103rgkkr78ybabmgf";
-      name = "ksudoku-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ksudoku-22.04.2.tar.xz";
+      sha256 = "0y372wzlmlbzq0c9vb8v10dcd9rpq12d80wmcdzjp9xfqankfx15";
+      name = "ksudoku-22.04.2.tar.xz";
     };
   };
   ksystemlog = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ksystemlog-22.04.1.tar.xz";
-      sha256 = "0dpb4acglqzy2cwfi32sc48r0p6vl8j7g9g6pc8r6iq25pja2qfp";
-      name = "ksystemlog-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ksystemlog-22.04.2.tar.xz";
+      sha256 = "1ayak3ljzvcwyv1yznp556w935g5yp83wyl9c335j6ji27i237vz";
+      name = "ksystemlog-22.04.2.tar.xz";
     };
   };
   kteatime = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kteatime-22.04.1.tar.xz";
-      sha256 = "0nv5i2arnwzpmd2zm5ra7n87y3ygmadzzpdlr5ylpznaqfypbgym";
-      name = "kteatime-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kteatime-22.04.2.tar.xz";
+      sha256 = "0armjabm4s52715javhl1pq53qbmk80jyjlr9j82rzi9p2lgcfyi";
+      name = "kteatime-22.04.2.tar.xz";
     };
   };
   ktimer = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktimer-22.04.1.tar.xz";
-      sha256 = "1ragzrdzzg9nw6nnxgpw9cm982lk71j1lbcb5b19dfb3jpwwirrw";
-      name = "ktimer-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktimer-22.04.2.tar.xz";
+      sha256 = "1q8kvjwfhn91prpj1phj4ajxd6bpxjjv335ql3qmyh7wn2lnsmx0";
+      name = "ktimer-22.04.2.tar.xz";
     };
   };
   ktnef = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktnef-22.04.1.tar.xz";
-      sha256 = "1rpni8jhbwghzzv4nw646xmz7g3vw7k1y7bnv9kmripn1sag8f49";
-      name = "ktnef-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktnef-22.04.2.tar.xz";
+      sha256 = "0ylvbknscrczgplqnda8arhk4vbd9282fgh5y1jrnrrlklvl5hpz";
+      name = "ktnef-22.04.2.tar.xz";
     };
   };
   ktorrent = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktorrent-22.04.1.tar.xz";
-      sha256 = "1cnq13dgz8fxiw65mlhzbimmb1p25rdcawldffr2b4gxv2gxcngk";
-      name = "ktorrent-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktorrent-22.04.2.tar.xz";
+      sha256 = "16ws3hgwa245abaqc4w61qss6c49njsl88cc9yg561q0xynrl20g";
+      name = "ktorrent-22.04.2.tar.xz";
     };
   };
   ktouch = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktouch-22.04.1.tar.xz";
-      sha256 = "0rz379xc0v3nvwilisvdfqlf84xgy48mhslkgp164mmp670r5ksj";
-      name = "ktouch-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktouch-22.04.2.tar.xz";
+      sha256 = "1a57mg5qd0gqvag9sai12s1dk8m5y132j0vj1vk279i908wdgb3i";
+      name = "ktouch-22.04.2.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktp-accounts-kcm-22.04.1.tar.xz";
-      sha256 = "15mc8wc4lywn0gi6wbc9h0k38fs38jr8v771r3zpc2r9bpa0qfsl";
-      name = "ktp-accounts-kcm-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktp-accounts-kcm-22.04.2.tar.xz";
+      sha256 = "09g13wvzrvi2frirdr2mxbx3fj21vd3byi31yylx4yc89xs407av";
+      name = "ktp-accounts-kcm-22.04.2.tar.xz";
     };
   };
   ktp-approver = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktp-approver-22.04.1.tar.xz";
-      sha256 = "11xrr83s1n0a97bkgyr8gy3f6abggndk1rdj7d4qs399jfzqs7j5";
-      name = "ktp-approver-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktp-approver-22.04.2.tar.xz";
+      sha256 = "1pxkb8ngrlwaqfsms2whb9h4n0r8gqkyr2lh51y4bzl66m44pg89";
+      name = "ktp-approver-22.04.2.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktp-auth-handler-22.04.1.tar.xz";
-      sha256 = "1fp2wj3nrnjn8mzyhqdqg8r7gdy7ksm245qagynynb1a2hdd1vpb";
-      name = "ktp-auth-handler-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktp-auth-handler-22.04.2.tar.xz";
+      sha256 = "03x2scg2sr5zf77zbky3az2j9ydv4sf84rgj32wd4x8s9h4wq2i8";
+      name = "ktp-auth-handler-22.04.2.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktp-call-ui-22.04.1.tar.xz";
-      sha256 = "0jmbn52pz83d5n11hqawh64s2204izbb6w1aya4zdlsa4l2zyizb";
-      name = "ktp-call-ui-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktp-call-ui-22.04.2.tar.xz";
+      sha256 = "0skf0r0fas86lf76nky33hmbwxk9l4p1328hvjra9w95f6c67007";
+      name = "ktp-call-ui-22.04.2.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktp-common-internals-22.04.1.tar.xz";
-      sha256 = "0vmy6sdxhi0d1g4iql2xx2zc259gwi155hh3s6f6nnfdvm4971a3";
-      name = "ktp-common-internals-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktp-common-internals-22.04.2.tar.xz";
+      sha256 = "0nsdaqr56jqa2nkgrw79pgbr60jsjwgfspv7qafgvb3iry752n72";
+      name = "ktp-common-internals-22.04.2.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktp-contact-list-22.04.1.tar.xz";
-      sha256 = "1pczacindx828c7g6dkvq90nqadgg32jn4my335sl6ykr735a4pw";
-      name = "ktp-contact-list-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktp-contact-list-22.04.2.tar.xz";
+      sha256 = "1kfzx7hxb8alzm6f35rjvnhdg93rnns8jg51948ni88q9my8dgyj";
+      name = "ktp-contact-list-22.04.2.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktp-contact-runner-22.04.1.tar.xz";
-      sha256 = "1hcy2dm8d08bp5lqxa96am6af3i33vialyc7hzdmp6alv062fqgs";
-      name = "ktp-contact-runner-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktp-contact-runner-22.04.2.tar.xz";
+      sha256 = "14vlwqyjk1jkyd7c12chgnnxlzrwi9rxq5ldnbrvmcvy6a0hyb9m";
+      name = "ktp-contact-runner-22.04.2.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktp-desktop-applets-22.04.1.tar.xz";
-      sha256 = "19hdfs1pa04d0inqh5id6ysnzsbi3n24jlr6y2qn2lzqfm3kgxl6";
-      name = "ktp-desktop-applets-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktp-desktop-applets-22.04.2.tar.xz";
+      sha256 = "1wvc5hcrix9jdmcncz9ihignbpfz6xl5gdzjv9nra7bzscipmy9g";
+      name = "ktp-desktop-applets-22.04.2.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktp-filetransfer-handler-22.04.1.tar.xz";
-      sha256 = "1698ic2y43w8bm2j6r9mms4z3zgyz5wdghyhnw1syh8g0nks6b9a";
-      name = "ktp-filetransfer-handler-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktp-filetransfer-handler-22.04.2.tar.xz";
+      sha256 = "1jnbp03rwivy4wgz4r10cjqgm8mz5jr4c4wwd04sc7vhk24f0xgl";
+      name = "ktp-filetransfer-handler-22.04.2.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktp-kded-module-22.04.1.tar.xz";
-      sha256 = "1df6wiyxb4qa6d8nj8hkn7z6f9g2nn0bwi9gywfqq23n1imrnin7";
-      name = "ktp-kded-module-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktp-kded-module-22.04.2.tar.xz";
+      sha256 = "0dmjrcz2d43if4gprdnx41idq4i1sxdxxdhs1hff745gvkjprvas";
+      name = "ktp-kded-module-22.04.2.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktp-send-file-22.04.1.tar.xz";
-      sha256 = "0swf599kf769ad721r0lmf74g0mp68h0lxjcvy71wfnjkfgn16rl";
-      name = "ktp-send-file-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktp-send-file-22.04.2.tar.xz";
+      sha256 = "1jgwbr9hq8i4vsildj35666242r6k7rvhffar5jilajizq5245kg";
+      name = "ktp-send-file-22.04.2.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktp-text-ui-22.04.1.tar.xz";
-      sha256 = "0ldgiq0amr715hivv9573gxdi6p530zjfvq1nmyn4nr3lv3k036f";
-      name = "ktp-text-ui-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktp-text-ui-22.04.2.tar.xz";
+      sha256 = "1k61kyc4arclh63rppjayngn69dpnwdbzk2h4rqnlb7kngl2rlm7";
+      name = "ktp-text-ui-22.04.2.tar.xz";
     };
   };
   ktuberling = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/ktuberling-22.04.1.tar.xz";
-      sha256 = "1b1ra5qxf4yba4z9hsjq1r30vfg0kgpxjmj5cpzvm0jdy5vas8j5";
-      name = "ktuberling-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/ktuberling-22.04.2.tar.xz";
+      sha256 = "1acy1q4i4y52wqvpj8vx51gcaar9h0ibhr1d45iyd281522m9hij";
+      name = "ktuberling-22.04.2.tar.xz";
     };
   };
   kturtle = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kturtle-22.04.1.tar.xz";
-      sha256 = "1gs3q23ylxpbk65ml9xpgz7dyz9r2gbwl2jda9i2vqir4n6w1ihm";
-      name = "kturtle-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kturtle-22.04.2.tar.xz";
+      sha256 = "1mcjwgjvxpy26543si1lrd15x845ikw4f5r9ffcfnk30vj58cwjy";
+      name = "kturtle-22.04.2.tar.xz";
     };
   };
   kubrick = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kubrick-22.04.1.tar.xz";
-      sha256 = "13p33kmrdknzjbkpg90wjccgy7ckpk23gfghvn55q13hvvvr492w";
-      name = "kubrick-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kubrick-22.04.2.tar.xz";
+      sha256 = "0mm1v4ni7rf8m8vvw8caggpv8s7nlq40z5r34an1xi4x8iqw6kwv";
+      name = "kubrick-22.04.2.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kwalletmanager-22.04.1.tar.xz";
-      sha256 = "0nhfyz9fyjsjjbj4fgyqqq2rvafm8klbjnlf0sqy5fdd5ldii7i8";
-      name = "kwalletmanager-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kwalletmanager-22.04.2.tar.xz";
+      sha256 = "1qjz5pk8krdcy2y7gh5rj6rr0zflbc0ip91649srhsqnv1s64hg1";
+      name = "kwalletmanager-22.04.2.tar.xz";
     };
   };
   kwave = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kwave-22.04.1.tar.xz";
-      sha256 = "10m847fqk3b8yhs4vji477qc9gh62rz9n72b23ib4y8xpddvkxzz";
-      name = "kwave-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kwave-22.04.2.tar.xz";
+      sha256 = "0k6pm0xpxcz38hkrgk5xrz7zmpffahyj0z8c744wplns27xl2k0m";
+      name = "kwave-22.04.2.tar.xz";
     };
   };
   kwordquiz = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/kwordquiz-22.04.1.tar.xz";
-      sha256 = "0mw8pkwr52bfzwbv8rny6s5yfqf7rz55ql0v7i319vi71pk9m8bz";
-      name = "kwordquiz-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/kwordquiz-22.04.2.tar.xz";
+      sha256 = "1m5fa8g2qs674nrraia79gdq3qhff8pc0s3p9310cqnj1nh6ngkh";
+      name = "kwordquiz-22.04.2.tar.xz";
     };
   };
   libgravatar = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libgravatar-22.04.1.tar.xz";
-      sha256 = "0fy52hm3xkh7kvask339gfxsm2fiv5d2va4wlhgqhnjq972b7fyn";
-      name = "libgravatar-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libgravatar-22.04.2.tar.xz";
+      sha256 = "0mpdnwkax67fdmhlfgp768vhh2vhvpr3r98yzh80bzdcs1xig0jz";
+      name = "libgravatar-22.04.2.tar.xz";
     };
   };
   libkcddb = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libkcddb-22.04.1.tar.xz";
-      sha256 = "000bqff7gdy5bhs7jkyf08j975f9wqxv9x4qgs5gnqz4wxrqllqh";
-      name = "libkcddb-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libkcddb-22.04.2.tar.xz";
+      sha256 = "0gf9nxmydh5q8558xg89gzd9n037d6gdqds2kpwrj62xrk9530fq";
+      name = "libkcddb-22.04.2.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libkcompactdisc-22.04.1.tar.xz";
-      sha256 = "06s56iqmr0rhpp325p98mz7b0bn7siq91y11v6pvvxwp42mfm6w6";
-      name = "libkcompactdisc-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libkcompactdisc-22.04.2.tar.xz";
+      sha256 = "00bypyi0fa3d9wjy9bnb3yfi5l1py21z6gahx2d5f6488in37z5m";
+      name = "libkcompactdisc-22.04.2.tar.xz";
     };
   };
   libkdcraw = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libkdcraw-22.04.1.tar.xz";
-      sha256 = "19d82bmz8mfp6sajjih5712z4951pp0hsnsw1s46xs0r4lwjv532";
-      name = "libkdcraw-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libkdcraw-22.04.2.tar.xz";
+      sha256 = "1z98711cfxz1hb1ilssgn54zllk4vn8vs7rfpbmrzxkx0wlzcsf6";
+      name = "libkdcraw-22.04.2.tar.xz";
     };
   };
   libkdegames = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libkdegames-22.04.1.tar.xz";
-      sha256 = "1q6r1y13lzxyfgy1bphrqq6vpn43vssa077inccl1b4hqm9lgs8c";
-      name = "libkdegames-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libkdegames-22.04.2.tar.xz";
+      sha256 = "04996k2z32bpbxbrxlh65jpvxw61mgxb4dib28rd3ba06p0zcfn3";
+      name = "libkdegames-22.04.2.tar.xz";
     };
   };
   libkdepim = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libkdepim-22.04.1.tar.xz";
-      sha256 = "0x21yw42fsvib28fabilxinm7sl0vrwhw12yzra66mrl7ysvwfwn";
-      name = "libkdepim-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libkdepim-22.04.2.tar.xz";
+      sha256 = "08lri4abdlh9c8izmp2a2jn8yk121m5nw51rnnrj6cvgag9g4w2m";
+      name = "libkdepim-22.04.2.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libkeduvocdocument-22.04.1.tar.xz";
-      sha256 = "05w76d7js2068wmyjahailw1bmjn6zrr9d49hixn2ic0fih4amai";
-      name = "libkeduvocdocument-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libkeduvocdocument-22.04.2.tar.xz";
+      sha256 = "1g51ra4dvrbk7p3bmzvym2i4wa409ignw7i5dl9k0xa0zrv8dk8q";
+      name = "libkeduvocdocument-22.04.2.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libkexiv2-22.04.1.tar.xz";
-      sha256 = "1nnmbq3xcl7blflw9ibaqwkk405rf1rfjh8zxvli8yhz76rkhvrp";
-      name = "libkexiv2-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libkexiv2-22.04.2.tar.xz";
+      sha256 = "0yrivln91by5jznsv76i6pimng2a4a59p6vkgglh7pci8b6ci5g3";
+      name = "libkexiv2-22.04.2.tar.xz";
     };
   };
   libkgapi = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libkgapi-22.04.1.tar.xz";
-      sha256 = "17qa3c2zbsiyj6lqw56flhv0dfnwcd8ak7hisyrksalv50x5zq4l";
-      name = "libkgapi-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libkgapi-22.04.2.tar.xz";
+      sha256 = "1fcb0a93c1358c9kya8xd1dqdpwnl3x3wyzqffa1kdid8yhgihwz";
+      name = "libkgapi-22.04.2.tar.xz";
     };
   };
   libkipi = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libkipi-22.04.1.tar.xz";
-      sha256 = "1zcskhg1p8ldrf4r0miqnyvyw9yr4x894lp4hkahvlarxm7vf5gg";
-      name = "libkipi-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libkipi-22.04.2.tar.xz";
+      sha256 = "02bhvzbgjlai2n4yzjpkjrrf8bqr8rpdc17zqsy936nf5zm31v5c";
+      name = "libkipi-22.04.2.tar.xz";
     };
   };
   libkleo = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libkleo-22.04.1.tar.xz";
-      sha256 = "01qqzvna4vpldflq9ah2dj8hl3wmzh6x4hw4ah3vii2rmf5hbmln";
-      name = "libkleo-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libkleo-22.04.2.tar.xz";
+      sha256 = "13zii42l6xs45fs9xgdpvkj9hsxjwp27gdsxvx1wyvmfi99q01fw";
+      name = "libkleo-22.04.2.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libkmahjongg-22.04.1.tar.xz";
-      sha256 = "0aw79n93f4vc2fg0mrb55cz1584hwf7li4fyvs4c4wpxcpbfk3ff";
-      name = "libkmahjongg-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libkmahjongg-22.04.2.tar.xz";
+      sha256 = "0x0f4nwv2ibpmb9c7ll0nv4i6h58jk2myixlwc3qc46g1ccf08c4";
+      name = "libkmahjongg-22.04.2.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libkomparediff2-22.04.1.tar.xz";
-      sha256 = "0gz31j51vqgs13gyk2xrr20h852vnk9cy381sgnnk9m22lqxn174";
-      name = "libkomparediff2-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libkomparediff2-22.04.2.tar.xz";
+      sha256 = "02g6gwv576rs9r8xkma9n7z78ilb6gb6hdmryd8yvrrjgrd3nwd7";
+      name = "libkomparediff2-22.04.2.tar.xz";
     };
   };
   libksane = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libksane-22.04.1.tar.xz";
-      sha256 = "103448xv5y6q552g4g6016nmrgr2b0b6g0mg4d5hy2ibd0kmsxdv";
-      name = "libksane-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libksane-22.04.2.tar.xz";
+      sha256 = "1cs0dh774brzq7qfib8dxhz21gasi0r1dqrdg3n2w1lys5c17b1p";
+      name = "libksane-22.04.2.tar.xz";
     };
   };
   libksieve = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libksieve-22.04.1.tar.xz";
-      sha256 = "06ypiw5xmpxjyr5blwnwv5whm15fsafadzld8mn7qqxfzhibpzrx";
-      name = "libksieve-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libksieve-22.04.2.tar.xz";
+      sha256 = "0r4w7afqp9gnhn1q9prvdklkwlszs8pqgq7xqgsfsncadajf6pzx";
+      name = "libksieve-22.04.2.tar.xz";
     };
   };
   libktorrent = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/libktorrent-22.04.1.tar.xz";
-      sha256 = "1jnxwyvil5mjlj7rvy31nbdg39fziclb014ilsy2f0g1r7nldpap";
-      name = "libktorrent-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/libktorrent-22.04.2.tar.xz";
+      sha256 = "07wl2xxyrvpczwac55xzw8swm99rmqhsrr7v0mlc8fhqkm935232";
+      name = "libktorrent-22.04.2.tar.xz";
     };
   };
   lokalize = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/lokalize-22.04.1.tar.xz";
-      sha256 = "0m4z9qas74x5j7wc1gr0rfzn10mzf1jdf3ffqybrxgli22w8c9my";
-      name = "lokalize-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/lokalize-22.04.2.tar.xz";
+      sha256 = "15fniwvvd70r5vaybz8qzdpgfvmhz2yinlkfiw2plcafxax998lz";
+      name = "lokalize-22.04.2.tar.xz";
     };
   };
   lskat = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/lskat-22.04.1.tar.xz";
-      sha256 = "0gyd8bzdnc5c0dpswmrigm81ajqgbvkvfs97nrdw08hvk5ba3a79";
-      name = "lskat-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/lskat-22.04.2.tar.xz";
+      sha256 = "0manh8na2iq5yz662msp6nr5ca7rz4ms4sd36yh909x16fhngaxz";
+      name = "lskat-22.04.2.tar.xz";
     };
   };
   mailcommon = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/mailcommon-22.04.1.tar.xz";
-      sha256 = "0xfsjl6p629r0gpvcrnxgdx1hfcqk9q1zzwjs4zw1waggpf39has";
-      name = "mailcommon-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/mailcommon-22.04.2.tar.xz";
+      sha256 = "1y3x16h4a6nlw44g2mrpqwy76x93r7l65xp8lm2zf6dr152hxl6r";
+      name = "mailcommon-22.04.2.tar.xz";
     };
   };
   mailimporter = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/mailimporter-22.04.1.tar.xz";
-      sha256 = "17gklgbi9fppc1k96nlmam8qdw8rzpc47b1vd9y1zrxsbp47fv46";
-      name = "mailimporter-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/mailimporter-22.04.2.tar.xz";
+      sha256 = "1pxa1b8w9qklgfzn7p5xmyvriz5pzflggzkwz3jwzhyz0k1m428d";
+      name = "mailimporter-22.04.2.tar.xz";
     };
   };
   marble = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/marble-22.04.1.tar.xz";
-      sha256 = "0mxqp7q4l0zic3aszfwijyk06pj9b2q3cj7bj3lqghvncd4196rm";
-      name = "marble-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/marble-22.04.2.tar.xz";
+      sha256 = "1nnzd362mq4qxwvbq2q1a1pcw30zgf3jvyk0fp8fq93bs882wcx4";
+      name = "marble-22.04.2.tar.xz";
     };
   };
   markdownpart = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/markdownpart-22.04.1.tar.xz";
-      sha256 = "1ihg3n4ndyipsfac5gfhf7pljr4x3v2zbalvc9369q39xmzvz8c5";
-      name = "markdownpart-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/markdownpart-22.04.2.tar.xz";
+      sha256 = "0klnlhlv38imiap5a6dvrmvskfggm56qj889xippbm41kpdpx4cf";
+      name = "markdownpart-22.04.2.tar.xz";
     };
   };
   mbox-importer = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/mbox-importer-22.04.1.tar.xz";
-      sha256 = "14jl5gwz7rwsac4gzyv1larr1llwwhdrbg6pvapqgwwpmxnmdjzi";
-      name = "mbox-importer-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/mbox-importer-22.04.2.tar.xz";
+      sha256 = "1xvnlv5gsk3fjanjln59nwkl7kv4idgm4ssm63akd825b64ia4sb";
+      name = "mbox-importer-22.04.2.tar.xz";
     };
   };
   messagelib = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/messagelib-22.04.1.tar.xz";
-      sha256 = "0inz5pygvfngd9brd40mk2zvh106m294mj2h52aq0ydnhxf9w0m8";
-      name = "messagelib-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/messagelib-22.04.2.tar.xz";
+      sha256 = "1v1ppq5qn2hd1ns2g2h15md0lzm3xk643vd9899gicrj3i0fq56z";
+      name = "messagelib-22.04.2.tar.xz";
     };
   };
   minuet = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/minuet-22.04.1.tar.xz";
-      sha256 = "0af3fir0njcczqf9wgfb0kygj9nnjf7z18sr39nzd45mm0qmmgk2";
-      name = "minuet-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/minuet-22.04.2.tar.xz";
+      sha256 = "1y27nkhl17k5hxhyd8hn4jsjsgf1ya6jpha9cccv2mpyd9xr3kgr";
+      name = "minuet-22.04.2.tar.xz";
     };
   };
   okular = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/okular-22.04.1.tar.xz";
-      sha256 = "0gqnfzh0k03q6mnb5ixa1shk6sx9qzgcj1l443lji1w2y8nhpqnf";
-      name = "okular-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/okular-22.04.2.tar.xz";
+      sha256 = "1f7cm28ivgj502439vhnyz4qf99pwj1wlk4zbaf5w16kph3dv8f9";
+      name = "okular-22.04.2.tar.xz";
     };
   };
   palapeli = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/palapeli-22.04.1.tar.xz";
-      sha256 = "1a8d0qg04a8h53nxxn8016gpamb6a8vycjhhf7586aglx51nj4ds";
-      name = "palapeli-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/palapeli-22.04.2.tar.xz";
+      sha256 = "0dn4h18pxfz1lhyl4gxprm0rcxkl7an3gm6yd1l7jfkh3r3a78sh";
+      name = "palapeli-22.04.2.tar.xz";
     };
   };
   parley = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/parley-22.04.1.tar.xz";
-      sha256 = "0xvml3svb68gpxrd80a3hqh65d0wavvksdx1wd5mxm8bkdqifb2j";
-      name = "parley-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/parley-22.04.2.tar.xz";
+      sha256 = "1qiglp6kx6kgwqsqvi0asi1figflyb5fm9maq0qzvv300f6va945";
+      name = "parley-22.04.2.tar.xz";
     };
   };
   partitionmanager = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/partitionmanager-22.04.1.tar.xz";
-      sha256 = "08nplvyzbbclqgkm03c7r6gyvmgj6931ml539ifngmfxjfhxj82n";
-      name = "partitionmanager-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/partitionmanager-22.04.2.tar.xz";
+      sha256 = "1xzbnsls8dypq703kwh8v5ay3yr4cpwxdapx7ywichcnsa89869a";
+      name = "partitionmanager-22.04.2.tar.xz";
     };
   };
   picmi = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/picmi-22.04.1.tar.xz";
-      sha256 = "13ipw692n72m3sbcpviyh85f993zvw2d6yqbdk96c5wwfksrhqww";
-      name = "picmi-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/picmi-22.04.2.tar.xz";
+      sha256 = "10dg85yh3gksd47dnj5wd1vw1gmisw90wsv3212avivhyxfv8x57";
+      name = "picmi-22.04.2.tar.xz";
     };
   };
-  pim-data-exporter = {
-    version = "22.04.1";
+  pimcommon = {
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/pim-data-exporter-22.04.1.tar.xz";
-      sha256 = "15kbvbq7gyxkjrhkafkz1dc3zyblsys3hg6641x0hmyy3zmyigbi";
-      name = "pim-data-exporter-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/pimcommon-22.04.2.tar.xz";
+      sha256 = "01amvq972j4b6qkpl08p3yq4zy6kn0yjhkkq7kcqkr2bs47cshg1";
+      name = "pimcommon-22.04.2.tar.xz";
     };
   };
-  pim-sieve-editor = {
-    version = "22.04.1";
+  pim-data-exporter = {
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/pim-sieve-editor-22.04.1.tar.xz";
-      sha256 = "02kr6530x6x7y7ngiz98ca4rvfsbcnci9093if71kaybhs2l267k";
-      name = "pim-sieve-editor-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/pim-data-exporter-22.04.2.tar.xz";
+      sha256 = "0rq35c5l46nwxb462pzkqwcjv0wjxnqlrkhymkmvblhi2cbyad54";
+      name = "pim-data-exporter-22.04.2.tar.xz";
     };
   };
-  pimcommon = {
-    version = "22.04.1";
+  pim-sieve-editor = {
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/pimcommon-22.04.1.tar.xz";
-      sha256 = "01l1nj7jjq7kx7db63a8nn1jcl2hpn3in6cklz89w2ilwkcwv51a";
-      name = "pimcommon-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/pim-sieve-editor-22.04.2.tar.xz";
+      sha256 = "0hfacgyvsr42c12c532zz5s80fvj3dbv2kyja5id0axkglrmh7ri";
+      name = "pim-sieve-editor-22.04.2.tar.xz";
     };
   };
   poxml = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/poxml-22.04.1.tar.xz";
-      sha256 = "0aiw90l716ii6sj82r68li7a0sq28nvy2j5phvdiqwisqcmrhhqn";
-      name = "poxml-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/poxml-22.04.2.tar.xz";
+      sha256 = "0cm0gdszf00mz7677qap5zddcgv35pzsmd0h9c8akjnvg85mlcvx";
+      name = "poxml-22.04.2.tar.xz";
     };
   };
   print-manager = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/print-manager-22.04.1.tar.xz";
-      sha256 = "0ydqf9p0zzsw2l2l49w3di7ihl441h54ifxidww0y1s2why0d77l";
-      name = "print-manager-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/print-manager-22.04.2.tar.xz";
+      sha256 = "0lmng4lwz8wbq1mas947mz9qsb7j0ggzs9rdwijmq287b31jzfmz";
+      name = "print-manager-22.04.2.tar.xz";
     };
   };
   rocs = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/rocs-22.04.1.tar.xz";
-      sha256 = "0jldr3kisfk309ykfnp6fqqny0bg4vfy0c85c593c014v099nnzc";
-      name = "rocs-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/rocs-22.04.2.tar.xz";
+      sha256 = "1y10kisdsdxsvmzkxby4y1zm4g3rssixbjlix5i1qrq3417qrj3a";
+      name = "rocs-22.04.2.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/signon-kwallet-extension-22.04.1.tar.xz";
-      sha256 = "13nh3ggy6wlh18z1ag2hxrcf7gg3bscz1518ajbhcvriz4yc3v1c";
-      name = "signon-kwallet-extension-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/signon-kwallet-extension-22.04.2.tar.xz";
+      sha256 = "0k2ng51qr3kryxlzznkrxaky7j8h3x7p8rcjq1mxxa01ygwrknw1";
+      name = "signon-kwallet-extension-22.04.2.tar.xz";
     };
   };
   skanlite = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/skanlite-22.04.1.tar.xz";
-      sha256 = "1j0ky1b5pf8v8vqym8nrjpjb7z0gssj3nkbvfs0mz725a04gxxv9";
-      name = "skanlite-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/skanlite-22.04.2.tar.xz";
+      sha256 = "1kbjzia403r8znl2jhry09h6si06d7mgq234ablxr98dqjg96898";
+      name = "skanlite-22.04.2.tar.xz";
     };
   };
   skanpage = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/skanpage-22.04.1.tar.xz";
-      sha256 = "1w3w3h58arjmkfp63rgzzgzyl44wkv53dqsp43ny1yk8zyfw6cih";
-      name = "skanpage-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/skanpage-22.04.2.tar.xz";
+      sha256 = "1d6l7nmij33h4w6r7g8kfj0qkpw24fifc022l84w6fjyyv98k4q3";
+      name = "skanpage-22.04.2.tar.xz";
     };
   };
   spectacle = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/spectacle-22.04.1.tar.xz";
-      sha256 = "111q8jg925spgmij52vq17pdiw1wsxrw654ns2yj6vcnf2mwjnrk";
-      name = "spectacle-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/spectacle-22.04.2.tar.xz";
+      sha256 = "0g7pmczjg8q7b6h87hkwb71zi9cfm0ivxk0ak7krdz5c3iwa310y";
+      name = "spectacle-22.04.2.tar.xz";
     };
   };
   step = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/step-22.04.1.tar.xz";
-      sha256 = "03dwp4xg84a3q79gmqlqb5idaybl3k5na5d47668zfv8hw5kwz1m";
-      name = "step-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/step-22.04.2.tar.xz";
+      sha256 = "0ly0dk6ib574sqb1zh8iammjk01h7i9hqzax393884ahgc3w7m4z";
+      name = "step-22.04.2.tar.xz";
     };
   };
   svgpart = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/svgpart-22.04.1.tar.xz";
-      sha256 = "1738p2k9j9lckav86fqm57i6aszwdhin7nja7dx1g637w0a96nsy";
-      name = "svgpart-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/svgpart-22.04.2.tar.xz";
+      sha256 = "0f0fwr2lz37achrfcvb4yls0c0ln180m1v5gdimzazb8q9sw5ff0";
+      name = "svgpart-22.04.2.tar.xz";
     };
   };
   sweeper = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/sweeper-22.04.1.tar.xz";
-      sha256 = "10719rj6pwjq6k8n60x4vg08rvy4pwnf9g2p6warp4mzkwhdn4fh";
-      name = "sweeper-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/sweeper-22.04.2.tar.xz";
+      sha256 = "0afxrnsk3d0h806hfzx84jh89rllx0xip03dssy491wjlj434aj3";
+      name = "sweeper-22.04.2.tar.xz";
     };
   };
   umbrello = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/umbrello-22.04.1.tar.xz";
-      sha256 = "01jk3w17prvqljrn3lfk1j3ifaf59wp917527idnk3yhl6k6abdz";
-      name = "umbrello-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/umbrello-22.04.2.tar.xz";
+      sha256 = "0qwm9wlxah31p0f08bilda2xwdpl0in0ma1g399aw02i2lcr9frw";
+      name = "umbrello-22.04.2.tar.xz";
     };
   };
   yakuake = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/yakuake-22.04.1.tar.xz";
-      sha256 = "1c61cpp8dai5bb3mcdry12iibz1mni3bhnwnsdb2v9kaf0vrhf2k";
-      name = "yakuake-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/yakuake-22.04.2.tar.xz";
+      sha256 = "0a2bp7scg9av5yay38srcb1dr1v5s152bsy616yvhqq3s68pyv04";
+      name = "yakuake-22.04.2.tar.xz";
     };
   };
   zanshin = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/zanshin-22.04.1.tar.xz";
-      sha256 = "0frza7k4fmwkpdaxinnza021wqri1llhpasdphbwx539sxpbwlv8";
-      name = "zanshin-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/zanshin-22.04.2.tar.xz";
+      sha256 = "0qz5r6qflqq9c9jgqlplsjapcbfjhrjnqd8pa8cjb6vshgd316k0";
+      name = "zanshin-22.04.2.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "22.04.1";
+    version = "22.04.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/22.04.1/src/zeroconf-ioslave-22.04.1.tar.xz";
-      sha256 = "1bswkxjw0djp60k6wp0jyfz27pvzcvgdkp4219lzf5kxyj6ln1dk";
-      name = "zeroconf-ioslave-22.04.1.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.2/src/zeroconf-ioslave-22.04.2.tar.xz";
+      sha256 = "1lnadhkyzjhn3cgkc733q69nmhrm5ppyv51yvcyv4084xcrpp6zz";
+      name = "zeroconf-ioslave-22.04.2.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/misc/gmtp/default.nix b/pkgs/applications/misc/gmtp/default.nix
index 5f03b8ea7e7..9aeed0a7f57 100644
--- a/pkgs/applications/misc/gmtp/default.nix
+++ b/pkgs/applications/misc/gmtp/default.nix
@@ -18,6 +18,12 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  # Workaround build failure on -fno-common toolchains:
+  #   ld: gmtp-preferences.o:src/main.h:72: multiple definition of
+  #     `scrolledwindowMain'; gmtp-about.o:src/main.h:72: first defined here
+  # TODO: can be removed when 1.4.0 is released.
+  #NIX_CFLAGS_COMPILE = "-fcommon";
+
   preFixup = ''
     gappsWrapperArgs+=(--add-flags "--datapath $out/share");
   '';
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index 835f96d2158..12d7dc0dcbf 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.58.3";
+  version = "0.58.4";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "sha256-hm7iIYv4egd79G+LfetFSFLQRnfechJIY3k5Dys63vY=";
+    sha256 = "sha256-Png9OcO5dzoeKp826FwdM7zkovuOnSYMnGw5weT2eJU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/watson/default.nix b/pkgs/applications/office/watson/default.nix
index eb3f5496522..a1a6fd33305 100644
--- a/pkgs/applications/office/watson/default.nix
+++ b/pkgs/applications/office/watson/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, python3, installShellFiles }:
+{ lib, fetchFromGitHub, python3, installShellFiles, fetchpatch }:
 
 with python3.pkgs;
 
@@ -13,6 +13,15 @@ buildPythonApplication rec {
     sha256 = "sha256-/AASYeMkt18KPJljAjNPRYOpg/T5xuM10LJq4LrFD0g=";
   };
 
+  patches = [
+    # https://github.com/TailorDev/Watson/pull/473
+    (fetchpatch {
+      name = "fix-completion.patch";
+      url = "https://github.com/TailorDev/Watson/commit/43ad061a981eb401c161266f497e34df891a5038.patch";
+      sha256 = "sha256-v8/asP1wooHKjyy9XXB4Rtf6x+qmGDHpRoHEne/ZCxc=";
+    })
+  ];
+
   postInstall = ''
     installShellCompletion --bash --name watson watson.completion
     installShellCompletion --zsh --name _watson watson.zsh-completion
diff --git a/pkgs/applications/video/coriander/default.nix b/pkgs/applications/video/coriander/default.nix
index 7f57c79c5fe..540339f05a5 100644
--- a/pkgs/applications/video/coriander/default.nix
+++ b/pkgs/applications/video/coriander/default.nix
@@ -22,6 +22,11 @@ stdenv.mkDerivation rec {
     sha256 = "0l6hpfgy5r4yardilmdrggsnn1fbfww516sk5a90g1740cd435x5";
   };
 
+  # Workaround build failure on -fno-common toolchains:
+  #   ld: subtitles.o:src/coriander.h:110: multiple definition of
+  #     `main_window'; main.o:src/coriander.h:110: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   preConfigure = ''
     cp ${automake}/share/automake-*/mkinstalldirs .
   '';
diff --git a/pkgs/applications/video/gnome-mplayer/default.nix b/pkgs/applications/video/gnome-mplayer/default.nix
index de56865410e..a63671accec 100644
--- a/pkgs/applications/video/gnome-mplayer/default.nix
+++ b/pkgs/applications/video/gnome-mplayer/default.nix
@@ -23,6 +23,11 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  # Workaround build failure on -fno-common toolchains:
+  #   ld: mpris-interface.o:src/playlist.h:32: multiple definition of
+  #     `plclose'; gui.o:src/playlist.h:32: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   meta = with lib; {
     description = "Gnome MPlayer, a simple GUI for MPlayer";
     homepage = "https://sites.google.com/site/kdekorte2/gnomemplayer";
diff --git a/pkgs/applications/virtualization/conmon/default.nix b/pkgs/applications/virtualization/conmon/default.nix
index fc195f81181..1236775ac67 100644
--- a/pkgs/applications/virtualization/conmon/default.nix
+++ b/pkgs/applications/virtualization/conmon/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "conmon";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HzLRwJwzvXhQOcmBp55I54sAnCKPeQw99H/XMOegOHo=";
+    sha256 = "sha256-WxRMY43Z9OytY1kc91VVmqLn5cl0UC/0Zj8x3vpsaBQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/build-support/replace-dependency.nix b/pkgs/build-support/replace-dependency.nix
index 15ab50bf397..01b93c194c3 100644
--- a/pkgs/build-support/replace-dependency.nix
+++ b/pkgs/build-support/replace-dependency.nix
@@ -35,7 +35,7 @@ let
             read ref_path
             if [ "$ref_path" != "$path" ]
             then
-                echo "    (builtins.storePath $ref_path)"
+                echo "    (builtins.storePath (/. + \"$ref_path\"))"
             fi
             count=$(($count - 1))
         done
diff --git a/pkgs/build-support/rust/build-rust-crate/lib.sh b/pkgs/build-support/rust/build-rust-crate/lib.sh
index d4927b025aa..39f7d53f6f7 100644
--- a/pkgs/build-support/rust/build-rust-crate/lib.sh
+++ b/pkgs/build-support/rust/build-rust-crate/lib.sh
@@ -16,6 +16,7 @@ build_lib() {
     --out-dir target/lib \
     -L dependency=target/deps \
     --cap-lints allow \
+    $LINK \
     $LIB_RUSTC_OPTS \
     $BUILD_OUT_DIR \
     $EXTRA_BUILD \
@@ -97,7 +98,6 @@ setup_link_paths() {
      if [[ ! -z "$i" ]]; then
        for library in $i; do
          echo "-l $library" >> target/link
-         echo "-l $library" >> target/link.final
        done
      fi
   done
diff --git a/pkgs/build-support/rust/build-rust-crate/test/default.nix b/pkgs/build-support/rust/build-rust-crate/test/default.nix
index 2e0a29ac123..a4536a1751c 100644
--- a/pkgs/build-support/rust/build-rust-crate/test/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/test/default.nix
@@ -548,6 +548,10 @@ let
       };
     };
     brotliCrates = (callPackage ./brotli-crates.nix {});
+    rcgenCrates = callPackage ./rcgen-crates.nix {
+      # Suppress deprecation warning
+      buildRustCrate = null;
+    };
     tests = lib.mapAttrs (key: value: mkTest (value // lib.optionalAttrs (!value?crateName) { crateName = key; })) cases;
   in tests // rec {
 
@@ -645,6 +649,16 @@ let
     } ''
       test -e ${pkg}/bin/brotli-decompressor && touch $out
     '';
+
+    rcgenTest = let
+      pkg = rcgenCrates.rootCrate.build;
+    in runCommand "run-rcgen-test-cmd" {
+      nativeBuildInputs = [ pkg ];
+    } (if stdenv.hostPlatform == stdenv.buildPlatform then ''
+      ${pkg}/bin/rcgen && touch $out
+    '' else ''
+      test -x '${pkg}/bin/rcgen' && touch $out
+    '');
   };
   test = releaseTools.aggregate {
     name = "buildRustCrate-tests";
diff --git a/pkgs/build-support/rust/build-rust-crate/test/rcgen-crates.nix b/pkgs/build-support/rust/build-rust-crate/test/rcgen-crates.nix
new file mode 100644
index 00000000000..0f97c9b724b
--- /dev/null
+++ b/pkgs/build-support/rust/build-rust-crate/test/rcgen-crates.nix
@@ -0,0 +1,3496 @@
+
+# This file was @generated by crate2nix 0.10.0 with the command:
+#   "generate"
+# See https://github.com/kolloch/crate2nix for more info.
+
+{ nixpkgs ? <nixpkgs>
+, pkgs ? import nixpkgs { config = {}; }
+, lib ? pkgs.lib
+, stdenv ? pkgs.stdenv
+, buildRustCrateForPkgs ? if buildRustCrate != null
+    then lib.warn "crate2nix: Passing `buildRustCrate` as argument to Cargo.nix is deprecated. If you don't customize `buildRustCrate`, replace `callPackage ./Cargo.nix {}` by `import ./Cargo.nix { inherit pkgs; }`, and if you need to customize `buildRustCrate`, use `buildRustCrateForPkgs` instead." (_: buildRustCrate)
+    else pkgs: pkgs.buildRustCrate
+  # Deprecated
+, buildRustCrate ? null
+  # This is used as the `crateOverrides` argument for `buildRustCrate`.
+, defaultCrateOverrides ? pkgs.defaultCrateOverrides
+  # The features to enable for the root_crate or the workspace_members.
+, rootFeatures ? [ "default" ]
+  # If true, throw errors instead of issueing deprecation warnings.
+, strictDeprecation ? false
+  # Used for conditional compilation based on CPU feature detection.
+, targetFeatures ? []
+  # Whether to perform release builds: longer compile times, faster binaries.
+, release ? true
+  # Additional crate2nix configuration if it exists.
+, crateConfig
+  ? if builtins.pathExists ./crate-config.nix
+    then pkgs.callPackage ./crate-config.nix {}
+    else {}
+}:
+
+rec {
+  #
+  # "public" attributes that we attempt to keep stable with new versions of crate2nix.
+  #
+
+  rootCrate = rec {
+    packageId = "rcgen";
+
+    # Use this attribute to refer to the derivation building your root crate package.
+    # You can override the features with rootCrate.build.override { features = [ "default" "feature1" ... ]; }.
+    build = internal.buildRustCrateWithFeatures {
+      inherit packageId;
+    };
+
+    # Debug support which might change between releases.
+    # File a bug if you depend on any for non-debug work!
+    debug = internal.debugCrate { inherit packageId; };
+  };
+  # Refer your crate build derivation by name here.
+  # You can override the features with
+  # workspaceMembers."${crateName}".build.override { features = [ "default" "feature1" ... ]; }.
+  workspaceMembers = {
+    "rcgen" = rec {
+      packageId = "rcgen";
+      build = internal.buildRustCrateWithFeatures {
+        packageId = "rcgen";
+      };
+
+      # Debug support which might change between releases.
+      # File a bug if you depend on any for non-debug work!
+      debug = internal.debugCrate { inherit packageId; };
+    };
+  };
+
+  # A derivation that joins the outputs of all workspace members together.
+  allWorkspaceMembers = pkgs.symlinkJoin {
+      name = "all-workspace-members";
+      paths =
+        let members = builtins.attrValues workspaceMembers;
+        in builtins.map (m: m.build) members;
+  };
+
+  #
+  # "internal" ("private") attributes that may change in every new version of crate2nix.
+  #
+
+  internal = rec {
+    # Build and dependency information for crates.
+    # Many of the fields are passed one-to-one to buildRustCrate.
+    #
+    # Noteworthy:
+    # * `dependencies`/`buildDependencies`: similar to the corresponding fields for buildRustCrate.
+    #   but with additional information which is used during dependency/feature resolution.
+    # * `resolvedDependencies`: the selected default features reported by cargo - only included for debugging.
+    # * `devDependencies` as of now not used by `buildRustCrate` but used to
+    #   inject test dependencies into the build
+
+    crates = {
+      "asn1-rs" = rec {
+        crateName = "asn1-rs";
+        version = "0.3.1";
+        edition = "2018";
+        sha256 = "0czsk1nd4dx2k83f7jzkn8klx05wbmblkx1jh51i4c170akhbzrh";
+        authors = [
+          "Pierre Chifflier <chifflier@wzdftpd.net>"
+        ];
+        dependencies = [
+          {
+            name = "asn1-rs-derive";
+            packageId = "asn1-rs-derive";
+          }
+          {
+            name = "asn1-rs-impl";
+            packageId = "asn1-rs-impl";
+          }
+          {
+            name = "displaydoc";
+            packageId = "displaydoc";
+          }
+          {
+            name = "nom";
+            packageId = "nom";
+            usesDefaultFeatures = false;
+            features = [ "std" ];
+          }
+          {
+            name = "num-traits";
+            packageId = "num-traits";
+          }
+          {
+            name = "rusticata-macros";
+            packageId = "rusticata-macros";
+          }
+          {
+            name = "thiserror";
+            packageId = "thiserror";
+          }
+          {
+            name = "time";
+            packageId = "time";
+            optional = true;
+            features = [ "macros" "parsing" "formatting" ];
+          }
+        ];
+        features = {
+          "bigint" = [ "num-bigint" ];
+          "bits" = [ "bitvec" ];
+          "bitvec" = [ "dep:bitvec" ];
+          "cookie-factory" = [ "dep:cookie-factory" ];
+          "datetime" = [ "time" ];
+          "default" = [ "std" ];
+          "num-bigint" = [ "dep:num-bigint" ];
+          "serialize" = [ "cookie-factory" ];
+          "time" = [ "dep:time" ];
+        };
+        resolvedDefaultFeatures = [ "datetime" "default" "std" "time" ];
+      };
+      "asn1-rs-derive" = rec {
+        crateName = "asn1-rs-derive";
+        version = "0.1.0";
+        edition = "2018";
+        sha256 = "1gzf9vab06lk0zjvbr07axx64fndkng2s28bnj27fnwd548pb2yv";
+        procMacro = true;
+        authors = [
+          "Pierre Chifflier <chifflier@wzdftpd.net>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2";
+          }
+          {
+            name = "quote";
+            packageId = "quote";
+          }
+          {
+            name = "syn";
+            packageId = "syn";
+          }
+          {
+            name = "synstructure";
+            packageId = "synstructure";
+          }
+        ];
+
+      };
+      "asn1-rs-impl" = rec {
+        crateName = "asn1-rs-impl";
+        version = "0.1.0";
+        edition = "2018";
+        sha256 = "1va27bn7qxqp4wanzjlkagnynv6jnrhnwmcky2ahzb1r405p6xr7";
+        procMacro = true;
+        authors = [
+          "Pierre Chifflier <chifflier@wzdftpd.net>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2";
+          }
+          {
+            name = "quote";
+            packageId = "quote";
+          }
+          {
+            name = "syn";
+            packageId = "syn";
+          }
+        ];
+
+      };
+      "autocfg 0.1.7" = rec {
+        crateName = "autocfg";
+        version = "0.1.7";
+        edition = "2015";
+        sha256 = "1chwgimpx5z7xbag7krr9d8asxfqbh683qhgl9kn3hxk2l0djj8x";
+        authors = [
+          "Josh Stone <cuviper@gmail.com>"
+        ];
+
+      };
+      "autocfg 1.0.1" = rec {
+        crateName = "autocfg";
+        version = "1.0.1";
+        edition = "2015";
+        sha256 = "0jj6i9zn4gjl03kjvziqdji6rwx8ykz8zk2ngpc331z2g3fk3c6d";
+        authors = [
+          "Josh Stone <cuviper@gmail.com>"
+        ];
+
+      };
+      "base64" = rec {
+        crateName = "base64";
+        version = "0.13.0";
+        edition = "2018";
+        sha256 = "1z82g23mbzjgijkpcrilc7nljpxpvpf7zxf6iyiapkgka2ngwkch";
+        authors = [
+          "Alice Maz <alice@alicemaz.com>"
+          "Marshall Pierce <marshall@mpierce.org>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "base64ct" = rec {
+        crateName = "base64ct";
+        version = "1.1.1";
+        edition = "2018";
+        sha256 = "0p4was874qc90q2chm2i14m9mn8zmxjis8vaxihd6a2x4aqxkd76";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        features = {
+          "std" = [ "alloc" ];
+        };
+      };
+      "bitflags" = rec {
+        crateName = "bitflags";
+        version = "1.3.2";
+        edition = "2018";
+        sha256 = "12ki6w8gn1ldq7yz9y680llwk5gmrhrzszaa17g1sbrw2r2qvwxy";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        features = {
+          "compiler_builtins" = [ "dep:compiler_builtins" ];
+          "core" = [ "dep:core" ];
+          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "botan" = rec {
+        crateName = "botan";
+        version = "0.8.1";
+        edition = "2018";
+        sha256 = "08bmiyn7c3b0dgx20w6hr28d9jcq7cj78cchr84pc686sb2s41ik";
+        authors = [
+          "Jack Lloyd <jack@randombit.net>"
+        ];
+        dependencies = [
+          {
+            name = "botan-sys";
+            packageId = "botan-sys";
+          }
+          {
+            name = "cty";
+            packageId = "cty";
+          }
+        ];
+        features = {
+          "cstr_core" = [ "dep:cstr_core" ];
+          "no-std" = [ "cstr_core/alloc" ];
+          "vendored" = [ "botan-sys/vendored" ];
+        };
+        resolvedDefaultFeatures = [ "default" "vendored" ];
+      };
+      "botan-src" = rec {
+        crateName = "botan-src";
+        version = "0.21703.0";
+        edition = "2018";
+        sha256 = "0s2ad9q84qsrllfsbj7hjhn7gr3hab9ng6lwzwqmimia6yvja8y8";
+        authors = [
+          "Rodolphe Breard <rodolphe@what.tf>"
+          "Jack Lloyd <jack@randombit.net>"
+        ];
+
+      };
+      "botan-sys" = rec {
+        crateName = "botan-sys";
+        version = "0.8.1";
+        edition = "2015";
+        sha256 = "1m11zblxfanrhl97j7z3ap7n17rr8j0rg91sr7f9j6y2bsniaz1x";
+        authors = [
+          "Jack Lloyd <jack@randombit.net>"
+        ];
+        dependencies = [
+          {
+            name = "cty";
+            packageId = "cty";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "botan-src";
+            packageId = "botan-src";
+            optional = true;
+          }
+        ];
+        features = {
+          "botan-src" = [ "dep:botan-src" ];
+          "vendored" = [ "botan-src" ];
+        };
+        resolvedDefaultFeatures = [ "botan-src" "default" "vendored" ];
+      };
+      "bumpalo" = rec {
+        crateName = "bumpalo";
+        version = "3.9.1";
+        edition = "2018";
+        sha256 = "1688dv6s0cbj72p9lmll8a02a85dzxvdw2is7pji490zmd35m954";
+        authors = [
+          "Nick Fitzgerald <fitzgen@gmail.com>"
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "byteorder" = rec {
+        crateName = "byteorder";
+        version = "1.4.3";
+        edition = "2018";
+        sha256 = "0456lv9xi1a5bcm32arknf33ikv76p3fr9yzki4lb2897p2qkh8l";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+      };
+      "cc" = rec {
+        crateName = "cc";
+        version = "1.0.72";
+        edition = "2018";
+        crateBin = [];
+        sha256 = "1vl50h2qh0nh0iddzj6gd1pnxnxpvwmbfxc30578c1pajmxi7a92";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        features = {
+          "jobserver" = [ "dep:jobserver" ];
+          "parallel" = [ "jobserver" ];
+        };
+      };
+      "cfg-if" = rec {
+        crateName = "cfg-if";
+        version = "1.0.0";
+        edition = "2018";
+        sha256 = "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        features = {
+          "compiler_builtins" = [ "dep:compiler_builtins" ];
+          "core" = [ "dep:core" ];
+          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
+        };
+      };
+      "const-oid" = rec {
+        crateName = "const-oid";
+        version = "0.6.2";
+        edition = "2018";
+        sha256 = "12vv7csqqjj0x1l5mf51lgqiw76k5c3mb1yzfhfcqysks2j2lvwx";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        features = {
+        };
+      };
+      "crypto-bigint" = rec {
+        crateName = "crypto-bigint";
+        version = "0.2.11";
+        edition = "2018";
+        sha256 = "00qckh65nzb7s7vd60wylw6alxf9g37xh31lirb1qw0l8fxx6fzq";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "generic-array";
+            packageId = "generic-array";
+            optional = true;
+          }
+          {
+            name = "rand_core";
+            packageId = "rand_core";
+            optional = true;
+          }
+          {
+            name = "subtle";
+            packageId = "subtle";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "rand" ];
+          "generic-array" = [ "dep:generic-array" ];
+          "rand" = [ "rand_core" ];
+          "rand_core" = [ "dep:rand_core" ];
+          "rlp" = [ "dep:rlp" ];
+          "zeroize" = [ "dep:zeroize" ];
+        };
+        resolvedDefaultFeatures = [ "default" "generic-array" "rand" "rand_core" ];
+      };
+      "cty" = rec {
+        crateName = "cty";
+        version = "0.2.2";
+        edition = "2015";
+        sha256 = "0d8z0pbr87wgzqqb2jk5pvj0afzc6d3rb772ach6fijhg6yglrdk";
+        authors = [
+          "Jorge Aparicio <jorge@japaric.io>"
+        ];
+
+      };
+      "data-encoding" = rec {
+        crateName = "data-encoding";
+        version = "2.3.2";
+        edition = "2018";
+        sha256 = "0mvd8bjq5mq50fcf931cff57vwmbsvs1kpxynkzrshli98y3kqiy";
+        authors = [
+          "Julien Cretin <git@ia0.eu>"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
+      };
+      "der" = rec {
+        crateName = "der";
+        version = "0.4.5";
+        edition = "2018";
+        sha256 = "1x4k0jln8va1657cghl40l6p7hyvr1ixz71v9cd6imwmgp51rdvr";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "const-oid";
+            packageId = "const-oid";
+            optional = true;
+          }
+          {
+            name = "crypto-bigint";
+            packageId = "crypto-bigint";
+            optional = true;
+            features = [ "generic-array" ];
+          }
+        ];
+        features = {
+          "bigint" = [ "crypto-bigint" ];
+          "const-oid" = [ "dep:const-oid" ];
+          "crypto-bigint" = [ "dep:crypto-bigint" ];
+          "der_derive" = [ "dep:der_derive" ];
+          "derive" = [ "der_derive" ];
+          "oid" = [ "const-oid" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "bigint" "const-oid" "crypto-bigint" "oid" "std" ];
+      };
+      "der-parser" = rec {
+        crateName = "der-parser";
+        version = "7.0.0";
+        edition = "2018";
+        sha256 = "10kfa2gzl3x20mwgrd43cyi79xgkqxyzcyrh0xylv4apa33qlfgy";
+        authors = [
+          "Pierre Chifflier <chifflier@wzdftpd.net>"
+        ];
+        dependencies = [
+          {
+            name = "asn1-rs";
+            packageId = "asn1-rs";
+          }
+          {
+            name = "displaydoc";
+            packageId = "displaydoc";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "nom";
+            packageId = "nom";
+          }
+          {
+            name = "num-bigint";
+            packageId = "num-bigint";
+            optional = true;
+          }
+          {
+            name = "num-traits";
+            packageId = "num-traits";
+          }
+          {
+            name = "rusticata-macros";
+            packageId = "rusticata-macros";
+          }
+        ];
+        features = {
+          "bigint" = [ "num-bigint" ];
+          "cookie-factory" = [ "dep:cookie-factory" ];
+          "default" = [ "std" ];
+          "num-bigint" = [ "dep:num-bigint" ];
+          "serialize" = [ "std" "cookie-factory" ];
+        };
+        resolvedDefaultFeatures = [ "bigint" "default" "num-bigint" "std" ];
+      };
+      "digest" = rec {
+        crateName = "digest";
+        version = "0.9.0";
+        edition = "2018";
+        sha256 = "0rmhvk33rgvd6ll71z8sng91a52rw14p0drjn1da0mqa138n1pfk";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "generic-array";
+            packageId = "generic-array";
+          }
+        ];
+        features = {
+          "blobby" = [ "dep:blobby" ];
+          "dev" = [ "blobby" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "std" ];
+      };
+      "displaydoc" = rec {
+        crateName = "displaydoc";
+        version = "0.2.3";
+        edition = "2018";
+        sha256 = "11i8p5snlc1hs4g5q3wiyr75dn276l6kr0si5m7xmfa6y31mvy9v";
+        procMacro = true;
+        authors = [
+          "Jane Lusby <jlusby@yaah.dev>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2";
+          }
+          {
+            name = "quote";
+            packageId = "quote";
+          }
+          {
+            name = "syn";
+            packageId = "syn";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "foreign-types" = rec {
+        crateName = "foreign-types";
+        version = "0.3.2";
+        edition = "2015";
+        sha256 = "1cgk0vyd7r45cj769jym4a6s7vwshvd0z4bqrb92q1fwibmkkwzn";
+        authors = [
+          "Steven Fackler <sfackler@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "foreign-types-shared";
+            packageId = "foreign-types-shared";
+          }
+        ];
+
+      };
+      "foreign-types-shared" = rec {
+        crateName = "foreign-types-shared";
+        version = "0.1.1";
+        edition = "2015";
+        sha256 = "0jxgzd04ra4imjv8jgkmdq59kj8fsz6w4zxsbmlai34h26225c00";
+        authors = [
+          "Steven Fackler <sfackler@gmail.com>"
+        ];
+
+      };
+      "generic-array" = rec {
+        crateName = "generic-array";
+        version = "0.14.5";
+        edition = "2015";
+        sha256 = "00qqhls43bzvyb7s26iw6knvsz3mckbxl3rhaahvypzhqwzd6j7x";
+        libName = "generic_array";
+        authors = [
+          "Bartłomiej Kamiński <fizyk20@gmail.com>"
+          "Aaron Trent <novacrazy@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "typenum";
+            packageId = "typenum";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "version_check";
+            packageId = "version_check";
+          }
+        ];
+        features = {
+          "serde" = [ "dep:serde" ];
+        };
+      };
+      "getrandom" = rec {
+        crateName = "getrandom";
+        version = "0.2.4";
+        edition = "2018";
+        sha256 = "0k0bdr1dyf4n9fvnkx4fmwxhv4hgnyf55gj86v4m69fln743g3a1";
+        authors = [
+          "The Rand Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            usesDefaultFeatures = false;
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "wasi";
+            packageId = "wasi";
+            target = { target, features }: (target."os" == "wasi");
+          }
+        ];
+        features = {
+          "compiler_builtins" = [ "dep:compiler_builtins" ];
+          "core" = [ "dep:core" ];
+          "js" = [ "wasm-bindgen" "js-sys" ];
+          "js-sys" = [ "dep:js-sys" ];
+          "rustc-dep-of-std" = [ "compiler_builtins" "core" "libc/rustc-dep-of-std" "wasi/rustc-dep-of-std" ];
+          "wasm-bindgen" = [ "dep:wasm-bindgen" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "itoa" = rec {
+        crateName = "itoa";
+        version = "1.0.1";
+        edition = "2018";
+        sha256 = "0d8wr2qf5b25a04xf10rz9r0pdbjdgb0zaw3xvf8k2sqcz1qzaqs";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+
+      };
+      "js-sys" = rec {
+        crateName = "js-sys";
+        version = "0.3.56";
+        edition = "2018";
+        sha256 = "010g8jkj5avy3xd77i3cprjzzpfa6z9z2ay0fkllqmpx617c53x3";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "wasm-bindgen";
+            packageId = "wasm-bindgen";
+          }
+        ];
+
+      };
+      "lazy_static" = rec {
+        crateName = "lazy_static";
+        version = "1.4.0";
+        edition = "2015";
+        sha256 = "0in6ikhw8mgl33wjv6q6xfrb5b9jr16q8ygjy803fay4zcisvaz2";
+        authors = [
+          "Marvin Löbel <loebel.marvin@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "spin";
+            packageId = "spin";
+            optional = true;
+          }
+        ];
+        features = {
+          "spin" = [ "dep:spin" ];
+          "spin_no_std" = [ "spin" ];
+        };
+        resolvedDefaultFeatures = [ "spin" "spin_no_std" ];
+      };
+      "libc" = rec {
+        crateName = "libc";
+        version = "0.2.116";
+        edition = "2015";
+        sha256 = "0x6sk17kv2fdsqxlm23bz9x1y79w90k7ylkflk44rgidhy4bspan";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        features = {
+          "default" = [ "std" ];
+          "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ];
+          "rustc-std-workspace-core" = [ "dep:rustc-std-workspace-core" ];
+          "use_std" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "libm" = rec {
+        crateName = "libm";
+        version = "0.2.1";
+        edition = "2018";
+        sha256 = "0akh56sh51adhagmk9l84dyrlz60gv8ri05xhr13i1b18czkpmy7";
+        authors = [
+          "Jorge Aparicio <jorge@japaric.io>"
+        ];
+        features = {
+          "musl-reference-tests" = [ "rand" ];
+          "rand" = [ "dep:rand" ];
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "log" = rec {
+        crateName = "log";
+        version = "0.4.14";
+        edition = "2015";
+        sha256 = "04175hv0v62shd82qydq58a48k3bjijmk54v38zgqlbxqkkbpfai";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if";
+          }
+        ];
+        features = {
+          "kv_unstable" = [ "value-bag" ];
+          "kv_unstable_serde" = [ "kv_unstable_std" "value-bag/serde" "serde" ];
+          "kv_unstable_std" = [ "std" "kv_unstable" "value-bag/error" ];
+          "kv_unstable_sval" = [ "kv_unstable" "value-bag/sval" "sval" ];
+          "serde" = [ "dep:serde" ];
+          "sval" = [ "dep:sval" ];
+          "value-bag" = [ "dep:value-bag" ];
+        };
+      };
+      "memchr" = rec {
+        crateName = "memchr";
+        version = "2.4.1";
+        edition = "2018";
+        sha256 = "0smq8xzd40njqpfzv5mghigj91fzlfrfg842iz8x0wqvw2dw731h";
+        authors = [
+          "Andrew Gallant <jamslam@gmail.com>"
+          "bluss"
+        ];
+        features = {
+          "compiler_builtins" = [ "dep:compiler_builtins" ];
+          "core" = [ "dep:core" ];
+          "default" = [ "std" ];
+          "libc" = [ "dep:libc" ];
+          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
+          "use_std" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "minimal-lexical" = rec {
+        crateName = "minimal-lexical";
+        version = "0.2.1";
+        edition = "2018";
+        sha256 = "16ppc5g84aijpri4jzv14rvcnslvlpphbszc7zzp6vfkddf4qdb8";
+        authors = [
+          "Alex Huszagh <ahuszagh@gmail.com>"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "nom" = rec {
+        crateName = "nom";
+        version = "7.1.0";
+        edition = "2018";
+        sha256 = "0281jdx0xcyhjgs1jkj9pii8py1clcpazg41bgz7d71qxzhi278v";
+        authors = [
+          "contact@geoffroycouprie.com"
+        ];
+        dependencies = [
+          {
+            name = "memchr";
+            packageId = "memchr";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "minimal-lexical";
+            packageId = "minimal-lexical";
+            usesDefaultFeatures = false;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "version_check";
+            packageId = "version_check";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "std" = [ "alloc" "memchr/std" "minimal-lexical/std" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
+      };
+      "num-bigint" = rec {
+        crateName = "num-bigint";
+        version = "0.4.3";
+        edition = "2018";
+        sha256 = "0py73wsa5j4izhd39nkqzqv260r0ma08vy30ky54ld3vkhlbcfpr";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "num-integer";
+            packageId = "num-integer";
+            usesDefaultFeatures = false;
+            features = [ "i128" ];
+          }
+          {
+            name = "num-traits";
+            packageId = "num-traits";
+            usesDefaultFeatures = false;
+            features = [ "i128" ];
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg 1.0.1";
+          }
+        ];
+        features = {
+          "arbitrary" = [ "dep:arbitrary" ];
+          "default" = [ "std" ];
+          "quickcheck" = [ "dep:quickcheck" ];
+          "rand" = [ "dep:rand" ];
+          "serde" = [ "dep:serde" ];
+          "std" = [ "num-integer/std" "num-traits/std" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "num-bigint-dig" = rec {
+        crateName = "num-bigint-dig";
+        version = "0.7.0";
+        edition = "2015";
+        sha256 = "1004mmipvc7pvaf3kf13i1nqh3vxf789bj72d8wl51y185aywis5";
+        authors = [
+          "dignifiedquire <dignifiedquire@gmail.com>"
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "byteorder";
+            packageId = "byteorder";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+            usesDefaultFeatures = false;
+            features = [ "spin_no_std" ];
+          }
+          {
+            name = "libm";
+            packageId = "libm";
+          }
+          {
+            name = "num-integer";
+            packageId = "num-integer";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "num-iter";
+            packageId = "num-iter";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "num-traits";
+            packageId = "num-traits";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "rand";
+            packageId = "rand";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "smallvec";
+            packageId = "smallvec";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "zeroize";
+            packageId = "zeroize";
+            optional = true;
+            usesDefaultFeatures = false;
+            features = [ "zeroize_derive" ];
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg 0.1.7";
+          }
+        ];
+        devDependencies = [
+          {
+            name = "rand";
+            packageId = "rand";
+            features = [ "small_rng" ];
+          }
+        ];
+        features = {
+          "default" = [ "std" "i128" "u64_digit" ];
+          "i128" = [ "num-integer/i128" "num-traits/i128" ];
+          "prime" = [ "rand/std_rng" ];
+          "rand" = [ "dep:rand" ];
+          "serde" = [ "dep:serde" ];
+          "std" = [ "num-integer/std" "num-traits/std" "smallvec/write" "rand/std" "serde/std" ];
+          "zeroize" = [ "dep:zeroize" ];
+        };
+        resolvedDefaultFeatures = [ "i128" "prime" "rand" "u64_digit" "zeroize" ];
+      };
+      "num-integer" = rec {
+        crateName = "num-integer";
+        version = "0.1.44";
+        edition = "2015";
+        sha256 = "1nq152y3304as1iai95hqz8prqnc94lks1s7q05sfjdmcf56kk6j";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "num-traits";
+            packageId = "num-traits";
+            usesDefaultFeatures = false;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg 1.0.1";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "i128" = [ "num-traits/i128" ];
+          "std" = [ "num-traits/std" ];
+        };
+        resolvedDefaultFeatures = [ "i128" "std" ];
+      };
+      "num-iter" = rec {
+        crateName = "num-iter";
+        version = "0.1.42";
+        edition = "2015";
+        sha256 = "0ndd9wb9qar50fdr16xm3i1zk6h2g9br56nml2n22kd56y1iq0mj";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "num-integer";
+            packageId = "num-integer";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "num-traits";
+            packageId = "num-traits";
+            usesDefaultFeatures = false;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg 1.0.1";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "i128" = [ "num-integer/i128" "num-traits/i128" ];
+          "std" = [ "num-integer/std" "num-traits/std" ];
+        };
+      };
+      "num-traits" = rec {
+        crateName = "num-traits";
+        version = "0.2.14";
+        edition = "2015";
+        sha256 = "144j176s2p76azy2ngk2vkdzgwdc0bc8c93jhki8c9fsbknb2r4s";
+        authors = [
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "libm";
+            packageId = "libm";
+            optional = true;
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg 1.0.1";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "libm" = [ "dep:libm" ];
+        };
+        resolvedDefaultFeatures = [ "default" "i128" "libm" "std" ];
+      };
+      "num_threads" = rec {
+        crateName = "num_threads";
+        version = "0.1.3";
+        edition = "2015";
+        sha256 = "05gvsnv4k6d69iksz47i7fq1r61dj1k1nh4i8xrw7qlkcfx9kflp";
+        authors = [
+          "Jacob Pratt <open-source@jhpratt.dev>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: ((target."os" == "macos") || (target."os" == "freebsd"));
+          }
+        ];
+
+      };
+      "oid-registry" = rec {
+        crateName = "oid-registry";
+        version = "0.4.0";
+        edition = "2018";
+        sha256 = "0akbah3j8231ayrp2l1y5d9zmvbvqcsj0sa6s6dz6h85z8bhgqiq";
+        authors = [
+          "Pierre Chifflier <chifflier@wzdftpd.net>"
+        ];
+        dependencies = [
+          {
+            name = "asn1-rs";
+            packageId = "asn1-rs";
+          }
+        ];
+        features = {
+          "crypto" = [ "kdf" "pkcs1" "pkcs7" "pkcs9" "pkcs12" "nist_algs" "x962" ];
+          "default" = [ "registry" ];
+        };
+        resolvedDefaultFeatures = [ "crypto" "default" "kdf" "nist_algs" "pkcs1" "pkcs12" "pkcs7" "pkcs9" "registry" "x509" "x962" ];
+      };
+      "once_cell" = rec {
+        crateName = "once_cell";
+        version = "1.9.0";
+        edition = "2018";
+        sha256 = "1mfqhrsgi368x92bwnq3vi3p5nv0n1qlrn69gfflhvkfkxfm2cns";
+        authors = [
+          "Aleksey Kladov <aleksey.kladov@gmail.com>"
+        ];
+        features = {
+          "alloc" = [ "race" ];
+          "atomic-polyfill" = [ "dep:atomic-polyfill" ];
+          "default" = [ "std" ];
+          "parking_lot" = [ "dep:parking_lot" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "race" "std" ];
+      };
+      "openssl" = rec {
+        crateName = "openssl";
+        version = "0.10.38";
+        edition = "2018";
+        sha256 = "15baqlphisr1f7ddq11jnrrzz4shdh35kwal24adyc2c4cif4yhc";
+        authors = [
+          "Steven Fackler <sfackler@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "bitflags";
+            packageId = "bitflags";
+          }
+          {
+            name = "cfg-if";
+            packageId = "cfg-if";
+          }
+          {
+            name = "foreign-types";
+            packageId = "foreign-types";
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+          }
+          {
+            name = "openssl-sys";
+            packageId = "openssl-sys";
+            rename = "ffi";
+          }
+        ];
+        features = {
+          "vendored" = [ "ffi/vendored" ];
+        };
+      };
+      "openssl-sys" = rec {
+        crateName = "openssl-sys";
+        version = "0.9.72";
+        edition = "2015";
+        sha256 = "1jq3qbcvf16qn71yasdzw54b14n8nz98vr52l1gp60in72f10iky";
+        build = "build/main.rs";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+          "Steven Fackler <sfackler@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "autocfg";
+            packageId = "autocfg 1.0.1";
+          }
+          {
+            name = "cc";
+            packageId = "cc";
+          }
+          {
+            name = "pkg-config";
+            packageId = "pkg-config";
+          }
+          {
+            name = "vcpkg";
+            packageId = "vcpkg";
+            target = {target, features}: (target."env" == "msvc");
+          }
+        ];
+        features = {
+          "openssl-src" = [ "dep:openssl-src" ];
+          "vendored" = [ "openssl-src" ];
+        };
+      };
+      "pem" = rec {
+        crateName = "pem";
+        version = "1.0.2";
+        edition = "2018";
+        sha256 = "0iqrvfnm71x9pvff39d5ajwn3gc9glxlv4d4h22max7342db18z9";
+        authors = [
+          "Jonathan Creekmore <jonathan@thecreekmores.org>"
+        ];
+        dependencies = [
+          {
+            name = "base64";
+            packageId = "base64";
+          }
+        ];
+
+      };
+      "pem-rfc7468" = rec {
+        crateName = "pem-rfc7468";
+        version = "0.2.4";
+        edition = "2018";
+        sha256 = "1m1c9jypydzabg4yscplmvff7pdcc8gg4cqg081hnlf03hxkmsc4";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "base64ct";
+            packageId = "base64ct";
+          }
+        ];
+        features = {
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" ];
+      };
+      "pkcs1" = rec {
+        crateName = "pkcs1";
+        version = "0.2.4";
+        edition = "2018";
+        sha256 = "0b2f1a0lf5h53zrjvcqbxzjhh89gcfa1myhf6z7w10ypg61fwsqi";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "der";
+            packageId = "der";
+            features = [ "bigint" "oid" ];
+          }
+          {
+            name = "pem-rfc7468";
+            packageId = "pem-rfc7468";
+            optional = true;
+          }
+          {
+            name = "zeroize";
+            packageId = "zeroize";
+            optional = true;
+            usesDefaultFeatures = false;
+            features = [ "alloc" ];
+          }
+        ];
+        features = {
+          "alloc" = [ "der/alloc" "zeroize" ];
+          "pem" = [ "alloc" "pem-rfc7468/alloc" ];
+          "pem-rfc7468" = [ "dep:pem-rfc7468" ];
+          "zeroize" = [ "dep:zeroize" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "pem" "pem-rfc7468" "std" "zeroize" ];
+      };
+      "pkcs8" = rec {
+        crateName = "pkcs8";
+        version = "0.7.6";
+        edition = "2018";
+        sha256 = "0iq46p6fa2b8xy6pj52zpmdy8ya3fg31dj4rc19x1fi69nvgjgpf";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "der";
+            packageId = "der";
+            features = [ "oid" ];
+          }
+          {
+            name = "pem-rfc7468";
+            packageId = "pem-rfc7468";
+            optional = true;
+          }
+          {
+            name = "pkcs1";
+            packageId = "pkcs1";
+            optional = true;
+            features = [ "alloc" ];
+          }
+          {
+            name = "spki";
+            packageId = "spki";
+          }
+          {
+            name = "zeroize";
+            packageId = "zeroize";
+            optional = true;
+            usesDefaultFeatures = false;
+            features = [ "alloc" ];
+          }
+        ];
+        features = {
+          "3des" = [ "encryption" "pkcs5/3des" ];
+          "alloc" = [ "der/alloc" "zeroize" ];
+          "des-insecure" = [ "encryption" "pkcs5/des-insecure" ];
+          "encryption" = [ "alloc" "pkcs5/alloc" "pkcs5/pbes2" "rand_core" ];
+          "pem" = [ "alloc" "pem-rfc7468/alloc" ];
+          "pem-rfc7468" = [ "dep:pem-rfc7468" ];
+          "pkcs1" = [ "dep:pkcs1" ];
+          "pkcs5" = [ "dep:pkcs5" ];
+          "rand_core" = [ "dep:rand_core" ];
+          "sha1" = [ "encryption" "pkcs5/sha1" ];
+          "std" = [ "alloc" "der/std" ];
+          "zeroize" = [ "dep:zeroize" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "pem" "pem-rfc7468" "pkcs1" "std" "zeroize" ];
+      };
+      "pkg-config" = rec {
+        crateName = "pkg-config";
+        version = "0.3.24";
+        edition = "2015";
+        sha256 = "1ghcyjp5537r7qigmgl3dj62j01arlpddaq93a3i414v3iskz2aq";
+        authors = [
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+
+      };
+      "ppv-lite86" = rec {
+        crateName = "ppv-lite86";
+        version = "0.2.16";
+        edition = "2018";
+        sha256 = "0wkqwnvnfcgqlrahphl45vdlgi2f1bs7nqcsalsllp1y4dp9x7zb";
+        authors = [
+          "The CryptoCorrosion Contributors"
+        ];
+        features = {
+          "default" = [ "std" ];
+        };
+        resolvedDefaultFeatures = [ "simd" "std" ];
+      };
+      "proc-macro2" = rec {
+        crateName = "proc-macro2";
+        version = "1.0.36";
+        edition = "2018";
+        sha256 = "0adh6gvs31x6pfwmygypmzrv1jc7kjq568vsqcfaxk7vhdc2sd67";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+          "Alex Crichton <alex@alexcrichton.com>"
+        ];
+        dependencies = [
+          {
+            name = "unicode-xid";
+            packageId = "unicode-xid";
+          }
+        ];
+        features = {
+          "default" = [ "proc-macro" ];
+        };
+        resolvedDefaultFeatures = [ "default" "proc-macro" ];
+      };
+      "quote" = rec {
+        crateName = "quote";
+        version = "1.0.15";
+        edition = "2018";
+        sha256 = "0id1q0875pvhkg0mlb5z8gzdm2g2rbbz76bfzhv331lrm2b3wkc6";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2";
+            usesDefaultFeatures = false;
+          }
+        ];
+        features = {
+          "default" = [ "proc-macro" ];
+          "proc-macro" = [ "proc-macro2/proc-macro" ];
+        };
+        resolvedDefaultFeatures = [ "default" "proc-macro" ];
+      };
+      "rand" = rec {
+        crateName = "rand";
+        version = "0.8.4";
+        edition = "2018";
+        sha256 = "1n5wska2fbfj4dsfz8mc0pd0dgjlrb6c9anpk5mwym345rip6x9f";
+        authors = [
+          "The Rand Project Developers"
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            optional = true;
+            usesDefaultFeatures = false;
+            target = { target, features }: (target."unix" or false);
+          }
+          {
+            name = "rand_chacha";
+            packageId = "rand_chacha";
+            optional = true;
+            usesDefaultFeatures = false;
+            target = { target, features }: (!(target."os" == "emscripten"));
+          }
+          {
+            name = "rand_core";
+            packageId = "rand_core";
+          }
+          {
+            name = "rand_hc";
+            packageId = "rand_hc";
+            optional = true;
+            target = { target, features }: (target."os" == "emscripten");
+          }
+        ];
+        devDependencies = [
+          {
+            name = "rand_hc";
+            packageId = "rand_hc";
+          }
+        ];
+        features = {
+          "alloc" = [ "rand_core/alloc" ];
+          "default" = [ "std" "std_rng" ];
+          "getrandom" = [ "rand_core/getrandom" ];
+          "libc" = [ "dep:libc" ];
+          "log" = [ "dep:log" ];
+          "packed_simd" = [ "dep:packed_simd" ];
+          "rand_chacha" = [ "dep:rand_chacha" ];
+          "rand_hc" = [ "dep:rand_hc" ];
+          "serde" = [ "dep:serde" ];
+          "serde1" = [ "serde" "rand_core/serde1" ];
+          "simd_support" = [ "packed_simd" ];
+          "std" = [ "rand_core/std" "rand_chacha/std" "alloc" "getrandom" "libc" ];
+          "std_rng" = [ "rand_chacha" "rand_hc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "libc" "rand_chacha" "rand_hc" "std" "std_rng" ];
+      };
+      "rand_chacha" = rec {
+        crateName = "rand_chacha";
+        version = "0.3.1";
+        edition = "2018";
+        sha256 = "123x2adin558xbhvqb8w4f6syjsdkmqff8cxwhmjacpsl1ihmhg6";
+        authors = [
+          "The Rand Project Developers"
+          "The Rust Project Developers"
+          "The CryptoCorrosion Contributors"
+        ];
+        dependencies = [
+          {
+            name = "ppv-lite86";
+            packageId = "ppv-lite86";
+            usesDefaultFeatures = false;
+            features = [ "simd" ];
+          }
+          {
+            name = "rand_core";
+            packageId = "rand_core";
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "serde" = [ "dep:serde" ];
+          "serde1" = [ "serde" ];
+          "std" = [ "ppv-lite86/std" ];
+        };
+        resolvedDefaultFeatures = [ "std" ];
+      };
+      "rand_core" = rec {
+        crateName = "rand_core";
+        version = "0.6.3";
+        edition = "2018";
+        sha256 = "1rxlxc3bpzgwphcg9c9yasvv9idipcg2z2y4j0vlb52jyl418kyk";
+        authors = [
+          "The Rand Project Developers"
+          "The Rust Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "getrandom";
+            packageId = "getrandom";
+            optional = true;
+          }
+        ];
+        features = {
+          "getrandom" = [ "dep:getrandom" ];
+          "serde" = [ "dep:serde" ];
+          "serde1" = [ "serde" ];
+          "std" = [ "alloc" "getrandom" "getrandom/std" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "getrandom" "std" ];
+      };
+      "rand_hc" = rec {
+        crateName = "rand_hc";
+        version = "0.3.1";
+        edition = "2018";
+        sha256 = "1rwpykyvhkxs4jvqdja3mzp9dqaqamzn113cxaigs9z2dmcry7nm";
+        authors = [
+          "The Rand Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "rand_core";
+            packageId = "rand_core";
+          }
+        ];
+
+      };
+      "rcgen" = rec {
+        crateName = "rcgen";
+        version = "0.9.2";
+        edition = "2018";
+        crateBin = [
+          { name = "rcgen"; path = "src/main.rs"; }
+        ];
+        sha256 = "0ppwfl9g504x2qwk7m7mag8c3l70w9mcfha93013nlzqdlw2vynp";
+        authors = [
+          "est31 <MTest31@outlook.com>"
+        ];
+        dependencies = [
+          {
+            name = "pem";
+            packageId = "pem";
+            optional = true;
+          }
+          {
+            name = "ring";
+            packageId = "ring";
+          }
+          {
+            name = "time";
+            packageId = "time";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "x509-parser";
+            packageId = "x509-parser";
+            optional = true;
+            features = [ "verify" ];
+          }
+          {
+            name = "yasna";
+            packageId = "yasna";
+            features = [ "time" "std" ];
+          }
+          {
+            name = "zeroize";
+            packageId = "zeroize";
+            optional = true;
+          }
+        ];
+        devDependencies = [
+          {
+            name = "botan";
+            packageId = "botan";
+            features = [ "vendored" ];
+          }
+          {
+            name = "openssl";
+            packageId = "openssl";
+          }
+          {
+            name = "rand";
+            packageId = "rand";
+          }
+          {
+            name = "rsa";
+            packageId = "rsa";
+          }
+          {
+            name = "webpki";
+            packageId = "webpki";
+            features = [ "std" ];
+          }
+          {
+            name = "x509-parser";
+            packageId = "x509-parser";
+            features = [ "verify" ];
+          }
+        ];
+        features = {
+          "default" = [ "pem" ];
+          "pem" = [ "dep:pem" ];
+          "x509-parser" = [ "dep:x509-parser" ];
+          "zeroize" = [ "dep:zeroize" ];
+        };
+        resolvedDefaultFeatures = [ "default" "pem" "x509-parser" "zeroize" ];
+      };
+      "ring" = rec {
+        crateName = "ring";
+        version = "0.16.20";
+        edition = "2018";
+        sha256 = "1z682xp7v38ayq9g9nkbhhfpj6ygralmlx7wdmsfv8rnw99cylrh";
+        authors = [
+          "Brian Smith <brian@briansmith.org>"
+        ];
+        dependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            usesDefaultFeatures = false;
+            target = { target, features }: ((target."os" == "android") || (target."os" == "linux"));
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+            optional = true;
+            usesDefaultFeatures = false;
+            target = { target, features }: ((target."os" == "android") || (target."os" == "linux"));
+            features = [ "std" ];
+          }
+          {
+            name = "once_cell";
+            packageId = "once_cell";
+            usesDefaultFeatures = false;
+            target = { target, features }: ((target."os" == "dragonfly") || (target."os" == "freebsd") || (target."os" == "illumos") || (target."os" == "netbsd") || (target."os" == "openbsd") || (target."os" == "solaris"));
+            features = [ "std" ];
+          }
+          {
+            name = "spin";
+            packageId = "spin";
+            usesDefaultFeatures = false;
+            target = { target, features }: ((target."arch" == "x86") || (target."arch" == "x86_64") || (((target."arch" == "aarch64") || (target."arch" == "arm")) && ((target."os" == "android") || (target."os" == "fuchsia") || (target."os" == "linux"))));
+          }
+          {
+            name = "untrusted";
+            packageId = "untrusted";
+          }
+          {
+            name = "web-sys";
+            packageId = "web-sys";
+            usesDefaultFeatures = false;
+            target = { target, features }: ((target."arch" == "wasm32") && (target."vendor" == "unknown") && (target."os" == "unknown") && (target."env" == ""));
+            features = [ "Crypto" "Window" ];
+          }
+          {
+            name = "winapi";
+            packageId = "winapi";
+            usesDefaultFeatures = false;
+            target = { target, features }: (target."os" == "windows");
+            features = [ "ntsecapi" "wtypesbase" ];
+          }
+        ];
+        buildDependencies = [
+          {
+            name = "cc";
+            packageId = "cc";
+            usesDefaultFeatures = false;
+          }
+        ];
+        devDependencies = [
+          {
+            name = "libc";
+            packageId = "libc";
+            usesDefaultFeatures = false;
+            target = {target, features}: ((target."unix" or false) || (target."windows" or false));
+          }
+        ];
+        features = {
+          "default" = [ "alloc" "dev_urandom_fallback" ];
+          "dev_urandom_fallback" = [ "once_cell" ];
+          "once_cell" = [ "dep:once_cell" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "dev_urandom_fallback" "once_cell" ];
+      };
+      "rsa" = rec {
+        crateName = "rsa";
+        version = "0.5.0";
+        edition = "2018";
+        sha256 = "039676a4mj0875phdi7vc0bd37hv84dh0dql6fmk8dl2w81jcp70";
+        authors = [
+          "RustCrypto Developers"
+          "dignifiedquire <dignifiedquire@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "byteorder";
+            packageId = "byteorder";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "digest";
+            packageId = "digest";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+            features = [ "spin_no_std" ];
+          }
+          {
+            name = "num-bigint-dig";
+            packageId = "num-bigint-dig";
+            rename = "num-bigint";
+            usesDefaultFeatures = false;
+            features = [ "i128" "u64_digit" "prime" "zeroize" ];
+          }
+          {
+            name = "num-integer";
+            packageId = "num-integer";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "num-iter";
+            packageId = "num-iter";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "num-traits";
+            packageId = "num-traits";
+            usesDefaultFeatures = false;
+            features = [ "libm" ];
+          }
+          {
+            name = "pkcs1";
+            packageId = "pkcs1";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "pkcs8";
+            packageId = "pkcs8";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "rand";
+            packageId = "rand";
+            usesDefaultFeatures = false;
+            features = [ "std_rng" ];
+          }
+          {
+            name = "subtle";
+            packageId = "subtle";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "zeroize";
+            packageId = "zeroize";
+            features = [ "alloc" "zeroize_derive" ];
+          }
+        ];
+        features = {
+          "alloc" = [ "digest/alloc" "pkcs1/alloc" "pkcs8/alloc" "pkcs8/pkcs1" ];
+          "default" = [ "std" "pem" ];
+          "nightly" = [ "subtle/nightly" "num-bigint/nightly" ];
+          "pem" = [ "alloc" "pkcs1/pem" "pkcs8/pem" ];
+          "pkcs5" = [ "pkcs8/encryption" ];
+          "serde" = [ "num-bigint/serde" "serde_crate" ];
+          "serde_crate" = [ "dep:serde_crate" ];
+          "std" = [ "alloc" "digest/std" "pkcs1/std" "pkcs8/std" "rand/std" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "pem" "std" ];
+      };
+      "rusticata-macros" = rec {
+        crateName = "rusticata-macros";
+        version = "4.0.0";
+        edition = "2018";
+        sha256 = "03dmfxhgwzpm1360iwcpcg3y18ddgya0i0hc599am212pdvj7ib5";
+        authors = [
+          "Pierre Chifflier <chifflier@wzdftpd.net>"
+        ];
+        dependencies = [
+          {
+            name = "nom";
+            packageId = "nom";
+            usesDefaultFeatures = false;
+            features = [ "std" ];
+          }
+        ];
+
+      };
+      "smallvec" = rec {
+        crateName = "smallvec";
+        version = "1.8.0";
+        edition = "2018";
+        sha256 = "10zf4fn63p2d6sx8qap3jvyarcfw563308x3431hd4c34r35gpgj";
+        authors = [
+          "The Servo Project Developers"
+        ];
+        features = {
+          "arbitrary" = [ "dep:arbitrary" ];
+          "const_new" = [ "const_generics" ];
+          "serde" = [ "dep:serde" ];
+        };
+      };
+      "spin" = rec {
+        crateName = "spin";
+        version = "0.5.2";
+        edition = "2015";
+        sha256 = "0b84m6dbzrwf2kxylnw82d3dr8w06av7rfkr8s85fb5f43rwyqvf";
+        authors = [
+          "Mathijs van de Nes <git@mathijs.vd-nes.nl>"
+          "John Ericson <git@JohnEricson.me>"
+        ];
+
+      };
+      "spki" = rec {
+        crateName = "spki";
+        version = "0.4.1";
+        edition = "2018";
+        sha256 = "0ckgkcg6db5y94dqhmyikgn8yrsah6pyf4j197hv1c51bp0s00aw";
+        authors = [
+          "RustCrypto Developers"
+        ];
+        dependencies = [
+          {
+            name = "der";
+            packageId = "der";
+            features = [ "oid" ];
+          }
+        ];
+        features = {
+          "std" = [ "der/std" ];
+        };
+      };
+      "subtle" = rec {
+        crateName = "subtle";
+        version = "2.4.1";
+        edition = "2015";
+        sha256 = "00b6jzh9gzb0h9n25g06nqr90z3xzqppfhhb260s1hjhh4pg7pkb";
+        authors = [
+          "Isis Lovecruft <isis@patternsinthevoid.net>"
+          "Henry de Valence <hdevalence@hdevalence.ca>"
+        ];
+        features = {
+          "default" = [ "std" "i128" ];
+        };
+      };
+      "syn" = rec {
+        crateName = "syn";
+        version = "1.0.86";
+        edition = "2018";
+        sha256 = "0sqwa4nqxzm89nj8xd8sk4iz0hbrw3mb17b6hyc2w2d0zzsb6rca";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "quote";
+            packageId = "quote";
+            optional = true;
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "unicode-xid";
+            packageId = "unicode-xid";
+          }
+        ];
+        features = {
+          "default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ];
+          "printing" = [ "quote" ];
+          "proc-macro" = [ "proc-macro2/proc-macro" "quote/proc-macro" ];
+          "quote" = [ "dep:quote" ];
+          "test" = [ "syn-test-suite/all-features" ];
+        };
+        resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "extra-traits" "full" "parsing" "printing" "proc-macro" "quote" "visit" ];
+      };
+      "synstructure" = rec {
+        crateName = "synstructure";
+        version = "0.12.6";
+        edition = "2018";
+        sha256 = "03r1lydbf3japnlpc4wka7y90pmz1i0danaj3f9a7b431akdlszk";
+        authors = [
+          "Nika Layzell <nika@thelayzells.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "quote";
+            packageId = "quote";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "syn";
+            packageId = "syn";
+            usesDefaultFeatures = false;
+            features = [ "derive" "parsing" "printing" "clone-impls" "visit" "extra-traits" ];
+          }
+          {
+            name = "unicode-xid";
+            packageId = "unicode-xid";
+          }
+        ];
+        features = {
+          "default" = [ "proc-macro" ];
+          "proc-macro" = [ "proc-macro2/proc-macro" "syn/proc-macro" "quote/proc-macro" ];
+        };
+        resolvedDefaultFeatures = [ "default" "proc-macro" ];
+      };
+      "thiserror" = rec {
+        crateName = "thiserror";
+        version = "1.0.30";
+        edition = "2018";
+        sha256 = "05y4wm29ck8flwq5k1q6nhwh00a3b30cz3xr0qvnbwad5vjsnjw5";
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "thiserror-impl";
+            packageId = "thiserror-impl";
+          }
+        ];
+
+      };
+      "thiserror-impl" = rec {
+        crateName = "thiserror-impl";
+        version = "1.0.30";
+        edition = "2018";
+        sha256 = "0jviwmvx6wzawsj6c9msic7h419wmsbjagl9dzhpydkzc8zzscma";
+        procMacro = true;
+        authors = [
+          "David Tolnay <dtolnay@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2";
+          }
+          {
+            name = "quote";
+            packageId = "quote";
+          }
+          {
+            name = "syn";
+            packageId = "syn";
+          }
+        ];
+
+      };
+      "time" = rec {
+        crateName = "time";
+        version = "0.3.7";
+        edition = "2018";
+        sha256 = "0gbmwlkj15dfhbqvxlzji1ffc1lidblpgg1q3b3378hgyfcbqk00";
+        authors = [
+          "Jacob Pratt <open-source@jhpratt.dev>"
+          "Time contributors"
+        ];
+        dependencies = [
+          {
+            name = "itoa";
+            packageId = "itoa";
+            optional = true;
+          }
+          {
+            name = "libc";
+            packageId = "libc";
+            target = { target, features }: (target."family" == "unix");
+          }
+          {
+            name = "num_threads";
+            packageId = "num_threads";
+            target = { target, features }: (target."family" == "unix");
+          }
+          {
+            name = "time-macros";
+            packageId = "time-macros";
+            optional = true;
+          }
+        ];
+        features = {
+          "default" = [ "std" ];
+          "formatting" = [ "itoa" "std" ];
+          "itoa" = [ "dep:itoa" ];
+          "large-dates" = [ "time-macros/large-dates" ];
+          "local-offset" = [ "std" ];
+          "macros" = [ "time-macros" ];
+          "quickcheck" = [ "quickcheck-dep" "alloc" ];
+          "quickcheck-dep" = [ "dep:quickcheck-dep" ];
+          "rand" = [ "dep:rand" ];
+          "serde" = [ "dep:serde" ];
+          "serde-human-readable" = [ "serde" "formatting" "parsing" ];
+          "serde-well-known" = [ "serde/alloc" "formatting" "parsing" ];
+          "std" = [ "alloc" ];
+          "time-macros" = [ "dep:time-macros" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "formatting" "itoa" "macros" "parsing" "std" "time-macros" ];
+      };
+      "time-macros" = rec {
+        crateName = "time-macros";
+        version = "0.2.3";
+        edition = "2018";
+        sha256 = "1mj7pv8y9j2csrh1l8aabras36pgysbnfy18330srh4g8sihrsr5";
+        procMacro = true;
+        authors = [
+          "Jacob Pratt <open-source@jhpratt.dev>"
+          "Time contributors"
+        ];
+        features = {
+        };
+      };
+      "typenum" = rec {
+        crateName = "typenum";
+        version = "1.15.0";
+        edition = "2018";
+        sha256 = "11yrvz1vd43gqv738yw1v75rzngjbs7iwcgzjy3cq5ywkv2imy6w";
+        build = "build/main.rs";
+        authors = [
+          "Paho Lurie-Gregg <paho@paholg.com>"
+          "Andre Bogus <bogusandre@gmail.com>"
+        ];
+        features = {
+          "scale-info" = [ "dep:scale-info" ];
+          "scale_info" = [ "scale-info/derive" ];
+        };
+      };
+      "unicode-xid" = rec {
+        crateName = "unicode-xid";
+        version = "0.2.2";
+        edition = "2015";
+        sha256 = "1wrkgcw557v311dkdb6n2hrix9dm2qdsb1zpw7pn79l03zb85jwc";
+        authors = [
+          "erick.tryzelaar <erick.tryzelaar@gmail.com>"
+          "kwantam <kwantam@gmail.com>"
+          "Manish Goregaokar <manishsmail@gmail.com>"
+        ];
+        features = {
+        };
+        resolvedDefaultFeatures = [ "default" ];
+      };
+      "untrusted" = rec {
+        crateName = "untrusted";
+        version = "0.7.1";
+        edition = "2018";
+        sha256 = "0jkbqaj9d3v5a91pp3wp9mffvng1nhycx6sh4qkdd9qyr62ccmm1";
+        libPath = "src/untrusted.rs";
+        authors = [
+          "Brian Smith <brian@briansmith.org>"
+        ];
+
+      };
+      "vcpkg" = rec {
+        crateName = "vcpkg";
+        version = "0.2.15";
+        edition = "2015";
+        sha256 = "09i4nf5y8lig6xgj3f7fyrvzd3nlaw4znrihw8psidvv5yk4xkdc";
+        authors = [
+          "Jim McGrath <jimmc2@gmail.com>"
+        ];
+
+      };
+      "version_check" = rec {
+        crateName = "version_check";
+        version = "0.9.4";
+        edition = "2015";
+        sha256 = "0gs8grwdlgh0xq660d7wr80x14vxbizmd8dbp29p2pdncx8lp1s9";
+        authors = [
+          "Sergio Benitez <sb@sergio.bz>"
+        ];
+
+      };
+      "wasi" = rec {
+        crateName = "wasi";
+        version = "0.10.2+wasi-snapshot-preview1";
+        edition = "2018";
+        sha256 = "1ii7nff4y1mpcrxzzvbpgxm7a1nn3szjf1n21jnx37c2g6dbsvzx";
+        authors = [
+          "The Cranelift Project Developers"
+        ];
+        features = {
+          "compiler_builtins" = [ "dep:compiler_builtins" ];
+          "core" = [ "dep:core" ];
+          "default" = [ "std" ];
+          "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ];
+          "rustc-std-workspace-alloc" = [ "dep:rustc-std-workspace-alloc" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" ];
+      };
+      "wasm-bindgen" = rec {
+        crateName = "wasm-bindgen";
+        version = "0.2.79";
+        edition = "2018";
+        sha256 = "01kc4lj2vlf0ra2w63izrgdlv8p6f8p15086hhyqln6q4dsazw95";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "cfg-if";
+            packageId = "cfg-if";
+          }
+          {
+            name = "wasm-bindgen-macro";
+            packageId = "wasm-bindgen-macro";
+          }
+        ];
+        features = {
+          "default" = [ "spans" "std" ];
+          "enable-interning" = [ "std" ];
+          "serde" = [ "dep:serde" ];
+          "serde-serialize" = [ "serde" "serde_json" "std" ];
+          "serde_json" = [ "dep:serde_json" ];
+          "spans" = [ "wasm-bindgen-macro/spans" ];
+          "strict-macro" = [ "wasm-bindgen-macro/strict-macro" ];
+          "xxx_debug_only_print_generated_code" = [ "wasm-bindgen-macro/xxx_debug_only_print_generated_code" ];
+        };
+        resolvedDefaultFeatures = [ "default" "spans" "std" ];
+      };
+      "wasm-bindgen-backend" = rec {
+        crateName = "wasm-bindgen-backend";
+        version = "0.2.79";
+        edition = "2018";
+        sha256 = "1jpdrl5jj01961jxhmvj7v25ws928fyfj8ms7izifnhg0ggw08cb";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "bumpalo";
+            packageId = "bumpalo";
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+          }
+          {
+            name = "log";
+            packageId = "log";
+          }
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2";
+          }
+          {
+            name = "quote";
+            packageId = "quote";
+          }
+          {
+            name = "syn";
+            packageId = "syn";
+            features = [ "full" ];
+          }
+          {
+            name = "wasm-bindgen-shared";
+            packageId = "wasm-bindgen-shared";
+          }
+        ];
+        features = {
+          "extra-traits" = [ "syn/extra-traits" ];
+        };
+        resolvedDefaultFeatures = [ "spans" ];
+      };
+      "wasm-bindgen-macro" = rec {
+        crateName = "wasm-bindgen-macro";
+        version = "0.2.79";
+        edition = "2018";
+        sha256 = "00gdh0dlf2r77mxwh08q0z01vz2z7mvrllmj4gjjx9a0kvb06hig";
+        procMacro = true;
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "quote";
+            packageId = "quote";
+          }
+          {
+            name = "wasm-bindgen-macro-support";
+            packageId = "wasm-bindgen-macro-support";
+          }
+        ];
+        features = {
+          "spans" = [ "wasm-bindgen-macro-support/spans" ];
+          "strict-macro" = [ "wasm-bindgen-macro-support/strict-macro" ];
+        };
+        resolvedDefaultFeatures = [ "spans" ];
+      };
+      "wasm-bindgen-macro-support" = rec {
+        crateName = "wasm-bindgen-macro-support";
+        version = "0.2.79";
+        edition = "2018";
+        sha256 = "1g1fjqvrkrf3j20z8nxsf60cypxg9dfvpbachl2b53908q6s7a5z";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2";
+          }
+          {
+            name = "quote";
+            packageId = "quote";
+          }
+          {
+            name = "syn";
+            packageId = "syn";
+            features = [ "visit" "full" ];
+          }
+          {
+            name = "wasm-bindgen-backend";
+            packageId = "wasm-bindgen-backend";
+          }
+          {
+            name = "wasm-bindgen-shared";
+            packageId = "wasm-bindgen-shared";
+          }
+        ];
+        features = {
+          "extra-traits" = [ "syn/extra-traits" ];
+          "spans" = [ "wasm-bindgen-backend/spans" ];
+        };
+        resolvedDefaultFeatures = [ "spans" ];
+      };
+      "wasm-bindgen-shared" = rec {
+        crateName = "wasm-bindgen-shared";
+        version = "0.2.79";
+        edition = "2018";
+        sha256 = "18h67l9b9jn06iw9r2p7bh9i0brh24lilcp4f26f4f24bh1qv59x";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+
+      };
+      "web-sys" = rec {
+        crateName = "web-sys";
+        version = "0.3.56";
+        edition = "2018";
+        sha256 = "1sxqmwq773ss5m6vz7z95fdm6bqlix0s2awsy0j5gllxy8cv6q60";
+        authors = [
+          "The wasm-bindgen Developers"
+        ];
+        dependencies = [
+          {
+            name = "js-sys";
+            packageId = "js-sys";
+          }
+          {
+            name = "wasm-bindgen";
+            packageId = "wasm-bindgen";
+          }
+        ];
+        features = {
+          "AbortSignal" = [ "EventTarget" ];
+          "AnalyserNode" = [ "AudioNode" "EventTarget" ];
+          "Animation" = [ "EventTarget" ];
+          "AnimationEvent" = [ "Event" ];
+          "AnimationPlaybackEvent" = [ "Event" ];
+          "Attr" = [ "EventTarget" "Node" ];
+          "AudioBufferSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
+          "AudioContext" = [ "BaseAudioContext" "EventTarget" ];
+          "AudioDestinationNode" = [ "AudioNode" "EventTarget" ];
+          "AudioNode" = [ "EventTarget" ];
+          "AudioProcessingEvent" = [ "Event" ];
+          "AudioScheduledSourceNode" = [ "AudioNode" "EventTarget" ];
+          "AudioStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
+          "AudioTrackList" = [ "EventTarget" ];
+          "AudioWorklet" = [ "Worklet" ];
+          "AudioWorkletGlobalScope" = [ "WorkletGlobalScope" ];
+          "AudioWorkletNode" = [ "AudioNode" "EventTarget" ];
+          "AuthenticatorAssertionResponse" = [ "AuthenticatorResponse" ];
+          "AuthenticatorAttestationResponse" = [ "AuthenticatorResponse" ];
+          "BaseAudioContext" = [ "EventTarget" ];
+          "BatteryManager" = [ "EventTarget" ];
+          "BeforeUnloadEvent" = [ "Event" ];
+          "BiquadFilterNode" = [ "AudioNode" "EventTarget" ];
+          "BlobEvent" = [ "Event" ];
+          "Bluetooth" = [ "EventTarget" ];
+          "BluetoothAdvertisingEvent" = [ "Event" ];
+          "BluetoothDevice" = [ "EventTarget" ];
+          "BluetoothPermissionResult" = [ "EventTarget" "PermissionStatus" ];
+          "BluetoothRemoteGattCharacteristic" = [ "EventTarget" ];
+          "BluetoothRemoteGattService" = [ "EventTarget" ];
+          "BroadcastChannel" = [ "EventTarget" ];
+          "CanvasCaptureMediaStream" = [ "EventTarget" "MediaStream" ];
+          "CdataSection" = [ "CharacterData" "EventTarget" "Node" "Text" ];
+          "ChannelMergerNode" = [ "AudioNode" "EventTarget" ];
+          "ChannelSplitterNode" = [ "AudioNode" "EventTarget" ];
+          "CharacterData" = [ "EventTarget" "Node" ];
+          "ChromeWorker" = [ "EventTarget" "Worker" ];
+          "Clipboard" = [ "EventTarget" ];
+          "ClipboardEvent" = [ "Event" ];
+          "CloseEvent" = [ "Event" ];
+          "Comment" = [ "CharacterData" "EventTarget" "Node" ];
+          "CompositionEvent" = [ "Event" "UiEvent" ];
+          "ConstantSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
+          "ConvolverNode" = [ "AudioNode" "EventTarget" ];
+          "CssAnimation" = [ "Animation" "EventTarget" ];
+          "CssConditionRule" = [ "CssGroupingRule" "CssRule" ];
+          "CssCounterStyleRule" = [ "CssRule" ];
+          "CssFontFaceRule" = [ "CssRule" ];
+          "CssFontFeatureValuesRule" = [ "CssRule" ];
+          "CssGroupingRule" = [ "CssRule" ];
+          "CssImportRule" = [ "CssRule" ];
+          "CssKeyframeRule" = [ "CssRule" ];
+          "CssKeyframesRule" = [ "CssRule" ];
+          "CssMediaRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
+          "CssNamespaceRule" = [ "CssRule" ];
+          "CssPageRule" = [ "CssRule" ];
+          "CssStyleRule" = [ "CssRule" ];
+          "CssStyleSheet" = [ "StyleSheet" ];
+          "CssSupportsRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
+          "CssTransition" = [ "Animation" "EventTarget" ];
+          "CustomEvent" = [ "Event" ];
+          "DedicatedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
+          "DelayNode" = [ "AudioNode" "EventTarget" ];
+          "DeviceLightEvent" = [ "Event" ];
+          "DeviceMotionEvent" = [ "Event" ];
+          "DeviceOrientationEvent" = [ "Event" ];
+          "DeviceProximityEvent" = [ "Event" ];
+          "Document" = [ "EventTarget" "Node" ];
+          "DocumentFragment" = [ "EventTarget" "Node" ];
+          "DocumentTimeline" = [ "AnimationTimeline" ];
+          "DocumentType" = [ "EventTarget" "Node" ];
+          "DomMatrix" = [ "DomMatrixReadOnly" ];
+          "DomPoint" = [ "DomPointReadOnly" ];
+          "DomRect" = [ "DomRectReadOnly" ];
+          "DomRequest" = [ "EventTarget" ];
+          "DragEvent" = [ "Event" "MouseEvent" "UiEvent" ];
+          "DynamicsCompressorNode" = [ "AudioNode" "EventTarget" ];
+          "Element" = [ "EventTarget" "Node" ];
+          "ErrorEvent" = [ "Event" ];
+          "EventSource" = [ "EventTarget" ];
+          "ExtendableEvent" = [ "Event" ];
+          "ExtendableMessageEvent" = [ "Event" "ExtendableEvent" ];
+          "FetchEvent" = [ "Event" "ExtendableEvent" ];
+          "FetchObserver" = [ "EventTarget" ];
+          "File" = [ "Blob" ];
+          "FileReader" = [ "EventTarget" ];
+          "FileSystemDirectoryEntry" = [ "FileSystemEntry" ];
+          "FileSystemFileEntry" = [ "FileSystemEntry" ];
+          "FocusEvent" = [ "Event" "UiEvent" ];
+          "FontFaceSet" = [ "EventTarget" ];
+          "FontFaceSetLoadEvent" = [ "Event" ];
+          "GainNode" = [ "AudioNode" "EventTarget" ];
+          "GamepadAxisMoveEvent" = [ "Event" "GamepadEvent" ];
+          "GamepadButtonEvent" = [ "Event" "GamepadEvent" ];
+          "GamepadEvent" = [ "Event" ];
+          "GpuDevice" = [ "EventTarget" ];
+          "GpuUncapturedErrorEvent" = [ "Event" ];
+          "HashChangeEvent" = [ "Event" ];
+          "Hid" = [ "EventTarget" ];
+          "HidConnectionEvent" = [ "Event" ];
+          "HidDevice" = [ "EventTarget" ];
+          "HidInputReportEvent" = [ "Event" ];
+          "HtmlAnchorElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlAudioElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
+          "HtmlBaseElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlBodyElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlBrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlButtonElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlCanvasElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDataElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDataListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDetailsElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDialogElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDirectoryElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDivElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlDocument" = [ "Document" "EventTarget" "Node" ];
+          "HtmlElement" = [ "Element" "EventTarget" "Node" ];
+          "HtmlEmbedElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlFieldSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlFontElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlFormControlsCollection" = [ "HtmlCollection" ];
+          "HtmlFormElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlFrameSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlHeadElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlHeadingElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlHrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlHtmlElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlIFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlImageElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlInputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlLabelElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlLegendElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlLiElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlLinkElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlMapElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlMediaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlMenuElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlMenuItemElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlMetaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlMeterElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlModElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlOListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlObjectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlOptGroupElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlOptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlOptionsCollection" = [ "HtmlCollection" ];
+          "HtmlOutputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlParagraphElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlParamElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlPictureElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlPreElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlProgressElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlQuoteElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlScriptElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlSelectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlSlotElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlSourceElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlSpanElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlStyleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTableCaptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTableCellElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTableColElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTableElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTableRowElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTableSectionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTemplateElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTextAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTimeElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTitleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlTrackElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlUListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlUnknownElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
+          "HtmlVideoElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
+          "IdbCursorWithValue" = [ "IdbCursor" ];
+          "IdbDatabase" = [ "EventTarget" ];
+          "IdbFileHandle" = [ "EventTarget" ];
+          "IdbFileRequest" = [ "DomRequest" "EventTarget" ];
+          "IdbLocaleAwareKeyRange" = [ "IdbKeyRange" ];
+          "IdbMutableFile" = [ "EventTarget" ];
+          "IdbOpenDbRequest" = [ "EventTarget" "IdbRequest" ];
+          "IdbRequest" = [ "EventTarget" ];
+          "IdbTransaction" = [ "EventTarget" ];
+          "IdbVersionChangeEvent" = [ "Event" ];
+          "IirFilterNode" = [ "AudioNode" "EventTarget" ];
+          "ImageCaptureErrorEvent" = [ "Event" ];
+          "InputEvent" = [ "Event" "UiEvent" ];
+          "KeyboardEvent" = [ "Event" "UiEvent" ];
+          "KeyframeEffect" = [ "AnimationEffect" ];
+          "LocalMediaStream" = [ "EventTarget" "MediaStream" ];
+          "MediaDevices" = [ "EventTarget" ];
+          "MediaElementAudioSourceNode" = [ "AudioNode" "EventTarget" ];
+          "MediaEncryptedEvent" = [ "Event" ];
+          "MediaKeyError" = [ "Event" ];
+          "MediaKeyMessageEvent" = [ "Event" ];
+          "MediaKeySession" = [ "EventTarget" ];
+          "MediaQueryList" = [ "EventTarget" ];
+          "MediaQueryListEvent" = [ "Event" ];
+          "MediaRecorder" = [ "EventTarget" ];
+          "MediaRecorderErrorEvent" = [ "Event" ];
+          "MediaSource" = [ "EventTarget" ];
+          "MediaStream" = [ "EventTarget" ];
+          "MediaStreamAudioDestinationNode" = [ "AudioNode" "EventTarget" ];
+          "MediaStreamAudioSourceNode" = [ "AudioNode" "EventTarget" ];
+          "MediaStreamEvent" = [ "Event" ];
+          "MediaStreamTrack" = [ "EventTarget" ];
+          "MediaStreamTrackEvent" = [ "Event" ];
+          "MessageEvent" = [ "Event" ];
+          "MessagePort" = [ "EventTarget" ];
+          "MidiAccess" = [ "EventTarget" ];
+          "MidiConnectionEvent" = [ "Event" ];
+          "MidiInput" = [ "EventTarget" "MidiPort" ];
+          "MidiMessageEvent" = [ "Event" ];
+          "MidiOutput" = [ "EventTarget" "MidiPort" ];
+          "MidiPort" = [ "EventTarget" ];
+          "MouseEvent" = [ "Event" "UiEvent" ];
+          "MouseScrollEvent" = [ "Event" "MouseEvent" "UiEvent" ];
+          "MutationEvent" = [ "Event" ];
+          "NetworkInformation" = [ "EventTarget" ];
+          "Node" = [ "EventTarget" ];
+          "Notification" = [ "EventTarget" ];
+          "NotificationEvent" = [ "Event" "ExtendableEvent" ];
+          "OfflineAudioCompletionEvent" = [ "Event" ];
+          "OfflineAudioContext" = [ "BaseAudioContext" "EventTarget" ];
+          "OfflineResourceList" = [ "EventTarget" ];
+          "OffscreenCanvas" = [ "EventTarget" ];
+          "OscillatorNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
+          "PageTransitionEvent" = [ "Event" ];
+          "PaintWorkletGlobalScope" = [ "WorkletGlobalScope" ];
+          "PannerNode" = [ "AudioNode" "EventTarget" ];
+          "PaymentMethodChangeEvent" = [ "Event" "PaymentRequestUpdateEvent" ];
+          "PaymentRequestUpdateEvent" = [ "Event" ];
+          "Performance" = [ "EventTarget" ];
+          "PerformanceMark" = [ "PerformanceEntry" ];
+          "PerformanceMeasure" = [ "PerformanceEntry" ];
+          "PerformanceNavigationTiming" = [ "PerformanceEntry" "PerformanceResourceTiming" ];
+          "PerformanceResourceTiming" = [ "PerformanceEntry" ];
+          "PermissionStatus" = [ "EventTarget" ];
+          "PointerEvent" = [ "Event" "MouseEvent" "UiEvent" ];
+          "PopStateEvent" = [ "Event" ];
+          "PopupBlockedEvent" = [ "Event" ];
+          "PresentationAvailability" = [ "EventTarget" ];
+          "PresentationConnection" = [ "EventTarget" ];
+          "PresentationConnectionAvailableEvent" = [ "Event" ];
+          "PresentationConnectionCloseEvent" = [ "Event" ];
+          "PresentationConnectionList" = [ "EventTarget" ];
+          "PresentationRequest" = [ "EventTarget" ];
+          "ProcessingInstruction" = [ "CharacterData" "EventTarget" "Node" ];
+          "ProgressEvent" = [ "Event" ];
+          "PromiseRejectionEvent" = [ "Event" ];
+          "PublicKeyCredential" = [ "Credential" ];
+          "PushEvent" = [ "Event" "ExtendableEvent" ];
+          "RadioNodeList" = [ "NodeList" ];
+          "RtcDataChannel" = [ "EventTarget" ];
+          "RtcDataChannelEvent" = [ "Event" ];
+          "RtcPeerConnection" = [ "EventTarget" ];
+          "RtcPeerConnectionIceEvent" = [ "Event" ];
+          "RtcTrackEvent" = [ "Event" ];
+          "RtcdtmfSender" = [ "EventTarget" ];
+          "RtcdtmfToneChangeEvent" = [ "Event" ];
+          "Screen" = [ "EventTarget" ];
+          "ScreenOrientation" = [ "EventTarget" ];
+          "ScriptProcessorNode" = [ "AudioNode" "EventTarget" ];
+          "ScrollAreaEvent" = [ "Event" "UiEvent" ];
+          "SecurityPolicyViolationEvent" = [ "Event" ];
+          "ServiceWorker" = [ "EventTarget" ];
+          "ServiceWorkerContainer" = [ "EventTarget" ];
+          "ServiceWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
+          "ServiceWorkerRegistration" = [ "EventTarget" ];
+          "ShadowRoot" = [ "DocumentFragment" "EventTarget" "Node" ];
+          "SharedWorker" = [ "EventTarget" ];
+          "SharedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
+          "SourceBuffer" = [ "EventTarget" ];
+          "SourceBufferList" = [ "EventTarget" ];
+          "SpeechRecognition" = [ "EventTarget" ];
+          "SpeechRecognitionError" = [ "Event" ];
+          "SpeechRecognitionEvent" = [ "Event" ];
+          "SpeechSynthesis" = [ "EventTarget" ];
+          "SpeechSynthesisErrorEvent" = [ "Event" "SpeechSynthesisEvent" ];
+          "SpeechSynthesisEvent" = [ "Event" ];
+          "SpeechSynthesisUtterance" = [ "EventTarget" ];
+          "StereoPannerNode" = [ "AudioNode" "EventTarget" ];
+          "StorageEvent" = [ "Event" ];
+          "SvgAnimateElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
+          "SvgAnimateMotionElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
+          "SvgAnimateTransformElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
+          "SvgAnimationElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgCircleElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgClipPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgComponentTransferFunctionElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgDefsElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgDescElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgElement" = [ "Element" "EventTarget" "Node" ];
+          "SvgEllipseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgFilterElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgForeignObjectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgGeometryElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgGraphicsElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgLineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgLinearGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
+          "SvgMarkerElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgMaskElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgMetadataElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgPathSegArcAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegArcRel" = [ "SvgPathSeg" ];
+          "SvgPathSegClosePath" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoCubicAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoCubicRel" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoCubicSmoothAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoCubicSmoothRel" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoQuadraticAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoQuadraticRel" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoQuadraticSmoothAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegCurvetoQuadraticSmoothRel" = [ "SvgPathSeg" ];
+          "SvgPathSegLinetoAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegLinetoHorizontalAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegLinetoHorizontalRel" = [ "SvgPathSeg" ];
+          "SvgPathSegLinetoRel" = [ "SvgPathSeg" ];
+          "SvgPathSegLinetoVerticalAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegLinetoVerticalRel" = [ "SvgPathSeg" ];
+          "SvgPathSegMovetoAbs" = [ "SvgPathSeg" ];
+          "SvgPathSegMovetoRel" = [ "SvgPathSeg" ];
+          "SvgPatternElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgPolygonElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgPolylineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgRadialGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
+          "SvgRectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
+          "SvgScriptElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgSetElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
+          "SvgStopElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgStyleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgSwitchElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgSymbolElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgTextContentElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgTextElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
+          "SvgTextPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
+          "SvgTextPositioningElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
+          "SvgTitleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgUseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgViewElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgaElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgfeBlendElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeColorMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeComponentTransferElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeCompositeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeConvolveMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeDiffuseLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeDisplacementMapElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeDistantLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeDropShadowElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeFloodElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeFuncAElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
+          "SvgfeFuncBElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
+          "SvgfeFuncGElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
+          "SvgfeFuncRElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
+          "SvgfeGaussianBlurElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeMergeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeMergeNodeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeMorphologyElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeOffsetElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfePointLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeSpecularLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeSpotLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeTileElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgfeTurbulenceElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvggElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgmPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
+          "SvgsvgElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
+          "SvgtSpanElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
+          "TcpServerSocket" = [ "EventTarget" ];
+          "TcpServerSocketEvent" = [ "Event" ];
+          "TcpSocket" = [ "EventTarget" ];
+          "TcpSocketErrorEvent" = [ "Event" ];
+          "TcpSocketEvent" = [ "Event" ];
+          "Text" = [ "CharacterData" "EventTarget" "Node" ];
+          "TextTrack" = [ "EventTarget" ];
+          "TextTrackCue" = [ "EventTarget" ];
+          "TextTrackList" = [ "EventTarget" ];
+          "TimeEvent" = [ "Event" ];
+          "TouchEvent" = [ "Event" "UiEvent" ];
+          "TrackEvent" = [ "Event" ];
+          "TransitionEvent" = [ "Event" ];
+          "UiEvent" = [ "Event" ];
+          "Usb" = [ "EventTarget" ];
+          "UsbConnectionEvent" = [ "Event" ];
+          "UsbPermissionResult" = [ "EventTarget" "PermissionStatus" ];
+          "UserProximityEvent" = [ "Event" ];
+          "ValueEvent" = [ "Event" ];
+          "VideoStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
+          "VideoTrackList" = [ "EventTarget" ];
+          "VrDisplay" = [ "EventTarget" ];
+          "VttCue" = [ "EventTarget" "TextTrackCue" ];
+          "WakeLockSentinel" = [ "EventTarget" ];
+          "WaveShaperNode" = [ "AudioNode" "EventTarget" ];
+          "WebGlContextEvent" = [ "Event" ];
+          "WebKitCssMatrix" = [ "DomMatrix" "DomMatrixReadOnly" ];
+          "WebSocket" = [ "EventTarget" ];
+          "WheelEvent" = [ "Event" "MouseEvent" "UiEvent" ];
+          "Window" = [ "EventTarget" ];
+          "WindowClient" = [ "Client" ];
+          "Worker" = [ "EventTarget" ];
+          "WorkerDebuggerGlobalScope" = [ "EventTarget" ];
+          "WorkerGlobalScope" = [ "EventTarget" ];
+          "XmlDocument" = [ "Document" "EventTarget" "Node" ];
+          "XmlHttpRequest" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
+          "XmlHttpRequestEventTarget" = [ "EventTarget" ];
+          "XmlHttpRequestUpload" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
+          "Xr" = [ "EventTarget" ];
+          "XrBoundedReferenceSpace" = [ "EventTarget" "XrReferenceSpace" "XrSpace" ];
+          "XrInputSourceEvent" = [ "Event" ];
+          "XrInputSourcesChangeEvent" = [ "Event" ];
+          "XrReferenceSpace" = [ "EventTarget" "XrSpace" ];
+          "XrReferenceSpaceEvent" = [ "Event" ];
+          "XrSession" = [ "EventTarget" ];
+          "XrSessionEvent" = [ "Event" ];
+          "XrSpace" = [ "EventTarget" ];
+          "XrViewerPose" = [ "XrPose" ];
+        };
+        resolvedDefaultFeatures = [ "Crypto" "EventTarget" "Window" ];
+      };
+      "webpki" = rec {
+        crateName = "webpki";
+        version = "0.22.0";
+        edition = "2018";
+        sha256 = "1gd1gxip5kgdwmrvhj5gjxij2mgg2mavq1ych4q1h272ja0xg5gh";
+        authors = [
+          "Brian Smith <brian@briansmith.org>"
+        ];
+        dependencies = [
+          {
+            name = "ring";
+            packageId = "ring";
+            usesDefaultFeatures = false;
+          }
+          {
+            name = "untrusted";
+            packageId = "untrusted";
+          }
+        ];
+        features = {
+          "alloc" = [ "ring/alloc" ];
+          "std" = [ "alloc" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "std" ];
+      };
+      "winapi" = rec {
+        crateName = "winapi";
+        version = "0.3.9";
+        edition = "2015";
+        sha256 = "06gl025x418lchw1wxj64ycr7gha83m44cjr5sarhynd9xkrm0sw";
+        authors = [
+          "Peter Atashian <retep998@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "winapi-i686-pc-windows-gnu";
+            packageId = "winapi-i686-pc-windows-gnu";
+            target = { target, features }: (stdenv.hostPlatform.config == "i686-pc-windows-gnu");
+          }
+          {
+            name = "winapi-x86_64-pc-windows-gnu";
+            packageId = "winapi-x86_64-pc-windows-gnu";
+            target = { target, features }: (stdenv.hostPlatform.config == "x86_64-pc-windows-gnu");
+          }
+        ];
+        features = {
+          "debug" = [ "impl-debug" ];
+        };
+        resolvedDefaultFeatures = [ "ntsecapi" "wtypesbase" ];
+      };
+      "winapi-i686-pc-windows-gnu" = rec {
+        crateName = "winapi-i686-pc-windows-gnu";
+        version = "0.4.0";
+        edition = "2015";
+        sha256 = "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc";
+        authors = [
+          "Peter Atashian <retep998@gmail.com>"
+        ];
+
+      };
+      "winapi-x86_64-pc-windows-gnu" = rec {
+        crateName = "winapi-x86_64-pc-windows-gnu";
+        version = "0.4.0";
+        edition = "2015";
+        sha256 = "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki";
+        authors = [
+          "Peter Atashian <retep998@gmail.com>"
+        ];
+
+      };
+      "x509-parser" = rec {
+        crateName = "x509-parser";
+        version = "0.13.0";
+        edition = "2018";
+        sha256 = "0f3fqbv92q3a3s51md94sw3vgzs934agl4ii5a6ym364mkdlpwg5";
+        authors = [
+          "Pierre Chifflier <chifflier@wzdftpd.net>"
+        ];
+        dependencies = [
+          {
+            name = "asn1-rs";
+            packageId = "asn1-rs";
+            features = [ "datetime" ];
+          }
+          {
+            name = "base64";
+            packageId = "base64";
+          }
+          {
+            name = "data-encoding";
+            packageId = "data-encoding";
+          }
+          {
+            name = "der-parser";
+            packageId = "der-parser";
+            features = [ "bigint" ];
+          }
+          {
+            name = "lazy_static";
+            packageId = "lazy_static";
+          }
+          {
+            name = "nom";
+            packageId = "nom";
+          }
+          {
+            name = "oid-registry";
+            packageId = "oid-registry";
+            features = [ "crypto" "x509" ];
+          }
+          {
+            name = "ring";
+            packageId = "ring";
+            optional = true;
+          }
+          {
+            name = "rusticata-macros";
+            packageId = "rusticata-macros";
+          }
+          {
+            name = "thiserror";
+            packageId = "thiserror";
+          }
+          {
+            name = "time";
+            packageId = "time";
+            features = [ "formatting" ];
+          }
+        ];
+        features = {
+          "ring" = [ "dep:ring" ];
+          "verify" = [ "ring" ];
+        };
+        resolvedDefaultFeatures = [ "default" "ring" "verify" ];
+      };
+      "yasna" = rec {
+        crateName = "yasna";
+        version = "0.5.0";
+        edition = "2018";
+        sha256 = "0k1gk11hq4rwlppv9f50bz8bnmgr73r66idpp7rybly96si38v9l";
+        authors = [
+          "Masaki Hara <ackie.h.gmai@gmail.com>"
+        ];
+        dependencies = [
+          {
+            name = "time";
+            packageId = "time";
+            optional = true;
+            usesDefaultFeatures = false;
+            features = [ "std" ];
+          }
+        ];
+        features = {
+          "bit-vec" = [ "dep:bit-vec" ];
+          "num-bigint" = [ "dep:num-bigint" ];
+          "time" = [ "dep:time" ];
+        };
+        resolvedDefaultFeatures = [ "default" "std" "time" ];
+      };
+      "zeroize" = rec {
+        crateName = "zeroize";
+        version = "1.4.3";
+        edition = "2018";
+        sha256 = "068nvl3n5hk6lfn5y24grf2c7anzzqfzjjccscq3md7rqp79v3fn";
+        authors = [
+          "The RustCrypto Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "zeroize_derive";
+            packageId = "zeroize_derive";
+            optional = true;
+          }
+        ];
+        features = {
+          "default" = [ "alloc" ];
+          "zeroize_derive" = [ "dep:zeroize_derive" ];
+        };
+        resolvedDefaultFeatures = [ "alloc" "default" "zeroize_derive" ];
+      };
+      "zeroize_derive" = rec {
+        crateName = "zeroize_derive";
+        version = "1.3.1";
+        edition = "2018";
+        sha256 = "1nzdqyryjnqcrqz0vhddpkd8sybhn0bd8rbd6l33rdhhxwzz3s41";
+        procMacro = true;
+        authors = [
+          "The RustCrypto Project Developers"
+        ];
+        dependencies = [
+          {
+            name = "proc-macro2";
+            packageId = "proc-macro2";
+          }
+          {
+            name = "quote";
+            packageId = "quote";
+          }
+          {
+            name = "syn";
+            packageId = "syn";
+          }
+          {
+            name = "synstructure";
+            packageId = "synstructure";
+          }
+        ];
+
+      };
+    };
+
+    #
+# crate2nix/default.nix (excerpt start)
+#
+
+  /* Target (platform) data for conditional dependencies.
+    This corresponds roughly to what buildRustCrate is setting.
+  */
+  defaultTarget = {
+    unix = true;
+    windows = false;
+    fuchsia = true;
+    test = false;
+
+    # This doesn't appear to be officially documented anywhere yet.
+    # See https://github.com/rust-lang-nursery/rust-forge/issues/101.
+    os =
+      if stdenv.hostPlatform.isDarwin
+      then "macos"
+      else stdenv.hostPlatform.parsed.kernel.name;
+    arch = stdenv.hostPlatform.parsed.cpu.name;
+    family = "unix";
+    env = "gnu";
+    endian =
+      if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian"
+      then "little" else "big";
+    pointer_width = toString stdenv.hostPlatform.parsed.cpu.bits;
+    vendor = stdenv.hostPlatform.parsed.vendor.name;
+    debug_assertions = false;
+  };
+
+  /* Filters common temp files and build files. */
+  # TODO(pkolloch): Substitute with gitignore filter
+  sourceFilter = name: type:
+    let
+      baseName = builtins.baseNameOf (builtins.toString name);
+    in
+      ! (
+        # Filter out git
+        baseName == ".gitignore"
+        || (type == "directory" && baseName == ".git")
+
+        # Filter out build results
+        || (
+          type == "directory" && (
+            baseName == "target"
+            || baseName == "_site"
+            || baseName == ".sass-cache"
+            || baseName == ".jekyll-metadata"
+            || baseName == "build-artifacts"
+          )
+        )
+
+        # Filter out nix-build result symlinks
+        || (
+          type == "symlink" && lib.hasPrefix "result" baseName
+        )
+
+        # Filter out IDE config
+        || (
+          type == "directory" && (
+            baseName == ".idea" || baseName == ".vscode"
+          )
+        ) || lib.hasSuffix ".iml" baseName
+
+        # Filter out nix build files
+        || baseName == "Cargo.nix"
+
+        # Filter out editor backup / swap files.
+        || lib.hasSuffix "~" baseName
+        || builtins.match "^\\.sw[a-z]$$" baseName != null
+        || builtins.match "^\\..*\\.sw[a-z]$$" baseName != null
+        || lib.hasSuffix ".tmp" baseName
+        || lib.hasSuffix ".bak" baseName
+        || baseName == "tests.nix"
+      );
+
+  /* Returns a crate which depends on successful test execution
+    of crate given as the second argument.
+
+    testCrateFlags: list of flags to pass to the test exectuable
+    testInputs: list of packages that should be available during test execution
+  */
+  crateWithTest = { crate, testCrate, testCrateFlags, testInputs, testPreRun, testPostRun }:
+    assert builtins.typeOf testCrateFlags == "list";
+    assert builtins.typeOf testInputs == "list";
+    assert builtins.typeOf testPreRun == "string";
+    assert builtins.typeOf testPostRun == "string";
+    let
+      # override the `crate` so that it will build and execute tests instead of
+      # building the actual lib and bin targets We just have to pass `--test`
+      # to rustc and it will do the right thing.  We execute the tests and copy
+      # their log and the test executables to $out for later inspection.
+      test =
+        let
+          drv = testCrate.override
+            (
+              _: {
+                buildTests = true;
+              }
+            );
+          # If the user hasn't set any pre/post commands, we don't want to
+          # insert empty lines. This means that any existing users of crate2nix
+          # don't get a spurious rebuild unless they set these explicitly.
+          testCommand = pkgs.lib.concatStringsSep "\n"
+            (pkgs.lib.filter (s: s != "") [
+              testPreRun
+              "$f $testCrateFlags 2>&1 | tee -a $out"
+              testPostRun
+            ]);
+        in
+        pkgs.runCommand "run-tests-${testCrate.name}"
+          {
+            inherit testCrateFlags;
+            buildInputs = testInputs;
+          } ''
+          set -ex
+
+          export RUST_BACKTRACE=1
+
+          # recreate a file hierarchy as when running tests with cargo
+
+          # the source for test data
+          ${pkgs.xorg.lndir}/bin/lndir ${crate.src}
+
+          # build outputs
+          testRoot=target/debug
+          mkdir -p $testRoot
+
+          # executables of the crate
+          # we copy to prevent std::env::current_exe() to resolve to a store location
+          for i in ${crate}/bin/*; do
+            cp "$i" "$testRoot"
+          done
+          chmod +w -R .
+
+          # test harness executables are suffixed with a hash, like cargo does
+          # this allows to prevent name collision with the main
+          # executables of the crate
+          hash=$(basename $out)
+          for file in ${drv}/tests/*; do
+            f=$testRoot/$(basename $file)-$hash
+            cp $file $f
+            ${testCommand}
+          done
+        '';
+    in
+    pkgs.runCommand "${crate.name}-linked"
+      {
+        inherit (crate) outputs crateName;
+        passthru = (crate.passthru or { }) // {
+          inherit test;
+        };
+      } ''
+      echo tested by ${test}
+      ${lib.concatMapStringsSep "\n" (output: "ln -s ${crate.${output}} ${"$"}${output}") crate.outputs}
+    '';
+
+  /* A restricted overridable version of builtRustCratesWithFeatures. */
+  buildRustCrateWithFeatures =
+    { packageId
+    , features ? rootFeatures
+    , crateOverrides ? defaultCrateOverrides
+    , buildRustCrateForPkgsFunc ? null
+    , runTests ? false
+    , testCrateFlags ? [ ]
+    , testInputs ? [ ]
+      # Any command to run immediatelly before a test is executed.
+    , testPreRun ? ""
+      # Any command run immediatelly after a test is executed.
+    , testPostRun ? ""
+    }:
+    lib.makeOverridable
+      (
+        { features
+        , crateOverrides
+        , runTests
+        , testCrateFlags
+        , testInputs
+        , testPreRun
+        , testPostRun
+        }:
+        let
+          buildRustCrateForPkgsFuncOverriden =
+            if buildRustCrateForPkgsFunc != null
+            then buildRustCrateForPkgsFunc
+            else
+              (
+                if crateOverrides == pkgs.defaultCrateOverrides
+                then buildRustCrateForPkgs
+                else
+                  pkgs: (buildRustCrateForPkgs pkgs).override {
+                    defaultCrateOverrides = crateOverrides;
+                  }
+              );
+          builtRustCrates = builtRustCratesWithFeatures {
+            inherit packageId features;
+            buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden;
+            runTests = false;
+          };
+          builtTestRustCrates = builtRustCratesWithFeatures {
+            inherit packageId features;
+            buildRustCrateForPkgsFunc = buildRustCrateForPkgsFuncOverriden;
+            runTests = true;
+          };
+          drv = builtRustCrates.crates.${packageId};
+          testDrv = builtTestRustCrates.crates.${packageId};
+          derivation =
+            if runTests then
+              crateWithTest
+                {
+                  crate = drv;
+                  testCrate = testDrv;
+                  inherit testCrateFlags testInputs testPreRun testPostRun;
+                }
+            else drv;
+        in
+        derivation
+      )
+      { inherit features crateOverrides runTests testCrateFlags testInputs testPreRun testPostRun; };
+
+  /* Returns an attr set with packageId mapped to the result of buildRustCrateForPkgsFunc
+    for the corresponding crate.
+  */
+  builtRustCratesWithFeatures =
+    { packageId
+    , features
+    , crateConfigs ? crates
+    , buildRustCrateForPkgsFunc
+    , runTests
+    , target ? defaultTarget
+    } @ args:
+      assert (builtins.isAttrs crateConfigs);
+      assert (builtins.isString packageId);
+      assert (builtins.isList features);
+      assert (builtins.isAttrs target);
+      assert (builtins.isBool runTests);
+      let
+        rootPackageId = packageId;
+        mergedFeatures = mergePackageFeatures
+          (
+            args // {
+              inherit rootPackageId;
+              target = target // { test = runTests; };
+            }
+          );
+        # Memoize built packages so that reappearing packages are only built once.
+        builtByPackageIdByPkgs = mkBuiltByPackageIdByPkgs pkgs;
+        mkBuiltByPackageIdByPkgs = pkgs:
+          let
+            self = {
+              crates = lib.mapAttrs (packageId: value: buildByPackageIdForPkgsImpl self pkgs packageId) crateConfigs;
+              build = mkBuiltByPackageIdByPkgs pkgs.buildPackages;
+            };
+          in
+          self;
+        buildByPackageIdForPkgsImpl = self: pkgs: packageId:
+          let
+            features = mergedFeatures."${packageId}" or [ ];
+            crateConfig' = crateConfigs."${packageId}";
+            crateConfig =
+              builtins.removeAttrs crateConfig' [ "resolvedDefaultFeatures" "devDependencies" ];
+            devDependencies =
+              lib.optionals
+                (runTests && packageId == rootPackageId)
+                (crateConfig'.devDependencies or [ ]);
+            dependencies =
+              dependencyDerivations {
+                inherit features target;
+                buildByPackageId = depPackageId:
+                  # proc_macro crates must be compiled for the build architecture
+                  if crateConfigs.${depPackageId}.procMacro or false
+                  then self.build.crates.${depPackageId}
+                  else self.crates.${depPackageId};
+                dependencies =
+                  (crateConfig.dependencies or [ ])
+                  ++ devDependencies;
+              };
+            buildDependencies =
+              dependencyDerivations {
+                inherit features target;
+                buildByPackageId = depPackageId:
+                  self.build.crates.${depPackageId};
+                dependencies = crateConfig.buildDependencies or [ ];
+              };
+            filterEnabledDependenciesForThis = dependencies: filterEnabledDependencies {
+              inherit dependencies features target;
+            };
+            dependenciesWithRenames =
+              lib.filter (d: d ? "rename")
+                (
+                  filterEnabledDependenciesForThis
+                    (
+                      (crateConfig.buildDependencies or [ ])
+                      ++ (crateConfig.dependencies or [ ])
+                      ++ devDependencies
+                    )
+                );
+            # Crate renames have the form:
+            #
+            # {
+            #    crate_name = [
+            #       { version = "1.2.3"; rename = "crate_name01"; }
+            #    ];
+            #    # ...
+            # }
+            crateRenames =
+              let
+                grouped =
+                  lib.groupBy
+                    (dependency: dependency.name)
+                    dependenciesWithRenames;
+                versionAndRename = dep:
+                  let
+                    package = crateConfigs."${dep.packageId}";
+                  in
+                  { inherit (dep) rename; version = package.version; };
+              in
+              lib.mapAttrs (name: choices: builtins.map versionAndRename choices) grouped;
+          in
+          buildRustCrateForPkgsFunc pkgs
+            (
+              crateConfig // {
+                src = crateConfig.src or (
+                  pkgs.fetchurl rec {
+                    name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz";
+                    # https://www.pietroalbini.org/blog/downloading-crates-io/
+                    # Not rate-limited, CDN URL.
+                    url = "https://static.crates.io/crates/${crateConfig.crateName}/${crateConfig.crateName}-${crateConfig.version}.crate";
+                    sha256 =
+                      assert (lib.assertMsg (crateConfig ? sha256) "Missing sha256 for ${name}");
+                      crateConfig.sha256;
+                  }
+                );
+                extraRustcOpts = lib.lists.optional (targetFeatures != [ ]) "-C target-feature=${lib.concatMapStringsSep "," (x: "+${x}") targetFeatures}";
+                inherit features dependencies buildDependencies crateRenames release;
+              }
+            );
+      in
+      builtByPackageIdByPkgs;
+
+  /* Returns the actual derivations for the given dependencies. */
+  dependencyDerivations =
+    { buildByPackageId
+    , features
+    , dependencies
+    , target
+    }:
+      assert (builtins.isList features);
+      assert (builtins.isList dependencies);
+      assert (builtins.isAttrs target);
+      let
+        enabledDependencies = filterEnabledDependencies {
+          inherit dependencies features target;
+        };
+        depDerivation = dependency: buildByPackageId dependency.packageId;
+      in
+      map depDerivation enabledDependencies;
+
+  /* Returns a sanitized version of val with all values substituted that cannot
+    be serialized as JSON.
+  */
+  sanitizeForJson = val:
+    if builtins.isAttrs val
+    then lib.mapAttrs (n: v: sanitizeForJson v) val
+    else if builtins.isList val
+    then builtins.map sanitizeForJson val
+    else if builtins.isFunction val
+    then "function"
+    else val;
+
+  /* Returns various tools to debug a crate. */
+  debugCrate = { packageId, target ? defaultTarget }:
+    assert (builtins.isString packageId);
+    let
+      debug = rec {
+        # The built tree as passed to buildRustCrate.
+        buildTree = buildRustCrateWithFeatures {
+          buildRustCrateForPkgsFunc = _: lib.id;
+          inherit packageId;
+        };
+        sanitizedBuildTree = sanitizeForJson buildTree;
+        dependencyTree = sanitizeForJson
+          (
+            buildRustCrateWithFeatures {
+              buildRustCrateForPkgsFunc = _: crate: {
+                "01_crateName" = crate.crateName or false;
+                "02_features" = crate.features or [ ];
+                "03_dependencies" = crate.dependencies or [ ];
+              };
+              inherit packageId;
+            }
+          );
+        mergedPackageFeatures = mergePackageFeatures {
+          features = rootFeatures;
+          inherit packageId target;
+        };
+        diffedDefaultPackageFeatures = diffDefaultPackageFeatures {
+          inherit packageId target;
+        };
+      };
+    in
+    { internal = debug; };
+
+  /* Returns differences between cargo default features and crate2nix default
+    features.
+
+    This is useful for verifying the feature resolution in crate2nix.
+  */
+  diffDefaultPackageFeatures =
+    { crateConfigs ? crates
+    , packageId
+    , target
+    }:
+      assert (builtins.isAttrs crateConfigs);
+      let
+        prefixValues = prefix: lib.mapAttrs (n: v: { "${prefix}" = v; });
+        mergedFeatures =
+          prefixValues
+            "crate2nix"
+            (mergePackageFeatures { inherit crateConfigs packageId target; features = [ "default" ]; });
+        configs = prefixValues "cargo" crateConfigs;
+        combined = lib.foldAttrs (a: b: a // b) { } [ mergedFeatures configs ];
+        onlyInCargo =
+          builtins.attrNames
+            (lib.filterAttrs (n: v: !(v ? "crate2nix") && (v ? "cargo")) combined);
+        onlyInCrate2Nix =
+          builtins.attrNames
+            (lib.filterAttrs (n: v: (v ? "crate2nix") && !(v ? "cargo")) combined);
+        differentFeatures = lib.filterAttrs
+          (
+            n: v:
+              (v ? "crate2nix")
+              && (v ? "cargo")
+              && (v.crate2nix.features or [ ]) != (v."cargo".resolved_default_features or [ ])
+          )
+          combined;
+      in
+      builtins.toJSON {
+        inherit onlyInCargo onlyInCrate2Nix differentFeatures;
+      };
+
+  /* Returns an attrset mapping packageId to the list of enabled features.
+
+    If multiple paths to a dependency enable different features, the
+    corresponding feature sets are merged. Features in rust are additive.
+  */
+  mergePackageFeatures =
+    { crateConfigs ? crates
+    , packageId
+    , rootPackageId ? packageId
+    , features ? rootFeatures
+    , dependencyPath ? [ crates.${packageId}.crateName ]
+    , featuresByPackageId ? { }
+    , target
+      # Adds devDependencies to the crate with rootPackageId.
+    , runTests ? false
+    , ...
+    } @ args:
+      assert (builtins.isAttrs crateConfigs);
+      assert (builtins.isString packageId);
+      assert (builtins.isString rootPackageId);
+      assert (builtins.isList features);
+      assert (builtins.isList dependencyPath);
+      assert (builtins.isAttrs featuresByPackageId);
+      assert (builtins.isAttrs target);
+      assert (builtins.isBool runTests);
+      let
+        crateConfig = crateConfigs."${packageId}" or (builtins.throw "Package not found: ${packageId}");
+        expandedFeatures = expandFeatures (crateConfig.features or { }) features;
+        enabledFeatures = enableFeatures (crateConfig.dependencies or [ ]) expandedFeatures;
+        depWithResolvedFeatures = dependency:
+          let
+            packageId = dependency.packageId;
+            features = dependencyFeatures enabledFeatures dependency;
+          in
+          { inherit packageId features; };
+        resolveDependencies = cache: path: dependencies:
+          assert (builtins.isAttrs cache);
+          assert (builtins.isList dependencies);
+          let
+            enabledDependencies = filterEnabledDependencies {
+              inherit dependencies target;
+              features = enabledFeatures;
+            };
+            directDependencies = map depWithResolvedFeatures enabledDependencies;
+            foldOverCache = op: lib.foldl op cache directDependencies;
+          in
+          foldOverCache
+            (
+              cache: { packageId, features }:
+                let
+                  cacheFeatures = cache.${packageId} or [ ];
+                  combinedFeatures = sortedUnique (cacheFeatures ++ features);
+                in
+                if cache ? ${packageId} && cache.${packageId} == combinedFeatures
+                then cache
+                else
+                  mergePackageFeatures {
+                    features = combinedFeatures;
+                    featuresByPackageId = cache;
+                    inherit crateConfigs packageId target runTests rootPackageId;
+                  }
+            );
+        cacheWithSelf =
+          let
+            cacheFeatures = featuresByPackageId.${packageId} or [ ];
+            combinedFeatures = sortedUnique (cacheFeatures ++ enabledFeatures);
+          in
+          featuresByPackageId // {
+            "${packageId}" = combinedFeatures;
+          };
+        cacheWithDependencies =
+          resolveDependencies cacheWithSelf "dep"
+            (
+              crateConfig.dependencies or [ ]
+              ++ lib.optionals
+                (runTests && packageId == rootPackageId)
+                (crateConfig.devDependencies or [ ])
+            );
+        cacheWithAll =
+          resolveDependencies
+            cacheWithDependencies "build"
+            (crateConfig.buildDependencies or [ ]);
+      in
+      cacheWithAll;
+
+  /* Returns the enabled dependencies given the enabled features. */
+  filterEnabledDependencies = { dependencies, features, target }:
+    assert (builtins.isList dependencies);
+    assert (builtins.isList features);
+    assert (builtins.isAttrs target);
+
+    lib.filter
+      (
+        dep:
+        let
+          targetFunc = dep.target or (features: true);
+        in
+        targetFunc { inherit features target; }
+        && (
+          !(dep.optional or false)
+          || builtins.any (doesFeatureEnableDependency dep) features
+        )
+      )
+      dependencies;
+
+  /* Returns whether the given feature should enable the given dependency. */
+  doesFeatureEnableDependency = dependency: feature:
+    let
+      name = dependency.rename or dependency.name;
+      prefix = "${name}/";
+      len = builtins.stringLength prefix;
+      startsWithPrefix = builtins.substring 0 len feature == prefix;
+    in
+    feature == name || startsWithPrefix;
+
+  /* Returns the expanded features for the given inputFeatures by applying the
+    rules in featureMap.
+
+    featureMap is an attribute set which maps feature names to lists of further
+    feature names to enable in case this feature is selected.
+  */
+  expandFeatures = featureMap: inputFeatures:
+    assert (builtins.isAttrs featureMap);
+    assert (builtins.isList inputFeatures);
+    let
+      expandFeature = feature:
+        assert (builtins.isString feature);
+        [ feature ] ++ (expandFeatures featureMap (featureMap."${feature}" or [ ]));
+      outFeatures = lib.concatMap expandFeature inputFeatures;
+    in
+    sortedUnique outFeatures;
+
+  /* This function adds optional dependencies as features if they are enabled
+    indirectly by dependency features. This function mimics Cargo's behavior
+    described in a note at:
+    https://doc.rust-lang.org/nightly/cargo/reference/features.html#dependency-features
+  */
+  enableFeatures = dependencies: features:
+    assert (builtins.isList features);
+    assert (builtins.isList dependencies);
+    let
+      additionalFeatures = lib.concatMap
+        (
+          dependency:
+            assert (builtins.isAttrs dependency);
+            let
+              enabled = builtins.any (doesFeatureEnableDependency dependency) features;
+            in
+            if (dependency.optional or false) && enabled
+            then [ (dependency.rename or dependency.name) ]
+            else [ ]
+        )
+        dependencies;
+    in
+    sortedUnique (features ++ additionalFeatures);
+
+  /*
+    Returns the actual features for the given dependency.
+
+    features: The features of the crate that refers this dependency.
+  */
+  dependencyFeatures = features: dependency:
+    assert (builtins.isList features);
+    assert (builtins.isAttrs dependency);
+    let
+      defaultOrNil =
+        if dependency.usesDefaultFeatures or true
+        then [ "default" ]
+        else [ ];
+      explicitFeatures = dependency.features or [ ];
+      additionalDependencyFeatures =
+        let
+          dependencyPrefix = (dependency.rename or dependency.name) + "/";
+          dependencyFeatures =
+            builtins.filter (f: lib.hasPrefix dependencyPrefix f) features;
+        in
+        builtins.map (lib.removePrefix dependencyPrefix) dependencyFeatures;
+    in
+    defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures;
+
+  /* Sorts and removes duplicates from a list of strings. */
+  sortedUnique = features:
+    assert (builtins.isList features);
+    assert (builtins.all builtins.isString features);
+    let
+      outFeaturesSet = lib.foldl (set: feature: set // { "${feature}" = 1; }) { } features;
+      outFeaturesUnique = builtins.attrNames outFeaturesSet;
+    in
+    builtins.sort (a: b: a < b) outFeaturesUnique;
+
+  deprecationWarning = message: value:
+    if strictDeprecation
+    then builtins.throw "strictDeprecation enabled, aborting: ${message}"
+    else builtins.trace message value;
+
+  #
+  # crate2nix/default.nix (excerpt end)
+  #
+  };
+}
+
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 87f89330afe..41cdc298e98 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -124,7 +124,6 @@ let
       ksystemstats = callPackage ./ksystemstats.nix {};
       kwallet-pam = callPackage ./kwallet-pam.nix {};
       kwayland-integration = callPackage ./kwayland-integration.nix {};
-      kwayland-server = callPackage ./kwayland-server {};
       kwin = callPackage ./kwin {};
       kwrited = callPackage ./kwrited.nix {};
       layer-shell-qt = callPackage ./layer-shell-qt.nix {};
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index 77129d34307..57d42b3016e 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.24.5/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.25.0/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/kwayland-server/0001-Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing.patch b/pkgs/desktops/plasma-5/kwayland-server/0001-Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing.patch
deleted file mode 100644
index 771e093bb9e..00000000000
--- a/pkgs/desktops/plasma-5/kwayland-server/0001-Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 80bca7370d4b8bafcf18abcda30f02e190f419a4 Mon Sep 17 00:00:00 2001
-From: Tom Hall <tahall256@protonmail.ch>
-Date: Sat, 29 Aug 2020 19:14:30 +0100
-Subject: [PATCH] Use KDE_INSTALL_TARGETS_DEFAULT_ARGS when installing targets
-
----
- src/server/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt
-index 0f99682..35e3601 100644
---- a/src/server/CMakeLists.txt
-+++ b/src/server/CMakeLists.txt
-@@ -356,7 +356,7 @@ set_target_properties(KWaylandServer PROPERTIES VERSION   ${KWAYLANDSERVER_VERSI
-                                                 SOVERSION ${KWAYLANDSERVER_SOVERSION}
- )
- 
--install(TARGETS KWaylandServer EXPORT KWaylandServerTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
-+install(TARGETS KWaylandServer EXPORT KWaylandServerTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
- 
- set(SERVER_LIB_HEADERS
-   ${CMAKE_CURRENT_BINARY_DIR}/KWaylandServer/kwaylandserver_export.h
--- 
-2.26.2
-
diff --git a/pkgs/desktops/plasma-5/kwayland-server/default.nix b/pkgs/desktops/plasma-5/kwayland-server/default.nix
deleted file mode 100644
index e71b98b1b94..00000000000
--- a/pkgs/desktops/plasma-5/kwayland-server/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-  mkDerivation, lib, cmake,
-  extra-cmake-modules, kdoctools,
-  kwayland, plasma-wayland-protocols,
-  wayland, wayland-protocols, qtbase
-}:
-
-mkDerivation {
-  pname = "kwayland-server";
-  nativeBuildInputs = [
-    cmake
-    extra-cmake-modules #kdoctools
-  ];
-  buildInputs = [
-    kwayland plasma-wayland-protocols wayland wayland-protocols
-  ];
-  patches = [ ./0001-Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing.patch ];
-}
diff --git a/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch b/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
index 9bade4eab6a..cdc8245ce5b 100644
--- a/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
+++ b/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
@@ -13,7 +13,7 @@ Co-authored-by: Yaroslav Bolyukin <iam@lach.pw>
 ---
  src/nixos_utils.h     | 41 +++++++++++++++++++++++++++++++++++++++++
  src/service_utils.h   |  4 +++-
- src/waylandclient.cpp |  5 ++++-
+ src/waylandwindow.cpp |  5 ++++-
  3 files changed, 48 insertions(+), 2 deletions(-)
  create mode 100644 src/nixos_utils.h
 
@@ -87,10 +87,10 @@ index 8a70c1f..475b15d 100644
      // needed to be able to use the logging category in a header static function
      static QLoggingCategory KWIN_UTILS ("KWIN_UTILS", QtWarningMsg);
      const auto servicesFound = KApplicationTrader::query([&executablePath] (const KService::Ptr &service) {
-diff --git a/src/waylandclient.cpp b/src/waylandclient.cpp
+diff --git a/src/waylandwindow.cpp b/src/waylandwindow.cpp
 index fd2c0c1..ae8cf96 100644
---- a/src/waylandclient.cpp
-+++ b/src/waylandclient.cpp
+--- a/src/waylandwindow.cpp
++++ b/src/waylandwindow.cpp
 @@ -10,6 +10,7 @@
  #include "screens.h"
  #include "wayland_server.h"
@@ -99,9 +99,9 @@ index fd2c0c1..ae8cf96 100644
  
  #include <KWaylandServer/display.h>
  #include <KWaylandServer/clientbuffer.h>
-@@ -173,7 +174,9 @@ void WaylandClient::updateIcon()
+@@ -173,7 +174,9 @@ void WaylandWindow::updateIcon()
  
- void WaylandClient::updateResourceName()
+ void WaylandWindow::updateResourceName()
  {
 -    const QFileInfo fileInfo(surface()->client()->executablePath());
 +    const QString in_path = surface()->client()->executablePath();
diff --git a/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch b/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch
index 9e37d51c499..dfd25e727f9 100644
--- a/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch
+++ b/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch
@@ -4,22 +4,22 @@ Date: Mon, 27 Jan 2020 05:31:23 -0600
 Subject: [PATCH 2/3] xwayland
 
 ---
- src/xwl/xwayland.cpp | 2 +-
+ src/xwayland/xwaylandlauncher.cpp | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/src/xwl/xwayland.cpp b/src/xwl/xwayland.cpp
+diff --git a/src/xwayland/xwaylandlauncher.cpp b/src/xwayland/xwaylandlauncher.cpp
 index 57efdde..a211a58 100644
---- a/src/xwl/xwayland.cpp
-+++ b/src/xwl/xwayland.cpp
-@@ -124,7 +124,7 @@ void Xwayland::start()
+--- a/src/xwayland/xwaylandlauncher.cpp
++++ b/src/xwayland/xwaylandlauncher.cpp
+@@ -163,7 +163,7 @@ void Xwayland::start()
  
-     m_xwaylandProcess = new Process(this);
+     m_xwaylandProcess = new QProcess(this);
      m_xwaylandProcess->setProcessChannelMode(QProcess::ForwardedErrorChannel);
 -    m_xwaylandProcess->setProgram(QStringLiteral("Xwayland"));
 +    m_xwaylandProcess->setProgram(QLatin1String(NIXPKGS_XWAYLAND));
-     QProcessEnvironment env = m_app->processStartupEnvironment();
+     QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
      env.insert("WAYLAND_SOCKET", QByteArray::number(wlfd));
-     env.insert("EGL_PLATFORM", QByteArrayLiteral("DRM"));
+     if (qEnvironmentVariableIsSet("KWIN_XWAYLAND_DEBUG")) {
 -- 
 2.29.2
 
diff --git a/pkgs/desktops/plasma-5/kwin/default.nix b/pkgs/desktops/plasma-5/kwin/default.nix
index db0485db887..847ef41ee88 100644
--- a/pkgs/desktops/plasma-5/kwin/default.nix
+++ b/pkgs/desktops/plasma-5/kwin/default.nix
@@ -4,6 +4,7 @@
 
   libepoxy, lcms2, libICE, libSM, libcap, libdrm, libinput, libxkbcommon, mesa,
   pipewire, udev, wayland, xcb-util-cursor, xwayland,
+  plasma-wayland-protocols, wayland-protocols, libxcvt,
 
   qtdeclarative, qtmultimedia, qtquickcontrols2, qtscript, qtsensors,
   qtvirtualkeyboard, qtx11extras,
@@ -11,8 +12,9 @@
   breeze-qt5, kactivities, kcompletion, kcmutils, kconfig, kconfigwidgets,
   kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel, ki18n,
   kiconthemes, kidletime, kinit, kio, knewstuff, knotifications, kpackage,
-  krunner, kscreenlocker, kservice, kwayland, kwayland-server, kwidgetsaddons,
+  krunner, kscreenlocker, kservice, kwayland, kwidgetsaddons,
   kwindowsystem, kxmlgui, plasma-framework, libqaccessibilityclient,
+  python3
 }:
 
 # TODO (ttuegel): investigate qmlplugindump failure
@@ -23,6 +25,7 @@ mkDerivation {
   buildInputs = [
     libepoxy lcms2 libICE libSM libcap libdrm libinput libxkbcommon mesa pipewire
     udev wayland xcb-util-cursor xwayland
+    libxcvt plasma-wayland-protocols wayland-protocols
 
     qtdeclarative qtmultimedia qtquickcontrols2 qtscript qtsensors
     qtvirtualkeyboard qtx11extras
@@ -30,11 +33,16 @@ mkDerivation {
     breeze-qt5 kactivities kcmutils kcompletion kconfig kconfigwidgets
     kcoreaddons kcrash kdeclarative kdecoration kglobalaccel ki18n kiconthemes
     kidletime kinit kio knewstuff knotifications kpackage krunner kscreenlocker
-    kservice kwayland kwayland-server kwidgetsaddons kwindowsystem kxmlgui
+    kservice kwayland kwidgetsaddons kwindowsystem kxmlgui
     plasma-framework libqaccessibilityclient
 
   ];
   outputs = [ "out" "dev" ];
+
+  postPatch = ''
+    patchShebangs src/effects/strip-effect-metadata.py
+  '';
+
   patches = [
     ./0001-follow-symlinks.patch
     ./0002-xwayland.patch
diff --git a/pkgs/desktops/plasma-5/plasma-integration/default.nix b/pkgs/desktops/plasma-5/plasma-integration/default.nix
index 9febc5172d4..2c6bd8337ff 100644
--- a/pkgs/desktops/plasma-5/plasma-integration/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-integration/default.nix
@@ -2,7 +2,8 @@
   mkDerivation,
   extra-cmake-modules,
   breeze-qt5, kconfig, kconfigwidgets, kiconthemes, kio, knotifications,
-  kwayland, libXcursor, qtquickcontrols2
+  kwayland, libXcursor, qtquickcontrols2, wayland, wayland-protocols,
+  plasma-wayland-protocols
 }:
 
 # TODO: install Noto Sans and Oxygen Mono fonts with plasma-integration
@@ -12,6 +13,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     breeze-qt5 kconfig kconfigwidgets kiconthemes kio knotifications kwayland
-    libXcursor qtquickcontrols2
+    libXcursor qtquickcontrols2 wayland wayland-protocols
+    plasma-wayland-protocols
   ];
 }
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
index 68b6d1d675f..f785ee9165c 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
@@ -57,7 +57,7 @@ mkDerivation {
   # QT_INSTALL_BINS refers to qtbase, and qdbus is in qttools
   postPatch = ''
     substituteInPlace CMakeLists.txt \
-      --replace 'query_qmake(QtBinariesDir QT_INSTALL_BINS)' 'set(QtBinariesDir "${lib.getBin qttools}/bin")'
+      --replace 'ecm_query_qt(QtBinariesDir QT_INSTALL_BINS)' 'set(QtBinariesDir "${lib.getBin qttools}/bin")'
   '';
 
   NIX_CFLAGS_COMPILE = [
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index d4369a90735..0b570c9dda8 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,427 +4,427 @@
 
 {
   bluedevil = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/bluedevil-5.24.5.tar.xz";
-      sha256 = "1yhynfpgm2cwvimh63hihg5dm0hzjp20364bvjyyh108830rjsf9";
-      name = "bluedevil-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/bluedevil-5.25.0.tar.xz";
+      sha256 = "18iaxyfjgs7zk972aajxww372sj6azqx5flnxbs7m9zmrg687d2v";
+      name = "bluedevil-5.25.0.tar.xz";
     };
   };
   breeze = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/breeze-5.24.5.tar.xz";
-      sha256 = "18zhm9my0vhwiq95v3p48z8s5m4a5c7kw8n144ykqlm51nssc9c5";
-      name = "breeze-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/breeze-5.25.0.tar.xz";
+      sha256 = "0kph45sasp0zvccp4sblglg9b851a8jxi8zsjbj2vpfrwrmyyv4l";
+      name = "breeze-5.25.0.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/breeze-grub-5.24.5.tar.xz";
-      sha256 = "02lcv23l3zr0g6nggmrxz4pgq852fir9yramhaxmcg634pxiacni";
-      name = "breeze-grub-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/breeze-grub-5.25.0.tar.xz";
+      sha256 = "1i5a32spn0kdrdnbd3za3fjchk006l46ybn41h2fbrzq908yh44w";
+      name = "breeze-grub-5.25.0.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/breeze-gtk-5.24.5.tar.xz";
-      sha256 = "0c25z69lyjczm05jraqk2f09sipkhpsz5zirwzqdq3apip06qw93";
-      name = "breeze-gtk-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/breeze-gtk-5.25.0.tar.xz";
+      sha256 = "0hnyslgngqsywaqbfx845wfdpdvqymizvjyryi10sbki80fmdbmc";
+      name = "breeze-gtk-5.25.0.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/breeze-plymouth-5.24.5.tar.xz";
-      sha256 = "044sbffr4sqvgkfbraa4rvlsih7zz9b300hipp33mwhpzyjjcpdc";
-      name = "breeze-plymouth-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/breeze-plymouth-5.25.0.tar.xz";
+      sha256 = "1b3qlw99d2rqpay47188bc0yqzp95s8g6skx7znxq8cxgg7ck24j";
+      name = "breeze-plymouth-5.25.0.tar.xz";
     };
   };
   discover = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/discover-5.24.5.tar.xz";
-      sha256 = "18a8z9ifyyjmmc620dsh491vb1q3q9bxd8gfjf5k87mgwmg1wmwk";
-      name = "discover-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/discover-5.25.0.tar.xz";
+      sha256 = "0ws0hvxnbf3mwy5lsyv56b73vjdswhy8lh01sx33xmgpbnyykqni";
+      name = "discover-5.25.0.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/drkonqi-5.24.5.tar.xz";
-      sha256 = "1ps1p8pvp51rswynbv337qr3qj2z7r7kd9qpxgcrha9pql01h5gy";
-      name = "drkonqi-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/drkonqi-5.25.0.tar.xz";
+      sha256 = "123snx7hfk9m7ds1vk047g3q5lkfmn00w5668xvpqr7yqw9w78fh";
+      name = "drkonqi-5.25.0.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kactivitymanagerd-5.24.5.tar.xz";
-      sha256 = "0j6d50cjry4j3vzxb6hd4w95y2h3l0yfhyrhl693njr64aq7d4pa";
-      name = "kactivitymanagerd-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kactivitymanagerd-5.25.0.tar.xz";
+      sha256 = "1iwrjf090s47mwl6rlk3fjk96bkrz56mvbk6d474b1f2n2ymqibm";
+      name = "kactivitymanagerd-5.25.0.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kde-cli-tools-5.24.5.tar.xz";
-      sha256 = "0afksrxd6mq9rcvh3g8y05kl0la4wmn1yksif8p1bcxpd4sdvw77";
-      name = "kde-cli-tools-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kde-cli-tools-5.25.0.tar.xz";
+      sha256 = "0j3cib7yzmixsq2v2kymdz9sip8qxgq1x3ns86xlcwcl4fh77mqy";
+      name = "kde-cli-tools-5.25.0.tar.xz";
     };
   };
-  kde-gtk-config = {
-    version = "5.24.5";
+  kdecoration = {
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kde-gtk-config-5.24.5.tar.xz";
-      sha256 = "0sg8kqlkklvjhj69z5wzhvi0hddxa192j4vc4wc9hmfl1wirr8cq";
-      name = "kde-gtk-config-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kdecoration-5.25.0.tar.xz";
+      sha256 = "1g7l8vbcbrh20nq4s4ac1a0bmf0kb4r0b4mzqcndn6yjwab4z7c8";
+      name = "kdecoration-5.25.0.tar.xz";
     };
   };
-  kdecoration = {
-    version = "5.24.5";
+  kde-gtk-config = {
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kdecoration-5.24.5.tar.xz";
-      sha256 = "1hjjl6k09zi8n9nblbcm69c3br6d4dhzaw55xyygglaz6kb8fc17";
-      name = "kdecoration-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kde-gtk-config-5.25.0.tar.xz";
+      sha256 = "1dg45brjwh7v83d9pm21vhn27mx0lsnbp7ry9f1mkzy509v461fb";
+      name = "kde-gtk-config-5.25.0.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kdeplasma-addons-5.24.5.tar.xz";
-      sha256 = "03p8wmsb5nl7j6kwl6j8nwlf6v7snh933jyglgp2vnclqp1jpd9x";
-      name = "kdeplasma-addons-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kdeplasma-addons-5.25.0.tar.xz";
+      sha256 = "0i5pxg95v7dr3in7mswnx53zkg5c05q3ijb1yqdlj4a3k6ln26nr";
+      name = "kdeplasma-addons-5.25.0.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kgamma5-5.24.5.tar.xz";
-      sha256 = "1i7i3dc5qfb3v9hz9w9hszr8jbbdbfq0b59a4bh1p6xakxx8k1l0";
-      name = "kgamma5-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kgamma5-5.25.0.tar.xz";
+      sha256 = "0rzlf8dr6zj7bcbgdga0d6h9k7aw7d2ra7awzvyq7w2rx8i40ra0";
+      name = "kgamma5-5.25.0.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/khotkeys-5.24.5.tar.xz";
-      sha256 = "06m7yrs75arwdfrkpkn9b5kiz2xlrsxlpsjr18j1pjhxras0f8vs";
-      name = "khotkeys-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/khotkeys-5.25.0.tar.xz";
+      sha256 = "0m2fr3mfqqaprcqd0b31ilz4r0d2mlvc4jwn6ax1fww4inzfa261";
+      name = "khotkeys-5.25.0.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kinfocenter-5.24.5.tar.xz";
-      sha256 = "0c2bq7m8c9r17s8qalp4cdz1qimzwnvh9wrba4rqcmxwbv043ln1";
-      name = "kinfocenter-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kinfocenter-5.25.0.tar.xz";
+      sha256 = "1wzl0qbpj4zkhv56l86fqf7agp29jf7ljxn0na6x1sd7wqqj2hp6";
+      name = "kinfocenter-5.25.0.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kmenuedit-5.24.5.tar.xz";
-      sha256 = "02il6bhayjni0jsx1d1cnmxv5yc7r0d02s2v6cs87fbdrnl7d9vq";
-      name = "kmenuedit-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kmenuedit-5.25.0.tar.xz";
+      sha256 = "080mffhym2yxpk2jdaynz7gzhr0s2ca0qhg8xhilzvf4r3qlmv1j";
+      name = "kmenuedit-5.25.0.tar.xz";
     };
   };
   kscreen = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kscreen-5.24.5.tar.xz";
-      sha256 = "1g5mlc78giq8zrpyq6d2jhqgyj6yh2nhbqv6wjm9cdbq4nnm3hyr";
-      name = "kscreen-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kscreen-5.25.0.tar.xz";
+      sha256 = "0cna20n9yizkm60wrr03bd048gd7q0wznn1h5sz5y3m4svvxm2qb";
+      name = "kscreen-5.25.0.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kscreenlocker-5.24.5.tar.xz";
-      sha256 = "13prkdwxd200ps4cy6rf2n4g9ll6fp1f93dk1njr9ilzbj2a2w1j";
-      name = "kscreenlocker-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kscreenlocker-5.25.0.tar.xz";
+      sha256 = "0hi077325694dqxikvsf3vrhabk6bja02n3fy9jxv5znaaf6a0hf";
+      name = "kscreenlocker-5.25.0.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/ksshaskpass-5.24.5.tar.xz";
-      sha256 = "1jw3hfnlplqsss1h49p5f3722qc22ln22sahs5ypsxszmqihpqiz";
-      name = "ksshaskpass-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/ksshaskpass-5.25.0.tar.xz";
+      sha256 = "0bkngywr50sd0vzw73zzbwlnzv2fwpni7w7c8m6xfl64vb8629bh";
+      name = "ksshaskpass-5.25.0.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/ksystemstats-5.24.5.tar.xz";
-      sha256 = "1xsrlwm1hhagwjyjm240bfmri24z88v95m9pz95dpbcllkwdib0b";
-      name = "ksystemstats-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/ksystemstats-5.25.0.tar.xz";
+      sha256 = "0dcx198iamdh6llqk9z5mzc76cgra93m4w669jwrzgwnib8is8ji";
+      name = "ksystemstats-5.25.0.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kwallet-pam-5.24.5.tar.xz";
-      sha256 = "1smclklxcfbxxxi3lgw2p6wmvj50fg40323j1b8p5z731ywdk3i3";
-      name = "kwallet-pam-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kwallet-pam-5.25.0.tar.xz";
+      sha256 = "19lxih5ywrvk76wir4xa4zp0adp7am412g02wya8zw21pabni2zi";
+      name = "kwallet-pam-5.25.0.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.24.5";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kwayland-integration-5.24.5.tar.xz";
-      sha256 = "1v12631xdjdp2wkjvyls8g0sv18amy7g4mddrh45pybhpc3rcsl0";
-      name = "kwayland-integration-5.24.5.tar.xz";
-    };
-  };
-  kwayland-server = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kwayland-server-5.24.5.tar.xz";
-      sha256 = "0ydj6p489psqblqd88lk04q62qn1spa1m0zdjq8d32a4g4lvxnid";
-      name = "kwayland-server-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kwayland-integration-5.25.0.tar.xz";
+      sha256 = "0lgnlfm48jm5rbmdwipkmagy0r1x9v1y10vidpcd26ldaql2lixk";
+      name = "kwayland-integration-5.25.0.tar.xz";
     };
   };
   kwin = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kwin-5.24.5.tar.xz";
-      sha256 = "10mgbs1mbhjzbwx07q77wdzhj11yc156j75fbvy8mszb9hjiappk";
-      name = "kwin-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kwin-5.25.0.tar.xz";
+      sha256 = "03r8zmwjc74hc506kzasx9a3cbygnacdw1mjmkk39wl4599w4xai";
+      name = "kwin-5.25.0.tar.xz";
     };
   };
   kwrited = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/kwrited-5.24.5.tar.xz";
-      sha256 = "0gfjvj8wnfgb3s2daz7xpg9flc8xv6hk12z6ckbchq71w4gs6132";
-      name = "kwrited-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/kwrited-5.25.0.tar.xz";
+      sha256 = "1cxfgf26kdbp84wk190s6j4hi62gp928nvyiclgxja1ha4f3yzsb";
+      name = "kwrited-5.25.0.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/layer-shell-qt-5.24.5.tar.xz";
-      sha256 = "0ydjfxrkmpi052gfhkccsp9m5az3z6qiggb5wx6cjz39q06614gm";
-      name = "layer-shell-qt-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/layer-shell-qt-5.25.0.tar.xz";
+      sha256 = "1wyijkk45mzrd2glsilv0748vi5vcdyhkbfm367v9rbyszwhsv9j";
+      name = "layer-shell-qt-5.25.0.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/libkscreen-5.24.5.tar.xz";
-      sha256 = "1jbgq1ddl0q5y8cx4m7k5q38gl0kxv929wxr3hn3vr906fpiiwbz";
-      name = "libkscreen-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/libkscreen-5.25.0.tar.xz";
+      sha256 = "0b6qsni1nls29apdkhavxy980mxk46wrp9fizarsvvsgkahl5m8v";
+      name = "libkscreen-5.25.0.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/libksysguard-5.24.5.tar.xz";
-      sha256 = "1v21xckvwx6xkiqihv3pc2ps5mmc4ahp5vadxm3lrh0pdqxb6v5h";
-      name = "libksysguard-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/libksysguard-5.25.0.tar.xz";
+      sha256 = "1z210jv0354midbqbcipdirilrhpcmhy5s5cy7jvgmmivarr0mrl";
+      name = "libksysguard-5.25.0.tar.xz";
     };
   };
   milou = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/milou-5.24.5.tar.xz";
-      sha256 = "1rh5zy1x427cv07zmikmh0rmviz7vcvnz2pyravyfzaxay5lwnf1";
-      name = "milou-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/milou-5.25.0.tar.xz";
+      sha256 = "166m0w8yn6dz00g6h40zyjklr6zf0yrskg6q48593l8f35kmqzdl";
+      name = "milou-5.25.0.tar.xz";
     };
   };
   oxygen = {
-    version = "5.24.5";
+    version = "5.25.0";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.25.0/oxygen-5.25.0.tar.xz";
+      sha256 = "0kq8h3zi07h0j0y6n0q6nkbf3sa2pxvyvy7hyxbbvl4b8s4h3asf";
+      name = "oxygen-5.25.0.tar.xz";
+    };
+  };
+  oxygen-sounds = {
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/oxygen-5.24.5.tar.xz";
-      sha256 = "1gh06wwm6gdjpsbjlxnrrlgsfd5w7lb0pddcml9l2w0dvlgfyn1v";
-      name = "oxygen-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/oxygen-sounds-5.25.0.tar.xz";
+      sha256 = "1qk4ff5knjpznj5zbpvzd3wjbpbzmijaxrwqsr7q663i0rjx82b4";
+      name = "oxygen-sounds-5.25.0.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-browser-integration-5.24.5.tar.xz";
-      sha256 = "1xybyn6vsahr5j0g57bsfxmz78w35ibzavcax1inrdlnb7sblrqv";
-      name = "plasma-browser-integration-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-browser-integration-5.25.0.tar.xz";
+      sha256 = "1qcaxchwlqsjs9fwksc185n3pr7c8wp74m0abbbv1g0qkwwkfww5";
+      name = "plasma-browser-integration-5.25.0.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-desktop-5.24.5.tar.xz";
-      sha256 = "0iic01iwg4bkp8sfp4mbm5lvbj98wjcyi0k79jfr1sx78dn7jn5g";
-      name = "plasma-desktop-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-desktop-5.25.0.tar.xz";
+      sha256 = "1ib8j6pv720ky3v7pcyjzdn4cyi0201kcrpxj4adv2hsj3qc3lv3";
+      name = "plasma-desktop-5.25.0.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-disks-5.24.5.tar.xz";
-      sha256 = "1x3lm5cnwa51i8kcmp7pq29fpa9za3ypsmmldf2jbisawjnrb50k";
-      name = "plasma-disks-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-disks-5.25.0.tar.xz";
+      sha256 = "10fz7biz0p7ipdxjllwjcja8d3mf7wf4af0gi0yh0pwr5yj8yn68";
+      name = "plasma-disks-5.25.0.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-firewall-5.24.5.tar.xz";
-      sha256 = "0mk9plb1rwng77qy55c7y7ga4fkafan89bf4vqsc4i9nfn49d944";
-      name = "plasma-firewall-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-firewall-5.25.0.tar.xz";
+      sha256 = "0m8lh6lfr7a9w33wcj4li01b82vfw7smv5l1sigri5zx0ahpkqdc";
+      name = "plasma-firewall-5.25.0.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-integration-5.24.5.tar.xz";
-      sha256 = "0ynzx99jn4fqzbrv9mav0sw06rzf7mm1rv17g17vsxijwbhr0i6d";
-      name = "plasma-integration-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-integration-5.25.0.tar.xz";
+      sha256 = "1a069wcjfxw1rvb285lln19yg18f1k0003snmrmfbisbv5f7475q";
+      name = "plasma-integration-5.25.0.tar.xz";
     };
   };
   plasma-mobile = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-mobile-5.24.5.tar.xz";
-      sha256 = "0400rwx4pbz4kfy06f2vxchlf9vr6dx71wsi6vir3vdmvl43yazd";
-      name = "plasma-mobile-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-mobile-5.25.0.tar.xz";
+      sha256 = "00d63zb8n3iza8q2a1pgk0v63bzzq3yky71ij3bmm08a405w2ad8";
+      name = "plasma-mobile-5.25.0.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-nano-5.24.5.tar.xz";
-      sha256 = "0zxvqzg1p6ci6581bh4nhsq2p6pq66pmvs93zlj89ml4am176213";
-      name = "plasma-nano-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-nano-5.25.0.tar.xz";
+      sha256 = "0hcki7qz1xldnm70x5qwrp7knqzyq3kzwjasiqpbz9vc5l4rxxyz";
+      name = "plasma-nano-5.25.0.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-nm-5.24.5.tar.xz";
-      sha256 = "0adl5wfrz16hc7j64830cx1ga0bh9zd8bff95a30zdiggp7jc45f";
-      name = "plasma-nm-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-nm-5.25.0.tar.xz";
+      sha256 = "10350qnsap1m1jcmga331pis8076lpk9kkg9141xrlsy8kbf36ad";
+      name = "plasma-nm-5.25.0.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-pa-5.24.5.tar.xz";
-      sha256 = "1lgq2lydl65bh01043ji7kkignrb5lfcvbhy0g4g7lw778whv3q6";
-      name = "plasma-pa-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-pa-5.25.0.tar.xz";
+      sha256 = "0shp4y08ry8ql02akdmwzzn7yaiddbhsp3h2jqmh401q14n374m8";
+      name = "plasma-pa-5.25.0.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-sdk-5.24.5.tar.xz";
-      sha256 = "0d35sckjvi77b3475pfh1ixdsdx0m7b0hbsx5rbjgj4b05cdpm0w";
-      name = "plasma-sdk-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-sdk-5.25.0.tar.xz";
+      sha256 = "0z72gyxp5ddcn9ilyflp781a60vgpck3l91prxaphhgn3js0al9r";
+      name = "plasma-sdk-5.25.0.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-systemmonitor-5.24.5.tar.xz";
-      sha256 = "1vx0w5kmnp3chhydas7ijy8h1xf6dggd1ryhbr3k9qz2qihxfsqm";
-      name = "plasma-systemmonitor-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-systemmonitor-5.25.0.tar.xz";
+      sha256 = "131hzqhhc4a0531p2xjabcbjp9cgkzir2sxvx8mb7xa5i213qjfr";
+      name = "plasma-systemmonitor-5.25.0.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-tests-5.24.5.tar.xz";
-      sha256 = "1aqmmix0ds9vg4cjj8dagaya10ainhcciixamdylz1p7vgzpsrkx";
-      name = "plasma-tests-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-tests-5.25.0.tar.xz";
+      sha256 = "1cgkfg1psnl74h2v5napv4fzxa7d997d8zzkkpy5sg89isxidcjq";
+      name = "plasma-tests-5.25.0.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-thunderbolt-5.24.5.tar.xz";
-      sha256 = "1q0r9l2b06qkbyxa25lvqdwz0rgcjvp48gwkw0xhhaf6fyaai1cl";
-      name = "plasma-thunderbolt-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-thunderbolt-5.25.0.tar.xz";
+      sha256 = "04h1rmc4ha62sgljs1gy4kafip611rd54sx6siagz5wicjq0fahi";
+      name = "plasma-thunderbolt-5.25.0.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-vault-5.24.5.tar.xz";
-      sha256 = "16cyzyfzwqwqsg7hhg576acvxvbd12b7mznvicrrqnyf4wvw68l1";
-      name = "plasma-vault-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-vault-5.25.0.tar.xz";
+      sha256 = "1afqvnfbznazbyik8m1sj04a2qfihvhjn7pv1kbpzj83yca00zvq";
+      name = "plasma-vault-5.25.0.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-workspace-5.24.5.tar.xz";
-      sha256 = "1xk4424az7sgb0kyysr1s2x756vj4km50xxzkn1s1kxyw28jd4dr";
-      name = "plasma-workspace-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-workspace-5.25.0.tar.xz";
+      sha256 = "1hbv0w6vkqdrr3dr3cndg8c049x9fpxg9siw2ggbxz30kvc64m2n";
+      name = "plasma-workspace-5.25.0.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plasma-workspace-wallpapers-5.24.5.tar.xz";
-      sha256 = "0aabmd4zswmzdy958y1yq0yp1v9i8kzl959d6r4pwi0lmhr6g6qi";
-      name = "plasma-workspace-wallpapers-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plasma-workspace-wallpapers-5.25.0.tar.xz";
+      sha256 = "0lvqf53a4cy3vzm2kmxwnjlrvhfdb7s9vqq1x3cmagaq9d6zkb70";
+      name = "plasma-workspace-wallpapers-5.25.0.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/plymouth-kcm-5.24.5.tar.xz";
-      sha256 = "04m4129hxgq4g9v8gvi8q0hzhqzd866j3j1ffxs5vfd27r155wcr";
-      name = "plymouth-kcm-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/plymouth-kcm-5.25.0.tar.xz";
+      sha256 = "0h6qrqz2mvb0b1x5z74a8knh7dr8g5lwz8dzwypbsa7ahfj877x5";
+      name = "plymouth-kcm-5.25.0.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.24.5";
+    version = "1-5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/polkit-kde-agent-1-5.24.5.tar.xz";
-      sha256 = "0w78c59nm71xnd5prm035z94r5bzlqr0fyri43a8vrfyyb21r9l9";
-      name = "polkit-kde-agent-1-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/polkit-kde-agent-1-5.25.0.tar.xz";
+      sha256 = "0ph3i46xn2273anhbszxjn51rkngsmy588ayhjqx0a19wmfw7qk9";
+      name = "polkit-kde-agent-1-5.25.0.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/powerdevil-5.24.5.tar.xz";
-      sha256 = "1wr3rk318j93rnyh24icl4yxdj40zasymlddc71ram80fswa2k4n";
-      name = "powerdevil-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/powerdevil-5.25.0.tar.xz";
+      sha256 = "1fqgnc5l2vxf310i41l4ggcjwjq1jp8c4wngfb8jl3nn6lqkmdki";
+      name = "powerdevil-5.25.0.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/qqc2-breeze-style-5.24.5.tar.xz";
-      sha256 = "1m0xnx46zkv1dlwkgns1ibgsl934jbcfz35jlm4p8l6n1y2jcjyg";
-      name = "qqc2-breeze-style-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/qqc2-breeze-style-5.25.0.tar.xz";
+      sha256 = "0jw2zk9rrfdb3g983c85c4q539277p0cl2y165zb63p2hrcy44cz";
+      name = "qqc2-breeze-style-5.25.0.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/sddm-kcm-5.24.5.tar.xz";
-      sha256 = "15z5hfpczi73vqjfj9z2ai2r4187fyrvfnikcfb18g2bdh1n54ng";
-      name = "sddm-kcm-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/sddm-kcm-5.25.0.tar.xz";
+      sha256 = "0mj101qsmp3405ir6qnkfc8gm6f3vzy0gdg6zv465mh8fs8yvcf4";
+      name = "sddm-kcm-5.25.0.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/systemsettings-5.24.5.tar.xz";
-      sha256 = "1rg9zx7fhrg91nlarv0cz384agbik47sccj7hhshnxnq1czvawjv";
-      name = "systemsettings-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/systemsettings-5.25.0.tar.xz";
+      sha256 = "1a3x0gig7ixk52hqa7jr85l7xypj8rjaashk8xnq9zmvxlk6idng";
+      name = "systemsettings-5.25.0.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.24.5";
+    version = "5.25.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.5/xdg-desktop-portal-kde-5.24.5.tar.xz";
-      sha256 = "1zn6wln8pccj1x3labms7xippn6xgv4aamwpmzk2rvwss9jwz75m";
-      name = "xdg-desktop-portal-kde-5.24.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.25.0/xdg-desktop-portal-kde-5.25.0.tar.xz";
+      sha256 = "1632pglnz8yv86sgrmmr8zv3h38mw8bk21cshw63bbcfvxmvl88m";
+      name = "xdg-desktop-portal-kde-5.25.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/catch2/3.nix b/pkgs/development/libraries/catch2/3.nix
new file mode 100644
index 00000000000..aaf8c5d5d05
--- /dev/null
+++ b/pkgs/development/libraries/catch2/3.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "catch2";
+  version = "3.0.1";
+
+  src = fetchFromGitHub {
+    owner = "catchorg";
+    repo = "Catch2";
+    rev = "v${version}";
+    hash = "sha256-GcMkAgSfQnWs8wQeQD4ZMxJZED8V7FWBU04qMCutlPo=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeFlags = [
+    "-DCATCH_DEVELOPMENT_BUILD=ON"
+    "-DCATCH_BUILD_TESTING=${if doCheck then "ON" else "OFF"}"
+  ];
+
+  doCheck = true;
+
+  checkInputs = [
+    python3
+  ];
+
+  meta = {
+    description = "Modern, C++-native, test framework for unit-tests";
+    homepage = "https://github.com/catchorg/Catch2";
+    changelog = "https://github.com/catchorg/Catch2/blob/${src.rev}/docs/release-notes.md";
+    license = lib.licenses.boost;
+    maintainers = with lib.maintainers; [ dotlambda ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/jarowinkler-cpp/default.nix b/pkgs/development/libraries/jarowinkler-cpp/default.nix
index f89c54121ca..6ddb8629936 100644
--- a/pkgs/development/libraries/jarowinkler-cpp/default.nix
+++ b/pkgs/development/libraries/jarowinkler-cpp/default.nix
@@ -2,18 +2,18 @@
 , stdenv
 , fetchFromGitHub
 , cmake
-, catch2
+, catch2_3
 }:
 
 stdenv.mkDerivation rec {
   pname = "jarowinkler-cpp";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "maxbachmann";
     repo = "jarowinkler-cpp";
     rev = "v${version}";
-    hash = "sha256-6dIyCyoPs/2wHyGqlE+NC0pwz5ggS5edhN4Jbltx0jg=";
+    hash = "sha256-3/x0fyaDJTouBKbif0ALgMzht6HMEGHNw8g8zQlUcNk=";
   };
 
   nativeBuildInputs = [
@@ -21,15 +21,14 @@ stdenv.mkDerivation rec {
   ];
 
   cmakeFlags = lib.optionals doCheck [
-    "-DRAPIDFUZZ_BUILD_TESTING=ON"
+    "-DJARO_WINKLER_BUILD_TESTING=ON"
   ];
 
   checkInputs = [
-    catch2
+    catch2_3
   ];
 
-  # uses unreleased Catch2 version 3
-  doCheck = false;
+  doCheck = true;
 
   meta = {
     description = "Fast Jaro and Jaro-Winkler distance";
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 7b9931877f0..e742a5c4f97 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.94/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.95/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 1fbd8f7edeb..297d9a80e4b 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -4,667 +4,667 @@
 
 {
   attica = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/attica-5.94.0.tar.xz";
-      sha256 = "0rgg5n7m0bw5ir6k5bvq4r9k1s05xas42bdsh0h8352pvackcagn";
-      name = "attica-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/attica-5.95.0.tar.xz";
+      sha256 = "0g3kbjjvdfry23d6ss79bc1k2f6wijy9n3ymxyq7blmr5cyzjq6n";
+      name = "attica-5.95.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/baloo-5.94.0.tar.xz";
-      sha256 = "0fi7p586322h8x0f83x98kxkfs5klvv8h9d8sr3jmhq3b0p1ii4x";
-      name = "baloo-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/baloo-5.95.0.tar.xz";
+      sha256 = "1zg2s4r74mamfl5dj97yg6c6hah3n5snq4wafy0j9w8y4lmajhcd";
+      name = "baloo-5.95.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/bluez-qt-5.94.0.tar.xz";
-      sha256 = "0ch6rkifx7vrgljz73vvaah09mw17jpb7i7yl2z7lwjy17mnyxvy";
-      name = "bluez-qt-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/bluez-qt-5.95.0.tar.xz";
+      sha256 = "051prfbbzrisr9g0dh9rd5js02w36ddl95v7ak1pv64kzp1dybi3";
+      name = "bluez-qt-5.95.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/breeze-icons-5.94.0.tar.xz";
-      sha256 = "1fx3nfzn4ky8cy91d9ywhpmv09az6hw6j1jc63585fjd6z93y2ry";
-      name = "breeze-icons-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/breeze-icons-5.95.0.tar.xz";
+      sha256 = "0bx9680pz1ffnzrm2bmcsdb61scdc4hg3h94s6zb3wgcanvpqiqs";
+      name = "breeze-icons-5.95.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/extra-cmake-modules-5.94.0.tar.xz";
-      sha256 = "0yfjg3bci0yj6bwgs2sg34jyw51rz4mi207wfnkcz65rwa68lm13";
-      name = "extra-cmake-modules-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/extra-cmake-modules-5.95.0.tar.xz";
+      sha256 = "0nmdj6n7hsxz88s4w1qqbbd7b1031l79fdvqiqz3an19v44j787z";
+      name = "extra-cmake-modules-5.95.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/frameworkintegration-5.94.0.tar.xz";
-      sha256 = "19psnjxs19xbf7fvhmpd8wq400wsh74iyqarwxd7chnjz3msnr4s";
-      name = "frameworkintegration-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/frameworkintegration-5.95.0.tar.xz";
+      sha256 = "04dzy1acjgjrsryjq05lwrhph25fi363qg09gc45q0zy38zwbi55";
+      name = "frameworkintegration-5.95.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kactivities-5.94.0.tar.xz";
-      sha256 = "1pss8h7w3yhdaz1p0a3w6nk3qyr734r5p1m1nfxskcmf7nx5xpaj";
-      name = "kactivities-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kactivities-5.95.0.tar.xz";
+      sha256 = "1mxlmwy1radgklm4mh7rm309v6j7bw1kwfms5jmmv08anrlj5hg3";
+      name = "kactivities-5.95.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kactivities-stats-5.94.0.tar.xz";
-      sha256 = "0h13xwlgpfz7kbwg7fjcjdm8mvh04y84jaa3327k83w3kl87vzl3";
-      name = "kactivities-stats-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kactivities-stats-5.95.0.tar.xz";
+      sha256 = "0lyad8rh0d4dxcm4azg4i60mdlcfi3hsgdpss9lgzcqhnama6mjj";
+      name = "kactivities-stats-5.95.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kapidox-5.94.0.tar.xz";
-      sha256 = "0xsmwm35jfz7nzxzjs0aa86hhy0l71y9l2xmx2d1gqxz742m59qw";
-      name = "kapidox-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kapidox-5.95.0.tar.xz";
+      sha256 = "0f0q0f705adrfhzpq0fkgxqhx6qs8dd0fwsfj0f6764kf2w0xxz5";
+      name = "kapidox-5.95.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/karchive-5.94.0.tar.xz";
-      sha256 = "1r71apql80gzgknqqflsvmksm4mr6bqlmkpviqb9qr3s8fjqgkam";
-      name = "karchive-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/karchive-5.95.0.tar.xz";
+      sha256 = "0jfmrndpkg6axci65y89y13y9iczc1wwp0va47m5210xpwhcx30y";
+      name = "karchive-5.95.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kauth-5.94.0.tar.xz";
-      sha256 = "0na1svylmkzk2vd3pmg9scfgyvbv1lsfz9bkhbw5vym8d6nx1zlw";
-      name = "kauth-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kauth-5.95.0.tar.xz";
+      sha256 = "0fjgffdw7r637sv5h37h5k8kd128p8bxfrwwgpjdhl9gzkrvc5iy";
+      name = "kauth-5.95.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kbookmarks-5.94.0.tar.xz";
-      sha256 = "0z2ibxrpap40wbabgls8jbyrr11v32ml7l5b0gasp6vfdymrkjwc";
-      name = "kbookmarks-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kbookmarks-5.95.0.tar.xz";
+      sha256 = "1w2m7bjkn6c1d0jn936qbidkkq80flvzp5jvv8sbxbnr6v3rmykp";
+      name = "kbookmarks-5.95.0.tar.xz";
     };
   };
   kcalendarcore = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kcalendarcore-5.94.0.tar.xz";
-      sha256 = "0aq4gkbj2vf6j7636jac1bs0pzdcqvra9m22ny4vhkr1x3i1marv";
-      name = "kcalendarcore-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kcalendarcore-5.95.0.tar.xz";
+      sha256 = "10194vpkw19by7cl5r6fcj9vv241n1s6xpm15pqgalhgznj6qskq";
+      name = "kcalendarcore-5.95.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kcmutils-5.94.0.tar.xz";
-      sha256 = "029ksln66n1g993zp4vfh2bmg8ws1cy2r89fhbj25jydj1lyz33r";
-      name = "kcmutils-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kcmutils-5.95.0.tar.xz";
+      sha256 = "0m0b7ymh8xix4psa0l58g7g53b7clzma5chr5bjvwc22fxxhbp8r";
+      name = "kcmutils-5.95.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kcodecs-5.94.0.tar.xz";
-      sha256 = "1yg7p18z4fac4k4gprncw2v4nv547431dpi6lc2ry98x3kxykh5w";
-      name = "kcodecs-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kcodecs-5.95.0.tar.xz";
+      sha256 = "0d4mnfqzixqd91n3cfhis3ppzp9kxfkhgp7v5h6miaknc5ib0yz2";
+      name = "kcodecs-5.95.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kcompletion-5.94.0.tar.xz";
-      sha256 = "193fz8xpmlcyrhmlllzprd0r8pq1b70dikrf1hmkbghbcm0kvl8s";
-      name = "kcompletion-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kcompletion-5.95.0.tar.xz";
+      sha256 = "1wi8zbjcklc1yzljwpy32lla4jhv0w4vylv93nygqjdcp414kb4f";
+      name = "kcompletion-5.95.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kconfig-5.94.0.tar.xz";
-      sha256 = "1mxk3jlixxamki6gl46i1ndlkqyad88yl0707c44znbhy0292vcf";
-      name = "kconfig-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kconfig-5.95.0.tar.xz";
+      sha256 = "1w9icxfbxa6wkjlc6qs6lj00gjid797s6k20x09blgc7lhqgccpx";
+      name = "kconfig-5.95.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kconfigwidgets-5.94.0.tar.xz";
-      sha256 = "025m5zw060jclar73gw9j8jmqzyk0y9wgdgrcw70yjzlgximy19m";
-      name = "kconfigwidgets-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kconfigwidgets-5.95.0.tar.xz";
+      sha256 = "0llx74g252d4w2j6qdyxwgbkkbsjcm5z5mghz0cx1vpn2hgz7drb";
+      name = "kconfigwidgets-5.95.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kcontacts-5.94.0.tar.xz";
-      sha256 = "1y2jc9b2k7mmhv8z2bpc45dhnj9njarrk9k8y6f28w5jv7gigwzp";
-      name = "kcontacts-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kcontacts-5.95.0.tar.xz";
+      sha256 = "1jad89h7yhp0ba7w43s6m6fzcclsfc6dmzqmj1zi52jlllh37mqh";
+      name = "kcontacts-5.95.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kcoreaddons-5.94.0.tar.xz";
-      sha256 = "02qirq0hwz5233yfxsp0fp0ww0l8gyv86x5ybaqsjshd0z7bc42w";
-      name = "kcoreaddons-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kcoreaddons-5.95.0.tar.xz";
+      sha256 = "04rwqw5b8lspnbvfxl995shdrmm6dqlglk2vc2gh03ykcpj7pkwg";
+      name = "kcoreaddons-5.95.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kcrash-5.94.0.tar.xz";
-      sha256 = "1x9wy1qzcyyyk6hsii39hy6yvrffvw62d6lfdjdnxbf2m0n7kis8";
-      name = "kcrash-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kcrash-5.95.0.tar.xz";
+      sha256 = "1y7rs59h61zsasdas2r5y8q3r1vblvymykzihw0wjf6qnzx8pz74";
+      name = "kcrash-5.95.0.tar.xz";
     };
   };
   kdav = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kdav-5.94.0.tar.xz";
-      sha256 = "0gjv6dbsl25805ks3a4y8z5dcwx48wcy4s87bnp137q0w731w8cb";
-      name = "kdav-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kdav-5.95.0.tar.xz";
+      sha256 = "09sg4h1vjsy0ncvaq4wb4m66l71ndx9rh3wrsa3273pp4lyvszbm";
+      name = "kdav-5.95.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kdbusaddons-5.94.0.tar.xz";
-      sha256 = "1s6syhzqy0l5v31r94rzbzqygpwsz6ym7dlxggmg3mnagh8k058a";
-      name = "kdbusaddons-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kdbusaddons-5.95.0.tar.xz";
+      sha256 = "0qx4h365isw8vkbn632gfw39b81gjczvd6ldcwfdfj9ldgwxxzz7";
+      name = "kdbusaddons-5.95.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kdeclarative-5.94.0.tar.xz";
-      sha256 = "023bvl93ia8nwl3swr98n71gz4xwsq87v29kj8ng950rcyknr6gj";
-      name = "kdeclarative-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kdeclarative-5.95.0.tar.xz";
+      sha256 = "1qm0nnxmnldla8z7wz4sjl5bd5bqgql29qbm982gsbyx1z4c9l64";
+      name = "kdeclarative-5.95.0.tar.xz";
     };
   };
   kded = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kded-5.94.0.tar.xz";
-      sha256 = "1igk8in16i29jckqyf5dqn83h2hx727d8n35j7jq2ky6x2in2k9g";
-      name = "kded-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kded-5.95.0.tar.xz";
+      sha256 = "0hdfx8yl66sck6j339q9417s2yvcpr5r27klgw4phz89hca8h6wr";
+      name = "kded-5.95.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/portingAids/kdelibs4support-5.94.0.tar.xz";
-      sha256 = "0cv0lzcgyny2xravgdsbpjz5j5jlp7202dk077nxblv60yqfn9np";
-      name = "kdelibs4support-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/portingAids/kdelibs4support-5.95.0.tar.xz";
+      sha256 = "0pnm8hw96f2jvcy5fjd2pr8x52d8zmzvm0f4wjb5hcq5jf55596n";
+      name = "kdelibs4support-5.95.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/portingAids/kdesignerplugin-5.94.0.tar.xz";
-      sha256 = "00walz1w0mx1jqx7yx76qyig5k1n39mh6xmq4qg317rsgzj53l3b";
-      name = "kdesignerplugin-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/portingAids/kdesignerplugin-5.95.0.tar.xz";
+      sha256 = "1zz1jl2cdxs5jwl21hr89c5wgnpdn1wf0ww5hkss4mmgssr32pgw";
+      name = "kdesignerplugin-5.95.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kdesu-5.94.0.tar.xz";
-      sha256 = "1qfwm4l30iy4gy4df8gf7i8mg11szv2c4s60jgfqqk5bxcil6jch";
-      name = "kdesu-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kdesu-5.95.0.tar.xz";
+      sha256 = "1b63rsb21pjxy0zd2gxarbrm5xsvf8mbf4fnja7ghadck43jnx1f";
+      name = "kdesu-5.95.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/portingAids/kdewebkit-5.94.0.tar.xz";
-      sha256 = "0n8df6y84hd4b3iwfjxk7h06avigq3vgcksi8jh8kjvwwvl77jlv";
-      name = "kdewebkit-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/portingAids/kdewebkit-5.95.0.tar.xz";
+      sha256 = "0b6ykwdb52zvgmcs79drgk8i44gib2si80x6p0sc9adpbk1nwqgj";
+      name = "kdewebkit-5.95.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kdnssd-5.94.0.tar.xz";
-      sha256 = "0qs8jr506aq9i39p8smjsiswjh5zspap3dsvmh7bhayrhgzs5sr8";
-      name = "kdnssd-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kdnssd-5.95.0.tar.xz";
+      sha256 = "10v8w1c7sskf5x956qbfwvca55qwk48jcaa2gv7wrb19bj0dms67";
+      name = "kdnssd-5.95.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kdoctools-5.94.0.tar.xz";
-      sha256 = "1x6j7h1lg4bbr1jjb8nl4jsl0v9lcc5h4hg3svkk9rn5x3zn2kpm";
-      name = "kdoctools-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kdoctools-5.95.0.tar.xz";
+      sha256 = "10isqvlhfqlhl8w46hhn7nmy8yhdi30z99pks8qm75pp3grx0mkg";
+      name = "kdoctools-5.95.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kemoticons-5.94.0.tar.xz";
-      sha256 = "00hkwg63pqz7m10sybcyknn246nr7np62hxg2iayf5x0fmfv2zgs";
-      name = "kemoticons-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kemoticons-5.95.0.tar.xz";
+      sha256 = "0wpl0bd3xd613wyhl11b2gvrh9dkwvl32ik64hzjmq9c7xik3a1n";
+      name = "kemoticons-5.95.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kfilemetadata-5.94.0.tar.xz";
-      sha256 = "1rkp95bx4yvg6qia2lq4vmmlnc3s9lvy7yfw149k77il60d3nmvz";
-      name = "kfilemetadata-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kfilemetadata-5.95.0.tar.xz";
+      sha256 = "018120fygj482capdbl6p30i31b1lhc7zcvdi6l200lcv5n0anvy";
+      name = "kfilemetadata-5.95.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kglobalaccel-5.94.0.tar.xz";
-      sha256 = "1s9md2iz03xhxpx4sacygqqcqqys6z9aa0xjvqy9gl3jd88h0jx3";
-      name = "kglobalaccel-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kglobalaccel-5.95.0.tar.xz";
+      sha256 = "1jq4b6ln7ch6dkj9ki30pn3aga6q0kbzrmw3xv1xwdy1r931xjlk";
+      name = "kglobalaccel-5.95.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kguiaddons-5.94.0.tar.xz";
-      sha256 = "0wrqjxqnrngn85wga4prxyl2jr6wvp4vsxxa5v1wndwd4skq4cgj";
-      name = "kguiaddons-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kguiaddons-5.95.0.tar.xz";
+      sha256 = "037j1vn151xp76ylrd690fwavf49nqs3f6jy2zq658n4jyxskwn7";
+      name = "kguiaddons-5.95.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kholidays-5.94.0.tar.xz";
-      sha256 = "0p85i8l157616an8p1iaydzy575wh47qn3cfq7imhxlxki9kadz5";
-      name = "kholidays-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kholidays-5.95.0.tar.xz";
+      sha256 = "01zdl4l0gnzl4fvxbgzqygffnliy1ldnzf3rf931if7pqpcyffak";
+      name = "kholidays-5.95.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/portingAids/khtml-5.94.0.tar.xz";
-      sha256 = "0ycvzqj1xdjbwwgqp97siljxbk5fig8ijrydjcnirg1g98l2mgcq";
-      name = "khtml-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/portingAids/khtml-5.95.0.tar.xz";
+      sha256 = "01iyrgx322wi2sqlcfkij95yxgv54q1mbpxiv3m814xx85iqljsk";
+      name = "khtml-5.95.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/ki18n-5.94.0.tar.xz";
-      sha256 = "0jll112q4wrcjrd8wmspf95a0a1aqxkhv1390i9yhw1m6hr86nhc";
-      name = "ki18n-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/ki18n-5.95.0.tar.xz";
+      sha256 = "0va28798xj1xk0agggxc8g96kd1ygigfsi438ni4qb54d7fpxmsx";
+      name = "ki18n-5.95.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kiconthemes-5.94.0.tar.xz";
-      sha256 = "14s9h6mk3f4qg97bj0d3b6j7x80jhnlb4kdx9bpp9jvwrlfxhwnr";
-      name = "kiconthemes-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kiconthemes-5.95.0.tar.xz";
+      sha256 = "1sy34s7vf915vwnighvfvzdlzk58vwc5pkhjry9hncvkw5wlmrnd";
+      name = "kiconthemes-5.95.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kidletime-5.94.0.tar.xz";
-      sha256 = "1s73nk23js4ly679pq5c4lbry8sgvh0dzf5fyrn8dj6fbda3s756";
-      name = "kidletime-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kidletime-5.95.0.tar.xz";
+      sha256 = "05wjx19lgwnf5mbw9vx34mf0a2wfg3vkrkv96f5a9hir58j0q3ds";
+      name = "kidletime-5.95.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kimageformats-5.94.0.tar.xz";
-      sha256 = "0m2ffzlgjl4sz1plf1lpsxvkni1nr93rq8kab2frbj8x15n652di";
-      name = "kimageformats-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kimageformats-5.95.0.tar.xz";
+      sha256 = "1zmqvgl768lyysszq8pc00a2m1ipdbra5a2rhmn250n610b02yi5";
+      name = "kimageformats-5.95.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kinit-5.94.0.tar.xz";
-      sha256 = "0qdw3qz9zbp3i19zgal8wffwiylib3d3ydmfih7dqdx8rq4zk67f";
-      name = "kinit-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kinit-5.95.0.tar.xz";
+      sha256 = "0yzhkfj724lc25cab97lywsshm0180kcmgw1991zzbhikjnyfnyc";
+      name = "kinit-5.95.0.tar.xz";
     };
   };
   kio = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kio-5.94.0.tar.xz";
-      sha256 = "16yhj3wh57gc0azqq01ssqzg0nqa6f904p68jl6p6ifq967bzh45";
-      name = "kio-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kio-5.95.0.tar.xz";
+      sha256 = "11vnwcfb65a8x2hrb0xp89bvljgapjzm5vffy6q4j4pcbbgz1iwp";
+      name = "kio-5.95.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kirigami2-5.94.0.tar.xz";
-      sha256 = "0fcf8ah4vh7arb3iavpk0psy81agyj6vfg8s9sgk7ssz6aipvwnp";
-      name = "kirigami2-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kirigami2-5.95.0.tar.xz";
+      sha256 = "078fm14y9k0nsdxkci7k25l11zd2zd6r6nbhfmsfhn6hb4dbz77g";
+      name = "kirigami2-5.95.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kitemmodels-5.94.0.tar.xz";
-      sha256 = "12ag11m7sf23h9nd41jvpws7cakzwicvawckdx1vmch2fnwz4pvh";
-      name = "kitemmodels-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kitemmodels-5.95.0.tar.xz";
+      sha256 = "1mr2dd7aj1vi1nkm8c93adyj51ins2kynmp0dsh8gzbf0sh338bm";
+      name = "kitemmodels-5.95.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kitemviews-5.94.0.tar.xz";
-      sha256 = "0bmm71lm59spxwc0hrw1yd7m0a8qs55yydijld57zq4wf55k6xav";
-      name = "kitemviews-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kitemviews-5.95.0.tar.xz";
+      sha256 = "1zi2vchnxjy9spxg0405lg5616sf4j6c847zckmh66w6vxq41nvj";
+      name = "kitemviews-5.95.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kjobwidgets-5.94.0.tar.xz";
-      sha256 = "01xh880avavzbbrk65y6gsn011w6pbsk7ian753az1i8m3y4akq1";
-      name = "kjobwidgets-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kjobwidgets-5.95.0.tar.xz";
+      sha256 = "0v8l46wjmkcy1ifbfc3w05qahy5lnpjrhyxziszbs05wc3yglprf";
+      name = "kjobwidgets-5.95.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/portingAids/kjs-5.94.0.tar.xz";
-      sha256 = "06rw7gch4hw2kib4v9p5zzlkz8n3wjifdrxhwywcqy5rvsi18gpr";
-      name = "kjs-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/portingAids/kjs-5.95.0.tar.xz";
+      sha256 = "1g2yg4p32q0s7rdx98ig7hk11f0awn14xzwid0xfi64wvdfz65ss";
+      name = "kjs-5.95.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/portingAids/kjsembed-5.94.0.tar.xz";
-      sha256 = "0bpnvvz0gc8j5ywljhc8i5ws6f6inds710xwxvp9ymqgkm3kgkpk";
-      name = "kjsembed-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/portingAids/kjsembed-5.95.0.tar.xz";
+      sha256 = "1cbvfvp6dnbgh14156gpcl9fds8dxbkxcn9svhkfha4157zwq7xb";
+      name = "kjsembed-5.95.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/portingAids/kmediaplayer-5.94.0.tar.xz";
-      sha256 = "1310v2krzgxz7ghcws83p47hrlap7qxpnc38l5y3j7g21kgzdw8b";
-      name = "kmediaplayer-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/portingAids/kmediaplayer-5.95.0.tar.xz";
+      sha256 = "1qxh43qamvcr6wzhj2rnlhvdyp6hkyx98iwbygsr46g41nhc7ygv";
+      name = "kmediaplayer-5.95.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/knewstuff-5.94.0.tar.xz";
-      sha256 = "0vrkj2p9pqp49ph0rpy45dawli3j4mbcncw3x45d8rmbk57h3kda";
-      name = "knewstuff-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/knewstuff-5.95.0.tar.xz";
+      sha256 = "0px9di3973bm8vjnikfjhqlfwsj5q4phidzc0s23x941nrv3d0gq";
+      name = "knewstuff-5.95.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/knotifications-5.94.0.tar.xz";
-      sha256 = "1gs39fvk0rylrlxsvym8pb58c8106fqbvrx3bp3rdw355giirmf8";
-      name = "knotifications-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/knotifications-5.95.0.tar.xz";
+      sha256 = "0hl1q0rz5g35vzxczaf5lap5pj9h7a8s706220s7b6z89mi8c95x";
+      name = "knotifications-5.95.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/knotifyconfig-5.94.0.tar.xz";
-      sha256 = "0449pb1j2m3jxafvv53qyrma309g3xm3q7fxxlpqxaw2fjd9i1db";
-      name = "knotifyconfig-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/knotifyconfig-5.95.0.tar.xz";
+      sha256 = "1s1npl1h22b2pp2r43f0h2jmlrgrlf2sf33zc3acxhalvg9zwgkd";
+      name = "knotifyconfig-5.95.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kpackage-5.94.0.tar.xz";
-      sha256 = "057lpas5d9m43rshp36p2dmrwpk14saa5n7jg5l0zcf940lrqk2d";
-      name = "kpackage-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kpackage-5.95.0.tar.xz";
+      sha256 = "0pv0zyazf0bawj8wh4jz3m7kny84vana5a6w0s1ff4z2igqib11z";
+      name = "kpackage-5.95.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kparts-5.94.0.tar.xz";
-      sha256 = "1fkbs0gfcg6ps5az0anf03w961xm9vmq0pd8br7yip4p387i5985";
-      name = "kparts-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kparts-5.95.0.tar.xz";
+      sha256 = "097zr2mn2l5rlgv6alhs1gyrig2vzvsgzikv6dspdhh4f3ydz962";
+      name = "kparts-5.95.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kpeople-5.94.0.tar.xz";
-      sha256 = "0x2jdb9x1fss95bzra51dz902q8h78qgq4j5j4c3agi2ihvvlzi1";
-      name = "kpeople-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kpeople-5.95.0.tar.xz";
+      sha256 = "0002yhlzvwmhmdcnx48xc5q577r9yxq5jv978avx7axl4fmxjzi9";
+      name = "kpeople-5.95.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kplotting-5.94.0.tar.xz";
-      sha256 = "1ah6fsskdnkh6m2nyjm64rxqfyxgg6jj0ydcqivq1m81hrhnsgbq";
-      name = "kplotting-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kplotting-5.95.0.tar.xz";
+      sha256 = "0jyip5s2razcg8rfg4li3a14bisqbfzh1x6zc2z90vg8cgihqjny";
+      name = "kplotting-5.95.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kpty-5.94.0.tar.xz";
-      sha256 = "1jj6aw0zlbw5mljv2q990m62y381aqjih7pvqnjsdk2licqn16jn";
-      name = "kpty-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kpty-5.95.0.tar.xz";
+      sha256 = "0pjzb7n8y3frp3b88caqhrnzfckkrgq1rq0j1n298ym78pjq077n";
+      name = "kpty-5.95.0.tar.xz";
     };
   };
   kquickcharts = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kquickcharts-5.94.0.tar.xz";
-      sha256 = "0a4mxb7wkqjq3iclhxnb7pkikb7yj2y4lyb080cni2wknjyzlr9h";
-      name = "kquickcharts-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kquickcharts-5.95.0.tar.xz";
+      sha256 = "09fkhxm3vx488xiiqm9wg7vwcqyj7k54rxrgk8pc2gjbg2af22bs";
+      name = "kquickcharts-5.95.0.tar.xz";
     };
   };
   kross = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/portingAids/kross-5.94.0.tar.xz";
-      sha256 = "0j9dchgldl0z2xi25r82fcflvqp05njgscpqjzmddpih4nyjas8x";
-      name = "kross-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/portingAids/kross-5.95.0.tar.xz";
+      sha256 = "05brnf4dy8vrrqsv1394g26wr593857zf808pjr3mj97pkbgszjm";
+      name = "kross-5.95.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/krunner-5.94.0.tar.xz";
-      sha256 = "1lfbnwhk74b42cs5vnlx36mrrlnj9s2qqnca5zggk10837dbrc1j";
-      name = "krunner-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/krunner-5.95.0.tar.xz";
+      sha256 = "0w0nc0a0i6bbgsp1l6iky6lixhyyzgq1p8rxas72dbrjbs541lb0";
+      name = "krunner-5.95.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kservice-5.94.0.tar.xz";
-      sha256 = "0civwkm4wknrh30674lw2mag46m0jdpzjabfpqf0n1m4q1gi1b8s";
-      name = "kservice-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kservice-5.95.0.tar.xz";
+      sha256 = "1rh48ij8vh72q7v9dlawgqb4kwvdgj8xl45hpn9dfx43h2iyjwfw";
+      name = "kservice-5.95.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/ktexteditor-5.94.0.tar.xz";
-      sha256 = "1dmkw5am89pjzazs2s9f1yv5lni0aa3hxr6w46w8lwbx2sbrjbfq";
-      name = "ktexteditor-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/ktexteditor-5.95.0.tar.xz";
+      sha256 = "0yrykpangay6jb74hbr6i6m0v88dshy078qxd2myvj4gx8xbdrfm";
+      name = "ktexteditor-5.95.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/ktextwidgets-5.94.0.tar.xz";
-      sha256 = "0rnqkqwq9zffxh6swpd5riyir21rpdbm5mf1cqy4qvsjrgdfxz24";
-      name = "ktextwidgets-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/ktextwidgets-5.95.0.tar.xz";
+      sha256 = "0vjyq80nn8g4xxsq6d3z5lphl2ikg64jbl5c59q5vsnkkg4j534x";
+      name = "ktextwidgets-5.95.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kunitconversion-5.94.0.tar.xz";
-      sha256 = "0jc0lffaz1wq26a251vgk6c16lqfqdkb81p789016ifv4kqz1bg4";
-      name = "kunitconversion-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kunitconversion-5.95.0.tar.xz";
+      sha256 = "079ljkgmx5nkhs29rinbrld4scy2k69fjnbia2jfwijy0slac00g";
+      name = "kunitconversion-5.95.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kwallet-5.94.0.tar.xz";
-      sha256 = "0ciabsayzy2r1aknwgns7s9759y2kfrxwmzycwxm9rsffm16ndh1";
-      name = "kwallet-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kwallet-5.95.0.tar.xz";
+      sha256 = "1gk55ny4zxhwq78gn8da4zwcjxvwf5z9y7dipiam0ybkwjz2pkrd";
+      name = "kwallet-5.95.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kwayland-5.94.0.tar.xz";
-      sha256 = "0di6rax4mdismqa4fzx30rj5y2ds211b7kwir6cff76qnkhxi95j";
-      name = "kwayland-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kwayland-5.95.0.tar.xz";
+      sha256 = "0ba71k97qp5czg4d07pp75gfrkp5rgmvd2y9vv7n6mhfrgqsd3rb";
+      name = "kwayland-5.95.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kwidgetsaddons-5.94.0.tar.xz";
-      sha256 = "0cix00d2dbbb3l523xri4is4xvbf3bn6vg10yyjrhqjxqqayv3k7";
-      name = "kwidgetsaddons-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kwidgetsaddons-5.95.0.tar.xz";
+      sha256 = "0b3i47p6495pz9nph85qliscbxsrpq76s9a37bkb8nv1wf3nyyw3";
+      name = "kwidgetsaddons-5.95.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kwindowsystem-5.94.0.tar.xz";
-      sha256 = "0y1wlhm3ng2pb970hvgsyv6gn3irrkw5y9nmvzx28gxcx7abgssj";
-      name = "kwindowsystem-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kwindowsystem-5.95.0.tar.xz";
+      sha256 = "1wxvhi8jwvnvgg5pyj6q6gqs24akzmjdw76g57qcfgq95a9byszi";
+      name = "kwindowsystem-5.95.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/kxmlgui-5.94.0.tar.xz";
-      sha256 = "1mlxc4wdqnh77g7j0hxrg9jfrdjk9sh3bahp10r17l8fzwq1g8s3";
-      name = "kxmlgui-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/kxmlgui-5.95.0.tar.xz";
+      sha256 = "16rk1fb8n0ay3g305qmjfhrv6zq7fbilq02386wwgdczg98x8r8h";
+      name = "kxmlgui-5.95.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/portingAids/kxmlrpcclient-5.94.0.tar.xz";
-      sha256 = "10hz8nijhih0n3z83n3khy2hdflsjq8i4q0y9jjpqp1d0b5rbb35";
-      name = "kxmlrpcclient-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/portingAids/kxmlrpcclient-5.95.0.tar.xz";
+      sha256 = "1ldykbr4x582k43b8bh01zzxbdfzyz2ckpqd9hpq9iab4njlh6gw";
+      name = "kxmlrpcclient-5.95.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/modemmanager-qt-5.94.0.tar.xz";
-      sha256 = "1wmz27713kh2i2m227008f412dcf65nvnnax60hrg2nkp8vdqa3r";
-      name = "modemmanager-qt-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/modemmanager-qt-5.95.0.tar.xz";
+      sha256 = "0n9majjny43gic3s73v317wxyfzicf1j2cd7ly7fb1wpm5l9684x";
+      name = "modemmanager-qt-5.95.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/networkmanager-qt-5.94.0.tar.xz";
-      sha256 = "00k5k1xv53hf24k9w3sd5am64zz5zph3fx63q6xpf3pz371qq80j";
-      name = "networkmanager-qt-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/networkmanager-qt-5.95.0.tar.xz";
+      sha256 = "0wkk6kblbvazplfr7wwzb552jv3560ng80wp56kihnagxkhch491";
+      name = "networkmanager-qt-5.95.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/oxygen-icons5-5.94.0.tar.xz";
-      sha256 = "1l6izhrqqvf5vh2ib8zf1fjh5d9i9ri5jg9x3k1wi0xp7yy9sg90";
-      name = "oxygen-icons5-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/oxygen-icons5-5.95.0.tar.xz";
+      sha256 = "1993sy7a4zvw5nbzjc9ii67f9wsba683szi39rl3gl6iy17i3lrd";
+      name = "oxygen-icons5-5.95.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/plasma-framework-5.94.0.tar.xz";
-      sha256 = "0apd2n453yk8ifv6zq6845rwsacm1vpw9xwv26a221k1gfggpsvc";
-      name = "plasma-framework-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/plasma-framework-5.95.0.tar.xz";
+      sha256 = "0px54bymfvwl9cyd31vgnmn1h87w1fwzqmdis3hv4q2yk2anqnsz";
+      name = "plasma-framework-5.95.0.tar.xz";
     };
   };
   prison = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/prison-5.94.0.tar.xz";
-      sha256 = "1jyi0vd5msj7cf2jv21ibpp8lkn5yvd5wv3rbnkdnqwzamw7jq4r";
-      name = "prison-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/prison-5.95.0.tar.xz";
+      sha256 = "0i3gczd1qmxd80m4pra3fgzg1q7xvv6kfmf7c9a24misc02vwvb1";
+      name = "prison-5.95.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/purpose-5.94.0.tar.xz";
-      sha256 = "1axk852xpiz1a67b5zh08r01zr6x15k0sd7np9564s9agybzzbbk";
-      name = "purpose-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/purpose-5.95.0.tar.xz";
+      sha256 = "002py7c162991p40hsyiqpafd6zfd5amr2b9khw0bkf72ckj0936";
+      name = "purpose-5.95.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/qqc2-desktop-style-5.94.0.tar.xz";
-      sha256 = "0j3y1vnqv12lz33vrif6fb5nc3sk5z52fsw77i12xhlkpq6j258b";
-      name = "qqc2-desktop-style-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/qqc2-desktop-style-5.95.0.tar.xz";
+      sha256 = "04vkwbdlm141zgm46y1h2ypkf5w8lcbj6xbbmrkii6crv8g88ass";
+      name = "qqc2-desktop-style-5.95.0.tar.xz";
     };
   };
   solid = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/solid-5.94.0.tar.xz";
-      sha256 = "01qiz8l12jw9rd085swx2kbbjaci6lnqx323a6g4nskbwc0x93lx";
-      name = "solid-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/solid-5.95.0.tar.xz";
+      sha256 = "0vind63kb4kl4741fy0h9rcj7579w80csmkz4ldiik50gl8hjjjc";
+      name = "solid-5.95.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/sonnet-5.94.0.tar.xz";
-      sha256 = "0k27nxk20i4r9sa6gy56r4s7dnn51igbyvzz3nwvcswdfij0lmwc";
-      name = "sonnet-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/sonnet-5.95.0.tar.xz";
+      sha256 = "18praj54sgnmsgqhmwp0w2jvs78k5i9j831dxfjnrzmc2ncgn1aw";
+      name = "sonnet-5.95.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/syndication-5.94.0.tar.xz";
-      sha256 = "0nv88hhdy8r42ghm2r0pskshihjqc46zx8x61rk5x3c9skj153j5";
-      name = "syndication-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/syndication-5.95.0.tar.xz";
+      sha256 = "0dh8hikdfd7xdvp3rqi453v10gxq0sf5z3hzb0xsgx1y402z9mfc";
+      name = "syndication-5.95.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/syntax-highlighting-5.94.0.tar.xz";
-      sha256 = "19p5vn6rrhqlhzjs73zagzzdbcrj5jl37n7x35lq6m83llr171yg";
-      name = "syntax-highlighting-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/syntax-highlighting-5.95.0.tar.xz";
+      sha256 = "00j88xgya0xcwrg1n0kzp5ba2f3ppp8whw66fzpksahzfvcwm71x";
+      name = "syntax-highlighting-5.95.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.94.0";
+    version = "5.95.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.94/threadweaver-5.94.0.tar.xz";
-      sha256 = "1ig1m00bpil0qixa3kshd8smijyasr7svps97d1pwfy5c8d47n47";
-      name = "threadweaver-5.94.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.95/threadweaver-5.95.0.tar.xz";
+      sha256 = "0gnxy97az0jy88rl2ly5f858yzwml9la1hkln9nvh8c7q2girc5s";
+      name = "threadweaver-5.95.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/libbluedevil/default.nix b/pkgs/development/libraries/libbluedevil/default.nix
deleted file mode 100644
index 7cb4c9e2b32..00000000000
--- a/pkgs/development/libraries/libbluedevil/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib, stdenv, fetchurl, cmake, qt4 }:
-
-stdenv.mkDerivation rec {
-  pname = "libbluedevil";
-  # bluedevil must have the same major version (x.y) as libbluedevil!
-  # do not update this package without checking bluedevil
-  version = "2.1";
-
-  src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "0p4f0brhcz9gfxfd6114fa5x6swfdmgzv350xwncdr0s1qnamk8c";
-  };
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ qt4 ];
-
-  meta = {
-    platforms = lib.platforms.unix;
-    license = lib.licenses.gpl2Plus;
-  };
-}
diff --git a/pkgs/development/libraries/rapidfuzz-cpp/default.nix b/pkgs/development/libraries/rapidfuzz-cpp/default.nix
index 2e1ad8080fa..99c3059c7a5 100644
--- a/pkgs/development/libraries/rapidfuzz-cpp/default.nix
+++ b/pkgs/development/libraries/rapidfuzz-cpp/default.nix
@@ -2,20 +2,29 @@
 , stdenv
 , fetchFromGitHub
 , cmake
-, catch2
+, catch2_3
 }:
 
 stdenv.mkDerivation rec {
   pname = "rapidfuzz-cpp";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "maxbachmann";
     repo = "rapidfuzz-cpp";
     rev = "v${version}";
-    hash = "sha256-331iW0nu5MlxuKNTgMkRSASnglxn+hEWBhRMnw0lY2Y=";
+    hash = "sha256-Tf7nEMXiem21cvQHPnYnCvOOLg0KBBnNQDaYIcHcm2g=";
   };
 
+  patches = lib.optionals doCheck [
+    ./dont-fetch-project-options.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace test/CMakeLists.txt \
+      --replace WARNINGS_AS_ERRORS ""
+  '';
+
   nativeBuildInputs = [
     cmake
   ];
@@ -25,11 +34,10 @@ stdenv.mkDerivation rec {
   ];
 
   checkInputs = [
-    catch2
+    catch2_3
   ];
 
-  # uses unreleased Catch2 version 3
-  doCheck = false;
+  doCheck = true;
 
   meta = {
     description = "Rapid fuzzy string matching in C++ using the Levenshtein Distance";
diff --git a/pkgs/development/libraries/rapidfuzz-cpp/dont-fetch-project-options.patch b/pkgs/development/libraries/rapidfuzz-cpp/dont-fetch-project-options.patch
new file mode 100644
index 00000000000..ab88c530d40
--- /dev/null
+++ b/pkgs/development/libraries/rapidfuzz-cpp/dont-fetch-project-options.patch
@@ -0,0 +1,58 @@
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 5ba4464..ad72319 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -12,39 +12,10 @@ else()
+     FetchContent_MakeAvailable(Catch2)
+ endif()
+ 
+-# include aminya & jason turner's C++ best practices recommended cmake project utilities
+-include(FetchContent)
+-FetchContent_Declare(_project_options URL https://github.com/aminya/project_options/archive/refs/tags/v0.20.0.zip)
+-FetchContent_MakeAvailable(_project_options)
+-include(${_project_options_SOURCE_DIR}/Index.cmake)
+-
+-project_options(
+-        # ENABLE_CACHE
+-        # ENABLE_CONAN
+-        WARNINGS_AS_ERRORS
+-        # ENABLE_CPPCHECK
+-        # ENABLE_CLANG_TIDY
+-        # ENABLE_INCLUDE_WHAT_YOU_USE
+-        # ENABLE_COVERAGE
+-        # ENABLE_PCH
+-        # PCH_HEADERS <Eigen/Dense> <fmt/core.h> <vector> <utility> <string> <string_view>
+-        # ENABLE_DOXYGEN
+-        # ENABLE_IPO
+-        # ENABLE_USER_LINKER
+-        # ENABLE_BUILD_WITH_TIME_TRACE
+-        # ENABLE_UNITY
+-        # ENABLE_SANITIZER_ADDRESS
+-        # ENABLE_SANITIZER_LEAK
+-        # ENABLE_SANITIZER_UNDEFINED_BEHAVIOR
+-        # ENABLE_SANITIZER_THREAD
+-        # ENABLE_SANITIZER_MEMORY
+-        # CLANG_WARNINGS "-Weverything"
+-)
+-
+ function(rapidfuzz_add_test test)
+     add_executable(test_${test} tests-${test}.cpp)
+     target_link_libraries(test_${test} ${PROJECT_NAME})
+-    target_link_libraries(test_${test} Catch2::Catch2WithMain project_warnings)
++    target_link_libraries(test_${test} Catch2::Catch2WithMain)
+     add_test(NAME ${test} COMMAND test_${test})
+ endfunction()
+ 
+diff --git a/test/distance/CMakeLists.txt b/test/distance/CMakeLists.txt
+index 2a70054..7a43c88 100644
+--- a/test/distance/CMakeLists.txt
++++ b/test/distance/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ function(rapidfuzz_add_test test)
+     add_executable(test_${test} tests-${test}.cpp)
+     target_link_libraries(test_${test} ${PROJECT_NAME})
+-    target_link_libraries(test_${test} Catch2::Catch2WithMain project_warnings)
++    target_link_libraries(test_${test} Catch2::Catch2WithMain)
+     add_test(NAME ${test} COMMAND test_${test})
+ endfunction()
+ 
diff --git a/pkgs/development/ocaml-modules/tsort/default.nix b/pkgs/development/ocaml-modules/tsort/default.nix
index fdfe7a650e5..1e40488080a 100644
--- a/pkgs/development/ocaml-modules/tsort/default.nix
+++ b/pkgs/development/ocaml-modules/tsort/default.nix
@@ -2,13 +2,12 @@
 
 buildDunePackage rec {
   pname = "tsort";
-  useDune2 = true;
-  version = "2.0.0";
+  version = "2.1.0";
   src = fetchFromGitHub {
     owner = "dmbaturin";
     repo = "ocaml-tsort";
     rev = version;
-    sha256 = "0i67ys5p5i8q9p0nhkq4pjg9jav8dy0fiy975a365j7m6bhrwgc1";
+    sha256 = "sha256-SCd0R8iGwMeRhhSxMid9lzqj5fm+owCJ2dzwtLpFqB4=";
   };
 
   propagatedBuildInputs = [ containers ];
diff --git a/pkgs/development/python-modules/aesara/default.nix b/pkgs/development/python-modules/aesara/default.nix
index 56d298f6ed1..7f7007ff0e9 100644
--- a/pkgs/development/python-modules/aesara/default.nix
+++ b/pkgs/development/python-modules/aesara/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "aesara";
-  version = "2.7.1";
+  version = "2.7.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "aesara-devs";
     repo = "aesara";
     rev = "refs/tags/rel-${version}";
-    hash = "sha256-qjAaW7YYmzGBNpc8T5RyOdP5evkKOdzUGzQ9JXKioxw=";
+    hash = "sha256-NJxklOpIbSbi/SB/rafBNllpnNb1yWLVpyB2f/U0i78=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix b/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
index a6984e773dd..47f667a4688 100644
--- a/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
+++ b/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "appthreat-vulnerability-db";
-  version = "2.0.2";
+  version = "2.0.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "AppThreat";
     repo = "vulnerability-db";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-Ozf3qmD9JRH19N/eERhDHz4LUoWwCVepLbSRCg6lWnQ=";
+    sha256 = "sha256-ThUkDCoRKefAqTmOxCk9W9LZlCqUU+jxF0egjthH4JI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cachelib/default.nix b/pkgs/development/python-modules/cachelib/default.nix
index 5a5c001c135..6c0bb626f9b 100644
--- a/pkgs/development/python-modules/cachelib/default.nix
+++ b/pkgs/development/python-modules/cachelib/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "cachelib";
-  version = "0.7.0";
+  version = "0.8.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "pallets";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-/378xNkBZHoTJ9Qs8RTYi+QosLs7GBgMOkIDYOaSH1Y=";
+    sha256 = "sha256-MtfBiis0oXF4sxCUI/uneZM/OFzmTy+pj8ddTxamKrs=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/cssutils/default.nix b/pkgs/development/python-modules/cssutils/default.nix
index 265504938df..e313b6f5f06 100644
--- a/pkgs/development/python-modules/cssutils/default.nix
+++ b/pkgs/development/python-modules/cssutils/default.nix
@@ -6,9 +6,9 @@
 , fetchPypi
 , setuptools
 , setuptools-scm
-, toml
 , importlib-metadata
 , cssselect
+, jaraco-test
 , lxml
 , mock
 , pytestCheckHook
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "cssutils";
-  version = "2.4.0";
+  version = "2.4.2";
 
   disabled = pythonOlder "3.7";
 
@@ -25,13 +25,12 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LZchCoOwo/4eRGn1/5pkILB4VyA1GIsbq3EDw6NtyJs=";
+    sha256 = "877818bfa9668cc535773f46e6b6a46de28436191211741b3f7b4aaa64d9afbb";
   };
 
   nativeBuildInputs = [
     setuptools
     setuptools-scm
-    toml
   ];
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
@@ -40,6 +39,7 @@ buildPythonPackage rec {
 
   checkInputs = [
     cssselect
+    jaraco-test
     lxml
     mock
     pytestCheckHook
diff --git a/pkgs/development/python-modules/dash/default.nix b/pkgs/development/python-modules/dash/default.nix
index eb2e6419109..f5387a0d53c 100644
--- a/pkgs/development/python-modules/dash/default.nix
+++ b/pkgs/development/python-modules/dash/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "dash";
-  version = "2.5.0";
+  version = "2.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "plotly";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Qh5oOkTxEbxXXDX+g9TDa5DiYBlMpnx0yKsn/XMfMF0=";
+    hash = "sha256-ptJ/rRAENiwcvnCM80gewUwW5Q77gD0b/NF534LpPfY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flammkuchen/default.nix b/pkgs/development/python-modules/flammkuchen/default.nix
index 1349e10c539..eabfd1ad6fa 100644
--- a/pkgs/development/python-modules/flammkuchen/default.nix
+++ b/pkgs/development/python-modules/flammkuchen/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "flammkuchen";
-  version = "0.9.2";
+  version = "1.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f249fe5bf85f717d3836e0db6fa9443a8a43101ce07704715b42251c44fc968e";
+    sha256 = "sha256-KtMGQftoYVNNMtfYeYiaQyMLAySpf9YXLMxj+e/CV5I=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/gnureadline/default.nix b/pkgs/development/python-modules/gnureadline/default.nix
index 6f3ae30e8cd..6a3b4cb4647 100644
--- a/pkgs/development/python-modules/gnureadline/default.nix
+++ b/pkgs/development/python-modules/gnureadline/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "8.0.0";
+  version = "8.1.2";
   pname = "gnureadline";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xllr43dizvybmb68i0ybk1xhaqx5abjwxa9vrg43b9ds0pggvk1";
+    sha256 = "sha256-QmKmqjVqsi72QvQ6f5TrQqctbwxTLttOjGuTP1cwVtI=";
   };
 
   buildInputs = [ pkgs.ncurses ];
diff --git a/pkgs/development/python-modules/jaraco-test/default.nix b/pkgs/development/python-modules/jaraco-test/default.nix
new file mode 100644
index 00000000000..3f3f9d54f87
--- /dev/null
+++ b/pkgs/development/python-modules/jaraco-test/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, setuptools
+, setuptools-scm
+, toml
+, jaraco_functools
+, jaraco-context
+, more-itertools
+, jaraco_collections
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "jaraco-test";
+  version = "5.1.0";
+
+  disabled = pythonOlder "3.7";
+
+  format = "pyproject";
+
+  src = fetchPypi {
+    pname = "jaraco.test";
+    inherit version;
+    sha256 = "04a7503c0c78cd057bd6b5f16ad1e3379b911b619df6694480a564ebc214c0a8";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    toml
+    jaraco_functools
+    jaraco-context
+    more-itertools
+    jaraco_collections
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "jaraco.test" ];
+
+  meta = {
+    description = "Testing support by jaraco";
+    homepage = "https://github.com/jaraco/jaraco.test";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/mkdocs-material/default.nix b/pkgs/development/python-modules/mkdocs-material/default.nix
index 326cffcd640..f59ea0d41a6 100644
--- a/pkgs/development/python-modules/mkdocs-material/default.nix
+++ b/pkgs/development/python-modules/mkdocs-material/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonApplication rec {
   pname = "mkdocs-material";
-  version = "8.3.4";
+  version = "8.3.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonApplication rec {
     owner = "squidfunk";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-UQGszU1ICundexXSHMdDm15FjlnzK1ifuRn2M5fp1sA=";
+    hash = "sha256-1fRNq2vOWTaUa8OZE1EkLH/2pt9vpUBkWXmro+aqwmA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mockito/default.nix b/pkgs/development/python-modules/mockito/default.nix
index e11e2f7b41b..1d2509c4a75 100644
--- a/pkgs/development/python-modules/mockito/default.nix
+++ b/pkgs/development/python-modules/mockito/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k, funcsigs, pytest, numpy }:
 
 buildPythonPackage rec {
-  version = "1.3.0";
+  version = "1.3.1";
   pname = "mockito";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5d41a5f6ec0b8fc32b6d796480d4849ee5fb0ac75d12f13862f1622684f5f578";
+    sha256 = "sha256-o8Hg3UnxWbJITBu/IjsbWRHDiJ5smffKUNHAqG21170=";
   };
 
   propagatedBuildInputs = lib.optionals (!isPy3k) [ funcsigs ];
diff --git a/pkgs/development/python-modules/plaid-python/default.nix b/pkgs/development/python-modules/plaid-python/default.nix
index 20613e518af..c67c50afd84 100644
--- a/pkgs/development/python-modules/plaid-python/default.nix
+++ b/pkgs/development/python-modules/plaid-python/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "plaid-python";
-  version = "9.5.0";
+  version = "9.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-gjYlr2rp2xRMcFKbA4Y/Pb7YYOUR4LTzMtVoG1iMlx0=";
+    hash = "sha256-LijBSAnRwXoeddWwolamM3QYSTwFvgodmaIbayco8fY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyclipper/default.nix b/pkgs/development/python-modules/pyclipper/default.nix
index a6e023366ac..9216f0d5b89 100644
--- a/pkgs/development/python-modules/pyclipper/default.nix
+++ b/pkgs/development/python-modules/pyclipper/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyclipper";
-  version = "1.3.0.post2";
+  version = "1.3.0.post3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,8 +17,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "fonttools";
     repo = pname;
-    rev = version;
-    hash = "sha256-AFdfzM1zdhmfh3Uu5fFVOMWStbuHxKS3FovZPTeuNFA=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-viBnmzbCAH9QaVHwUq43rm11e8o3N/jtGsGpmRZokaw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/qcelemental/default.nix b/pkgs/development/python-modules/qcelemental/default.nix
index c5e9c92010e..d40252c563b 100644
--- a/pkgs/development/python-modules/qcelemental/default.nix
+++ b/pkgs/development/python-modules/qcelemental/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "qcelemental";
-  version = "0.24.0";
+  version = "0.25.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-XcsR89tu26EG5AcXqmndkESLGWZ8eKmTkjaLziosawE=";
+    sha256 = "sha256-v1yu6yBEtgVsheku/8YaIaXrsVgMzcFlWAuySPhYgyQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/rapidfuzz/default.nix b/pkgs/development/python-modules/rapidfuzz/default.nix
index 45929e3c991..9012473f064 100644
--- a/pkgs/development/python-modules/rapidfuzz/default.nix
+++ b/pkgs/development/python-modules/rapidfuzz/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , cmake
 , cython_3
+, ninja
 , rapidfuzz-capi
 , scikit-build
 , jarowinkler
@@ -32,6 +33,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     cmake
     cython_3
+    ninja
     rapidfuzz-capi
     scikit-build
   ];
diff --git a/pkgs/development/python-modules/rpi-gpio/default.nix b/pkgs/development/python-modules/rpi-gpio/default.nix
new file mode 100644
index 00000000000..2618f9f0ea9
--- /dev/null
+++ b/pkgs/development/python-modules/rpi-gpio/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "rpi-gpio";
+  version = "0.7.1";
+
+  src = fetchPypi {
+    pname = "RPi.GPIO";
+    inherit version;
+    sha256 = "sha256-zWHEsDw3tiu6SlrP6phidJwzxhjgKV5+kKpHE/s3O3A=";
+  };
+
+  # Tests disable because they do a platform check which requires running on a
+  # Raspberry Pi
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://sourceforge.net/p/raspberry-gpio-python";
+    description = "Python module to control the GPIO on a Raspberry Pi";
+    license = licenses.mit;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/python-modules/sabyenc3/default.nix b/pkgs/development/python-modules/sabyenc3/default.nix
index 8b0b0a9e244..edc339987da 100644
--- a/pkgs/development/python-modules/sabyenc3/default.nix
+++ b/pkgs/development/python-modules/sabyenc3/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "sabyenc3";
-  version = "5.1.7";
+  version = "5.4.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-pewB7JAQ/4KitGFrHX52Gn02my/bOcQCz79cwh6vElk=";
+    hash = "sha256-6wXwmL1RCZ72KSqJgMjO3grvuDLWyMsbuU+kJmEkCmM=";
   };
 
   # Tests are not included in pypi distribution
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 9ba1d1ac38f..2db3cc4ecbd 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -32,14 +32,14 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "checkov";
-  version = "2.0.1210";
+  version = "2.0.1212";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    hash = "sha256-2NVr8XUddKfsfCHEv9tvEwbLZRVzLTmlVkZ7+anmtA4=";
+    hash = "sha256-/SrxLqPtMPj9kvig2x9BzhlDsQClWWu+hZ1nyvXCyxA=";
   };
 
   nativeBuildInputs = with py.pkgs; [
diff --git a/pkgs/development/tools/appthreat-depscan/default.nix b/pkgs/development/tools/appthreat-depscan/default.nix
index 5973b25decd..780949dffaf 100644
--- a/pkgs/development/tools/appthreat-depscan/default.nix
+++ b/pkgs/development/tools/appthreat-depscan/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "appthreat-depscan";
-  version = "2.1.3";
+  version = "2.1.5";
 
   src = fetchFromGitHub {
     owner = "AppThreat";
     repo = "dep-scan";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6ifpPNBcqaNGVQjZQ3G48QuwTRRn4zL3awa06yOeveU=";
+    hash = "sha256-pe8bEMpK0pHLoTRSE0eEbARbU3Pyqv1PFOYvF6D4Trw=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index 1a9d2d53a1b..fc33df8ad4b 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -6,13 +6,14 @@
 , libjwt
 , libyaml
 , json_c
+, http-parser
 # enable internal X11 support via libssh2
 , enableX11 ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "slurm";
-  version = "22.05.0.1";
+  version = "22.05.1.1";
 
   # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
   # because the latter does not keep older releases.
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
     repo = "slurm";
     # The release tags use - instead of .
     rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
-    sha256 = "0bc8kycrc5a8kqffbd03k22z38f7z8fj725iniq8hz6srhf5nxgs";
+    sha256 = "034qnqvamb7v8gimybjr579442c37qwdq8i2kip6c0zhcl42bvaf";
   };
 
   outputs = [ "out" "dev" ];
@@ -53,10 +54,12 @@ stdenv.mkDerivation rec {
       libmysqlclient ncurses gtk2 lz4 rdma-core
       lua hwloc numactl readline freeipmi shadow.su
       pmix json_c libjwt libyaml dbus libbpf
+      http-parser
   ] ++ lib.optionals enableX11 [ xorg.xauth ];
 
   configureFlags = with lib;
     [ "--with-freeipmi=${freeipmi}"
+      "--with-http-parser=${http-parser}"
       "--with-hwloc=${hwloc.dev}"
       "--with-json=${json_c.dev}"
       "--with-jwt=${libjwt}"
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index bdecf19c42c..658a3a6f2c3 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -12,16 +12,16 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.26.2.5797-5bd057d2b";
+  version = "1.27.0.5897-3940636f2";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
-    sha256 = "1wcscq5n98b37j9rm10kcdv3fjaf82hx4zgk4vfhkbs9lh9349rz";
+    sha256 = "1ibahbz276diji66m5w059a1h9crva92r83w6av1dfq44v298s77";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    sha256 = "08nqqp9i346f6i4xypba441by000fc8xsm93q9bzc96kslid3f2d";
+    sha256 = "119nmmjpca05d6vzhy3xipgca9k51ps8252vcgdsp080dh7nk2kp";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index 503a2b46adf..e299931f9e7 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -10,21 +10,7 @@
 }:
 
 let
-
-  python = python3.override {
-    packageOverrides = final: prev: {
-      sabyenc3 = prev.sabyenc3.overridePythonAttrs (oldAttrs: rec {
-        version = "4.0.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          hash = "sha256-PwwQ2jChKIqh7jJ6E2hkqPquTDSN4MklghfJ+MkM0n0=";
-        };
-      });
-    };
-    self = python;
-  };
-
-  pythonEnv = python.withPackages(ps: with ps; [
+  pythonEnv = python3.withPackages(ps: with ps; [
     chardet
     cheetah3
     cherrypy
@@ -38,14 +24,14 @@ let
   ]);
   path = lib.makeBinPath [ par2cmdline unrar unzip p7zip ];
 in stdenv.mkDerivation rec {
-  version = "3.5.3";
+  version = "3.6.0";
   pname = "sabnzbd";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-pdYTTahdn9YVFreU5KhMGlUzQxHviN5G4TxWKKRBxOc=";
+    sha256 = "sha256-X5O3TxNjQ+8kOd3OakKV0+KncxQr+oQn0mXeBXDV/Xs=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/godns/default.nix b/pkgs/tools/networking/godns/default.nix
index 1e86d1c2ed0..3cede3a9a33 100644
--- a/pkgs/tools/networking/godns/default.nix
+++ b/pkgs/tools/networking/godns/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "godns";
-  version = "2.7.7";
+  version = "2.7.8";
 
   src = fetchFromGitHub {
     owner = "TimothyYe";
     repo = "godns";
     rev = "v${version}";
-    sha256 = "sha256-55A1dxVRIngfS43V+iM1RX2U6eQyPsIAHgyxKGO4yrY=";
+    sha256 = "sha256-8uGw8F4HcpSsZF8X4cYz9ETsLLBH/NbOk2QzbAXFVFo=";
   };
 
-  vendorSha256 = "sha256-vhByl9oJjFIvOskAgLubZ5RCcitKd2jjxi8D9nU6850=";
+  vendorSha256 = "sha256-tXH62HyA/pJxt69GWkVrJ4VrA16KfpEtpK/YKiUkvtU=";
 
   # Some tests require internet access, broken in sandbox
   doCheck = false;
diff --git a/pkgs/tools/security/gitsign/default.nix b/pkgs/tools/security/gitsign/default.nix
index 8914420ca63..4e207f2fd14 100644
--- a/pkgs/tools/security/gitsign/default.nix
+++ b/pkgs/tools/security/gitsign/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gitsign";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tcWq+WZJLyO8lJKxV0QSDH1JKgW+9FaC9FxrSotLQag=";
+    sha256 = "sha256-0cu5uJVFiqkvfVxCbrruHLa4Zj0EU75cbgrTrwzo7+U=";
   };
-  vendorSha256 = "sha256-34pyHAUU1+K9qNAi7rPZIvaGAen+LrwEqLyrrzUaLbk=";
+  vendorSha256 = "sha256-JMS/OFL2oxQFWa+wNhxS7fXSYQbCSEV3Sakq4rmsolI=";
 
-  ldflags = [ "-s" "-w" ];
+  ldflags = [ "-s" "-w" "-buildid=" "-X github.com/sigstore/gitsign/pkg/version.gitVersion=${version}" ];
 
   meta = {
     homepage = "https://github.com/sigstore/gitsign";
diff --git a/pkgs/tools/security/yubikey-agent/default.nix b/pkgs/tools/security/yubikey-agent/default.nix
index eca528f1c90..c4a9dfd5b0f 100644
--- a/pkgs/tools/security/yubikey-agent/default.nix
+++ b/pkgs/tools/security/yubikey-agent/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "yubikey-agent";
-  version = "0.1.5";
 
+  version = "unstable-2022-03-17";
   src = fetchFromGitHub {
     owner = "FiloSottile";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "14s61jgcmpqh70jz0krrai8xg0xqhwmillxkij50vbsagpxjssk6";
+    repo = "yubikey-agent";
+    rev = "205a7ef2554625c7494038600d963123d6311873";
+    sha256 = "sha256-wJpN63KY5scmez6yYFsIr3JLEUB+YSl/XvoatIIeRI0=";
   };
 
   buildInputs =
@@ -21,7 +21,7 @@ buildGoModule rec {
     substituteInPlace main.go --replace 'notify-send' ${libnotify}/bin/notify-send
   '';
 
-  vendorSha256 = "1v4ccn7ysh8ax1nkf1v9fcgsdnz6zjyh6j6ivyljyfvma1lmcrmk";
+  vendorSha256 = "sha256-SnjbkDPVjAnCbM2nLqBsuaPZwOmvDTKiUbi/93BlWVQ=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/text/qshowdiff/default.nix b/pkgs/tools/text/qshowdiff/default.nix
deleted file mode 100644
index 8396e39e6d1..00000000000
--- a/pkgs/tools/text/qshowdiff/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, qt4, perl, pkg-config }:
-
-stdenv.mkDerivation rec {
-  pname = "qshowdiff";
-  version = "1.2";
-
-  src = fetchFromGitHub {
-    owner = "danfis";
-    repo = "qshowdiff";
-    rev = "v${version}";
-    sha256 = "g3AWQ6/LSF59ztzdgNuLi+8d6fFTPiC9z0yXMdPdB5U=";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ qt4 perl ];
-
-  configurePhase = ''
-    mkdir -p $out/{bin,man/man1}
-    makeFlags="PREFIX=$out CC=$CXX"
-  '';
-
-  meta = {
-    homepage = "http://qshowdiff.danfis.cz/";
-    description = "Colourful diff viewer";
-    license = lib.licenses.gpl3Plus;
-  };
-}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 7b9c55ee702..139a6d8217f 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -682,6 +682,7 @@ mapAliases ({
   letsencrypt = throw "'letsencrypt' has been renamed to/replaced by 'certbot'"; # Converted to throw 2022-02-22
   libGL_driver = throw "'libGL_driver' has been renamed to/replaced by 'mesa.drivers'"; # Converted to throw 2022-02-22
   libaudit = throw "'libaudit' has been renamed to/replaced by 'audit'"; # Converted to throw 2022-02-22
+  libbluedevil = throw "'libbluedevil' (Qt4) is unmaintained and unused since 'kde4.bluedevil's removal in 2017"; # Added 2022-06-14
   libcanberra_gtk2 = throw "'libcanberra_gtk2' has been renamed to/replaced by 'libcanberra-gtk2'"; # Converted to throw 2022-02-22
   libcanberra_gtk3 = throw "'libcanberra_gtk3' has been renamed to/replaced by 'libcanberra-gtk3'"; # Converted to throw 2022-02-22
   libcap_manpages = throw "'libcap_manpages' has been renamed to/replaced by 'libcap.doc'"; # Converted to throw 2022-02-22
@@ -1168,6 +1169,7 @@ mapAliases ({
   qflipper = qFlipper; # Added 2022-02-11
   qmk_firmware = throw "qmk_firmware has been removed because it was broken"; # Added 2021-04-02
   qr-filetransfer = throw ''"qr-filetransfer" has been renamed to "qrcp"''; # Added 2020-12-02
+  qshowdiff = throw "'qshowdiff' (Qt4) is unmaintained and not been updated since its addition in 2010"; # Added 2022-06-14
   qt-3 = throw "qt-3 has been removed from nixpkgs, as it's unmaintained and insecure"; # Added 2021-02-15
   qt5ct = libsForQt5.qt5ct; # Added 2021-12-27
   qtcurve = libsForQt5.qtcurve; # Added 2020-11-07
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d2faace053e..c6e0cc915c0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2959,6 +2959,8 @@ with pkgs;
 
   catch2 = callPackage ../development/libraries/catch2 { };
 
+  catch2_3 = callPackage ../development/libraries/catch2/3.nix { };
+
   catdoc = callPackage ../tools/text/catdoc { };
 
   catdocx = callPackage ../tools/text/catdocx { };
@@ -9755,8 +9757,6 @@ with pkgs;
 
   qscintilla-qt4 = callPackage ../development/libraries/qscintilla-qt4 { };
 
-  qshowdiff = callPackage ../tools/text/qshowdiff { };
-
   qrcp = callPackage ../tools/networking/qrcp { };
 
   qtikz = libsForQt5.callPackage ../applications/graphics/ktikz { };
@@ -18308,8 +18308,6 @@ with pkgs;
 
   libbencodetools = callPackage ../development/libraries/libbencodetools { };
 
-  libbluedevil = callPackage ../development/libraries/libbluedevil { };
-
   libbdplus = callPackage ../development/libraries/libbdplus { };
 
   libblockdev = callPackage ../development/libraries/libblockdev { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 47d7a2f9d0c..5f19472f754 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4427,6 +4427,8 @@ in {
 
   jaraco_stream = callPackage ../development/python-modules/jaraco_stream { };
 
+  jaraco-test = callPackage ../development/python-modules/jaraco-test { };
+
   jaraco_text = callPackage ../development/python-modules/jaraco_text { };
 
   jarowinkler = callPackage ../development/python-modules/jarowinkler { };
@@ -9340,6 +9342,8 @@ in {
 
   rpi-bad-power = callPackage ../development/python-modules/rpi-bad-power { };
 
+  rpi-gpio = callPackage ../development/python-modules/rpi-gpio { };
+
   rply = callPackage ../development/python-modules/rply { };
 
   rpm = toPythonModule (pkgs.rpm.override {