summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix1
-rw-r--r--nixos/modules/services/x11/display-managers/startx.nix12
-rw-r--r--nixos/modules/services/x11/xserver.nix16
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix12
-rw-r--r--pkgs/applications/kde/default.nix4
-rw-r--r--pkgs/applications/kde/elisa.nix2
-rw-r--r--pkgs/applications/kde/grantleetheme/default.nix1
-rw-r--r--pkgs/applications/kde/kmime.nix1
-rw-r--r--pkgs/applications/kde/kompare.nix13
-rw-r--r--pkgs/applications/kde/kpimtextedit.nix3
-rw-r--r--pkgs/applications/kde/kpkpass.nix2
-rw-r--r--pkgs/applications/kde/libkgapi.nix3
-rw-r--r--pkgs/applications/networking/openbazaar/client.nix4
-rw-r--r--pkgs/build-support/bintools-wrapper/add-flags.sh5
-rw-r--r--pkgs/build-support/bintools-wrapper/default.nix8
-rw-r--r--pkgs/build-support/bintools-wrapper/ld-wrapper.sh13
-rw-r--r--pkgs/build-support/cc-wrapper/cc-wrapper.sh6
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix17
-rw-r--r--pkgs/data/misc/cacert/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/bluedevil.nix13
-rw-r--r--pkgs/desktops/plasma-5/default.nix3
-rw-r--r--pkgs/desktops/plasma-5/discover.nix5
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/kactivitymanagerd.nix5
-rw-r--r--pkgs/desktops/plasma-5/kde-gtk-config/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/kdecoration.nix3
-rw-r--r--pkgs/desktops/plasma-5/kgamma5.nix5
-rw-r--r--pkgs/desktops/plasma-5/kinfocenter.nix4
-rw-r--r--pkgs/desktops/plasma-5/kscreenlocker.nix5
-rw-r--r--pkgs/desktops/plasma-5/ksshaskpass.nix3
-rw-r--r--pkgs/desktops/plasma-5/ksysguard.nix5
-rw-r--r--pkgs/desktops/plasma-5/kwayland-integration.nix3
-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.nix19
-rw-r--r--pkgs/desktops/plasma-5/kwin/default.nix11
-rw-r--r--pkgs/desktops/plasma-5/kwrited.nix3
-rw-r--r--pkgs/desktops/plasma-5/libkscreen/default.nix2
-rw-r--r--pkgs/desktops/plasma-5/libksysguard/default.nix9
-rw-r--r--pkgs/desktops/plasma-5/milou.nix5
-rw-r--r--pkgs/desktops/plasma-5/oxygen.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-desktop/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-disks.nix19
-rw-r--r--pkgs/desktops/plasma-5/plasma-nm/default.nix6
-rw-r--r--pkgs/desktops/plasma-5/plasma-pa.nix7
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch68
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/default.nix8
-rw-r--r--pkgs/desktops/plasma-5/polkit-kde-agent.nix5
-rw-r--r--pkgs/desktops/plasma-5/powerdevil.nix16
-rw-r--r--pkgs/desktops/plasma-5/sddm-kcm.nix5
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix402
-rw-r--r--pkgs/desktops/plasma-5/user-manager.nix13
-rw-r--r--pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix12
-rw-r--r--pkgs/development/compilers/llvm/10/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/11/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/5/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/6/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/7/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/8/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/9/default.nix2
-rw-r--r--pkgs/development/compilers/rust/1_45.nix15
-rw-r--r--pkgs/development/compilers/rust/1_48.nix15
-rw-r--r--pkgs/development/compilers/rust/default.nix15
-rw-r--r--pkgs/development/compilers/rust/rustc.nix15
-rw-r--r--pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch44
-rw-r--r--pkgs/development/interpreters/python/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-common/default.nix11
-rw-r--r--pkgs/development/libraries/aws-checksums/default.nix10
-rw-r--r--pkgs/development/libraries/boost/generic.nix9
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/devtools/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/rtsp-server/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix4
-rw-r--r--pkgs/development/libraries/gtk/3.x.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kded.nix14
-rw-r--r--pkgs/development/libraries/kde-frameworks/kglobalaccel.nix8
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch50
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch25
-rw-r--r--pkgs/development/libraries/kde-frameworks/purpose.nix3
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix666
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix2
-rw-r--r--pkgs/development/libraries/libusb1/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix4
-rw-r--r--pkgs/development/libraries/openssl/default.nix4
-rw-r--r--pkgs/development/libraries/pmix/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.15/default.nix17
-rw-r--r--pkgs/development/libraries/qt-5/5.15/fetch.sh2
-rw-r--r--pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0001-Revert-QCocoaDrag-set-image-only-on-the-first-drag-i.patch47
-rw-r--r--pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0002-Revert-QCocoaDrag-drag-make-sure-clipboard-is-ours-a.patch40
-rw-r--r--pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0003-Revert-QCocoaDrag-maybeDragMultipleItems-fix-erroneo.patch27
-rw-r--r--pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch192
-rw-r--r--pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0005-Revert-macOS-Fix-use-of-deprecated-NSOffState.patch26
-rw-r--r--pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0006-git-checkout-v5.15.0-src-plugins-platforms-cocoa-qco.patch77
-rw-r--r--pkgs/development/libraries/qt-5/5.15/srcs.nix336
-rw-r--r--pkgs/development/python-modules/cryptography/default.nix4
-rw-r--r--pkgs/development/python-modules/cryptography/vectors.nix2
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix4
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix6
-rw-r--r--pkgs/development/tools/database/liquibase/default.nix4
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix4
-rw-r--r--pkgs/os-specific/linux/keyutils/default.nix2
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix6
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix4
-rw-r--r--pkgs/servers/x11/xorg/dont-create-logdir-during-build.patch32
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix13
-rw-r--r--pkgs/test/cc-wrapper/default.nix23
-rw-r--r--pkgs/tools/graphics/graphviz/base.nix2
-rw-r--r--pkgs/tools/misc/topgrade/default.nix6
-rw-r--r--pkgs/tools/networking/curl/default.nix4
-rw-r--r--pkgs/tools/networking/openssh/default.nix20
-rw-r--r--pkgs/top-level/aliases.nix2
-rw-r--r--pkgs/top-level/all-packages.nix6
120 files changed, 1696 insertions, 1039 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 8cc579af2ca..a9b0b8dc23f 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -238,6 +238,7 @@ in
           kidletime
           kimageformats
           kinit
+          kirigami2  # In system profile for SDDM theme. TODO: wrapper.
           kio
           kjobwidgets
           knewstuff
diff --git a/nixos/modules/services/x11/display-managers/startx.nix b/nixos/modules/services/x11/display-managers/startx.nix
index 3980203b945..6cd46cdf964 100644
--- a/nixos/modules/services/x11/display-managers/startx.nix
+++ b/nixos/modules/services/x11/display-managers/startx.nix
@@ -39,6 +39,18 @@ in
       displayManager.lightdm.enable = lib.mkForce false;
     };
     systemd.services.display-manager.enable = false;
+
+    # Other displayManagers log to /dev/null because they're services and put
+    # Xorg's stdout in the journal
+    #
+    # To send log to Xorg's default log location ($XDG_DATA_HOME/xorg/), we do
+    # not specify a log file when running X
+    services.xserver.logFile = mkDefault null;
+
+    # Implement xserverArgs via xinit's system-wide xserverrc
+    environment.etc."X11/xinit/xserverrc".source = pkgs.writeShellScript "xserverrc" ''
+      exec ${pkgs.xorg.xorgserver}/bin/X ${toString config.services.xserver.displayManager.xserverArgs} "$@"
+    '';
     environment.systemPackages =  with pkgs; [ xorg.xinit ];
   };
 
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 9e971671c47..eb8c4c17e98 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -518,6 +518,19 @@ in
         '';
       };
 
+      logFile = mkOption {
+        type = types.nullOr types.str;
+        default = "/dev/null";
+        example = "/var/log/Xorg.0.log";
+        description = ''
+          Controls the file Xorg logs to.
+
+          The default of <literal>/dev/null</literal> is set so that systemd services (like <literal>displayManagers</literal>) only log to the journal and don't create their own log files.
+
+          Setting this to <literal>null</literal> will not pass the <literal>-logfile</literal> argument to Xorg which allows it to log to its default logfile locations instead (see <literal>man Xorg</literal>). You probably only want this behaviour when running Xorg manually (e.g. via <literal>startx</literal>).
+        '';
+      };
+
       verbose = mkOption {
         type = types.nullOr types.int;
         default = 3;
@@ -692,11 +705,10 @@ in
     services.xserver.displayManager.xserverArgs =
       [ "-config ${configFile}"
         "-xkbdir" "${cfg.xkbDir}"
-        # Log at the default verbosity level to stderr rather than /var/log/X.*.log.
-         "-logfile" "/dev/null"
       ] ++ optional (cfg.display != null) ":${toString cfg.display}"
         ++ optional (cfg.tty     != null) "vt${toString cfg.tty}"
         ++ optional (cfg.dpi     != null) "-dpi ${toString cfg.dpi}"
+        ++ optional (cfg.logFile != null) "-logfile ${toString cfg.logFile}"
         ++ optional (cfg.verbose != null) "-verbose ${toString cfg.verbose}"
         ++ optional (!cfg.enableTCP) "-nolisten tcp"
         ++ optional (cfg.autoRepeatDelay != null) "-ardelay ${toString cfg.autoRepeatDelay}"
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index 23e1e611a71..088bffd7c50 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -93,7 +93,17 @@ in
             (if i.useDHCP != null then i.useDHCP else false));
           address = forEach (interfaceIps i)
             (ip: "${ip.address}/${toString ip.prefixLength}");
-          networkConfig.IPv6PrivacyExtensions = "kernel";
+          # IPv6PrivacyExtensions=kernel seems to be broken with networkd.
+          # Instead of using IPv6PrivacyExtensions=kernel, configure it according to the value of
+          # `tempAddress`:
+          networkConfig.IPv6PrivacyExtensions = {
+            # generate temporary addresses and use them by default
+            "default" = true;
+            # generate temporary addresses but keep using the standard EUI-64 ones by default
+            "enabled" = "prefer-public";
+            # completely disable temporary addresses
+            "disabled" = false;
+          }.${i.tempAddress};
           linkConfig = optionalAttrs (i.macAddress != null) {
             MACAddress = i.macAddress;
           } // optionalAttrs (i.mtu != null) {
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 315a5b35885..1f0f7b5ace3 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -42,8 +42,8 @@ let
         libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {};
     in
       mkDerivation (args // {
-        name = "${name}-${version}";
-        inherit src;
+        pname = name;
+        inherit src version;
 
         outputs = args.outputs or [ "out" ];
 
diff --git a/pkgs/applications/kde/elisa.nix b/pkgs/applications/kde/elisa.nix
index 9a51aa786fa..5a77cfec2f5 100644
--- a/pkgs/applications/kde/elisa.nix
+++ b/pkgs/applications/kde/elisa.nix
@@ -43,6 +43,6 @@ mkDerivation rec {
     description = "A simple media player for KDE";
     license = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
-    broken = lib.versionOlder qtbase.version "5.14";
+    broken = lib.versionOlder qtbase.version "5.15";
   };
 }
diff --git a/pkgs/applications/kde/grantleetheme/default.nix b/pkgs/applications/kde/grantleetheme/default.nix
index 6204919a328..92a0f1cde49 100644
--- a/pkgs/applications/kde/grantleetheme/default.nix
+++ b/pkgs/applications/kde/grantleetheme/default.nix
@@ -9,6 +9,7 @@ mkDerivation {
   meta = {
     license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
     maintainers = kdepimTeam;
+    broken = lib.versionOlder qtbase.version "5.13.0";
   };
   output = [ "out" "dev" ];
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kmime.nix b/pkgs/applications/kde/kmime.nix
index 4523a69fc1b..ac877d85228 100644
--- a/pkgs/applications/kde/kmime.nix
+++ b/pkgs/applications/kde/kmime.nix
@@ -13,4 +13,5 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kcodecs ki18n qtbase ];
   outputs = [ "out" "dev" ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/applications/kde/kompare.nix b/pkgs/applications/kde/kompare.nix
index bbaad3a02f8..3a264e40257 100644
--- a/pkgs/applications/kde/kompare.nix
+++ b/pkgs/applications/kde/kompare.nix
@@ -1,7 +1,8 @@
 {
   mkDerivation, lib,
   extra-cmake-modules, kdoctools,
-  kiconthemes, kparts, ktexteditor, kwidgetsaddons, libkomparediff2
+  kiconthemes, kparts, ktexteditor, kwidgetsaddons, libkomparediff2,
+  fetchpatch
 }:
 
 mkDerivation {
@@ -11,5 +12,15 @@ mkDerivation {
   buildInputs = [
     kiconthemes kparts ktexteditor kwidgetsaddons libkomparediff2
   ];
+
+  patches = [
+    (fetchpatch {
+      # Portaway from Obsolete methods of QPrinter
+      # Part of v20.12.0
+      url = "https://invent.kde.org/sdk/kompare/-/commit/68d3eee36c48a2f44ccfd3f9e5a36311b829104b.patch";
+      sha256 = "B2i5n5cUDjCqTEF0OyTb1+LhPa5yWCnFycwijf35kwU=";
+    })
+  ];
+
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/applications/kde/kpimtextedit.nix b/pkgs/applications/kde/kpimtextedit.nix
index 4ede854d546..6f79a46202b 100644
--- a/pkgs/applications/kde/kpimtextedit.nix
+++ b/pkgs/applications/kde/kpimtextedit.nix
@@ -2,7 +2,7 @@
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
   grantlee, kcodecs, kconfigwidgets, kemoticons, ki18n, kiconthemes, kio,
-  kdesignerplugin, ktextwidgets, sonnet, syntax-highlighting, qttools, 
+  kdesignerplugin, ktextwidgets, sonnet, syntax-highlighting, qtbase, qttools,
   qtspeech
 }:
 
@@ -11,6 +11,7 @@ mkDerivation {
   meta = {
     license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
     maintainers = kdepimTeam;
+    broken = lib.versionOlder qtbase.version "5.13.0";
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
diff --git a/pkgs/applications/kde/kpkpass.nix b/pkgs/applications/kde/kpkpass.nix
index 15dfe7f2e49..f31b37de931 100644
--- a/pkgs/applications/kde/kpkpass.nix
+++ b/pkgs/applications/kde/kpkpass.nix
@@ -8,7 +8,7 @@ mkDerivation {
   meta = {
     license = with lib.licenses; [ lgpl21 ];
     maintainers = [ lib.maintainers.bkchr ];
-    broken = lib.versionOlder qtbase.version "5.13";
+    broken = lib.versionOlder qtbase.version "5.15";
   };
   nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
   buildInputs = [ qtbase karchive ];
diff --git a/pkgs/applications/kde/libkgapi.nix b/pkgs/applications/kde/libkgapi.nix
index 9d2d41c41d7..0e1d71d2745 100644
--- a/pkgs/applications/kde/libkgapi.nix
+++ b/pkgs/applications/kde/libkgapi.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  qtwebengine, kio, kcalendarcore, kcontacts,
+  qtbase, qtwebengine, kio, kcalendarcore, kcontacts,
   cyrus_sasl
 }:
 
@@ -10,6 +10,7 @@ mkDerivation {
   meta = {
     license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
     maintainers = kdepimTeam;
+    broken = lib.versionOlder qtbase.version "5.14.0";
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ qtwebengine kio kcalendarcore kcontacts cyrus_sasl ];
diff --git a/pkgs/applications/networking/openbazaar/client.nix b/pkgs/applications/networking/openbazaar/client.nix
index c890329771f..1d055520d1f 100644
--- a/pkgs/applications/networking/openbazaar/client.nix
+++ b/pkgs/applications/networking/openbazaar/client.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openbazaar-client";
-  version = "2.4.8";
+  version = "2.4.9";
 
   src = fetchurl {
     url = "https://github.com/OpenBazaar/openbazaar-desktop/releases/download/v${version}/openbazaar2client_${version}_amd64.deb";
-    sha256 = "0c8ar0rd4yydy4rd4hqafljrhi40v3cwhc9v7fjbrfhcx1ikmf64";
+    sha256 = "1l6l72kb5h5f32dl5wqv31sigl3fh2byixv0h0d3icmjf558c39p";
   };
 
   dontBuild = true;
diff --git a/pkgs/build-support/bintools-wrapper/add-flags.sh b/pkgs/build-support/bintools-wrapper/add-flags.sh
index e99beb38158..83d47027104 100644
--- a/pkgs/build-support/bintools-wrapper/add-flags.sh
+++ b/pkgs/build-support/bintools-wrapper/add-flags.sh
@@ -3,6 +3,7 @@ var_templates_list=(
     NIX_IGNORE_LD_THROUGH_GCC
     NIX_LDFLAGS
     NIX_LDFLAGS_BEFORE
+    NIX_DYNAMIC_LINKER
     NIX_LDFLAGS_AFTER
     NIX_LDFLAGS_HARDEN
     NIX_HARDENING_ENABLE
@@ -25,6 +26,10 @@ if [ -e @out@/nix-support/libc-ldflags ]; then
     NIX_LDFLAGS_@suffixSalt@+=" $(< @out@/nix-support/libc-ldflags)"
 fi
 
+if [ -z "$NIX_DYNAMIC_LINKER_@suffixSalt@" ] && [ -e @out@/nix-support/dynamic-linker ]; then
+    NIX_DYNAMIC_LINKER_@suffixSalt@="$(< @out@/nix-support/dynamic-linker)"
+fi
+
 if [ -e @out@/nix-support/libc-ldflags-before ]; then
     NIX_LDFLAGS_BEFORE_@suffixSalt@="$(< @out@/nix-support/libc-ldflags-before) $NIX_LDFLAGS_BEFORE_@suffixSalt@"
 fi
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix
index 6da0e58436d..21c66521fb2 100644
--- a/pkgs/build-support/bintools-wrapper/default.nix
+++ b/pkgs/build-support/bintools-wrapper/default.nix
@@ -243,13 +243,7 @@ stdenv.mkDerivation {
         if [ -e ${libc_lib}/lib/32/ld-linux.so.2 ]; then
           echo ${libc_lib}/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32
         fi
-      ''
-      # The dynamic linker is passed in `ldflagsBefore' to allow
-      # explicit overrides of the dynamic linker by callers to ld
-      # (the *last* value counts, so ours should come first).
-      + ''
-        echo -dynamic-linker "$dynamicLinker" >> $out/nix-support/libc-ldflags-before
-    '') + ''
+      '') + ''
       fi
     '')
 
diff --git a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
index 81b5a90edd5..bdffdc3b785 100644
--- a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
+++ b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh
@@ -20,6 +20,7 @@ if [ -z "${NIX_BINTOOLS_WRAPPER_FLAGS_SET_@suffixSalt@:-}" ]; then
     source @out@/nix-support/add-flags.sh
 fi
 
+setDynamicLinker=1
 
 # Optionally filter out paths not refering to the store.
 expandResponseParams "$@"
@@ -47,6 +48,11 @@ if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "${NIX_STORE:-}"
             # Our ld is not built with sysroot support (Can we fix that?)
             :
         else
+            if [[ "$p" = -static || "$p" = -static-pie ]]; then
+                # Using a dynamic linker for static binaries can lead to crashes.
+                # This was observed for rust binaries.
+                setDynamicLinker=0
+            fi
             rest+=("$p")
         fi
         n+=1
@@ -63,6 +69,11 @@ extraBefore=(${hardeningLDFlags[@]+"${hardeningLDFlags[@]}"})
 if [ -z "${NIX_LDFLAGS_SET_@suffixSalt@:-}" ]; then
     extraAfter+=($NIX_LDFLAGS_@suffixSalt@)
     extraBefore+=($NIX_LDFLAGS_BEFORE_@suffixSalt@)
+    # By adding dynamic linker to extraBefore we allow the users set their
+    # own dynamic linker as NIX_LD_FLAGS will override earlier set flags
+    if [ "$setDynamicLinker" = 1 ]; then
+        extraBefore+=("-dynamic-linker" "$NIX_DYNAMIC_LINKER_@suffixSalt@")
+    fi
 fi
 
 extraAfter+=($NIX_LDFLAGS_AFTER_@suffixSalt@)
@@ -134,7 +145,7 @@ then
     done
 fi
 
-if [ -e "@out@/nix-support/dynamic-linker-m32" ] && (( "$link32" )); then
+if [[ "$link32" = "1" && "$setDynamicLinker" = 1 && -e "@out@/nix-support/dynamic-linker-m32" ]]; then
     # We have an alternate 32-bit linker and we're producing a 32-bit ELF, let's
     # use it.
     extraAfter+=(
diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
index 7e734f57773..1c60beb9bf5 100644
--- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh
+++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
@@ -28,6 +28,7 @@ cc1=0
 [[ "@prog@" = *++ ]] && isCpp=1 || isCpp=0
 cppInclude=1
 cInclude=1
+setDynamicLinker=1
 
 expandResponseParams "$@"
 declare -i n=0
@@ -58,6 +59,8 @@ while (( "$n" < "$nParams" )); do
         cppInclude=0
     elif [ "$p" = -nostdinc++ ]; then
         cppInclude=0
+    elif [[ "$p" = -static || "$p" = -static-pie ]]; then
+        setDynamicLinker=0
     elif [[ "$p" != -?* ]]; then
         # A dash alone signifies standard input; it is not a flag
         nonFlagArgs=1
@@ -152,6 +155,9 @@ if [ "$dontLink" != 1 ]; then
     for i in $NIX_LDFLAGS_BEFORE_@suffixSalt@; do
         extraBefore+=("-Wl,$i")
     done
+    if [ "$setDynamicLinker" = 1 ]; then
+        extraBefore+=("-Wl,-dynamic-linker=$NIX_DYNAMIC_LINKER_@suffixSalt@")
+    fi
     for i in $NIX_LDFLAGS_@suffixSalt@; do
         if [ "${i:0:3}" = -L/ ]; then
             extraAfter+=("$i")
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 09cef8b8678..ad9d2e1b841 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -278,12 +278,25 @@ stdenv.mkDerivation {
     ##
     ## GCC libs for non-GCC support
     ##
-    + optionalString useGccForLibs ''
+    + optionalString useGccForLibs (''
 
+    ''
+    # In theory we shouldn't need this, because we always set `useLLVM` on
+    # Darwin, and maybe also break down `useLLVM` into fine-grained use flags
+    # (libgcc vs compiler-rt, ld.lld vs legacy, libc++ vs libstdc++, etc.)
+    # since Darwin isn't `useLLVM` on all counts. (See
+    # https://clang.llvm.org/docs/Toolchain.html for all the axes one might
+    # break `useLLVM` into.)
+    #
+    # But, for now, we haven't doneo these things, so we use
+    # `targetPlatform.isLinux` as a proxy.
+    + optionalString targetPlatform.isLinux ''
+      echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
+    '' + ''
       echo "-B${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-cflags
       echo "-L${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-ldflags
       echo "-L${gccForLibs.lib}/${targetPlatform.config}/lib" >> $out/nix-support/cc-ldflags
-    ''
+    '')
 
     ##
     ## General libc support
diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix
index 0545c0e5efa..ad8c3983173 100644
--- a/pkgs/data/misc/cacert/default.nix
+++ b/pkgs/data/misc/cacert/default.nix
@@ -17,7 +17,7 @@ let
     sha256 = "1d4q27j1gss0186a5m8bs5dk786w07ccyq0qi6xmd2zr1a8q16wy";
   };
 
-  version = "3.57";
+  version = "3.60";
   underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
 in
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/nss-${version}.tar.gz";
-    sha256 = "55a86c01be860381d64bb4e5b94eb198df9b0f098a8af0e58c014df398bdc382";
+    sha256 = "hKvVV1q4dMU65RG9Rh5dCGjRobOE7kB1MVTN0dWQ/j0=";
   };
 
   outputs = [ "out" "unbundled" ];
diff --git a/pkgs/desktops/plasma-5/bluedevil.nix b/pkgs/desktops/plasma-5/bluedevil.nix
index b5ff3f5dd05..7500dda7e3f 100644
--- a/pkgs/desktops/plasma-5/bluedevil.nix
+++ b/pkgs/desktops/plasma-5/bluedevil.nix
@@ -1,14 +1,17 @@
 {
-  mkDerivation, extra-cmake-modules, shared-mime-info,
-  bluez-qt, kcoreaddons, kdbusaddons, kded, ki18n, kiconthemes, kio,
-  knotifications, kwidgetsaddons, kwindowsystem, plasma-framework, qtdeclarative
+  mkDerivation, lib, extra-cmake-modules, shared-mime-info,
+  qtbase, qtdeclarative, bluez-qt,
+  kcoreaddons, kdbusaddons, kded, ki18n, kiconthemes, kio, knotifications,
+  kwidgetsaddons, kwindowsystem, plasma-framework
 }:
 
 mkDerivation {
   name = "bluedevil";
   nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
   buildInputs = [
-    bluez-qt ki18n kio kwindowsystem plasma-framework qtdeclarative kcoreaddons
-    kdbusaddons kded kiconthemes knotifications kwidgetsaddons
+    qtbase qtdeclarative bluez-qt
+    ki18n kio kwindowsystem plasma-framework kcoreaddons kdbusaddons kded
+    kiconthemes knotifications kwidgetsaddons
   ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 39299d8c83c..014f794b5e8 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -118,6 +118,7 @@ let
       ksysguard = callPackage ./ksysguard.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 {};
       libkscreen = callPackage ./libkscreen {};
@@ -126,6 +127,7 @@ let
       oxygen = callPackage ./oxygen.nix {};
       plasma-browser-integration = callPackage ./plasma-browser-integration.nix {};
       plasma-desktop = callPackage ./plasma-desktop {};
+      plasma-disks = callPackage ./plasma-disks.nix {};
       plasma-integration = callPackage ./plasma-integration {};
       plasma-nm = callPackage ./plasma-nm {};
       plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; };
@@ -137,7 +139,6 @@ let
       powerdevil = callPackage ./powerdevil.nix {};
       sddm-kcm = callPackage ./sddm-kcm.nix {};
       systemsettings = callPackage ./systemsettings.nix {};
-      user-manager = callPackage ./user-manager.nix {};
       xdg-desktop-portal-kde = callPackage ./xdg-desktop-portal-kde.nix {};
 
       thirdParty = let inherit (libsForQt5) callPackage; in {
diff --git a/pkgs/desktops/plasma-5/discover.nix b/pkgs/desktops/plasma-5/discover.nix
index ccfeaa4f63e..37632ab2f76 100644
--- a/pkgs/desktops/plasma-5/discover.nix
+++ b/pkgs/desktops/plasma-5/discover.nix
@@ -1,14 +1,15 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, gettext, kdoctools, python,
   appstream-qt, discount, flatpak, fwupd, ostree, packagekit-qt, pcre, util-linux,
-  qtquickcontrols2,
+  qtbase, qtquickcontrols2,
   karchive, kconfig, kcrash, kdbusaddons, kdeclarative, kio, kirigami2, kitemmodels,
   knewstuff, kwindowsystem, kxmlgui, plasma-framework
 }:
 
 mkDerivation {
   name = "discover";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ];
   buildInputs = [
     # discount is needed for libmarkdown
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index abb5659526f..dbc4eef057b 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.18.5/ )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.20.4/ )
diff --git a/pkgs/desktops/plasma-5/kactivitymanagerd.nix b/pkgs/desktops/plasma-5/kactivitymanagerd.nix
index d2870c27e65..5c856b9d39c 100644
--- a/pkgs/desktops/plasma-5/kactivitymanagerd.nix
+++ b/pkgs/desktops/plasma-5/kactivitymanagerd.nix
@@ -1,12 +1,13 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules,
   boost, kconfig, kcoreaddons, kdbusaddons, ki18n, kio, kglobalaccel,
-  kwindowsystem, kxmlgui, kcrash
+  kwindowsystem, kxmlgui, kcrash, qtbase
 }:
 
 mkDerivation {
   name = "kactivitymanagerd";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     boost kconfig kcoreaddons kdbusaddons kglobalaccel ki18n kio kwindowsystem
diff --git a/pkgs/desktops/plasma-5/kde-gtk-config/default.nix b/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
index c1ed6dbd6c6..798f8d807af 100644
--- a/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
+++ b/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
@@ -2,7 +2,7 @@
   mkDerivation,
   extra-cmake-modules, wrapGAppsHook,
   glib, gtk2, gtk3, karchive, kcmutils, kconfigwidgets, ki18n, kiconthemes, kio,
-  knewstuff, gsettings-desktop-schemas, xsettingsd
+  knewstuff, gsettings-desktop-schemas, xsettingsd, kdecoration, sass
 }:
 
 mkDerivation {
@@ -11,7 +11,7 @@ mkDerivation {
   dontWrapGApps = true;  # There is nothing to wrap
   buildInputs = [
     ki18n kio glib gtk2 gtk3 karchive kcmutils kconfigwidgets kiconthemes
-    knewstuff gsettings-desktop-schemas xsettingsd
+    knewstuff gsettings-desktop-schemas xsettingsd kdecoration sass
   ];
   cmakeFlags = [
     "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
diff --git a/pkgs/desktops/plasma-5/kdecoration.nix b/pkgs/desktops/plasma-5/kdecoration.nix
index 569da3c7034..9a09ce30f4c 100644
--- a/pkgs/desktops/plasma-5/kdecoration.nix
+++ b/pkgs/desktops/plasma-5/kdecoration.nix
@@ -1,8 +1,9 @@
-{ mkDerivation, extra-cmake-modules, qtbase, ki18n }:
+{ mkDerivation, lib, extra-cmake-modules, qtbase, ki18n }:
 
 mkDerivation {
   name = "kdecoration";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtbase ki18n ];
   outputs = [ "out" "dev" ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/kgamma5.nix b/pkgs/desktops/plasma-5/kgamma5.nix
index ccbf3820b90..e7cc42e77cd 100644
--- a/pkgs/desktops/plasma-5/kgamma5.nix
+++ b/pkgs/desktops/plasma-5/kgamma5.nix
@@ -1,11 +1,12 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
-  kconfig, kconfigwidgets, ki18n, qtx11extras, libXxf86vm
+  kconfig, kconfigwidgets, ki18n, qtbase, qtx11extras, libXxf86vm
 }:
 
 mkDerivation {
   name = "kgamma5";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ kconfig kconfigwidgets ki18n qtx11extras libXxf86vm ];
+  meta.broken = lib.versionOlder qtbase.version "5.15";
 }
diff --git a/pkgs/desktops/plasma-5/kinfocenter.nix b/pkgs/desktops/plasma-5/kinfocenter.nix
index cf353af5891..c8213482d79 100644
--- a/pkgs/desktops/plasma-5/kinfocenter.nix
+++ b/pkgs/desktops/plasma-5/kinfocenter.nix
@@ -1,6 +1,7 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
+  qtbase,
   kcmutils, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons,
   kdeclarative, kdelibs4support, ki18n, kiconthemes, kio, kirigami2, kpackage,
   kservice, kwayland, kwidgetsaddons, kxmlgui, libraw1394, libGLU, pciutils,
@@ -9,6 +10,7 @@
 
 mkDerivation {
   name = "kinfocenter";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kcmutils kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons
diff --git a/pkgs/desktops/plasma-5/kscreenlocker.nix b/pkgs/desktops/plasma-5/kscreenlocker.nix
index e748121132c..ace14b385e6 100644
--- a/pkgs/desktops/plasma-5/kscreenlocker.nix
+++ b/pkgs/desktops/plasma-5/kscreenlocker.nix
@@ -1,13 +1,14 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
   kcmutils, kcrash, kdeclarative, kdelibs4support, kglobalaccel, kidletime,
-  kwayland, libXcursor, pam, plasma-framework, qtdeclarative, qtx11extras,
+  kwayland, libXcursor, pam, plasma-framework, qtbase, qtdeclarative, qtx11extras,
   wayland,
 }:
 
 mkDerivation {
   name = "kscreenlocker";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kcmutils kcrash kdeclarative kdelibs4support kglobalaccel kidletime kwayland
diff --git a/pkgs/desktops/plasma-5/ksshaskpass.nix b/pkgs/desktops/plasma-5/ksshaskpass.nix
index 39e260f6c70..c4dabd71343 100644
--- a/pkgs/desktops/plasma-5/ksshaskpass.nix
+++ b/pkgs/desktops/plasma-5/ksshaskpass.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
   kcoreaddons, ki18n, kwallet, kwidgetsaddons, qtbase,
 }:
@@ -8,4 +8,5 @@ mkDerivation {
   name = "ksshaskpass";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ kcoreaddons ki18n kwallet kwidgetsaddons qtbase ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/ksysguard.nix b/pkgs/desktops/plasma-5/ksysguard.nix
index 72793fdf083..0581b8bde74 100644
--- a/pkgs/desktops/plasma-5/ksysguard.nix
+++ b/pkgs/desktops/plasma-5/ksysguard.nix
@@ -1,13 +1,14 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
   libcap, libpcap, lm_sensors,
   kconfig, kcoreaddons, kdelibs4support, ki18n, kiconthemes, kitemviews,
-  knewstuff, libksysguard
+  knewstuff, libksysguard, qtbase
 }:
 
 mkDerivation {
   name = "ksysguard";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kconfig kcoreaddons kitemviews knewstuff kiconthemes libksysguard
diff --git a/pkgs/desktops/plasma-5/kwayland-integration.nix b/pkgs/desktops/plasma-5/kwayland-integration.nix
index 667d3ead176..2e923094dc5 100644
--- a/pkgs/desktops/plasma-5/kwayland-integration.nix
+++ b/pkgs/desktops/plasma-5/kwayland-integration.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules,
   kguiaddons, kidletime, kwayland, kwindowsystem, qtbase,
 }:
@@ -8,4 +8,5 @@ mkDerivation {
   name = "kwayland-integration";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
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
new file mode 100644
index 00000000000..771e093bb9e
--- /dev/null
+++ b/pkgs/desktops/plasma-5/kwayland-server/0001-Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing.patch
@@ -0,0 +1,25 @@
+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
new file mode 100644
index 00000000000..6d2a3fabff2
--- /dev/null
+++ b/pkgs/desktops/plasma-5/kwayland-server/default.nix
@@ -0,0 +1,19 @@
+{
+  mkDerivation, lib, cmake,
+  extra-cmake-modules, kdoctools,
+  kwayland, plasma-wayland-protocols,
+  wayland, wayland-protocols, qtbase
+}:
+
+mkDerivation {
+  name = "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 ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
+}
diff --git a/pkgs/desktops/plasma-5/kwin/default.nix b/pkgs/desktops/plasma-5/kwin/default.nix
index e2fb0877ec8..f0b07fba736 100644
--- a/pkgs/desktops/plasma-5/kwin/default.nix
+++ b/pkgs/desktops/plasma-5/kwin/default.nix
@@ -11,7 +11,7 @@
   breeze-qt5, kactivities, kcompletion, kcmutils, kconfig, kconfigwidgets,
   kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel, ki18n,
   kiconthemes, kidletime, kinit, kio, knewstuff, knotifications, kpackage,
-  kscreenlocker, kservice, kwayland, kwidgetsaddons, kwindowsystem, kxmlgui,
+  kscreenlocker, kservice, kwayland, kwayland-server, kwidgetsaddons, kwindowsystem, kxmlgui,
   plasma-framework, libcap, libdrm, mesa
 }:
 
@@ -30,18 +30,13 @@ mkDerivation {
     breeze-qt5 kactivities kcmutils kcompletion kconfig kconfigwidgets
     kcoreaddons kcrash kdeclarative kdecoration kglobalaccel ki18n kiconthemes
     kidletime kinit kio knewstuff knotifications kpackage kscreenlocker kservice
-    kwayland kwidgetsaddons kwindowsystem kxmlgui plasma-framework
+    kwayland kwayland-server kwidgetsaddons kwindowsystem kxmlgui plasma-framework
     libcap libdrm mesa
   ];
-  outputs = [ "bin" "dev" "out" ];
+  outputs = [ "dev" "out" ];
   patches = [
     ./0001-follow-symlinks.patch
     ./0002-xwayland.patch
-    (fetchpatch { # included in >= 5.18.6
-      name = "EGL_TEXTURE_Y_XUXV_WL.diff";
-      url = "https://github.com/KDE/kwin/commit/2c76cc478.diff";
-      sha256 = "1ywaky05h5j1x758q3yhp3ap45ispffghyxynqz5lybl5n6yyxhy";
-    })
   ];
   CXXFLAGS = [
     ''-DNIXPKGS_XWAYLAND=\"${lib.getBin xwayland}/bin/Xwayland\"''
diff --git a/pkgs/desktops/plasma-5/kwrited.nix b/pkgs/desktops/plasma-5/kwrited.nix
index f6f6187e946..e6ee4829bcb 100644
--- a/pkgs/desktops/plasma-5/kwrited.nix
+++ b/pkgs/desktops/plasma-5/kwrited.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules,
   kcoreaddons, kdbusaddons, ki18n, knotifications, kpty, qtbase,
 }:
@@ -8,4 +8,5 @@ mkDerivation {
   name = "kwrited";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kcoreaddons kdbusaddons ki18n knotifications kpty qtbase ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/libkscreen/default.nix b/pkgs/desktops/plasma-5/libkscreen/default.nix
index db952944eca..08a9e6f4f24 100644
--- a/pkgs/desktops/plasma-5/libkscreen/default.nix
+++ b/pkgs/desktops/plasma-5/libkscreen/default.nix
@@ -7,7 +7,7 @@
 mkDerivation {
   name = "libkscreen";
   meta = {
-    broken = builtins.compareVersions qtbase.version "5.12.0" < 0;
+    broken = lib.versionOlder qtbase.version "5.15.0";
   };
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kwayland libXrandr qtx11extras ];
diff --git a/pkgs/desktops/plasma-5/libksysguard/default.nix b/pkgs/desktops/plasma-5/libksysguard/default.nix
index 96d113e11fb..8178d407950 100644
--- a/pkgs/desktops/plasma-5/libksysguard/default.nix
+++ b/pkgs/desktops/plasma-5/libksysguard/default.nix
@@ -1,13 +1,14 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules,
   kauth, kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n, kiconthemes,
-  kservice, kwidgetsaddons, kwindowsystem, plasma-framework, qtscript, qtwebengine,
-  qtx11extras
+  knewstuff, kservice, kwidgetsaddons, kwindowsystem, plasma-framework,
+  qtbase, qtscript, qtwebengine, qtx11extras
 }:
 
 mkDerivation {
   name = "libksysguard";
+  meta.broken = lib.versionOlder qtbase.version "5.14.0";
   patches = [
     ./0001-qdiriterator-follow-symlinks.patch
   ];
@@ -15,7 +16,7 @@ mkDerivation {
   buildInputs = [
     kauth kconfig ki18n kiconthemes kwindowsystem kcompletion kconfigwidgets
     kcoreaddons kservice kwidgetsaddons plasma-framework qtscript qtx11extras
-    qtwebengine
+    qtwebengine knewstuff
   ];
   outputs = [ "bin" "dev" "out" ];
 }
diff --git a/pkgs/desktops/plasma-5/milou.nix b/pkgs/desktops/plasma-5/milou.nix
index 790979d664f..ab23703a470 100644
--- a/pkgs/desktops/plasma-5/milou.nix
+++ b/pkgs/desktops/plasma-5/milou.nix
@@ -1,12 +1,13 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules,
   kcoreaddons, kdeclarative, ki18n, kitemmodels, krunner, kservice,
-  plasma-framework, qtscript, qtdeclarative
+  plasma-framework, qtbase, qtscript, qtdeclarative
 }:
 
 mkDerivation {
   name = "milou";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     kcoreaddons kdeclarative ki18n kitemmodels krunner kservice plasma-framework
diff --git a/pkgs/desktops/plasma-5/oxygen.nix b/pkgs/desktops/plasma-5/oxygen.nix
index 1b1f34f17b5..6eea3c92319 100644
--- a/pkgs/desktops/plasma-5/oxygen.nix
+++ b/pkgs/desktops/plasma-5/oxygen.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules,
   frameworkintegration, kcmutils, kcompletion, kconfig, kdecoration, kguiaddons,
   ki18n, kwidgetsaddons, kservice, kwayland, kwindowsystem, qtdeclarative,
-  qtx11extras
+  qtx11extras, libXdmcp
 }:
 
 mkDerivation {
@@ -12,7 +12,7 @@ mkDerivation {
   propagatedBuildInputs = [
     frameworkintegration kcmutils kcompletion kconfig kdecoration kguiaddons
     ki18n kservice kwayland kwidgetsaddons kwindowsystem qtdeclarative
-    qtx11extras
+    qtx11extras libXdmcp
   ];
   outputs = [ "bin" "dev" "out" ];
 }
diff --git a/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/pkgs/desktops/plasma-5/plasma-desktop/default.nix
index 73e449a1362..a07a50f0492 100644
--- a/pkgs/desktops/plasma-5/plasma-desktop/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-desktop/default.nix
@@ -19,7 +19,7 @@ mkDerivation {
   name = "plasma-desktop";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    boost fontconfig ibus libcanberra_kde libpulseaudio libXcursor libXft
+    boost fontconfig ibus libcanberra_kde libpulseaudio libXcursor libXft xorgserver
     libxkbfile phonon xf86inputevdev xf86inputsynaptics xinput xkeyboard_config
 
     qtdeclarative qtquickcontrols qtquickcontrols2 qtsvg qtx11extras
@@ -35,7 +35,7 @@ mkDerivation {
     ./tzdir.patch
   ];
   postPatch = ''
-    sed '1i#include <cmath>' -i kcms/touchpad/src/backends/x11/synapticstouchpad.cpp
+    sed '1i#include <cmath>' -i kcms/touchpad/backends/x11/synapticstouchpad.cpp
   '';
   CXXFLAGS = [
     "-I${lib.getDev xorgserver}/include/xorg"
diff --git a/pkgs/desktops/plasma-5/plasma-disks.nix b/pkgs/desktops/plasma-5/plasma-disks.nix
new file mode 100644
index 00000000000..f97b061292a
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-disks.nix
@@ -0,0 +1,19 @@
+{
+  mkDerivation, extra-cmake-modules, kdoctools,
+  kcmutils, kconfig, kdbusaddons, khtml, ki18n, kiconthemes, kio, kitemviews,
+  kservice, kwindowsystem, kxmlgui, qtquickcontrols, qtquickcontrols2,
+  kactivities, kactivities-stats, kirigami2, kcrash, plasma-workspace,
+  systemsettings
+}:
+
+mkDerivation {
+  name = "plasma-disks";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [
+    kcmutils kconfig kdbusaddons khtml ki18n kiconthemes kio kitemviews kservice
+    kwindowsystem kxmlgui qtquickcontrols qtquickcontrols2
+    kactivities kactivities-stats kirigami2 kcrash plasma-workspace
+    systemsettings
+  ];
+  outputs = [ "bin" "dev" "out" ];
+}
diff --git a/pkgs/desktops/plasma-5/plasma-nm/default.nix b/pkgs/desktops/plasma-5/plasma-nm/default.nix
index 8296d549782..31fd3558957 100644
--- a/pkgs/desktops/plasma-5/plasma-nm/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-nm/default.nix
@@ -1,15 +1,17 @@
 {
-  mkDerivation, substituteAll,
+  mkDerivation, lib, substituteAll,
   extra-cmake-modules, kdoctools,
   kcompletion, kconfigwidgets, kcoreaddons, kdbusaddons, kdeclarative,
   kdelibs4support, ki18n, kiconthemes, kinit, kio, kitemviews, knotifications,
   kservice, kwallet, kwidgetsaddons, kwindowsystem, kxmlgui,
   mobile-broadband-provider-info, modemmanager-qt, networkmanager-qt,
-  openconnect, openvpn, plasma-framework, qca-qt5, qtdeclarative, qttools, solid
+  openconnect, openvpn, plasma-framework, qca-qt5, qtbase, qtdeclarative,
+  qttools, solid
 }:
 
 mkDerivation {
   name = "plasma-nm";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools qttools ];
   buildInputs = [
     kdeclarative kdelibs4support ki18n kio kwindowsystem plasma-framework
diff --git a/pkgs/desktops/plasma-5/plasma-pa.nix b/pkgs/desktops/plasma-5/plasma-pa.nix
index e29df104f3c..00f5fefdc43 100644
--- a/pkgs/desktops/plasma-5/plasma-pa.nix
+++ b/pkgs/desktops/plasma-5/plasma-pa.nix
@@ -1,8 +1,8 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, kdoctools,
   kconfigwidgets, kcoreaddons, kdeclarative, kglobalaccel, ki18n, kwindowsystem, plasma-framework,
-  qtdeclarative,
+  qtbase, qtdeclarative,
   gconf, glib, libcanberra-gtk3, libpulseaudio, sound-theme-freedesktop
 }:
 
@@ -15,6 +15,7 @@ mkDerivation {
     kconfigwidgets kcoreaddons kdeclarative kglobalaccel ki18n plasma-framework
     kwindowsystem
 
-    qtdeclarative
+    qtbase qtdeclarative
   ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch b/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
index 12080092629..ea8afedbe5b 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
+++ b/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
@@ -1,19 +1,33 @@
-From 6477e377fcca39c07ef5f91a55084d7d74715d00 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@mailbox.org>
-Date: Tue, 28 Jan 2020 05:00:53 -0600
-Subject: [PATCH 1/2] startkde
+From d653bc84c8aed33072237ed858194a8a73b6a2e7 Mon Sep 17 00:00:00 2001
+From: Tom Hall <tahall256@protonmail.ch>
+Date: Mon, 7 Sep 2020 18:09:52 +0100
+Subject: [PATCH] startkde
 
 ---
+ startkde/plasma-session/startup.cpp     |  2 +-
  startkde/startplasma-waylandsession.cpp |  2 +-
  startkde/startplasma-x11.cpp            |  2 +-
- startkde/startplasma.cpp                | 24 ++++++++++--------------
- 3 files changed, 12 insertions(+), 16 deletions(-)
+ startkde/startplasma.cpp                | 22 +++++++++-------------
+ 4 files changed, 12 insertions(+), 16 deletions(-)
 
+diff --git a/startkde/plasma-session/startup.cpp b/startkde/plasma-session/startup.cpp
+index 89cc144ba..8ca9e81d2 100644
+--- a/startkde/plasma-session/startup.cpp
++++ b/startkde/plasma-session/startup.cpp
+@@ -211,7 +211,7 @@ Startup::Startup(QObject *parent):
+     upAndRunning(QStringLiteral("ksmserver"));
+     const AutoStart autostart;
+ 
+-    QProcess::execute(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit_wrapper"), QStringList());
++    QProcess::execute(QStringLiteral(NIXPKGS_START_KDEINIT_WRAPPER), QStringList());
+ 
+     KJob* phase1;
+     QProcessEnvironment kdedProcessEnv;
 diff --git a/startkde/startplasma-waylandsession.cpp b/startkde/startplasma-waylandsession.cpp
-index 87c71c6b3..5fc53140e 100644
+index f59654d18..5e3a93db0 100644
 --- a/startkde/startplasma-waylandsession.cpp
 +++ b/startkde/startplasma-waylandsession.cpp
-@@ -67,7 +67,7 @@ int main(int /*argc*/, char** /*argv*/)
+@@ -61,7 +61,7 @@ int main(int argc, char** argv)
      waitForKonqi();
      out << "startplasma-waylandsession: Shutting down...\n";
  
@@ -23,10 +37,10 @@ index 87c71c6b3..5fc53140e 100644
      cleanupX11();
      out << "startplasma-waylandsession: Done.\n";
 diff --git a/startkde/startplasma-x11.cpp b/startkde/startplasma-x11.cpp
-index 3314b6283..14cbe29fa 100644
+index ae1c4d101..0df24b5be 100644
 --- a/startkde/startplasma-x11.cpp
 +++ b/startkde/startplasma-x11.cpp
-@@ -111,7 +111,7 @@ int main(int /*argc*/, char** /*argv*/)
+@@ -110,7 +110,7 @@ int main(int argc, char** argv)
  
      out << "startkde: Shutting down...\n";
  
@@ -36,10 +50,10 @@ index 3314b6283..14cbe29fa 100644
      cleanupPlasmaEnvironment();
      cleanupX11();
 diff --git a/startkde/startplasma.cpp b/startkde/startplasma.cpp
-index 4c9f5cef6..5ea4c2cf1 100644
+index a055d5635..62afb1513 100644
 --- a/startkde/startplasma.cpp
 +++ b/startkde/startplasma.cpp
-@@ -34,7 +34,7 @@ QTextStream out(stderr);
+@@ -41,7 +41,7 @@ QTextStream out(stderr);
  void messageBox(const QString &text)
  {
      out << text;
@@ -48,7 +62,7 @@ index 4c9f5cef6..5ea4c2cf1 100644
  }
  
  QStringList allServices(const QLatin1String& prefix)
-@@ -242,15 +242,15 @@ void setupX11()
+@@ -262,15 +262,15 @@ void setupX11()
  //     If the user has overwritten fonts, the cursor font may be different now
  //     so don't move this up.
  
@@ -69,20 +83,7 @@ index 4c9f5cef6..5ea4c2cf1 100644
  }
  
  // TODO: Check if Necessary
-@@ -267,11 +267,7 @@ bool syncDBusEnvironment()
- {
-     int exitCode;
-     // At this point all environment variables are set, let's send it to the DBus session server to update the activation environment
--    if (!QStandardPaths::findExecutable(QStringLiteral("dbus-update-activation-environment")).isEmpty()) {
--        exitCode = runSync(QStringLiteral("dbus-update-activation-environment"), { QStringLiteral("--systemd"), QStringLiteral("--all") });
--    } else {
--        exitCode = runSync(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR "/ksyncdbusenv"), {});
--    }
-+		exitCode = runSync(QStringLiteral(NIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT), { QStringLiteral("--systemd"), QStringLiteral("--all") });
-     return exitCode == 0;
- }
- 
-@@ -287,7 +283,7 @@ void setupFontDpi()
+@@ -306,7 +302,7 @@ void setupFontDpi()
      //TODO port to c++?
      const QByteArray input = "Xft.dpi: " + QByteArray::number(fontsCfg.readEntry("forceFontDPI", 0));
      QProcess p;
@@ -91,7 +92,7 @@ index 4c9f5cef6..5ea4c2cf1 100644
      p.setProcessChannelMode(QProcess::ForwardedChannels);
      p.write(input);
      p.closeWriteChannel();
-@@ -309,7 +305,7 @@ QProcess* setupKSplash()
+@@ -328,7 +324,7 @@ QProcess* setupKSplash()
          KConfigGroup ksplashCfg = cfg.group("KSplash");
          if (ksplashCfg.readEntry("Engine", QStringLiteral("KSplashQML")) == QLatin1String("KSplashQML")) {
              p = new QProcess;
@@ -100,15 +101,6 @@ index 4c9f5cef6..5ea4c2cf1 100644
          }
      }
      return p;
-@@ -331,7 +327,7 @@ bool startKDEInit()
- {
-     // We set LD_BIND_NOW to increase the efficiency of kdeinit.
-     // kdeinit unsets this variable before loading applications.
--    const int exitCode = runSync(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit_wrapper"), { QStringLiteral("--kded"), QStringLiteral("+kcminit_startup") }, { QStringLiteral("LD_BIND_NOW=true") });
-+    const int exitCode = runSync(QStringLiteral(NIXPKGS_START_KDEINIT_WRAPPER), { QStringLiteral("--kded"), QStringLiteral("+kcminit_startup") }, { QStringLiteral("LD_BIND_NOW=true") });
-     if (exitCode != 0) {
-         messageBox(QStringLiteral("startkde: Could not start kdeinit5. Check your installation."));
-         return false;
 -- 
-2.25.1
+2.28.0
 
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
index 6472856cd9b..e1becaab95b 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
@@ -4,7 +4,7 @@
   extra-cmake-modules, kdoctools,
 
   coreutils, dbus, gnugrep, gnused, isocodes, libdbusmenu, libSM, libXcursor,
-  libXtst, pam, wayland, xmessage, xprop, xrdb, xsetroot,
+  libXtst, libXft, pam, wayland, xmessage, xprop, xrdb, xsetroot,
 
   baloo, breeze-qt5, kactivities, kactivities-stats, kcmutils, kconfig, kcrash,
   kdbusaddons, kdeclarative, kdelibs4support, kdesu, kglobalaccel, kidletime,
@@ -12,7 +12,7 @@
   kscreenlocker, ktexteditor, ktextwidgets, kwallet, kwayland, kwin,
   kxmlrpcclient, libkscreen, libksysguard, libqalculate, networkmanager-qt,
   phonon, plasma-framework, prison, solid, kholidays, kquickcharts,
-  appstream-qt,
+  appstream-qt, plasma-wayland-protocols,
 
   qtgraphicaleffects, qtquickcontrols, qtquickcontrols2, qtscript, qttools,
   qtwayland, qtx11extras, qqc2-desktop-style,
@@ -25,14 +25,14 @@ mkDerivation {
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    isocodes libdbusmenu libSM libXcursor libXtst pam wayland
+    isocodes libdbusmenu libSM libXcursor libXtst libXft pam wayland
 
     baloo kactivities kactivities-stats kcmutils kconfig kcrash kdbusaddons
     kdeclarative kdelibs4support kdesu kglobalaccel kidletime kjsembed knewstuff
     knotifyconfig kpackage kpeople krunner kscreenlocker ktexteditor
     ktextwidgets kwallet kwayland kwin kxmlrpcclient libkscreen libksysguard
     libqalculate networkmanager-qt phonon plasma-framework prison solid
-    kholidays kquickcharts appstream-qt
+    kholidays kquickcharts appstream-qt plasma-wayland-protocols
 
     qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtwayland
     qtx11extras qqc2-desktop-style
diff --git a/pkgs/desktops/plasma-5/polkit-kde-agent.nix b/pkgs/desktops/plasma-5/polkit-kde-agent.nix
index c25b3d2744b..27f03e2d931 100644
--- a/pkgs/desktops/plasma-5/polkit-kde-agent.nix
+++ b/pkgs/desktops/plasma-5/polkit-kde-agent.nix
@@ -1,7 +1,7 @@
 {
-  mkDerivation, extra-cmake-modules,
+  mkDerivation, lib, extra-cmake-modules,
   kcoreaddons, kconfig, kcrash, kdbusaddons, ki18n, kiconthemes, knotifications,
-  kwidgetsaddons, kwindowsystem, polkit-qt
+  kwidgetsaddons, kwindowsystem, polkit-qt, qtbase
 }:
 
 mkDerivation {
@@ -12,4 +12,5 @@ mkDerivation {
     knotifications kwindowsystem polkit-qt
   ];
   outputs = [ "out" "dev" ];
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/pkgs/desktops/plasma-5/powerdevil.nix b/pkgs/desktops/plasma-5/powerdevil.nix
index 979d69a02f6..28e6db853a1 100644
--- a/pkgs/desktops/plasma-5/powerdevil.nix
+++ b/pkgs/desktops/plasma-5/powerdevil.nix
@@ -19,18 +19,10 @@ mkDerivation {
     "-DHAVE_DDCUTIL=On"
   ];
   patches = [
-    # This fixes an issue where 'DDCA_Feature_List*' cannot be converted to
-    # 'DDCA_Feature_List'.
-    # https://bugs.kde.org/show_bug.cgi?id=423605
-    (fetchpatch {
-      url = "https://invent.kde.org/plasma/powerdevil/-/commit/fcb26be2fb279e6ad3b7b814d26a5921d16201eb.patch";
-      sha256 = "0gdyaa0nd1c1d6x2h0m933lascm8zm5sikd99wxmkf7hhaby6k2s";
-    })
-
     # Reduce log message spam by setting the default log level to Warning.
-    (fetchpatch {
-      url = "https://invent.kde.org/plasma/powerdevil/-/commit/c7590f9065ec9547b7fabad77a548bbc0c693113.patch";
-      sha256 = "077whhi0jrb3bajx357k7n66hv7nchis8jix0nfc1zjvi9fm6pi2";
-    })
+    #(fetchpatch {
+    #  url = "https://invent.kde.org/plasma/powerdevil/-/commit/c7590f9065ec9547b7fabad77a548bbc0c693113.patch";
+    #  sha256 = "077whhi0jrb3bajx357k7n66hv7nchis8jix0nfc1zjvi9fm6pi2";
+    #})
   ];
 }
diff --git a/pkgs/desktops/plasma-5/sddm-kcm.nix b/pkgs/desktops/plasma-5/sddm-kcm.nix
index 6becf3bf420..a9f51e50a26 100644
--- a/pkgs/desktops/plasma-5/sddm-kcm.nix
+++ b/pkgs/desktops/plasma-5/sddm-kcm.nix
@@ -1,12 +1,13 @@
 {
-  mkDerivation, extra-cmake-modules, shared-mime-info,
+  mkDerivation, lib, extra-cmake-modules, shared-mime-info,
   libpthreadstubs, libXcursor, libXdmcp,
-  qtquickcontrols2, qtx11extras,
+  qtbase, qtquickcontrols2, qtx11extras,
   karchive, ki18n, kio, knewstuff
 }:
 
 mkDerivation {
   name = "sddm-kcm";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
   buildInputs = [
     libpthreadstubs libXcursor libXdmcp
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index 6f9214ccd60..ecca8c5bfdd 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -1,390 +1,398 @@
 # DO NOT EDIT! This file is generated automatically.
-# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5
+# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5/
 { fetchurl, mirror }:
 
 {
   bluedevil = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/bluedevil-5.18.5.tar.xz";
-      sha256 = "5350efbaee01c78fd451e96bb2aceb7986d45ab05500476d1e95c4e79ec89a66";
-      name = "bluedevil-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/bluedevil-5.20.4.tar.xz";
+      sha256 = "522ad4ff3f3fc4e213328f821041d40b5126d0d3ca49ecc9aea35c59e2c64129";
+      name = "bluedevil-5.20.4.tar.xz";
     };
   };
   breeze = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/breeze-5.18.5.tar.xz";
-      sha256 = "1d08dfd24df4a4fcacad1e3759e559e82f6014ba63dc75dc32a24de6cd133563";
-      name = "breeze-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/breeze-5.20.4.tar.xz";
+      sha256 = "b61b3f9961c196bbcfb33519bbec06d19e6267182f7215e21071a5619681b30f";
+      name = "breeze-5.20.4.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/breeze-grub-5.18.5.tar.xz";
-      sha256 = "24c40171601b82d1c7d01eb85d16718a2f46cf23ee792f5524ac89fda3d278b1";
-      name = "breeze-grub-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/breeze-grub-5.20.4.tar.xz";
+      sha256 = "8692b6800e89b97973b50d6915f9ca028cdcb0354c34b54719af54441e3f3feb";
+      name = "breeze-grub-5.20.4.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/breeze-gtk-5.18.5.tar.xz";
-      sha256 = "41c7e83a28c033903d4fcab3da28a4c74ddb72958e66693a2d2e451f716cb7e9";
-      name = "breeze-gtk-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/breeze-gtk-5.20.4.tar.xz";
+      sha256 = "8905b3a0ff40a48ed2f00f69b7e30c4658deb9fbd1afc61700a28d078693b61d";
+      name = "breeze-gtk-5.20.4.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/breeze-plymouth-5.18.5.tar.xz";
-      sha256 = "c0d48dc5a02f3236ff657f86ee8cf532cf885a0e8b36bfe79f007e4d5e277281";
-      name = "breeze-plymouth-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/breeze-plymouth-5.20.4.tar.xz";
+      sha256 = "879d4bd8d0c42a5c1f51497a4ee4ebb3e69f7904170bafa392b95e1c0ce05ada";
+      name = "breeze-plymouth-5.20.4.tar.xz";
     };
   };
   discover = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/discover-5.18.5.tar.xz";
-      sha256 = "d5ce4f4668c50ba9be37e04227db4bbe469e00470c87907f1e217fdcad6e76b6";
-      name = "discover-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/discover-5.20.4.tar.xz";
+      sha256 = "3669648fa39e14a8da059373c9a01caacfd5b126d61daed65d5d7aae7ab30012";
+      name = "discover-5.20.4.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/drkonqi-5.18.5.tar.xz";
-      sha256 = "b1a626c4ed2f9de8f8bc3359d8827e7fa6ac17486b8477674e47627fcf6efad1";
-      name = "drkonqi-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/drkonqi-5.20.4.tar.xz";
+      sha256 = "55d4a166ee74c4a935c69cec64ecd8eb3fdd79aae8dcd996f6432a873be3fac8";
+      name = "drkonqi-5.20.4.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kactivitymanagerd-5.18.5.tar.xz";
-      sha256 = "24f32eb4585d427ee62e08a9fa2f057353085c62644d6bec8fb4b2568e507ac7";
-      name = "kactivitymanagerd-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kactivitymanagerd-5.20.4.tar.xz";
+      sha256 = "210215dd9a49fda98febb60f73f4cc95eda3eb9ec96c0db2f2881f6be13afb34";
+      name = "kactivitymanagerd-5.20.4.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kde-cli-tools-5.18.5.tar.xz";
-      sha256 = "e3981d1a17111f4e284b787a6e841d7ff47f4fdbca0ad17e105c0a047e5aaaa8";
-      name = "kde-cli-tools-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kde-cli-tools-5.20.4.tar.xz";
+      sha256 = "55f35158715bafdd51e448a2760327ed4f91c54fcd3da807dec2736d077b16a3";
+      name = "kde-cli-tools-5.20.4.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kdecoration-5.18.5.tar.xz";
-      sha256 = "f09856245f2cb08d9013da4c3128b5438f1e2f58af40031eb547ae765f57a9c8";
-      name = "kdecoration-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kdecoration-5.20.4.tar.xz";
+      sha256 = "8d1224a50a2e8c0ec24faab4453432eb8083b35a63e479523de95dce644226e8";
+      name = "kdecoration-5.20.4.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kde-gtk-config-5.18.5.tar.xz";
-      sha256 = "9d7b1fd8b61f9f99c5a5721ea0227c4562588834a4886d66637f4c092f0e53ab";
-      name = "kde-gtk-config-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kde-gtk-config-5.20.4.tar.xz";
+      sha256 = "db3510cb08788c915be5e034106145597de5a412236b60c57b8db4b64dbbd7b1";
+      name = "kde-gtk-config-5.20.4.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kdeplasma-addons-5.18.5.tar.xz";
-      sha256 = "1d135a32a7442f79dba4cb4e23221cd2ad1aad36b54fb12bfa91918daf3ff53f";
-      name = "kdeplasma-addons-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kdeplasma-addons-5.20.4.tar.xz";
+      sha256 = "44768c7fb00386bc4f005c773bca59d8acc354f8a3f43efa6565cefc74d490d7";
+      name = "kdeplasma-addons-5.20.4.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kgamma5-5.18.5.tar.xz";
-      sha256 = "3aa89e361646214fb4910409644b941c83a85505d3d8a1d37984598d3e54269f";
-      name = "kgamma5-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kgamma5-5.20.4.tar.xz";
+      sha256 = "59b1247dfc3c45247cff62e3706b52c9a1be2cf9cfe6e92c9c7299fc5cb51b41";
+      name = "kgamma5-5.20.4.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/khotkeys-5.18.5.tar.xz";
-      sha256 = "8f02fdf3bbecdc31c305c276fe2b3b2eca6dc10195e65c723ee9148fed81e766";
-      name = "khotkeys-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/khotkeys-5.20.4.tar.xz";
+      sha256 = "13c7e5a38f095056c6411b8dc91fc0640256c0a6f0a5166ba716e2454388d648";
+      name = "khotkeys-5.20.4.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kinfocenter-5.18.5.tar.xz";
-      sha256 = "a9679bce4cd2d64e6f471c89de6da410237263b02512768f3acd0a4932b12ec5";
-      name = "kinfocenter-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kinfocenter-5.20.4.tar.xz";
+      sha256 = "09af2cafde33d0c8a824451ca532a443b6f571e20037fe6b31245c9984e9a6b3";
+      name = "kinfocenter-5.20.4.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kmenuedit-5.18.5.tar.xz";
-      sha256 = "59d998972121662d2835d43ff5be36eca7bf62e66e39fd67b7005e8ef8afd5f6";
-      name = "kmenuedit-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kmenuedit-5.20.4.tar.xz";
+      sha256 = "32c2d2eb979e43e4cc0892aa9460eb8ebaf603b77385b9f058a48ca4347dde4b";
+      name = "kmenuedit-5.20.4.tar.xz";
     };
   };
   kscreen = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kscreen-5.18.5.tar.xz";
-      sha256 = "9b6238447a4a38babdff482724ae3d33786b211e8b4224aaadafaad7435f6ba2";
-      name = "kscreen-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kscreen-5.20.4.tar.xz";
+      sha256 = "4063fae5cb40a22a98fd0cc217e9b0ea4aef6518203c4bbe2664d5d01dfb9d9c";
+      name = "kscreen-5.20.4.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kscreenlocker-5.18.5.tar.xz";
-      sha256 = "b4269cd027e1fee721760a22ca5d738d3d98622fa222fcf9e57d2da77a4e18d2";
-      name = "kscreenlocker-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kscreenlocker-5.20.4.tar.xz";
+      sha256 = "d80d4625a0a48a7a63c5ff8255e8639eb2fb57ebc436c46979949b39fc530126";
+      name = "kscreenlocker-5.20.4.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/ksshaskpass-5.18.5.tar.xz";
-      sha256 = "c483c17d6ce2e3dffd54fc812f97b88c32f5def6e8c5e7a526e23f5e7f208cc5";
-      name = "ksshaskpass-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/ksshaskpass-5.20.4.tar.xz";
+      sha256 = "a391ba0490ca41a33207adb6aff2233165d4aeed119fd056489d6eccfc81f218";
+      name = "ksshaskpass-5.20.4.tar.xz";
     };
   };
   ksysguard = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/ksysguard-5.18.5.tar.xz";
-      sha256 = "4acb352698b612a21a5eccf22042ab46265d50bbf3aa85844bbca762a64c9e2f";
-      name = "ksysguard-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/ksysguard-5.20.4.tar.xz";
+      sha256 = "a5f247b24ce75a28f301446fbeb25abf968e77e0c32cd4be9b574a21d3bbfaf4";
+      name = "ksysguard-5.20.4.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kwallet-pam-5.18.5.tar.xz";
-      sha256 = "bc4fe3dde503645d6233c3932d3cf74a7f5bf7acefb96bd6dbd224c8919d841a";
-      name = "kwallet-pam-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kwallet-pam-5.20.4.tar.xz";
+      sha256 = "0749056e9acbbc194b20be5b0921383013ed6c268c22cf905aeeda32514d3ac9";
+      name = "kwallet-pam-5.20.4.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kwayland-integration-5.18.5.tar.xz";
-      sha256 = "82d6943d79a9a2a9bce10623adb2c9af396a2dcf258a723bb349aafbde20e6d5";
-      name = "kwayland-integration-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kwayland-integration-5.20.4.tar.xz";
+      sha256 = "2dd985dd8d21cdc7743b9f297d0d582f960339b4714953564f2f047d28cee53d";
+      name = "kwayland-integration-5.20.4.tar.xz";
+    };
+  };
+  kwayland-server = {
+    version = "5.20.4";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.20.4/kwayland-server-5.20.4.tar.xz";
+      sha256 = "3edc7b73baa6fa8b0bec51272e8786bab41998b0f675262d5086fdf6c1e9bb44";
+      name = "kwayland-server-5.20.4.tar.xz";
     };
   };
   kwin = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kwin-5.18.5.tar.xz";
-      sha256 = "ca39c63fd740432e95490031fd9d5ac003da034582014fa41c2be2b89627ddf8";
-      name = "kwin-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kwin-5.20.4.tar.xz";
+      sha256 = "c59861e9d456974bffaff2cb371cd8d31bdb789f89a60af632089c556111662a";
+      name = "kwin-5.20.4.tar.xz";
     };
   };
   kwrited = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/kwrited-5.18.5.tar.xz";
-      sha256 = "45ffa31d3d141ce453fb09fd823d7edd8e6c782b353bce22b8c879ad794fd1fe";
-      name = "kwrited-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/kwrited-5.20.4.tar.xz";
+      sha256 = "f02b900538246f4df2707585052b732552d2ea115a16f8fbda618fa02e5a1bb2";
+      name = "kwrited-5.20.4.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/libkscreen-5.18.5.tar.xz";
-      sha256 = "a962319000324200ec1abe3c58b1b8ab71ed4cc7c88a3c7e03a1c8eca86c287c";
-      name = "libkscreen-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/libkscreen-5.20.4.tar.xz";
+      sha256 = "ce1bd03a25b101793fa1472ac3fc696079e607a6f45330ea724845bda288d28d";
+      name = "libkscreen-5.20.4.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/libksysguard-5.18.5.tar.xz";
-      sha256 = "d4d7030a2869a546a211844aa158dcef3598386cc035a8655529938ba102440b";
-      name = "libksysguard-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/libksysguard-5.20.4.tar.xz";
+      sha256 = "a89968476cb8a888550e1a5138ab8e86eeb49788187192cba71f79abd4aad422";
+      name = "libksysguard-5.20.4.tar.xz";
     };
   };
   milou = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/milou-5.18.5.tar.xz";
-      sha256 = "7ec763833c025aa719d1e25f3c5c1c8b6c934a48bf346517e94660e09d8582b2";
-      name = "milou-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/milou-5.20.4.tar.xz";
+      sha256 = "123ac9470a94f2eb6e4212979d2df4160fa15962b1fc18551bfcdfe5aa18a201";
+      name = "milou-5.20.4.tar.xz";
     };
   };
   oxygen = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/oxygen-5.18.5.tar.xz";
-      sha256 = "479bdfa80b3f2216075470ab4be1e3159a17620870acf276144b9639134609f8";
-      name = "oxygen-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/oxygen-5.20.4.tar.xz";
+      sha256 = "e58cb6a2e1976a973e24d974556e6306a076ce1295f33a9a1bc56a8715857f67";
+      name = "oxygen-5.20.4.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-browser-integration-5.18.5.tar.xz";
-      sha256 = "3a087a836657b5304e2e0ef9ebefb84ce1f896bfbfc5dbf948d4b3eb7b709383";
-      name = "plasma-browser-integration-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-browser-integration-5.20.4.tar.xz";
+      sha256 = "55057e4f15a1e8b2d2f0489d32f95bb89f610ae99184b587ba90f7db0e8292b4";
+      name = "plasma-browser-integration-5.20.4.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-desktop-5.18.5.tar.xz";
-      sha256 = "aeb106018fd90da79c8a3c444d880282846a842029b1223e7830db2d4b42df9f";
-      name = "plasma-desktop-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-desktop-5.20.4.tar.xz";
+      sha256 = "3864e80bb9b8da596188162b14cd9bb77e7a8abedfb0fa41c8c72d47139d1355";
+      name = "plasma-desktop-5.20.4.tar.xz";
+    };
+  };
+  plasma-disks = {
+    version = "5.20.4";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.20.4/plasma-disks-5.20.4.tar.xz";
+      sha256 = "f0110588b2603905962beedd596cfa6eb6371b7bac2186aa845d22237199d845";
+      name = "plasma-disks-5.20.4.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-integration-5.18.5.tar.xz";
-      sha256 = "c99b987efb2ab965cc2a55793ef94c7ccb2152ca5d75956a40ec99261ad4b870";
-      name = "plasma-integration-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-integration-5.20.4.tar.xz";
+      sha256 = "4dbaf6a05d69df02e73c88970be3d7a1efb62a3931edf06c9760cd3bb87e1299";
+      name = "plasma-integration-5.20.4.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-nano-5.18.5.tar.xz";
-      sha256 = "d2f29b05894573517cb3336088e102d3604b1c2735e9bbe605119f559f0c6341";
-      name = "plasma-nano-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-nano-5.20.4.tar.xz";
+      sha256 = "8e23e0ce53654daf4ab688edd6a7852b5d859bfd86b4e1795a60f570dda409bd";
+      name = "plasma-nano-5.20.4.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-nm-5.18.5.tar.xz";
-      sha256 = "1e091d01993708220f89501bb8a289279bf527d0593fd9e4b9223e6e8caf9aaa";
-      name = "plasma-nm-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-nm-5.20.4.tar.xz";
+      sha256 = "7b4d1026f2caa709a9ae284cd18342d1c573276f9b4c356ef47779dadb8b57cf";
+      name = "plasma-nm-5.20.4.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-pa-5.18.5.tar.xz";
-      sha256 = "28765c07f584e7688a85c9761155e606440936de2ebb678917dac2c85f5d0209";
-      name = "plasma-pa-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-pa-5.20.4.tar.xz";
+      sha256 = "56fb4809966aa33290c46fed968f2c7186c415663f032c75b3279c57134674f3";
+      name = "plasma-pa-5.20.4.tar.xz";
     };
   };
   plasma-phone-components = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-phone-components-5.18.5.tar.xz";
-      sha256 = "d0c091367ae07c71457a0c03d1023ac48d8665385a6a1b0e32f6ae7ad1fa7070";
-      name = "plasma-phone-components-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-phone-components-5.20.4.tar.xz";
+      sha256 = "80053324bfb6431946df67e712638f797c2bcd9cb78766629a0372de7f6f727e";
+      name = "plasma-phone-components-5.20.4.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-sdk-5.18.5.tar.xz";
-      sha256 = "5f399231d16d62f9880f953891477f74e0b1f7b931448a4b0fbb97f37acd2fe5";
-      name = "plasma-sdk-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-sdk-5.20.4.tar.xz";
+      sha256 = "49d29c1c95832c585ea3c0b26f8fb46f5fa0fac726f9f7e9cbf0ab83415a00ea";
+      name = "plasma-sdk-5.20.4.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-tests-5.18.5.tar.xz";
-      sha256 = "3251ea30cb3c62de9bba2deb152370ea9e0e56b7506efd655888f1892c18413a";
-      name = "plasma-tests-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-tests-5.20.4.tar.xz";
+      sha256 = "35234da922aad986db73ca4d2ca1c0440dbff24e200b98584246b060cc7a2735";
+      name = "plasma-tests-5.20.4.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-thunderbolt-5.18.5.tar.xz";
-      sha256 = "c61dc7abe350ead15ca4d6111606aaf19773c38a0307ae8a7d8a7c60b82be5d1";
-      name = "plasma-thunderbolt-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-thunderbolt-5.20.4.tar.xz";
+      sha256 = "7c37c66815242b5d1e208df3b4dbf4fe0d8542ac9aa352d06c548fc172348429";
+      name = "plasma-thunderbolt-5.20.4.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-vault-5.18.5.tar.xz";
-      sha256 = "cae2713823e8c59c7a2beb96d362a15024fe260cf10419ba037e8a798f3c1b41";
-      name = "plasma-vault-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-vault-5.20.4.tar.xz";
+      sha256 = "525226a143e6bb173e8106ed2f2313a529ed380a0a1488b096a60af6d08d881c";
+      name = "plasma-vault-5.20.4.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-workspace-5.18.5.tar.xz";
-      sha256 = "14e82033be745f4db46a70d319e2c86012295ea31056092bc974004189b92354";
-      name = "plasma-workspace-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-workspace-5.20.4.tar.xz";
+      sha256 = "12bfe6c3f62e4d1d2f7bc02ccb2e2ed5aee2ffe21c310987e42a2205374c30c9";
+      name = "plasma-workspace-5.20.4.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plasma-workspace-wallpapers-5.18.5.tar.xz";
-      sha256 = "f8da3bd7b97a9944639ed0860303b8a7a008905246313e1983367810a3a84d6d";
-      name = "plasma-workspace-wallpapers-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plasma-workspace-wallpapers-5.20.4.tar.xz";
+      sha256 = "4740d67e85910ed398c048916963f31c6632698d6a4494bc09cc1b0cd14e2808";
+      name = "plasma-workspace-wallpapers-5.20.4.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/plymouth-kcm-5.18.5.tar.xz";
-      sha256 = "e8f75dd8c8a45cd706a0a6e62826d1eb4fff9c3912cbaadba8c06e9de915d2e3";
-      name = "plymouth-kcm-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/plymouth-kcm-5.20.4.tar.xz";
+      sha256 = "0cde268064c92b89c5b2a5f8c033983d372406656d446f52b77611effd67ad77";
+      name = "plymouth-kcm-5.20.4.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.18.5";
+    version = "1-5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/polkit-kde-agent-1-5.18.5.tar.xz";
-      sha256 = "5e1733cb51c826c6215da4fbbc9c9568240275cf86b9922cd7a643d192a75a91";
-      name = "polkit-kde-agent-1-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/polkit-kde-agent-1-5.20.4.tar.xz";
+      sha256 = "f01a7b3443553810b0c9e6f25d2ca51eeac7c5e9fd624505852e77183e294b61";
+      name = "polkit-kde-agent-1-5.20.4.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/powerdevil-5.18.5.tar.xz";
-      sha256 = "e000185ee61bff81fe28896a7d6353746c82c7f4d2626792fd22d34b5f49f548";
-      name = "powerdevil-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/powerdevil-5.20.4.tar.xz";
+      sha256 = "864128ea9178701bc322f728402cf9277b3c6feaa15fe425aa2adf92464bd28d";
+      name = "powerdevil-5.20.4.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/sddm-kcm-5.18.5.tar.xz";
-      sha256 = "cc99c185d701acc7442f33ef17b2396894dcf164f3f583c25105ac3f2528c33b";
-      name = "sddm-kcm-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/sddm-kcm-5.20.4.tar.xz";
+      sha256 = "c61e136c10b98a91e1bd48ca5bbdd2a15b197a38b83d7ad5ccd289200524935e";
+      name = "sddm-kcm-5.20.4.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.18.5";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/systemsettings-5.18.5.tar.xz";
-      sha256 = "cde5b714261aaa54f937887657c3d3e74814c5447448b989159ee6035be4783b";
-      name = "systemsettings-5.18.5.tar.xz";
-    };
-  };
-  user-manager = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/user-manager-5.18.5.tar.xz";
-      sha256 = "741d293947fa3fb3966f047bab121597bf1071be010684daff4a91626cf54484";
-      name = "user-manager-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/systemsettings-5.20.4.tar.xz";
+      sha256 = "e87eedfb40a0255348cf2a775ca0ea15bbce37687eedd521f2200670315953b9";
+      name = "systemsettings-5.20.4.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.18.5";
+    version = "5.20.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.18.5/xdg-desktop-portal-kde-5.18.5.tar.xz";
-      sha256 = "807452708a0318b8e21b43f9ec7e016d1de51cac5d8714d70c577bb6f3976224";
-      name = "xdg-desktop-portal-kde-5.18.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.20.4/xdg-desktop-portal-kde-5.20.4.tar.xz";
+      sha256 = "cb3d856f7caeae7bd02a3e9e43f12ee3d432aa399df9d40db0636199b7ed4df8";
+      name = "xdg-desktop-portal-kde-5.20.4.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/plasma-5/user-manager.nix b/pkgs/desktops/plasma-5/user-manager.nix
deleted file mode 100644
index f46792fc48f..00000000000
--- a/pkgs/desktops/plasma-5/user-manager.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  mkDerivation, extra-cmake-modules, kdoctools, kcmutils, kconfig, khtml,
-  ki18n, kiconthemes, kio, kwindowsystem, libpwquality
-}:
-
-mkDerivation {
-  name = "user-manager";
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [
-    kcmutils kconfig khtml ki18n kiconthemes kio kwindowsystem
-    libpwquality
-  ];
-}
diff --git a/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix b/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
index c03c6a89161..2b0450928f5 100644
--- a/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
+++ b/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
@@ -1,18 +1,20 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules, gettext, kdoctools, python,
-  cups, epoxy, mesa, pcre, pipewire,
+  cups, epoxy, mesa, pcre, pipewire, wayland, wayland-protocols,
   kcoreaddons, knotifications, kwayland, kwidgetsaddons, kwindowsystem,
-  kirigami2, kdeclarative, plasma-framework, kio
+  kirigami2, kdeclarative, plasma-framework, plasma-wayland-protocols, kio,
+  qtbase
 }:
 
 mkDerivation {
   name = "xdg-desktop-portal-kde";
+  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ];
   buildInputs = [
-    cups epoxy mesa pcre pipewire
+    cups epoxy mesa pcre pipewire wayland wayland-protocols
 
     kio kcoreaddons knotifications kwayland kwidgetsaddons kwindowsystem
-    kirigami2 kdeclarative plasma-framework
+    kirigami2 kdeclarative plasma-framework plasma-wayland-protocols
   ];
 }
diff --git a/pkgs/development/compilers/llvm/10/default.nix b/pkgs/development/compilers/llvm/10/default.nix
index 3d2cb3544b9..d18d15420e9 100644
--- a/pkgs/development/compilers/llvm/10/default.nix
+++ b/pkgs/development/compilers/llvm/10/default.nix
@@ -26,8 +26,6 @@ let
       ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
       ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share"
       echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
-    '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
-      echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
     '';
   in {
 
diff --git a/pkgs/development/compilers/llvm/11/default.nix b/pkgs/development/compilers/llvm/11/default.nix
index e6765ec6899..8da51af68a2 100644
--- a/pkgs/development/compilers/llvm/11/default.nix
+++ b/pkgs/development/compilers/llvm/11/default.nix
@@ -26,8 +26,6 @@ let
       ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
       ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share"
       echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
-    '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
-      echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
     '';
   in {
 
diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix
index 36495249d16..c06522c7e82 100644
--- a/pkgs/development/compilers/llvm/5/default.nix
+++ b/pkgs/development/compilers/llvm/5/default.nix
@@ -25,8 +25,6 @@ let
       ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
       ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
       echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
-    '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
-      echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
     '';
   in {
 
diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix
index 4c2e87ec5e1..d9a57258e5a 100644
--- a/pkgs/development/compilers/llvm/6/default.nix
+++ b/pkgs/development/compilers/llvm/6/default.nix
@@ -25,8 +25,6 @@ let
       ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
       ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
       echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
-    '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
-      echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
     '';
   in {
 
diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix
index 3dd067ae607..317e344f72e 100644
--- a/pkgs/development/compilers/llvm/7/default.nix
+++ b/pkgs/development/compilers/llvm/7/default.nix
@@ -25,8 +25,6 @@ let
       ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
       ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
       echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
-    '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
-      echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
     '';
   in {
 
diff --git a/pkgs/development/compilers/llvm/8/default.nix b/pkgs/development/compilers/llvm/8/default.nix
index 6e80737f32a..7f87ea9fc05 100644
--- a/pkgs/development/compilers/llvm/8/default.nix
+++ b/pkgs/development/compilers/llvm/8/default.nix
@@ -25,8 +25,6 @@ let
       ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
       ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
       echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
-    '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
-      echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
     '';
   in {
 
diff --git a/pkgs/development/compilers/llvm/9/default.nix b/pkgs/development/compilers/llvm/9/default.nix
index 6f5bdb8e8cc..b3afbca68ba 100644
--- a/pkgs/development/compilers/llvm/9/default.nix
+++ b/pkgs/development/compilers/llvm/9/default.nix
@@ -25,8 +25,6 @@ let
       ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
       ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
       echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
-    '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
-      echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
     '';
   in {
 
diff --git a/pkgs/development/compilers/rust/1_45.nix b/pkgs/development/compilers/rust/1_45.nix
index 2b3de4dd38c..b4d887f2e96 100644
--- a/pkgs/development/compilers/rust/1_45.nix
+++ b/pkgs/development/compilers/rust/1_45.nix
@@ -11,15 +11,24 @@
 , buildPackages
 , newScope, callPackage
 , CoreFoundation, Security
-, llvmPackages
-, pkgsBuildTarget, pkgsBuildBuild
+, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost
 , makeRustPlatform
+, llvmPackages_5, llvm_10
 } @ args:
 
 import ./default.nix {
   rustcVersion = "1.45.2";
   rustcSha256 = "0273a1g3f59plyi1n0azf21qjzwml1yqdnj5z472crz37qggr8xp";
 
+  llvmSharedForBuild = pkgsBuildBuild.llvm_10.override { enableSharedLibraries = true; };
+  llvmSharedForHost = pkgsBuildHost.llvm_10.override { enableSharedLibraries = true; };
+  llvmSharedForTarget = pkgsBuildTarget.llvm_10.override { enableSharedLibraries = true; };
+
+  llvmBootstrapForDarwin = llvmPackages_5;
+
+  # For use at runtime
+  llvmShared = llvm_10.override { enableSharedLibraries = true; };
+
   # Note: the version MUST be one version prior to the version we're
   # building
   bootstrapVersion = "1.44.1";
@@ -41,4 +50,4 @@ import ./default.nix {
   ];
 }
 
-(builtins.removeAttrs args [ "fetchpatch" ])
+(builtins.removeAttrs args [ "fetchpatch" "pkgsBuildHost" "llvmPackages_5" "llvm_10" ])
diff --git a/pkgs/development/compilers/rust/1_48.nix b/pkgs/development/compilers/rust/1_48.nix
index b3a512e58bd..6b4b10f12d3 100644
--- a/pkgs/development/compilers/rust/1_48.nix
+++ b/pkgs/development/compilers/rust/1_48.nix
@@ -13,15 +13,24 @@
 , buildPackages
 , newScope, callPackage
 , CoreFoundation, Security
-, llvmPackages
-, pkgsBuildTarget, pkgsBuildBuild
+, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost
 , makeRustPlatform
+, llvmPackages_5, llvm_11
 } @ args:
 
 import ./default.nix {
   rustcVersion = "1.48.0";
   rustcSha256 = "0fz4gbb5hp5qalrl9lcl8yw4kk7ai7wx511jb28nypbxninkwxhf";
 
+  llvmSharedForBuild = pkgsBuildBuild.llvm_11.override { enableSharedLibraries = true; };
+  llvmSharedForHost = pkgsBuildHost.llvm_11.override { enableSharedLibraries = true; };
+  llvmSharedForTarget = pkgsBuildTarget.llvm_11.override { enableSharedLibraries = true; };
+
+  llvmBootstrapForDarwin = llvmPackages_5;
+
+  # For use at runtime
+  llvmShared = llvm_11.override { enableSharedLibraries = true; };
+
   # Note: the version MUST be one version prior to the version we're
   # building
   bootstrapVersion = "1.47.0";
@@ -43,4 +52,4 @@ import ./default.nix {
   ];
 }
 
-(builtins.removeAttrs args [ "fetchpatch" ])
+(builtins.removeAttrs args [ "fetchpatch" "pkgsBuildHost" "llvmPackages_5" "llvm_11"])
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index 25876cc6380..6203eaf47ba 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -5,12 +5,16 @@
 , bootstrapHashes
 , selectRustPackage
 , rustcPatches ? []
+, llvmBootstrapForDarwin
+, llvmShared
+, llvmSharedForBuild
+, llvmSharedForHost
+, llvmSharedForTarget
 }:
 { stdenv, lib
 , buildPackages
 , newScope, callPackage
 , CoreFoundation, Security
-, llvmPackages
 , pkgsBuildTarget, pkgsBuildBuild
 , makeRustPlatform
 }: rec {
@@ -76,16 +80,17 @@
         version = rustcVersion;
         sha256 = rustcSha256;
         inherit enableRustcDev;
+        inherit llvmShared llvmSharedForBuild llvmSharedForHost llvmSharedForTarget;
 
         patches = rustcPatches;
 
         # Use boot package set to break cycle
         rustPlatform = bootRustPlatform;
       } // lib.optionalAttrs (stdenv.cc.isClang && stdenv.hostPlatform == stdenv.buildPlatform) {
-        stdenv = llvmPackages.stdenv;
-        pkgsBuildBuild = pkgsBuildBuild // { targetPackages.stdenv = llvmPackages.stdenv; };
-        pkgsBuildHost = pkgsBuildBuild // { targetPackages.stdenv = llvmPackages.stdenv; };
-        pkgsBuildTarget = pkgsBuildTarget // { targetPackages.stdenv = llvmPackages.stdenv; };
+        stdenv = llvmBootstrapForDarwin.stdenv;
+        pkgsBuildBuild = pkgsBuildBuild // { targetPackages.stdenv = llvmBootstrapForDarwin.stdenv; };
+        pkgsBuildHost = pkgsBuildBuild // { targetPackages.stdenv = llvmBootstrapForDarwin.stdenv; };
+        pkgsBuildTarget = pkgsBuildTarget // { targetPackages.stdenv = llvmBootstrapForDarwin.stdenv; };
       });
       rustfmt = self.callPackage ./rustfmt.nix { inherit Security; };
       cargo = self.callPackage ./cargo.nix {
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index a290eb11755..570cd8b796f 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -1,6 +1,7 @@
 { stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
+, llvmShared, llvmSharedForBuild, llvmSharedForHost, llvmSharedForTarget
 , fetchurl, file, python3
-, llvm_10, darwin, cmake, rust, rustPlatform
+, darwin, cmake, rust, rustPlatform
 , pkgconfig, openssl
 , which, libffi
 , withBundledLLVM ? false
@@ -13,13 +14,6 @@
 let
   inherit (stdenv.lib) optionals optional optionalString concatStringsSep;
   inherit (darwin.apple_sdk.frameworks) Security;
-
-  llvmSharedForBuild = pkgsBuildBuild.llvm_10.override { enableSharedLibraries = true; };
-  llvmSharedForHost = pkgsBuildHost.llvm_10.override { enableSharedLibraries = true; };
-  llvmSharedForTarget = pkgsBuildTarget.llvm_10.override { enableSharedLibraries = true; };
-
-  # For use at runtime
-  llvmShared = llvm_10.override { enableSharedLibraries = true; };
 in stdenv.mkDerivation rec {
   pname = "rustc";
   inherit version;
@@ -154,6 +148,11 @@ in stdenv.mkDerivation rec {
     python x.py dist rustc-dev
     tar xf build/dist/rustc-dev*tar.gz
     cp -r rustc-dev*/rustc-dev*/lib/* $out/lib/
+    rm $out/lib/rustlib/install.log
+    for m in $out/lib/rustlib/manifest-rust*
+    do
+      sort --output=$m < $m
+    done
 
   '' + ''
     # remove references to llvm-config in lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
diff --git a/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch
index a1f9d68eb16..41d3ab52345 100644
--- a/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch
+++ b/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch
@@ -1,19 +1,19 @@
-From 597e73f2a4b2f0b508127931b36d5540d6941823 Mon Sep 17 00:00:00 2001
-From: Frederik Rietdijk <fridh@fridh.nl>
-Date: Mon, 28 Aug 2017 09:24:06 +0200
+From 66f492d2eda94bd64db833839a325caf6ba0fed5 Mon Sep 17 00:00:00 2001
+From: Greg Roodt <greg@canva.com>
+Date: Wed, 9 Dec 2020 17:59:24 +1100
 Subject: [PATCH] Don't use ldconfig
 
 ---
- Lib/ctypes/util.py | 70 ++----------------------------------------------------
- 1 file changed, 2 insertions(+), 68 deletions(-)
+ Lib/ctypes/util.py | 77 ++--------------------------------------------
+ 1 file changed, 2 insertions(+), 75 deletions(-)
 
 diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
-index 5e8b31a854..7b45ce6c15 100644
+index 0c2510e161..7fb98af308 100644
 --- a/Lib/ctypes/util.py
 +++ b/Lib/ctypes/util.py
-@@ -94,46 +94,7 @@ elif os.name == "posix":
-     import re, tempfile
- 
+@@ -100,53 +100,7 @@ elif os.name == "posix":
+             return thefile.read(4) == elf_header
+
      def _findLib_gcc(name):
 -        # Run GCC's linker with the -t (aka --trace) option and examine the
 -        # library name it prints out. The GCC command will fail because we
@@ -51,17 +51,24 @@ index 5e8b31a854..7b45ce6c15 100644
 -                # Raised if the file was already removed, which is the normal
 -                # behaviour of GCC if linking fails
 -                pass
--        res = re.search(expr, trace)
+-        res = re.findall(expr, trace)
 -        if not res:
 -            return None
--        return os.fsdecode(res.group(0))
+-
+-        for file in res:
+-            # Check if the given file is an elf file: gcc can report
+-            # some files that are linker scripts and not actual
+-            # shared objects. See bpo-41976 for more details
+-            if not _is_elf(file):
+-                continue
+-            return os.fsdecode(file)
 +        return None
- 
- 
+
+
      if sys.platform == "sunos5":
-@@ -255,34 +216,7 @@ elif os.name == "posix":
+@@ -268,34 +222,7 @@ elif os.name == "posix":
      else:
- 
+
          def _findSoname_ldconfig(name):
 -            import struct
 -            if struct.calcsize('l') == 4:
@@ -92,9 +99,8 @@ index 5e8b31a854..7b45ce6c15 100644
 -            except OSError:
 -                pass
 +            return None
- 
+
          def _findLib_ld(name):
              # See issue #9998 for why this is needed
--- 
-2.15.0
-
+--
+2.24.3 (Apple Git-128)
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 1a178940fe6..a217f62986d 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -167,10 +167,10 @@ in {
     sourceVersion = {
       major = "3";
       minor = "9";
-      patch = "0";
+      patch = "1";
       suffix = "";
     };
-    sha256 = "0m18z05nlmqm1zjw9s0ifgrn1jvjn3jwjg0bpswhjmw5k4yfcwww";
+    sha256 = "1zq3k4ymify5ig739zyvx9s2ainvchxb1zpy139z74krr653y74r";
     inherit (darwin) configd;
     inherit passthruFun;
   };
diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix
index 6470566d5c7..b028813558f 100644
--- a/pkgs/development/libraries/aws-c-common/default.nix
+++ b/pkgs/development/libraries/aws-c-common/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "aws-c-common";
@@ -13,15 +13,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  # can be removed once https://github.com/awslabs/aws-c-common/pull/735 gets merged, and version bumped
-  patches = [
-    (fetchpatch {
-      name = "fix-re-export-of-target.patch";
-      url = "https://github.com/awslabs/aws-c-common/pull/735/commits/3fca5c629ce0c4d66f50f7152685f3fe73941cb4.patch";
-      sha256 = "056f9kyg1c4lwjq8n0r28w1n3zbwrwpi1wbqabk99gaayg46x35a";
-    })
-  ];
-
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin
     "-Wno-nullability-extension -Wno-typedef-redefinition";
 
diff --git a/pkgs/development/libraries/aws-checksums/default.nix b/pkgs/development/libraries/aws-checksums/default.nix
index ea3633d2e4d..d4ba15e52db 100644
--- a/pkgs/development/libraries/aws-checksums/default.nix
+++ b/pkgs/development/libraries/aws-checksums/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "aws-checksums";
@@ -13,14 +13,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  # can be removed once https://github.com/awslabs/aws-checksums/pull/40 gets merged, and version bumped
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/awslabs/aws-checksums/pull/40/commits/fb5a57b3c072bd88e45de76fbb76bdc89c67b193.patch";
-      sha256 = "056f9kyg1c4lwjq8n0r28w1n3zbwrwpi1wbqabk99gaayg46x35a";
-    })
-  ];
-
   cmakeFlags = [ "-DBUILD_SHARED_LIBS:BOOL=ON" ];
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index a195a2c7bb9..b3950cb0d30 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -1,4 +1,5 @@
 { stdenv, icu, expat, zlib, bzip2, python, fixDarwinDylibNames, libiconv
+, fetchpatch
 , which
 , buildPackages
 , toolset ? /**/ if stdenv.cc.isClang  then "clang"
@@ -113,6 +114,14 @@ stdenv.mkDerivation {
     if version == "1.55.0"
     then ./darwin-1.55-no-system-python.patch
     else ./darwin-no-system-python.patch)
+  # Fix boost-context segmentation faults on ppc64 due to ABI violation
+  ++ optional (versionAtLeast version "1.61" &&
+               versionOlder version "1.71") (fetchpatch {
+    url = "https://github.com/boostorg/context/commit/2354eca9b776a6739112833f64754108cc0d1dc5.patch";
+    sha256 = "067m4bjpmcanqvg28djax9a10avmdwhlpfx6gn73kbqqq70dnz29";
+    stripLen = 1;
+    extraPrefix = "libs/context/";
+  })
   ++ optional (and (versionAtLeast version "1.70") (!versionAtLeast version "1.73")) ./cmake-paths.patch
   ++ optional (versionAtLeast version "1.73") ./cmake-paths-173.patch;
 
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index 2d6fae915f8..f95818b399c 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gdk-pixbuf";
-  version = "2.42.0";
+  version = "2.42.2";
 
   outputs = [ "out" "dev" "man" "devdoc" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1ixfmmamgv67is7snzighfr7c9y2maq3q4a075xdq0d9s4w16i3k";
+    sha256 = "05ggmzwvrxq9w4zcvmrnnd6qplsmb4n95lj4q607c7arzlf6mil3";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index c5edeb2021f..49343e79c87 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -89,13 +89,13 @@ let
   inherit (stdenv.lib) optional optionals;
 in stdenv.mkDerivation rec {
   pname = "gst-plugins-bad";
-  version = "1.18.1";
+  version = "1.18.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1cn18cbqyysrxnrk5bpxdzd5xcws9g2kmm5rbv00cx6rhn69g5f1";
+    sha256 = "06ildd4rl6cynirv3p00d2ddf5is9svj4i7mkahldzhq24pq5mca";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index da3434a77cd..4728e49c516 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-base";
-  version = "1.18.1";
+  version = "1.18.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0hf66sh8d4x2ksfnvaq2rqrrfq0vi0pv6wbh9i5jixrhvvbm99hv";
+    sha256 = "1b05kg46azrxxvq42c71071lfsnc34pw4vynnkczdqi6g0gzn16x";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 3ea0bd8903a..c2a639dff24 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer";
-  version = "1.18.1";
+  version = "1.18.2";
 
   outputs = [
     "out"
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1fpcpsw740svvdxvvwn0hly5i72miizm4s0mbid10ji83zi8vpvr";
+    sha256 = "0ijlmvr660m8zn09xlmnq1ajrziqsivp2hig5a9mabhcjx7ypkb6";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gstreamer/devtools/default.nix b/pkgs/development/libraries/gstreamer/devtools/default.nix
index fe4c7005f60..6743a5ecd67 100644
--- a/pkgs/development/libraries/gstreamer/devtools/default.nix
+++ b/pkgs/development/libraries/gstreamer/devtools/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-devtools";
-  version = "1.18.1";
+  version = "1.18.2";
 
   src = fetchurl {
     url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1pxhg8n5nl34baq6mb07i27b33gaw47zrv5yalyj6f12pnx148ki";
+    sha256 = "0mhascwvgirgh7b5dykpnk06f7f5g62gh3sl30i6kygiidqkv9vf";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 075b2059dbf..75e065e6d2b 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -16,7 +16,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-editing-services";
-  version = "1.18.1";
+  version = "1.18.2";
 
   outputs = [
     "out"
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "09rr5a198p1r9wcbsjl01xg6idkfkgj5h9x7xxywarb5i7qv6g79";
+    sha256 = "0pv2k8zlpn3vv2sdlspi3m63ixcwzi90pjly2ypbkg59ab97rb15";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 99b00e6ca9d..d4c3b99c7ca 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -51,13 +51,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gst-plugins-good";
-  version = "1.18.1";
+  version = "1.18.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0v329xi4qhlfh9aksfyviryqk9lclm4wj1lxrjnbdv4haldfj472";
+    sha256 = "1929nhjsvbl4bw37nfagnfsnxz737cm2x3ayz9ayrn9lwkfm45zp";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 27635247391..c75d439cd53 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-libav";
-  version = "1.18.1";
+  version = "1.18.2";
 
   src = fetchurl {
     url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1n1fkkbxxsndblnbm0c2ziqp967hrz5gag6z36xbpvqk4sy1g9rr";
+    sha256 = "0jbzams9ggk3sq9ywv4gsl9rghyn203l2582m6l5c1sz9ka9m5in";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
index 87aca8a7cf9..4167b172776 100644
--- a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
+++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-rtsp-server";
-  version = "1.18.1";
+  version = "1.18.2";
 
   src = fetchurl {
     url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0m7p7sarvi6n9pz0rrl9k3gp3l5s42qs8z0165kyd6fiqdjjia0h";
+    sha256 = "1qjlp7az0hkzxvq53hwnp55sp6xhbybfwzaj66hp45jslsmj4fcp";
   };
 
   outputs = [
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index ab922f98808..1cdc0a51930 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-ugly";
-  version = "1.18.1";
+  version = "1.18.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "09gpbykjchw3lb51ipxj53fy238gr9mg9jybcg5135pb56w6rk8q";
+    sha256 = "1nwbcv5yaib3d8icvyja3zf6lyjf5zf1hndbijrhj8j7xlia0dx3";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index a1a6223798f..52a6cb27894 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer-vaapi";
-  version = "1.18.1";
+  version = "1.18.2";
 
   src = fetchurl {
     url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1sm6x2qa7ng78w0w8q4mjs7pbpbbk8qkfgzhdmbb8l0bh513q3a0";
+    sha256 = "1h67n7wk1297rzynknbyv44gdacblvkcvb37x8yxi5d0zms2qywc";
   };
 
   outputs = [
diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix
index aee846ccfcd..654ad3116a4 100644
--- a/pkgs/development/libraries/gtk/3.x.nix
+++ b/pkgs/development/libraries/gtk/3.x.nix
@@ -51,7 +51,7 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "gtk+3";
-  version = "3.24.23";
+  version = "3.24.24";
 
   outputs = [ "out" "dev" ] ++ optional withGtkDoc "devdoc";
   outputBin = "dev";
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${stdenv.lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
-    sha256 = "1cg2vbwbcp7bc84ky0b69ipgdr9djhspnf5k8lajb8jphcj4v1jx";
+    sha256 = "12ipk1d376bai9v820qzhxba93kkh5abi6mhyqr4hwjvqmkl77fc";
   };
 
   patches = [
@@ -73,13 +73,6 @@ stdenv.mkDerivation rec {
       url = "https://bug757142.bugzilla-attachments.gnome.org/attachment.cgi?id=344123";
       sha256 = "0g6fhqcv8spfy3mfmxpyji93k8d4p4q4fz1v9a1c1cgcwkz41d7p";
     })
-
-    # Fix path handling in pkg-config. MR for the gtk-3-24 branch:
-    # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2605
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gtk/commit/6d9db8610eff8c12d594d53b7813d9eea1247801.patch";
-      sha256 = "0rd1kjh0m4mrj2hkcqlsq1j0d6ahn5c237fd211r158gd1jiwys0";
-    })
   ] ++ optionals stdenv.isDarwin [
     # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin
     # let’s drop that dependency in similar way to how other parts of the library do it
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 839b2eb466d..ea38934b000 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.73/)
+WGET_ARGS=(https://download.kde.org/stable/frameworks/5.76/)
diff --git a/pkgs/development/libraries/kde-frameworks/kded.nix b/pkgs/development/libraries/kde-frameworks/kded.nix
index 65377789582..1b326e51de9 100644
--- a/pkgs/development/libraries/kde-frameworks/kded.nix
+++ b/pkgs/development/libraries/kde-frameworks/kded.nix
@@ -1,16 +1,22 @@
 {
-  mkDerivation, lib, propagate,
+  mkDerivation, lib, propagate, wrapGAppsHook,
   extra-cmake-modules, kdoctools,
-  kconfig, kcoreaddons, kcrash, kdbusaddons, kinit, kservice, qtbase,
+  gsettings-desktop-schemas, kconfig, kcoreaddons, kcrash, kdbusaddons, kinit,
+  kservice, qtbase,
 }:
 
 mkDerivation {
   name = "kded";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
   buildInputs = [
-    kconfig kcoreaddons kcrash kdbusaddons kinit kservice qtbase
+    gsettings-desktop-schemas kconfig kcoreaddons kcrash kdbusaddons kinit
+    kservice qtbase
   ];
   outputs = [ "out" "dev" ];
   setupHook = propagate "out";
+  dontWrapGApps = true;
+  preFixup = ''
+    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix b/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
index ca015151e0f..483ab16dcc3 100644
--- a/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
+++ b/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
@@ -1,16 +1,18 @@
 {
-  mkDerivation,
+  mkDerivation, lib,
   extra-cmake-modules,
   kconfig, kcoreaddons, kcrash, kdbusaddons, kservice, kwindowsystem,
-  qtbase, qttools, qtx11extras,
+  qtbase, qttools, qtx11extras, libXdmcp,
 }:
 
 mkDerivation {
   name = "kglobalaccel";
+  meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     kconfig kcoreaddons kcrash kdbusaddons kservice kwindowsystem qttools
-    qtx11extras
+    qtx11extras libXdmcp
   ];
+  outputs = [ "out" "dev" ];
   propagatedBuildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch b/pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch
new file mode 100644
index 00000000000..609376e33e4
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch
@@ -0,0 +1,50 @@
+From 291f691400d4e85c57b57ec75482d2c6078ce26e Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@mailbox.org>
+Date: Wed, 9 Dec 2020 10:01:59 -0600
+Subject: [PATCH] platform plugins path
+
+---
+ src/pluginwrapper.cpp | 27 +++++++++++++--------------
+ 1 file changed, 13 insertions(+), 14 deletions(-)
+
+diff --git a/src/pluginwrapper.cpp b/src/pluginwrapper.cpp
+index a255d83..9699b08 100644
+--- a/src/pluginwrapper.cpp
++++ b/src/pluginwrapper.cpp
+@@ -25,20 +25,19 @@ static QStringList pluginCandidates()
+ {
+     QStringList ret;
+     const auto paths = QCoreApplication::libraryPaths();
+-    for (const QString &path : paths) {
+-        static const QStringList searchFolders {
+-            QStringLiteral("/kf5/org.kde.kwindowsystem.platforms"),
+-            QStringLiteral("/kf5/kwindowsystem"),
+-        };
+-        for (const QString &searchFolder : searchFolders) {
+-            QDir pluginDir(path + searchFolder);
+-            if (!pluginDir.exists()) {
+-                continue;
+-            }
+-            const auto entries = pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot);
+-            for (const QString &entry : entries) {
+-                ret << pluginDir.absoluteFilePath(entry);
+-            }
++    const QString path = QStringLiteral(NIXPKGS_QT_PLUGIN_PATH);
++    static const QStringList searchFolders {
++        QStringLiteral("/kf5/org.kde.kwindowsystem.platforms"),
++        QStringLiteral("/kf5/kwindowsystem"),
++    };
++    for (const QString &searchFolder : searchFolders) {
++        QDir pluginDir(path + searchFolder);
++        if (!pluginDir.exists()) {
++            continue;
++        }
++        const auto entries = pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot);
++        for (const QString &entry : entries) {
++            ret << pluginDir.absoluteFilePath(entry);
+         }
+     }
+     return ret;
+-- 
+2.28.0
+
diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix b/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix
index 1e77b63f7c9..ab93966c0ac 100644
--- a/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix
@@ -9,13 +9,13 @@ mkDerivation {
   name = "kwindowsystem";
   meta = {
     maintainers = [ lib.maintainers.ttuegel ];
-    broken = builtins.compareVersions qtbase.version "5.7.0" < 0;
+    broken = lib.versionOlder qtbase.version "5.7.0";
   };
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ libpthreadstubs libXdmcp qttools qtx11extras ];
   propagatedBuildInputs = [ qtbase ];
   patches = [
-    ./platform-plugins-path.patch
+    ./0001-platform-plugins-path.patch
   ];
   preConfigure = ''
     NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PATH=\"''${!outputBin}/$qtPluginPrefix\""
diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch b/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch
deleted file mode 100644
index 27501732210..00000000000
--- a/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Index: kwindowsystem-5.64.0/src/pluginwrapper.cpp
-===================================================================
---- kwindowsystem-5.64.0.orig/src/pluginwrapper.cpp
-+++ kwindowsystem-5.64.0/src/pluginwrapper.cpp
-@@ -37,16 +37,10 @@ Q_GLOBAL_STATIC(KWindowSystemPluginWrapp
- static QStringList pluginCandidates()
- {
-     QStringList ret;
--    const auto paths = QCoreApplication::libraryPaths();
--    for (const QString &path : paths) {
--        QDir pluginDir(path + QLatin1String("/kf5/org.kde.kwindowsystem.platforms"));
--        if (!pluginDir.exists()) {
--            continue;
--        }
--        const auto entries = pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot);
--        for (const QString &entry : entries) {
--            ret << pluginDir.absoluteFilePath(entry);
--        }
-+    QDir pluginDir(QLatin1String(NIXPKGS_QT_PLUGIN_PATH) + QLatin1Literal("/kf5/org.kde.kwindowsystem.platforms"));
-+    const auto entries = pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot);
-+    for (const QString &entry : entries) {
-+        ret << pluginDir.absoluteFilePath(entry);
-     }
-     return ret;
- }
diff --git a/pkgs/development/libraries/kde-frameworks/purpose.nix b/pkgs/development/libraries/kde-frameworks/purpose.nix
index 1484b2d0489..6f1527da778 100644
--- a/pkgs/development/libraries/kde-frameworks/purpose.nix
+++ b/pkgs/development/libraries/kde-frameworks/purpose.nix
@@ -1,6 +1,7 @@
 {
   mkDerivation, lib, extra-cmake-modules, qtbase
 , qtdeclarative, kconfig, kcoreaddons, ki18n, kio, kirigami2
+, fetchpatch
 }:
 
 mkDerivation {
@@ -8,7 +9,7 @@ mkDerivation {
   meta = { maintainers = [ lib.maintainers.bkchr ]; };
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
-    qtbase qtdeclarative kconfig kcoreaddons 
+    qtbase qtdeclarative kconfig kcoreaddons
     ki18n kio kirigami2
   ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 070b11f6bfb..dbc74b83112 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -1,670 +1,670 @@
 # DO NOT EDIT! This file is generated automatically.
-# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/kde-frameworks
+# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/kde-frameworks/
 { fetchurl, mirror }:
 
 {
   attica = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/attica-5.73.0.tar.xz";
-      sha256 = "011240a6ff59e2b39bcf6d4ba6128e6e60c6318c185e7316a71cfec28e69c69a";
-      name = "attica-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/attica-5.76.0.tar.xz";
+      sha256 = "64b262f61935653b91a83f4d1c659e7dcaf575b12aa955fe16d8392adb256e22";
+      name = "attica-5.76.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/baloo-5.73.0.tar.xz";
-      sha256 = "887077ae3e090d673d2ffe7eb869a0ab6f5d14e9dae2dccd619e4689699a2dfe";
-      name = "baloo-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/baloo-5.76.0.tar.xz";
+      sha256 = "8ae9e6dd51c84150f7fc581ebf04617f3ee9e1f96e08df79d6f15ee29f5f95f9";
+      name = "baloo-5.76.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/bluez-qt-5.73.0.tar.xz";
-      sha256 = "70264edb82b2627c0ec3740374b90b8402e0f432fe4a10650fa3d22191d8cfd4";
-      name = "bluez-qt-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/bluez-qt-5.76.0.tar.xz";
+      sha256 = "a3f99a10e5f018bac91b4bd88be23a6ea9399aa1ab29d16840d5ee2c20537835";
+      name = "bluez-qt-5.76.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/breeze-icons-5.73.0.tar.xz";
-      sha256 = "b6caff26f69008a3e0d53ae5fcfcf070b70ad1b17d407daecbbabeb6a606a08b";
-      name = "breeze-icons-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/breeze-icons-5.76.0.tar.xz";
+      sha256 = "d0211f0e6fa9137dbb42bcad1ac352bbfe793b6a3e6483adc2051b5c24a7851b";
+      name = "breeze-icons-5.76.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/extra-cmake-modules-5.73.0.tar.xz";
-      sha256 = "c5e3ef0253f7d5ab3adf9185950e34fd620a3d5baaf3bcc15892f971fc3274c4";
-      name = "extra-cmake-modules-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/extra-cmake-modules-5.76.0.tar.xz";
+      sha256 = "4845e9e0a43ba15158c0cfdc7ab594e7d02692fab9083201715270a096704a32";
+      name = "extra-cmake-modules-5.76.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/frameworkintegration-5.73.0.tar.xz";
-      sha256 = "21ef7f1a6d48f9fb14ccac9bc37e803c92cf83c9e235a5ca8bd7eb08fd0a6fb3";
-      name = "frameworkintegration-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/frameworkintegration-5.76.0.tar.xz";
+      sha256 = "7ac6c070190ab4c0c2ac15a921886ed7f3b70d6a0b7c41766d21a913e9f086fb";
+      name = "frameworkintegration-5.76.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kactivities-5.73.0.tar.xz";
-      sha256 = "5098f2535175ac12da91568ca554e3f5d970ae05415da1a8ba17305cb8ac3a1a";
-      name = "kactivities-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kactivities-5.76.0.tar.xz";
+      sha256 = "efba13d0d720502bf8bee161b688ba21704f7c213c8b95da65b77b76c9cb3422";
+      name = "kactivities-5.76.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kactivities-stats-5.73.0.tar.xz";
-      sha256 = "df4b00c52e83608b2dd7345cd220143e07b65cb431cead5e9abb1e4ffd6ecd5a";
-      name = "kactivities-stats-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kactivities-stats-5.76.0.tar.xz";
+      sha256 = "85bb432a10a48af505a457c7ccacffad7914835f94042472083e878cabcd2c14";
+      name = "kactivities-stats-5.76.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kapidox-5.73.0.tar.xz";
-      sha256 = "b49ff6673906817ed95a3de56535594de02a9f95bcb2726abe52d0c0e0161be5";
-      name = "kapidox-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kapidox-5.76.0.tar.xz";
+      sha256 = "8c6c9401059d34fa2d7f052e21387d803a1131a60fcd1305ddf5d5dfe22c6d97";
+      name = "kapidox-5.76.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/karchive-5.73.0.tar.xz";
-      sha256 = "25481ebbba8f58d9ab45bde804ab0d873c45550b482e27e7856b362cd9aa434f";
-      name = "karchive-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/karchive-5.76.0.tar.xz";
+      sha256 = "503d33b247ae24260c73aac2c48601eb4f8be3f10c9149549ea5dd2d22082a2a";
+      name = "karchive-5.76.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kauth-5.73.0.tar.xz";
-      sha256 = "e334705bfc3f81c5e2f66315d40badd26d88426128432788f790ebefce1694d9";
-      name = "kauth-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kauth-5.76.0.tar.xz";
+      sha256 = "c277a7ab750158a56381d8f74b8ebed5205b785eca2444c65cbf59d429958a89";
+      name = "kauth-5.76.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kbookmarks-5.73.0.tar.xz";
-      sha256 = "b925ec1b8a1b4a2b7f2526fdbc7761de065b3c9573e41ac274773ed1b576aa51";
-      name = "kbookmarks-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kbookmarks-5.76.0.tar.xz";
+      sha256 = "ac5416f1ac21cb9e9fdf72a95de855a9891cea0ed7e1436a93c019b6c45af2af";
+      name = "kbookmarks-5.76.0.tar.xz";
     };
   };
   kcalendarcore = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kcalendarcore-5.73.0.tar.xz";
-      sha256 = "e3486b41b833c0ba72f839d8a61bdffaf9b3ece3da20f478c2981b3296e7b713";
-      name = "kcalendarcore-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kcalendarcore-5.76.0.tar.xz";
+      sha256 = "e6fd390b8ba2a899e7abda3de8d9ab7e5155fede6bbee9ca2b302b931a0232ae";
+      name = "kcalendarcore-5.76.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kcmutils-5.73.0.tar.xz";
-      sha256 = "b28bf672bbe21e8d1b4e6ea924c1bb318c81c43dcbb86bebb3f5775e18945ca9";
-      name = "kcmutils-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kcmutils-5.76.0.tar.xz";
+      sha256 = "0ea51ea9e46e6359c76fe099fd2cd03c20891a1cad26ea156ca921a9f0869009";
+      name = "kcmutils-5.76.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kcodecs-5.73.0.tar.xz";
-      sha256 = "3bcb22b4f3b2f164759ab912d117c3b4b50695ae38d524f2cfb79a29488cce67";
-      name = "kcodecs-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kcodecs-5.76.0.tar.xz";
+      sha256 = "b4e1fe3247fdaf80f4414716f6fbcd42e8de04f64c8dd50bd13e9e9a78abf6e1";
+      name = "kcodecs-5.76.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kcompletion-5.73.0.tar.xz";
-      sha256 = "72b0650e5ae9f30ad4ec30b55e660c826d93edfda0ef4f9436f226cbb8a9705a";
-      name = "kcompletion-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kcompletion-5.76.0.tar.xz";
+      sha256 = "014c56172040bf3aa27f81a6bb433914a5c22d2dfb1f8566be4cce678d09193a";
+      name = "kcompletion-5.76.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kconfig-5.73.0.tar.xz";
-      sha256 = "6046bbb8da5f3261aac7f868bfa8a8ce1015a3a8257fe0b2d37dce9e2bc3952e";
-      name = "kconfig-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kconfig-5.76.0.tar.xz";
+      sha256 = "153d3ed114954594b0dcc00e1317483609649c064203e6eb8b110686dbaba686";
+      name = "kconfig-5.76.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kconfigwidgets-5.73.0.tar.xz";
-      sha256 = "ed8a0a8158f895aebd46c4a725f77178d942cd9476a864a615a9df343da51f8e";
-      name = "kconfigwidgets-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kconfigwidgets-5.76.0.tar.xz";
+      sha256 = "f8eed399008a041df2da9cc3f2313df11376b94c85472900b39b9d6abcabe6d4";
+      name = "kconfigwidgets-5.76.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kcontacts-5.73.0.tar.xz";
-      sha256 = "4351bf80f5a5417ba7e99fe557a851d1c7173fd7511fc1426375c66692e748bb";
-      name = "kcontacts-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kcontacts-5.76.0.tar.xz";
+      sha256 = "4a9e3189b4ed1bc0231bf98cba134e78e5a692a14d202f0311f6e5c5190cfad5";
+      name = "kcontacts-5.76.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kcoreaddons-5.73.0.tar.xz";
-      sha256 = "24a7713eaef2f40e648a586e22b030192321f9fecdbae77013b00446fa0d6d51";
-      name = "kcoreaddons-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kcoreaddons-5.76.0.tar.xz";
+      sha256 = "fbab3e3e18f42922ecdc50138ed31f62007cafa902b959d89b1233b5557282d6";
+      name = "kcoreaddons-5.76.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kcrash-5.73.0.tar.xz";
-      sha256 = "49b6f4d6109ddf3a6b93f833f59483e5a1a748e4b829c4739fdaaaef59c9b583";
-      name = "kcrash-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kcrash-5.76.0.tar.xz";
+      sha256 = "c4e32254b22f1f02db556be2ad40000cc52cac2e30a35682af3c75ac69710993";
+      name = "kcrash-5.76.0.tar.xz";
     };
   };
   kdav = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kdav-5.73.0.tar.xz";
-      sha256 = "03c8af96e7bb1b1d2d633e54c6362c7c2de078b8aba5654042b7a11d968efa31";
-      name = "kdav-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kdav-5.76.0.tar.xz";
+      sha256 = "c6b1d32d9c976585e278c2061091ee90ef2d7feb29642f236a3941cea5ffae72";
+      name = "kdav-5.76.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kdbusaddons-5.73.0.tar.xz";
-      sha256 = "f7f7e57b4d4650cf90a191b08b1fe874d0005c34163b9177dcc787415841e8ba";
-      name = "kdbusaddons-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kdbusaddons-5.76.0.tar.xz";
+      sha256 = "8e11b19e4a3d4ad8e4deda245eb51b7b77255cbacc07346e7074c8110b946e0a";
+      name = "kdbusaddons-5.76.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kdeclarative-5.73.0.tar.xz";
-      sha256 = "713ae2ea41e1bac8f6d47cffa376d62c7805eb3e4cc41c3168c1f1b2ca70a598";
-      name = "kdeclarative-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kdeclarative-5.76.0.tar.xz";
+      sha256 = "3dfaa271a97be48e72d5fff0dd3c3c1995be3b9e7d0451b197b79418d76c4ce3";
+      name = "kdeclarative-5.76.0.tar.xz";
     };
   };
   kded = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kded-5.73.0.tar.xz";
-      sha256 = "f21647a5f35eebaa9bf12b5d5da25c24611c1971f94f27c510d22a48c79b0895";
-      name = "kded-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kded-5.76.0.tar.xz";
+      sha256 = "2e94a4737ffc359d3614a1dff15b9727d54cb5fe639828946e0efcdcdbff3516";
+      name = "kded-5.76.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/portingAids/kdelibs4support-5.73.0.tar.xz";
-      sha256 = "ca6f58c97b331d130a555b950c36cd7f625ca923fd185b0f73e20ac5b98c5d9b";
-      name = "kdelibs4support-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/portingAids/kdelibs4support-5.76.0.tar.xz";
+      sha256 = "b581273dfaebc5697eb7aa616d858119227dd6c5b781f216abdbff1d93076f0d";
+      name = "kdelibs4support-5.76.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/portingAids/kdesignerplugin-5.73.0.tar.xz";
-      sha256 = "379db9fd0ec135706630dbd54e1b446e51dd3b64189754c281993d761c1d20b2";
-      name = "kdesignerplugin-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/portingAids/kdesignerplugin-5.76.0.tar.xz";
+      sha256 = "5f9190e00761330c031310b94e195766e639115675081765050ddc55069a1b71";
+      name = "kdesignerplugin-5.76.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kdesu-5.73.0.tar.xz";
-      sha256 = "4dd07697decad6a544025178732bd279ef64766e1929a2135f6de58b1092944d";
-      name = "kdesu-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kdesu-5.76.0.tar.xz";
+      sha256 = "421ef43bd47c3eb6b05806af033276c19df20fd76a06b67fada529bb9c52e642";
+      name = "kdesu-5.76.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/portingAids/kdewebkit-5.73.0.tar.xz";
-      sha256 = "d8208c4f7a98b6749c793649e2e5fbe3939e253289a9f6b74b559f6546b34b0b";
-      name = "kdewebkit-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/portingAids/kdewebkit-5.76.0.tar.xz";
+      sha256 = "cf7de765c5fcad0922a1bb9376b65cfb00eb3d29a0c4ed8ef43fc363abe906ba";
+      name = "kdewebkit-5.76.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kdnssd-5.73.0.tar.xz";
-      sha256 = "bee7f654f704d928b1219b75a289042474c1450e9f8acb02a905a4a177bc5b7d";
-      name = "kdnssd-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kdnssd-5.76.0.tar.xz";
+      sha256 = "9cc2979e56915b5c4d8f8e66053a41406bff46aefd65af1ab07d2b87d8f4a753";
+      name = "kdnssd-5.76.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kdoctools-5.73.0.tar.xz";
-      sha256 = "d8dd74776d47e009d4a204d69a78428603ca99317095d7b7edca49c3d93b1b5d";
-      name = "kdoctools-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kdoctools-5.76.0.tar.xz";
+      sha256 = "84ea7974d741e6261e8c269750367a00375c6111dbc542e917647d0267337ae4";
+      name = "kdoctools-5.76.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kemoticons-5.73.0.tar.xz";
-      sha256 = "0c0a26b029a8fd3d8db97bac931feb7834912aa2f7680660e98d91e868d10778";
-      name = "kemoticons-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kemoticons-5.76.0.tar.xz";
+      sha256 = "a50f69e62b342d6f058000ff1823569ab61d3310cb0020d848a78deaf20dff99";
+      name = "kemoticons-5.76.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kfilemetadata-5.73.0.tar.xz";
-      sha256 = "1ae217aab920741e445211e20b1b60dfcf80f4a6d1864aa63321dac7c3802894";
-      name = "kfilemetadata-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kfilemetadata-5.76.0.tar.xz";
+      sha256 = "fa24758c93ce3df9f8ced4310dc0bf58e129b08e50f254daafa025afc9213d68";
+      name = "kfilemetadata-5.76.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kglobalaccel-5.73.0.tar.xz";
-      sha256 = "0062db9adde4dab0be6b64430010c0a5653355d0d1680abc9ec8e71988ff871f";
-      name = "kglobalaccel-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kglobalaccel-5.76.0.tar.xz";
+      sha256 = "3a846f783ccb68da1f152fb5778612c4ed14cd79c6b5929ef729cf59e47462d4";
+      name = "kglobalaccel-5.76.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kguiaddons-5.73.0.tar.xz";
-      sha256 = "45b4c5e0195abd79930635bbf20886b15b1b68b13fe4c56068579b91ef147350";
-      name = "kguiaddons-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kguiaddons-5.76.0.tar.xz";
+      sha256 = "bdaa2ed104bfa9c2ebd702f033935a83560e1d00c7302620a6ae52cb309c7125";
+      name = "kguiaddons-5.76.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kholidays-5.73.0.tar.xz";
-      sha256 = "b0ae4b77aa7c183959bc18baa09a1a4f7208fcad2a238c1590377bf6cf8b68ab";
-      name = "kholidays-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kholidays-5.76.0.tar.xz";
+      sha256 = "2eeae5812b33b2527c27a137fee0d7ec66fe7164bd28afd0d2a8362f6114618b";
+      name = "kholidays-5.76.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/portingAids/khtml-5.73.0.tar.xz";
-      sha256 = "378a5aaa6c796d313a63b4cf1365cdd980f2bc21e9033354f2f1317d1db9c262";
-      name = "khtml-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/portingAids/khtml-5.76.0.tar.xz";
+      sha256 = "163139cf9ed9c43bba9532e64ae6376e8ced9b19ea8bb8235ff91c91c4c5a3f4";
+      name = "khtml-5.76.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/ki18n-5.73.0.tar.xz";
-      sha256 = "97eef22d6cdd65c57edfe54fa9760a69005e15b7d8f4270f6185916c33e14689";
-      name = "ki18n-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/ki18n-5.76.0.tar.xz";
+      sha256 = "0e87bc1136e21f7860f15daa39e8d16e5a773995fce2b87b0cef0043c4ce0e7a";
+      name = "ki18n-5.76.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kiconthemes-5.73.0.tar.xz";
-      sha256 = "4490109a0a42675e4cd3497433e10fd4be24ef644a283edf46b308314d130356";
-      name = "kiconthemes-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kiconthemes-5.76.0.tar.xz";
+      sha256 = "3b3c4ab8369061418677c840963cc868dcecc2a4e57f0c73448e16a46773c7d3";
+      name = "kiconthemes-5.76.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kidletime-5.73.0.tar.xz";
-      sha256 = "52a8af3f061101c406a592ec277a2c84846e3910af1d3dbfc3e15beb9cfd24a2";
-      name = "kidletime-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kidletime-5.76.0.tar.xz";
+      sha256 = "0866fc98b5b045158742f03f5810909b24f1edf374a6014d476d67fe0466eb62";
+      name = "kidletime-5.76.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kimageformats-5.73.0.tar.xz";
-      sha256 = "473d0f67d5357bbf08aa4f4504ceaceabc720b1f5433b456ddc5f8ad0d7e3b8b";
-      name = "kimageformats-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kimageformats-5.76.0.tar.xz";
+      sha256 = "78ced2665f8918beb617b74962d188dcbb01a92a90ba49bfd173671bdb14e68d";
+      name = "kimageformats-5.76.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kinit-5.73.0.tar.xz";
-      sha256 = "0c61e90f3db83b4dc5f2438cf7880a02b600a5739cb05e5ee372aeff98b8b770";
-      name = "kinit-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kinit-5.76.0.tar.xz";
+      sha256 = "a5b63c10b4fc5efcbb5f92b7bce928b4a4880c0ad5d12ff12518106b09239546";
+      name = "kinit-5.76.0.tar.xz";
     };
   };
   kio = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kio-5.73.0.tar.xz";
-      sha256 = "05da159e6cf5ef9aa4dd7ede86ce28a5581624a1b3f0b4718c5b7e30c4aa2a66";
-      name = "kio-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kio-5.76.0.tar.xz";
+      sha256 = "9351fc85c4020f2f77012e077f4f9d04d8f233e9b67f9b7619c9bc064714145b";
+      name = "kio-5.76.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kirigami2-5.73.0.tar.xz";
-      sha256 = "9b2a097071f77804f6f2f2a478e5db602c8b5fee00de34fc44842f31223401bb";
-      name = "kirigami2-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kirigami2-5.76.0.tar.xz";
+      sha256 = "90806125143807b74ee7f2fc74cd781d99b4e69ce5f15dcc28e1923f7a34a80a";
+      name = "kirigami2-5.76.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kitemmodels-5.73.0.tar.xz";
-      sha256 = "6569e289ac9263d87ef6641fe2f3914b9ace6814832ac9c61825b1c6805ae371";
-      name = "kitemmodels-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kitemmodels-5.76.0.tar.xz";
+      sha256 = "53855ccdd1105aa792914f9c88f357039bf2394af8400beaaecd9729f70e9cb0";
+      name = "kitemmodels-5.76.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kitemviews-5.73.0.tar.xz";
-      sha256 = "ec29707d789bee58c47ee538319560a168642f69e96cacb78818825e47177727";
-      name = "kitemviews-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kitemviews-5.76.0.tar.xz";
+      sha256 = "b102cb67513d804fd7eed2ae20bb4ba679d38de4f236de6bc03709ff0c0bc001";
+      name = "kitemviews-5.76.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kjobwidgets-5.73.0.tar.xz";
-      sha256 = "61d105c8f17dcfb85ad6c1e3bd2423ebeb430b9c290d193229bc953ac174f2bf";
-      name = "kjobwidgets-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kjobwidgets-5.76.0.tar.xz";
+      sha256 = "850b6af6c027476e594e6ed77ea0e531abb69ff726fce41b91e541fbee3ecedf";
+      name = "kjobwidgets-5.76.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/portingAids/kjs-5.73.0.tar.xz";
-      sha256 = "97b52557212a33d59a4b3a8c34ea8a94cd5f840fb0798e770164d3cb1e755be5";
-      name = "kjs-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/portingAids/kjs-5.76.0.tar.xz";
+      sha256 = "829eb1308b9b07cdd07b34d80eb5e3fcf5225fa4816da19bce886add600bb62a";
+      name = "kjs-5.76.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/portingAids/kjsembed-5.73.0.tar.xz";
-      sha256 = "cc9896930c01a6bdbfaddada9516380c9a54e5d719836f1788d8e3a74108e1d3";
-      name = "kjsembed-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/portingAids/kjsembed-5.76.0.tar.xz";
+      sha256 = "d7fe11b69445afe372388c5ab310d38ab69e203f3995136a948c9bbf9b8b4a88";
+      name = "kjsembed-5.76.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/portingAids/kmediaplayer-5.73.0.tar.xz";
-      sha256 = "69aa3bbedfc8b9a0dd9f4ac260cded9d7b5894477bf4b5b09065d0aae8e44ab2";
-      name = "kmediaplayer-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/portingAids/kmediaplayer-5.76.0.tar.xz";
+      sha256 = "3185da877c2529c6e209cb382593bbb4778f80aee1b1a29b384b3f05ff99ed89";
+      name = "kmediaplayer-5.76.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/knewstuff-5.73.0.tar.xz";
-      sha256 = "7669e62973f7e228975a07f15bb1c7f716edd81ce82d5f578a80b1f501abda1e";
-      name = "knewstuff-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/knewstuff-5.76.0.tar.xz";
+      sha256 = "d6589b420204d1133997f33b598324c839ec6a0db96936e2e51b7b156cafbc6b";
+      name = "knewstuff-5.76.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/knotifications-5.73.0.tar.xz";
-      sha256 = "c8e9f36716db33baca93a0386d3bb6426408eee3843eb5854bdd8ad7579f372c";
-      name = "knotifications-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/knotifications-5.76.0.tar.xz";
+      sha256 = "56a7daf4951b3564e244d8ba48d443e78c6d703d9d4ccc280c56d0c986de47a2";
+      name = "knotifications-5.76.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/knotifyconfig-5.73.0.tar.xz";
-      sha256 = "641a167a58856e99036d44b3e7472b44cdfbbf68e5d75b9af988d0b71dc10af4";
-      name = "knotifyconfig-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/knotifyconfig-5.76.0.tar.xz";
+      sha256 = "9f98834a9b8135a60a5d67e7ac45229a668a889d42a14c2ca5365885acd2370e";
+      name = "knotifyconfig-5.76.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kpackage-5.73.0.tar.xz";
-      sha256 = "480b1e11733fe272d1a5680afea39bcc940f01bd3d1267be0981e3c92e098c4f";
-      name = "kpackage-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kpackage-5.76.0.tar.xz";
+      sha256 = "97791ef08ca18892d6aa6a50fa0a87ae72cad10de9f17e3fb503a370de829772";
+      name = "kpackage-5.76.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kparts-5.73.0.tar.xz";
-      sha256 = "5546d2a474c80a601ba013642775682b087d086bd26d0b0d025b68d680c98bf2";
-      name = "kparts-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kparts-5.76.0.tar.xz";
+      sha256 = "c516b5c1f2bca4a109dc2d186ef6729c1ad53a242877dfe942b84f131e93412d";
+      name = "kparts-5.76.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kpeople-5.73.0.tar.xz";
-      sha256 = "9e0d3119c168f7843251c808cc149de15c1fd692062f431972023fdaa84d21c4";
-      name = "kpeople-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kpeople-5.76.0.tar.xz";
+      sha256 = "25c03e48a0951f2d17556912893f55750ffbc1333b07b9b42e2ff0bb571b6545";
+      name = "kpeople-5.76.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kplotting-5.73.0.tar.xz";
-      sha256 = "b5055ed9a3149c059623d88875816e9fac8d6d25d29fdfd48e0d8a16dfe01b14";
-      name = "kplotting-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kplotting-5.76.0.tar.xz";
+      sha256 = "536e0eb7b35700ffe91fccce37386f9b97214cd9bd41bea7f2bb333a49d7ec9e";
+      name = "kplotting-5.76.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kpty-5.73.0.tar.xz";
-      sha256 = "d3bf99062589dbd1dbe302c8ed2528845f245e7f0f17ca865cdd100f7589ce9c";
-      name = "kpty-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kpty-5.76.0.tar.xz";
+      sha256 = "faa143bdceb02156ba2f989128376b97161c9799952a3517240816a42abe1ac7";
+      name = "kpty-5.76.0.tar.xz";
     };
   };
   kquickcharts = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kquickcharts-5.73.0.tar.xz";
-      sha256 = "e37e13a5d907d872679eab38ba8e983b2fb98a11e07a3c15d32cfaad09075cfe";
-      name = "kquickcharts-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kquickcharts-5.76.0.tar.xz";
+      sha256 = "65e79e0b4a8f1bca579931d0c0f8345c58f27319bf332e05a32ec930b8e519c2";
+      name = "kquickcharts-5.76.0.tar.xz";
     };
   };
   kross = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/portingAids/kross-5.73.0.tar.xz";
-      sha256 = "aa27b434da981f64c40985a61ee041417667844c6077c9fb52456635be67546e";
-      name = "kross-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/portingAids/kross-5.76.0.tar.xz";
+      sha256 = "15591f2a50f995bcaf17ef72662851c805d4644f13848387f056f686b77c5291";
+      name = "kross-5.76.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/krunner-5.73.0.tar.xz";
-      sha256 = "b4e8427083b6546327eeb36b05a7e438e58f922d4cc5ae0c24cd8241924e9e09";
-      name = "krunner-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/krunner-5.76.0.tar.xz";
+      sha256 = "08c8addcdd3dac87472e84bd14c6d02b99f98c5efbbda7802de92286105dcdda";
+      name = "krunner-5.76.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kservice-5.73.0.tar.xz";
-      sha256 = "a64bf7543870240f0d8f8c2bcf43759d98962ba94a4ed34bd23232df25bb408b";
-      name = "kservice-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kservice-5.76.0.tar.xz";
+      sha256 = "ef7715e5d3e0bf4fc2d28a7713913a1283fb9c658b3c3536a6db8da649d185bf";
+      name = "kservice-5.76.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/ktexteditor-5.73.0.tar.xz";
-      sha256 = "032b3ac31aa099ed67471f78401d13cf318646b0b9b5e20bb94796ac3ed6cf18";
-      name = "ktexteditor-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/ktexteditor-5.76.0.tar.xz";
+      sha256 = "6f937b7af06562a238f091deef9c4332e94311a697af8466b7f091720eaab2b2";
+      name = "ktexteditor-5.76.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/ktextwidgets-5.73.0.tar.xz";
-      sha256 = "2a8b086fce8136b5b4af4a28b417343fb66148c1961e5d65bf40ccae2d4386e5";
-      name = "ktextwidgets-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/ktextwidgets-5.76.0.tar.xz";
+      sha256 = "a104e894cf21c245a6c22e6f2c38fdbbdb094cb7fde3d7ebff801bfd73af4c84";
+      name = "ktextwidgets-5.76.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kunitconversion-5.73.0.tar.xz";
-      sha256 = "97d008e8bdb2d1f89d2093294a8be0b13b0e0160658fa7d3de6c99a5fd5e2935";
-      name = "kunitconversion-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kunitconversion-5.76.0.tar.xz";
+      sha256 = "31fa05b082ec3a42c831b840cbc086f97c5e49c05a71af29ab35b9727320990c";
+      name = "kunitconversion-5.76.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kwallet-5.73.0.tar.xz";
-      sha256 = "4a9c8a538054fc51b30679d5180d09bb6d12a833f595a8d6875b6d4c29074de1";
-      name = "kwallet-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kwallet-5.76.0.tar.xz";
+      sha256 = "5addd560d3f650fbb43cd9c8c9e964c2d6893fa45ac53420b711f6bbb4e7a4fc";
+      name = "kwallet-5.76.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kwayland-5.73.0.tar.xz";
-      sha256 = "ee34a490a7bbc5e83eb36a6ac70492a76cb054d3077d0a8db216fd8b07f27bfe";
-      name = "kwayland-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kwayland-5.76.0.tar.xz";
+      sha256 = "eee72a5f57a2f5c6ab5f1717aa3eb5a9089240794a5e40c6d85bdc37fa3027a7";
+      name = "kwayland-5.76.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kwidgetsaddons-5.73.0.tar.xz";
-      sha256 = "0722d853747b85ca7d46f278dc99c28b872185406b97b811523c1aa9b5e75eb6";
-      name = "kwidgetsaddons-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kwidgetsaddons-5.76.0.tar.xz";
+      sha256 = "ab7aa94bb1f63e5bea5cf461349c1add96fd608a73c5b7c9d374e6bf035fcac6";
+      name = "kwidgetsaddons-5.76.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kwindowsystem-5.73.0.tar.xz";
-      sha256 = "0e27ad2cd5e4699efdc02daec181b4ffb0b9e31ec4c96f0f67899804aebbcde8";
-      name = "kwindowsystem-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kwindowsystem-5.76.0.tar.xz";
+      sha256 = "8dced74012bed3f33c3c51874aa9c3a57093573c1c0e263b758cefa96c26f7b7";
+      name = "kwindowsystem-5.76.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/kxmlgui-5.73.0.tar.xz";
-      sha256 = "093131f5f51497ec61e99bd3e19de9421643d3f6ddf0099a823a3d624596ebcb";
-      name = "kxmlgui-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/kxmlgui-5.76.0.tar.xz";
+      sha256 = "73ae838fb79f97243bea36d438e9bc45315183bbb6b08ab5173c822cfcb4dd82";
+      name = "kxmlgui-5.76.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/portingAids/kxmlrpcclient-5.73.0.tar.xz";
-      sha256 = "c0d089c389f59bb7cb6fba629f3e122e70fda19a69f419ff8bd1d9fcee95a047";
-      name = "kxmlrpcclient-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/portingAids/kxmlrpcclient-5.76.0.tar.xz";
+      sha256 = "66fe826a81cd266ee57ba814cb8c7adfa00aa9112cb55714db061a82895ee8de";
+      name = "kxmlrpcclient-5.76.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/modemmanager-qt-5.73.0.tar.xz";
-      sha256 = "87f3864b2b53b4e309bca1feefa613455f60e4699969a569694f6813447e1fcd";
-      name = "modemmanager-qt-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/modemmanager-qt-5.76.0.tar.xz";
+      sha256 = "5782b71f60b825244dc017989a4de515eb9eb5cc4edfe494a14ea62d3ac40cd1";
+      name = "modemmanager-qt-5.76.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/networkmanager-qt-5.73.0.tar.xz";
-      sha256 = "b909feafc0a9a18b59744e0f1973c5357f67bbd50b59afa82cf55955dae7d41f";
-      name = "networkmanager-qt-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/networkmanager-qt-5.76.0.tar.xz";
+      sha256 = "5920862a843898ed169cc61a8f27dd87cb64dd505ec300d95ab8967da89f2f90";
+      name = "networkmanager-qt-5.76.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/oxygen-icons5-5.73.0.tar.xz";
-      sha256 = "662cd9644e393c69dccb538cdd4280253be812f80704c992ada228c0c32c2bbc";
-      name = "oxygen-icons5-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/oxygen-icons5-5.76.0.tar.xz";
+      sha256 = "95ca95bada43281d09cce000c9cd645af67592205c971052b3e0c27aef9c95b1";
+      name = "oxygen-icons5-5.76.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/plasma-framework-5.73.0.tar.xz";
-      sha256 = "e5415143f0a08cd75cf758b0692021d2a2febdcb1364e2aa1e5c8fbeee148c93";
-      name = "plasma-framework-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/plasma-framework-5.76.0.tar.xz";
+      sha256 = "5bea341bc7b22ffa6a78bf7475c25b138150314c96b3d5154d8bccc532be242a";
+      name = "plasma-framework-5.76.0.tar.xz";
     };
   };
   prison = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/prison-5.73.0.tar.xz";
-      sha256 = "a2b135ffdf1af240366f3fb077c02c02094fb1706c6e84fab5186802544a5b87";
-      name = "prison-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/prison-5.76.0.tar.xz";
+      sha256 = "6c369efc354f8f3a0e08b0de565fd523f1480d563bec0d19382e9ab01f3efb78";
+      name = "prison-5.76.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/purpose-5.73.0.tar.xz";
-      sha256 = "6f4d440cb708b636430e3206f879ca5c2e6cdfcf62f92ce173d43e291fbeed32";
-      name = "purpose-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/purpose-5.76.0.tar.xz";
+      sha256 = "fd0edb0e7ba8b5336436848fe2452ff98c1b5bf2c49ea7744a8c0038d4e8887d";
+      name = "purpose-5.76.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/qqc2-desktop-style-5.73.0.tar.xz";
-      sha256 = "290b3637be0c3740e92cdbb1421aef8bf1a8df36218f9d7d120e8422d14c3fdd";
-      name = "qqc2-desktop-style-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/qqc2-desktop-style-5.76.0.tar.xz";
+      sha256 = "76d2f85f6f99157aec26e6797889f1b99035a337e8aa12029c222f3d48288ef3";
+      name = "qqc2-desktop-style-5.76.0.tar.xz";
     };
   };
   solid = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/solid-5.73.0.tar.xz";
-      sha256 = "7366b64438a1ca7a42126e67d352e371227b46418ce961321d358f2eb90c0933";
-      name = "solid-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/solid-5.76.0.tar.xz";
+      sha256 = "7958d047c8bd7622f91541acbe2d554c222218419ee18f395059a09fb90d264d";
+      name = "solid-5.76.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/sonnet-5.73.0.tar.xz";
-      sha256 = "009f76fc4317e407d30c4e162a807d620a95217f5db271a14b1f9fc4339d232c";
-      name = "sonnet-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/sonnet-5.76.0.tar.xz";
+      sha256 = "cb6bacae27cfa3f8b3ce300b18efe16730783f143c4a7fccfa634f528262ef9b";
+      name = "sonnet-5.76.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/syndication-5.73.0.tar.xz";
-      sha256 = "2a65972ef5183edb0bd8b3804dae129ae8f4a4469287711e77fc636e90b8a954";
-      name = "syndication-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/syndication-5.76.0.tar.xz";
+      sha256 = "239ec30ff8f7ad2911ecc6b9b9c32f2b44c6cad634900105936ae56bf96d6292";
+      name = "syndication-5.76.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/syntax-highlighting-5.73.0.tar.xz";
-      sha256 = "51ed4a68ba42d0dc88d91a0c11ac55ada199b7e93b0ff74b80b5e9304fe8901b";
-      name = "syntax-highlighting-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/syntax-highlighting-5.76.0.tar.xz";
+      sha256 = "3cb61a8c478b76f797db53ed9e8a16c6e70bb1c564f05938680db81c3062bab3";
+      name = "syntax-highlighting-5.76.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.73.0";
+    version = "5.76.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.73/threadweaver-5.73.0.tar.xz";
-      sha256 = "7e1152a1cf73f841c3be5d73cb0d5e6e29ec700be859c94275c5c00e49488d38";
-      name = "threadweaver-5.73.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.76/threadweaver-5.76.0.tar.xz";
+      sha256 = "8bc0cc4507b4cd7398e18cce8519b4a65b0367e7d22c4faae034a57346297039";
+      name = "threadweaver-5.76.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index ab1df8d2bc1..a0414f5ba55 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   # src input for buildPythonPackage calls
   postInstall = ''
     cp -R ./src/python/ tmp-pythonsrc/
-    tar -zcf $pythonsrc --transform s/tmp-pythonsrc/python-foundationdb/ ./tmp-pythonsrc/
+    tar -zcf $pythonsrc --mtime="@$SOURCE_DATE_EPOCH" --sort=name --transform s/tmp-pythonsrc/python-foundationdb/ ./tmp-pythonsrc/
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index c91105d2bf8..10310e22da7 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -13,13 +13,13 @@ assert enableUdev -> udev != null;
 
 stdenv.mkDerivation rec {
   pname = "libusb";
-  version = "1.0.23";
+  version = "1.0.24";
 
   src = fetchFromGitHub {
     owner = "libusb";
     repo = "libusb";
     rev = "v${version}";
-    sha256 = "0mxbpg01kgbk5nh6524b0m4xk7ywkyzmc3yhi5asqcsd3rbhjj98";
+    sha256 = "18ri8ky422hw64zry7bpbarb1m0hiljyf64a0a9y093y7aad38i7";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index ef1cef84df5..17dc93c9f1e 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -15,7 +15,7 @@ let
   #       It will rebuild itself using the version of this package (NSS) and if
   #       an update is required do the required changes to the expression.
   #       Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
-  version = "3.59";
+  version = "3.60";
   underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
 
 in stdenv.mkDerivation rec {
@@ -24,7 +24,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz";
-    sha256 = "096fs3z21r171q24ca3rq53p1389xmvqz1f2rpm7nlm8r9s82ag6";
+    sha256 = "0ggyj3ax3kal65sl1vl4nfhx2s08blg4dg8iwlxcax5qb9bxbaw4";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index c4a9a4a0180..fcd12ba587d 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -160,8 +160,8 @@ in {
   };
 
   openssl_1_1 = common {
-    version = "1.1.1h";
-    sha256 = "1ncmcnh5bmxkwrvm0m1q4kdcjjfpwvlyjspjhibkxc6p9dvsi72w";
+    version = "1.1.1i";
+    sha256 = "0hjj1phcwkz69lx1lrvr9grhpl4y529mwqycqc1hdla1zqsnmgp8";
     patches = [
       ./1.1/nix-ssl-cert-file.patch
 
diff --git a/pkgs/development/libraries/pmix/default.nix b/pkgs/development/libraries/pmix/default.nix
index 60215c9531c..f68833bdac4 100644
--- a/pkgs/development/libraries/pmix/default.nix
+++ b/pkgs/development/libraries/pmix/default.nix
@@ -3,7 +3,7 @@
 } :
 
 let
-  version = "3.2.1";
+  version = "3.2.2";
 
 in stdenv.mkDerivation {
   pname = "pmix";
@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
     repo = "openpmix";
     owner = "openpmix";
     rev = "v${version}";
-    sha256 = "0c9q9a18kdilj6ddqlsvalyv4js79qvslnccn79xl2gl3wm3lyzh";
+    sha256 = "1rf82z7h76366qknkmralmslsfmihv0r3ymhbgk1axq97ic3g4d7";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix
index b4486bf025d..2712b45bdd2 100644
--- a/pkgs/development/libraries/qt-5/5.15/default.nix
+++ b/pkgs/development/libraries/qt-5/5.15/default.nix
@@ -57,6 +57,12 @@ let
 
         # Downgrade minimal required SDK to 10.12
         ./qtbase.patch.d/0013-define-kiosurfacesuccess.patch
+        ./qtbase.patch.d/macos-sdk-10.12/0001-Revert-QCocoaDrag-set-image-only-on-the-first-drag-i.patch
+        ./qtbase.patch.d/macos-sdk-10.12/0002-Revert-QCocoaDrag-drag-make-sure-clipboard-is-ours-a.patch
+        ./qtbase.patch.d/macos-sdk-10.12/0003-Revert-QCocoaDrag-maybeDragMultipleItems-fix-erroneo.patch
+        ./qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch
+        ./qtbase.patch.d/macos-sdk-10.12/0005-Revert-macOS-Fix-use-of-deprecated-NSOffState.patch
+        ./qtbase.patch.d/macos-sdk-10.12/0006-git-checkout-v5.15.0-src-plugins-platforms-cocoa-qco.patch
         ./qtbase.patch.d/qtbase-sdk-10.12-mac.patch
 
         # Patch framework detection to support X.framework/X.tbd,
@@ -77,16 +83,7 @@ let
     qtdeclarative = [ ./qtdeclarative.patch ];
     qtscript = [ ./qtscript.patch ];
     qtserialport = [ ./qtserialport.patch ];
-    qtwebengine = [
-      # Fix build with bison-3.7: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=1a53f599
-      (fetchpatch {
-        name = "qtwebengine-bison-3.7-build.patch";
-        url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=1a53f599";
-        sha256 = "1nqpyn5fq37q7i9nasag6i14lnz0d7sld5ikqhlm8qwq9d7gbmjy";
-        stripLen = 1;
-        extraPrefix = "src/3rdparty/";
-      })
-    ]
+    qtwebengine = [ ]
       ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
     qtwebkit = [
       (fetchpatch {
diff --git a/pkgs/development/libraries/qt-5/5.15/fetch.sh b/pkgs/development/libraries/qt-5/5.15/fetch.sh
index 97829a133ca..70e6dbe82a3 100644
--- a/pkgs/development/libraries/qt-5/5.15/fetch.sh
+++ b/pkgs/development/libraries/qt-5/5.15/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/ )
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/ )
diff --git a/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0001-Revert-QCocoaDrag-set-image-only-on-the-first-drag-i.patch b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0001-Revert-QCocoaDrag-set-image-only-on-the-first-drag-i.patch
new file mode 100644
index 00000000000..de75ecbd0c1
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0001-Revert-QCocoaDrag-set-image-only-on-the-first-drag-i.patch
@@ -0,0 +1,47 @@
+From f156c35975e7844d2369ec5a6633ee40ec56f17a Mon Sep 17 00:00:00 2001
+From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
+Date: Mon, 7 Dec 2020 12:32:29 -0500
+Subject: [PATCH 1/6] Revert "QCocoaDrag - set image only on the first drag
+ item"
+
+This reverts commit 7ee9bfc158a290776f622f62d0202220c6d159bc.
+---
+ src/plugins/platforms/cocoa/qcocoadrag.mm | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/src/plugins/platforms/cocoa/qcocoadrag.mm b/src/plugins/platforms/cocoa/qcocoadrag.mm
+index 4bd1b129bd..a506126c72 100644
+--- a/src/plugins/platforms/cocoa/qcocoadrag.mm
++++ b/src/plugins/platforms/cocoa/qcocoadrag.mm
+@@ -217,18 +217,13 @@ bool QCocoaDrag::maybeDragMultipleItems()
+     // 0. We start from URLs, which can be actually in a list (thus technically
+     // only ONE item in the pasteboard. The fact it's only one does not help, we are
+     // still getting an exception because of the number of items/images mismatch ...
+-    // We only set the image for the first item and nil for the rest, the image already
+-    // contains a combined picture for all urls we drag.
+-    auto imageOrNil = dragImage;
+     for (const auto &qtUrl : qtUrls) {
+         NSURL *nsUrl = qtUrl.toNSURL();
+         auto *newItem = [[[NSDraggingItem alloc] initWithPasteboardWriter:nsUrl] autorelease];
+         const NSRect itemFrame = NSMakeRect(itemLocation.x, itemLocation.y,
+                                             dragImage.size.width,
+                                             dragImage.size.height);
+-
+-        [newItem setDraggingFrame:itemFrame contents:imageOrNil];
+-        imageOrNil = nil;
++        [newItem setDraggingFrame:itemFrame contents:dragImage];
+         [dragItems addObject:newItem];
+     }
+     // 1. Repeat for non-url items, if any:
+@@ -237,7 +232,7 @@ bool QCocoaDrag::maybeDragMultipleItems()
+         const NSRect itemFrame = NSMakeRect(itemLocation.x, itemLocation.y,
+                                             dragImage.size.width,
+                                             dragImage.size.height);
+-        [newItem setDraggingFrame:itemFrame contents:imageOrNil];
++        [newItem setDraggingFrame:itemFrame contents:dragImage];
+         [dragItems addObject:newItem];
+     }
+ 
+-- 
+2.21.0
+
diff --git a/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0002-Revert-QCocoaDrag-drag-make-sure-clipboard-is-ours-a.patch b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0002-Revert-QCocoaDrag-drag-make-sure-clipboard-is-ours-a.patch
new file mode 100644
index 00000000000..ee3a2d9f5a4
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0002-Revert-QCocoaDrag-drag-make-sure-clipboard-is-ours-a.patch
@@ -0,0 +1,40 @@
+From 9aaac67e3c3bf40ef3efc3b07b1655f72c8c54aa Mon Sep 17 00:00:00 2001
+From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
+Date: Mon, 7 Dec 2020 12:32:31 -0500
+Subject: [PATCH 2/6] Revert "QCocoaDrag::drag - make sure clipboard is ours
+ and populated"
+
+This reverts commit 720e2e0c92ca6635c5f05f318770a70cf653c1c7.
+---
+ src/plugins/platforms/cocoa/qcocoadrag.mm | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/plugins/platforms/cocoa/qcocoadrag.mm b/src/plugins/platforms/cocoa/qcocoadrag.mm
+index a506126c72..c6ee4323ce 100644
+--- a/src/plugins/platforms/cocoa/qcocoadrag.mm
++++ b/src/plugins/platforms/cocoa/qcocoadrag.mm
+@@ -131,10 +131,6 @@ Qt::DropAction QCocoaDrag::drag(QDrag *o)
+     m_drag = o;
+     m_executed_drop_action = Qt::IgnoreAction;
+ 
+-    QMacPasteboard dragBoard(CFStringRef(NSPasteboardNameDrag), QMacInternalPasteboardMime::MIME_DND);
+-    m_drag->mimeData()->setData(QLatin1String("application/x-qt-mime-type-name"), QByteArray("dummy"));
+-    dragBoard.setMimeData(m_drag->mimeData(), QMacPasteboard::LazyRequest);
+-
+     if (maybeDragMultipleItems())
+         return m_executed_drop_action;
+ 
+@@ -143,6 +139,10 @@ Qt::DropAction QCocoaDrag::drag(QDrag *o)
+     NSImage *dragImage = [NSImage imageFromQImage:pm.toImage()];
+     Q_ASSERT(dragImage);
+ 
++    QMacPasteboard dragBoard(CFStringRef(NSPasteboardNameDrag), QMacInternalPasteboardMime::MIME_DND);
++    m_drag->mimeData()->setData(QLatin1String("application/x-qt-mime-type-name"), QByteArray("dummy"));
++    dragBoard.setMimeData(m_drag->mimeData(), QMacPasteboard::LazyRequest);
++
+     NSPoint event_location = [m_lastEvent locationInWindow];
+     NSWindow *theWindow = [m_lastEvent window];
+     Q_ASSERT(theWindow);
+-- 
+2.21.0
+
diff --git a/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0003-Revert-QCocoaDrag-maybeDragMultipleItems-fix-erroneo.patch b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0003-Revert-QCocoaDrag-maybeDragMultipleItems-fix-erroneo.patch
new file mode 100644
index 00000000000..55211fca64c
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0003-Revert-QCocoaDrag-maybeDragMultipleItems-fix-erroneo.patch
@@ -0,0 +1,27 @@
+From d1626c55d10537274c6f365855342a1c619a4c3a Mon Sep 17 00:00:00 2001
+From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
+Date: Mon, 7 Dec 2020 12:32:32 -0500
+Subject: [PATCH 3/6] Revert "QCocoaDrag::maybeDragMultipleItems - fix
+ erroneous size check"
+
+This reverts commit b8a03411784803c07ecc1f769860756d6fdc04cd.
+---
+ src/plugins/platforms/cocoa/qcocoadrag.mm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/plugins/platforms/cocoa/qcocoadrag.mm b/src/plugins/platforms/cocoa/qcocoadrag.mm
+index c6ee4323ce..ab6863a432 100644
+--- a/src/plugins/platforms/cocoa/qcocoadrag.mm
++++ b/src/plugins/platforms/cocoa/qcocoadrag.mm
+@@ -187,7 +187,7 @@ bool QCocoaDrag::maybeDragMultipleItems()
+     const auto &qtUrls = m_drag->mimeData()->urls();
+     NSPasteboard *dragBoard = [NSPasteboard pasteboardWithName:NSPasteboardNameDrag];
+ 
+-    if (qtUrls.size() <= 1) {
++    if (int(dragBoard.pasteboardItems.count) == 1 && qtUrls.size() <= 1) {
+         // Good old -dragImage: works perfectly for this ...
+         return false;
+     }
+-- 
+2.21.0
+
diff --git a/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch
new file mode 100644
index 00000000000..7b568a91943
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0004-Revert-QCocoaDrag-avoid-using-the-deprecated-API-if-.patch
@@ -0,0 +1,192 @@
+From d5c155a9f3ff38e28ac073f6df43175724ebc290 Mon Sep 17 00:00:00 2001
+From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
+Date: Mon, 7 Dec 2020 12:32:34 -0500
+Subject: [PATCH 4/6] Revert "QCocoaDrag - avoid using the deprecated API if
+ possible"
+
+This reverts commit 8481a9fc974a1f1dd44a9f82decb18fe2290689f.
+---
+ src/plugins/platforms/cocoa/qcocoadrag.h      |  6 --
+ src/plugins/platforms/cocoa/qcocoadrag.mm     | 90 -------------------
+ .../platforms/cocoa/qnsview_dragging.mm       |  9 +-
+ 3 files changed, 1 insertion(+), 104 deletions(-)
+
+diff --git a/src/plugins/platforms/cocoa/qcocoadrag.h b/src/plugins/platforms/cocoa/qcocoadrag.h
+index 975741c270..5a5b985c6e 100644
+--- a/src/plugins/platforms/cocoa/qcocoadrag.h
++++ b/src/plugins/platforms/cocoa/qcocoadrag.h
+@@ -48,8 +48,6 @@
+ #include <QtGui/private/qdnd_p.h>
+ #include <QtGui/private/qinternalmimedata_p.h>
+ 
+-#include <QtCore/qeventloop.h>
+-
+ QT_BEGIN_NAMESPACE
+ 
+ class QCocoaDrag : public QPlatformDrag
+@@ -71,15 +69,11 @@ public:
+     void setLastMouseEvent(NSEvent *event, NSView *view);
+ 
+     void setAcceptedAction(Qt::DropAction act);
+-    void exitDragLoop();
+ private:
+     QDrag *m_drag;
+     NSEvent *m_lastEvent;
+     NSView *m_lastView;
+     Qt::DropAction m_executed_drop_action;
+-    QEventLoop internalDragLoop;
+-
+-    bool maybeDragMultipleItems();
+ 
+     QPixmap dragPixmap(QDrag *drag, QPoint &hotSpot) const;
+ };
+diff --git a/src/plugins/platforms/cocoa/qcocoadrag.mm b/src/plugins/platforms/cocoa/qcocoadrag.mm
+index ab6863a432..b4a16ab912 100644
+--- a/src/plugins/platforms/cocoa/qcocoadrag.mm
++++ b/src/plugins/platforms/cocoa/qcocoadrag.mm
+@@ -44,9 +44,6 @@
+ #include <QtWidgets/qwidget.h>
+ #endif
+ #include <QtGui/private/qcoregraphics_p.h>
+-#include <QtCore/qsysinfo.h>
+-
+-#include <vector>
+ 
+ QT_BEGIN_NAMESPACE
+ 
+@@ -131,9 +128,6 @@ Qt::DropAction QCocoaDrag::drag(QDrag *o)
+     m_drag = o;
+     m_executed_drop_action = Qt::IgnoreAction;
+ 
+-    if (maybeDragMultipleItems())
+-        return m_executed_drop_action;
+-
+     QPoint hotSpot = m_drag->hotSpot();
+     QPixmap pm = dragPixmap(m_drag, hotSpot);
+     NSImage *dragImage = [NSImage imageFromQImage:pm.toImage()];
+@@ -164,95 +158,11 @@ Qt::DropAction QCocoaDrag::drag(QDrag *o)
+     return m_executed_drop_action;
+ }
+ 
+-bool QCocoaDrag::maybeDragMultipleItems()
+-{
+-    Q_ASSERT(m_drag && m_drag->mimeData());
+-    Q_ASSERT(m_executed_drop_action == Qt::IgnoreAction);
+-
+-    if (QOperatingSystemVersion::current() < QOperatingSystemVersion::MacOSMojave) {
+-        // -dragImage: stopped working in 10.14 first.
+-        return false;
+-    }
+-
+-    const QMacAutoReleasePool pool;
+-
+-    NSWindow *theWindow = [m_lastEvent window];
+-    Q_ASSERT(theWindow);
+-
+-    if (![theWindow.contentView respondsToSelector:@selector(draggingSession:sourceOperationMaskForDraggingContext:)])
+-        return false;
+-
+-    auto *sourceView = static_cast<NSView<NSDraggingSource>*>(theWindow.contentView);
+-
+-    const auto &qtUrls = m_drag->mimeData()->urls();
+-    NSPasteboard *dragBoard = [NSPasteboard pasteboardWithName:NSPasteboardNameDrag];
+-
+-    if (int(dragBoard.pasteboardItems.count) == 1 && qtUrls.size() <= 1) {
+-        // Good old -dragImage: works perfectly for this ...
+-        return false;
+-    }
+-
+-    std::vector<NSPasteboardItem *> nonUrls;
+-    for (NSPasteboardItem *item in dragBoard.pasteboardItems) {
+-        bool isUrl = false;
+-        for (NSPasteboardType type in item.types) {
+-            using NSStringRef = NSString *;
+-            if ([type isEqualToString:NSStringRef(kUTTypeFileURL)]) {
+-                isUrl = true;
+-                break;
+-            }
+-        }
+-
+-        if (!isUrl)
+-            nonUrls.push_back(item);
+-    }
+-
+-    QPoint hotSpot = m_drag->hotSpot();
+-    const auto pixmap = dragPixmap(m_drag, hotSpot);
+-    NSImage *dragImage = [NSImage imageFromQImage:pixmap.toImage()];
+-    Q_ASSERT(dragImage);
+-
+-    NSMutableArray<NSDraggingItem *> *dragItems = [[[NSMutableArray alloc] init] autorelease];
+-    const NSPoint itemLocation = m_drag->hotSpot().toCGPoint();
+-    // 0. We start from URLs, which can be actually in a list (thus technically
+-    // only ONE item in the pasteboard. The fact it's only one does not help, we are
+-    // still getting an exception because of the number of items/images mismatch ...
+-    for (const auto &qtUrl : qtUrls) {
+-        NSURL *nsUrl = qtUrl.toNSURL();
+-        auto *newItem = [[[NSDraggingItem alloc] initWithPasteboardWriter:nsUrl] autorelease];
+-        const NSRect itemFrame = NSMakeRect(itemLocation.x, itemLocation.y,
+-                                            dragImage.size.width,
+-                                            dragImage.size.height);
+-        [newItem setDraggingFrame:itemFrame contents:dragImage];
+-        [dragItems addObject:newItem];
+-    }
+-    // 1. Repeat for non-url items, if any:
+-    for (auto *pbItem : nonUrls) {
+-        auto *newItem = [[[NSDraggingItem alloc] initWithPasteboardWriter:pbItem] autorelease];
+-        const NSRect itemFrame = NSMakeRect(itemLocation.x, itemLocation.y,
+-                                            dragImage.size.width,
+-                                            dragImage.size.height);
+-        [newItem setDraggingFrame:itemFrame contents:dragImage];
+-        [dragItems addObject:newItem];
+-    }
+-
+-    [sourceView beginDraggingSessionWithItems:dragItems event:m_lastEvent source:sourceView];
+-    internalDragLoop.exec();
+-    return true;
+-}
+-
+ void QCocoaDrag::setAcceptedAction(Qt::DropAction act)
+ {
+     m_executed_drop_action = act;
+ }
+ 
+-void QCocoaDrag::exitDragLoop()
+-{
+-    if (internalDragLoop.isRunning())
+-        internalDragLoop.exit();
+-}
+-
+-
+ QPixmap QCocoaDrag::dragPixmap(QDrag *drag, QPoint &hotSpot) const
+ {
+     const QMimeData* data = drag->mimeData();
+diff --git a/src/plugins/platforms/cocoa/qnsview_dragging.mm b/src/plugins/platforms/cocoa/qnsview_dragging.mm
+index 978d73f7d9..463e3c5579 100644
+--- a/src/plugins/platforms/cocoa/qnsview_dragging.mm
++++ b/src/plugins/platforms/cocoa/qnsview_dragging.mm
+@@ -232,10 +232,6 @@ static QPoint mapWindowCoordinates(QWindow *source, QWindow *target, QPoint poin
+     if (!target)
+         return;
+ 
+-    auto *nativeDrag = QCocoaIntegration::instance()->drag();
+-    Q_ASSERT(nativeDrag);
+-    nativeDrag->exitDragLoop();
+-
+     QPoint windowPoint = QPointF::fromCGPoint([self convertPoint:sender.draggingLocation fromView:nil]).toPoint();
+ 
+     qCDebug(lcQpaMouse) << QEvent::DragLeave << self << "at" << windowPoint;
+@@ -294,10 +290,7 @@ static QPoint mapWindowCoordinates(QWindow *source, QWindow *target, QPoint poin
+     if (!target)
+         return;
+ 
+-    QCocoaDrag* nativeDrag = QCocoaIntegration::instance()->drag();
+-    Q_ASSERT(nativeDrag);
+-    nativeDrag->exitDragLoop();
+-    nativeDrag->setAcceptedAction(qt_mac_mapNSDragOperation(operation));
++    QCocoaIntegration::instance()->drag();
+ 
+     // Qt starts drag-and-drop on a mouse button press event. Cococa in
+     // this case won't send the matching release event, so we have to
+-- 
+2.21.0
+
diff --git a/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0005-Revert-macOS-Fix-use-of-deprecated-NSOffState.patch b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0005-Revert-macOS-Fix-use-of-deprecated-NSOffState.patch
new file mode 100644
index 00000000000..f93f8005598
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0005-Revert-macOS-Fix-use-of-deprecated-NSOffState.patch
@@ -0,0 +1,26 @@
+From e55ca5d08b29e67b699dc217abcb65e4a7655f72 Mon Sep 17 00:00:00 2001
+From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
+Date: Mon, 7 Dec 2020 12:32:37 -0500
+Subject: [PATCH 5/6] Revert "macOS: Fix use of deprecated NSOffState"
+
+This reverts commit 6a0995525d306a1fa224adcbcb9f0ae1fc7d01bd.
+---
+ src/plugins/styles/mac/qmacstyle_mac.mm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/plugins/styles/mac/qmacstyle_mac.mm b/src/plugins/styles/mac/qmacstyle_mac.mm
+index d1febd81d4..b5e6e60ec0 100644
+--- a/src/plugins/styles/mac/qmacstyle_mac.mm
++++ b/src/plugins/styles/mac/qmacstyle_mac.mm
+@@ -3955,7 +3955,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
+                     pbCell = static_cast<NSPopUpButtonCell *>(pb.cell);
+                     oldPosition = pbCell.arrowPosition;
+                     pbCell.arrowPosition = NSPopUpNoArrow;
+-                    if (pb.state == NSControlStateValueOff) {
++                    if (pb.state == NSOffState) {
+                         // NSPopUpButton in this state is smaller.
+                         rAdjusted.origin.x -= 3;
+                         rAdjusted.size.width += 6;
+-- 
+2.21.0
+
diff --git a/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0006-git-checkout-v5.15.0-src-plugins-platforms-cocoa-qco.patch b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0006-git-checkout-v5.15.0-src-plugins-platforms-cocoa-qco.patch
new file mode 100644
index 00000000000..b5c634aff76
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.15/qtbase.patch.d/macos-sdk-10.12/0006-git-checkout-v5.15.0-src-plugins-platforms-cocoa-qco.patch
@@ -0,0 +1,77 @@
+From 3ce5e752c66307f905fdf732b102a396d9248fbb Mon Sep 17 00:00:00 2001
+From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
+Date: Mon, 7 Dec 2020 13:22:02 -0500
+Subject: [PATCH 6/6] git checkout v5.15.0 --
+ src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm
+
+---
+ .../cocoa/qcocoacolordialoghelper.mm          | 50 +++++++++----------
+ 1 file changed, 25 insertions(+), 25 deletions(-)
+
+diff --git a/src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm b/src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm
+index 5ad1f9d7bb..c9fa035d87 100644
+--- a/src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm
++++ b/src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm
+@@ -180,34 +180,34 @@ QT_NAMESPACE_ALIAS_OBJC_CLASS(QNSColorPanelDelegate);
+ 
+ - (void)updateQtColor
+ {
+-    // Discard the color space and pass the color components to QColor. This
+-    // is a good option as long as QColor is color-unmanaged: we preserve the
+-    // exact RGB value from the color picker, which is predictable. Further,
+-    // painting with the color will reproduce the same color on-screen, as
+-    // long as the the same screen is used for selecting the color.
+-    NSColor *componentColor = [[mColorPanel color] colorUsingType:NSColorTypeComponentBased];
+-    switch (componentColor.colorSpace.colorSpaceModel)
+-    {
+-    case NSColorSpaceModelGray: {
+-        CGFloat white = 0, alpha = 0;
+-        [componentColor getWhite:&white alpha:&alpha];
+-        mQtColor.setRgbF(white, white, white, alpha);
+-    } break;
+-    case NSColorSpaceModelRGB: {
+-        CGFloat red = 0, green = 0, blue = 0, alpha = 0;
+-        [componentColor getRed:&red green:&green blue:&blue alpha:&alpha];
+-        mQtColor.setRgbF(red, green, blue, alpha);
+-    } break;
+-    case NSColorSpaceModelCMYK: {
++    NSColor *color = [mColorPanel color];
++    NSString *colorSpaceName = [color colorSpaceName];
++    if (colorSpaceName == NSDeviceCMYKColorSpace) {
+         CGFloat cyan = 0, magenta = 0, yellow = 0, black = 0, alpha = 0;
+-        [componentColor getCyan:&cyan magenta:&magenta yellow:&yellow black:&black alpha:&alpha];
++        [color getCyan:&cyan magenta:&magenta yellow:&yellow black:&black alpha:&alpha];
+         mQtColor.setCmykF(cyan, magenta, yellow, black, alpha);
+-    } break;
+-    default:
+-        qWarning("QNSColorPanelDelegate: Unsupported color space model");
+-    break;
++    } else if (colorSpaceName == NSCalibratedRGBColorSpace || colorSpaceName == NSDeviceRGBColorSpace)  {
++        CGFloat red = 0, green = 0, blue = 0, alpha = 0;
++        [color getRed:&red green:&green blue:&blue alpha:&alpha];
++        mQtColor.setRgbF(red, green, blue, alpha);
++    } else if (colorSpaceName == NSNamedColorSpace) {
++        NSColor *tmpColor = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
++        CGFloat red = 0, green = 0, blue = 0, alpha = 0;
++        [tmpColor getRed:&red green:&green blue:&blue alpha:&alpha];
++        mQtColor.setRgbF(red, green, blue, alpha);
++    } else {
++        NSColorSpace *colorSpace = [color colorSpace];
++        if ([colorSpace colorSpaceModel] == NSCMYKColorSpaceModel && [color numberOfComponents] == 5){
++            CGFloat components[5];
++            [color getComponents:components];
++            mQtColor.setCmykF(components[0], components[1], components[2], components[3], components[4]);
++        } else {
++            NSColor *tmpColor = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
++            CGFloat red = 0, green = 0, blue = 0, alpha = 0;
++            [tmpColor getRed:&red green:&green blue:&blue alpha:&alpha];
++            mQtColor.setRgbF(red, green, blue, alpha);
++        }
+     }
+-
+     if (mHelper)
+         emit mHelper->currentColorChanged(mQtColor);
+ }
+-- 
+2.21.0
+
diff --git a/pkgs/development/libraries/qt-5/5.15/srcs.nix b/pkgs/development/libraries/qt-5/5.15/srcs.nix
index c88e896286e..70e9c3a8022 100644
--- a/pkgs/development/libraries/qt-5/5.15/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.15/srcs.nix
@@ -4,339 +4,339 @@
 
 {
   qt3d = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qt3d-everywhere-src-5.15.0.tar.xz";
-      sha256 = "61856f0c453b79e98b7a1e65ea8f59976fa78230ffa8dec959b5f4b45383dffd";
-      name = "qt3d-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qt3d-everywhere-src-5.15.2.tar.xz";
+      sha256 = "03ed6a48c813c75296c19f5d721184ab168280b69d2656cf16f877d3d4c55c1d";
+      name = "qt3d-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtactiveqt = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtactiveqt-everywhere-src-5.15.0.tar.xz";
-      sha256 = "1b455eacfb9ef49912d7a79040ea409a6ab88dfa192d313e6b5e02a79d741b51";
-      name = "qtactiveqt-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtactiveqt-everywhere-src-5.15.2.tar.xz";
+      sha256 = "868161fee0876d17079cd5bed58d1667bf19ffd0018cbe515129f11510ad2a5c";
+      name = "qtactiveqt-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtandroidextras = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtandroidextras-everywhere-src-5.15.0.tar.xz";
-      sha256 = "c9019185221e94e37e250c84acaebfb7b2f5342e8ad60cdcff052ac2b85ec671";
-      name = "qtandroidextras-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtandroidextras-everywhere-src-5.15.2.tar.xz";
+      sha256 = "5813278690d89a9c232eccf697fc280034de6f9f02a7c40d95ad5fcf8ac8dabd";
+      name = "qtandroidextras-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtbase = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtbase-everywhere-src-5.15.0.tar.xz";
-      sha256 = "9e7af10aece15fa9500369efde69cb220eee8ec3a6818afe01ce1e7d484824c5";
-      name = "qtbase-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtbase-everywhere-src-5.15.2.tar.xz";
+      sha256 = "909fad2591ee367993a75d7e2ea50ad4db332f05e1c38dd7a5a274e156a4e0f8";
+      name = "qtbase-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtcharts = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtcharts-everywhere-src-5.15.0.tar.xz";
-      sha256 = "44a24fc16abcaf9ae97ecf3215f6f3b44ebdb3b73bcb4ed3549a51519e4883a7";
-      name = "qtcharts-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtcharts-everywhere-src-5.15.2.tar.xz";
+      sha256 = "e0750e4195bd8a8b9758ab4d98d437edbe273cd3d289dd6a8f325df6d13f3d11";
+      name = "qtcharts-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtconnectivity = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtconnectivity-everywhere-src-5.15.0.tar.xz";
-      sha256 = "f911fb8f8bf3a9958785d0378d25ced8989047938b7138d619854a94fa0b27dd";
-      name = "qtconnectivity-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtconnectivity-everywhere-src-5.15.2.tar.xz";
+      sha256 = "0380327871f76103e5b8c2a305988d76d352b6a982b3e7b3bc3cdc184c64bfa0";
+      name = "qtconnectivity-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtdatavis3d = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtdatavis3d-everywhere-src-5.15.0.tar.xz";
-      sha256 = "8f07747f371f7c515c667240a795105c89aa83c08d88ee92fa1ef7efccea10a3";
-      name = "qtdatavis3d-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtdatavis3d-everywhere-src-5.15.2.tar.xz";
+      sha256 = "226a6575d573ad78aca459709722c496c23aee526aa0c38eb7c93b0bea1eb6fd";
+      name = "qtdatavis3d-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtdeclarative = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtdeclarative-everywhere-src-5.15.0.tar.xz";
-      sha256 = "9c3c93fb7d340b2f7d738d12408c047318c78973cb45bfc5ff6b3a57e1fef699";
-      name = "qtdeclarative-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtdeclarative-everywhere-src-5.15.2.tar.xz";
+      sha256 = "c600d09716940f75d684f61c5bdaced797f623a86db1627da599027f6c635651";
+      name = "qtdeclarative-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtdoc = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtdoc-everywhere-src-5.15.0.tar.xz";
-      sha256 = "07ca8db98c317f25cc9a041c48a6824baf63893bf5b535d6f8d266dea8c7659f";
-      name = "qtdoc-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtdoc-everywhere-src-5.15.2.tar.xz";
+      sha256 = "a47809f00f1bd690ca4e699cb32ffe7717d43da84e0167d1f562210da7714ce4";
+      name = "qtdoc-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtgamepad = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtgamepad-everywhere-src-5.15.0.tar.xz";
-      sha256 = "dda54d9f90897944bed5e6af48a904a677fd97eb6f57ab08a2b232c431caf31a";
-      name = "qtgamepad-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtgamepad-everywhere-src-5.15.2.tar.xz";
+      sha256 = "c77611f7898326d69176ad67a9b886f617cdedc368ec29f223d63537d25b075c";
+      name = "qtgamepad-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtgraphicaleffects = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtgraphicaleffects-everywhere-src-5.15.0.tar.xz";
-      sha256 = "0d2ea4bc73b9df13a4b739dcbc1e3c7b298c7e682f7f9252b232e3bde7b63eda";
-      name = "qtgraphicaleffects-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtgraphicaleffects-everywhere-src-5.15.2.tar.xz";
+      sha256 = "ec8d67f64967d5046410490b549c576f9b9e8b47ec68594ae84aa8870173dfe4";
+      name = "qtgraphicaleffects-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtimageformats = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtimageformats-everywhere-src-5.15.0.tar.xz";
-      sha256 = "83f32101b1a898fcb8ed6f11a657d1125484ac0c2223014b61849d9010efebc8";
-      name = "qtimageformats-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtimageformats-everywhere-src-5.15.2.tar.xz";
+      sha256 = "bf8285c7ce04284527ab823ddc7cf48a1bb79131db3a7127342167f4814253d7";
+      name = "qtimageformats-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtlocation = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtlocation-everywhere-src-5.15.0.tar.xz";
-      sha256 = "c68b0778a521e5522641c41b1778999dd408ebfda1e0de166a83743268be5f3f";
-      name = "qtlocation-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtlocation-everywhere-src-5.15.2.tar.xz";
+      sha256 = "984fcb09e108df49a8dac35d5ce6dffc49caafd2acb1c2f8a5173a6a21f392a0";
+      name = "qtlocation-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtlottie = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtlottie-everywhere-src-5.15.0.tar.xz";
-      sha256 = "2053f474dcd7184fdcae2507f47af6527f6ca25b4424483f9265853c3626c833";
-      name = "qtlottie-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtlottie-everywhere-src-5.15.2.tar.xz";
+      sha256 = "cec6095ab8f714e609d2ad3ea8c4fd819461ce8793adc42abe37d0f6dc432517";
+      name = "qtlottie-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtmacextras = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtmacextras-everywhere-src-5.15.0.tar.xz";
-      sha256 = "95a8c35b30373224cdd6d1ca0bdda1a314b20e91551a4824e8ca7e50ce8ff439";
-      name = "qtmacextras-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtmacextras-everywhere-src-5.15.2.tar.xz";
+      sha256 = "6959b0f2cec71cd66800f36cab797430860e55fa33c9c23698d6a08fc2b8776e";
+      name = "qtmacextras-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtmultimedia = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtmultimedia-everywhere-src-5.15.0.tar.xz";
-      sha256 = "0708d867697f392dd3600c5c1c88f5c61b772a5250a4d059dca67b844af0fbd7";
-      name = "qtmultimedia-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtmultimedia-everywhere-src-5.15.2.tar.xz";
+      sha256 = "0c3758810e5131aabcf76e4965e4c18b8911af54d9edd9305d2a8278d8346df5";
+      name = "qtmultimedia-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtnetworkauth = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtnetworkauth-everywhere-src-5.15.0.tar.xz";
-      sha256 = "96c6107f6e85662a05f114c5b9bd3503a3100bd940e1494c73a99e77f9e7cf85";
-      name = "qtnetworkauth-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtnetworkauth-everywhere-src-5.15.2.tar.xz";
+      sha256 = "fcc2ec42faa68561efa8f00cd72e662fbc06563ebc6de1dc42d96bb2997acd85";
+      name = "qtnetworkauth-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtpurchasing = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtpurchasing-everywhere-src-5.15.0.tar.xz";
-      sha256 = "2127f180c4889055d88e2b402b62be80a5a213a0e48d2056cc9a01d9913b3a16";
-      name = "qtpurchasing-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtpurchasing-everywhere-src-5.15.2.tar.xz";
+      sha256 = "87120d319ff2f8106e78971f7296d72a66dfe91e763d213199aea55046e93227";
+      name = "qtpurchasing-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtquick3d = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtquick3d-everywhere-src-5.15.0.tar.xz";
-      sha256 = "6d3b91b653ba5e33fd5b37cd785ded6cf1dd83d35250c3addb77eb35f90e52cb";
-      name = "qtquick3d-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtquick3d-everywhere-src-5.15.2.tar.xz";
+      sha256 = "5b0546323365ce34e4716f22f305ebb4902e222c1a0910b65ee448443c2f94bb";
+      name = "qtquick3d-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtquickcontrols = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtquickcontrols-everywhere-src-5.15.0.tar.xz";
-      sha256 = "7072cf4cd27e9f18b36b1c48dec7c79608cf87ba847d3fc3de133f220ec1acee";
-      name = "qtquickcontrols-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtquickcontrols-everywhere-src-5.15.2.tar.xz";
+      sha256 = "c393fb7384b1f047f10e91a6832cf3e6a4c2a41408b8cb2d05af2283e8549fb5";
+      name = "qtquickcontrols-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtquickcontrols2 = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtquickcontrols2-everywhere-src-5.15.0.tar.xz";
-      sha256 = "839abda9b58cd8656b2e5f46afbb484e63df466481ace43318c4c2022684648f";
-      name = "qtquickcontrols2-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtquickcontrols2-everywhere-src-5.15.2.tar.xz";
+      sha256 = "671b6ce5f4b8ecc94db622d5d5fb29ef4ff92819be08e5ea55bfcab579de8919";
+      name = "qtquickcontrols2-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtquicktimeline = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtquicktimeline-everywhere-src-5.15.0.tar.xz";
-      sha256 = "16ffeb733ba15815121fca5705ed5220ce0a0eb2ec0431ad0d55da9426a03c00";
-      name = "qtquicktimeline-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtquicktimeline-everywhere-src-5.15.2.tar.xz";
+      sha256 = "b9c247227607437acec7c7dd18ad46179d20369c9d22bdb1e9fc128dfb832a28";
+      name = "qtquicktimeline-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtremoteobjects = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtremoteobjects-everywhere-src-5.15.0.tar.xz";
-      sha256 = "86fcfdce77f13c7babdec4dc1d0c4b7b6b02e40120a4250dc59e911c53c08abf";
-      name = "qtremoteobjects-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtremoteobjects-everywhere-src-5.15.2.tar.xz";
+      sha256 = "6781b6bc90888254ea77ce812736dac00c67fa4eeb3095f5cd65e4b9c15dcfc2";
+      name = "qtremoteobjects-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtscript = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtscript-everywhere-src-5.15.0.tar.xz";
-      sha256 = "02dc21b309621876a89671be27cea86a58e74a96aa28da65fe1b37a3aad29373";
-      name = "qtscript-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtscript-everywhere-src-5.15.2.tar.xz";
+      sha256 = "a299715369afbd1caa4d7fa2875d442eab91adcaacafce54a36922442624673e";
+      name = "qtscript-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtscxml = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtscxml-everywhere-src-5.15.0.tar.xz";
-      sha256 = "9c3a72bf5ebd07553b0049cc1943f04cff93b7e53bde8c81d652422dbf12ff72";
-      name = "qtscxml-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtscxml-everywhere-src-5.15.2.tar.xz";
+      sha256 = "60b9590b9a41c60cee7b8a8c8410ee4625f0389c1ff8d79883ec5a985638a7dc";
+      name = "qtscxml-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtsensors = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtsensors-everywhere-src-5.15.0.tar.xz";
-      sha256 = "12b17ed6cbe6c49c8ab71958bc5d8ad1c42bf20e2fa72613ede11001e98144da";
-      name = "qtsensors-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtsensors-everywhere-src-5.15.2.tar.xz";
+      sha256 = "3f0011f9e9942cad119146b54d960438f4568a22a274cdad4fae06bb4e0e4839";
+      name = "qtsensors-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtserialbus = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtserialbus-everywhere-src-5.15.0.tar.xz";
-      sha256 = "cee067c84d025e221b83d109b58ea16c4d2dc0af0aea45cc6724acd33a1b7379";
-      name = "qtserialbus-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtserialbus-everywhere-src-5.15.2.tar.xz";
+      sha256 = "aeeb7e5c0d3f8503215b22e1a84c0002ca67cf63862f6e3c6ef44a67ca31bd88";
+      name = "qtserialbus-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtserialport = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtserialport-everywhere-src-5.15.0.tar.xz";
-      sha256 = "ba19369069a707dffddca8d9c477bb2bb4aa26630dfee6792254c4bf9bd57a67";
-      name = "qtserialport-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtserialport-everywhere-src-5.15.2.tar.xz";
+      sha256 = "59c559d748417306bc1b2cf2315c1e63eed011ace38ad92946af71f23e2ef79d";
+      name = "qtserialport-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtspeech = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtspeech-everywhere-src-5.15.0.tar.xz";
-      sha256 = "7219a878c14a24d0ca18d52df1717361b13aee96ac9790baf9ad2b383492dd61";
-      name = "qtspeech-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtspeech-everywhere-src-5.15.2.tar.xz";
+      sha256 = "c810fb9eecb08026434422a32e79269627f3bc2941be199e86ec410bdfe883f5";
+      name = "qtspeech-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtsvg = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtsvg-everywhere-src-5.15.0.tar.xz";
-      sha256 = "ee4d287e2e205ca8c08921b9cbe0fc58bf46be080b5359ad4d7fbdee44aeee0d";
-      name = "qtsvg-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtsvg-everywhere-src-5.15.2.tar.xz";
+      sha256 = "8bc3c2c1bc2671e9c67d4205589a8309b57903721ad14c60ea21a5d06acb585e";
+      name = "qtsvg-everywhere-src-5.15.2.tar.xz";
     };
   };
   qttools = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qttools-everywhere-src-5.15.0.tar.xz";
-      sha256 = "ddbcb49aab3a2e3672582c6e2e7bec0058feff790f67472343c79e2895e0e437";
-      name = "qttools-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qttools-everywhere-src-5.15.2.tar.xz";
+      sha256 = "c189d0ce1ff7c739db9a3ace52ac3e24cb8fd6dbf234e49f075249b38f43c1cc";
+      name = "qttools-everywhere-src-5.15.2.tar.xz";
     };
   };
   qttranslations = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qttranslations-everywhere-src-5.15.0.tar.xz";
-      sha256 = "45c43268d9df50784d4d8ca345fce9288a1055fd074ac0ef508097f7aeba22fe";
-      name = "qttranslations-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qttranslations-everywhere-src-5.15.2.tar.xz";
+      sha256 = "d5788e86257b21d5323f1efd94376a213e091d1e5e03b45a95dd052b5f570db8";
+      name = "qttranslations-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtvirtualkeyboard = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtvirtualkeyboard-everywhere-src-5.15.0.tar.xz";
-      sha256 = "f22f9204ab65578d9c8aa832a8a39108f826e00a7d391c7884ff490c587f34be";
-      name = "qtvirtualkeyboard-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtvirtualkeyboard-everywhere-src-5.15.2.tar.xz";
+      sha256 = "9a3193913be30f09a896e3b8c2f9696d2e9b3f88a63ae9ca8c97a2786b68cf55";
+      name = "qtvirtualkeyboard-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtwayland = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwayland-everywhere-src-5.15.0.tar.xz";
-      sha256 = "084133e10bfbd32a28125639660c59975f23457bba6a79b30a25802cec76a9fb";
-      name = "qtwayland-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwayland-everywhere-src-5.15.2.tar.xz";
+      sha256 = "193732229ff816f3aaab9a5e2f6bed71ddddbf1988ce003fe8dd84a92ce9aeb5";
+      name = "qtwayland-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtwebchannel = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebchannel-everywhere-src-5.15.0.tar.xz";
-      sha256 = "ea80510b363e6f92ce99932f06d176e43459c4a5159fe97b5ef96fcfbab5ed4f";
-      name = "qtwebchannel-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwebchannel-everywhere-src-5.15.2.tar.xz";
+      sha256 = "127fe79c43b386713f151ed7d411cd81e45e29f9c955584f29736f78c9303ec1";
+      name = "qtwebchannel-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtwebengine = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebengine-everywhere-src-5.15.0.tar.xz";
-      sha256 = "c38e2fda7ed1b7d5a90f26abf231ec0715d78a5bc39a94673d8e39d75f04c5df";
-      name = "qtwebengine-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwebengine-everywhere-src-5.15.2.tar.xz";
+      sha256 = "c8afca0e43d84f7bd595436fbe4d13a5bbdb81ec5104d605085d07545b6f91e0";
+      name = "qtwebengine-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtwebglplugin = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebglplugin-everywhere-src-5.15.0.tar.xz";
-      sha256 = "f7b81f25ddf7b3a0046daa7224bc1e18c8b754b00b1a33775f30f827a5cdca15";
-      name = "qtwebglplugin-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwebglplugin-everywhere-src-5.15.2.tar.xz";
+      sha256 = "81e782b517ed29e10bea1aa90c9f59274c98a910f2c8b105fa78368a36b41446";
+      name = "qtwebglplugin-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtwebsockets = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebsockets-everywhere-src-5.15.0.tar.xz";
-      sha256 = "87c2f6542778f9b65b3f208740c1d0db643fd0bede21404b9abb265355da5092";
-      name = "qtwebsockets-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwebsockets-everywhere-src-5.15.2.tar.xz";
+      sha256 = "a0b42d85dd34ff6e2d23400e02f83d8b85bcd80e60efd1521d12d9625d4a233f";
+      name = "qtwebsockets-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtwebview = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebview-everywhere-src-5.15.0.tar.xz";
-      sha256 = "b87ea205ce79c6b438ebe596e91fa80ba11f6aac7e89ffbf52b337d0fc8d6660";
-      name = "qtwebview-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwebview-everywhere-src-5.15.2.tar.xz";
+      sha256 = "be9f46167e4977ead5ef5ecf883fdb812a4120f2436383583792f65557e481e7";
+      name = "qtwebview-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtwinextras = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwinextras-everywhere-src-5.15.0.tar.xz";
-      sha256 = "d77f2cb2ce83bdbfd0a970bc8d7d11c96b2df16befc257d6594f79dfd92abff0";
-      name = "qtwinextras-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwinextras-everywhere-src-5.15.2.tar.xz";
+      sha256 = "65b8272005dec00791ab7d81ab266d1e3313a3bbd8e54e546d984cf4c4ab550e";
+      name = "qtwinextras-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtx11extras = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtx11extras-everywhere-src-5.15.0.tar.xz";
-      sha256 = "c72b6c188284facddcf82835af048240e721dc8d6d9e8a7bd71d76fd876881a1";
-      name = "qtx11extras-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtx11extras-everywhere-src-5.15.2.tar.xz";
+      sha256 = "7014702ee9a644a5a93da70848ac47c18851d4f8ed622b29a72eed9282fc6e3e";
+      name = "qtx11extras-everywhere-src-5.15.2.tar.xz";
     };
   };
   qtxmlpatterns = {
-    version = "5.15.0";
+    version = "5.15.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtxmlpatterns-everywhere-src-5.15.0.tar.xz";
-      sha256 = "2752cf2aa25ebfda89c3736457e27b3d0c7c7ed290dcfd52c209f9f905998507";
-      name = "qtxmlpatterns-everywhere-src-5.15.0.tar.xz";
+      url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtxmlpatterns-everywhere-src-5.15.2.tar.xz";
+      sha256 = "76ea2162a7c349188d7e7e4f6c77b78e8a205494c90fee3cea3487a1ae2cf2fa";
+      name = "qtxmlpatterns-everywhere-src-5.15.2.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix
index 41802f0d065..0bee19c3f4f 100644
--- a/pkgs/development/python-modules/cryptography/default.nix
+++ b/pkgs/development/python-modules/cryptography/default.nix
@@ -22,11 +22,11 @@
 
 buildPythonPackage rec {
   pname = "cryptography";
-  version = "3.2.1"; # Also update the hash in vectors.nix
+  version = "3.3.1"; # Also update the hash in vectors.nix
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1qxz02kfsrihq1h4afyqwcsv9nh3s9mmrr6y9lhi4angw05y3mfk";
+    sha256 = "1ribd1vxq9wwz564mg60dzcy699gng54admihjjkgs9dx95pw5vy";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/cryptography/vectors.nix b/pkgs/development/python-modules/cryptography/vectors.nix
index 567ce23783e..94526c8268e 100644
--- a/pkgs/development/python-modules/cryptography/vectors.nix
+++ b/pkgs/development/python-modules/cryptography/vectors.nix
@@ -7,7 +7,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12dq1grn0bjj7c6sj6apd6328525n7xq4kbbmww63sn3x7081vls";
+    sha256 = "192wix3sr678x21brav5hgc6j93l7ab1kh69p2scr3fsblq9qy03";
   };
 
   # No tests included
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 5b971c48d78..0c32985cfaa 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -30,12 +30,12 @@ let
 
 in buildPythonPackage rec {
   pname = "PyQt5";
-  version = "5.15.1";
+  version = "5.15.2";
   format = "other";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "18grs2p698ihjgi8agksv6sajakciywyr29ihslqvl260a2np9yr";
+    sha256 = "1z74295i69cha52llsqffzhb5zz7qnbjc64h8qg21l91jgf0harp";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index ef8a5324487..385cb990c46 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -38,6 +38,12 @@ stdenv.mkDerivation rec {
     # Derived from https://github.com/libuv/libuv/commit/1a5d4f08238dd532c3718e210078de1186a5920d
     ./libuv-application-services.patch
 
+    # Fix namelink failures, can be removed in 3.19.2+
+    (fetchpatch {
+      url = "https://gitlab.kitware.com/cmake/cmake/-/commit/38bcb5c0a3accd2dd29fb7632c6b3bf31b990d82.patch";
+      sha256 = "17yr66wrayhmavsz46b37zfwp2jcwab1zig2xqps39ysndf74qjc";
+    })
+
   ] ++ lib.optional stdenv.isCygwin ./3.2.2-cygwin.patch;
 
   outputs = [ "out" ];
diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix
index bdb2f8cbd75..6eb24a812aa 100644
--- a/pkgs/development/tools/database/liquibase/default.nix
+++ b/pkgs/development/tools/database/liquibase/default.nix
@@ -10,11 +10,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "liquibase";
-  version = "4.2.1";
+  version = "4.2.2";
 
   src = fetchurl {
     url = "https://github.com/liquibase/liquibase/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "1fv92f71p7pk3r4aj88kgaiblfii3z4fjbchyj1c9k6br0gwbw8b";
+    sha256 = "0k3vrz12dgfirz9p4ckgk2swr42w8fl50hdgg8pwc7yh2jsz8zl0";
   };
 
   buildInputs = [ jre makeWrapper ];
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index 64fa92be865..3ce310acf23 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -14,7 +14,7 @@
 
 let
   apparmor-series = "2.13";
-  apparmor-patchver = "5";
+  apparmor-patchver = "6";
   apparmor-version = apparmor-series + "." + apparmor-patchver;
 
   apparmor-meta = component: with stdenv.lib; {
@@ -27,7 +27,7 @@ let
 
   apparmor-sources = fetchurl {
     url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz";
-    sha256 = "05x7r99k00r97v1cq2f711lv6yqzhbl8zp1i1c7kxra4v0a2lzk3";
+    sha256 = "13xshy7905d9q9n8d8i0jmdi9m36wr525g4wlsp8k21n7yvvh9j4";
   };
 
   prePatchCommon = ''
diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix
index fb06f942e48..fe9cb46fb8a 100644
--- a/pkgs/os-specific/linux/keyutils/default.nix
+++ b/pkgs/os-specific/linux/keyutils/default.nix
@@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
     ./conf-symlink.patch
   ];
 
+  makeFlags = stdenv.lib.optionals stdenv.hostPlatform.isStatic "NO_SOLIB=1";
+
   BUILDDATE = "1970-01-01";
   outputs = [ "out" "lib" "dev" ];
 
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index f1a0f06eb58..e6cb589c9bf 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -111,7 +111,7 @@ assert withCryptsetup ->
 let
   wantCurl = withRemote || withImportd;
 
-  version = "247";
+  version = "247.2";
 in
 stdenv.mkDerivation {
   inherit version pname;
@@ -120,9 +120,9 @@ stdenv.mkDerivation {
   # This has proven to be less error-prone than the previous systemd fork.
   src = fetchFromGitHub {
     owner = "systemd";
-    repo = "systemd";
+    repo = "systemd-stable";
     rev = "v${version}";
-    sha256 = "1nwsr6p65zy5jpabvjbszq5g556l1npaf2xsik4p4pvjjwnn1nx6";
+    sha256 = "091pwrvxz3gcf80shlp28d6l4gvjzc6pb61v4mwxmk9d71qaq7ry";
   };
 
   # If these need to be regenerated, `git am path/to/00*.patch` them into a
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index ac6ad8a4bb7..4f8f7cae7f8 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "util-linux";
-  version = "2.36";
+  version = "2.36.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1cg0m4psswg71v6wrqc2bngcw20fsp01vbijxdzvdf8kxdkiqjwy";
+    sha256 = "1vbyydl1b13lx73di4bhc4br9ih24hcqv7bky0kyrn1c2x1c5yh9";
   };
 
   patches = [
diff --git a/pkgs/servers/x11/xorg/dont-create-logdir-during-build.patch b/pkgs/servers/x11/xorg/dont-create-logdir-during-build.patch
new file mode 100644
index 00000000000..3675292f9c9
--- /dev/null
+++ b/pkgs/servers/x11/xorg/dont-create-logdir-during-build.patch
@@ -0,0 +1,32 @@
+---
+ hw/xfree86/Makefile.am | 1 -
+ hw/xfree86/Makefile.in | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
+index 9aeaea1..dcca3b8 100644
+--- a/hw/xfree86/Makefile.am
++++ b/hw/xfree86/Makefile.am
+@@ -100,7 +100,6 @@ EXTRA_DIST = xorgconf.cpp
+ 
+ # Without logdir, X will post an error on the terminal and will not start
+ install-data-local:
+-	$(AM_V_GEN)$(MKDIR_P) $(DESTDIR)$(logdir)
+ if CYGWIN
+ 	$(INSTALL_DATA) libXorg.exe.a $(DESTDIR)$(libdir)/libXorg.exe.a
+ endif
+diff --git a/hw/xfree86/Makefile.in b/hw/xfree86/Makefile.in
+index c4fceee..74da8f1 100644
+--- a/hw/xfree86/Makefile.in
++++ b/hw/xfree86/Makefile.in
+@@ -1161,7 +1161,6 @@ uninstall-am: uninstall-binPROGRAMS uninstall-local \
+ 
+ # Without logdir, X will post an error on the terminal and will not start
+ install-data-local:
+-	$(AM_V_GEN)$(MKDIR_P) $(DESTDIR)$(logdir)
+ @CYGWIN_TRUE@	$(INSTALL_DATA) libXorg.exe.a $(DESTDIR)$(libdir)/libXorg.exe.a
+ 
+ install-exec-hook:
+-- 
+2.25.4
+
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 02dfb7ee1f5..ddf0aacdf07 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -571,7 +571,7 @@ self: super:
       attrs =
         if (abiCompat == null || lib.hasPrefix abiCompat version) then
           attrs_passed // {
-            buildInputs = attrs_passed.buildInputs ++ [ libdrm.dev ]; patchPhase = ''
+            buildInputs = attrs_passed.buildInputs ++ [ libdrm.dev ]; postPatch = ''
             for i in dri3/*.c
             do
               sed -i -e "s|#include <drm_fourcc.h>|#include <libdrm/drm_fourcc.h>|" $i
@@ -626,6 +626,12 @@ self: super:
       if (!isDarwin)
       then {
         outputs = [ "out" "dev" ];
+        patches = [
+          # The build process tries to create the specified logdir when building.
+          #
+          # We set it to /var/log which can't be touched from inside the sandbox causing the build to hard-fail
+          ./dont-create-logdir-during-build.patch
+        ];
         buildInputs = commonBuildInputs ++ [ libdrm mesa ];
         propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ libpciaccess epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
           udev
@@ -642,6 +648,7 @@ self: super:
           "--with-xkb-bin-directory=${self.xkbcomp}/bin"
           "--with-xkb-path=${self.xkeyboardconfig}/share/X11/xkb"
           "--with-xkb-output=$out/share/X11/xkb/compiled"
+          "--with-log-dir=/var/log"
           "--enable-glamor"
         ] ++ lib.optionals stdenv.hostPlatform.isMusl [
           "--disable-tls"
@@ -758,8 +765,8 @@ self: super:
     ];
     propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.xauth ]
                          ++ lib.optionals isDarwin [ self.libX11 self.xorgproto ];
-    prePatch = ''
-      sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp
+    postFixup = ''
+      substituteInPlace $out/bin/startx --replace $out/etc/X11/xinit/xserverrc /etc/X11/xinit/xserverrc
     '';
   });
 
diff --git a/pkgs/test/cc-wrapper/default.nix b/pkgs/test/cc-wrapper/default.nix
index c0c89d63fff..fae3448c44c 100644
--- a/pkgs/test/cc-wrapper/default.nix
+++ b/pkgs/test/cc-wrapper/default.nix
@@ -1,11 +1,13 @@
-{ stdenv }:
+{ stdenv, glibc }:
 with stdenv.lib;
 let
   # Sanitizers are not supported on Darwin.
   # Sanitizer headers aren't available in older libc++ stdenvs due to a bug
-  sanitizersWorking =
-       (stdenv.cc.isClang && versionAtLeast (getVersion stdenv.cc.name) "5.0.0")
-    || (stdenv.cc.isGNU && stdenv.isLinux);
+  sanitizersWorking = !stdenv.hostPlatform.isMusl && (
+    (stdenv.cc.isClang && versionAtLeast (getVersion stdenv.cc.name) "5.0.0")
+    || (stdenv.cc.isGNU && stdenv.isLinux)
+  );
+  staticLibc = optionalString (stdenv.hostPlatform.libc == "glibc") "-L ${glibc.static}/lib";
 in stdenv.mkDerivation {
   name = "cc-wrapper-test";
 
@@ -28,6 +30,19 @@ in stdenv.mkDerivation {
       ./core-foundation-check
     ''}
 
+
+    ${optionalString (!stdenv.isDarwin) ''
+      printf "checking whether compiler builds valid static C binaries... " >&2
+      $CC ${staticLibc} -static -o cc-static ${./cc-main.c}
+      ./cc-static
+      # our glibc does not have pie enabled yet.
+      ${optionalString (stdenv.hostPlatform.isMusl && stdenv.cc.isGNU) ''
+        printf "checking whether compiler builds valid static pie C binaries... " >&2
+        $CC ${staticLibc} -static-pie -o cc-static-pie ${./cc-main.c}
+        ./cc-static-pie
+      ''}
+    ''}
+
     printf "checking whether compiler uses NIX_CFLAGS_COMPILE... " >&2
     mkdir -p foo/include
     cp ${./foo.c} foo/include/foo.h
diff --git a/pkgs/tools/graphics/graphviz/base.nix b/pkgs/tools/graphics/graphviz/base.nix
index a65f5ce455c..cdec8427005 100644
--- a/pkgs/tools/graphics/graphviz/base.nix
+++ b/pkgs/tools/graphics/graphviz/base.nix
@@ -79,6 +79,8 @@ stdenv.mkDerivation {
       --replace /usr/bin/vimdot $out/bin/vimdot \
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = "https://graphviz.org";
     description = "Graph visualization tools";
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
index 04a11a92204..6a21bc56789 100644
--- a/pkgs/tools/misc/topgrade/default.nix
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "6.0.1";
+  version = "6.0.2";
 
   src = fetchFromGitHub {
     owner = "r-darwish";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1bpq4zki98vw793rvrk9qwgh62f1qwzh0cm4a3h0bif43kg836n0";
+    sha256 = "1pqf7rs9b8j54rwg8i8alvf65c4jfp5q2hv3yr60aiidfjrawp34";
   };
 
-  cargoSha256 = "1486pfiv4lfzdz3hj5z6s7q8lhzrldffji3fsf10z50sm4fhq73q";
+  cargoSha256 = "1wh7xywp92h3in9a2nr6sia6l3852kw4s688sr1c2wjdf2i58lsg";
 
   buildInputs = lib.optional stdenv.isDarwin Foundation;
 
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index c466a48434f..82245f4cd26 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -34,14 +34,14 @@ assert gssSupport -> libkrb5 != null;
 
 stdenv.mkDerivation rec {
   pname = "curl";
-  version = "7.73.0";
+  version = "7.74.0";
 
   src = fetchurl {
     urls = [
       "https://curl.haxx.se/download/${pname}-${version}.tar.bz2"
       "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] pname}-${version}/${pname}-${version}.tar.bz2"
     ];
-    sha256 = "sha256-zzT+Cwe4APHAGkmabosq9Uj20OBE3KSinYikvuFG0TE=";
+    sha256 = "19bp3d91xq9vqwlbzq261j23mk9lz4lyka4gr2fm6dhnd3k66k8g";
   };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index f8a518ca4dc..c9e75f39e9b 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -66,7 +66,9 @@ stdenv.mkDerivation rec {
       substituteInPlace Makefile.in --replace '$(INSTALL) -m 4711' '$(INSTALL) -m 0711'
     '';
 
-  nativeBuildInputs = [ pkgconfig ] ++ optional (hpnSupport || withGssapiPatches) autoreconfHook;
+  nativeBuildInputs = [ pkgconfig ]
+    ++ optional (hpnSupport || withGssapiPatches) autoreconfHook
+    ++ optional withKerberos kerberos.dev;
   buildInputs = [ zlib openssl libedit pam ]
     ++ optional withFIDO libfido2
     ++ optional withKerberos kerberos;
@@ -75,6 +77,22 @@ stdenv.mkDerivation rec {
     # Setting LD causes `configure' and `make' to disagree about which linker
     # to use: `configure' wants `gcc', but `make' wants `ld'.
     unset LD
+  ''
+  # Upstream build system does not support static build, so we fall back
+  # on fragile patching of configure script.
+  #
+  # libedit is found by pkgconfig, but without --static flag, required
+  # to get also transitive dependencies for static linkage, hence sed
+  # expression.
+  #
+  # Kerberos can be found either by krb5-config or by fall-back shell
+  # code in openssh's configure.ac. Neither of them support static
+  # build, but patching code for krb5-config is simpler, so to get it
+  # into PATH, kerberos.dev is added into buildInputs.
+  + optionalString stdenv.hostPlatform.isStatic ''
+    sed -i "s,PKGCONFIG --libs,PKGCONFIG --libs --static,g" configure
+    sed -i 's#KRB5CONF --libs`#KRB5CONF --libs` -lkrb5support -lkeyutils#g' configure
+    sed -i 's#KRB5CONF --libs gssapi`#KRB5CONF --libs gssapi` -lkrb5support -lkeyutils#g' configure
   '';
 
   # I set --disable-strip because later we strip anyway. And it fails to strip
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 982dd3fe961..ad8ca602f44 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -828,7 +828,7 @@ mapAliases ({
     kwallet-pam kwayland-integration kwin kwrited milou oxygen plasma-browser-integration
     plasma-desktop plasma-integration plasma-nm plasma-pa plasma-vault plasma-workspace
     plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm
-    systemsettings user-manager xdg-desktop-portal-kde
+    systemsettings xdg-desktop-portal-kde
   ;
   inherit (plasma5.thirdParty)
     plasma-applet-caffeine-plus
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 90c133809a2..6b89e68817f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8987,8 +8987,6 @@ in
       mkdir -p "$rsrc/lib"
       ln -s "${cc}/lib" "$rsrc/include"
       echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
-    '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
-      echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
     '';
   };
 
@@ -10060,11 +10058,9 @@ in
   # So this commit doesn't remove the 1.45.2 release.
   rust_1_45 = callPackage ../development/compilers/rust/1_45.nix {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
-    llvmPackages = if stdenv.cc.isClang then llvmPackages_5 else llvmPackages_10;
   };
   rust_1_48 = callPackage ../development/compilers/rust/1_48.nix {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
-    llvmPackages = if stdenv.cc.isClang then llvmPackages_5 else llvmPackages_11;
   };
   rust = rust_1_48;
 
@@ -15591,7 +15587,7 @@ in
       kwin kwrited milou oxygen plasma-browser-integration plasma-desktop
       plasma-integration plasma-nm plasma-pa plasma-thunderbolt plasma-vault plasma-workspace
       plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm
-      systemsettings user-manager xdg-desktop-portal-kde
+      systemsettings xdg-desktop-portal-kde
     ;
 
     inherit ((plasma5.override { libsForQt5 = self; }).thirdParty)