summary refs log tree commit diff
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2023-09-04 20:19:44 +0200
committerVladimír Čunát <v@cunat.cz>2023-09-04 20:19:44 +0200
commitb4cc33304856c45c4965127ea2905c7f20cb4eaa (patch)
treec654168463fae5e46c3f0e41c2bc735e27995858
parent0a1690dd6bf9ed7f3d6d0caeb8036274deafcdac (diff)
parentfcf38c9baca5f009ceb601353dcb1857c29d3e06 (diff)
downloadnixpkgs-b4cc33304856c45c4965127ea2905c7f20cb4eaa.tar
nixpkgs-b4cc33304856c45c4965127ea2905c7f20cb4eaa.tar.gz
nixpkgs-b4cc33304856c45c4965127ea2905c7f20cb4eaa.tar.bz2
nixpkgs-b4cc33304856c45c4965127ea2905c7f20cb4eaa.tar.lz
nixpkgs-b4cc33304856c45c4965127ea2905c7f20cb4eaa.tar.xz
nixpkgs-b4cc33304856c45c4965127ea2905c7f20cb4eaa.tar.zst
nixpkgs-b4cc33304856c45c4965127ea2905c7f20cb4eaa.zip
Merge branch 'master' into staging-next
-rw-r--r--nixos/doc/manual/release-notes/rl-2311.section.md2
-rw-r--r--nixos/modules/i18n/input-method/uim.nix2
-rw-r--r--nixos/modules/services/matrix/mautrix-whatsapp.nix99
-rw-r--r--nixos/modules/services/networking/jool.nix313
-rw-r--r--nixos/modules/services/x11/desktop-managers/budgie.nix3
-rw-r--r--nixos/tests/all-tests.nix2
-rw-r--r--nixos/tests/custom-ca.nix4
-rw-r--r--nixos/tests/jool.nix106
-rw-r--r--pkgs/applications/audio/hydrogen/0.nix48
-rw-r--r--pkgs/applications/audio/qmidiroute/default.nix30
-rw-r--r--pkgs/applications/audio/qtscrobbler/default.nix34
-rw-r--r--pkgs/applications/audio/soundscape-renderer/default.nix56
-rw-r--r--pkgs/applications/blockchains/namecoin/default.nix9
-rw-r--r--pkgs/applications/editors/texmacs/darwin.nix60
-rw-r--r--pkgs/applications/editors/texmacs/darwin.patch29
-rw-r--r--pkgs/applications/emulators/resim/default.nix26
-rw-r--r--pkgs/applications/graphics/animbar/default.nix39
-rw-r--r--pkgs/applications/graphics/qscreenshot/default.nix37
-rw-r--r--pkgs/applications/graphics/scantailor/default.nix26
-rw-r--r--pkgs/applications/misc/lutris/fhsenv.nix5
-rw-r--r--pkgs/applications/misc/navipowm/default.nix32
-rw-r--r--pkgs/applications/misc/qmetro/default.nix31
-rw-r--r--pkgs/applications/misc/sqliteman/default.nix34
-rw-r--r--pkgs/applications/misc/yate/default.nix4
-rw-r--r--pkgs/applications/office/scribus/1_4.nix52
-rw-r--r--pkgs/applications/office/tagainijisho/default.nix9
-rw-r--r--pkgs/applications/science/chemistry/avogadro/default.nix30
-rw-r--r--pkgs/applications/science/electronics/flatcam/default.nix141
-rw-r--r--pkgs/applications/science/electronics/flatcam/release.patch13
-rw-r--r--pkgs/applications/science/electronics/qfsm/default.nix28
-rw-r--r--pkgs/applications/science/electronics/qfsm/drop-hardcoded-prefix.patch20
-rw-r--r--pkgs/applications/science/electronics/qfsm/gcc6-fixes.patch20
-rw-r--r--pkgs/applications/science/electronics/qucs/cmakelists.patch34
-rw-r--r--pkgs/applications/science/electronics/qucs/default.nix30
-rw-r--r--pkgs/applications/science/logic/surelog/default.nix18
-rw-r--r--pkgs/applications/science/logic/uhdm/default.nix13
-rw-r--r--pkgs/applications/science/medicine/aliza/default.nix60
-rw-r--r--pkgs/applications/science/misc/root/default.nix53
-rw-r--r--pkgs/applications/science/misc/vite/default.nix38
-rw-r--r--pkgs/applications/system/asusctl/Cargo.lock369
-rw-r--r--pkgs/applications/system/asusctl/default.nix6
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--pkgs/applications/virtualization/kraft/default.nix13
-rw-r--r--pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix8
-rw-r--r--pkgs/development/compilers/eql/default.nix63
-rw-r--r--pkgs/development/compilers/seexpr/default.nix47
-rw-r--r--pkgs/development/compilers/yosys/plugins/symbiflow.nix5
-rw-r--r--pkgs/development/libraries/dssi/default.nix4
-rw-r--r--pkgs/development/libraries/libjreen/default.nix21
-rw-r--r--pkgs/development/libraries/libuev/default.nix23
-rw-r--r--pkgs/development/libraries/ntrack/default.nix34
-rw-r--r--pkgs/development/libraries/ntrack/libnl-fix.patch11
-rw-r--r--pkgs/development/libraries/prison/default.nix21
-rw-r--r--pkgs/development/libraries/qimageblitz/default.nix23
-rw-r--r--pkgs/development/libraries/qimageblitz/qimageblitz-9999-exec-stack.patch11
-rw-r--r--pkgs/development/libraries/qscintilla-qt4/default.nix67
-rw-r--r--pkgs/development/libraries/qscintilla-qt4/fix-qt4-build.patch11
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/clang-5-darwin.patch13
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix239
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff74
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/dlopen-gtkstyle.diff37
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/glib-2.32.patch12
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/kill-legacy-darwin-apis.patch330
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/libressl.patch64
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/parallel-configure.patch22
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/patch-qthread-stacksize.diff54
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh21
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/qsettings-recursive-global-mutex.patch17
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/qt-4.8.7-unixmake-darwin.patch11
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/qt-musl-iconv-no-bom.patch11
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/qt-musl.patch14
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/qt4-gcc6.patch33
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/qt4-openssl-1.1.patch398
-rw-r--r--pkgs/development/libraries/qt-mobility/default.nix54
-rw-r--r--pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix42
-rw-r--r--pkgs/development/libraries/qwt/6_qt4.nix42
-rw-r--r--pkgs/development/libraries/smokegen/default.nix23
-rw-r--r--pkgs/development/libraries/smokeqt/default.nix27
-rw-r--r--pkgs/development/lisp-modules-new-obsolete/packages.nix100
-rw-r--r--pkgs/development/lisp-modules-new-obsolete/patches/qt-libs-dont-download.patch36
-rw-r--r--pkgs/development/lisp-modules/packages.nix82
-rw-r--r--pkgs/development/lisp-modules/patches/qtools-use-nix-libs.patch19
-rw-r--r--pkgs/development/python-modules/ete3/default.nix3
-rw-r--r--pkgs/development/python-modules/nuitka/default.nix3
-rw-r--r--pkgs/development/python-modules/pyqt/4.x.nix69
-rw-r--r--pkgs/development/python-modules/pyside/apiextractor.nix34
-rw-r--r--pkgs/development/python-modules/pyside/default.nix34
-rw-r--r--pkgs/development/python-modules/pyside/gcc6.patch18
-rw-r--r--pkgs/development/python-modules/pyside/generatorrunner.nix33
-rw-r--r--pkgs/development/python-modules/pyside/shiboken.nix66
-rw-r--r--pkgs/development/python-modules/pyside/shiboken_py35.patch12
-rw-r--r--pkgs/development/python-modules/pyside/tools.nix34
-rw-r--r--pkgs/development/python-modules/python-cinderclient/default.nix4
-rw-r--r--pkgs/development/python-modules/qscintilla-qt4/default.nix42
-rw-r--r--pkgs/development/python-modules/subdownloader/default.nix66
-rw-r--r--pkgs/development/tools/analysis/valkyrie/default.nix31
-rw-r--r--pkgs/development/tools/fmbt/default.nix53
-rwxr-xr-xpkgs/development/tools/misc/nrf-command-line-tools/default.nix72
-rwxr-xr-xpkgs/development/tools/misc/segger-jlink/default.nix120
-rw-r--r--pkgs/development/tools/rust/cargo-hack/default.nix6
-rw-r--r--pkgs/games/gambatte/default.nix34
-rw-r--r--pkgs/games/instead-launcher/default.nix32
-rw-r--r--pkgs/games/instead-launcher/path.patch39
-rw-r--r--pkgs/games/tworld2/default.nix46
-rw-r--r--pkgs/os-specific/darwin/sketchybar/default.nix4
-rw-r--r--pkgs/os-specific/windows/default.nix2
-rw-r--r--pkgs/os-specific/windows/jom/default.nix32
-rw-r--r--pkgs/servers/bililiverecorder/default.nix1
-rw-r--r--pkgs/servers/ftp/uftpd/default.nix24
-rw-r--r--pkgs/tools/admin/okta-aws-cli/default.nix4
-rw-r--r--pkgs/tools/audio/acoustid-fingerprinter/default.nix38
-rw-r--r--pkgs/tools/bluetooth/nrfconnect/default.nix43
-rw-r--r--pkgs/tools/graphics/structure-synth/default.nix46
-rw-r--r--pkgs/tools/graphics/structure-synth/gcc47.patch50
-rw-r--r--pkgs/tools/inputmethods/hime/default.nix3
-rw-r--r--pkgs/tools/inputmethods/ibus/ibus-qt.nix24
-rw-r--r--pkgs/tools/inputmethods/uim/default.nix15
-rw-r--r--pkgs/tools/misc/qjoypad/default.nix4
-rw-r--r--pkgs/tools/networking/veilid/Cargo.lock279
-rw-r--r--pkgs/tools/networking/veilid/default.nix10
-rw-r--r--pkgs/tools/security/omapd/default.nix36
-rw-r--r--pkgs/tools/security/omapd/zlib.patch9
-rw-r--r--pkgs/tools/security/vault-ssh-plus/default.nix6
-rw-r--r--pkgs/top-level/aliases.nix41
-rw-r--r--pkgs/top-level/all-packages.nix151
-rw-r--r--pkgs/top-level/python-aliases.nix2
-rw-r--r--pkgs/top-level/python-packages.nix16
127 files changed, 876 insertions, 4921 deletions
diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md
index aa619703924..8b6f9a23ff5 100644
--- a/nixos/doc/manual/release-notes/rl-2311.section.md
+++ b/nixos/doc/manual/release-notes/rl-2311.section.md
@@ -38,7 +38,7 @@
 
 - [stalwart-mail](https://stalw.art), an all-in-one email server (SMTP, IMAP, JMAP). Available as [services.stalwart-mail](#opt-services.stalwart-mail.enable).
 
-- [Jool](https://nicmx.github.io/Jool/en/index.html), an Open Source implementation of IPv4/IPv6 translation on Linux. Available as [networking.jool.enable](#opt-networking.jool.enable).
+- [Jool](https://nicmx.github.io/Jool/en/index.html), a kernelspace NAT64 and SIIT implementation, providing translation between IPv4 and IPv6. Available as [networking.jool.enable](#opt-networking.jool.enable).
 
 - [Apache Guacamole](https://guacamole.apache.org/), a cross-platform, clientless remote desktop gateway. Available as [services.guacamole-server](#opt-services.guacamole-server.enable) and [services.guacamole-client](#opt-services.guacamole-client.enable) services.
 
diff --git a/nixos/modules/i18n/input-method/uim.nix b/nixos/modules/i18n/input-method/uim.nix
index 9491ab2640f..7225783b2a6 100644
--- a/nixos/modules/i18n/input-method/uim.nix
+++ b/nixos/modules/i18n/input-method/uim.nix
@@ -10,7 +10,7 @@ in
 
     i18n.inputMethod.uim = {
       toolbar = mkOption {
-        type    = types.enum [ "gtk" "gtk3" "gtk-systray" "gtk3-systray" "qt4" ];
+        type    = types.enum [ "gtk" "gtk3" "gtk-systray" "gtk3-systray" "qt5" ];
         default = "gtk";
         example = "gtk-systray";
         description = lib.mdDoc ''
diff --git a/nixos/modules/services/matrix/mautrix-whatsapp.nix b/nixos/modules/services/matrix/mautrix-whatsapp.nix
index 80c85980196..c4dc4821349 100644
--- a/nixos/modules/services/matrix/mautrix-whatsapp.nix
+++ b/nixos/modules/services/matrix/mautrix-whatsapp.nix
@@ -11,53 +11,47 @@
   settingsFileUnsubstituted = settingsFormat.generate "mautrix-whatsapp-config-unsubstituted.json" cfg.settings;
   settingsFormat = pkgs.formats.json {};
   appservicePort = 29318;
+
+  mkDefaults = lib.mapAttrsRecursive (n: v: lib.mkDefault v);
+  defaultConfig = {
+    homeserver.address = "http://localhost:8448";
+    appservice = {
+      hostname = "[::]";
+      port = appservicePort;
+      database.type = "sqlite3";
+      database.uri = "${dataDir}/mautrix-whatsapp.db";
+      id = "whatsapp";
+      bot.username = "whatsappbot";
+      bot.displayname = "WhatsApp Bridge Bot";
+      as_token = "";
+      hs_token = "";
+    };
+    bridge = {
+      username_template = "whatsapp_{{.}}";
+      displayname_template = "{{if .BusinessName}}{{.BusinessName}}{{else if .PushName}}{{.PushName}}{{else}}{{.JID}}{{end}} (WA)";
+      double_puppet_server_map = {};
+      login_shared_secret_map = {};
+      command_prefix = "!wa";
+      permissions."*" = "relay";
+      relay.enabled = true;
+    };
+    logging = {
+      min_level = "info";
+      writers = lib.singleton {
+        type = "stdout";
+        format = "pretty-colored";
+        time_format = " ";
+      };
+    };
+  };
+
 in {
-  imports = [];
   options.services.mautrix-whatsapp = {
-    enable = lib.mkEnableOption "mautrix-whatsapp, a puppeting/relaybot bridge between Matrix and WhatsApp.";
+    enable = lib.mkEnableOption (lib.mdDoc "mautrix-whatsapp, a puppeting/relaybot bridge between Matrix and WhatsApp.");
 
     settings = lib.mkOption {
       type = settingsFormat.type;
-      default = {
-        appservice = {
-          address = "http://localhost:${toString appservicePort}";
-          hostname = "[::]";
-          port = appservicePort;
-          database = {
-            type = "sqlite3";
-            uri = "${dataDir}/mautrix-whatsapp.db";
-          };
-          id = "whatsapp";
-          bot = {
-            username = "whatsappbot";
-            displayname = "WhatsApp Bridge Bot";
-          };
-          as_token = "";
-          hs_token = "";
-        };
-        bridge = {
-          username_template = "whatsapp_{{.}}";
-          displayname_template = "{{if .BusinessName}}{{.BusinessName}}{{else if .PushName}}{{.PushName}}{{else}}{{.JID}}{{end}} (WA)";
-          double_puppet_server_map = {};
-          login_shared_secret_map = {};
-          command_prefix = "!wa";
-          permissions."*" = "relay";
-          relay.enabled = true;
-        };
-        logging = {
-          min_level = "info";
-          writers = [
-            {
-              type = "stdout";
-              format = "pretty-colored";
-            }
-            {
-              type = "file";
-              format = "json";
-            }
-          ];
-        };
-      };
+      default = defaultConfig;
       description = lib.mdDoc ''
         {file}`config.yaml` configuration as a Nix attribute set.
         Configuration options should match those described in
@@ -117,10 +111,22 @@ in {
   };
 
   config = lib.mkIf cfg.enable {
-    services.mautrix-whatsapp.settings = {
-      homeserver.domain = lib.mkDefault config.services.matrix-synapse.settings.server_name;
+
+    users.users.mautrix-whatsapp = {
+      isSystemUser = true;
+      group = "mautrix-whatsapp";
+      home = dataDir;
+      description = "Mautrix-WhatsApp bridge user";
     };
 
+    users.groups.mautrix-whatsapp = {};
+
+    services.mautrix-whatsapp.settings = lib.mkMerge (map mkDefaults [
+      defaultConfig
+      # Note: this is defined here to avoid the docs depending on `config`
+      { homeserver.domain = config.services.matrix-synapse.settings.server_name; }
+    ]);
+
     systemd.services.mautrix-whatsapp = {
       description = "Mautrix-WhatsApp Service - A WhatsApp bridge for Matrix";
 
@@ -158,10 +164,11 @@ in {
       '';
 
       serviceConfig = {
-        DynamicUser = true;
+        User = "mautrix-whatsapp";
+        Group = "mautrix-whatsapp";
         EnvironmentFile = cfg.environmentFile;
         StateDirectory = baseNameOf dataDir;
-        WorkingDirectory = "${dataDir}";
+        WorkingDirectory = dataDir;
         ExecStart = ''
           ${pkgs.mautrix-whatsapp}/bin/mautrix-whatsapp \
           --config='${settingsFile}' \
diff --git a/nixos/modules/services/networking/jool.nix b/nixos/modules/services/networking/jool.nix
index 3aafbe40967..d2d2b0956e8 100644
--- a/nixos/modules/services/networking/jool.nix
+++ b/nixos/modules/services/networking/jool.nix
@@ -16,7 +16,7 @@ let
     TemporaryFileSystem = [ "/" ];
     BindReadOnlyPaths = [
       builtins.storeDir
-      "/run/current-system/kernel-modules"
+      "/run/booted-system/kernel-modules"
     ];
 
     # Give capabilities to load the module and configure it
@@ -31,26 +31,96 @@ let
 
   configFormat = pkgs.formats.json {};
 
-  mkDefaultAttrs = lib.mapAttrs (n: v: lib.mkDefault v);
+  # Generate the config file of instance `name`
+  nat64Conf = name:
+    configFormat.generate "jool-nat64-${name}.conf"
+      (cfg.nat64.${name} // { instance = name; });
+  siitConf = name:
+    configFormat.generate "jool-siit-${name}.conf"
+      (cfg.siit.${name} // { instance = name; });
+
+  # NAT64 config type
+  nat64Options = lib.types.submodule {
+    # The format is plain JSON
+    freeformType = configFormat.type;
+    # Some options with a default value
+    options.framework = lib.mkOption {
+      type = lib.types.enum [ "netfilter" "iptables" ];
+      default = "netfilter";
+      description = lib.mdDoc ''
+        The framework to use for attaching Jool's translation to the exist
+        kernel packet processing rules. See the
+        [documentation](https://nicmx.github.io/Jool/en/intro-jool.html#design)
+        for the differences between the two options.
+      '';
+    };
+    options.global.pool6 = lib.mkOption {
+      type = lib.types.strMatching "[[:xdigit:]:]+/[[:digit:]]+"
+        // { description = "Network prefix in CIDR notation"; };
+      default = "64:ff9b::/96";
+      description = lib.mdDoc ''
+        The prefix used for embedding IPv4 into IPv6 addresses.
+        Defaults to the well-known NAT64 prefix, defined by
+        [RFC 6052](https://datatracker.ietf.org/doc/html/rfc6052).
+      '';
+    };
+  };
 
-  defaultNat64 = {
-    instance = "default";
-    framework = "netfilter";
-    global.pool6 = "64:ff9b::/96";
+  # SIIT config type
+  siitOptions = lib.types.submodule {
+    # The format is, again, plain JSON
+    freeformType = configFormat.type;
+    # Some options with a default value
+    options = { inherit (nat64Options.getSubOptions []) framework; };
+  };
+
+  makeNat64Unit = name: opts: {
+    "jool-nat64-${name}" = {
+      description = "Jool, NAT64 setup of instance ${name}";
+      documentation = [ "https://nicmx.github.io/Jool/en/documentation.html" ];
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+        ExecStartPre = "${pkgs.kmod}/bin/modprobe jool";
+        ExecStart    = "${jool-cli}/bin/jool file handle ${nat64Conf name}";
+        ExecStop     = "${jool-cli}/bin/jool -f ${nat64Conf name} instance remove";
+      } // hardening;
+    };
   };
-  defaultSiit = {
-    instance = "default";
-    framework = "netfilter";
+
+  makeSiitUnit = name: opts: {
+    "jool-siit-${name}" = {
+      description = "Jool, SIIT setup of instance ${name}";
+      documentation = [ "https://nicmx.github.io/Jool/en/documentation.html" ];
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+        ExecStartPre = "${pkgs.kmod}/bin/modprobe jool_siit";
+        ExecStart    = "${jool-cli}/bin/jool_siit file handle ${siitConf name}";
+        ExecStop     = "${jool-cli}/bin/jool_siit -f ${siitConf name} instance remove";
+      } // hardening;
+    };
   };
 
-  nat64Conf = configFormat.generate "jool-nat64.conf" cfg.nat64.config;
-  siitConf  = configFormat.generate "jool-siit.conf" cfg.siit.config;
+  checkNat64 = name: _: ''
+    printf 'Validating Jool configuration for NAT64 instance "${name}"... '
+    jool file check ${nat64Conf name}
+    printf 'Ok.\n'; touch "$out"
+  '';
+
+  checkSiit = name: _: ''
+    printf 'Validating Jool configuration for SIIT instance "${name}"... '
+    jool_siit file check ${siitConf name}
+    printf 'Ok.\n'; touch "$out"
+  '';
 
 in
 
 {
-  ###### interface
-
   options = {
     networking.jool.enable = lib.mkOption {
       type = lib.types.bool;
@@ -64,157 +134,146 @@ in
         NAT64, analogous to the IPv4 NAPT. Refer to the upstream
         [documentation](https://nicmx.github.io/Jool/en/intro-xlat.html) for
         the supported modes of translation and how to configure them.
+
+        Enabling this option will install the Jool kernel module and the
+        command line tools for controlling it.
       '';
     };
 
-    networking.jool.nat64.enable = lib.mkEnableOption (lib.mdDoc "a NAT64 instance of Jool.");
-    networking.jool.nat64.config = lib.mkOption {
-      type = configFormat.type;
-      default = defaultNat64;
+    networking.jool.nat64 = lib.mkOption {
+      type = lib.types.attrsOf nat64Options;
+      default = { };
       example = lib.literalExpression ''
         {
-          # custom NAT64 prefix
-          global.pool6 = "2001:db8:64::/96";
-
-          # Port forwarding
-          bib = [
-            { # SSH 192.0.2.16 → 2001:db8:a::1
-              "protocol"     = "TCP";
-              "ipv4 address" = "192.0.2.16#22";
-              "ipv6 address" = "2001:db8:a::1#22";
-            }
-            { # DNS (TCP) 192.0.2.16 → 2001:db8:a::2
-              "protocol"     = "TCP";
-              "ipv4 address" = "192.0.2.16#53";
-              "ipv6 address" = "2001:db8:a::2#53";
-            }
-            { # DNS (UDP) 192.0.2.16 → 2001:db8:a::2
-              "protocol" = "UDP";
-              "ipv4 address" = "192.0.2.16#53";
-              "ipv6 address" = "2001:db8:a::2#53";
-            }
-          ];
-
-          pool4 = [
-            # Ports for dynamic translation
-            { protocol =  "TCP";  prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
-            { protocol =  "UDP";  prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
-            { protocol = "ICMP";  prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
-
-            # Ports for static BIB entries
-            { protocol =  "TCP";  prefix = "192.0.2.16/32"; "port range" = "22"; }
-            { protocol =  "UDP";  prefix = "192.0.2.16/32"; "port range" = "53"; }
-          ];
+          default = {
+            # custom NAT64 prefix
+            global.pool6 = "2001:db8:64::/96";
+
+            # Port forwarding
+            bib = [
+              { # SSH 192.0.2.16 → 2001:db8:a::1
+                "protocol"     = "TCP";
+                "ipv4 address" = "192.0.2.16#22";
+                "ipv6 address" = "2001:db8:a::1#22";
+              }
+              { # DNS (TCP) 192.0.2.16 → 2001:db8:a::2
+                "protocol"     = "TCP";
+                "ipv4 address" = "192.0.2.16#53";
+                "ipv6 address" = "2001:db8:a::2#53";
+              }
+              { # DNS (UDP) 192.0.2.16 → 2001:db8:a::2
+                "protocol" = "UDP";
+                "ipv4 address" = "192.0.2.16#53";
+                "ipv6 address" = "2001:db8:a::2#53";
+              }
+            ];
+
+            pool4 = [
+              # Port ranges for dynamic translation
+              { protocol =  "TCP";  prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
+              { protocol =  "UDP";  prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
+              { protocol = "ICMP";  prefix = "192.0.2.16/32"; "port range" = "40001-65535"; }
+
+              # Ports for static BIB entries
+              { protocol =  "TCP";  prefix = "192.0.2.16/32"; "port range" = "22"; }
+              { protocol =  "UDP";  prefix = "192.0.2.16/32"; "port range" = "53"; }
+            ];
+          };
         }
       '';
       description = lib.mdDoc ''
-        The configuration of a stateful NAT64 instance of Jool managed through
-        NixOS. See https://nicmx.github.io/Jool/en/config-atomic.html for the
-        available options.
+        Definitions of NAT64 instances of Jool.
+        See the
+        [documentation](https://nicmx.github.io/Jool/en/config-atomic.html) for
+        the available options. Also check out the
+        [tutorial](https://nicmx.github.io/Jool/en/run-nat64.html) for an
+        introduction to NAT64 and how to troubleshoot the setup.
+
+        The attribute name defines the name of the instance, with the main one
+        being `default`: this can be accessed from the command line without
+        specifying the name with `-i`.
 
         ::: {.note}
-        Existing or more instances created manually will not interfere with the
-        NixOS instance, provided the respective `pool4` addresses and port
-        ranges are not overlapping.
+        Instances created imperatively from the command line will not interfere
+        with the NixOS instances, provided the respective `pool4` addresses and
+        port ranges are not overlapping.
         :::
 
         ::: {.warning}
-        Changes to the NixOS instance performed via `jool instance nixos-nat64`
-        are applied correctly but will be lost after restarting
-        `jool-nat64.service`.
+        Changes to an instance performed via `jool -i <name>` are applied
+        correctly but will be lost after restarting the respective
+        `jool-nat64-<name>.service`.
         :::
       '';
     };
 
-    networking.jool.siit.enable = lib.mkEnableOption (lib.mdDoc "a SIIT instance of Jool.");
-    networking.jool.siit.config = lib.mkOption {
-      type = configFormat.type;
-      default = defaultSiit;
+    networking.jool.siit = lib.mkOption {
+      type = lib.types.attrsOf siitOptions;
+      default = { };
       example = lib.literalExpression ''
         {
-          # Maps any IPv4 address x.y.z.t to 2001:db8::x.y.z.t and v.v.
-          pool6 = "2001:db8::/96";
-
-          # Explicit address mappings
-          eamt = [
-            # 2001:db8:1:: ←→ 192.0.2.0
-            { "ipv6 prefix": "2001:db8:1::/128", "ipv4 prefix": "192.0.2.0" }
-            # 2001:db8:1::x ←→ 198.51.100.x
-            { "ipv6 prefix": "2001:db8:2::/120", "ipv4 prefix": "198.51.100.0/24" }
-          ]
+          default = {
+            # Maps any IPv4 address x.y.z.t to 2001:db8::x.y.z.t and v.v.
+            global.pool6 = "2001:db8::/96";
+
+            # Explicit address mappings
+            eamt = [
+              # 2001:db8:1:: ←→ 192.0.2.0
+              { "ipv6 prefix" = "2001:db8:1::/128"; "ipv4 prefix" = "192.0.2.0"; }
+              # 2001:db8:1::x ←→ 198.51.100.x
+              { "ipv6 prefix" = "2001:db8:2::/120"; "ipv4 prefix" = "198.51.100.0/24"; }
+            ];
+          };
         }
       '';
       description = lib.mdDoc ''
-        The configuration of a SIIT instance of Jool managed through
-        NixOS. See https://nicmx.github.io/Jool/en/config-atomic.html for the
-        available options.
+        Definitions of SIIT instances of Jool.
+        See the
+        [documentation](https://nicmx.github.io/Jool/en/config-atomic.html) for
+        the available options. Also check out the
+        [tutorial](https://nicmx.github.io/Jool/en/run-vanilla.html) for an
+        introduction to SIIT and how to troubleshoot the setup.
+
+        The attribute name defines the name of the instance, with the main one
+        being `default`: this can be accessed from the command line without
+        specifying the name with `-i`.
 
         ::: {.note}
-        Existing or more instances created manually will not interfere with the
-        NixOS instance, provided the respective `EAMT` address mappings are not
-        overlapping.
+        Instances created imperatively from the command line will not interfere
+        with the NixOS instances, provided the respective EAMT addresses and
+        port ranges are not overlapping.
         :::
 
         ::: {.warning}
-        Changes to the NixOS instance performed via `jool instance nixos-siit`
-        are applied correctly but will be lost after restarting
-        `jool-siit.service`.
+        Changes to an instance performed via `jool -i <name>` are applied
+        correctly but will be lost after restarting the respective
+        `jool-siit-<name>.service`.
         :::
       '';
     };
 
   };
 
-  ###### implementation
-
   config = lib.mkIf cfg.enable {
-    environment.systemPackages = [ jool-cli ];
+    # Install kernel module and cli tools
     boot.extraModulePackages = [ jool ];
+    environment.systemPackages = [ jool-cli ];
 
-    systemd.services.jool-nat64 = lib.mkIf cfg.nat64.enable {
-      description = "Jool, NAT64 setup";
-      documentation = [ "https://nicmx.github.io/Jool/en/documentation.html" ];
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-      reloadIfChanged = true;
-      serviceConfig = {
-        Type = "oneshot";
-        RemainAfterExit = true;
-        ExecStartPre = "${pkgs.kmod}/bin/modprobe jool";
-        ExecStart    = "${jool-cli}/bin/jool file handle ${nat64Conf}";
-        ExecStop     = "${jool-cli}/bin/jool -f ${nat64Conf} instance remove";
-      } // hardening;
-    };
-
-    systemd.services.jool-siit = lib.mkIf cfg.siit.enable {
-      description = "Jool, SIIT setup";
-      documentation = [ "https://nicmx.github.io/Jool/en/documentation.html" ];
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-      reloadIfChanged = true;
-      serviceConfig = {
-        Type = "oneshot";
-        RemainAfterExit = true;
-        ExecStartPre = "${pkgs.kmod}/bin/modprobe jool_siit";
-        ExecStart    = "${jool-cli}/bin/jool_siit file handle ${siitConf}";
-        ExecStop     = "${jool-cli}/bin/jool_siit -f ${siitConf} instance remove";
-      } // hardening;
-    };
-
-    system.checks = lib.singleton (pkgs.runCommand "jool-validated" {
-      nativeBuildInputs = [ pkgs.buildPackages.jool-cli ];
-      preferLocalBuild = true;
-    } ''
-      printf 'Validating Jool configuration... '
-      ${lib.optionalString cfg.siit.enable "jool_siit file check ${siitConf}"}
-      ${lib.optionalString cfg.nat64.enable "jool file check ${nat64Conf}"}
-      printf 'ok\n'
-      touch "$out"
-    '');
-
-    networking.jool.nat64.config = mkDefaultAttrs defaultNat64;
-    networking.jool.siit.config  = mkDefaultAttrs defaultSiit;
+    # Install services for each instance
+    systemd.services = lib.mkMerge
+      (lib.mapAttrsToList makeNat64Unit cfg.nat64 ++
+       lib.mapAttrsToList makeSiitUnit cfg.siit);
 
+    # Check the configuration of each instance
+    system.checks = lib.optional (cfg.nat64 != {} || cfg.siit != {})
+      (pkgs.runCommand "jool-validated"
+        {
+          nativeBuildInputs = with pkgs.buildPackages; [ jool-cli ];
+          preferLocalBuild = true;
+        }
+        (lib.concatStrings
+          (lib.mapAttrsToList checkNat64 cfg.nat64 ++
+           lib.mapAttrsToList checkSiit cfg.siit)));
   };
 
   meta.maintainers = with lib.maintainers; [ rnhmjoj ];
diff --git a/nixos/modules/services/x11/desktop-managers/budgie.nix b/nixos/modules/services/x11/desktop-managers/budgie.nix
index bee627ec76c..a4f8bd5051e 100644
--- a/nixos/modules/services/x11/desktop-managers/budgie.nix
+++ b/nixos/modules/services/x11/desktop-managers/budgie.nix
@@ -134,6 +134,7 @@ in {
         # Update user directories.
         xdg-user-dirs
       ]
+      ++ lib.optional config.networking.networkmanager.enable pkgs.networkmanagerapplet
       ++ (utils.removePackagesByName [
           cinnamon.nemo
           mate.eom
@@ -192,7 +193,7 @@ in {
     # Required by Budgie Panel plugins and/or Budgie Control Center panels.
     networking.networkmanager.enable = mkDefault true; # for BCC's Network panel.
     programs.nm-applet.enable = config.networking.networkmanager.enable; # Budgie has no Network applet.
-    programs.nm-applet.indicator = false; # Budgie doesn't support AppIndicators.
+    programs.nm-applet.indicator = true; # Budgie uses AppIndicators.
 
     hardware.bluetooth.enable = mkDefault true; # for Budgie's Status Indicator and BCC's Bluetooth panel.
     hardware.pulseaudio.enable = mkDefault true; # for Budgie's Status Indicator and BCC's Sound panel.
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 681f2430c12..e25552b7d63 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -395,7 +395,7 @@ in {
   jibri = handleTest ./jibri.nix {};
   jirafeau = handleTest ./jirafeau.nix {};
   jitsi-meet = handleTest ./jitsi-meet.nix {};
-  jool = handleTest ./jool.nix {};
+  jool = import ./jool.nix { inherit pkgs runTest; };
   k3s = handleTest ./k3s {};
   kafka = handleTest ./kafka.nix {};
   kanidm = handleTest ./kanidm.nix {};
diff --git a/nixos/tests/custom-ca.nix b/nixos/tests/custom-ca.nix
index 25a7b6fdea4..0fcdf81022d 100644
--- a/nixos/tests/custom-ca.nix
+++ b/nixos/tests/custom-ca.nix
@@ -131,8 +131,8 @@ let
         # chromium-based browsers refuse to run as root
         test-support.displayManager.auto.user = "alice";
 
-        # browsers may hang with the default memory
-        virtualisation.memorySize = 600;
+        # machine often runs out of memory with less
+        virtualisation.memorySize = 1024;
 
         environment.systemPackages = [ pkgs.xdotool pkgs.${browser} ];
       };
diff --git a/nixos/tests/jool.nix b/nixos/tests/jool.nix
index 6d5ded9b18e..93575f07b1c 100644
--- a/nixos/tests/jool.nix
+++ b/nixos/tests/jool.nix
@@ -1,9 +1,4 @@
-{ system ? builtins.currentSystem,
-  config ? {},
-  pkgs ? import ../.. { inherit system config; }
-}:
-
-with import ../lib/testing-python.nix { inherit system pkgs; };
+{ pkgs, runTest }:
 
 let
   inherit (pkgs) lib;
@@ -23,7 +18,6 @@ let
       description = "Mock webserver";
       wants = [ "network-online.target" ];
       wantedBy = [ "multi-user.target" ];
-      serviceConfig.Restart = "always";
       script = ''
         while true; do
         {
@@ -40,7 +34,7 @@ let
 in
 
 {
-  siit = makeTest {
+  siit = runTest {
     # This test simulates the setup described in [1] with two IPv6 and
     # IPv4-only devices on different subnets communicating through a border
     # relay running Jool in SIIT mode.
@@ -49,8 +43,7 @@ in
     meta.maintainers = with lib.maintainers; [ rnhmjoj ];
 
     # Border relay
-    nodes.relay = { ... }: {
-      imports = [ ../modules/profiles/minimal.nix ];
+    nodes.relay = {
       virtualisation.vlans = [ 1 2 ];
 
       # Enable packet routing
@@ -65,20 +58,13 @@ in
         eth2.ipv4.addresses = [ { address = "192.0.2.1";  prefixLength = 24; } ];
       };
 
-      networking.jool = {
-        enable = true;
-        siit.enable = true;
-        siit.config.global.pool6 = "fd::/96";
-      };
+      networking.jool.enable = true;
+      networking.jool.siit.default.global.pool6 = "fd::/96";
     };
 
     # IPv6 only node
-    nodes.alice = { ... }: {
-      imports = [
-        ../modules/profiles/minimal.nix
-        ipv6Only
-        (webserver 6 "Hello, Bob!")
-      ];
+    nodes.alice = {
+      imports = [ ipv6Only (webserver 6 "Hello, Bob!") ];
 
       virtualisation.vlans = [ 1 ];
       networking.interfaces.eth1.ipv6 = {
@@ -89,12 +75,8 @@ in
     };
 
     # IPv4 only node
-    nodes.bob = { ... }: {
-      imports = [
-        ../modules/profiles/minimal.nix
-        ipv4Only
-        (webserver 4 "Hello, Alice!")
-      ];
+    nodes.bob = {
+      imports = [ ipv4Only (webserver 4 "Hello, Alice!") ];
 
       virtualisation.vlans = [ 2 ];
       networking.interfaces.eth1.ipv4 = {
@@ -107,17 +89,17 @@ in
     testScript = ''
       start_all()
 
-      relay.wait_for_unit("jool-siit.service")
+      relay.wait_for_unit("jool-siit-default.service")
       alice.wait_for_unit("network-addresses-eth1.service")
       bob.wait_for_unit("network-addresses-eth1.service")
 
       with subtest("Alice and Bob can't ping each other"):
-        relay.systemctl("stop jool-siit.service")
+        relay.systemctl("stop jool-siit-default.service")
         alice.fail("ping -c1 fd::192.0.2.16")
         bob.fail("ping -c1 198.51.100.8")
 
       with subtest("Alice and Bob can ping using the relay"):
-        relay.systemctl("start jool-siit.service")
+        relay.systemctl("start jool-siit-default.service")
         alice.wait_until_succeeds("ping -c1 fd::192.0.2.16")
         bob.wait_until_succeeds("ping -c1 198.51.100.8")
 
@@ -132,7 +114,7 @@ in
     '';
   };
 
-  nat64 = makeTest {
+  nat64 = runTest {
     # This test simulates the setup described in [1] with two IPv6-only nodes
     # (a client and a homeserver) on the LAN subnet and an IPv4 node on the WAN.
     # The router runs Jool in stateful NAT64 mode, masquarading the LAN and
@@ -142,8 +124,7 @@ in
     meta.maintainers = with lib.maintainers; [ rnhmjoj ];
 
     # Router
-    nodes.router = { ... }: {
-      imports = [ ../modules/profiles/minimal.nix ];
+    nodes.router = {
       virtualisation.vlans = [ 1 2 ];
 
       # Enable packet routing
@@ -158,32 +139,29 @@ in
         eth2.ipv4.addresses = [ { address = "203.0.113.1"; prefixLength = 24; } ];
       };
 
-      networking.jool = {
-        enable = true;
-        nat64.enable = true;
-        nat64.config = {
-          bib = [
-            { # forward HTTP 203.0.113.1 (router) → 2001:db8::9 (homeserver)
-              "protocol"     = "TCP";
-              "ipv4 address" = "203.0.113.1#80";
-              "ipv6 address" = "2001:db8::9#80";
-            }
-          ];
-          pool4 = [
-            # Ports for dynamic translation
-            { protocol =  "TCP";  prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
-            { protocol =  "UDP";  prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
-            { protocol = "ICMP";  prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
-            # Ports for static BIB entries
-            { protocol =  "TCP";  prefix = "203.0.113.1/32"; "port range" = "80"; }
-          ];
-        };
+      networking.jool.enable = true;
+      networking.jool.nat64.default = {
+        bib = [
+          { # forward HTTP 203.0.113.1 (router) → 2001:db8::9 (homeserver)
+            "protocol"     = "TCP";
+            "ipv4 address" = "203.0.113.1#80";
+            "ipv6 address" = "2001:db8::9#80";
+          }
+        ];
+        pool4 = [
+          # Ports for dynamic translation
+          { protocol =  "TCP";  prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
+          { protocol =  "UDP";  prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
+          { protocol = "ICMP";  prefix = "203.0.113.1/32"; "port range" = "40001-65535"; }
+          # Ports for static BIB entries
+          { protocol =  "TCP";  prefix = "203.0.113.1/32"; "port range" = "80"; }
+        ];
       };
     };
 
     # LAN client (IPv6 only)
-    nodes.client = { ... }: {
-      imports = [ ../modules/profiles/minimal.nix ipv6Only ];
+    nodes.client = {
+      imports = [ ipv6Only ];
       virtualisation.vlans = [ 1 ];
 
       networking.interfaces.eth1.ipv6 = {
@@ -194,12 +172,8 @@ in
     };
 
     # LAN server (IPv6 only)
-    nodes.homeserver = { ... }: {
-      imports = [
-        ../modules/profiles/minimal.nix
-        ipv6Only
-        (webserver 6 "Hello from IPv6!")
-      ];
+    nodes.homeserver = {
+      imports = [ ipv6Only (webserver 6 "Hello from IPv6!") ];
 
       virtualisation.vlans = [ 1 ];
       networking.interfaces.eth1.ipv6 = {
@@ -210,12 +184,8 @@ in
     };
 
     # WAN server (IPv4 only)
-    nodes.server = { ... }: {
-      imports = [
-        ../modules/profiles/minimal.nix
-        ipv4Only
-        (webserver 4 "Hello from IPv4!")
-      ];
+    nodes.server = {
+      imports = [ ipv4Only (webserver 4 "Hello from IPv4!") ];
 
       virtualisation.vlans = [ 2 ];
       networking.interfaces.eth1.ipv4.addresses =
@@ -229,7 +199,7 @@ in
         node.wait_for_unit("network-addresses-eth1.service")
 
       with subtest("Client can ping the WAN server"):
-        router.wait_for_unit("jool-nat64.service")
+        router.wait_for_unit("jool-nat64-default.service")
         client.succeed("ping -c1 64:ff9b::203.0.113.16")
 
       with subtest("Client can connect to the WAN webserver"):
diff --git a/pkgs/applications/audio/hydrogen/0.nix b/pkgs/applications/audio/hydrogen/0.nix
deleted file mode 100644
index aa182165786..00000000000
--- a/pkgs/applications/audio/hydrogen/0.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, pkg-config
-, cmake
-, alsa-lib
-, boost
-, glib
-, lash
-, libjack2
-, libarchive
-, libsndfile
-, lrdf
-, qt4
-}:
-
-stdenv.mkDerivation rec {
-  version = "0.9.7";
-  pname = "hydrogen";
-
-  src = fetchFromGitHub {
-    owner = "hydrogen-music";
-    repo = "hydrogen";
-    rev = version;
-    sha256 = "sha256-6ycNUcumtAEl/6XbIpW6JglGv4nNOdMrOJ1nvJg3z/c=";
-  };
-
-  nativeBuildInputs = [ pkg-config cmake ];
-  buildInputs = [
-    alsa-lib
-    boost
-    glib
-    lash
-    libjack2
-    libarchive
-    libsndfile
-    lrdf
-    qt4
-  ];
-
-  meta = with lib; {
-    description = "Advanced drum machine";
-    homepage = "http://www.hydrogen-music.org";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu ];
-  };
-}
diff --git a/pkgs/applications/audio/qmidiroute/default.nix b/pkgs/applications/audio/qmidiroute/default.nix
deleted file mode 100644
index 35aea5bd086..00000000000
--- a/pkgs/applications/audio/qmidiroute/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, qt4, alsa-lib }:
-
-stdenv.mkDerivation rec {
-  version = "0.4.0";
-  pname = "qmidiroute";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/project/alsamodular/QMidiRoute/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0vmjwarsxr5540rafhmdcc62yarf0w2l05bjjl9s28zzr5m39z3n";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ qt4 alsa-lib ];
-
-  meta = with lib; {
-    description = "MIDI event processor and router";
-    longDescription = ''
-    qmidiroute is a versatile MIDI event processor and router for the ALSA
-    sequencer.  The graphical  interface  is  based  on  the  Qt4  toolkit.
-    qmidiroute permits setting up an unlimited number of MIDI maps in which
-    incoming events are selected, modified or even changed in  type  before
-    being  directed  to  a  dedicated  ALSA  output  port. The maps work in
-    parallel, and they are organized in tabs.
-    '';
-
-    license = licenses.gpl2;
-    maintainers = [ maintainers.lebastr ];
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/audio/qtscrobbler/default.nix b/pkgs/applications/audio/qtscrobbler/default.nix
deleted file mode 100644
index 081b0c92889..00000000000
--- a/pkgs/applications/audio/qtscrobbler/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, lib, fetchurl, withMtp ? true, libmtp, pkg-config, which, qt4, qmake4Hook }:
-
-stdenv.mkDerivation rec {
-  pname = "qtscrobbler";
-  version = "0.11";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/qtscrob/qtscrob/${version}/qtscrob-${version}.tar.bz2";
-    sha256 = "01c8e48f616ed09504833d27d92fd62f455bd645ea2d1cc2a5f4c287d641daba";
-  };
-
-  nativeBuildInputs = [ qmake4Hook ] ++ lib.optionals withMtp [ pkg-config which ];
-  buildInputs = [ qt4 ] ++ lib.optional withMtp libmtp;
-
-  enableParallelBuilding = true;
-
-  postPatch = ''
-    cd src
-    sed -i -e "s,/usr/local,$out," -e "s,/usr,," common.pri
-  '';
-
-  meta = with lib; {
-    description = "Qt based last.fm scrobbler";
-    longDescription = ''
-      QTScrobbler is a tool to upload information about the tracks you have played from your Digital Audio Player (DAP) to your last.fm account.
-      It is able to gather this information from Apple iPods or DAPs running the Rockbox replacement firmware.
-    '';
-
-    homepage = "https://qtscrob.sourceforge.net";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vanzef ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/audio/soundscape-renderer/default.nix b/pkgs/applications/audio/soundscape-renderer/default.nix
deleted file mode 100644
index 7a6399ff3c6..00000000000
--- a/pkgs/applications/audio/soundscape-renderer/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, autoreconfHook
-, help2man
-, pkg-config
-, libsndfile
-, fftwFloat
-, libjack2
-, libxml2
-, qt4
-, boost
-, ecasound
-, glibcLocales
-, libGLU
-, libGL # Needed because help2man basically does a ./ssr-binaural  --help and ssr-binaural needs libGL
-}:
-
-stdenv.mkDerivation {
-  pname = "soundscape-renderer";
-  version = "unstable-2016-11-03";
-
-  src = fetchFromGitHub {
-    owner = "SoundScapeRenderer";
-    repo = "ssr";
-    rev = "0dd0136dd24e47b63d8a4e05de467f5c7b047ec9";
-    sha256 = "sha256-9s+Elaxz9kX+Nle1CqBU/9r0hdI4dhsJ6GrNqvP5HIs=";
-  };
-
-  # Without it doesn't find all of the boost libraries.
-  BOOST_LIB_DIR = "${boost}/lib";
-  # uses the deprecated get_generic_category() in boost_system
-  env.NIX_CFLAGS_COMPILE = "-DBOOST_SYSTEM_ENABLE_DEPRECATED=1";
-
-  LC_ALL = "en_US.UTF-8";
-
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ boost boost.dev ecasound libGLU libGL help2man libsndfile fftwFloat libjack2 libxml2 qt4 glibcLocales ];
-
-  # 1) Fix detecting version. https://github.com/SoundScapeRenderer/ssr/pull/53
-  # 2) Make it find ecasound headers
-  # 3) Fix locale for help2man
-  prePatch = ''
-    substituteInPlace configure.ac --replace 'git describe ||' 'git describe 2> /dev/null ||';
-    substituteInPlace configure.ac --replace '/{usr,opt}/{,local/}' '${ecasound}/'
-    substituteInPlace man/Makefile.am --replace '--locale=en' '--locale=en_US.UTF-8'
-  '';
-
-  meta = {
-    homepage = "http://spatialaudio.net/ssr/";
-    description = "The SoundScape Renderer (SSR) is a tool for real-time spatial audio reproduction";
-    license = lib.licenses.gpl3;
-    maintainers = [ lib.maintainers.fridh ];
-  };
-
-}
diff --git a/pkgs/applications/blockchains/namecoin/default.nix b/pkgs/applications/blockchains/namecoin/default.nix
index a9d6303e485..4cf298c1785 100644
--- a/pkgs/applications/blockchains/namecoin/default.nix
+++ b/pkgs/applications/blockchains/namecoin/default.nix
@@ -1,8 +1,7 @@
-{ lib, stdenv, fetchFromGitHub, openssl, boost, libevent, autoreconfHook, db4, miniupnpc, eject, pkg-config, qt4, protobuf, qrencode, hexdump
-, withGui }:
+{ lib, stdenv, fetchFromGitHub, openssl, boost, libevent, autoreconfHook, db4, miniupnpc, eject, pkg-config, hexdump }:
 
 stdenv.mkDerivation rec {
-  pname = "namecoin" + lib.optionalString (!withGui) "d";
+  pname = "namecoind";
   version = "25.0";
 
   src = fetchFromGitHub {
@@ -25,10 +24,6 @@ stdenv.mkDerivation rec {
     db4
     miniupnpc
     eject
-  ] ++ lib.optionals withGui [
-    qt4
-    protobuf
-    qrencode
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/texmacs/darwin.nix b/pkgs/applications/editors/texmacs/darwin.nix
deleted file mode 100644
index 8c74d8c5c8f..00000000000
--- a/pkgs/applications/editors/texmacs/darwin.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ lib, stdenv, callPackage, fetchurl,
-  guile_1_8, qt4, zlib, freetype, CoreFoundation, Cocoa, gettext, libiconv, ghostscript,
-  tex ? null,
-  aspell ? null,
-  netpbm ? null,
-  imagemagick ? null,
-  extraFonts ? false,
-  chineseFonts ? false,
-  japaneseFonts ? false,
-  koreanFonts ? false }:
-let
-  version = "1.99.4";
-  common = callPackage ./common.nix {
-    inherit tex extraFonts chineseFonts japaneseFonts koreanFonts;
-  };
-in
-stdenv.mkDerivation {
-  pname = "TeXmacs";
-  inherit version;
-
-  src= fetchurl {
-    url = "http://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz";
-    sha256 = "1z8sj0xd1ncbl7ipzfsib6lmc7ahgvmiw61ln5zxm2l88jf7qc1a";
-  };
-
-  patches = [ ./darwin.patch ];
-
-  buildInputs = [ guile_1_8.dev qt4 freetype CoreFoundation Cocoa gettext libiconv ghostscript ];
-
-  GUILE_CPPFLAGS="-D_THREAD_SAFE -I${guile_1_8.dev}/include -I${guile_1_8.dev}/include/guile ";
-
-  NIX_LDFLAGS="${zlib}/lib/libz.dylib";
-
-  buildPhase = ''
-    substituteInPlace Makefile \
-      --replace 'find -d $(MACOS_PACKAGE_TEXMACS)' 'find $(MACOS_PACKAGE_TEXMACS) -depth' \
-      --replace '$(MACOS_PACKAGE_SRC)/bundle-libs.sh' 'true'
-    make MACOS_BUNDLE
-  '';
-
-  installPhase = ''
-    mkdir -p $out/Applications
-    cp -R ../distr/TeXmacs-${version}.app $out/Applications
-  '';
-
-  inherit (common) postPatch;
-
-  postInstall = "wrapProgram $out/Applications/TeXmacs-${version}/Contents/MacOS/TeXmacs --suffix PATH : " +
-    "${ghostscript}/bin:" +
-    (lib.optionalString (aspell != null) "${aspell}/bin:") +
-    (lib.optionalString (tex != null) "${tex}/bin:") +
-    (lib.optionalString (netpbm != null) "${lib.getBin netpbm}/bin:") +
-    (lib.optionalString (imagemagick != null) "${imagemagick}/bin:");
-
-  enableParallelBuilding = true;
-
-  meta = common.meta // {
-    platforms = lib.platforms.darwin;
-  };
-}
diff --git a/pkgs/applications/editors/texmacs/darwin.patch b/pkgs/applications/editors/texmacs/darwin.patch
deleted file mode 100644
index 2cb33fbbef3..00000000000
--- a/pkgs/applications/editors/texmacs/darwin.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -7461,7 +7461,7 @@ $as_echo "final adjustments for cygwin host" >&6; }
-     CONFIG_QTPIPES="yes"
-     CONFIG_CXXFLAGS="-I${prefix}/include"
-     CONFIG_BSHARED=""
--    CONFIG_BFLAGS="-framework Cocoa -framework IOKit"
-+    CONFIG_BFLAGS="-framework Cocoa -framework IOKit -framework CoreFoundation"
-     CONFIG_BPATH=""
-     CONFIG_SO="dylib"
-     CONFIG_LIB_PATH="DYLD_LIBRARY_PATH"
-@@ -8281,6 +8281,7 @@ _ASEOF
-   if $QMAKE ${additional_qmake_flags} ; then :; else
-     as_fn_error $? "Calling $QMAKE failed." "$LINENO" 5
-   fi
-+  echo "QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.10" >> $pro_file
-   # Try to compile a simple Qt app.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build a simple Qt app" >&5
- $as_echo_n "checking whether we can build a simple Qt app... " >&6; }
---- a/src/Plugins/Unix/unix_sys_utils.cpp
-+++ b/src/Plugins/Unix/unix_sys_utils.cpp
-@@ -17,6 +17,7 @@
- #include <spawn.h>
- #include <unistd.h>
- #include <sys/wait.h>
-+#include <pthread.h>
- 
- // for thread safe strings
- #include <string>
diff --git a/pkgs/applications/emulators/resim/default.nix b/pkgs/applications/emulators/resim/default.nix
deleted file mode 100644
index d69aafcec2b..00000000000
--- a/pkgs/applications/emulators/resim/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ fetchFromGitHub, lib, stdenv, cmake, qt4 }:
-
-stdenv.mkDerivation {
-  pname = "resim";
-  version = "unstable-2016-11-11";
-  src = fetchFromGitHub {
-    owner = "itszor";
-    repo = "resim";
-    rev = "cdc7808ceb7ba4ac00d0d08ca646b58615059150";
-    sha256 = "1743lngqxd7ai4k6cd4d1cf9h60z2pnvr2iynfs1zlpcj3w1hx0c";
-  };
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ qt4 ];
-  installPhase = ''
-    mkdir -pv $out/{lib,bin}
-    cp -v libresim/libarmsim.so $out/lib/libarmsim.so
-    cp -v vc4emul/vc4emul $out/bin/vc4emul
-  '';
-
-  cmakeFlags = [
-    # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/
-    "-DCMAKE_SKIP_BUILD_RPATH=ON"
-  ];
-
-  meta.license = lib.licenses.mit;
-}
diff --git a/pkgs/applications/graphics/animbar/default.nix b/pkgs/applications/graphics/animbar/default.nix
deleted file mode 100644
index dda734363eb..00000000000
--- a/pkgs/applications/graphics/animbar/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, lib, fetchurl, cmake, qt4, file }:
-
-stdenv.mkDerivation rec {
-  pname = "animbar";
-  version = "1.2";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "0836nwcpyfdrapyj3hbg3wh149ihc26pc78h01adpc7c0r7d9pr9";
-  };
-
-  nativeBuildInputs = [ cmake  ];
-
-  buildInputs = [ qt4 file ];
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/pixmaps
-    cp src/animbar $out/bin
-    cp ../icon/* $out/share/pixmaps
-  '';
-
-  meta = with lib; {
-    description = "Create your own animation on paper and transparancy";
-    longDescription = ''
-      Animbar lets you easily create your own animation on paper and
-      transparancy. From a set of input images two output images are
-      computed, that are printed one on paper and one on
-      transparency. By moving the transparency over the paper you
-      create a fascinating animation effect. This kind of animation
-      technique is hundreds of years old and known under several
-      names: picket fence animation, barrier grid animation, Moiré
-      animation, to name a few.
-    '';
-    homepage = "http://animbar.mnim.org";
-    maintainers = with maintainers; [ leenaars ];
-    platforms = platforms.linux;
-    license = licenses.gpl3;
-  };
-}
diff --git a/pkgs/applications/graphics/qscreenshot/default.nix b/pkgs/applications/graphics/qscreenshot/default.nix
index 6a47760082e..efbab2e04bb 100644
--- a/pkgs/applications/graphics/qscreenshot/default.nix
+++ b/pkgs/applications/graphics/qscreenshot/default.nix
@@ -1,23 +1,34 @@
-{ lib, stdenv, fetchurl, dos2unix, which, qt, Carbon }:
+{ stdenv
+, lib
+, fetchgit
+, dos2unix
+, qtbase
+, qttools
+, qtx11extras
+, wrapQtAppsHook
+, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "qscreenshot";
-  version = "1.0";
+  version = "unstable-2021-10-18";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/qscreenshot/qscreenshot-${version}-src.tar.gz";
-    sha256 = "1spj5fg2l8p5bk81xsv6hqn1kcrdiy54w19jsfb7g5i94vcb1pcx";
+  src = fetchgit {
+    url = "https://git.code.sf.net/p/qscreenshot/code";
+    rev = "e340f06ae2f1a92a353eaa68e103d1c840adc12d";
+    sha256 = "0mdiwn74vngiyazr3lq72f3jnv5zw8wyd2dw6rik6dbrvfs69jig";
   };
 
-  buildInputs = [ dos2unix which qt ]
-    ++ lib.optional stdenv.isDarwin Carbon;
-
-  # Remove carriage returns that cause /bin/sh to abort
-  preConfigure = ''
-    dos2unix configure
-    sed -i "s|lrelease-qt4|lrelease|" src/src.pro
-  '';
+  preConfigure = "cd qScreenshot";
 
+  nativeBuildInputs = [
+    cmake
+    qttools
+    wrapQtAppsHook
+  ];
+  buildInputs = [
+    qtbase
+    qtx11extras
+  ];
   meta = with lib; {
     description = "Simple creation and editing of screenshots";
     homepage = "https://sourceforge.net/projects/qscreenshot/";
diff --git a/pkgs/applications/graphics/scantailor/default.nix b/pkgs/applications/graphics/scantailor/default.nix
deleted file mode 100644
index 3e2037f6d45..00000000000
--- a/pkgs/applications/graphics/scantailor/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, qt4, cmake, libjpeg, libtiff, boost }:
-
-stdenv.mkDerivation rec {
-  pname = "scantailor";
-  version = "0.9.12.1";
-
-  src = fetchFromGitHub {
-    owner = "scantailor";
-    repo = "scantailor";
-    rev = "RELEASE_${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "sha256-Jn8+X737vwaE0ZPYdQv/1SocmWFA74XL90IW8yNiafA=";
-  };
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ qt4 libjpeg libtiff boost ];
-
-  meta = {
-    homepage = "https://scantailor.org/";
-    description = "Interactive post-processing tool for scanned pages";
-
-    license = lib.licenses.gpl3Plus;
-
-    maintainers = [ lib.maintainers.viric ];
-    platforms = lib.platforms.gnu ++ lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/misc/lutris/fhsenv.nix b/pkgs/applications/misc/lutris/fhsenv.nix
index ca93cf7bf2f..7f78b60f45b 100644
--- a/pkgs/applications/misc/lutris/fhsenv.nix
+++ b/pkgs/applications/misc/lutris/fhsenv.nix
@@ -51,7 +51,7 @@ in buildFHSEnv {
     fluidsynth hidapi mesa libdrm
 
     # MAME
-    qt48 fontconfig SDL2_ttf
+    fontconfig SDL2_ttf
 
     # Mednafen
     freeglut mesa_glu
@@ -65,9 +65,6 @@ in buildFHSEnv {
     # Mupen64Plus
     boost dash
 
-    # Osmose
-    qt4
-
     # Overwatch 2
     libunwind
 
diff --git a/pkgs/applications/misc/navipowm/default.nix b/pkgs/applications/misc/navipowm/default.nix
deleted file mode 100644
index 4ae3cdeebd0..00000000000
--- a/pkgs/applications/misc/navipowm/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, stdenv, fetchurl, qt4, qmake4Hook }:
-stdenv.mkDerivation rec {
-  pname = "navipowm";
-  version = "0.2.4";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/navipowm/NaviPOWM-${version}.tar.gz";
-    sha256 = "1kdih8kwpgcgfh6l6njkr9gq2j5hv39xvzmzgvhip553kn6bss7b";
-  };
-
-  preConfigure = ''
-    cd Qt/KDevelop
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/navipowm-${version}/Icons
-    cp bin/NaviPOWM $out/bin
-    cp ../../common/Config/navipowm.ini $out/share/navipowm-${version}
-    cp ../../common/Images/* $out/share/navipowm-${version}
-  '';
-
-  buildInputs = [ qt4 ];
-  nativeBuildInputs = [ qmake4Hook ];
-
-  meta = {
-    homepage = "https://navipowm.sourceforge.net/";
-    description = "Car navigation system";
-    license = lib.licenses.gpl2;
-    maintainers = with lib.maintainers; [ ];
-    platforms = with lib.platforms; linux;
-  };
-}
diff --git a/pkgs/applications/misc/qmetro/default.nix b/pkgs/applications/misc/qmetro/default.nix
deleted file mode 100644
index 2678f744f8e..00000000000
--- a/pkgs/applications/misc/qmetro/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchurl, qmake4Hook, unzip, qt4 }:
-
-stdenv.mkDerivation rec {
-  pname = "qmetro";
-  version = "0.7.1";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/qmetro/qmetro-${version}.zip";
-    sha256 = "1zdj87lzcr43gr2h05g17z31pd22n5kxdwbvx7rx656rmhv0sjq5";
-  };
-
-  nativeBuildInputs = [ qmake4Hook unzip ];
-
-  buildInputs = [ qt4 ];
-
-  postPatch = ''
-    sed -e 's#Exec=/usr/bin/qmetro#Exec=qmetro#' -i rc/qmetro.desktop
-    echo 'LIBS += -lz' >> qmetro.pro
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    homepage = "https://sourceforge.net/projects/qmetro/";
-    description = "Worldwide transit maps viewer";
-    license = licenses.gpl3;
-
-    maintainers = with maintainers; [ orivej ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/misc/sqliteman/default.nix b/pkgs/applications/misc/sqliteman/default.nix
deleted file mode 100644
index 556c635e60b..00000000000
--- a/pkgs/applications/misc/sqliteman/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, qt4, qscintilla-qt4 }:
-
-stdenv.mkDerivation rec {
-  pname = "sqliteman";
-  version = "1.2.0";
-
-  src = fetchFromGitHub {
-    repo = "sqliteman";
-    owner = "pvanek";
-    rev = version;
-    sha256 = "1blzyh1646955d580f71slgdvz0nqx0qacryx0jc9w02yrag17cs";
-  };
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ qt4 qscintilla-qt4 ];
-
-  prePatch = ''
-    sed -i 's,m_file(0),m_file(QString()),' Sqliteman/sqliteman/main.cpp
-  '';
-
-  preConfigure = ''
-    cd Sqliteman
-    sed -i 's,/usr/include/Qsci,${qscintilla-qt4}/include/Qsci,' cmake/modules/FindQScintilla.cmake
-    sed -i 's,PATHS ''${QT_LIBRARY_DIR},PATHS ${qscintilla-qt4}/libs,' cmake/modules/FindQScintilla.cmake
-  '';
-
-  meta = with lib; {
-    description = "A simple but powerful Sqlite3 GUI database manager";
-    homepage = "http://sqliteman.yarpen.cz/";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eikek ];
-  };
-}
diff --git a/pkgs/applications/misc/yate/default.nix b/pkgs/applications/misc/yate/default.nix
index 872592a0436..07857fbf5e9 100644
--- a/pkgs/applications/misc/yate/default.nix
+++ b/pkgs/applications/misc/yate/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lib, qt4, openssl, pkg-config }:
+{ stdenv, fetchurl, lib, openssl, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "yate";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   # TODO zaptel ? postgres ?
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ qt4 openssl ];
+  buildInputs = [ openssl ];
 
   # /dev/null is used when linking which is a impure path for the wrapper
   postPatch =
diff --git a/pkgs/applications/office/scribus/1_4.nix b/pkgs/applications/office/scribus/1_4.nix
deleted file mode 100644
index a6427d0f890..00000000000
--- a/pkgs/applications/office/scribus/1_4.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, freetype, lcms, libtiff, libxml2
-, libart_lgpl, qt4, python2, cups, fontconfig, libjpeg
-, zlib, libpng, xorg, cairo, podofo, hunspell, boost, cmake, imagemagick, ghostscript }:
-
-let
-  icon = fetchurl {
-    url = "https://gist.githubusercontent.com/ejpcmac/a74b762026c9bc4000be624c3d085517/raw/18edc497c5cb6fdeef1c8aede37a0ee68413f9d3/scribus-icon-centered.svg";
-    sha256 = "0hq3i7c2l50445an9glhhg47kj26y16svfajc6naqn307ph9vzc3";
-  };
-
-  pythonEnv = python2.withPackages(ps: [ps.tkinter ps.pillow]);
-in stdenv.mkDerivation rec {
-  pname = "scribus";
-  version = "1.4.8";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0bq433myw6h1siqlsakxv6ghb002rp3mfz5k12bg68s0k6skn992";
-  };
-
-  nativeBuildInputs = [ pkg-config cmake ];
-  buildInputs = with xorg;
-    [ freetype lcms libtiff libxml2 libart_lgpl qt4
-      pythonEnv cups fontconfig
-      libjpeg zlib libpng podofo hunspell cairo
-      boost # for internal 2geom library
-      libXaw libXext libX11 libXtst libXi libXinerama
-      libpthreadstubs libXau libXdmcp
-      imagemagick # To build the icon
-    ];
-
-  postPatch = ''
-    substituteInPlace scribus/util_ghostscript.cpp \
-      --replace 'QString gsName("gs");' \
-                'QString gsName("${ghostscript}/bin/gs");'
-  '';
-
-  postInstall = ''
-    for i in 16 24 48 64 96 128 256 512; do
-      mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps
-      convert -background none -resize ''${i}x''${i} ${icon} $out/share/icons/hicolor/''${i}x''${i}/apps/scribus.png
-    done
-  '';
-
-  meta = {
-    maintainers = [ lib.maintainers.marcweber ];
-    platforms = lib.platforms.linux;
-    description = "Desktop Publishing (DTP) and Layout program for Linux";
-    homepage = "https://www.scribus.net";
-    license = lib.licenses.gpl2;
-  };
-}
diff --git a/pkgs/applications/office/tagainijisho/default.nix b/pkgs/applications/office/tagainijisho/default.nix
index 7e171f7d702..55c84fd2a3d 100644
--- a/pkgs/applications/office/tagainijisho/default.nix
+++ b/pkgs/applications/office/tagainijisho/default.nix
@@ -1,5 +1,6 @@
-{ lib, mkDerivation, fetchzip, qtbase, qttools, cmake, sqlite }:
-mkDerivation rec {
+{ stdenv, lib, fetchzip, qtbase, qttools, cmake, sqlite, wrapQtAppsHook }:
+
+stdenv.mkDerivation rec {
   pname = "tagainijisho";
   version = "1.2.2";
 
@@ -8,8 +9,8 @@ mkDerivation rec {
     hash = "sha256-CTDMoYGbVE4W0SDerW//aAdUVsySWFQycSy0I3a9+94=";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ qtbase qttools sqlite ];
+  nativeBuildInputs = [ qttools cmake wrapQtAppsHook ];
+  buildInputs = [ qtbase sqlite ];
 
   cmakeFlags = [
     "-DEMBED_SQLITE=OFF"
diff --git a/pkgs/applications/science/chemistry/avogadro/default.nix b/pkgs/applications/science/chemistry/avogadro/default.nix
deleted file mode 100644
index 547123b6795..00000000000
--- a/pkgs/applications/science/chemistry/avogadro/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchurl, cmake, qt4, zlib, eigen, openbabel, pkg-config, libGLU, libGL, libX11, doxygen }:
-
-stdenv.mkDerivation rec {
-  pname = "avogadro";
-  version = "1.1.1";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/avogadro/avogadro-${version}.tar.bz2";
-    sha256 = "050ag9p4vg7jg8hj1wqfv7lsm6ar2isxjw2vw85s49vsl7g7nvzy";
-  };
-
-  buildInputs = [ qt4 eigen zlib openbabel libGL libGLU libX11 ];
-
-  nativeBuildInputs = [ cmake pkg-config doxygen ];
-
-  env.NIX_CFLAGS_COMPILE = "-include ${libGLU.dev}/include/GL/glu.h";
-
-  patches = [
-    (fetchurl {
-      url = "https://data.gpo.zugaina.org/fusion809/sci-chemistry/avogadro/files/avogadro-1.1.0-xlibs.patch";
-      sha256 = "1p113v19z3zwr9gxj2k599f8p97a8rwm93pa4amqvd0snn31mw0k";
-    })
-  ];
-
-  meta = with lib; {
-    description = "Molecule editor and visualizer";
-    maintainers = with maintainers; [ danielbarter ];
-    platforms = platforms.mesaPlatforms;
-  };
-}
diff --git a/pkgs/applications/science/electronics/flatcam/default.nix b/pkgs/applications/science/electronics/flatcam/default.nix
index 169130b4101..2235cf0b4a3 100644
--- a/pkgs/applications/science/electronics/flatcam/default.nix
+++ b/pkgs/applications/science/electronics/flatcam/default.nix
@@ -1,91 +1,98 @@
 { lib
-, stdenv
-, python3
-, fetchPypi
 , fetchFromBitbucket
-, fetchpatch
-, substituteAll
-, geos
+, buildPythonApplication
+, pyqt5
+, matplotlib
+, numpy
+, cycler
+, python-dateutil
+, kiwisolver
+, six
+, setuptools
+, dill
+, rtree
+, pyopengl
+, vispy
+, ortools
+, svg-path
+, simplejson
+, shapely
+, freetype-py
+, fonttools
+, rasterio
+, lxml
+, ezdxf
+, qrcode
+, reportlab
+, svglib
+, gdal
+, pyserial
+, python3
 }:
 
-let
-  python = python3.override {
-    packageOverrides = self: super: {
-      shapely = super.shapely.overridePythonAttrs (old: rec {
-        version = "1.8.4";
-
-        src = fetchPypi {
-          pname = "Shapely";
-          inherit version;
-          hash = "sha256-oZXlHKr6IYKR8suqP+9p/TNTyT7EtlsqRyLEz0DDGYw=";
-        };
-
-        # Environment variable used in shapely/_buildcfg.py
-        GEOS_LIBRARY_PATH = "${geos}/lib/libgeos_c${stdenv.hostPlatform.extensions.sharedLibrary}";
-
-        patches = [
-          # Patch to search form GOES .so/.dylib files in a Nix-aware way
-          (substituteAll {
-            src = ./shapely-library-paths.patch;
-            libgeos_c = GEOS_LIBRARY_PATH;
-            libc = lib.optionalString (!stdenv.isDarwin) "${stdenv.cc.libc}/lib/libc${stdenv.hostPlatform.extensions.sharedLibrary}.6";
-          })
-        ];
-
-        postPatch = ''
-          substituteInPlace pyproject.toml \
-            --replace 'setuptools<64' 'setuptools'
-        '';
-      });
-    };
-  };
-in
-python.pkgs.buildPythonApplication rec {
+buildPythonApplication rec {
   pname = "flatcam";
-  version = "8.5";
+  version = "unstable-2022-02-02";
 
   src = fetchFromBitbucket {
     owner = "jpcgt";
     repo = pname;
-    rev = "533afd6a1772857cb633c011b5e0a15b60b1e92e"; # 8.5 with Red Hat packaging.
-    sha256 = "199kiiml18k34z1zhk2hbhibphmnv0kb11kxiajq52alps0mjb3m";
+    rev = "ebf5cb9e3094362c4b0774a54cf119559c02211d"; # beta branch as of 2022-02-02
+    hash = "sha256-QKkBPEM+HVYmSZ83b4JRmOmCMp7C3EUqbJKPqUXMiKE=";
   };
 
-  propagatedBuildInputs = with python.pkgs; [
+  format = "other";
+
+  dontBuild = true;
+
+  propagatedBuildInputs = [
+    pyqt5
     matplotlib
     numpy
-    packaging
-    pyqt4
-    rtree
-    scipy
-    setuptools
-    shapely
-    simplejson
+    cycler
+    python-dateutil
+    kiwisolver
     six
+    setuptools
+    dill
+    rtree
+    pyopengl
+    vispy
+    ortools
     svg-path
+    simplejson
+    shapely
+    freetype-py
+    fonttools
+    rasterio
+    lxml
+    ezdxf
+    qrcode
+    reportlab
+    svglib
+    gdal
+    pyserial
   ];
 
-  packaging_fix_pull_request_patch = fetchpatch {
-    name = "packaging_fix_pull_request.patch";
-    url = "https://bitbucket.org/trepetti/flatcam/commits/5591ed889d1f48a5190fe237b562cb932cb5876c/raw";
-    sha256 = "19rhjdrf1n1q29cgpcry6pl2kl90zq0d613hhkwdir9bhq5bkknp";
-  };
+  preInstall = ''
+    patchShebangs .
 
-  patches = [
-    packaging_fix_pull_request_patch
-    ./release.patch
-  ];
+    sed -i "s|/usr/local/bin|$out/bin|" Makefile
 
-  postPatch = ''
-    substituteInPlace setup.py --replace "'shapely>=1.3'" "'shapely>=1.3',"
+    mkdir -p $out/share/{flatcam,applications}
+    mkdir -p $out/bin
   '';
 
-  # Only non-GUI tests can be run deterministically in the Nix build environment.
-  checkPhase = ''
-    python -m unittest tests.test_excellon
-    python -m unittest tests.test_gerber_buffer
-    python -m unittest tests.test_paint
-    python -m unittest tests.test_pathconnect
+  installFlags = [
+    "USER_ID=0"
+    "LOCAL_PATH=/build/source/."
+    "INSTALL_PATH=${placeholder "out"}/share/flatcam"
+    "APPS_PATH=${placeholder "out"}/share/applications"
+  ];
+
+  postInstall = ''
+    sed -i "s|python3|${python3.withPackages (_: propagatedBuildInputs)}/bin/python3|" $out/bin/flatcam-beta
+    mv $out/bin/flatcam{-beta,}
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/science/electronics/flatcam/release.patch b/pkgs/applications/science/electronics/flatcam/release.patch
deleted file mode 100644
index 945228e35ba..00000000000
--- a/pkgs/applications/science/electronics/flatcam/release.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/FlatCAMVersion.py b/FlatCAMVersion.py
-index ba9e04a5..2c64d5a6 100644
---- a/FlatCAMVersion.py
-+++ b/FlatCAMVersion.py
-@@ -16,7 +16,7 @@ version = {
-     "number": 8.5,
-     "date": (2016, 7, 1),  # Year, Month, Day
-     "name": None,
--    "release": False,
-+    "release": True,
- }
- 
- 
diff --git a/pkgs/applications/science/electronics/qfsm/default.nix b/pkgs/applications/science/electronics/qfsm/default.nix
deleted file mode 100644
index e22138997be..00000000000
--- a/pkgs/applications/science/electronics/qfsm/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, stdenv, fetchurl, qt4, cmake, graphviz, pkg-config }:
-
-stdenv.mkDerivation rec {
-  pname = "qfsm";
-  version = "0.54.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/qfsm/qfsm-${version}-Source.tar.bz2";
-    sha256 = "0rl7bc5cr29ng67yij4akciyid9z7npal812ys4c3m229vjvflrb";
-  };
-
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ qt4 graphviz ];
-
-  patches = [
-    ./drop-hardcoded-prefix.patch
-    ./gcc6-fixes.patch
-  ];
-
-  hardeningDisable = [ "format" ];
-
-  meta = {
-    description = "Graphical editor for finite state machines";
-    homepage = "https://qfsm.sourceforge.net/";
-    license = lib.licenses.gpl3Plus;
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/applications/science/electronics/qfsm/drop-hardcoded-prefix.patch b/pkgs/applications/science/electronics/qfsm/drop-hardcoded-prefix.patch
deleted file mode 100644
index 965d67ac552..00000000000
--- a/pkgs/applications/science/electronics/qfsm/drop-hardcoded-prefix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -ubrw qfsm-0.53.0-Source-orig/CMakeLists.txt qfsm-0.53.0-Source-new/CMakeLists.txt
---- qfsm-0.53.0-Source-orig/CMakeLists.txt	2012-11-11 20:13:01.935856229 +0100
-+++ qfsm-0.53.0-Source-new/CMakeLists.txt	2012-11-11 20:13:24.962930007 +0100
-@@ -406,10 +406,6 @@
- 
- 
- IF(UNIX AND NOT WIN32)
--  SET(CMAKE_INSTALL_PREFIX "/usr")
--ENDIF(UNIX AND NOT WIN32)
--
--IF(UNIX AND NOT WIN32)
-   ADD_DEFINITIONS(-DQFSM_LANGUAGE_DIR="${CMAKE_INSTALL_PREFIX}/share/qfsm/")
-   ADD_DEFINITIONS(-DQFSM_HELP_DIR="${CMAKE_INSTALL_PREFIX}/share/doc/qfsm/")
- ELSE(UNIX AND NOT WIN32)
-@@ -472,5 +468,3 @@
-     )
- 
- ENDIF(UNIX AND NOT WIN32)
--
--
diff --git a/pkgs/applications/science/electronics/qfsm/gcc6-fixes.patch b/pkgs/applications/science/electronics/qfsm/gcc6-fixes.patch
deleted file mode 100644
index 5cedc647639..00000000000
--- a/pkgs/applications/science/electronics/qfsm/gcc6-fixes.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- qfsm-0.54.0-Source-orig/src/FileIO.cpp	2015-01-02 19:01:46.000000000 +0100
-+++ qfsm-0.54.0-Source/src/FileIO.cpp	2017-09-11 19:53:30.579488402 +0200
-@@ -1617,7 +1617,7 @@
-   QString ext;
- 
-   if (!imp)
--    return FALSE;
-+    return NULL;
- 
-   Project* p=NULL;
-   importdlg->setAcceptMode(QFileDialog::AcceptOpen);
-@@ -1641,7 +1641,7 @@
-   ifstream fin(act_importfile);
- 
-   if (!fin)
--    return FALSE;
-+    return NULL;
- 
-   emit setWaitCursor();
- 
diff --git a/pkgs/applications/science/electronics/qucs/cmakelists.patch b/pkgs/applications/science/electronics/qucs/cmakelists.patch
deleted file mode 100644
index 27066f09c84..00000000000
--- a/pkgs/applications/science/electronics/qucs/cmakelists.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git i/qucs-core/CMakeLists.txt w/qucs-core/CMakeLists.txt
-index 2dbbd41..d174b50 100644
---- i/qucs-core/CMakeLists.txt
-+++ w/qucs-core/CMakeLists.txt
-@@ -158,26 +158,9 @@ ENDIF()
- 
- #
- # Need Bison
--#
--# This is a HACK to get arround a PATH issue with Qt Creator on OSX.
--# It seams impossible to pass a custom PATH to Qt Creator on OSX, ie, cannot prepend `/usr/local/bin/` for intance.
--# The FIND_PACKAGE fails. For now we provide a fallback with a custom FIND_PROGRAM. The variable BISON_DIR is also available.
--IF(WIN32)
--  FIND_PACKAGE(BISON 2.4 REQUIRED)
--  IF(BISON_FOUND)
--    #MESSAGE(STATUS "Found bison: ${BISON_EXECUTABLE} / Version: ${BISON_VERSION}" )
--  ENDIF()
--ELSE()  # Linux, OSX
--  # use -DBISON_DIR=/path/ to provide the path to bison
--  FIND_PROGRAM( BISON_EXECUTABLE bison
--    PATHS /usr/local/bin/ /opt/local/bin/ /usr/bin ${BISON_DIR}
--    DOC "bison path"
--    NO_DEFAULT_PATH )
--  IF(BISON_EXECUTABLE )
--    MESSAGE(STATUS "Found bison: " ${BISON_EXECUTABLE})
--  ELSE()
--	  MESSAGE(FATAL_ERROR "Unable to find bison. Try to provide -DBISON_DIR=[path]")
--  ENDIF()
-+FIND_PACKAGE(BISON 2.4 REQUIRED)
-+IF(BISON_FOUND)
-+  #MESSAGE(STATUS "Found bison: ${BISON_EXECUTABLE} / Version: ${BISON_VERSION}" )
- ENDIF()
- 
- #
diff --git a/pkgs/applications/science/electronics/qucs/default.nix b/pkgs/applications/science/electronics/qucs/default.nix
deleted file mode 100644
index eeb10b3a5a1..00000000000
--- a/pkgs/applications/science/electronics/qucs/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{lib, stdenv, fetchFromGitHub, flex, bison, qt4, libX11, cmake, gperf, adms }:
-
-stdenv.mkDerivation rec {
-  version = "0.0.19";
-  pname = "qucs";
-
-  src = fetchFromGitHub {
-    owner = "Qucs";
-    repo = "qucs";
-    rev = "qucs-${version}";
-    sha256 = "106h3kjyg7c0hkmzkin7h8fcl32n60835121b2qqih8ixi6r5id6";
-  };
-
-  QTDIR=qt4;
-
-  patches = [
-    ./cmakelists.patch
-  ];
-
-  nativeBuildInputs = [ cmake flex bison ];
-  buildInputs = [ qt4 libX11 gperf adms ];
-
-  meta = {
-    description = "Integrated circuit simulator";
-    homepage = "https://qucs.sourceforge.net";
-    license = lib.licenses.gpl2Plus;
-    maintainers = with lib.maintainers; [viric];
-    platforms = with lib.platforms; linux;
-  };
-}
diff --git a/pkgs/applications/science/logic/surelog/default.nix b/pkgs/applications/science/logic/surelog/default.nix
index 3b88ff3403e..d8c762de60c 100644
--- a/pkgs/applications/science/logic/surelog/default.nix
+++ b/pkgs/applications/science/logic/surelog/default.nix
@@ -10,19 +10,19 @@
 , gtest
 , uhdm
 , antlr4
-, flatbuffers
 , capnproto
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "surelog";
-  version = "1.57";
+  version = "1.73";
 
   src = fetchFromGitHub {
     owner = "chipsalliance";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-Gty0OSNG5Nonyw7v2KiKP51LhiugMY7uqI6aJ6as0SQ=";
+    repo = finalAttrs.pname;
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-z47Eqs3fP53pbEb3s66CqMiO4UpEwox+fKakxtRBakQ=";
+    fetchSubmodules = false;  # we use all dependencies from nix
   };
 
   nativeBuildInputs = [
@@ -40,14 +40,13 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libuuid
     gperftools
-    flatbuffers
     uhdm
     capnproto
     antlr4.runtime.cpp
   ];
 
   cmakeFlags = [
-    "-DSURELOG_USE_HOST_FLATBUFFERS=On"
+    "-DSURELOG_USE_HOST_CAPNP=On"
     "-DSURELOG_USE_HOST_UHDM=On"
     "-DSURELOG_USE_HOST_GTEST=On"
     "-DSURELOG_USE_HOST_ANTLR=On"
@@ -66,7 +65,8 @@ stdenv.mkDerivation rec {
     description = "SystemVerilog 2017 Pre-processor, Parser, Elaborator, UHDM Compiler";
     homepage = "https://github.com/chipsalliance/Surelog";
     license = lib.licenses.asl20;
+    mainProgram = "surelog";
     maintainers = with lib.maintainers; [ matthuszagh ];
     platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/applications/science/logic/uhdm/default.nix b/pkgs/applications/science/logic/uhdm/default.nix
index 2a667a8ac9d..c1acd79dcab 100644
--- a/pkgs/applications/science/logic/uhdm/default.nix
+++ b/pkgs/applications/science/logic/uhdm/default.nix
@@ -7,15 +7,16 @@
 , gtest
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "UHDM";
-  version = "1.57";
+  version = "1.73";
 
   src = fetchFromGitHub {
     owner = "chipsalliance";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-z3vURlKXCW5W2naVwJjBXcn94u80JsBxlUOIy9ylsJw=";
+    repo = finalAttrs.pname;
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-VmRn51UrJTGEG4n2fi5kRv8khXakfGbqMtYPejsZCBI=";
+    fetchSubmodules = false;  # we use all dependencies from nix
   };
 
   nativeBuildInputs = [
@@ -43,4 +44,4 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [ matthuszagh ];
     platforms = lib.platforms.all;
   };
-}
+})
diff --git a/pkgs/applications/science/medicine/aliza/default.nix b/pkgs/applications/science/medicine/aliza/default.nix
deleted file mode 100644
index b08acc77c64..00000000000
--- a/pkgs/applications/science/medicine/aliza/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ lib, stdenv, fetchurl, rpmextract, makeWrapper, patchelf, qt4, zlib, libX11, libXt, libSM, libICE, libXext, libGLU, libGL }:
-
-with lib;
-stdenv.mkDerivation {
-  pname = "aliza";
-  version = "1.98.57";
-  src = fetchurl {
-    # See https://www.aliza-dicom-viewer.com/download
-    urls = [
-      "https://drive.google.com/uc?export=download&id=1-AXa3tjy_onecW2k7ftjAQl0KGTb0B1Y"
-      "https://web.archive.org/web/20210327224315/https://doc-0s-0s-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/1lgjid9ti29rdf5ebmd7o58iqhs3gfpo/1616884950000/16072287944266838401/*/1-AXa3tjy_onecW2k7ftjAQl0KGTb0B1Y?e=download"
-    ];
-    sha256 = "01qk2gadmc24pmfdnmpiz7vgfiqkvhznyq9rsr153frscg76gc9b";
-    name = "aliza.rpm";
-  };
-
-  nativeBuildInputs = [ makeWrapper rpmextract ];
-
-  unpackCmd = "rpmextract $curSrc";
-
-  postPatch = ''
-    sed -i 's/^Exec.*$/Exec=aliza %F/' share/applications/aliza.desktop
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out
-    cp -r bin share $out
-
-    runHook postInstall
-  '';
-
-  postInstall = let
-    libs = lib.makeLibraryPath [ qt4 zlib stdenv.cc.cc libSM libICE libX11 libXext libXt libGLU libGL ];
-  in ''
-    ${patchelf}/bin/patchelf \
-      --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      $out/bin/aliza
-
-    ${patchelf}/bin/patchelf \
-      --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      $out/bin/aliza-vtkvol
-
-    wrapProgram $out/bin/aliza \
-      --prefix LD_LIBRARY_PATH : ${libs}
-
-    wrapProgram $out/bin/aliza-vtkvol \
-      --prefix LD_LIBRARY_PATH : ${libs}
-  '';
-
-  meta = {
-    description = "Medical imaging software with 2D, 3D and 4D capabilities";
-    homepage = "https://www.aliza-dicom-viewer.com";
-    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
-    license = licenses.unfreeRedistributable;
-    maintainers = with maintainers; [ mounium ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index 1f8a2d3b8d5..6dc630181be 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -2,7 +2,6 @@
 , lib
 , callPackage
 , fetchurl
-, fetchpatch
 , makeWrapper
 , cmake
 , coreutils
@@ -14,6 +13,7 @@
 , gnugrep
 , gnused
 , gsl
+, gtest
 , lapack
 , libX11
 , libXpm
@@ -23,7 +23,7 @@
 , libGL
 , libxcrypt
 , libxml2
-, llvm_9
+, llvm_13
 , lsof
 , lz4
 , xz
@@ -55,23 +55,9 @@
 , noSplash ? false
 }:
 
-let
-
-  _llvm_9 = llvm_9.overrideAttrs (prev: {
-    patches = (prev.patches or [ ]) ++ [
-      (fetchpatch {
-        url = "https://github.com/root-project/root/commit/a9c961cf4613ff1f0ea50f188e4a4b0eb749b17d.diff";
-        stripLen = 3;
-        hash = "sha256-LH2RipJICEDWOr7JzX5s0QiUhEwXNMFEJihYKy9qWpo=";
-      })
-    ];
-  });
-
-in
-
 stdenv.mkDerivation rec {
   pname = "root";
-  version = "6.26.10";
+  version = "6.28.06";
 
   passthru = {
     tests = import ./tests { inherit callPackage; };
@@ -79,7 +65,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
-    hash = "sha256-jla+w5cQQBeqVPnrVU3noaE0R0/gs7sPQ6cPxPq9Yl8=";
+    hash = "sha256-rztnO5rKOTpcmuG/huqyZyqvGEG2WMXG56MKuTxYZTM=";
   };
 
   nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
@@ -97,10 +83,11 @@ stdenv.mkDerivation rec {
     lapack
     libxcrypt
     libxml2
-    _llvm_9
+    llvm_13
     lz4
     xz
     gsl
+    gtest
     openblas
     openssl
     xxHash
@@ -122,27 +109,16 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./sw_vers.patch
-  ] ++ lib.optionals (python.pkgs.pythonAtLeast "3.11") [
-    # Fix build against Python 3.11
-    (fetchpatch {
-      url = "https://github.com/root-project/root/commit/484deb056dacf768aba4954073b41105c431bffc.patch";
-      hash = "sha256-4qur2e3SxMIPgOg4IjlvuULR2BObuP7xdvs+LmNT2/s=";
-    })
   ];
 
-  # Fix build against vanilla LLVM 9
-  postPatch = ''
-    sed \
-      -e '/#include "llvm.*RTDyldObjectLinkingLayer.h"/i#define private protected' \
-      -e '/#include "llvm.*RTDyldObjectLinkingLayer.h"/a#undef private' \
-      -i interpreter/cling/lib/Interpreter/IncrementalJIT.h
-  '';
-
   preConfigure = ''
     rm -rf builtins/*
     substituteInPlace cmake/modules/SearchInstalledSoftware.cmake \
       --replace 'set(lcgpackages ' '#set(lcgpackages '
 
+    substituteInPlace interpreter/llvm/src/tools/clang/tools/driver/CMakeLists.txt \
+      --replace 'add_clang_symlink(''${link} clang)' ""
+
     # Don't require textutil on macOS
     : > cmake/modules/RootCPack.cmake
 
@@ -167,6 +143,8 @@ stdenv.mkDerivation rec {
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
     "-Dbuiltin_llvm=OFF"
+    "-Dbuiltin_freetype=OFF"
+    "-Dbuiltin_gtest=OFF"
     "-Dbuiltin_nlohmannjson=OFF"
     "-Dbuiltin_openui5=OFF"
     "-Dalien=OFF"
@@ -240,23 +218,20 @@ stdenv.mkDerivation rec {
     # but it also need to support Bash-less POSIX shell like dash,
     # as they are mentioned in `thisroot.sh`.
 
-    # `thisroot.sh` would include commands `lsof` and `procps` since ROOT 6.28.
-    # See https://github.com/root-project/root/pull/10332
-
     patchRcPathPosix "$out/bin/thisroot.sh" "${lib.makeBinPath [
       coreutils # dirname tail
       gnugrep # grep
       gnused # sed
-      lsof # lsof # for ROOT (>=6.28)
+      lsof # lsof
       man # manpath
-      procps # ps # for ROOT (>=6.28)
+      procps # ps
       which # which
     ]}"
     patchRcPathCsh "$out/bin/thisroot.csh" "${lib.makeBinPath [
       coreutils
       gnugrep
       gnused
-      lsof # lsof # for ROOT (>=6.28)
+      lsof # lsof
       man
       which
     ]}"
diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix
index 7d284d5eebb..c748b6d1bd3 100644
--- a/pkgs/applications/science/misc/vite/default.nix
+++ b/pkgs/applications/science/misc/vite/default.nix
@@ -1,33 +1,19 @@
-{ fetchsvn, lib, stdenv, cmake, qt4, libGLU, libGL }:
+{ stdenv, fetchFromGitLab, lib, cmake, qtbase, qttools, qtcharts, libGLU, libGL, glm, glew, wrapQtAppsHook }:
 
-# ViTE 1.1 has several bugs, so use the SVN version.
-let
-  rev = "1543";
-  externals = fetchsvn {
-    url = "svn://scm.gforge.inria.fr/svn/vite/externals";
-    sha256 = "1a422n3dp72v4visq5b1i21cf8sj12903sgg5v2hah3sgk02dnyz";
-    inherit rev;
-  };
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "vite";
-  version = "1.2pre${rev}";
-
-  src = fetchsvn {
-    url = "svn://scm.gforge.inria.fr/svn/vite/trunk";
-    sha256 = "02479dv96h29d0w0svp42mjjrxhmv8lkkqp30w7mlx5gr2g0v7lf";
-    inherit rev;
+  version = "unstable-2022-05-17";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.inria.fr";
+    owner = "solverstack";
+    repo = pname;
+    rev = "6d497cc519fac623e595bd174e392939c4de845c";
+    hash = "sha256-Yf2jYALZplIXzVtd/sg6gzEYrZ+oU0zLG1ETd/hiTi0=";
   };
 
-  preConfigure = ''
-    rm -rv externals
-    ln -sv "${externals}" externals
-  '';
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ qt4 libGLU libGL ];
-
-  NIX_LDFLAGS = "-lGLU";
+  nativeBuildInputs = [ cmake qttools wrapQtAppsHook ];
+  buildInputs = [ qtbase qtcharts libGLU libGL glm glew ];
 
   meta = {
     description = "Visual Trace Explorer (ViTE), a tool to visualize execution traces";
diff --git a/pkgs/applications/system/asusctl/Cargo.lock b/pkgs/applications/system/asusctl/Cargo.lock
index 6377a21c708..573daf88941 100644
--- a/pkgs/applications/system/asusctl/Cargo.lock
+++ b/pkgs/applications/system/asusctl/Cargo.lock
@@ -89,9 +89,9 @@ dependencies = [
 
 [[package]]
 name = "addr2line"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
 dependencies = [
  "gimli",
 ]
@@ -115,18 +115,18 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.2"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "android-activity"
-version = "0.4.2"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40bc1575e653f158cbdc6ebcd917b9564e66321c5325c232c3591269c257be69"
+checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0"
 dependencies = [
  "android-properties",
  "bitflags 1.3.2",
@@ -163,9 +163,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.72"
+version = "1.0.75"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
 
 [[package]]
 name = "arboard"
@@ -199,7 +199,7 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
 name = "asusctl"
-version = "4.7.0-RC3"
+version = "4.7.1"
 dependencies = [
  "asusd",
  "cargo-husky",
@@ -218,7 +218,7 @@ dependencies = [
 
 [[package]]
 name = "asusd"
-version = "4.7.0-RC3"
+version = "4.7.1"
 dependencies = [
  "async-trait",
  "cargo-husky",
@@ -242,7 +242,7 @@ dependencies = [
 
 [[package]]
 name = "asusd-user"
-version = "4.7.0-RC3"
+version = "4.7.1"
 dependencies = [
  "cargo-husky",
  "config-traits",
@@ -323,15 +323,15 @@ dependencies = [
  "polling",
  "rustix 0.37.23",
  "slab",
- "socket2",
+ "socket2 0.4.9",
  "waker-fn",
 ]
 
 [[package]]
 name = "async-lock"
-version = "2.7.0"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
+checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
 dependencies = [
  "event-listener",
 ]
@@ -374,7 +374,7 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.27",
+ "syn 2.0.29",
 ]
 
 [[package]]
@@ -385,13 +385,13 @@ checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
 
 [[package]]
 name = "async-trait"
-version = "0.1.72"
+version = "0.1.73"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
+checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.27",
+ "syn 2.0.29",
 ]
 
 [[package]]
@@ -426,9 +426,9 @@ checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3"
 
 [[package]]
 name = "atomic_refcell"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79d6dc922a2792b006573f60b2648076355daeae5ce9cb59507e5908c9625d31"
+checksum = "112ef6b3f6cb3cb6fc5b6b494ef7a848492cff1ab0ef4de10b0f7d572861c905"
 
 [[package]]
 name = "atspi"
@@ -471,9 +471,9 @@ checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973"
 
 [[package]]
 name = "backtrace"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
 dependencies = [
  "addr2line",
  "cc",
@@ -486,9 +486,9 @@ dependencies = [
 
 [[package]]
 name = "base64"
-version = "0.13.1"
+version = "0.21.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
 
 [[package]]
 name = "bindgen"
@@ -518,9 +518,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.3.3"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+dependencies = [
+ "serde",
+]
 
 [[package]]
 name = "block"
@@ -594,7 +597,7 @@ checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.27",
+ "syn 2.0.29",
 ]
 
 [[package]]
@@ -656,11 +659,12 @@ checksum = "7b02b629252fe8ef6460461409564e2c21d0c8e77e0944f3d189ff06c4e932ad"
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -680,9 +684,9 @@ dependencies = [
 
 [[package]]
 name = "cfg-expr"
-version = "0.15.3"
+version = "0.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c"
+checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9"
 dependencies = [
  "smallvec",
  "target-lexicon",
@@ -767,7 +771,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f76990911f2267d837d9d0ad060aa63aaad170af40904b29461734c339030d4d"
 dependencies = [
  "quote",
- "syn 2.0.27",
+ "syn 2.0.29",
 ]
 
 [[package]]
@@ -781,7 +785,7 @@ dependencies = [
 
 [[package]]
 name = "config-traits"
-version = "4.7.0-RC3"
+version = "4.7.1"
 dependencies = [
  "cargo-husky",
  "log",
@@ -870,6 +874,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "deranged"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+
+[[package]]
 name = "derivative"
 version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1079,7 +1089,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.27",
+ "syn 2.0.29",
 ]
 
 [[package]]
@@ -1119,9 +1129,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
 dependencies = [
  "errno-dragonfly",
  "libc",
@@ -1190,9 +1200,9 @@ dependencies = [
 
 [[package]]
 name = "flate2"
-version = "1.0.26"
+version = "1.0.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
+checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
 dependencies = [
  "crc32fast",
  "miniz_oxide 0.7.1",
@@ -1286,7 +1296,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.27",
+ "syn 2.0.29",
 ]
 
 [[package]]
@@ -1420,9 +1430,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.27.3"
+version = "0.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
+checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
 
 [[package]]
 name = "gio"
@@ -1544,9 +1554,9 @@ dependencies = [
 
 [[package]]
 name = "glutin"
-version = "0.30.9"
+version = "0.30.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23b0385782048be65f0a9dd046c469d6a758a53fe1aa63a8111dea394d2ffa2f"
+checksum = "8fc93b03242719b8ad39fb26ed2b01737144ce7bd4bfc7adadcef806596760fe"
 dependencies = [
  "bitflags 1.3.2",
  "cfg_aliases",
@@ -1579,9 +1589,9 @@ dependencies = [
 
 [[package]]
 name = "glutin_egl_sys"
-version = "0.5.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b3bcbddc51573b977fc6dca5d93867e4f29682cdbaf5d13e48f4fa4346d4d87"
+checksum = "af784eb26c5a68ec85391268e074f0aa618c096eadb5d6330b0911cf34fe57c5"
 dependencies = [
  "gl_generator",
  "windows-sys 0.45.0",
@@ -1776,9 +1786,9 @@ dependencies = [
 
 [[package]]
 name = "inotify"
-version = "0.10.1"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff335215fb898bf09c45833b657233d8c0b699a616d7dd64d0513080da270ab6"
+checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc"
 dependencies = [
  "bitflags 1.3.2",
  "futures-core",
@@ -1826,7 +1836,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
  "hermit-abi",
- "rustix 0.38.4",
+ "rustix 0.38.9",
  "windows-sys 0.48.0",
 ]
 
@@ -1983,9 +1993,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
 
 [[package]]
 name = "lock_api"
@@ -1999,15 +2009,15 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.19"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "logind-zbus"
-version = "3.1.1"
+version = "3.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14b36b364be05220b24411a1c1a1ee4df0ba77b09c9880e70e5f4c16ebdec157"
+checksum = "c07a2542f6e91ea92780158654852190edb2ba0b232d9d00d649d0c691cb7eb3"
 dependencies = [
  "serde",
  "zbus",
@@ -2015,9 +2025,9 @@ dependencies = [
 
 [[package]]
 name = "mac-notification-sys"
-version = "0.5.8"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abc434554ad0e640d772f7f262aa28e61d485212533d3673abe5f3d1729bd42a"
+checksum = "9402858e87f85f88bf518bd2e68450640df1c99b1ddb3ea28c4d5d823bb54cdd"
 dependencies = [
  "cc",
  "dirs-next",
@@ -2274,7 +2284,7 @@ dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 2.0.27",
+ "syn 2.0.29",
 ]
 
 [[package]]
@@ -2340,9 +2350,9 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.31.1"
+version = "0.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
+checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe"
 dependencies = [
  "memchr",
 ]
@@ -2355,9 +2365,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "orbclient"
-version = "0.3.45"
+version = "0.3.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "221d488cd70617f1bd599ed8ceb659df2147d9393717954d82a0f5e8032a6ab1"
+checksum = "8378ac0dfbd4e7895f2d2c1f1345cab3836910baf3a300b000d04250f0c8428f"
 dependencies = [
  "redox_syscall 0.3.5",
 ]
@@ -2433,7 +2443,7 @@ dependencies = [
  "libc",
  "redox_syscall 0.3.5",
  "smallvec",
- "windows-targets 0.48.1",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -2456,9 +2466,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.10"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
 name = "pin-utils"
@@ -2480,9 +2490,9 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
 
 [[package]]
 name = "png"
-version = "0.17.9"
+version = "0.17.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59871cc5b6cce7eaccca5a802b4173377a1c2ba90654246789a8fa2334426d11"
+checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
@@ -2577,9 +2587,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.32"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
  "proc-macro2",
 ]
@@ -2651,9 +2661,9 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.9.1"
+version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2663,9 +2673,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.3.3"
+version = "0.3.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2680,7 +2690,7 @@ checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
 
 [[package]]
 name = "rog-control-center"
-version = "4.7.0-RC3"
+version = "4.7.1"
 dependencies = [
  "asusd",
  "cargo-husky",
@@ -2713,7 +2723,7 @@ dependencies = [
 
 [[package]]
 name = "rog_anime"
-version = "4.7.0-RC3"
+version = "4.7.1"
 dependencies = [
  "cargo-husky",
  "gif",
@@ -2730,7 +2740,7 @@ dependencies = [
 
 [[package]]
 name = "rog_aura"
-version = "4.7.0-RC3"
+version = "4.7.1"
 dependencies = [
  "cargo-husky",
  "log",
@@ -2744,7 +2754,7 @@ dependencies = [
 
 [[package]]
 name = "rog_dbus"
-version = "4.7.0-RC3"
+version = "4.7.1"
 dependencies = [
  "cargo-husky",
  "rog_anime",
@@ -2756,7 +2766,7 @@ dependencies = [
 
 [[package]]
 name = "rog_platform"
-version = "4.7.0-RC3"
+version = "4.7.1"
 dependencies = [
  "cargo-husky",
  "concat-idents",
@@ -2769,26 +2779,26 @@ dependencies = [
  "serde_derive",
  "sysfs-class",
  "typeshare",
- "udev 0.7.0",
+ "udev",
  "zbus",
 ]
 
 [[package]]
 name = "rog_profiles"
-version = "4.7.0-RC3"
+version = "4.7.1"
 dependencies = [
  "cargo-husky",
  "log",
  "serde",
  "serde_derive",
  "typeshare",
- "udev 0.7.0",
+ "udev",
  "zbus",
 ]
 
 [[package]]
 name = "rog_simulators"
-version = "4.7.0-RC3"
+version = "4.7.1"
 dependencies = [
  "glam",
  "log",
@@ -2799,20 +2809,21 @@ dependencies = [
 
 [[package]]
 name = "ron"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "300a51053b1cb55c80b7a9fde4120726ddf25ca241a1cbb926626f62fb136bff"
+checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
 dependencies = [
  "base64",
- "bitflags 1.3.2",
+ "bitflags 2.4.0",
  "serde",
+ "serde_derive",
 ]
 
 [[package]]
 name = "rusb"
-version = "0.9.2"
+version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44a8c36914f9b1a3be712c1dfa48c9b397131f9a75707e570a391735f785c5d1"
+checksum = "45fff149b6033f25e825cbb7b2c625a11ee8e6dac09264d49beb125e39aa97bf"
 dependencies = [
  "libc",
  "libusb1-sys",
@@ -2855,14 +2866,14 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.4"
+version = "0.38.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+checksum = "9bfe0f2582b4931a45d1fa608f8a8722e8b3c7ac54dd6d5f3b3212791fedef49"
 dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.0",
  "errno",
  "libc",
- "linux-raw-sys 0.4.3",
+ "linux-raw-sys 0.4.5",
  "windows-sys 0.48.0",
 ]
 
@@ -2937,29 +2948,29 @@ checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
 
 [[package]]
 name = "serde"
-version = "1.0.174"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b88756493a5bd5e5395d53baa70b194b05764ab85b59e43e4b8f4e1192fa9b1"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.174"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e5c3a298c7f978e53536f95a63bdc4c4a64550582f31a0359a9afda6aede62e"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.27",
+ "syn 2.0.29",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.103"
+version = "1.0.105"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
+checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
 dependencies = [
  "itoa",
  "ryu",
@@ -2968,13 +2979,13 @@ dependencies = [
 
 [[package]]
 name = "serde_repr"
-version = "0.1.15"
+version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e168eaaf71e8f9bd6037feb05190485708e019f4fd87d161b3c0a0d37daf85e5"
+checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.27",
+ "syn 2.0.29",
 ]
 
 [[package]]
@@ -3024,15 +3035,15 @@ dependencies = [
 
 [[package]]
 name = "simd-adler32"
-version = "0.3.5"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
 
 [[package]]
 name = "slab"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 dependencies = [
  "autocfg",
 ]
@@ -3109,6 +3120,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "socket2"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "static_assertions"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3128,8 +3149,8 @@ checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
 
 [[package]]
 name = "supergfxctl"
-version = "5.1.1"
-source = "git+https://gitlab.com/asus-linux/supergfxctl.git#fcba63b1a29284fc76da65e60751a33b81380259"
+version = "5.1.2"
+source = "git+https://gitlab.com/asus-linux/supergfxctl.git#c2a1bb3461c7abbcdabecdc463d668555120f953"
 dependencies = [
  "log",
  "logind-zbus",
@@ -3137,7 +3158,7 @@ dependencies = [
  "serde_derive",
  "serde_json",
  "tokio",
- "udev 0.6.3",
+ "udev",
  "zbus",
 ]
 
@@ -3154,9 +3175,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.27"
+version = "2.0.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
+checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3187,9 +3208,9 @@ dependencies = [
 
 [[package]]
 name = "systemd-zbus"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abba675e441b13248eaf74f1acfacf64adc7b5c030f2f3ff66cc7e02b9a0c417"
+checksum = "ffbb1b6ea6d96b14a7e94532711efc4106337fe8b1d6bdf8ba5318012a9fa7e3"
 dependencies = [
  "serde",
  "zbus",
@@ -3197,9 +3218,9 @@ dependencies = [
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.10"
+version = "0.12.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e"
+checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
 
 [[package]]
 name = "tauri-winrt-notification"
@@ -3213,14 +3234,14 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.7.0"
+version = "3.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
+checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
 dependencies = [
  "cfg-if",
  "fastrand 2.0.0",
  "redox_syscall 0.3.5",
- "rustix 0.38.4",
+ "rustix 0.38.9",
  "windows-sys 0.48.0",
 ]
 
@@ -3235,30 +3256,31 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.44"
+version = "1.0.47"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
+checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.44"
+version = "1.0.47"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
+checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.27",
+ "syn 2.0.29",
 ]
 
 [[package]]
 name = "time"
-version = "0.3.23"
+version = "0.3.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446"
+checksum = "0bb39ee79a6d8de55f48f2293a830e040392f1c5f16e336bdd1788cd0aadce07"
 dependencies = [
+ "deranged",
  "serde",
  "time-core",
 ]
@@ -3320,17 +3342,16 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.29.1"
+version = "1.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
+checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
 dependencies = [
- "autocfg",
  "backtrace",
  "libc",
  "mio",
  "num_cpus",
  "pin-project-lite",
- "socket2",
+ "socket2 0.5.3",
  "tokio-macros",
  "windows-sys 0.48.0",
 ]
@@ -3343,7 +3364,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.27",
+ "syn 2.0.29",
 ]
 
 [[package]]
@@ -3386,7 +3407,7 @@ dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow 0.5.0",
+ "winnow",
 ]
 
 [[package]]
@@ -3409,7 +3430,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.27",
+ "syn 2.0.29",
 ]
 
 [[package]]
@@ -3457,17 +3478,6 @@ dependencies = [
 
 [[package]]
 name = "udev"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c960764f7e816eed851a96c364745d37f9fe71a2e7dba79fbd40104530b5dd0"
-dependencies = [
- "libc",
- "libudev-sys",
- "pkg-config",
-]
-
-[[package]]
-name = "udev"
 version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4ebdbbd670373442a12fe9ef7aeb53aec4147a5a27a00bbc3ab639f08f48191a"
@@ -3758,9 +3768,9 @@ dependencies = [
 
 [[package]]
 name = "webbrowser"
-version = "0.8.10"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd222aa310eb7532e3fd427a5d7db7e44bc0b0cf1c1e21139c345325511a85b6"
+checksum = "b2c79b77f525a2d670cb40619d7d9c673d09e0666f72c591ebd7861f84a87e57"
 dependencies = [
  "core-foundation",
  "home",
@@ -3849,7 +3859,7 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
 dependencies = [
- "windows-targets 0.48.1",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -3889,7 +3899,7 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets 0.48.1",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -3909,17 +3919,17 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.48.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
 ]
 
 [[package]]
@@ -3930,9 +3940,9 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -3948,9 +3958,9 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -3966,9 +3976,9 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -3984,9 +3994,9 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -4002,9 +4012,9 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -4014,9 +4024,9 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -4032,9 +4042,9 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "winit"
@@ -4073,18 +4083,9 @@ dependencies = [
 
 [[package]]
 name = "winnow"
-version = "0.4.1"
+version = "0.5.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae8970b36c66498d8ff1d66685dc86b91b29db0c7739899012f63a63814b4b28"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "winnow"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7"
+checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc"
 dependencies = [
  "memchr",
 ]
@@ -4149,9 +4150,9 @@ checksum = "47430998a7b5d499ccee752b41567bc3afc57e1327dc855b1a2aa44ce29b5fa1"
 
 [[package]]
 name = "zbus"
-version = "3.13.1"
+version = "3.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c3d77c9966c28321f1907f0b6c5a5561189d1f7311eea6d94180c6be9daab29"
+checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948"
 dependencies = [
  "async-broadcast",
  "async-executor",
@@ -4162,6 +4163,7 @@ dependencies = [
  "async-recursion",
  "async-task",
  "async-trait",
+ "blocking",
  "byteorder",
  "derivative",
  "enumflags2",
@@ -4189,16 +4191,15 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.13.1"
+version = "3.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6e341d12edaff644e539ccbbf7f161601294c9a84ed3d7e015da33155b435af"
+checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
  "regex",
  "syn 1.0.109",
- "winnow 0.4.1",
  "zvariant_utils",
 ]
 
diff --git a/pkgs/applications/system/asusctl/default.nix b/pkgs/applications/system/asusctl/default.nix
index 95b0f847fea..8b5eb17cbca 100644
--- a/pkgs/applications/system/asusctl/default.nix
+++ b/pkgs/applications/system/asusctl/default.nix
@@ -13,13 +13,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "asusctl";
-  version = "4.7.0";
+  version = "4.7.1";
 
   src = fetchFromGitLab {
     owner = "asus-linux";
     repo = "asusctl";
     rev = version;
-    hash = "sha256-SZijR9PotN0O72laj+FBSCVMXLXadmLRhCSD4XqobD0=";
+    hash = "sha256-T/KAhKoxZRdbJspL+Fkos6YqVhiUxCtxbCSm+8CX1to=";
   };
 
   cargoHash = "";
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
     outputHashes = {
       "ecolor-0.21.0" = "sha256-m7eHX6flwO21umtx3dnIuVUnNsEs3ZCyOk5Vvp/lVfI=";
       "notify-rust-4.6.0" = "sha256-jhCgisA9f6AI9e9JQUYRtEt47gQnDv5WsdRKFoKvHJs=";
-      "supergfxctl-5.1.1" = "sha256-H00QHNILEjOtavXdj4Jd+rdLprJpVSlSVV3qkTeknzQ=";
+      "supergfxctl-5.1.2" = "sha256-1XCIltd7o+Bc+UXmeuPAXdPKU86UP0p+Qh0gTZyrbH8=";
     };
   };
 
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index d90028205c9..62be45cba27 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "2.36";
+  version = "2.36.1";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    hash = "sha256-TCCVdPhrR4NWwqNjEAySSsiW2D7gCdLAiD+UeuvBJvI=";
+    hash = "sha256-jq9Frh3rufI9Q3auh2Qfoo89x+jKsbxBB8ojreVgmjc=";
   };
 
   # Fix 'NameError: name 'ssl' is not defined'
diff --git a/pkgs/applications/virtualization/kraft/default.nix b/pkgs/applications/virtualization/kraft/default.nix
index 4d2ac7e7030..688e6eff949 100644
--- a/pkgs/applications/virtualization/kraft/default.nix
+++ b/pkgs/applications/virtualization/kraft/default.nix
@@ -2,20 +2,21 @@
 , buildGoModule
 , fetchFromGitHub
 , stdenv
+, nix-update-script
 }:
 
 buildGoModule rec {
   pname = "kraftkit";
-  version = "0.6.4";
+  version = "0.6.6";
 
   src = fetchFromGitHub {
     owner = "unikraft";
     repo = "kraftkit";
     rev = "v${version}";
-    hash = "sha256-+aZrJqxgPGIoWEW4PZj6Nib7Z49HitxqMbeoyIe14iM=";
+    hash = "sha256-3dI3F1cCeLEOd+zusWUDZWLrVaaKHXzwOL/mF/yPZC8=";
   };
 
-  vendorHash = "sha256-4V7GTqCDSHybuwIrnmO1MJ+DwMpkKOdA7UC72YJqStM=";
+  vendorHash = "sha256-4zciooCUNVLTQ/0tctqV3hExR5vRY5VumHzGtL8xdws=";
 
   ldflags = [
     "-s"
@@ -25,6 +26,12 @@ buildGoModule rec {
 
   subPackages = [ "cmd/kraft" ];
 
+  passthru = {
+    updateScript = nix-update-script {
+      extraArgs = [ "--version-regex" "^v([0-9.]+)" ];
+    };
+  };
+
   meta = {
     description = "Build and use highly customized and ultra-lightweight unikernel VMs";
     homepage = "https://github.com/unikraft/kraftkit";
diff --git a/pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix b/pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix
index 411d8a1f6f6..e402f704572 100644
--- a/pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix
+++ b/pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix
@@ -4,6 +4,7 @@
 , budgie-desktop-view
 , glib
 , gsettings-desktop-schemas
+, magpie
 , mate
 , nixos-artwork
 , nixos-background-light ? nixos-artwork.wallpapers.nineish
@@ -31,9 +32,15 @@ let
     document-font-name="Noto Sans 10"
     monospace-font-name="Hack 10"
 
+    [org.gnome.desktop.peripherals.touchpad:Budgie]
+    tap-to-click=true
+
     [org.gnome.desktop.wm.preferences:Budgie]
     titlebar-font="Noto Sans Bold 10"
 
+    [org.gnome.mutter:Budgie]
+    edge-tiling=true
+
     [com.solus-project.budgie-menu:Budgie]
     use-default-menu-icon=true
 
@@ -56,6 +63,7 @@ let
       budgie-desktop
       budgie-desktop-view
       gsettings-desktop-schemas
+      magpie
   ] ++ extraGSettingsOverridePackages;
 
 in
diff --git a/pkgs/development/compilers/eql/default.nix b/pkgs/development/compilers/eql/default.nix
deleted file mode 100644
index 044ff1182f2..00000000000
--- a/pkgs/development/compilers/eql/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ lib, stdenv, fetchgit, qt4, ecl, xorgserver, xkbcomp, xkeyboard_config }:
-
-stdenv.mkDerivation rec {
-  version = "unstable-2012-12-10";
-  pname = "eql";
-  src = fetchgit {
-    rev = "9097bf98446ee33c07bb155d800395775ce0d9b2";
-    url = "https://gitlab.com/eql/eql.git";
-    sha256 = "17h23qr7fyr9hvjgiq0yhacmjs43x06vh8978aq42ymcgipxdcww";
-  };
-
-  buildInputs = [ ecl qt4 xorgserver xkbcomp xkeyboard_config ];
-
-  env.NIX_CFLAGS_COMPILE = "-fPIC";
-
-  postPatch = ''
-    sed -re 's@[(]in-home "gui/.command-history"[)]@(concatenate '"'"'string (ext:getenv "HOME") "/.eql-gui-command-history")@' -i gui/gui.lisp
-
-    # cl_def_c_function was renamed to ecl_def_c_function in ECL 20.4.24.
-    find . -type f -exec sed -e 's/\scl_def_c_function(/ ecl_def_c_function(/' -i {} \;
-  '';
-
-  buildPhase = ''
-    cd src
-    ecl -shell make-eql-lib.lisp
-    qmake eql_lib.pro
-    make
-    cd ..
-
-    cd src
-    qmake eql_exe.pro
-    make
-    cd ..
-    cd src
-  '';
-
-  installPhase = ''
-    cd ..
-    mkdir -p $out/bin $out/lib/eql/ $out/include $out/include/gen $out/lib
-    cp -r . $out/lib/eql/build-dir
-    ln -s $out/lib/eql/build-dir/eql $out/bin
-    ln -s $out/lib/eql/build-dir/src/*.h $out/include
-    ln -s $out/lib/eql/build-dir/src/gen/*.h $out/include/gen
-    ln -s $out/lib/eql/build-dir/libeql*.so* $out/lib
-  '';
-
-  meta = with lib; {
-    description = "Embedded Qt Lisp (ECL+Qt)";
-    maintainers = with maintainers; [ raskin ];
-    platforms = platforms.linux;
-    license = licenses.mit;
-  };
-
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://password-taxi.at/EQL";
-      method = "fetchgit";
-      rev = src.rev;
-      url = src.url;
-      hash = src.sha256;
-    };
-  };
-}
diff --git a/pkgs/development/compilers/seexpr/default.nix b/pkgs/development/compilers/seexpr/default.nix
deleted file mode 100644
index 210daae3745..00000000000
--- a/pkgs/development/compilers/seexpr/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, libpng
-, zlib
-, qt4
-, bison
-, flex
-, libGLU
-, python3Packages
-}:
-
-stdenv.mkDerivation rec {
-  pname = "seexpr";
-  version = "3.0.1";
-
-  src = fetchFromGitHub {
-    owner = "wdas";
-    repo = "SeExpr";
-    rev = "v${version}";
-    sha256 = "sha256-r6mgyb/FGz4KYZOgLDgmIqjO+PSmneD3KUWjymZXtEk=";
-  };
-
-  cmakeFlags = [
-    "-DENABLE_SSE4=OFF"
-    # file RPATH_CHANGE could not write new RPATH
-    "-DCMAKE_SKIP_BUILD_RPATH=ON"
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ libGLU libpng zlib qt4 python3Packages.pyqt4 python3Packages.boost bison flex ];
-
-  # https://github.com/wdas/SeExpr/issues/106
-  postPatch = ''
-    substituteInPlace src/build/seexpr2.pc.in \
-      --replace '$'{prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@
-  '';
-
-  meta = with lib; {
-    description = "Embeddable expression evaluation engine from Disney Animation";
-    homepage = "https://wdas.github.io/SeExpr/";
-    maintainers = with maintainers; [ hodapp ];
-    license = licenses.asl20;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/compilers/yosys/plugins/symbiflow.nix b/pkgs/development/compilers/yosys/plugins/symbiflow.nix
index f383efbd44e..481d2475907 100644
--- a/pkgs/development/compilers/yosys/plugins/symbiflow.nix
+++ b/pkgs/development/compilers/yosys/plugins/symbiflow.nix
@@ -11,17 +11,16 @@
 , capnproto
 , surelog
 , antlr4
-, flatbuffers
 , pkg-config
 }: let
 
-  version = "1.20230425";
+  version = "1.20230808";
 
   src = fetchFromGitHub {
     owner = "chipsalliance";
     repo  = "yosys-f4pga-plugins";
     rev   = "v${version}";
-    hash  = "sha256-KNkmhvpKTby85P88+DqCOOGxIKpzbw5KF9ymqy40pfw=";
+    hash  = "sha256-wksAHLgLjVZE4Vk2QVcJN1mnQ9mxWCZHk55oO99cVJ0=";
   };
 
   # Supported symbiflow plugins.
diff --git a/pkgs/development/libraries/dssi/default.nix b/pkgs/development/libraries/dssi/default.nix
index 697ff1a857b..322c689ba11 100644
--- a/pkgs/development/libraries/dssi/default.nix
+++ b/pkgs/development/libraries/dssi/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, ladspaH, libjack2, liblo, alsa-lib, qt4, libX11, libsndfile, libSM
+{ lib, stdenv, fetchurl, ladspaH, libjack2, liblo, alsa-lib, libX11, libsndfile, libSM
 , libsamplerate, libtool, autoconf, automake, xorgproto, libICE, pkg-config
 }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoconf automake pkg-config ];
   buildInputs =
-    [ ladspaH libjack2 liblo alsa-lib qt4 libX11 libsndfile libSM
+    [ ladspaH libjack2 liblo alsa-lib libX11 libsndfile libSM
       libsamplerate libtool xorgproto libICE
     ];
 
diff --git a/pkgs/development/libraries/libjreen/default.nix b/pkgs/development/libraries/libjreen/default.nix
deleted file mode 100644
index 5a70e4b01dd..00000000000
--- a/pkgs/development/libraries/libjreen/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib, stdenv, fetchurl, cmake, qt4, pkg-config, gsasl }:
-
-stdenv.mkDerivation rec {
-  pname = "libjreen";
-  version = "1.2.0";
-
-  src = fetchurl {
-    url = "https://qutim.org/dwnl/73/${pname}-${version}.tar.bz2";
-    sha256 = "14nwwk40xx8w6x7yaysgcr0lgzhs7l064f7ikp32s5y9a8mmp582";
-  };
-
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ qt4 gsasl ];
-
-  meta = {
-    description = "C++ Jabber library using Qt framework";
-    homepage = "https://qutim.org/jreen/";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/libuev/default.nix b/pkgs/development/libraries/libuev/default.nix
new file mode 100644
index 00000000000..1ec1590428d
--- /dev/null
+++ b/pkgs/development/libraries/libuev/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "libuev";
+  version = "2.4.0";
+
+  src = fetchFromGitHub {
+    owner = "troglobit";
+    repo = "libuev";
+    rev = "v${version}";
+    hash = "sha256-x6l7CqlZ82kc8shAf2SxgIa4ESu0fTtnOgGz5joVCEY=";
+  };
+
+  nativeBuildInputs = [ pkg-config autoreconfHook ];
+
+  meta = with lib; {
+    description = "Lightweight event loop library for Linux epoll() family APIs";
+    homepage = "https://codedocs.xyz/troglobit/libuev/";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ vifino ];
+  };
+}
diff --git a/pkgs/development/libraries/ntrack/default.nix b/pkgs/development/libraries/ntrack/default.nix
deleted file mode 100644
index 3d8f057fc80..00000000000
--- a/pkgs/development/libraries/ntrack/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, stdenv, fetchurl, qt4, pkg-config, libnl, python3 }:
-
-stdenv.mkDerivation rec {
-  pname = "ntrack";
-  version = "016";
-
-  src = fetchurl {
-    url = "https://launchpad.net/ntrack/main/${version}/+download/${pname}-${version}.tar.gz";
-    sha256 = "037ig5y0mp327m0hh4pnfr3vmsk3wrxgfjy3645q4ws9vdhx807w";
-  };
-
-  buildInputs = [ libnl qt4 ];
-
-  nativeBuildInputs = [ pkg-config python3 ];
-
-  # error: ISO C does not support '__FUNCTION__' predefined identifier [-Werror=pedantic]
-  env.NIX_CFLAGS_COMPILE = "-Wno-error";
-
-  configureFlags = [ "--without-gobject" "CFLAGS=--std=gnu99" ];
-
-  # Remove this patch after version 016
-  patches = [ ./libnl-fix.patch ];
-
-  postPatch = ''
-    sed -e "s@/usr\(/lib/ntrack/modules/\)@$out&@" -i common/ntrack.c
-  '';
-
-  meta = with lib; {
-    description = "Network Connectivity Tracking library for Desktop Applications";
-    homepage = "https://launchpad.net/ntrack";
-    platforms = platforms.linux;
-    license = licenses.lgpl3Plus;
-  };
-}
diff --git a/pkgs/development/libraries/ntrack/libnl-fix.patch b/pkgs/development/libraries/ntrack/libnl-fix.patch
deleted file mode 100644
index 806a0178ec8..00000000000
--- a/pkgs/development/libraries/ntrack/libnl-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./modules/ntrack-libnl.c.orig	2013-12-02 11:31:54.749215448 -0600
-+++ ./modules/ntrack-libnl.c	2013-12-02 11:34:46.597684553 -0600
-@@ -530,7 +530,7 @@
- 		op_default_route_disappeared ((struct _ntrack_monitor_arch*) self, nl_info);
- 	} else if (nl_info->topmost_route && topmost_route) {
- 		int diff_bits;
--		if ((diff_bits = (route_obj_ops.oo_id_attrs | ROUTE_ATTR_OIF
-+		if ((diff_bits = (nl_object_get_id_attrs(OBJ_CAST(topmost_route)) | ROUTE_ATTR_OIF
- 		                  | ROUTE_ATTR_GATEWAY) &
- 		                  nl_object_diff (OBJ_CAST (nl_info->topmost_route),
- 		                                  OBJ_CAST (topmost_route)))) {
diff --git a/pkgs/development/libraries/prison/default.nix b/pkgs/development/libraries/prison/default.nix
deleted file mode 100644
index 71f8596c646..00000000000
--- a/pkgs/development/libraries/prison/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib, stdenv, fetchurl, cmake, qrencode, qt4, libdmtx }:
-
-stdenv.mkDerivation rec {
-  pname = "prison";
-  version = "1.0";
-
-  src = fetchurl {
-    url = "mirror://kde/stable/prison/${version}/src/prison-${version}.tar.gz";
-    sha256 = "08hkzzda36jpdywjqlyzcvli7cx17h4l9yffzsdnhdd788n28krr";
-  };
-
-  buildInputs = [ qt4 qrencode libdmtx ];
-
-  nativeBuildInputs = [ cmake ];
-
-  meta = {
-    description = "Qt4 library for QR-codes";
-    license = lib.licenses.mit;
-    inherit (qt4.meta) platforms;
-  };
-}
diff --git a/pkgs/development/libraries/qimageblitz/default.nix b/pkgs/development/libraries/qimageblitz/default.nix
deleted file mode 100644
index e838eb07201..00000000000
--- a/pkgs/development/libraries/qimageblitz/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{lib, stdenv, fetchurl, cmake, qt4}:
-
-stdenv.mkDerivation rec {
-  pname = "qimageblitz";
-  version = "0.0.4";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/qimageblitz/qimageblitz-${version}.tar.bz2";
-    sha256 = "0pnaf3qi7rgkxzs2mssmslb3f9ya4cyx09wzwlis3ppyvf72j0p9";
-  };
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ qt4 ];
-
-  patches = [ ./qimageblitz-9999-exec-stack.patch ];
-
-  meta = {
-    description = "Graphical effect and filter library for KDE4";
-    license = lib.licenses.bsd2;
-    homepage = "http://qimageblitz.sourceforge.net";
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/qimageblitz/qimageblitz-9999-exec-stack.patch b/pkgs/development/libraries/qimageblitz/qimageblitz-9999-exec-stack.patch
deleted file mode 100644
index 8692c240f7b..00000000000
--- a/pkgs/development/libraries/qimageblitz/qimageblitz-9999-exec-stack.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -uar qimageblitz/blitz/asm_scale.S qimageblitz~/blitz/asm_scale.S
---- qimageblitz-orig/blitz/asm_scale.S	2007-10-17 01:17:57.000000000 +0200
-+++ qimageblitz/blitz/asm_scale.S	2007-10-17 01:19:12.000000000 +0200
-@@ -814,3 +814,7 @@
- SIZE(qimageScale_mmx_AARGBA)
- 
- #endif
-+#if defined(__linux__) && defined(__ELF__)
-+.section .note.GNU-stack,"",%progbits
-+#endif
-+
diff --git a/pkgs/development/libraries/qscintilla-qt4/default.nix b/pkgs/development/libraries/qscintilla-qt4/default.nix
deleted file mode 100644
index 23daedd217e..00000000000
--- a/pkgs/development/libraries/qscintilla-qt4/default.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, unzip
-, qt4
-, qmake4Hook
-}:
-
-stdenv.mkDerivation rec {
-  pname = "qscintilla-qt4";
-  version = "2.11.6";
-
-  src = fetchurl {
-    url = "https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla-${version}.tar.gz";
-    sha256 = "5zRgV9tH0vs4RGf6/M/LE6oHQTc8XVk7xytVsvDdIKc=";
-  };
-
-  sourceRoot = "QScintilla-${version}/Qt4Qt5";
-
-  buildInputs = [ qt4 ];
-
-  nativeBuildInputs = [ unzip qmake4Hook ];
-
-  patches = [
-    ./fix-qt4-build.patch
-  ];
-
-  # Make sure that libqscintilla2.so is available in $out/lib since it is expected
-  # by some packages such as sqlitebrowser
-  postFixup = ''
-    ln -s $out/lib/libqscintilla2_qt4.so $out/lib/libqscintilla2.so
-  '';
-
-  dontWrapQtApps = true;
-
-  postPatch = ''
-    substituteInPlace qscintilla.pro \
-      --replace '$$[QT_INSTALL_LIBS]'         $out/lib \
-      --replace '$$[QT_INSTALL_HEADERS]'      $out/include \
-      --replace '$$[QT_INSTALL_TRANSLATIONS]' $out/translations \
-      --replace '$$[QT_HOST_DATA]/mkspecs'    $out/mkspecs \
-      --replace '$$[QT_INSTALL_DATA]/mkspecs' $out/mkspecs \
-      --replace '$$[QT_INSTALL_DATA]'         $out/share
-  '';
-
-  meta = with lib; {
-    description = "A Qt port of the Scintilla text editing library";
-    longDescription = ''
-      QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor
-      control.
-
-      As well as features found in standard text editing components,
-      QScintilla includes features especially useful when editing and
-      debugging source code. These include support for syntax styling,
-      error indicators, code completion and call tips. The selection
-      margin can contain markers like those used in debuggers to
-      indicate breakpoints and the current line. Styling choices are
-      more open than with many editors, allowing the use of
-      proportional fonts, bold and italics, multiple foreground and
-      background colours and multiple fonts.
-    '';
-    homepage = "https://www.riverbankcomputing.com/software/qscintilla/intro";
-    license = with licenses; [ gpl3 ]; # and commercial
-    maintainers = with maintainers; [ peterhoeg ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/qscintilla-qt4/fix-qt4-build.patch b/pkgs/development/libraries/qscintilla-qt4/fix-qt4-build.patch
deleted file mode 100644
index 520a55b1ea2..00000000000
--- a/pkgs/development/libraries/qscintilla-qt4/fix-qt4-build.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur QScintilla_gpl-2.11.2/Qt4Qt5/Qsci/qsciscintillabase.h QScintilla_gpl-2.11.2-fix/Qt4Qt5/Qsci/qsciscintillabase.h
---- Qt4Qt5/Qsci/qsciscintillabase.h	2019-06-25 14:49:27.000000000 +0200
-+++ Qt4Qt5-fix/Qsci/qsciscintillabase.h	2019-10-04 10:22:26.337474261 +0200
-@@ -27,6 +27,7 @@
- #include <QByteArray>
- #include <QPoint>
- #include <QTimer>
-+#include <QUrl>
- 
- #include <Qsci/qsciglobal.h>
- 
diff --git a/pkgs/development/libraries/qt-4.x/4.8/clang-5-darwin.patch b/pkgs/development/libraries/qt-4.x/4.8/clang-5-darwin.patch
deleted file mode 100644
index 7b181f3ad89..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/clang-5-darwin.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/gui/text/qfontengine_coretext.mm b/src/gui/text/qfontengine_coretext.mm
-index 204d685..e05179e 100644
---- a/src/gui/text/qfontengine_coretext.mm
-+++ b/src/gui/text/qfontengine_coretext.mm
-@@ -886,7 +886,7 @@ void QCoreTextFontEngine::getUnscaledGlyph(glyph_t glyph, QPainterPath *path, gl
- 
- QFixed QCoreTextFontEngine::emSquareSize() const
- {
--    return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
-+    return QFixed(int(CTFontGetUnitsPerEm(ctfont)));
- }
- 
- QFontEngine *QCoreTextFontEngine::cloneWithSize(qreal pixelSize) const
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
deleted file mode 100644
index a8257a36d39..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ /dev/null
@@ -1,239 +0,0 @@
-{ stdenv, lib, fetchurl, fetchpatch, substituteAll
-, libXrender, libXinerama, libXcursor, libXv, libXext
-, libXfixes, libXrandr, libSM, freetype, fontconfig, zlib, libjpeg, libpng
-, libmng, which, libGLU, openssl, dbus, cups, pkg-config
-, libtiff, glib, icu, libmysqlclient, postgresql, sqlite, perl, coreutils, libXi
-, alsa-lib
-, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, gtkStyle ? stdenv.hostPlatform == stdenv.buildPlatform, gtk2, gdk-pixbuf
-, gnomeStyle ? false, libgnomeui, GConf, gnome_vfs
-, developerBuild ? false
-, docs ? false
-, examples ? false
-, demos ? false
-# darwin support
-, libobjc, ApplicationServices, OpenGL, Cocoa, AGL, libcxx
-}:
-
-# TODO:
-#  * move some plugins (e.g., SQL plugins) to dedicated derivations to avoid
-#    false build-time dependencies
-
-stdenv.mkDerivation rec {
-  pname = "qt" + lib.optionalString ( docs && demos && examples && developerBuild ) "-full";
-  version = "4.8.7";
-
-  src = fetchurl {
-    url = "http://download.qt-project.org/official_releases/qt/"
-      + "${lib.versions.majorMinor version}/${version}/qt-everywhere-opensource-src-${version}.tar.gz";
-    sha256 = "183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  outputInclude = "out";
-
-  setOutputFlags = false;
-
-
-  prePatch = ''
-    substituteInPlace configure --replace /bin/pwd pwd
-    substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
-    substituteInPlace src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp \
-      --replace 'asm volatile' 'asm'
-    sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i mkspecs/*/*.conf
-  '' + lib.optionalString stdenv.isDarwin ''
-    # remove impure reference to /usr/lib/libstdc++.6.dylib
-    # there might be more references, but this is the only one I could find
-    substituteInPlace tools/macdeployqt/tests/tst_deployment_mac.cpp \
-      --replace /usr/lib/libstdc++.6.dylib "${stdenv.cc}/lib/libstdc++.6.dylib"
-  '' + lib.optionalString stdenv.cc.isClang ''
-    substituteInPlace src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp \
-      --replace 'optionalHeight > 0' 'optionalHeight != NULL'
-  '';
-
-  patches =
-    lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
-      ./glib-2.32.patch
-      ./libressl.patch
-      ./parallel-configure.patch
-      ./clang-5-darwin.patch
-      ./qt-4.8.7-unixmake-darwin.patch
-      ./kill-legacy-darwin-apis.patch
-      (substituteAll {
-        src = ./dlopen-absolute-paths.diff;
-        cups = if cups != null then lib.getLib cups else null;
-        icu = icu.out;
-        libXfixes = libXfixes.out;
-        glibc = stdenv.cc.libc.out;
-      })
-      (fetchpatch {
-        name = "fix-medium-font.patch";
-        url = "https://salsa.debian.org/qt-kde-team/qt/qt4-x11/raw/"
-          + "21b342d71c19e6d68b649947f913410fe6129ea4/debian/patches/kubuntu_39_fix_medium_font.diff";
-        sha256 = "0bli44chn03c2y70w1n8l7ss4ya0b40jqqav8yxrykayi01yf95j";
-      })
-      # Patches are no longer available from here, so vendoring it for now.
-      #(fetchpatch {
-      #  name = "qt4-gcc6.patch";
-      #  url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qt4-gcc6.patch?h=packages/qt4&id=ca773a144f5abb244ac4f2749eeee9333cac001f";
-      #  sha256 = "07lrva7bjh6i40p7b3ml26a2jlznri8bh7y7iyx5zmvb1gfxmj34";
-      #})
-      ./qt4-gcc6.patch
-      ./qt4-openssl-1.1.patch
-      (fetchpatch {
-        name = "gcc9-foreach.patch";
-        url = "https://salsa.debian.org/qt-kde-team/qt/qt4-x11/raw/"
-          + "0d4a3dd61ccb156dee556c214dbe91c04d44a717/debian/patches/gcc9-qforeach.patch";
-        sha256 = "0dzn6qxrgxb75rvck9kmy5gspawdn970wsjw56026dhkih8cp3pg";
-      })
-
-      # Pull upstream fix for gcc-11 support.
-      (fetchpatch {
-        name = "gcc11-ptr-cmp.patch";
-        url = "https://github.com/qt/qttools/commit/7138c963f9d1258bc1b49cb4d63c3e2b7d0ccfda.patch";
-        sha256 = "1a9g05r267c94qpw3ssb6k4lci200vla3vm5hri1nna6xwdsmrhc";
-        # "src/" -> "tools/"
-        stripLen = 2;
-        extraPrefix = "tools/";
-      })
-    ]
-    ++ lib.optional gtkStyle (substituteAll ({
-        src = ./dlopen-gtkstyle.diff;
-        # substituteAll ignores env vars starting with capital letter
-        gtk = gtk2.out;
-      } // lib.optionalAttrs gnomeStyle {
-        gconf = GConf.out;
-        libgnomeui = libgnomeui.out;
-        gnome_vfs = gnome_vfs.out;
-      }))
-    ++ lib.optional stdenv.isAarch64 (fetchpatch {
-        url = "https://src.fedoraproject.org/rpms/qt/raw/ecf530486e0fb7fe31bad26805cde61115562b2b/f/qt-aarch64.patch";
-        sha256 = "1fbjh78nmafqmj7yk67qwjbhl3f6ylkp6x33b1dqxfw9gld8b3gl";
-      })
-    ++ lib.optionals stdenv.hostPlatform.isMusl [
-        ./qt-musl.patch
-        ./qt-musl-iconv-no-bom.patch
-        ./patch-qthread-stacksize.diff
-        ./qsettings-recursive-global-mutex.patch
-      ];
-
-  preConfigure = ''
-    export LD_LIBRARY_PATH="`pwd`/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
-    configureFlags+="
-      -docdir $out/share/doc/qt-${version}
-      -plugindir $out/lib/qt4/plugins
-      -importdir $out/lib/qt4/imports
-      -examplesdir $TMPDIR/share/doc/qt-${version}/examples
-      -demosdir $TMPDIR/share/doc/qt-${version}/demos
-      -datadir $out/share/qt-${version}
-      -translationdir $out/share/qt-${version}/translations
-      --jobs=$NIX_BUILD_CORES
-    "
-    unset LD # Makefile uses gcc for linking; setting LD interferes
-  '' + lib.optionalString stdenv.cc.isClang ''
-    sed -i 's/QMAKE_CC = gcc/QMAKE_CC = clang/' mkspecs/common/g++-base.conf
-    sed -i 's/QMAKE_CXX = g++/QMAKE_CXX = clang++/' mkspecs/common/g++-base.conf
-  '' + lib.optionalString stdenv.hostPlatform.isWindows ''
-    sed -i -e 's/ g++/ ${stdenv.cc.targetPrefix}g++/' \
-      -e 's/ gcc/ ${stdenv.cc.targetPrefix}gcc/' \
-      -e 's/ ar/ ${stdenv.cc.targetPrefix}ar/' \
-      -e 's/ strip/ ${stdenv.cc.targetPrefix}strip/' \
-      -e 's/ windres/ ${stdenv.cc.targetPrefix}windres/' \
-      mkspecs/win32-g++/qmake.conf
-  '';
-
-  prefixKey = "-prefix ";
-
-  configurePlatforms = [];
-  configureFlags = let
-    mk = cond: name: "-${lib.optionalString (!cond) "no-"}${name}";
-    platformFlag =
-      if stdenv.hostPlatform != stdenv.buildPlatform
-      then "-xplatform"
-      else "-platform";
-  in (if stdenv.hostPlatform != stdenv.buildPlatform then [
-    # I've not tried any case other than i686-pc-mingw32.
-    # -nomake tools: it fails linking some asian language symbols
-    # -no-svg: it fails to build on mingw64
-    "-static" "-release" "-confirm-license" "-opensource"
-    "-no-opengl" "-no-phonon"
-    "-no-svg"
-    "-make" "qmake" "-make" "libs" "-nomake" "tools"
-  ] else [
-    "-v" "-no-separate-debug-info" "-release" "-fast" "-confirm-license" "-opensource"
-
-    (mk (!stdenv.isFreeBSD) "opengl") "-xrender" "-xrandr" "-xinerama" "-xcursor" "-xinput" "-xfixes" "-fontconfig"
-    "-qdbus" (mk (cups != null) "cups") "-glib" "-dbus-linked" "-openssl-linked"
-
-    "-${if libmysqlclient != null then "plugin" else "no"}-sql-mysql" "-system-sqlite"
-
-    "-exceptions" "-xmlpatterns"
-
-    "-make" "libs" "-make" "tools" "-make" "translations"
-    "-no-phonon" "-no-webkit" "-no-multimedia" "-audio-backend"
-  ]) ++ [
-    "-${lib.optionalString (!demos) "no"}make" "demos"
-    "-${lib.optionalString (!examples) "no"}make" "examples"
-    "-${lib.optionalString (!docs) "no"}make" "docs"
-  ] ++ lib.optional developerBuild "-developer-build"
-    ++ lib.optionals stdenv.hostPlatform.isDarwin [ platformFlag "unsupported/macx-clang-libc++" ]
-    ++ lib.optionals stdenv.hostPlatform.isWindows [ platformFlag "win32-g++-4.6" ];
-
-  propagatedBuildInputs =
-    [ libXrender libXrandr libXinerama libXcursor libXext libXfixes libXv libXi
-      libSM zlib libpng openssl dbus freetype fontconfig glib ]
-        # Qt doesn't directly need GLU (just GL), but many apps use, it's small and doesn't remain a runtime-dep if not used
-    ++ lib.optional libGLSupported libGLU;
-
-  # The following libraries are only used in plugins
-  buildInputs =
-    [ cups # Qt dlopen's libcups instead of linking to it
-      postgresql sqlite libjpeg libmng libtiff icu ]
-    ++ lib.optionals (libmysqlclient != null) [ libmysqlclient ]
-    ++ lib.optionals gtkStyle [ gtk2 gdk-pixbuf ]
-    ++ lib.optionals stdenv.isDarwin [ ApplicationServices OpenGL Cocoa AGL libcxx libobjc ];
-
-  nativeBuildInputs = [ perl pkg-config which ];
-
-  enableParallelBuilding = true;
-
-  env.NIX_CFLAGS_COMPILE = toString (
-    # with gcc7 the warnings blow the log over Hydra's limit
-    [ "-Wno-expansion-to-defined" "-Wno-unused-local-typedefs" ]
-    ++ lib.optional stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin
-    ++ lib.optionals (stdenv.isFreeBSD || stdenv.isDarwin)
-      [ "-I${glib.dev}/include/glib-2.0" "-I${glib.out}/lib/glib-2.0/include" ]
-    ++ lib.optional stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1");
-
-  NIX_LDFLAGS = lib.optionalString (stdenv.isFreeBSD || stdenv.isDarwin) "-lglib-2.0";
-
-  preBuild = lib.optionalString stdenv.isDarwin ''
-    # resolve "extra qualification on member" error
-    sed -i 's/struct ::TabletProximityRec;/struct TabletProximityRec;/' \
-      src/gui/kernel/qt_cocoa_helpers_mac_p.h
-    find . -name "Makefile*" | xargs sed -i 's/^\(LINK[[:space:]]* = clang++\)/\1 ${NIX_LDFLAGS}/'
-    sed -i 's/^\(LIBS[[:space:]]*=.*$\)/\1 -lobjc/' ./src/corelib/Makefile.Release
-  '';
-
-  doCheck = false; # qwebframe test fails with fontconfig errors
-
-  postInstall = ''
-    rm -rf $out/tests
-  ''
-  # I don't know why it does not install qmake
-  + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
-    cp bin/qmake* $out/bin
-  '';
-
-  dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
-
-  meta = {
-    homepage    = "https://qt-project.org/";
-    description = "A cross-platform application framework for C++";
-    license     = lib.licenses.lgpl21Plus; # or gpl3
-    maintainers = with lib.maintainers; [ orivej lovek323 sander ];
-    platforms   = lib.platforms.unix;
-    badPlatforms = [ "x86_64-darwin" "aarch64-darwin" ];
-  };
-}
diff --git a/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff b/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
deleted file mode 100644
index 4c64e9e26e3..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/src/corelib/tools/qlocale_icu.cpp b/src/corelib/tools/qlocale_icu.cpp
-index c3e2907..2fac4e1 100644
---- a/src/corelib/tools/qlocale_icu.cpp
-+++ b/src/corelib/tools/qlocale_icu.cpp
-@@ -81,7 +81,7 @@ bool qt_initIcu(const QString &localeString)
-     if (status == NotLoaded) {
- 
-         // resolve libicui18n
--        QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
-+        QLibrary lib(QLatin1String("@icu@/lib/libicui18n"), QLatin1String(U_ICU_VERSION_SHORT));
-         lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
-         if (!lib.load()) {
-             qWarning() << "Unable to load library icui18n" << lib.errorString();
-@@ -111,7 +111,7 @@ bool qt_initIcu(const QString &localeString)
-         }
- 
-         // resolve libicuuc
--        QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
-+        QLibrary ucLib(QLatin1String("@icu@/lib/libicuuc"), QLatin1String(U_ICU_VERSION_SHORT));
-         ucLib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
-         if (!ucLib.load()) {
-             qWarning() << "Unable to load library icuuc" << ucLib.errorString();
-diff --git a/src/gui/painting/qcups.cpp b/src/gui/painting/qcups.cpp
-index 99ea43f..acdf9c9 100644
---- a/src/gui/painting/qcups.cpp
-+++ b/src/gui/painting/qcups.cpp
-@@ -87,7 +87,7 @@ static CupsPrintFile _cupsPrintFile = 0;
- 
- static void resolveCups()
- {
--    QLibrary cupsLib(QLatin1String("cups"), 2);
-+    QLibrary cupsLib(QLatin1String("@cups@/lib/libcups"), 2);
-     if(cupsLib.load()) {
-         _cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
-         _cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
-diff --git a/src/gui/painting/qprinterinfo_unix.cpp b/src/gui/painting/qprinterinfo_unix.cpp
-index 3d15538..f0f5351 100644
---- a/src/gui/painting/qprinterinfo_unix.cpp
-+++ b/src/gui/painting/qprinterinfo_unix.cpp
-@@ -454,7 +454,7 @@ int qt_retrieveNisPrinters(QList<QPrinterDescription> *printers)
-     char *domain;
-     int err;
- 
--    QLibrary lib(QLatin1String("nsl"));
-+    QLibrary lib(QLatin1String("@glibc@/lib/libnsl"));
-     typedef int (*ypGetDefaultDomain)(char **);
-     ypGetDefaultDomain _ypGetDefaultDomain = (ypGetDefaultDomain)lib.resolve("yp_get_default_domain");
-     typedef int (*ypAll)(const char *, const char *, const struct ypall_callback *);
-diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
-index 6b42d1e..f88b628 100644
---- a/src/network/kernel/qhostinfo_unix.cpp
-+++ b/src/network/kernel/qhostinfo_unix.cpp
-@@ -95,7 +95,7 @@ static res_state_ptr local_res = 0;
- static void resolveLibrary()
- {
- #if !defined(QT_NO_LIBRARY) && !defined(Q_OS_QNX)
--    QLibrary lib(QLatin1String("resolv"));
-+    QLibrary lib(QLatin1String("@glibc@/lib/libresolv"));
-     lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
-     if (!lib.load())
-         return;
-diff --git a/src/plugins/platforms/xlib/qxlibstatic.cpp b/src/plugins/platforms/xlib/qxlibstatic.cpp
-index f8f3d69..d63c5bc 100644
---- a/src/plugins/platforms/xlib/qxlibstatic.cpp
-+++ b/src/plugins/platforms/xlib/qxlibstatic.cpp
-@@ -242,7 +242,7 @@ static void* qt_load_library_runtime(const char *library, int vernum,
- }
- 
- #  define XFIXES_LOAD_RUNTIME(vernum, symbol, symbol_type) \
--    (symbol_type)qt_load_library_runtime("libXfixes", vernum, 4, #symbol);
-+    (symbol_type)qt_load_library_runtime("@libXfixes@/lib/libXfixes", vernum, 4, #symbol);
- #  define XFIXES_LOAD_V1(symbol) \
-     XFIXES_LOAD_RUNTIME(1, symbol, Ptr##symbol)
- #  define XFIXES_LOAD_V2(symbol) \
diff --git a/pkgs/development/libraries/qt-4.x/4.8/dlopen-gtkstyle.diff b/pkgs/development/libraries/qt-4.x/4.8/dlopen-gtkstyle.diff
deleted file mode 100644
index a1c9238be1a..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/dlopen-gtkstyle.diff
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/src/gui/styles/qgtkstyle_p.cpp b/src/gui/styles/qgtkstyle_p.cpp
-index 3b128e6..39434db 100644
---- a/src/gui/styles/qgtkstyle_p.cpp
-+++ b/src/gui/styles/qgtkstyle_p.cpp
-@@ -312,7 +312,7 @@ GtkStyle* QGtkStylePrivate::gtkStyle(const QHashableLatin1Literal &path)
- void QGtkStylePrivate::resolveGtk() const
- {
-     // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
--    QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
-+    QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
-     libgtk.setLoadHints(QLibrary::ImprovedSearchHeuristics);
- 
-     gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
-@@ -435,8 +435,8 @@ void QGtkStylePrivate::resolveGtk() const
-     pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
-     pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
- 
--    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync");
--    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init");
-+    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync");
-+    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init");
- }
- 
- /* \internal
-@@ -608,9 +608,9 @@ void QGtkStylePrivate::cleanupGtkWidgets()
- static bool resolveGConf()
- {
-     if (!QGtkStylePrivate::gconf_client_get_default) {
--        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default");
--        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string");
--        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool");
-+        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default");
-+        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string");
-+        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool");
-     }
-     return (QGtkStylePrivate::gconf_client_get_default !=0);
- }
diff --git a/pkgs/development/libraries/qt-4.x/4.8/glib-2.32.patch b/pkgs/development/libraries/qt-4.x/4.8/glib-2.32.patch
deleted file mode 100644
index 4593c1b4ba8..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/glib-2.32.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur qt-everywhere-opensource-src-4.8.2-orig/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h qt-everywhere-opensource-src-4.8.2/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
---- qt-everywhere-opensource-src-4.8.2-orig/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h	2012-04-26 15:46:22.000000000 -0400
-+++ qt-everywhere-opensource-src-4.8.2/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h	2012-07-14 22:47:02.145152876 -0400
-@@ -89,7 +89,7 @@
- #include <pthread.h>
- #elif PLATFORM(GTK)
- #include <wtf/gtk/GOwnPtr.h>
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GCond GCond;
- #endif
- 
diff --git a/pkgs/development/libraries/qt-4.x/4.8/kill-legacy-darwin-apis.patch b/pkgs/development/libraries/qt-4.x/4.8/kill-legacy-darwin-apis.patch
deleted file mode 100644
index c1338e98d85..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/kill-legacy-darwin-apis.patch
+++ /dev/null
@@ -1,330 +0,0 @@
-diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
-index 4a9049b..c0ac9db 100644
---- a/src/corelib/io/qfilesystemengine_unix.cpp
-+++ b/src/corelib/io/qfilesystemengine_unix.cpp
-@@ -242,9 +242,8 @@ QFileSystemEntry QFileSystemEngine::canonicalName(const QFileSystemEntry &entry,
- #else
-     char *ret = 0;
- # if defined(Q_OS_MAC) && !defined(Q_OS_IOS)
--    // When using -mmacosx-version-min=10.4, we get the legacy realpath implementation,
--    // which does not work properly with the realpath(X,0) form. See QTBUG-28282.
--    if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_6) {
-+    // In Nix-on-Darwin, we don't support ancient macOS anyway, and the deleted branch relies on
-+    // a symbol that's been deprecated for years and that our CF doesn't have
-         ret = (char*)malloc(PATH_MAX + 1);
-         if (ret && realpath(entry.nativeFilePath().constData(), (char*)ret) == 0) {
-             const int savedErrno = errno; // errno is checked below, and free() might change it
-@@ -252,19 +251,6 @@ QFileSystemEntry QFileSystemEngine::canonicalName(const QFileSystemEntry &entry,
-             errno = savedErrno;
-             ret = 0;
-         }
--    } else {
--        // on 10.5 we can use FSRef to resolve the file path.
--        QString path = QDir::cleanPath(entry.filePath());
--        FSRef fsref;
--        if (FSPathMakeRef((const UInt8 *)path.toUtf8().data(), &fsref, 0) == noErr) {
--            CFURLRef urlref = CFURLCreateFromFSRef(NULL, &fsref);
--            CFStringRef canonicalPath = CFURLCopyFileSystemPath(urlref, kCFURLPOSIXPathStyle);
--            QString ret = QCFString::toQString(canonicalPath);
--            CFRelease(canonicalPath);
--            CFRelease(urlref);
--            return QFileSystemEntry(ret);
--        }
--    }
- # else
- #  if _POSIX_VERSION >= 200801L
-     ret = realpath(entry.nativeFilePath().constData(), (char*)0);
-diff --git a/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.h b/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.h
-index 3bf7342..b6bcfc0 100644
---- a/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.h
-+++ b/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.h
-@@ -43,7 +43,6 @@ BOOL stringIsCaseInsensitiveEqualToString(NSString *first, NSString *second);
- BOOL hasCaseInsensitiveSuffix(NSString *string, NSString *suffix);
- BOOL hasCaseInsensitiveSubstring(NSString *string, NSString *substring);
- NSString *filenameByFixingIllegalCharacters(NSString *string);
--CFStringEncoding stringEncodingForResource(Handle resource);
- 
- #ifdef __cplusplus
- }
-diff --git a/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.mm b/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.mm
-index d6c3f0c..c88ca76 100644
---- a/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.mm
-+++ b/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.mm
-@@ -68,45 +68,4 @@ BOOL hasCaseInsensitiveSubstring(NSString *string, NSString *substring)
-     return filename;
- }
- 
--CFStringEncoding stringEncodingForResource(Handle resource)
--{
--    short resRef = HomeResFile(resource);
--    if (ResError() != noErr)
--        return NSMacOSRomanStringEncoding;
--    
--    // Get the FSRef for the current resource file
--    FSRef fref;
--    OSStatus error = FSGetForkCBInfo(resRef, 0, NULL, NULL, NULL, &fref, NULL);
--    if (error != noErr)
--        return NSMacOSRomanStringEncoding;
--    
--    RetainPtr<CFURLRef> url(AdoptCF, CFURLCreateFromFSRef(NULL, &fref));
--    if (!url)
--        return NSMacOSRomanStringEncoding;
--
--    NSString *path = [(NSURL *)url.get() path];
--
--    // Get the lproj directory name
--    path = [path stringByDeletingLastPathComponent];
--    if (!stringIsCaseInsensitiveEqualToString([path pathExtension], @"lproj"))
--        return NSMacOSRomanStringEncoding;
--    
--    NSString *directoryName = [[path stringByDeletingPathExtension] lastPathComponent];
--    RetainPtr<CFStringRef> locale(AdoptCF, CFLocaleCreateCanonicalLocaleIdentifierFromString(NULL, (CFStringRef)directoryName));
--    if (!locale)
--        return NSMacOSRomanStringEncoding;
--
--    LangCode lang;
--    RegionCode region;
--    error = LocaleStringToLangAndRegionCodes([(NSString *)locale.get() UTF8String], &lang, &region);
--    if (error != noErr)
--        return NSMacOSRomanStringEncoding;
--
--    TextEncoding encoding;
--    error = UpgradeScriptInfoToTextEncoding(kTextScriptDontCare, lang, region, NULL, &encoding);
--    if (error != noErr)
--        return NSMacOSRomanStringEncoding;
--    
--    return encoding;
--}
- 
-diff --git a/src/3rdparty/webkit/Source/WebCore/plugins/mac/PluginPackageMac.cpp b/src/3rdparty/webkit/Source/WebCore/plugins/mac/PluginPackageMac.cpp
-index 865ea32..20bda8d 100644
---- a/src/3rdparty/webkit/Source/WebCore/plugins/mac/PluginPackageMac.cpp
-+++ b/src/3rdparty/webkit/Source/WebCore/plugins/mac/PluginPackageMac.cpp
-@@ -101,33 +101,6 @@ static WTF::RetainPtr<CFDictionaryRef> readPListFile(CFStringRef fileName, bool
-     return map;
- }
- 
--static Vector<String> stringListFromResourceId(SInt16 id)
--{
--    Vector<String> list;
--
--    Handle handle = Get1Resource('STR#', id);
--    if (!handle)
--        return list;
--
--    CFStringEncoding encoding = stringEncodingForResource(handle);
--
--    unsigned char* p = (unsigned char*)*handle;
--    if (!p)
--        return list;
--
--    SInt16 count = *(SInt16*)p;
--    p += sizeof(SInt16);
--
--    for (SInt16 i = 0; i < count; ++i) {
--        unsigned char length = *p;
--        WTF::RetainPtr<CFStringRef> str = CFStringCreateWithPascalString(0, p, encoding);
--        list.append(str.get());
--        p += 1 + length;
--    }
--
--    return list;
--}
--
- bool PluginPackage::fetchInfo()
- {
-     if (!load())
-@@ -202,36 +175,8 @@ bool PluginPackage::fetchInfo()
-         m_description = (CFStringRef)CFBundleGetValueForInfoDictionaryKey(m_module, CFSTR("WebPluginDescription"));
- 
-     } else {
--        int resFile = CFBundleOpenBundleResourceMap(m_module);
--
--        UseResFile(resFile);
--
--        Vector<String> mimes = stringListFromResourceId(MIMEListStringStringNumber);
--
--        if (mimes.size() % 2 != 0)
--            return false;
--
--        Vector<String> descriptions = stringListFromResourceId(MIMEDescriptionStringNumber);
--        if (descriptions.size() != mimes.size() / 2)
--            return false;
--
--        for (size_t i = 0;  i < mimes.size(); i += 2) {
--            String mime = mimes[i].lower();
--            Vector<String> extensions;
--            mimes[i + 1].lower().split(UChar(','), extensions);
--
--            m_mimeToExtensions.set(mime, extensions);
--
--            m_mimeToDescriptions.set(mime, descriptions[i / 2]);
--        }
--
--        Vector<String> names = stringListFromResourceId(PluginNameOrDescriptionStringNumber);
--        if (names.size() == 2) {
--            m_description = names[0];
--            m_name = names[1];
--        }
--
--        CFBundleCloseBundleResourceMap(m_module, resFile);
-+        LOG(Plugins, "Nix removed ancient code that relies on long-deprecated functionality that we don't want to support!");
-+        return false;
-     }
- 
-     LOG(Plugins, "PluginPackage::fetchInfo(): Found plug-in '%s'", m_name.utf8().data());
-diff --git a/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm b/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm
-index b206e48..669d442 100644
---- a/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm
-+++ b/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm
-@@ -26,7 +26,6 @@
- #import "config.h"
- #import "NetscapePluginModule.h"
- 
--#import <WebCore/WebCoreNSStringExtras.h>
- #import <wtf/HashSet.h>
- 
- using namespace WebCore;
-@@ -196,132 +195,6 @@ static bool getPluginInfoFromPropertyLists(CFBundleRef bundle, PluginInfo& plugi
-     return true;    
- }
- 
--class ResourceMap {
--public:
--    explicit ResourceMap(CFBundleRef bundle)
--        : m_bundle(bundle)
--        , m_currentResourceFile(CurResFile())
--        , m_bundleResourceMap(CFBundleOpenBundleResourceMap(m_bundle))
--    {
--        UseResFile(m_bundleResourceMap);
--    }
--
--    ~ResourceMap()
--    {
--        // Close the resource map.
--        CFBundleCloseBundleResourceMap(m_bundle, m_bundleResourceMap);
--        
--        // And restore the old resource.
--        UseResFile(m_currentResourceFile);
--    }
--
--    bool isValid() const { return m_bundleResourceMap != -1; }
--
--private:
--    CFBundleRef m_bundle;
--    ResFileRefNum m_currentResourceFile;
--    ResFileRefNum m_bundleResourceMap;
--};
--
--static bool getStringListResource(ResID resourceID, Vector<String>& stringList) {
--    Handle stringListHandle = Get1Resource('STR#', resourceID);
--    if (!stringListHandle || !*stringListHandle)
--        return false;
--
--    // Get the string list size.
--    Size stringListSize = GetHandleSize(stringListHandle);
--    if (stringListSize < static_cast<Size>(sizeof(UInt16)))
--        return false;
--
--    CFStringEncoding stringEncoding = stringEncodingForResource(stringListHandle);
--
--    unsigned char* ptr = reinterpret_cast<unsigned char*>(*stringListHandle);
--    unsigned char* end = ptr + stringListSize;
--    
--    // Get the number of strings in the string list.
--    UInt16 numStrings = *reinterpret_cast<UInt16*>(ptr);
--    ptr += sizeof(UInt16);
--
--    for (UInt16 i = 0; i < numStrings; ++i) {
--        // We're past the end of the string, bail.
--        if (ptr >= end)
--            return false;
--
--        // Get the string length.
--        unsigned char stringLength = *ptr++;
--
--        RetainPtr<CFStringRef> cfString(AdoptCF, CFStringCreateWithBytesNoCopy(kCFAllocatorDefault, ptr, stringLength, stringEncoding, false, kCFAllocatorNull));
--        if (!cfString.get())
--            return false;
--
--        stringList.append(cfString.get());
--        ptr += stringLength;
--    }
--
--    if (ptr != end)
--        return false;
--
--    return true;
--}
--
--static const ResID PluginNameOrDescriptionStringNumber = 126;
--static const ResID MIMEDescriptionStringNumber = 127;
--static const ResID MIMEListStringStringNumber = 128;
--
--static bool getPluginInfoFromCarbonResources(CFBundleRef bundle, PluginInfo& pluginInfo)
--{
--    ResourceMap resourceMap(bundle);
--    if (!resourceMap.isValid())
--        return false;
--
--    // Get the description and name string list.
--    Vector<String> descriptionAndName;
--    if (!getStringListResource(PluginNameOrDescriptionStringNumber, descriptionAndName))
--        return false;
--
--    // Get the MIME types and extensions string list. This list needs to be a multiple of two.
--    Vector<String> mimeTypesAndExtensions;
--    if (!getStringListResource(MIMEListStringStringNumber, mimeTypesAndExtensions))
--        return false;
--
--    if (mimeTypesAndExtensions.size() % 2)
--        return false;
--
--    // Now get the MIME type descriptions string list. This string list needs to be the same length as the number of MIME types.
--    Vector<String> mimeTypeDescriptions;
--    if (!getStringListResource(MIMEDescriptionStringNumber, mimeTypeDescriptions))
--        return false;
--
--    // Add all MIME types.
--    for (size_t i = 0; i < mimeTypesAndExtensions.size() / 2; ++i) {
--        MimeClassInfo mimeClassInfo;
--        
--        const String& mimeType = mimeTypesAndExtensions[i * 2];
--        String description;
--        if (i < mimeTypeDescriptions.size())
--            description = mimeTypeDescriptions[i];
--        
--        mimeClassInfo.type = mimeType.lower();
--        mimeClassInfo.desc = description;
--        
--        Vector<String> extensions;
--        mimeTypesAndExtensions[i * 2 + 1].split(',', extensions);
--        
--        for (size_t i = 0; i < extensions.size(); ++i)
--            mimeClassInfo.extensions.append(extensions[i].lower());
--
--        pluginInfo.mimes.append(mimeClassInfo);
--    }
--
--    // Set the description and name if they exist.
--    if (descriptionAndName.size() > 0)
--        pluginInfo.desc = descriptionAndName[0];
--    if (descriptionAndName.size() > 1)
--        pluginInfo.name = descriptionAndName[1];
--
--    return true;
--}
--
- bool NetscapePluginModule::getPluginInfo(const String& pluginPath, PluginInfoStore::Plugin& plugin)
- {
-     RetainPtr<CFStringRef> bundlePath(AdoptCF, pluginPath.createCFString());
-@@ -344,8 +217,7 @@ static bool getPluginInfoFromCarbonResources(CFBundleRef bundle, PluginInfo& plu
-         return false;
-     
-     // Check that there's valid info for this plug-in.
--    if (!getPluginInfoFromPropertyLists(bundle.get(), plugin.info) &&
--        !getPluginInfoFromCarbonResources(bundle.get(), plugin.info))
-+    if (!getPluginInfoFromPropertyLists(bundle.get(), plugin.info))
-         return false;
-     
-     plugin.path = pluginPath;
diff --git a/pkgs/development/libraries/qt-4.x/4.8/libressl.patch b/pkgs/development/libraries/qt-4.x/4.8/libressl.patch
deleted file mode 100644
index 5432610d9dc..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/libressl.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-$OpenBSD: patch-src_network_ssl_qsslsocket_openssl_symbols_cpp,v 1.3 2015/09/17 12:24:42 dcoppa Exp $
---- a/src/network/ssl/qsslsocket_openssl_symbols.cpp	Wed Sep 16 13:27:39 2015
-+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp	Wed Sep 16 13:33:06 2015
-@@ -228,13 +228,17 @@ DEFINEFUNC(int, SSL_shutdown, SSL *a, a, return -1, re
- #ifndef OPENSSL_NO_SSL2
- DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
- #endif
-+#ifndef OPENSSL_NO_SSL3
- DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
- DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
- #ifndef OPENSSL_NO_SSL2
- DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
- #endif
-+#ifndef OPENSSL_NO_SSL3
- DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
- DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
- #else
-@@ -822,13 +826,17 @@ bool q_resolveOpenSslSymbols()
- #ifndef OPENSSL_NO_SSL2
-     RESOLVEFUNC(SSLv2_client_method)
- #endif
-+#ifndef OPENSSL_NO_SSL3
-     RESOLVEFUNC(SSLv3_client_method)
-+#endif
-     RESOLVEFUNC(SSLv23_client_method)
-     RESOLVEFUNC(TLSv1_client_method)
- #ifndef OPENSSL_NO_SSL2
-     RESOLVEFUNC(SSLv2_server_method)
- #endif
-+#ifndef OPENSSL_NO_SSL3
-     RESOLVEFUNC(SSLv3_server_method)
-+#endif
-     RESOLVEFUNC(SSLv23_server_method)
-     RESOLVEFUNC(TLSv1_server_method)
-     RESOLVEFUNC(X509_NAME_entry_count)
---- a/src/network/ssl/qsslsocket_openssl.cpp	Thu May  7 16:14:44 2015
-+++ b/src/network/ssl/qsslsocket_openssl.cpp	Wed Sep 16 13:30:03 2015
-@@ -267,15 +267,19 @@ init_context:
- #endif
-         break;
-     case QSsl::SslV3:
-+#ifndef OPENSSL_NO_SSL3
-         ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
-+#else
-+        ctx = 0; // SSL 3 not supported by the system, but chosen deliberately -> error
-+#endif
-         break;
--    case QSsl::SecureProtocols: // SslV2 will be disabled below
--    case QSsl::TlsV1SslV3: // SslV2 will be disabled below
-     case QSsl::AnyProtocol:
--    default:
-         ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
-         break;
-     case QSsl::TlsV1:
-+    case QSsl::SecureProtocols:
-+    case QSsl::TlsV1SslV3:
-+    default:
-         ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method());
-         break;
-     }
diff --git a/pkgs/development/libraries/qt-4.x/4.8/parallel-configure.patch b/pkgs/development/libraries/qt-4.x/4.8/parallel-configure.patch
deleted file mode 100644
index b9b9d6d0a68..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/parallel-configure.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -1087,2 +1087,3 @@ fi
- #-------------------------------------------------------------------------------
-+JOBS=
- 
-@@ -2528,2 +2529,5 @@ while [ "$#" -gt 0 ]; do
-         ;;
-+    jobs)
-+        JOBS=-j$VAL
-+        ;;
-     *)
-@@ -5072,3 +5076,3 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
-         if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then
--            (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1
-+            (cd "$outpath/qmake" && "$MAKE" $JOBS -f "$mkfile" depend) >/dev/null 2>&1
-            sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp"
-@@ -5080,3 +5084,3 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
-     QMAKE_BUILD_ERROR=no
--    (cd "$outpath/qmake"; "$MAKE") || QMAKE_BUILD_ERROR=yes
-+    (cd "$outpath/qmake"; "$MAKE" $JOBS) || QMAKE_BUILD_ERROR=yes
-     [ '!' -z "$QCONFIG_H" ] && mv -f "$QCONFIG_H" "$QMAKE_QCONFIG_H" #move qmake's qconfig.h to qconfig.h.qmake
diff --git a/pkgs/development/libraries/qt-4.x/4.8/patch-qthread-stacksize.diff b/pkgs/development/libraries/qt-4.x/4.8/patch-qthread-stacksize.diff
deleted file mode 100644
index 53a4c70ac3a..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/patch-qthread-stacksize.diff
+++ /dev/null
@@ -1,54 +0,0 @@
---- a/src/corelib/thread/qthread_unix.cpp.orig	2015-11-23 19:05:40.000000000 +0100
-+++ b/src/corelib/thread/qthread_unix.cpp	2015-11-24 11:22:31.000000000 +0100
-@@ -79,6 +79,7 @@
- #endif
- 
-+#include <sys/resource.h> // getrlimit/setrlimit
- #if defined(Q_OS_MAC)
- # ifdef qDebug
- #   define old_qDebug qDebug
- #   undef qDebug
-@@ -649,6 +650,43 @@
- #endif // QT_HAS_THREAD_PRIORITY_SCHEDULING
- 
- 
-+    if (d->stackSize == 0) {
-+        // Fix the default (too small) stack size for threads on OS X,
-+        // which also affects the thread pool.
-+        // See also:
-+        // https://bugreports.qt.io/browse/QTBUG-2568
-+        // This fix can also be found in Chromium:
-+        // https://chromium.googlesource.com/chromium/src.git/+/master/base/threading/platform_thread_mac.mm#186
-+
-+        // The Mac OS X default for a pthread stack size is 512kB.
-+        // Libc-594.1.4/pthreads/pthread.c's pthread_attr_init uses
-+        // DEFAULT_STACK_SIZE for this purpose.
-+        //
-+        // 512kB isn't quite generous enough for some deeply recursive threads that
-+        // otherwise request the default stack size by specifying 0. Here, adopt
-+        // glibc's behavior as on Linux, which is to use the current stack size
-+        // limit (ulimit -s) as the default stack size. See
-+        // glibc-2.11.1/nptl/nptl-init.c's __pthread_initialize_minimal_internal. To
-+        // avoid setting the limit below the Mac OS X default or the minimum usable
-+        // stack size, these values are also considered. If any of these values
-+        // can't be determined, or if stack size is unlimited (ulimit -s unlimited),
-+        // stack_size is left at 0 to get the system default.
-+        //
-+        // Mac OS X normally only applies ulimit -s to the main thread stack. On
-+        // contemporary OS X and Linux systems alike, this value is generally 8MB
-+        // or in that neighborhood.
-+        size_t default_stack_size = 0;
-+        struct rlimit stack_rlimit;
-+        if (pthread_attr_getstacksize(&attr, &default_stack_size) == 0 &&
-+            getrlimit(RLIMIT_STACK, &stack_rlimit) == 0 &&
-+            stack_rlimit.rlim_cur != RLIM_INFINITY) {
-+            default_stack_size =
-+                    std::max(std::max(default_stack_size,
-+                                      static_cast<size_t>(PTHREAD_STACK_MIN)),
-+                             static_cast<size_t>(stack_rlimit.rlim_cur));
-+        }
-+        d->stackSize = default_stack_size;
-+    }
-     if (d->stackSize > 0) {
- #if defined(_POSIX_THREAD_ATTR_STACKSIZE) && (_POSIX_THREAD_ATTR_STACKSIZE-0 > 0)
-         int code = pthread_attr_setstacksize(&attr, d->stackSize);
diff --git a/pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh b/pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh
deleted file mode 100644
index b024f52f204..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/qmake-hook.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-qmakeConfigurePhase() {
-    runHook preConfigure
-
-    $QMAKE PREFIX=$out $qmakeFlags
-
-    if ! [[ -v enableParallelBuilding ]]; then
-        enableParallelBuilding=1
-        echo "qmake4Hook: enabled parallel building"
-    fi
-
-    if ! [[ -v enableParallelInstalling ]]; then
-        enableParallelInstalling=1
-        echo "qmake: enabled parallel installing"
-    fi
-
-    runHook postConfigure
-}
-
-export QMAKE=@qt4@/bin/qmake
-
-configurePhase=qmakeConfigurePhase
diff --git a/pkgs/development/libraries/qt-4.x/4.8/qsettings-recursive-global-mutex.patch b/pkgs/development/libraries/qt-4.x/4.8/qsettings-recursive-global-mutex.patch
deleted file mode 100644
index 229123c54f7..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/qsettings-recursive-global-mutex.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Calling qsettings before constructing qapplications causes a dead-lock.
-
-http://sourceforge.net/tracker/?func=detail&aid=3168620&group_id=4932&atid=104932
-http://developer.qt.nokia.com/forums/viewthread/10365
-
-
---- ./src/corelib/io/qsettings.cpp.orig
-+++ ./src/corelib/io/qsettings.cpp
-@@ -122,7 +122,7 @@
- Q_GLOBAL_STATIC(ConfFileCache, unusedCacheFunc)
- Q_GLOBAL_STATIC(PathHash, pathHashFunc)
- Q_GLOBAL_STATIC(CustomFormatVector, customFormatVectorFunc)
--Q_GLOBAL_STATIC(QMutex, globalMutex)
-+Q_GLOBAL_STATIC_WITH_ARGS(QMutex, globalMutex, (QMutex::Recursive))
- static QSettings::Format globalDefaultFormat = QSettings::NativeFormat;
- 
- #ifndef Q_OS_WIN
diff --git a/pkgs/development/libraries/qt-4.x/4.8/qt-4.8.7-unixmake-darwin.patch b/pkgs/development/libraries/qt-4.x/4.8/qt-4.8.7-unixmake-darwin.patch
deleted file mode 100644
index 99a36a24fe4..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/qt-4.8.7-unixmake-darwin.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/qmake/generators/unix/unixmake.cpp
-+++ b/qmake/generators/unix/unixmake.cpp
-@@ -831,7 +831,7 @@ UnixMakefileGenerator::defaultInstall(const QString &t)
-             else if(project->first("TEMPLATE") == "app" && !project->isEmpty("QMAKE_STRIPFLAGS_APP"))
-                 ret += " " + var("QMAKE_STRIPFLAGS_APP");
-             if(bundle)
--                ret = " \"" + dst_targ + "/Contents/MacOS/$(QMAKE_TARGET)\"";
-+                ret += " \"" + dst_targ + "/Contents/MacOS/$(QMAKE_TARGET)\"";
-             else
-                 ret += " \"" + dst_targ + "\"";
-         }
diff --git a/pkgs/development/libraries/qt-4.x/4.8/qt-musl-iconv-no-bom.patch b/pkgs/development/libraries/qt-4.x/4.8/qt-musl-iconv-no-bom.patch
deleted file mode 100644
index 35380ad6714..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/qt-musl-iconv-no-bom.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- qt-everywhere-opensource-src-4.8.5/src/corelib/codecs/qiconvcodec.cpp.orig
-+++ qt-everywhere-opensource-src-4.8.5/src/corelib/codecs/qiconvcodec.cpp
-@@ -62,7 +62,7 @@
- #elif defined(Q_OS_AIX)
- #  define NO_BOM
- #  define UTF16 "UCS-2"
--#elif defined(Q_OS_FREEBSD) || defined(Q_OS_MAC)
-+#elif defined(Q_OS_FREEBSD) || defined(Q_OS_MAC) || (defined(Q_OS_LINUX) && !defined(__GLIBC__))
- #  define NO_BOM
- #  if Q_BYTE_ORDER == Q_BIG_ENDIAN
- #    define UTF16 "UTF-16BE"
diff --git a/pkgs/development/libraries/qt-4.x/4.8/qt-musl.patch b/pkgs/development/libraries/qt-4.x/4.8/qt-musl.patch
deleted file mode 100644
index 90b9ccda08c..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/qt-musl.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- qt-everywhere-opensource-src-4.8.5/mkspecs/linux-g++/qplatformdefs.h.orig
-+++ qt-everywhere-opensource-src-4.8.5/mkspecs/linux-g++/qplatformdefs.h
-@@ -86,11 +86,7 @@
- 
- #undef QT_SOCKLEN_T
- 
--#if defined(__GLIBC__) && (__GLIBC__ >= 2)
- #define QT_SOCKLEN_T            socklen_t
--#else
--#define QT_SOCKLEN_T            int
--#endif
- 
- #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
- #define QT_SNPRINTF		::snprintf
diff --git a/pkgs/development/libraries/qt-4.x/4.8/qt4-gcc6.patch b/pkgs/development/libraries/qt-4.x/4.8/qt4-gcc6.patch
deleted file mode 100644
index dfd1d8b893b..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/qt4-gcc6.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- qt-everywhere-opensource-src-4.8.7/configure.gcc6	2016-04-15 07:04:19.430268222 -0500
-+++ qt-everywhere-opensource-src-4.8.7/configure	2016-04-15 07:05:22.157568689 -0500
-@@ -7744,7 +7744,7 @@
-     *-g++*)
- 	# Check gcc's version
- 	case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
--	    5*|4*|3.4*)
-+	    9*|8*|7*|6*|5*|4*|3.4*)
- 		;;
-             3.3*)
-                 canBuildWebKit="no"
-@@ -8060,7 +8060,7 @@
-     3.*)
-         COMPILER_VERSION="3.*"
-         ;;
--    5*|4.*)
-+    9*|8*|7*|6*|5*|4.*)
-         COMPILER_VERSION="4"
-         ;;
-     *)
---- qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6	2015-05-07 09:14:48.000000000 -0500
-+++ qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h	2016-04-15 07:04:19.431268227 -0500
-@@ -70,8 +70,8 @@
-             ForegroundShift = 10,
-             BackgroundShift = 20,
-             SpecialShift    = 20,
--            ForegroundMask  = ((1 << ForegroundShift) - 1) << ForegroundShift,
--            BackgroundMask  = ((1 << BackgroundShift) - 1) << BackgroundShift
-+            ForegroundMask  = 0x1f << ForegroundShift,
-+            BackgroundMask  = 0x7 << BackgroundShift
-         };
- 
-     public:
diff --git a/pkgs/development/libraries/qt-4.x/4.8/qt4-openssl-1.1.patch b/pkgs/development/libraries/qt-4.x/4.8/qt4-openssl-1.1.patch
deleted file mode 100644
index 1931ceb0c74..00000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/qt4-openssl-1.1.patch
+++ /dev/null
@@ -1,398 +0,0 @@
---- a/src/network/ssl/qsslcertificate.cpp
-+++ b/src/network/ssl/qsslcertificate.cpp
-@@ -259,10 +259,10 @@
- QByteArray QSslCertificate::version() const
- {
-     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
--    if (d->versionString.isEmpty() && d->x509)
-+    if (d->versionString.isEmpty() && d->x509) {
-         d->versionString =
--            QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
--
-+	    QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1);
-+    }
-     return d->versionString;
- }
- 
-@@ -276,7 +276,7 @@
- {
-     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
-     if (d->serialNumberString.isEmpty() && d->x509) {
--        ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
-+        ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
-         // if we cannot convert to a long, just output the hexadecimal number
-         if (serialNumber->length > 4) {
-             QByteArray hexString;
-@@ -489,24 +489,33 @@
-     QSslKey key;
- 
-     key.d->type = QSsl::PublicKey;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-     X509_PUBKEY *xkey = d->x509->cert_info->key;
-+#else
-+    X509_PUBKEY *xkey = q_X509_get_X509_PUBKEY(d->x509);
-+#endif
-     EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey);
-     Q_ASSERT(pkey);
- 
--    if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
-+    int key_id;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+    key_id = q_EVP_PKEY_type(pkey->type);
-+#else
-+    key_id = q_EVP_PKEY_base_id(pkey);
-+#endif
-+    if (key_id == EVP_PKEY_RSA) {
-         key.d->rsa = q_EVP_PKEY_get1_RSA(pkey);
-         key.d->algorithm = QSsl::Rsa;
-         key.d->isNull = false;
--    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
-+    } else if (key_id == EVP_PKEY_DSA) {
-         key.d->dsa = q_EVP_PKEY_get1_DSA(pkey);
-         key.d->algorithm = QSsl::Dsa;
-         key.d->isNull = false;
--    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
-+    } else if (key_id == EVP_PKEY_DH) {
-         // DH unsupported
-     } else {
-         // error?
-     }
--
-     q_EVP_PKEY_free(pkey);
-     return key;
- }
---- a/src/network/ssl/qsslkey.cpp
-+++ b/src/network/ssl/qsslkey.cpp
-@@ -321,8 +321,19 @@
- {
-     if (d->isNull)
-         return -1;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-     return (d->algorithm == QSsl::Rsa)
-            ? q_BN_num_bits(d->rsa->n) : q_BN_num_bits(d->dsa->p);
-+#else
-+    if (d->algorithm == QSsl::Rsa) {
-+        return q_RSA_bits(d->rsa);
-+    }else{
-+        BIGNUM *p = NULL;
-+        q_DSA_get0_pqg(d->dsa, &p, NULL, NULL);
-+	return q_BN_num_bits(p);
-+    }
-+#endif
-+
- }
- 
- /*!
---- a/src/network/ssl/qsslsocket_openssl.cpp
-+++ b/src/network/ssl/qsslsocket_openssl.cpp
-@@ -93,6 +93,7 @@
- bool QSslSocketPrivate::s_loadedCiphersAndCerts = false;
- bool QSslSocketPrivate::s_loadRootCertsOnDemand = false;
- 
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- /* \internal
- 
-     From OpenSSL's thread(3) manual page:
-@@ -174,6 +175,8 @@
- }
- } // extern "C"
- 
-+#endif //OPENSSL_VERSION_NUMBER >= 0x10100000L
-+
- QSslSocketBackendPrivate::QSslSocketBackendPrivate()
-     : ssl(0),
-       ctx(0),
-@@ -222,9 +225,12 @@
-             ciph.d->encryptionMethod = descriptionList.at(4).mid(4);
-         ciph.d->exportable = (descriptionList.size() > 6 && descriptionList.at(6) == QLatin1String("export"));
- 
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-         ciph.d->bits = cipher->strength_bits;
-         ciph.d->supportedBits = cipher->alg_bits;
--
-+#else
-+	ciph.d->bits = q_SSL_CIPHER_get_bits(cipher, &ciph.d->supportedBits);
-+#endif
-     }
-     return ciph;
- }
-@@ -367,7 +373,7 @@
-         //
-         // See also: QSslContext::fromConfiguration()
-         if (caCertificate.expiryDate() >= QDateTime::currentDateTime()) {
--            q_X509_STORE_add_cert(ctx->cert_store, (X509 *)caCertificate.handle());
-+	  q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(ctx), (X509 *)caCertificate.handle());
-         }
-     }
- 
-@@ -504,8 +510,10 @@
- */
- void QSslSocketPrivate::deinitialize()
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-     q_CRYPTO_set_id_callback(0);
-     q_CRYPTO_set_locking_callback(0);
-+#endif
- }
- 
- /*!
-@@ -526,13 +534,17 @@
-         return false;
- 
-     // Check if the library itself needs to be initialized.
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-     QMutexLocker locker(openssl_locks()->initLock());
-+#endif
-     if (!s_libraryLoaded) {
-         s_libraryLoaded = true;
- 
-         // Initialize OpenSSL.
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-         q_CRYPTO_set_id_callback(id_function);
-         q_CRYPTO_set_locking_callback(locking_function);
-+#endif
-         if (q_SSL_library_init() != 1)
-             return false;
-         q_SSL_load_error_strings();
-@@ -571,7 +583,9 @@
- 
- void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
- {
--    QMutexLocker locker(openssl_locks()->initLock());
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+  QMutexLocker locker(openssl_locks()->initLock());
-+#endif
-     if (s_loadedCiphersAndCerts)
-         return;
-     s_loadedCiphersAndCerts = true;
-@@ -663,13 +677,18 @@
-     STACK_OF(SSL_CIPHER) *supportedCiphers = q_SSL_get_ciphers(mySsl);
-     for (int i = 0; i < q_sk_SSL_CIPHER_num(supportedCiphers); ++i) {
-         if (SSL_CIPHER *cipher = q_sk_SSL_CIPHER_value(supportedCiphers, i)) {
--            if (cipher->valid) {
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+	  if (cipher->valid) {
-+#endif
-                 QSslCipher ciph = QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(cipher);
-                 if (!ciph.isNull()) {
-                     if (!ciph.name().toLower().startsWith(QLatin1String("adh")))
-                         ciphers << ciph;
-                 }
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-             }
-+#endif
-         }
-     }
- 
---- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
-+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
-@@ -290,6 +290,22 @@
- DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
- DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return)
- DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *ctx, ctx, return 0, return)
-+
-+DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *x, x, return 0, return)
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+DEFINEFUNC(int, EVP_PKEY_id, const EVP_PKEY *pkey, pkey, return 0, return)
-+DEFINEFUNC(int, EVP_PKEY_base_id, const EVP_PKEY *pkey, pkey, return 0, return)
-+DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *cipher, cipher, int *alg_bits, alg_bits, return 0, return)
-+DEFINEFUNC2(long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, long options, options, return 0, return)
-+DEFINEFUNC(long, X509_get_version, X509 *x, x, return 0, return)
-+DEFINEFUNC(X509_PUBKEY *, X509_get_X509_PUBKEY, X509 *x, x, return 0, return)
-+DEFINEFUNC(int, RSA_bits,  const RSA *rsa, rsa, return 0, return)
-+DEFINEFUNC(int, DSA_security_bits, const DSA *dsa, dsa, return 0, return)
-+DEFINEFUNC(ASN1_TIME *, X509_get_notAfter, X509 *x, x, return 0, return)
-+DEFINEFUNC(ASN1_TIME *, X509_get_notBefore, X509 *x, x, return 0, return)
-+DEFINEFUNC4(void, DSA_get0_pqg, const DSA *d, d, BIGNUM **p, p, BIGNUM **q, q, BIGNUM **g, g, return, return)
-+#endif
- 
- #ifdef Q_OS_SYMBIAN
- #define RESOLVEFUNC(func, ordinal, lib) \
-@@ -801,6 +817,7 @@
-     RESOLVEFUNC(SSL_CTX_use_PrivateKey)
-     RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey)
-     RESOLVEFUNC(SSL_CTX_use_PrivateKey_file)
-+    RESOLVEFUNC(SSL_CTX_get_cert_store)
-     RESOLVEFUNC(SSL_accept)
-     RESOLVEFUNC(SSL_clear)
-     RESOLVEFUNC(SSL_connect)
-@@ -823,6 +840,23 @@
-     RESOLVEFUNC(SSL_set_connect_state)
-     RESOLVEFUNC(SSL_shutdown)
-     RESOLVEFUNC(SSL_write)
-+
-+    RESOLVEFUNC(X509_get_serialNumber)
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+    RESOLVEFUNC(SSL_CTX_ctrl)
-+    RESOLVEFUNC(EVP_PKEY_id)
-+    RESOLVEFUNC(EVP_PKEY_base_id)
-+    RESOLVEFUNC(SSL_CIPHER_get_bits)
-+    RESOLVEFUNC(SSL_CTX_set_options)
-+    RESOLVEFUNC(X509_get_version)
-+    RESOLVEFUNC(X509_get_X509_PUBKEY)
-+    RESOLVEFUNC(RSA_bits)
-+    RESOLVEFUNC(DSA_security_bits)
-+    RESOLVEFUNC(DSA_get0_pqg)
-+    RESOLVEFUNC(X509_get_notAfter)
-+    RESOLVEFUNC(X509_get_notBefore)
-+#endif
-+
- #ifndef OPENSSL_NO_SSL2
-     RESOLVEFUNC(SSLv2_client_method)
- #endif
---- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
-+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
-@@ -399,7 +399,25 @@
- 		PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\
- 			bp,(char *)x,enc,kstr,klen,cb,u)
- #endif
-+
-+X509_STORE * q_SSL_CTX_get_cert_store(const SSL_CTX *ctx);
-+ASN1_INTEGER * q_X509_get_serialNumber(X509 *x);
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- #define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
-+#define q_X509_get_version(x) X509_get_version(x)
-+#else
-+int q_EVP_PKEY_id(const EVP_PKEY *pkey);
-+int q_EVP_PKEY_base_id(const EVP_PKEY *pkey);
-+int q_SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *alg_bits);
-+long q_SSL_CTX_set_options(SSL_CTX *ctx, long options);
-+long q_X509_get_version(X509 *x);
-+X509_PUBKEY * q_X509_get_X509_PUBKEY(X509 *x);
-+int q_RSA_bits(const RSA *rsa);
-+int q_DSA_security_bits(const DSA *dsa);
-+void q_DSA_get0_pqg(const DSA *d, BIGNUM **p, BIGNUM **q, BIGNUM **g);
-+#endif
-+
- #define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st)
- #define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i)
- #define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st))
-@@ -410,8 +428,15 @@
- #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i))
- #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \
-         q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- #define q_X509_get_notAfter(x) X509_get_notAfter(x)
- #define q_X509_get_notBefore(x) X509_get_notBefore(x)
-+#else
-+ASN1_TIME *q_X509_get_notAfter(X509 *x);
-+ASN1_TIME *q_X509_get_notBefore(X509 *x);
-+#endif
-+
- #define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
- 					(char *)(rsa))
- #define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp.omv~	2017-03-15 02:27:18.143322736 +0100
-+++ qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslcertificate.cpp	2017-03-15 02:29:56.215819741 +0100
-@@ -696,7 +696,7 @@
-         unsigned char *data = 0;
-         int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e));
-         info[QString::fromUtf8(obj)] = QString::fromUtf8((char*)data, size);
--        q_CRYPTO_free(data);
-+        q_OPENSSL_free(data);
-     }
-     return info;
- }
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp.0131~	2017-03-15 02:22:37.053244125 +0100
-+++ qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslkey.cpp	2017-03-15 02:22:37.055244057 +0100
-@@ -328,7 +328,7 @@
-     if (d->algorithm == QSsl::Rsa) {
-         return q_RSA_bits(d->rsa);
-     }else{
--        BIGNUM *p = NULL;
-+        const BIGNUM *p = NULL;
-         q_DSA_get0_pqg(d->dsa, &p, NULL, NULL);
- 	return q_BN_num_bits(p);
-     }
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp.0131~	2017-03-15 02:22:37.054244091 +0100
-+++ qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp	2017-03-15 02:29:41.155236836 +0100
-@@ -111,16 +111,16 @@
- DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return);
- DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return)
- DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return)
--DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
-+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return)
- DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return)
- DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return)
--DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
- DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return)
- DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return)
- DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
- DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
--DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
-+DEFINEFUNC(void, OPENSSL_free, void *a, a, return, DUMMYARG)
- DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG)
- #if  OPENSSL_VERSION_NUMBER < 0x00908000L
- DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, unsigned char **b, b, long c, c, return 0, return)
-@@ -300,7 +300,7 @@
- DEFINEFUNC(int, DSA_security_bits, const DSA *dsa, dsa, return 0, return)
- DEFINEFUNC(ASN1_TIME *, X509_get_notAfter, X509 *x, x, return 0, return)
- DEFINEFUNC(ASN1_TIME *, X509_get_notBefore, X509 *x, x, return 0, return)
--DEFINEFUNC4(void, DSA_get0_pqg, const DSA *d, d, BIGNUM **p, p, BIGNUM **q, q, BIGNUM **g, g, return, return)
-+DEFINEFUNC4(void, DSA_get0_pqg, const DSA *d, d, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, return)
- #endif
- 
- #ifdef Q_OS_SYMBIAN
---- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h.0131~	2017-03-15 02:22:37.054244091 +0100
-+++ qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols_p.h	2017-03-15 02:29:50.192986268 +0100
-@@ -59,6 +59,9 @@
- QT_BEGIN_NAMESPACE
- 
- #define DUMMYARG
-+#ifndef OPENSSL_NO_SSL2
-+#define OPENSSL_NO_SSL2 1
-+#endif
- 
- #if !defined QT_LINKED_OPENSSL
- // **************** Shared declarations ******************
-@@ -207,16 +210,16 @@
- int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b);
- long q_BIO_ctrl(BIO *a, int b, long c, void *d);
- int q_BIO_free(BIO *a);
--BIO *q_BIO_new(BIO_METHOD *a);
-+BIO *q_BIO_new(const BIO_METHOD *a);
- BIO *q_BIO_new_mem_buf(void *a, int b);
- int q_BIO_read(BIO *a, void *b, int c);
--BIO_METHOD *q_BIO_s_mem();
-+const BIO_METHOD *q_BIO_s_mem();
- int q_BIO_write(BIO *a, const void *b, int c);
- int q_BN_num_bits(const BIGNUM *a);
- int q_CRYPTO_num_locks();
- void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int));
- void q_CRYPTO_set_id_callback(unsigned long (*a)());
--void q_CRYPTO_free(void *a);
-+void q_OPENSSL_free(void *a);
- void q_DSA_free(DSA *a);
- #if OPENSSL_VERSION_NUMBER >= 0x00908000L
- // 0.9.8 broke SC and BC by changing this function's signature.
-@@ -326,7 +329,6 @@
- void q_SSL_set_connect_state(SSL *a);
- int q_SSL_shutdown(SSL *a);
- #if OPENSSL_VERSION_NUMBER >= 0x10000000L
--const SSL_METHOD *q_SSLv2_client_method();
- const SSL_METHOD *q_SSLv3_client_method();
- const SSL_METHOD *q_SSLv23_client_method();
- const SSL_METHOD *q_TLSv1_client_method();
-@@ -335,7 +337,6 @@
- const SSL_METHOD *q_SSLv23_server_method();
- const SSL_METHOD *q_TLSv1_server_method();
- #else
--SSL_METHOD *q_SSLv2_client_method();
- SSL_METHOD *q_SSLv3_client_method();
- SSL_METHOD *q_SSLv23_client_method();
- SSL_METHOD *q_TLSv1_client_method();
-@@ -415,7 +416,7 @@
- X509_PUBKEY * q_X509_get_X509_PUBKEY(X509 *x);
- int q_RSA_bits(const RSA *rsa);
- int q_DSA_security_bits(const DSA *dsa);
--void q_DSA_get0_pqg(const DSA *d, BIGNUM **p, BIGNUM **q, BIGNUM **g);
-+void q_DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g);
- #endif
- 
- #define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st)
diff --git a/pkgs/development/libraries/qt-mobility/default.nix b/pkgs/development/libraries/qt-mobility/default.nix
deleted file mode 100644
index 7807e41b606..00000000000
--- a/pkgs/development/libraries/qt-mobility/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, qt4, libX11, coreutils, bluez, perl }:
-# possible additional dependencies: pulseaudio udev networkmanager immerson qmf
-
-stdenv.mkDerivation rec {
-  version = "1.2.0";
-  pname = "qt-mobility";
-  src = fetchFromGitHub {
-    owner = "qtproject";
-    repo = "qt-mobility";
-    rev = "v${version}";
-    sha256 = "14713pbscysd6d0b9rgm7gg145jzwvgdn22778pf2v13qzvfmy1i";
-  };
-
-  env.NIX_CFLAGS_COMPILE = "-fpermissive";
-
-  configurePhase = ''
-    ./configure -prefix $out
-  '';
-
-  # we need to prevent the 'make install' to want to write to ${qt4}!
-  # according to thiago#qt@freenode these are used for the QML engine
-  preBuild = ''
-    for i in connectivity contacts feedback gallery location multimedia organizer publishsubscribe sensors serviceframework systeminfo; do
-      substituteInPlace plugins/declarative/$i/Makefile --replace "${qt4}/lib/qt4/imports/" "$out/lib/qt4/imports/"
-    done
-  '';
-
-  # Features files (*.prf) are not installed on nixos
-  # https://bugreports.qt-project.org/browse/QTMOBILITY-1085
-  #  - features/mobility.prf (/tmp/nix-build-9kh12nhf9cyplfwiws96gz414v6wgl67-qt-mobility-1.2.0.drv-0/qt-mobility-opensource-src-1.2.0)
-
-  patchPhase = ''
-    # required to make the configure script work
-    substituteInPlace configure --replace "/bin/pwd" "${coreutils}/bin/pwd"
-
-    # required to make /include generator work
-    substituteInPlace bin/syncheaders --replace "/usr/bin/perl" "${perl}/bin/perl"
-
-    # required to make the -prefix variable parsing work
-    substituteInPlace bin/pathhelper --replace "/usr/bin/perl" "${perl}/bin/perl"
-  '';
-
-  buildInputs = [ qt4 libX11 bluez perl ];
-
-  meta = with lib; {
-    description = "Qt Mobility";
-    homepage = "http://qt.nokia.com/products/qt-addons/mobility";
-    maintainers = [ maintainers.qknight ];
-    platforms = platforms.linux;
-    license = with licenses; [ bsd3 fdl13Plus gpl3Plus lgpl21Plus ];
-  };
-}
-
-
diff --git a/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix b/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix
deleted file mode 100644
index b9144954295..00000000000
--- a/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, qmake4Hook , qt4, libX11, libXext }:
-
-stdenv.mkDerivation rec {
-  pname = "qtstyleplugin-kvantum-qt4";
-  version = "1.0.10";
-
-  src = fetchFromGitHub {
-    owner = "tsujan";
-    repo = "Kvantum";
-    rev = "V${version}";
-    hash = "sha256-48Blio8qHLmXSKG0c1tphXSfiwQXs0Xqwxe187nM3Ro=";
-  };
-
-  nativeBuildInputs = [ qmake4Hook ];
-  buildInputs = [ qt4 libX11 libXext ];
-
-  sourceRoot = "${src.name}/Kvantum";
-
-  buildPhase = ''
-    runHook preBuild
-    qmake kvantum.pro
-    make
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    mkdir $TMP/kvantum
-    make INSTALL_ROOT="$TMP/kvantum" install
-    mv $TMP/kvantum/usr/ $out
-    mv $TMP/kvantum/${qt4}/lib $out
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "SVG-based Qt4 theme engine";
-    homepage = "https://github.com/tsujan/Kvantum";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bugworm ];
-  };
-}
diff --git a/pkgs/development/libraries/qwt/6_qt4.nix b/pkgs/development/libraries/qwt/6_qt4.nix
deleted file mode 100644
index 021fa0ba57d..00000000000
--- a/pkgs/development/libraries/qwt/6_qt4.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenv, fetchurl, qt4, qmake4Hook, AGL }:
-
-stdenv.mkDerivation rec {
-  pname = "qwt";
-  version = "6.1.5";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/qwt/qwt-${version}.tar.bz2";
-    sha256 = "0hf0mpca248xlqn7xnzkfj8drf19gdyg5syzklvq8pibxiixwxj0";
-  };
-
-  buildInputs = [
-    qt4
-  ] ++ lib.optionals stdenv.isDarwin [ AGL ];
-
-  nativeBuildInputs = [ qmake4Hook ];
-
-  enableParallelBuilding = true;
-
-  postPatch = ''
-    sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri
-  '';
-
-  # qwt.framework output includes a relative reference to itself, which breaks dependents
-  preFixup =
-    lib.optionalString stdenv.isDarwin ''
-      echo "Attempting to repair qwt"
-      install_name_tool -id "$out/lib/qwt.framework/Versions/6/qwt" "$out/lib/qwt.framework/Versions/6/qwt"
-    '';
-
-  qmakeFlags = [ "-after doc.path=$out/share/doc/qwt-${version}" ];
-
-  meta = with lib; {
-    description = "Qt widgets for technical applications";
-    homepage = "http://qwt.sourceforge.net/";
-    # LGPL 2.1 plus a few exceptions (more liberal)
-    license = lib.licenses.qwt;
-    platforms = platforms.linux ++ platforms.darwin;
-    maintainers = [ maintainers.bjornfor ];
-    branch = "6";
-  };
-}
diff --git a/pkgs/development/libraries/smokegen/default.nix b/pkgs/development/libraries/smokegen/default.nix
deleted file mode 100644
index 2a93965aeb3..00000000000
--- a/pkgs/development/libraries/smokegen/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, lib, cmake, qt4, fetchzip }:
-
-stdenv.mkDerivation rec {
-  pname = "smokegen";
-  version = "4.14.3";
-
-  src = fetchzip {
-    url = "https://invent.kde.org/unmaintained/${pname}/-/archive/v${version}/${pname}-v${version}.tar.gz";
-    hash = "sha256-finsoruPeJZLawIjNUJ25Pq54eaCByfALVraNQJPk7c=";
-  };
-
-  strictDeps = true;
-  nativeBuildInputs = [ cmake qt4 ];
-  buildInputs = [ qt4 ];
-
-  meta = with lib; {
-    description = "A general purpose C++ parser with a plugin infrastructure";
-    homepage = "https://invent.kde.org/unmaintained/smokegen";
-    license = licenses.gpl2Only;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ uthar ];
-  };
-}
diff --git a/pkgs/development/libraries/smokeqt/default.nix b/pkgs/development/libraries/smokeqt/default.nix
deleted file mode 100644
index 1c427b8abb7..00000000000
--- a/pkgs/development/libraries/smokeqt/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, lib, cmake, qt4, smokegen, fetchzip }:
-
-stdenv.mkDerivation rec {
-  pname = "smokeqt";
-  version = "4.14.3";
-
-  src = fetchzip {
-    url = "https://invent.kde.org/unmaintained/${pname}/-/archive/v${version}/${pname}-v${version}.tar.gz";
-    hash = "sha256-8FiEGF8gduVw5I/bi2wExGUWmjIjYEhWpjpXKJGBNMg=";
-  };
-
-  strictDeps = true;
-  nativeBuildInputs = [ cmake smokegen ];
-  buildInputs = [ qt4 ];
-
-  cmakeFlags = [
-    "-DCMAKE_CXX_STANDARD=98"
-  ];
-
-  meta = with lib; {
-    description = "Bindings for the Qt libraries";
-    homepage = "https://invent.kde.org/unmaintained/smokeqt";
-    license = licenses.gpl2Only;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ uthar ];
-  };
-}
diff --git a/pkgs/development/lisp-modules-new-obsolete/packages.nix b/pkgs/development/lisp-modules-new-obsolete/packages.nix
index 244d2f4b5b5..1c65a369f0e 100644
--- a/pkgs/development/lisp-modules-new-obsolete/packages.nix
+++ b/pkgs/development/lisp-modules-new-obsolete/packages.nix
@@ -11,9 +11,6 @@ let
     optionals
     hasSuffix
     splitString
-    remove
-    optionalString
-    stringLength
   ;
 
   # Used by builds that would otherwise attempt to write into storeDir.
@@ -45,11 +42,6 @@ let
       # Patches are already applied in `build`
       patches = [];
       src = build;
-      # TODO(kasper): handle this with a setup hook
-      LD_LIBRARY_PATH =
-        build.LD_LIBRARY_PATH
-        + (optionalString (stringLength build.LD_LIBRARY_PATH != 0) ":")
-        + "${build}";
     });
 
   # A little hacky
@@ -340,97 +332,5 @@ let
     };
     version = "f19162e76";
   });
-
-  qt = let
-    rev = "dffff3ee3dbd0686c85c323f579b8bbf4881e60e";
-  in build-with-compile-into-pwd rec {
-    pname = "commonqt";
-    version = builtins.substring 0 7 rev;
-
-    src = pkgs.fetchFromGitHub {
-      inherit rev;
-      owner = pname;
-      repo = pname;
-      hash = "sha256-GAgwT0D9mIkYPTHfCH/KxxIv7b6QGwcxwZE7ehH5xug=";
-    };
-
-    buildInputs = [ pkgs.qt4 ];
-    nativeBuildInputs = [ pkgs.smokegen pkgs.smokeqt ];
-    nativeLibs = [ pkgs.qt4 pkgs.smokegen pkgs.smokeqt ];
-
-    systems = [ "qt" ];
-
-    lispLibs = with ql; [
-      cffi named-readtables cl-ppcre alexandria
-      closer-mop iterate trivial-garbage bordeaux-threads
-    ];
-  };
-
-  qt-libs = build-with-compile-into-pwd {
-    inherit (ql.qt-libs) pname version src;
-    patches = [ ./patches/qt-libs-dont-download.patch ];
-    prePatch = ''
-      substituteInPlace systems/*.asd --replace ":qt+libs" ":qt"
-      echo "LD Path: $LD_LIBRARY_PATH"
-    '';
-    lispLibs = ql.qt-libs.lispLibs ++ [ qt ];
-    systems = [
-      "qt-libs"
-      "commonqt"
-      # "phonon"
-      # "qimageblitz"
-      # "qsci"
-      "qt3support"
-      "qtcore"
-      "qtdbus"
-      "qtdeclarative"
-      "qtgui"
-      "qthelp"
-      "qtnetwork"
-      "qtopengl"
-      "qtscript"
-      "qtsql"
-      "qtsvg"
-      "qttest"
-      "qtuitools"
-      # "qtwebkit"
-      "qtxml"
-      "qtxmlpatterns"
-      # "qwt"
-      "smokebase"
-    ];
   };
-  commonqt = qt-libs;
-  qt3support = qt-libs;
-  qtcore = qt-libs;
-  qtdbus = qt-libs;
-  qtdeclarative = qt-libs;
-  qtgui = qt-libs;
-  qthelp = qt-libs;
-  qtnetwork = qt-libs;
-  qtopengl = qt-libs;
-  qtscript = qt-libs;
-  qtsql = qt-libs;
-  qtsvg = qt-libs;
-  qttest = qt-libs;
-  qtuitools = qt-libs;
-  qtxml = qt-libs;
-  qtxmlpatterns = qt-libs;
-  smokebase = qt-libs;
-
-  qtools = build-with-compile-into-pwd {
-    inherit (ql.qtools) pname version src nativeLibs;
-    lispLibs = [ qt ] ++ remove ql.qt_plus_libs ql.qtools.lispLibs ++ [ qt-libs ];
-    patches = [ ./patches/qtools-use-nix-libs.patch ];
-  };
-
-  magicl = build-with-compile-into-pwd {
-    inherit (ql.magicl) pname version src lispLibs;
-    nativeBuildInputs = [ pkgs.gfortran ];
-    nativeLibs = [ pkgs.openblas ];
-    patches = [ ./patches/magicl-dont-build-fortran-twice.patch ];
-  };
-
-  };
-
 in packages
diff --git a/pkgs/development/lisp-modules-new-obsolete/patches/qt-libs-dont-download.patch b/pkgs/development/lisp-modules-new-obsolete/patches/qt-libs-dont-download.patch
deleted file mode 100644
index e21a44c2a17..00000000000
--- a/pkgs/development/lisp-modules-new-obsolete/patches/qt-libs-dont-download.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/qt-libs.asd
-+++ b/qt-libs.asd
-@@ -17,5 +17,4 @@
-   :components ((:file "qt-libs"))
-   :depends-on (:qt-lib-generator
-                :cl-ppcre
--               :cffi)
--  :perform (asdf:load-op :after (op c) (uiop:symbol-call :qt-libs :ensure-standalone-libs)))
-+               :cffi))
---- a/qt-libs.lisp
-+++ b/qt-libs.lisp
-@@ -94,16 +94,14 @@
-   standalone-dir)
-
- (defun %ensure-lib-loaded (file)
--  (let ((file (etypecase file
--                (pathname file)
--                (string (installed-library-file file))))
--        (name (intern (string-upcase (pathname-name file))))
--        #+sbcl(sb-ext:*muffled-warnings* 'style-warning))
--    (cffi::register-foreign-library
--     name `((T ,file))
--     :search-path (to-directory file))
--    (unless (cffi:foreign-library-loaded-p name)
--      (cffi:load-foreign-library name))))
-+ (let ((name (make-pathname :name (format nil "lib~a" file)
-+                             :type #+unix "so"
-+                                   #+darwin "dylib")))
-+    (or (find-if (lambda (lib)
-+                   (equal (cffi:foreign-library-pathname lib)
-+                          (namestring name)))
-+                 (cffi:list-foreign-libraries))
-+        (cffi:load-foreign-library name))))
-
- (defun ensure-lib-loaded (file)
-   (cond ((pathnamep file)
\ No newline at end of file
diff --git a/pkgs/development/lisp-modules/packages.nix b/pkgs/development/lisp-modules/packages.nix
index a56dfc2f5e9..0d665a1bfde 100644
--- a/pkgs/development/lisp-modules/packages.nix
+++ b/pkgs/development/lisp-modules/packages.nix
@@ -535,88 +535,6 @@ let
   });
 
 
-  qt = let
-    rev = "dffff3ee3dbd0686c85c323f579b8bbf4881e60e";
-  in build-with-compile-into-pwd rec {
-    pname = "commonqt";
-    version = builtins.substring 0 7 rev;
-    src = pkgs.fetchFromGitHub {
-      inherit rev;
-      owner = pname;
-      repo = pname;
-      hash = "sha256-GAgwT0D9mIkYPTHfCH/KxxIv7b6QGwcxwZE7ehH5xug=";
-    };
-
-    buildInputs = [ pkgs.qt4 ];
-    nativeBuildInputs = [ pkgs.smokegen pkgs.smokeqt ];
-    nativeLibs = [ pkgs.qt4 pkgs.smokegen pkgs.smokeqt ];
-
-    systems = [ "qt" ];
-
-    lispLibs = with super; [
-      cffi named-readtables cl-ppcre alexandria
-      closer-mop iterate trivial-garbage bordeaux-threads
-    ];
-  };
-
-  qt-libs = build-with-compile-into-pwd {
-    inherit (super.qt-libs) pname version src;
-    patches = [ ./patches/qt-libs-dont-download.patch ];
-    prePatch = ''
-      substituteInPlace systems/*.asd --replace ":qt+libs" ":qt"
-    '';
-    lispLibs = super.qt-libs.lispLibs ++ [ self.qt ];
-    systems = [
-      "qt-libs"
-      "commonqt"
-      # "phonon"
-      # "qimageblitz"
-      # "qsci"
-      "qt3support"
-      "qtcore"
-      "qtdbus"
-      "qtdeclarative"
-      "qtgui"
-      "qthelp"
-      "qtnetwork"
-      "qtopengl"
-      "qtscript"
-      "qtsql"
-      "qtsvg"
-      "qttest"
-      "qtuitools"
-      # "qtwebkit"
-      "qtxml"
-      "qtxmlpatterns"
-      # "qwt"
-      "smokebase"
-    ];
-  };
-
-  commonqt = self.qt-libs;
-  qt3support = self.qt-libs;
-  qtcore = self.qt-libs;
-  qtdbus = self.qt-libs;
-  qtdeclarative = self.qt-libs;
-  qtgui = self.qt-libs;
-  qthelp = self.qt-libs;
-  qtnetwork = self.qt-libs;
-  qtopengl = self.qt-libs;
-  qtscript = self.qt-libs;
-  qtsql = self.qt-libs;
-  qtsvg = self.qt-libs;
-  qttest = self.qt-libs;
-  qtuitools = self.qt-libs;
-  qtxml = self.qt-libs;
-  qtxmlpatterns = self.qt-libs;
-  smokebase = self.qt-libs;
-
-  qtools = build-with-compile-into-pwd {
-    inherit (super.qtools) pname version src nativeLibs;
-    lispLibs = [ self.qt ] ++ remove super.qt_plus_libs super.qtools.lispLibs ++ [ self.qt-libs ];
-    patches = [ ./patches/qtools-use-nix-libs.patch ];
-  };
-
   magicl = build-with-compile-into-pwd {
     inherit (super.magicl) pname version src lispLibs;
     nativeBuildInputs = [ pkgs.gfortran ];
diff --git a/pkgs/development/lisp-modules/patches/qtools-use-nix-libs.patch b/pkgs/development/lisp-modules/patches/qtools-use-nix-libs.patch
deleted file mode 100644
index b380894b04a..00000000000
--- a/pkgs/development/lisp-modules/patches/qtools-use-nix-libs.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Dont use the qt+libs system for managing Qt dependencies, because Nix provides
-them already.
-Don't build the deploy.lisp helper file, because Nix also can handle deployment.
---- a/qtools.asd
-+++ b/qtools.asd
-@@ -33,10 +33,9 @@
-                (:file "generate")
-                (:file "dynamic")
-                (:file "precompile")
--               (:file "deploy")
-                (:file "fast-call")
-                (:file "documentation"))
--  :depends-on (:qt+libs
-+  :depends-on (:qt
-                :deploy
-                :cl-ppcre
-                :closer-mop
-
-Diff finished.  Sun Oct  2 14:38:06 2022
\ No newline at end of file
diff --git a/pkgs/development/python-modules/ete3/default.nix b/pkgs/development/python-modules/ete3/default.nix
index b3c598ad396..48ec3ca6238 100644
--- a/pkgs/development/python-modules/ete3/default.nix
+++ b/pkgs/development/python-modules/ete3/default.nix
@@ -7,7 +7,6 @@
 , withTreeVisualization ? false
 , lxml
 , withXmlSupport ? false
-, pyqt4
 , pyqt5
 }:
 
@@ -25,7 +24,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "ete3" ];
 
   propagatedBuildInputs = [ six numpy ]
-    ++ lib.optional withTreeVisualization (if isPy3k then pyqt5 else pyqt4)
+    ++ lib.optional withTreeVisualization pyqt5
     ++ lib.optional withXmlSupport lxml;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/nuitka/default.nix b/pkgs/development/python-modules/nuitka/default.nix
index 9eb5faa6064..ca2272ac1bd 100644
--- a/pkgs/development/python-modules/nuitka/default.nix
+++ b/pkgs/development/python-modules/nuitka/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , fetchFromGitHub
 , vmprof
-, pyqt4
 , isPyPy
 , pkgs
 , scons
@@ -21,7 +20,7 @@ buildPythonPackage rec {
     hash = "sha256-8eWOcxATVS866nlN39b2VU1CuXAfcn0yQsDweHS2yDU=";
   };
 
-  nativeCheckInputs = [ vmprof pyqt4 ];
+  nativeCheckInputs = [ vmprof ];
   nativeBuildInputs = [ scons ];
   propagatedBuildInputs = [ chrpath ];
 
diff --git a/pkgs/development/python-modules/pyqt/4.x.nix b/pkgs/development/python-modules/pyqt/4.x.nix
deleted file mode 100644
index a0bf3f03f60..00000000000
--- a/pkgs/development/python-modules/pyqt/4.x.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ lib, stdenv, fetchurl, buildPythonPackage, python, dbus-python, sip_4, qt4, pkg-config, lndir, dbus, makeWrapper }:
-
-buildPythonPackage rec {
-  pname = "PyQt-x11-gpl";
-  version = "4.12.3";
-  format = "other";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/pyqt/PyQt4_gpl_x11-${version}.tar.gz";
-    sha256 = "0wnlasg62rm5d39nq1yw4namcx2ivxgzl93r5f2vb9s0yaz5l3x0";
-  };
-
-  postPatch = ''
-    mkdir -p $out
-    lndir ${dbus-python} $out
-    rm -rf "$out/nix-support"
-
-    export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
-    ${lib.optionalString stdenv.isDarwin ''
-      export QMAKESPEC="unsupported/macx-clang-libc++" # macOS target after bootstrapping phase \
-    ''}
-
-    substituteInPlace configure.py \
-      --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'" \
-    ${lib.optionalString stdenv.isDarwin ''
-      --replace "qt_macx_spec = 'macx-g++'" "qt_macx_spec = 'unsupported/macx-clang-libc++'" # for bootstrapping phase \
-    ''}
-
-    chmod +x configure.py
-    sed -i '1i#!${python.pythonForBuild.interpreter}' configure.py
-  '';
-
-  configureScript = "./configure.py";
-  dontAddPrefix = true;
-  configureFlags = [
-    "--confirm-license"
-    "--bindir=${placeholder "out"}/bin"
-    "--destdir=${placeholder "out"}/${python.sitePackages}"
-    "--plugin-destdir=${placeholder "out"}/lib/qt4/plugins"
-    "--sipdir=${placeholder "out"}/share/sip/PyQt4"
-    "--dbus=${lib.getDev dbus-python}/include/dbus-1.0"
-    "--verbose"
-  ];
-
-  nativeBuildInputs = [ pkg-config lndir makeWrapper qt4 ];
-  buildInputs = [ qt4 dbus ];
-
-  propagatedBuildInputs = [ sip_4 ];
-
-  postInstall = ''
-    for i in $out/bin/*; do
-      wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
-    done
-  '';
-
-  enableParallelBuilding = true;
-
-  passthru = {
-    qt = qt4;
-  };
-
-  meta = with lib; {
-    description = "Python bindings for Qt";
-    license = "GPL";
-    homepage = "http://www.riverbankcomputing.co.uk";
-    maintainers = [ maintainers.sander ];
-    platforms = platforms.mesaPlatforms;
-  };
-}
diff --git a/pkgs/development/python-modules/pyside/apiextractor.nix b/pkgs/development/python-modules/pyside/apiextractor.nix
deleted file mode 100644
index 1ad2d012382..00000000000
--- a/pkgs/development/python-modules/pyside/apiextractor.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, libxml2, libxslt, python3, qt4 }:
-
-# This derivation does not provide any Python module and should therefore be called via `all-packages.nix`.
-let
-  pythonEnv = python3.withPackages (ps: with ps; [ sphinx ]);
-in
-stdenv.mkDerivation rec {
-  pname = "pyside-apiextractor";
-  version = "0.10.10";
-
-  src = fetchFromGitHub {
-    owner = "PySide";
-    repo = "Apiextractor";
-    rev = version;
-    hash = "sha256-YH8aYyzv59xiIglZbdNgOPnmEQwNE2GmotAFFfFdMlg=";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  preConfigure = ''
-    cmakeFlagsArray=("-DCMAKE_INSTALL_PREFIX=$dev")
-  '';
-
-  nativeBuildInputs = [ cmake pythonEnv ];
-  buildInputs = [ qt4 libxml2 libxslt ];
-
-  meta = with lib; {
-    description = "Eases the development of bindings of Qt-based libraries for high level languages by automating most of the process";
-    license = licenses.gpl2;
-    homepage = "http://www.pyside.org/docs/apiextractor/";
-    maintainers = [ ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/python-modules/pyside/default.nix b/pkgs/development/python-modules/pyside/default.nix
deleted file mode 100644
index 82cc62f2c70..00000000000
--- a/pkgs/development/python-modules/pyside/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, fetchFromGitHub, cmake, buildPythonPackage, pysideGeneratorrunner, pysideShiboken, qt4, mesa, libGL }:
-
-buildPythonPackage rec {
-  pname = "pyside";
-  version = "1.2.4";
-  format = "other";
-
-  src = fetchFromGitHub {
-    owner = "PySide";
-    repo = "PySide";
-    rev = version;
-    hash = "sha256-14XbihJRMk9WaeK6NUBV/4OMFZF8EBIJgEJEaCU8Ecg=";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  preConfigure = ''
-    cmakeFlagsArray=("-DCMAKE_INSTALL_PREFIX=$dev")
-  '';
-
-  nativeBuildInputs = [ cmake pysideGeneratorrunner pysideShiboken qt4 ];
-
-  buildInputs = [ mesa libGL ];
-
-  makeFlags = [ "QT_PLUGIN_PATH=${pysideShiboken}/lib/generatorrunner" ];
-
-  dontWrapQtApps = true;
-
-  meta = {
-    description = "LGPL-licensed Python bindings for the Qt cross-platform application and UI framework";
-    license = lib.licenses.lgpl21;
-    homepage = "http://www.pyside.org";
-  };
-}
diff --git a/pkgs/development/python-modules/pyside/gcc6.patch b/pkgs/development/python-modules/pyside/gcc6.patch
deleted file mode 100644
index 440e94508c5..00000000000
--- a/pkgs/development/python-modules/pyside/gcc6.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- Shiboken-1.2.4.org/tests/libsample/simplefile.cpp	2017-08-26 09:06:27.216859143 +0100
-+++ Shiboken-1.2.4/tests/libsample/simplefile.cpp	2017-08-26 09:05:40.037029652 +0100
-@@ -90,13 +90,13 @@
- SimpleFile::exists() const
- {
-     std::ifstream ifile(p->m_filename);
--    return ifile;
-+    return (bool)ifile;
- }
- 
- bool
- SimpleFile::exists(const char* filename)
- {
-     std::ifstream ifile(filename);
--    return ifile;
-+    return (bool)ifile;
- }
- 
diff --git a/pkgs/development/python-modules/pyside/generatorrunner.nix b/pkgs/development/python-modules/pyside/generatorrunner.nix
deleted file mode 100644
index 3d47ccd58f2..00000000000
--- a/pkgs/development/python-modules/pyside/generatorrunner.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pysideApiextractor, python3, qt4 }:
-
-# This derivation does not provide any Python module and should therefore be called via `all-packages.nix`.
-let
-  pythonEnv = python3.withPackages(ps: with ps; [ sphinx ]);
-in stdenv.mkDerivation rec {
-  pname = "pyside-generatorrunner";
-  version = "0.6.16";
-
-  src = fetchFromGitHub {
-    owner = "PySide";
-    repo = "Generatorrunner";
-    rev = version;
-    hash = "sha256-JAghKY033RTD5b2elitzVQbbN3PMmT3BHwpqx8N5EYg=";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  preConfigure = ''
-    cmakeFlagsArray=("-DCMAKE_INSTALL_PREFIX=$dev")
-  '';
-
-  nativeBuildInputs = [ cmake pythonEnv ];
-  buildInputs = [ pysideApiextractor qt4 ];
-
-  meta = with lib; {
-    description = "Eases the development of binding generators for C++ and Qt-based libraries by providing a framework to help automating most of the process";
-    license = licenses.gpl2;
-    homepage = "http://www.pyside.org/docs/generatorrunner/";
-    maintainers = [ ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/python-modules/pyside/shiboken.nix b/pkgs/development/python-modules/pyside/shiboken.nix
deleted file mode 100644
index 9bad569806a..00000000000
--- a/pkgs/development/python-modules/pyside/shiboken.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ lib, fetchFromGitHub, buildPythonPackage
-, cmake
-, fetchurl
-, isPy3k
-, libxml2
-, libxslt
-, pkg-config
-, pysideApiextractor
-, pysideGeneratorrunner
-, python
-, pythonAtLeast
-, qt4
-, sphinx
-}:
-
-buildPythonPackage rec {
-  pname = "pyside-shiboken";
-  version = "1.2.4";
-  format = "other";
-
-  src = fetchFromGitHub {
-    owner = "PySide";
-    repo = "Shiboken";
-    rev = version;
-    sha256 = "0x2lyg52m6a0vn0665pgd1z1qrydglyfxxcggw6xzngpnngb6v5v";
-  };
-
-  nativeBuildInputs = [ cmake pkg-config pysideApiextractor pysideGeneratorrunner sphinx qt4 ];
-
-  buildInputs = [ python libxml2 libxslt ];
-
-  outputs = [ "out" "dev" ];
-
-  preConfigure = ''
-    cmakeFlagsArray=("-DCMAKE_INSTALL_PREFIX=$dev")
-    echo "preConfigure: Fixing shiboken_generator install target."
-    substituteInPlace generator/CMakeLists.txt --replace \
-      \"$\{GENERATORRUNNER_PLUGIN_DIR}\" lib/generatorrunner/
-  '';
-
-  patches = [
-    # gcc6 patch was also sent upstream: https://github.com/pyside/Shiboken/pull/86
-    ./gcc6.patch
-    (lib.optional (pythonAtLeast "3.5") ./shiboken_py35.patch)
-    (fetchurl {
-      # https://github.com/pyside/Shiboken/pull/90
-      name = "fix-build-with-python-3.9.patch";
-      url = "https://github.com/pyside/Shiboken/commit/d1c901d4c0af581003553865360ba964cda041e8.patch";
-      sha256 = "1f7slz8n8rps5r67hz3hi4rr82igc3l166shfy6647ivsb2fnxwy";
-    })
-  ];
-
-  cmakeFlags = lib.optionals isPy3k [
-    "-DUSE_PYTHON3=TRUE"
-    "-DPYTHON3_INCLUDE_DIR=${lib.getDev python}/include/${python.libPrefix}"
-    "-DPYTHON3_LIBRARY=${lib.getLib python}/lib"
-  ];
-
-  meta = with lib; {
-    description = "Plugin (front-end) for pyside-generatorrunner, that generates bindings for C++ libraries using CPython source code";
-    license = licenses.gpl2;
-    homepage = "http://www.pyside.org/";
-    maintainers = [ ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/python-modules/pyside/shiboken_py35.patch b/pkgs/development/python-modules/pyside/shiboken_py35.patch
deleted file mode 100644
index fb095cf991c..00000000000
--- a/pkgs/development/python-modules/pyside/shiboken_py35.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/cmake/Modules/FindPython3Libs.cmake b/cmake/Modules/FindPython3Libs.cmake
---- a/cmake/Modules/FindPython3Libs.cmake
-+++ b/cmake/Modules/FindPython3Libs.cmake
-@@ -27,7 +27,7 @@ INCLUDE(CMakeFindFrameworks)
- # Search for the python framework on Apple.
- # CMAKE_FIND_FRAMEWORKS(Python)
- 
--FOREACH(_CURRENT_VERSION 3.4 3.3 3.2 3.1 3.0)
-+FOREACH(_CURRENT_VERSION 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
-   IF(_CURRENT_VERSION GREATER 3.1)
-       SET(_32FLAGS "m" "u" "mu" "dm" "du" "dmu" "")
-   ELSE()
diff --git a/pkgs/development/python-modules/pyside/tools.nix b/pkgs/development/python-modules/pyside/tools.nix
deleted file mode 100644
index cc52a0502f2..00000000000
--- a/pkgs/development/python-modules/pyside/tools.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, buildPythonPackage, fetchFromGitHub, cmake, qt4, pyside, pysideShiboken }:
-
-buildPythonPackage rec {
-  pname = "pyside-tools";
-  version = "0.2.15";
-  format = "other";
-
-  src = fetchFromGitHub {
-    owner = "PySide";
-    repo = "Tools";
-    rev = version;
-    sha256 = "017i2yxgjrisaifxqnl3ym8ijl63l2yl6a3474dsqhlyqz2nx2ll";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  preConfigure = ''
-    cmakeFlagsArray=("-DCMAKE_INSTALL_PREFIX=$dev")
-  '';
-
-  nativeBuildInputs = [ cmake ];
-
-  buildInputs = [ qt4 ];
-
-  propagatedBuildInputs = [ pyside pysideShiboken ];
-
-  meta = with lib; {
-    description = "Development tools (pyside-uic/rcc/lupdate) for PySide, the LGPL-licensed Python bindings for the Qt framework";
-    license = licenses.gpl2;
-    homepage = "https://wiki.qt.io/PySide";
-    maintainers = [ ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/python-modules/python-cinderclient/default.nix b/pkgs/development/python-modules/python-cinderclient/default.nix
index d4ef0391200..6473cb66008 100644
--- a/pkgs/development/python-modules/python-cinderclient/default.nix
+++ b/pkgs/development/python-modules/python-cinderclient/default.nix
@@ -17,11 +17,11 @@
 
 buildPythonPackage rec {
   pname = "python-cinderclient";
-  version = "9.3.0";
+  version = "9.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mmqjD+/0jAwP0Yjm1RUNvdkeP9WxDS2514uYEqsUr4g=";
+    hash = "sha256-pT5kcKUWYntZ0iUFIioMhXlL4afyd06HeWEFvUfulpU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qscintilla-qt4/default.nix b/pkgs/development/python-modules/qscintilla-qt4/default.nix
deleted file mode 100644
index a356bfddb93..00000000000
--- a/pkgs/development/python-modules/qscintilla-qt4/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib
-, buildPythonPackage
-, isPy3k
-, isPyPy
-, pkgs
-, python
-, pyqt4
-}:
-
-buildPythonPackage {
-  pname = "qscintilla-qt4";
-  version = pkgs.qscintilla-qt4.version;
-  format = "other";
-
-  disabled = isPyPy;
-
-  src = pkgs.qscintilla-qt4.src;
-
-  nativeBuildInputs = [ pkgs.xorg.lndir ];
-
-  buildInputs = [ pyqt4.qt pyqt4 ];
-
-  preConfigure = ''
-    mkdir -p $out
-    lndir ${pyqt4} $out
-    rm -rf "$out/nix-support"
-    cd Python
-    ${python.executable} ./configure-old.py \
-        --destdir $out/lib/${python.libPrefix}/site-packages/PyQt4 \
-        --apidir $out/api/${python.libPrefix} \
-        -n ${pkgs.qscintilla-qt4}/include \
-        -o ${pkgs.qscintilla-qt4}/lib \
-        --sipdir $out/share/sip
-  '';
-
-  meta = with lib; {
-    description = "A Python binding to QScintilla, Qt based text editing control";
-    license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ danbst ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/python-modules/subdownloader/default.nix b/pkgs/development/python-modules/subdownloader/default.nix
deleted file mode 100644
index 2b536fa0e62..00000000000
--- a/pkgs/development/python-modules/subdownloader/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchurl
-, mmpython
-, pyqt4
-}:
-
-buildPythonPackage rec {
-  version = "2.0.18";
-  pname = "subdownloader";
-
-  src = fetchurl {
-    url = "https://launchpad.net/subdownloader/trunk/2.0.18/+download/subdownloader_2.0.18.orig.tar.gz";
-    sha256 = "0manlfdpb585niw23ibb8n21mindd1bazp0pnxvmdjrp2mnw97ig";
-  };
-
-  propagatedBuildInputs = [ mmpython pyqt4 ];
-
-  setup = ''
-    import os
-    import sys
-
-    try:
-        if os.environ.get("NO_SETUPTOOLS"):
-            raise ImportError()
-        from setuptools import setup, Extension
-        SETUPTOOLS = True
-    except ImportError:
-        SETUPTOOLS = False
-        # Use distutils.core as a fallback.
-        # We won t be able to build the Wheel file on Windows.
-        from distutils.core import setup, Extension
-
-    with open("README") as fp:
-        long_description = fp.read()
-
-    requirements = [ ]
-
-    install_options = {
-        "name": "subdownloader",
-        "version": "2.0.18",
-        "description": "Tool for automatic download/upload subtitles for videofiles using fast hashing",
-        "long_description": long_description,
-        "url": "http://www.subdownloader.net",
-
-        "scripts": ["run.py"],
-        "packages": ["cli", "FileManagement", "gui", "languages", "modules"],
-
-    }
-    if SETUPTOOLS:
-        install_options["install_requires"] = requirements
-
-    setup(**install_options)
-  '';
-
-  postUnpack = ''
-    echo '${setup}' > $sourceRoot/setup.py
-  '';
-
-  meta = with lib; {
-    description = "Tool for automatic download/upload subtitles for videofiles using fast hashing";
-    homepage = "https://www.subdownloader.net";
-    license = licenses.gpl3;
-  };
-
-}
diff --git a/pkgs/development/tools/analysis/valkyrie/default.nix b/pkgs/development/tools/analysis/valkyrie/default.nix
deleted file mode 100644
index fd24362bab1..00000000000
--- a/pkgs/development/tools/analysis/valkyrie/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchurl, qt4, qmake4Hook }:
-
-stdenv.mkDerivation rec {
-  pname = "valkyrie";
-  version = "2.0.0";
-
-  src = fetchurl {
-    url = "https://valgrind.org/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "0hwvsncf62mdkahwj9c8hpmm94c1wr5jn89370k6rj894kxry2x7";
-  };
-
-  patchPhase = ''
-    sed -i '1s;^;#include <unistd.h>\n;' src/objects/tool_object.cpp
-    sed -i '1s;^;#include <unistd.h>\n;' src/utils/vk_config.cpp
-    sed -i '1s;^;#include <sys/types.h>\n;' src/utils/vk_config.cpp
-    sed -i '1s;^;#include <unistd.h>\n;' src/utils/vk_utils.cpp
-    sed -i '1s;^;#include <sys/types.h>\n;' src/utils/vk_utils.cpp
-  '';
-
-  buildInputs = [ qt4 ];
-
-  nativeBuildInputs = [ qmake4Hook ];
-
-  meta = with lib; {
-    homepage = "http://www.valgrind.org/";
-    description = "Qt4-based GUI for the Valgrind 3.6.x series";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ pSub ];
-  };
-}
diff --git a/pkgs/development/tools/fmbt/default.nix b/pkgs/development/tools/fmbt/default.nix
deleted file mode 100644
index 852f00bf69c..00000000000
--- a/pkgs/development/tools/fmbt/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, python, autoreconfHook, pkg-config, makeWrapper
-, flex
-, gettext, libedit, glib, imagemagick6, libxml2, boost, gnuplot, graphviz
-, tesseract, gts, libXtst
-}:
-stdenv.mkDerivation rec {
-  version = "0.42";
-  pname = "fMBT";
-
-  src = fetchFromGitHub {
-    owner = "intel";
-    repo = "fMBT";
-    rev = "v${version}";
-    sha256 = "1jb9nb2mipc5cg99a80dny4m06vz2zral0q30fv75rz2cb6ja4zp";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkg-config flex makeWrapper
-    python.pkgs.wrapPython ];
-
-  buildInputs = [ python gettext libedit glib imagemagick6 libxml2 boost
-    gnuplot graphviz tesseract gts
-    ];
-
-  propagatedBuildInputs = with python.pkgs; [
-    pyside pydbus pexpect pysideShiboken
-  ];
-
-  preBuild = ''
-    export PYTHONPATH="$PYTHONPATH:$out/lib/python${python.pythonVersion}/site-packages"
-    export PATH="$PATH:$out/bin"
-    export LD_LIBRARY_PATH="${lib.makeLibraryPath [libXtst]}"
-  '';
-
-  postInstall = ''
-    echo -e '#! ${stdenv.shell}\npython "$@"' > "$out/bin/fmbt-python"
-    chmod a+x "$out/bin/fmbt-python"
-    patchShebangs "$out/bin"
-    for i in "$out"/bin/*; do
-      wrapProgram "$i" --suffix "PATH" ":" "$PATH" \
-        --suffix "PYTHONPATH" ":" "$PYTHONPATH" \
-        --suffix "LD_LIBRARY_PATH" ":" "$LD_LIBRARY_PATH"
-    done
-  '';
-
-  meta = with lib; {
-    description = "Free Model-Based Testing tool";
-    homepage = "https://github.com/intel/fMBT";
-    license = licenses.lgpl21;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ raskin ];
-  };
-}
-
diff --git a/pkgs/development/tools/misc/nrf-command-line-tools/default.nix b/pkgs/development/tools/misc/nrf-command-line-tools/default.nix
deleted file mode 100755
index fec7caacce3..00000000000
--- a/pkgs/development/tools/misc/nrf-command-line-tools/default.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, autoPatchelfHook
-, udev
-, libusb1
-, segger-jlink
-}:
-
-let
-  supported = {
-    x86_64-linux = {
-      name = "linux-amd64";
-      sha256 = "0e036afa51c83de7824ef75d34e165ed55efc486697b8ff105639644bce988e5";
-    };
-    i686-linux = {
-      name = "linux-i386";
-      sha256 = "ba208559ae1195a0d4342374a0eb79697d31d6b848d180ac906494f17f56623b";
-    };
-    aarch64-linux = {
-      name = "linux-arm64";
-      sha256 = "cffa4b8becdb5545705fd138422c648d809b520b7bc6c77b8b50aa1f79ebe845";
-    };
-    armv7l-linux = {
-      name = "linux-armhf";
-      sha256 = "c58d330152ae1ef588a5ee1d93777e18b341d4f6a2754642b0ddd41821050a3a";
-    };
-  };
-
-  platform = supported.${stdenv.system} or (throw "unsupported platform ${stdenv.system}");
-
-  version = "10.16.0";
-
-  url = "https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/desktop-software/nrf-command-line-tools/sw/versions-${lib.versions.major version}-x-x/${lib.versions.major version}-${lib.versions.minor version}-${lib.versions.patch version}/nrf-command-line-tools-${lib.versions.major version}.${lib.versions.minor version}.${lib.versions.patch version}_${platform.name}.tar.gz";
-
-in stdenv.mkDerivation {
-  pname = "nrf-command-line-tools";
-  inherit version;
-
-  src = fetchurl {
-    inherit url;
-    inherit (platform) sha256;
-  };
-
-  runtimeDependencies = [ segger-jlink ];
-
-  nativeBuildInputs = [ autoPatchelfHook ];
-  buildInputs = [ udev libusb1 ];
-
-  dontConfigure = true;
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    rm -rf ./python
-    mkdir -p $out
-    cp -r * $out
-
-    chmod +x $out/lib/*
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "Nordic Semiconductor nRF Command Line Tools";
-    homepage = "https://www.nordicsemi.com/Products/Development-tools/nRF-Command-Line-Tools";
-    license = licenses.unfree;
-    platforms = attrNames supported;
-    maintainers = with maintainers; [ stargate01 ];
-  };
-}
diff --git a/pkgs/development/tools/misc/segger-jlink/default.nix b/pkgs/development/tools/misc/segger-jlink/default.nix
deleted file mode 100755
index 15ddbbc8809..00000000000
--- a/pkgs/development/tools/misc/segger-jlink/default.nix
+++ /dev/null
@@ -1,120 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, autoPatchelfHook
-, qt4
-, udev
-, config
-, acceptLicense ? config.segger-jlink.acceptLicense or false
-}:
-
-let
-  supported = {
-    x86_64-linux = {
-      name = "x86_64";
-      sha256 = "90aa7e4f5eae6e60fd41978111b3ff124ba0269562d0d0ec3110d3cb4bb51fe2";
-    };
-    i686-linux = {
-      name = "i386";
-      sha256 = "18aea42cd17591cada78af7cba0f94a9d851e9d29995b6c8e1e7033d0af35d1c";
-    };
-    aarch64-linux = {
-      name = "arm64";
-      sha256 = "db410c1df80748827b4e25ff3abceee29e28305a0a7e30e4e39bb5c7e32f1aa2";
-    };
-    armv7l-linux = {
-      name = "arm";
-      sha256 = "abcdaf44aeb2ad4e769709ec4fe971e259b23d297a98f58199c7bdf26db82e84";
-    };
-  };
-
-  platform = supported.${stdenv.system} or (throw "unsupported platform ${stdenv.system}");
-
-  version = "766";
-
-  url = "https://www.segger.com/downloads/jlink/JLink_Linux_V${version}_${platform.name}.tgz";
-
-in stdenv.mkDerivation {
-  pname = "segger-jlink";
-  inherit version;
-
-  src =
-    assert !acceptLicense -> throw ''
-      Use of the "SEGGER JLink Software and Documentation pack" requires the
-      acceptance of the following licenses:
-
-        - SEGGER Downloads Terms of Use [1]
-        - SEGGER Software Licensing [2]
-
-      You can express acceptance by setting acceptLicense to true in your
-      configuration. Note that this is not a free license so it requires allowing
-      unfree licenses as well.
-
-      configuration.nix:
-        nixpkgs.config.allowUnfree = true;
-        nixpkgs.config.segger-jlink.acceptLicense = true;
-
-      config.nix:
-        allowUnfree = true;
-        segger-jlink.acceptLicense = true;
-
-      [1]: ${url}
-      [2]: https://www.segger.com/purchase/licensing/
-    '';
-      fetchurl {
-        inherit url;
-        inherit (platform) sha256;
-        curlOpts = "--data accept_license_agreement=accepted";
-      };
-
-  # Currently blocked by patchelf bug
-  # https://github.com/NixOS/patchelf/pull/275
-  #runtimeDependencies = [ udev ];
-
-  nativeBuildInputs = [ autoPatchelfHook ];
-  buildInputs = [ qt4 udev ];
-
-  dontConfigure = true;
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    # Install binaries
-    mkdir -p $out/bin
-    mv J* $out/bin
-
-    # Install libraries
-    mkdir -p $out/lib
-    mv libjlinkarm.so* $out/lib
-    # This library is opened via dlopen at runtime
-    for libr in $out/lib/*; do
-      ln -s $libr $out/bin
-    done
-
-    # Install docs and examples
-    mkdir -p $out/share/docs
-    mv Doc/* $out/share/docs
-    mkdir -p $out/share/examples
-    mv Samples/* $out/share/examples
-
-    # Install udev rule
-    mkdir -p $out/lib/udev/rules.d
-    mv 99-jlink.rules $out/lib/udev/rules.d/
-
-    runHook postInstall
-  '';
-
-  preFixup = ''
-    # Workaround to setting runtime dependecy
-    patchelf --add-needed libudev.so.1 $out/lib/libjlinkarm.so
-  '';
-
-  meta = with lib; {
-    description = "J-Link Software and Documentation pack";
-    homepage = "https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack";
-    license = licenses.unfree;
-    platforms = attrNames supported;
-    maintainers = with maintainers; [ FlorianFranzen stargate01 ];
-  };
-}
diff --git a/pkgs/development/tools/rust/cargo-hack/default.nix b/pkgs/development/tools/rust/cargo-hack/default.nix
index 95eb36a70dc..507ec3a7143 100644
--- a/pkgs/development/tools/rust/cargo-hack/default.nix
+++ b/pkgs/development/tools/rust/cargo-hack/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-hack";
-  version = "0.6.4";
+  version = "0.6.5";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-kb4ftO4nhQ+MykK18O5aoexuBoN+u0xobUvIEge00jU=";
+    sha256 = "sha256-loGQTCi6lTNB/jn47fvWTqKr01p4xRqyq+Y02a/UwSc=";
   };
 
-  cargoSha256 = "sha256-+Am9w3iU2kSAIx+1tK3kpoa+oJvLQ6Ew7LeP6njYEQw=";
+  cargoSha256 = "sha256-gk/0aTMlUWYKfJJ9CfTvYLTZ6/ShIRuhpywhuwFHD5E=";
 
   # some necessary files are absent in the crate version
   doCheck = false;
diff --git a/pkgs/games/gambatte/default.nix b/pkgs/games/gambatte/default.nix
deleted file mode 100644
index 07aad4a5b60..00000000000
--- a/pkgs/games/gambatte/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, scons, qt4, alsa-lib }:
-
-stdenv.mkDerivation {
-  pname = "gambatte";
-  version = "2020-03-14";
-
-  src = fetchFromGitHub {
-    owner = "sinamas";
-    repo = "gambatte";
-    rev = "56e3371151b5ee86dcdcf4868324ebc6de220bc9";
-    sha256 = "0cc6zcvxpvi5hgcssb1zy0fkj9nk7n0d2xm88a4v05kpm5zw7sh2";
-  };
-
-  buildInputs = [ scons qt4 alsa-lib ];
-
-  patches = [ ./fix-scons-paths.patch ];
-
-  buildPhase = ''
-    ./build_qt.sh
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp gambatte_qt/bin/gambatte_qt $out/bin/
-  '';
-
-  meta = with lib; {
-    description = "Portable, open-source Game Boy Color emulator";
-    homepage = "https://github.com/sinamas/gambatte";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.dezgeg ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/games/instead-launcher/default.nix b/pkgs/games/instead-launcher/default.nix
deleted file mode 100644
index 1f03a72390e..00000000000
--- a/pkgs/games/instead-launcher/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, instead, qmake4Hook, zlib }:
-
-stdenv.mkDerivation rec {
-  pname = "instead-launcher";
-
-  version = "0.7.0";
-
-  src = fetchFromGitHub {
-    owner = "instead-hub";
-    repo = "instead-launcher";
-    rev = version;
-    sha256 = "1svy8i8anspway01pnz2cy69aad03anvkq04wrdfv1h9c34gbvb9";
-  };
-
-  patches = [ ./path.patch ];
-
-  postPatch = ''
-    substituteInPlace platform.cpp --subst-var-by instead ${instead}
-  '';
-
-  nativeBuildInputs = [ qmake4Hook ];
-
-  buildInputs = [ zlib ];
-
-  meta = with lib; {
-    homepage = "https://instead.syscall.ru/wiki/en/instead-launcher";
-    description = "Install and play games from INSTEAD repository";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ orivej ];
-  };
-}
diff --git a/pkgs/games/instead-launcher/path.patch b/pkgs/games/instead-launcher/path.patch
deleted file mode 100644
index f63737bfb16..00000000000
--- a/pkgs/games/instead-launcher/path.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From c7460a7fc255ef4e8e0e37798605c4d8bb50633d Mon Sep 17 00:00:00 2001
-From: Orivej Desh <orivej@gmx.fr>
-Date: Sat, 1 Apr 2017 01:30:37 +0000
-Subject: [PATCH] path
-
----
- mainwindow.cpp | 2 +-
- platform.cpp   | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/mainwindow.cpp b/mainwindow.cpp
-index 9687c4e..234b176 100644
---- a/mainwindow.cpp
-+++ b/mainwindow.cpp
-@@ -688,7 +688,7 @@ void MainWindow::loadConfig() {
-     if ( args.contains( "default-gamespath" ) )
- 	defGamesPath = args["default-gamespath"].toString();
- 
--    QString insteadPath = conf.value("InsteadPath", defInsteadPath).toString();
-+    QString insteadPath = defInsteadPath;
-     bool autoRefresh = conf.value("AutoRefresh", "false").toString() == "true";
-     bool autoRefreshSW = conf.value("AutoRefreshSW", "false").toString() == "true";
-     QString lang = conf.value( "Language", "*" ).toString();
-diff --git a/platform.cpp b/platform.cpp
-index bda86be..c356f1c 100644
---- a/platform.cpp
-+++ b/platform.cpp
-@@ -22,7 +22,7 @@ QString getConfigPath() {
- }
- 
- QString getDefaultInterpreterPath() {
--    return "/usr/local/bin/sdl-instead";
-+    return "@instead@/bin/sdl-instead";
- }
- 
- #elif defined(Q_OS_WIN)
--- 
-2.12.2
-
diff --git a/pkgs/games/tworld2/default.nix b/pkgs/games/tworld2/default.nix
deleted file mode 100644
index 158d494fb32..00000000000
--- a/pkgs/games/tworld2/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, SDL
-, qt4
-}:
-
-stdenv.mkDerivation rec {
-  pname = "tworld2";
-  version = "2.2.0";
-
-  src = fetchurl {
-    url = "https://tw2.bitbusters.club/downloads/tworld-${version}-src.tar.gz";
-    hash = "sha256-USy2F4es0W3xT4aI254OQ02asJKNt3V0Y72LCbXYpfg=";
-  };
-
-  buildInputs = [ SDL qt4 ];
-
-  enableParallelBuilding = true;
-
-  postConfigure = ''
-    echo "#define COMPILE_TIME \"$(date -ud "@$SOURCE_DATE_EPOCH" '+%Y %b %e %T %Z')\"" >comptime.h
-  '';
-
-  makeFlags = [
-    "bindir=${placeholder "out"}/bin"
-    "sharedir=${placeholder "out"}/share"
-    "mandir=${placeholder "out"}/share/man/en"
-  ];
-
-  postInstall = ''
-    mkdir -p $out/share/doc/${pname}
-    cp COPYING README docs/tworld2.html $out/share/doc/${pname}
-
-    mkdir $out/share/icons
-    cp tworld.ico tworld2.ico $out/share/icons
-  '';
-
-  meta = with lib; {
-    homepage = "https://tw2.bitbusters.club/";
-    description = "Tile World 2: Tile World is a reimplementation of the game Chip's Challenge";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ drperceptron ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/darwin/sketchybar/default.nix b/pkgs/os-specific/darwin/sketchybar/default.nix
index 426474115de..b2b4186b7eb 100644
--- a/pkgs/os-specific/darwin/sketchybar/default.nix
+++ b/pkgs/os-specific/darwin/sketchybar/default.nix
@@ -20,13 +20,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "sketchybar";
-  version = "2.16.1";
+  version = "2.16.3";
 
   src = fetchFromGitHub {
     owner = "FelixKratz";
     repo = "SketchyBar";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-H+bR5ZhUTrN2KAEdY/hnq6c3TEb1NQvPQ9uPo09gSM8=";
+    hash = "sha256-PCAGIcO7lvIAEFXlJn/e9zG5kxvDABshxFbu/bXWX7o=";
   };
 
   buildInputs = [
diff --git a/pkgs/os-specific/windows/default.nix b/pkgs/os-specific/windows/default.nix
index ee993cf48e8..95df515c6bf 100644
--- a/pkgs/os-specific/windows/default.nix
+++ b/pkgs/os-specific/windows/default.nix
@@ -8,8 +8,6 @@ lib.makeScope newScope (self: with self; {
 
   dlfcn = callPackage ./dlfcn { };
 
-  jom = callPackage ./jom { };
-
   w32api = callPackage ./w32api { };
 
   mingwrt = callPackage ./mingwrt { };
diff --git a/pkgs/os-specific/windows/jom/default.nix b/pkgs/os-specific/windows/jom/default.nix
deleted file mode 100644
index dfd3f3ff19c..00000000000
--- a/pkgs/os-specific/windows/jom/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, stdenv, fetchgit, qt48, qmake4Hook, flex }:
-
-# At the time of committing this, the expression fails for me to cross-build in
-# both mingw32 and mingw64.
-
-stdenv.mkDerivation {
-  pname = "jom";
-  version = "1.0.11";
-
-  src = fetchgit {
-    url = "git://gitorious.org/qt-labs/jom.git";
-    rev = "c91a204b05f97eef3c73aaaba3036e20f79fd487";
-    sha256 = "6d3ac84f83bb045213903d9d5340c0447c8fe41671d1dcdeae5c40b66d62ccbf";
-  };
-
-  buildInputs = [ qt48 ];
-  nativeBuildInputs = [ flex qmake4Hook ];
-
-  QTDIR = qt48;
-
-  # cmakeFlags = [ "-DWIN32=1" "-DCMAKE_SYSTEM_NAME=Windows" "-DCMAKE_RC_COMPILER=${stdenv.cc.targetPrefix}windres" ];
-
-  preBuild = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
-    export NIX_CROSS_CFLAGS_COMPILE=-fpermissive
-  '';
-
-  meta = {
-    homepage = "https://qt-project.org/wiki/jom";
-    description = "Clone of nmake supporting multiple independent commands in parallel";
-    license = lib.licenses.gpl2Plus; # Explicitly, GPLv2 or GPLv3, but not later.
-  };
-}
diff --git a/pkgs/servers/bililiverecorder/default.nix b/pkgs/servers/bililiverecorder/default.nix
index 5e1b6c304a3..5999c9d8a41 100644
--- a/pkgs/servers/bililiverecorder/default.nix
+++ b/pkgs/servers/bililiverecorder/default.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation {
     description = "A convenient free open source bilibili live recording tool";
     homepage = "https://rec.danmuji.org/";
     changelog = "https://github.com/BililiveRecorder/BililiveRecorder/releases/tag/${version}";
+    mainProgram = "BililiveRecorder";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ zaldnoay ];
     platforms = platforms.unix;
diff --git a/pkgs/servers/ftp/uftpd/default.nix b/pkgs/servers/ftp/uftpd/default.nix
new file mode 100644
index 00000000000..34557b955a1
--- /dev/null
+++ b/pkgs/servers/ftp/uftpd/default.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, libuev, libite }:
+
+stdenv.mkDerivation rec {
+  pname = "uftpd";
+  version = "2.15";
+
+  src = fetchFromGitHub {
+    owner = "troglobit";
+    repo = "uftpd";
+    rev = "v${version}";
+    hash = "sha256-+y1eRPUgYf5laRFIDD1XOEfonPP8QMJNCSkmHlXIjdY=";
+  };
+
+  nativeBuildInputs = [ pkg-config autoreconfHook ];
+  buildInputs = [ libuev libite ];
+
+  meta = with lib; {
+    description = "FTP/TFTP server for Linux that just works™";
+    homepage = "https://troglobit.com/projects/uftpd/";
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ vifino ];
+  };
+}
diff --git a/pkgs/tools/admin/okta-aws-cli/default.nix b/pkgs/tools/admin/okta-aws-cli/default.nix
index 38a2d42ac0a..52a3422bfa8 100644
--- a/pkgs/tools/admin/okta-aws-cli/default.nix
+++ b/pkgs/tools/admin/okta-aws-cli/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "okta-aws-cli";
-  version = "1.1.0";
+  version = "1.2.1";
 
   subPackages = [ "cmd/okta-aws-cli" ];
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner  = "okta";
     repo   = "okta-aws-cli";
     rev    = "v${version}";
-    sha256 = "sha256-TRS1+msrp+Wd+9FhQSErZGvfpcRA5ltNKIyVHLveMOo=";
+    sha256 = "1d148zf9warwg8kvkqpw79dwmlrab61hpird58wlh6jyqfxa5729";
   };
 
   vendorHash = "sha256-AJmQxMRj602yodzIdhZV+R22KxnEIbT9iSz/5G5T6r8=";
diff --git a/pkgs/tools/audio/acoustid-fingerprinter/default.nix b/pkgs/tools/audio/acoustid-fingerprinter/default.nix
deleted file mode 100644
index 21dc009e33d..00000000000
--- a/pkgs/tools/audio/acoustid-fingerprinter/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, cmake, pkg-config, qt4, taglib, chromaprint, ffmpeg_4 }:
-
-stdenv.mkDerivation rec {
-  pname = "acoustid-fingerprinter";
-  version = "0.6";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/acoustid/acoustid-fingerprinter/downloads/"
-        + "${pname}-${version}.tar.gz";
-    sha256 = "0ckglwy95qgqvl2l6yd8ilwpd6qs7yzmj8g7lnxb50d12115s5n0";
-  };
-
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ qt4 taglib chromaprint ffmpeg_4 ];
-
-  cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${lib.getVersion taglib}" ];
-
-  patches = [
-    (fetchpatch {
-      name = "fix-build-with-libav-10.patch";
-      url = "https://bitbucket.org/acoustid/acoustid-fingerprinter/commits/2c778334a9fc2f0ccf9b1d7635c116bce6509748/raw";
-      sha256 = "1smyp3x5n6jwxpgw60xsijq2fn6g1gl759h1lm5agaxhcyyqn0i0";
-    })
-    (fetchpatch {
-      name = "fix-build-failure-on-gcc-6.patch";
-      url = "https://bitbucket.org/acoustid/acoustid-fingerprinter/commits/632e87969c3a5562a5d4842b03613267ba6236b2/raw";
-      sha256 = "15hm9knrpqn3yqrwyjz4zh2aypwbcycd0c5svrsy1fb2h2rh05jk";
-    })
-  ];
-
-  meta = with lib; {
-    homepage = "https://acoustid.org/fingerprinter";
-    description = "Audio fingerprinting tool using chromaprint";
-    license = lib.licenses.gpl2Plus;
-    maintainers = with maintainers; [ ehmry ];
-    platforms = with platforms; linux;
-  };
-}
diff --git a/pkgs/tools/bluetooth/nrfconnect/default.nix b/pkgs/tools/bluetooth/nrfconnect/default.nix
deleted file mode 100644
index 07dc7303a06..00000000000
--- a/pkgs/tools/bluetooth/nrfconnect/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib
-, fetchurl
-, appimageTools
-}:
-
-let
-  pname = "nrfconnect";
-  version = "4.0.1";
-
-  src = fetchurl {
-    url = "https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/desktop-software/nrf-connect-for-desktop/${lib.versions.major version}-${lib.versions.minor version}-${lib.versions.patch version}/nrfconnect-${version}-x86_64.appimage";
-    sha256 = "sha256-Mh4DrXn3DS5qOz3109lmXyFn28WenG6ZSvqFnUuc+rw=";
-    name = "${pname}-${version}.AppImage";
-  };
-
-  appimageContents = appimageTools.extractType2 {
-    inherit pname version src;
-  };
-
-in appimageTools.wrapType2 {
-  inherit pname version src;
-
-  extraPkgs = pkgs: with pkgs; [
-    segger-jlink
-  ];
-
-  extraInstallCommands = ''
-    mv $out/bin/${pname}-${version} $out/bin/${pname}
-    install -m 444 -D ${appimageContents}/nrfconnect.desktop $out/share/applications/nrfconnect.desktop
-    install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/nrfconnect.png \
-      $out/share/icons/hicolor/512x512/apps/nrfconnect.png
-    substituteInPlace $out/share/applications/nrfconnect.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
-  '';
-
-  meta = with lib; {
-    description = "Nordic Semiconductor nRF Connect for Desktop";
-    homepage = "https://www.nordicsemi.com/Products/Development-tools/nRF-Connect-for-desktop";
-    license = licenses.unfree;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ stargate01 ];
-  };
-}
diff --git a/pkgs/tools/graphics/structure-synth/default.nix b/pkgs/tools/graphics/structure-synth/default.nix
deleted file mode 100644
index e61489fadf0..00000000000
--- a/pkgs/tools/graphics/structure-synth/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, stdenv, fetchurl, qt4, qmake4Hook, unzip, libGLU, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "structure-synth";
-  version = "1.5.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/structuresynth/StructureSynth-Source-v${version}.zip";
-    sha256 = "1kiammx46719az6jzrav8yrwz82nk4m72ybj0kpbnvp9wfl3swbb";
-  };
-
-  buildInputs = [ qt4 libGLU ];
-  nativeBuildInputs = [ qmake4Hook makeWrapper unzip ];
-
-  # Thanks to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=672000#15:
-  patches = [ ./gcc47.patch ];
-
-  enableParallelBuilding = true;
-
-  preConfigure = ''
-    ${qt4}/bin/qmake -project -after "CONFIG+=opengl" -after "QT+=xml opengl script" -after "unix:LIBS+=-lGLU"
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin;
-    mkdir -p $out/share/Examples $out/share/Misc;
-    cp "Structure Synth Source Code" $out/bin/structure-synth;
-    cp -r Examples/* $out/share/Examples;
-    cp -r Misc/* $out/share/Misc;
-  '';
-
-  # Structure Synth expects to see 'Examples' and 'Misc' directory in
-  # either $HOME or $PWD - so help it along by moving $PWD to 'share',
-  # where we just copied those two directories:
-  preFixup = ''
-    wrapProgram "$out/bin/structure-synth" --chdir "$out/share"
-  '';
-
-  meta = with lib; {
-    description = "Application for generating 3D structures by specifying a design grammar";
-    homepage = "https://structuresynth.sourceforge.net";
-    maintainers = with maintainers; [ hodapp ];
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/graphics/structure-synth/gcc47.patch b/pkgs/tools/graphics/structure-synth/gcc47.patch
deleted file mode 100644
index 8726e89c830..00000000000
--- a/pkgs/tools/graphics/structure-synth/gcc47.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -rc "Structure Synth Source Code/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp" "Structure Synth Source Code2/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp"
-*** "Structure Synth Source Code/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp"	2010-11-13 22:32:44.000000000 -0500
---- "Structure Synth Source Code2/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp"	2018-06-24 14:23:30.794296776 -0400
-***************
-*** 1,5 ****
-  #include <QThread>

-! 

-  

-  #include "RayTracer.h"

-  

---- 1,5 ----
-  #include <QThread>

-! #include <GL/glu.h>

-  

-  #include "RayTracer.h"

-  

-diff -rc "Structure Synth Source Code/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp" "Structure Synth Source Code2/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp"
-*** "Structure Synth Source Code/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp"	2010-09-08 21:25:30.000000000 -0400
---- "Structure Synth Source Code2/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp"	2018-06-24 14:23:12.542868194 -0400
-***************
-*** 122,128 ****
-  						currentT = p;

-  

-  						// We do not intersect grid.

-! 						if (!found) return false;

-  				}

-  

-  				stepX = (dir.x() > 0) ? 1 : -1;

---- 122,128 ----
-  						currentT = p;

-  

-  						// We do not intersect grid.

-! 						if (!found) return NULL;

-  				}

-  

-  				stepX = (dir.x() > 0) ? 1 : -1;

-Only in Structure Synth Source Code2/SyntopiaCore/GLEngine/Raytracer: VoxelStepper.cpp.orig
-diff -rc "Structure Synth Source Code/SyntopiaCore/GLEngine/Sphere.h" "Structure Synth Source Code2/SyntopiaCore/GLEngine/Sphere.h"
-*** "Structure Synth Source Code/SyntopiaCore/GLEngine/Sphere.h"	2010-08-11 15:12:22.000000000 -0400
---- "Structure Synth Source Code2/SyntopiaCore/GLEngine/Sphere.h"	2018-06-24 14:23:30.793296807 -0400
-***************
-*** 2,7 ****
---- 2,8 ----
-  

-  #include "SyntopiaCore/Math/Vector3.h"

-  #include "Object3D.h"

-+ #include <GL/glu.h>

-  

-  namespace SyntopiaCore {

-  	namespace GLEngine {	

diff --git a/pkgs/tools/inputmethods/hime/default.nix b/pkgs/tools/inputmethods/hime/default.nix
index 4c86fb04cf0..685ac169e06 100644
--- a/pkgs/tools/inputmethods/hime/default.nix
+++ b/pkgs/tools/inputmethods/hime/default.nix
@@ -4,7 +4,6 @@
 , which
 , gtk2
 , gtk3
-, qt4
 , qt5
 , libXtst
 , lib
@@ -25,7 +24,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ which pkg-config unixtools.whereis ];
-  buildInputs = [ libXtst gtk2 gtk3 qt4 qt5.qtbase libchewing anthy ];
+  buildInputs = [ libXtst gtk2 gtk3 qt5.qtbase libchewing anthy ];
 
   preConfigure = "patchShebangs configure";
   configureFlags = [ "--disable-lib64" "--disable-qt5-immodule" ];
diff --git a/pkgs/tools/inputmethods/ibus/ibus-qt.nix b/pkgs/tools/inputmethods/ibus/ibus-qt.nix
deleted file mode 100644
index c119b1d3559..00000000000
--- a/pkgs/tools/inputmethods/ibus/ibus-qt.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, ibus, cmake, pkg-config, qt4, icu, doxygen }:
-
-stdenv.mkDerivation rec {
-  pname = "ibus-qt";
-  version = "1.3.4";
-
-  src = fetchurl {
-    url = "https://github.com/ibus/ibus-qt/releases/download/${version}/${pname}-${version}-Source.tar.gz";
-    sha256 = "sha256-HnsMy4i8NscCVFF28IcOZ2BoXozZfZzXk4CE9c7bL/E=";
-  };
-
-  nativeBuildInputs = [ cmake pkg-config doxygen ];
-  buildInputs = [ ibus qt4 icu ];
-
-  cmakeFlags = [ "-DQT_PLUGINS_DIR=lib/qt4/plugins" ];
-
-  meta = with lib; {
-    homepage    = "https://github.com/ibus/ibus-qt/";
-    description = "Qt4 interface to the ibus input method";
-    platforms   = platforms.linux;
-    license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ gebner ];
-  };
-}
diff --git a/pkgs/tools/inputmethods/uim/default.nix b/pkgs/tools/inputmethods/uim/default.nix
index 4e52e605686..70d3e8e8725 100644
--- a/pkgs/tools/inputmethods/uim/default.nix
+++ b/pkgs/tools/inputmethods/uim/default.nix
@@ -7,8 +7,7 @@
 , withGtk2 ? withGtk, gtk2 ? null
 , withGtk3 ? withGtk, gtk3 ? null
 , withQt ? true
-, withQt4 ? withQt, qt4 ? null
-, withQt5 ? false, qt5 ? null
+, withQt5 ? withQt, qt5 ? null
 , withLibnotify ? true, libnotify ? null
 , withSqlite ? true, sqlite ? null
 , withNetworking ? true, curl ? null, openssl ? null
@@ -21,13 +20,6 @@
 assert withGtk2 -> gtk2 != null;
 assert withGtk3 -> gtk3 != null;
 
-# TODO(@oxij): ./configure can't find both qmakes at the same time
-# this can be fixed by adding an alias qmake -> qmaka${version} in qmake derivation
-assert withQt4 -> !withQt5 && qt4 != null;
-assert withQt5 -> !withQt4 && qt5 != null;
-
-assert !withQt5; # fails to build with "Makefile.qmake: No such file or directory"
-
 assert withAnthy -> anthy != null;
 assert withLibnotify -> libnotify != null;
 assert withSqlite -> sqlite != null;
@@ -60,7 +52,6 @@ stdenv.mkDerivation rec {
   ++ lib.optional withAnthy anthy
   ++ lib.optional withGtk2 gtk2
   ++ lib.optional withGtk3 gtk3
-  ++ lib.optional withQt4 qt4
   ++ lib.optionals withQt5 [ qt5.qtbase.bin qt5.qtbase.dev ]
   ++ lib.optional withLibnotify libnotify
   ++ lib.optional withSqlite sqlite
@@ -114,10 +105,6 @@ stdenv.mkDerivation rec {
   ++ lib.optional withAnthy "--with-anthy-utf8"
   ++ lib.optional withGtk2 "--with-gtk2"
   ++ lib.optional withGtk3 "--with-gtk3"
-  ++ lib.optionals withQt4 [
-    "--with-qt4"
-    "--with-qt4-immodule"
-  ]
   ++ lib.optionals withQt5 [
     "--with-qt5"
     "--with-qt5-immodule"
diff --git a/pkgs/tools/misc/qjoypad/default.nix b/pkgs/tools/misc/qjoypad/default.nix
index 018086e6dc7..6770ec133d3 100644
--- a/pkgs/tools/misc/qjoypad/default.nix
+++ b/pkgs/tools/misc/qjoypad/default.nix
@@ -10,8 +10,8 @@ mkDerivation rec {
     hash = "sha256:1w26ddxb1xirb7qjf7kv9llxzjhbhcb7warnxbx41qhbni46g26y";
   };
 
-  nativeBuildInputs = [ pkg-config cmake ];
-  buildInputs = [ libX11 libXtst qtbase qttools qtx11extras ];
+  nativeBuildInputs = [ pkg-config cmake qttools ];
+  buildInputs = [ libX11 libXtst qtbase qtx11extras ];
 
   meta = with lib; {
     description = "A program that lets you use gaming devices anywhere";
diff --git a/pkgs/tools/networking/veilid/Cargo.lock b/pkgs/tools/networking/veilid/Cargo.lock
index 75cc901e1fd..2585bef885c 100644
--- a/pkgs/tools/networking/veilid/Cargo.lock
+++ b/pkgs/tools/networking/veilid/Cargo.lock
@@ -430,7 +430,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -461,7 +461,7 @@ checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -730,7 +730,7 @@ checksum = "e0b121a9fe0df916e362fb3271088d071159cdf11db0e4182d02152850756eff"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -798,14 +798,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "bugsalot"
-version = "0.2.2"
-source = "git+https://github.com/crioux/bugsalot.git#336a7053faadf990b9362edf5752ef34fa1f9615"
-dependencies = [
- "libc",
-]
-
-[[package]]
 name = "bumpalo"
 version = "3.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1012,7 +1004,7 @@ dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -1164,32 +1156,16 @@ checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
 
 [[package]]
 name = "core-foundation"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
-dependencies = [
- "core-foundation-sys 0.7.0",
- "libc",
-]
-
-[[package]]
-name = "core-foundation"
 version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
 dependencies = [
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys",
  "libc",
 ]
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
-
-[[package]]
-name = "core-foundation-sys"
 version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
@@ -1201,7 +1177,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation 0.9.3",
+ "core-foundation",
  "core-graphics-types",
  "foreign-types",
  "libc",
@@ -1214,7 +1190,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation 0.9.3",
+ "core-foundation",
  "libc",
 ]
 
@@ -1303,17 +1279,18 @@ dependencies = [
 
 [[package]]
 name = "ctrlc"
-version = "3.4.0"
+version = "3.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a011bbe2c35ce9c1f143b7af6f94f29a167beb4cd1d29e6740ce836f723120e"
+checksum = "82e95fbd621905b854affdc67943b043a0fbb6ed7385fd5a25650d19a8a6cfdf"
 dependencies = [
- "nix 0.26.4",
+ "nix 0.27.1",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "cursive"
 version = "0.20.0"
+source = "git+https://gitlab.com/veilid/cursive.git#a76fc9050f69edf56bc37efc63194050b9f222e4"
 dependencies = [
  "ahash 0.8.3",
  "async-std",
@@ -1333,9 +1310,9 @@ dependencies = [
 [[package]]
 name = "cursive-flexi-logger-view"
 version = "0.5.0"
+source = "git+https://gitlab.com/veilid/cursive-flexi-logger-view.git#7c931536b8c57339011bbe2ee604e431c91c0aa8"
 dependencies = [
  "arraydeque",
- "cursive",
  "cursive_core",
  "flexi_logger",
  "lazy_static",
@@ -1347,6 +1324,7 @@ dependencies = [
 [[package]]
 name = "cursive-macros"
 version = "0.1.0"
+source = "git+https://gitlab.com/veilid/cursive.git#a76fc9050f69edf56bc37efc63194050b9f222e4"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1355,7 +1333,8 @@ dependencies = [
 
 [[package]]
 name = "cursive_buffered_backend"
-version = "0.6.1-pre"
+version = "0.6.1"
+source = "git+https://gitlab.com/veilid/cursive-buffered-backend.git#a0f5242882b0d42a0b18baa68b2d8d6dcaa6dee4"
 dependencies = [
  "cursive_core",
  "enumset",
@@ -1368,6 +1347,7 @@ dependencies = [
 [[package]]
 name = "cursive_core"
 version = "0.3.7"
+source = "git+https://gitlab.com/veilid/cursive.git#a76fc9050f69edf56bc37efc63194050b9f222e4"
 dependencies = [
  "ahash 0.8.3",
  "ansi-parser",
@@ -1424,7 +1404,7 @@ checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -1480,7 +1460,7 @@ dependencies = [
  "ident_case",
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -1502,7 +1482,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
 dependencies = [
  "darling_core 0.20.3",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -1684,7 +1664,7 @@ checksum = "ccb14d927583dd5c2eac0f2cf264fc4762aefe1ae14c47a8a20fc1939d3a5fc0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -1727,7 +1707,7 @@ dependencies = [
  "darling 0.20.3",
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -1807,28 +1787,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "failure"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86"
-dependencies = [
- "backtrace",
- "failure_derive",
-]
-
-[[package]]
-name = "failure_derive"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "synstructure",
-]
-
-[[package]]
 name = "fallible-iterator"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2043,7 +2001,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -2266,15 +2224,6 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
-dependencies = [
- "ahash 0.8.3",
-]
-
-[[package]]
-name = "hashbrown"
 version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
@@ -2285,14 +2234,6 @@ dependencies = [
 
 [[package]]
 name = "hashlink"
-version = "0.8.2"
-dependencies = [
- "hashbrown 0.13.2",
- "serde",
-]
-
-[[package]]
-name = "hashlink"
 version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
@@ -2466,7 +2407,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
 dependencies = [
  "android_system_properties",
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys",
  "iana-time-zone-haiku",
  "js-sys",
  "wasm-bindgen",
@@ -2520,17 +2461,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "igd"
-version = "0.12.1"
-dependencies = [
- "attohttpc",
- "log",
- "rand 0.8.5",
- "url",
- "xmltree",
-]
-
-[[package]]
 name = "image"
 version = "0.24.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2602,9 +2532,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
 dependencies = [
  "cfg-if 1.0.0",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
 ]
 
 [[package]]
@@ -2706,28 +2633,18 @@ dependencies = [
 ]
 
 [[package]]
-name = "keychain-services"
-version = "0.1.2"
-source = "git+https://github.com/iqlusioninc/keychain-services.rs.git?rev=7410fb8baf4ecdf04cdcd7d06d02658f4f158d77#7410fb8baf4ecdf04cdcd7d06d02658f4f158d77"
-dependencies = [
- "core-foundation 0.7.0",
- "failure",
- "failure_derive",
- "zeroize",
-]
-
-[[package]]
 name = "keyring-manager"
 version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c023f807de9a2f26e86c6ec3b5a3e0ea5681301999dcda9e262069ab3efb63e"
 dependencies = [
  "byteorder",
  "cfg-if 1.0.0",
- "core-foundation 0.9.3",
- "core-foundation-sys 0.8.4",
+ "core-foundation",
+ "core-foundation-sys",
  "directories 5.0.1",
  "fs4",
  "jni",
- "keychain-services",
  "lazy_static",
  "log",
  "ndk",
@@ -2744,6 +2661,8 @@ dependencies = [
 [[package]]
 name = "keyvaluedb"
 version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8833bc9e937f44bac0e8d129b3ccda60dee6ca5fa2757d7e05a5e04503df02fb"
 dependencies = [
  "smallvec",
 ]
@@ -2751,6 +2670,8 @@ dependencies = [
 [[package]]
 name = "keyvaluedb-memorydb"
 version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14fdc324ae658318df46f62e64159c5662b94bcc99f9b6403d47d20ca7768b21"
 dependencies = [
  "keyvaluedb",
  "parking_lot 0.12.1",
@@ -2759,6 +2680,8 @@ dependencies = [
 [[package]]
 name = "keyvaluedb-sqlite"
 version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6bad95a1ad34c10ad4823fae1cb655be7fec022de642c95fbfafad360ba2f54"
 dependencies = [
  "hex",
  "keyvaluedb",
@@ -2770,6 +2693,8 @@ dependencies = [
 [[package]]
 name = "keyvaluedb-web"
 version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26cc6bb420f98cdd63a72c95eaa06947cdbd04e60a8d296b87f466196bacf068"
 dependencies = [
  "async-lock",
  "flume",
@@ -2778,7 +2703,7 @@ dependencies = [
  "keyvaluedb",
  "keyvaluedb-memorydb",
  "log",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.1",
  "send_wrapper 0.6.0",
  "wasm-bindgen",
  "web-sys",
@@ -2934,9 +2859,9 @@ checksum = "ed1202b2a6f884ae56f04cff409ab315c5ce26b5e58d7412e484f01fd52f52ef"
 
 [[package]]
 name = "memchr"
-version = "2.6.2"
+version = "2.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5486aed0026218e61b8a01d5fbd5a0a134649abb71a0e53b7bc088529dced86e"
+checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
 
 [[package]]
 name = "memoffset"
@@ -3400,9 +3325,9 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.32.0"
+version = "0.32.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
 dependencies = [
  "memchr",
 ]
@@ -3695,7 +3620,7 @@ dependencies = [
  "pest_meta",
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -3766,7 +3691,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -4082,13 +4007,13 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.9.4"
+version = "1.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29"
+checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.3.7",
+ "regex-automata 0.3.8",
  "regex-syntax 0.7.5",
 ]
 
@@ -4103,9 +4028,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.3.7"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629"
+checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -4200,7 +4125,7 @@ dependencies = [
  "bitflags 2.4.0",
  "fallible-iterator",
  "fallible-streaming-iterator",
- "hashlink 0.8.4",
+ "hashlink",
  "libsqlite3-sys",
  "smallvec",
 ]
@@ -4378,8 +4303,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation 0.9.3",
- "core-foundation-sys 0.8.4",
+ "core-foundation",
+ "core-foundation-sys",
  "libc",
  "security-framework-sys",
 ]
@@ -4390,7 +4315,7 @@ version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
 dependencies = [
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys",
  "libc",
 ]
 
@@ -4451,7 +4376,7 @@ checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -4484,7 +4409,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -4556,7 +4481,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -4833,9 +4758,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.29"
+version = "2.0.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
+checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4849,25 +4774,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
 
 [[package]]
-name = "synstructure"
-version = "0.12.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "unicode-xid",
-]
-
-[[package]]
 name = "sysinfo"
 version = "0.28.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b4c2f3ca6693feb29a89724516f016488e9aafc7f37264f898593ee4b942f31b"
 dependencies = [
  "cfg-if 1.0.0",
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys",
  "libc",
  "ntapi",
  "once_cell",
@@ -4917,22 +4830,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.47"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f"
+checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.47"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b"
+checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -5050,7 +4963,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -5259,7 +5172,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -5518,12 +5431,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
 
 [[package]]
-name = "unicode-xid"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
-
-[[package]]
 name = "unicode_categories"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5599,13 +5506,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
 
 [[package]]
+name = "veilid-bugsalot"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9ee584edf237fac328b891dd06c21e7914a1db3762907edc366a13803451fe3"
+
+[[package]]
 name = "veilid-cli"
-version = "0.2.0"
+version = "0.2.1"
 dependencies = [
  "arboard",
  "async-std",
  "async-tungstenite 0.8.0",
- "bugsalot",
  "cfg-if 1.0.0",
  "clap 4.4.2",
  "config",
@@ -5631,12 +5543,13 @@ dependencies = [
  "thiserror",
  "tokio",
  "tokio-util",
+ "veilid-bugsalot",
  "veilid-tools",
 ]
 
 [[package]]
 name = "veilid-core"
-version = "0.2.0"
+version = "0.2.1"
 dependencies = [
  "argon2",
  "async-io",
@@ -5648,7 +5561,6 @@ dependencies = [
  "async_executors",
  "backtrace",
  "blake3",
- "bugsalot",
  "capnp",
  "capnpc",
  "cfg-if 1.0.0",
@@ -5668,10 +5580,8 @@ dependencies = [
  "futures-util",
  "generic-array 0.14.7",
  "getrandom 0.2.10",
- "hashlink 0.8.2",
  "hex",
  "ifstructs",
- "igd",
  "jni",
  "jni-sys",
  "js-sys",
@@ -5721,6 +5631,9 @@ dependencies = [
  "tracing-subscriber",
  "tracing-wasm",
  "trust-dns-resolver",
+ "veilid-bugsalot",
+ "veilid-hashlink",
+ "veilid-igd",
  "veilid-tools",
  "wasm-bindgen",
  "wasm-bindgen-futures",
@@ -5740,7 +5653,7 @@ dependencies = [
 
 [[package]]
 name = "veilid-flutter"
-version = "0.2.0"
+version = "0.2.1"
 dependencies = [
  "allo-isolate",
  "async-std",
@@ -5768,14 +5681,36 @@ dependencies = [
 ]
 
 [[package]]
+name = "veilid-hashlink"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a3dabbda02cfe176635dcaa18a021416ff2eb4d0b47a913e3fdc7f62049d7b1"
+dependencies = [
+ "hashbrown 0.14.0",
+ "serde",
+]
+
+[[package]]
+name = "veilid-igd"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28428a3f826ed334f995522e554d7c8c1a5a0e0a0248fc795a31022ddf436c9d"
+dependencies = [
+ "attohttpc",
+ "log",
+ "rand 0.8.5",
+ "url",
+ "xmltree",
+]
+
+[[package]]
 name = "veilid-server"
-version = "0.2.0"
+version = "0.2.1"
 dependencies = [
  "ansi_term",
  "async-std",
  "async-tungstenite 0.23.0",
  "backtrace",
- "bugsalot",
  "cfg-if 1.0.0",
  "clap 4.4.2",
  "color-eyre",
@@ -5812,6 +5747,7 @@ dependencies = [
  "tracing-opentelemetry",
  "tracing-subscriber",
  "url",
+ "veilid-bugsalot",
  "veilid-core",
  "wg",
  "windows-service",
@@ -5819,7 +5755,7 @@ dependencies = [
 
 [[package]]
 name = "veilid-tools"
-version = "0.2.0"
+version = "0.2.1"
 dependencies = [
  "android_logger 0.13.3",
  "async-lock",
@@ -5833,6 +5769,7 @@ dependencies = [
  "flume",
  "fn_name",
  "futures-util",
+ "getrandom 0.2.10",
  "jni",
  "jni-sys",
  "js-sys",
@@ -5870,7 +5807,7 @@ dependencies = [
 
 [[package]]
 name = "veilid-wasm"
-version = "0.2.0"
+version = "0.2.1"
 dependencies = [
  "cfg-if 1.0.0",
  "console_error_panic_hook",
@@ -5970,7 +5907,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
  "wasm-bindgen-shared",
 ]
 
@@ -6004,7 +5941,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -6518,7 +6455,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn 2.0.31",
 ]
 
 [[package]]
diff --git a/pkgs/tools/networking/veilid/default.nix b/pkgs/tools/networking/veilid/default.nix
index 6e1531cd6e2..7a859c7283f 100644
--- a/pkgs/tools/networking/veilid/default.nix
+++ b/pkgs/tools/networking/veilid/default.nix
@@ -10,21 +10,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "veilid";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitLab {
     owner = "veilid";
     repo = pname;
     rev = "v${version}";
-    fetchSubmodules = true;
-    sha256 = "sha256-OgV6Rp5Az5iPUekeO8L28bxlXj/wZ5mOGmlXz14wcoQ=";
+    sha256 = "sha256-ebWY/1LTLwi1YFHliPDracdF0WLfY047jUtQ/1w9Rjw=";
   };
 
   cargoLock = {
      lockFile = ./Cargo.lock;
      outputHashes = {
-       "bugsalot-0.2.2" = "sha256-9zLzK22dOB7w+ejk1SfkA98z4rEzrB6mAVUpPFuDUnY=";
-       "keychain-services-0.1.2" = "sha256-gkiE9PoSIgHngXc/BLMTL97/6dSnqAj42+q01CLbu+E=";
+       "cursive-0.20.0" = "sha256-jETyRRnzt7OMkTo4LRfeRr37oPJpn9R2soxkH7tzGy8=";
+       "cursive-flexi-logger-view-0.5.0" = "sha256-zFpfVFNZNNdNMdpJbaT4O2pMYccGEAGnvYzpRziMwfQ=";
+       "cursive_buffered_backend-0.6.1" = "sha256-+sTJnp570HupwaJxV2x+oKyLwNmqQ4HqOH2P1s9Hhw8=";
      };
    };
 
diff --git a/pkgs/tools/security/omapd/default.nix b/pkgs/tools/security/omapd/default.nix
deleted file mode 100644
index c2d911372eb..00000000000
--- a/pkgs/tools/security/omapd/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, stdenv, fetchurl, qt4, gdb, zlib }:
-
-stdenv.mkDerivation rec {
-  pname = "omapd";
-  version = "0.9.2";
-
-  src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/omapd/${pname}-${version}.tgz";
-    sha256 = "0d7lgv957jhbsav60j50jhdy3rpcqgql74qsniwnnpm3yqj9p0xc";
-  };
-
-  patches = [ ./zlib.patch ];
-
-  buildInputs = [ qt4 zlib gdb ];
-
-  buildPhase = ''
-    (cd plugins/RAMHashTables; qmake; make)
-    qmake
-    make
-  '';
-
-  installPhase = ''
-    install -vD omapd $out/bin/omapd
-    install -vD omapd.conf $out/etc/omapd.conf
-    install -vD plugins/libRAMHashTables.so $out/usr/lib/omapd/plugins/libRAMHashTables.so
-    ln -s $out/usr/lib/omapd/plugins $out/bin/plugins
-  '';
-
-  meta = with lib; {
-    homepage = "https://code.google.com/archive/p/omapd/";
-    description = "IF-MAP Server that implements the IF-MAP v1.1 and v2.0 specifications published by the Trusted Computing Group (TCG)";
-    license = licenses.gpl3;
-    maintainers = [ ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/security/omapd/zlib.patch b/pkgs/tools/security/omapd/zlib.patch
deleted file mode 100644
index dc0644f2a01..00000000000
--- a/pkgs/tools/security/omapd/zlib.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff -uNr omapd-0.9.2-old/omapd.pro omapd-0.9.2/omapd.pro
---- omapd-0.9.2-old/omapd.pro	2015-08-03 09:46:47.463420480 +0200
-+++ omapd-0.9.2/omapd.pro	2015-08-03 09:48:32.238657105 +0200
-@@ -37,4 +37,4 @@
-     clientconfiguration.h \
-     managementserver.h \
-     json.h
--INCLUDEPATH += $$[QT_INSTALL_PREFIX]/src/3rdparty/zlib
-+LIBS += -lz
diff --git a/pkgs/tools/security/vault-ssh-plus/default.nix b/pkgs/tools/security/vault-ssh-plus/default.nix
index 384571bde26..4979f914143 100644
--- a/pkgs/tools/security/vault-ssh-plus/default.nix
+++ b/pkgs/tools/security/vault-ssh-plus/default.nix
@@ -8,16 +8,16 @@
 }:
 buildGoModule rec {
   pname = "vault-ssh-plus";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "isometry";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-D38G947/1//AMmWghgw0TDzNcd4LUcCuyLBhRP7YFJY=";
+    hash = "sha256-J2fb1sRjBxLegFVwyEIRVolaLnXvziPrlidd/n/+tU8=";
   };
 
-  vendorHash = "sha256-tNdr2xyxri7mj1bP6oVx1DGzwrzg84TpPCY0kHNkXLw=";
+  vendorHash = "sha256-Casouw2fNg/hywx7A37VCVzQ8Gfnvf5qm6upOTUQZvA=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 89971be105c..6e7ebd48225 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -58,6 +58,7 @@ mapAliases ({
   ### A ###
 
   accounts-qt = throw "'accounts-qt' has been renamed to/replaced by 'libsForQt5.accounts-qt'"; # Converted to throw 2022-02-22
+  acoustidFingerprinter = throw "acoustidFingerprinter has been removed from nixpkgs, as it was unmaintained"; # Added 2022-05-09
   adobeReader = throw "'adobeReader' has been renamed to/replaced by 'adobe-reader'"; # Converted to throw 2022-02-22
   adobe_flex_sdk = throw "'adobe_flex_sdk' has been renamed to/replaced by 'apache-flex-sdk'"; # Converted to throw 2022-02-22
   adoptopenjdk-hotspot-bin-17 = throw "AdoptOpenJDK is now Temurin. Use temurin-bin-17"; # added 2022-07-02
@@ -68,6 +69,7 @@ mapAliases ({
   airfield = throw "airfield has been removed due to being unmaintained"; # Added 2023-05-19
   airtame = throw "airtame has been removed due to being unmaintained"; # Added 2022-01-19
   aleth = throw "aleth (previously packaged as cpp_ethereum) has been removed; abandoned upstream"; # Added 2020-11-30
+  aliza = throw "aliza has been removed, because it depended on qt4 and was unmaintained in nixpkgs"; # Added 2022-05-12
   alsaLib = alsa-lib; # Added 2021-06-09
   alsaOss = alsa-oss; # Added 2021-06-10
   alsaPluginWrapper = alsa-plugins-wrapper; # Added 2021-06-10
@@ -78,14 +80,15 @@ mapAliases ({
   aminal = throw "aminal was renamed to darktile"; # Added 2021-09-28
   ammonite-repl = throw "'ammonite-repl' has been renamed to/replaced by 'ammonite'"; # Converted to throw 2022-02-22
   amuleDaemon = throw "amuleDaemon was renamed to amule-daemon"; # Added 2022-02-11
-  amuleGui = throw "amuleGui was renamed to amule-gui"; # Added 2022-02-11
   amsn = throw "amsn has been removed due to being unmaintained"; # Added 2020-12-09
+  amuleGui = throw "amuleGui was renamed to amule-gui"; # Added 2022-02-11
   angelfish = libsForQt5.kdeGear.angelfish; # Added 2021-10-06
   angryipscanner = ipscan; # Added 2023-08-30
-  ansible_2_12 = throw "Ansible 2.12 goes end of life in 2023/05 and can't be supported throughout the 23.05 release cycle"; # Added 2023-05-16
-  ansible_2_11 = throw "Ansible 2.11 goes end of life in 2022/11 and can't be supported throughout the 22.05 release cycle"; # Added 2022-03-30
   ansible_2_10 = throw "Ansible 2.10 went end of life in 2022/05 and has subsequently been dropped"; # Added 2022-03-30
+  ansible_2_11 = throw "Ansible 2.11 goes end of life in 2022/11 and can't be supported throughout the 22.05 release cycle"; # Added 2022-03-30
+  ansible_2_12 = throw "Ansible 2.12 goes end of life in 2023/05 and can't be supported throughout the 23.05 release cycle"; # Added 2023-05-16
   ansible_2_9 = throw "Ansible 2.9 went end of life in 2022/05 and has subsequently been dropped"; # Added 2022-03-30
+  animbar = throw "animbar has been removed, because it was unmaintained"; # Added 2022-05-26
   antimicro = throw "antimicro has been removed as it was broken, see antimicrox instead"; # Added 2020-08-06
   antimicroX = antimicrox; # Added 2021-10-31
   apple-music-electron = throw "'apple-music-electron' is end of life and has been removed, you can use 'cider' instead"; # Added 2022-10-02
@@ -111,6 +114,7 @@ mapAliases ({
   audacity-gtk3 = throw "'audacity-gtk3' has been removed to/replaced by 'audacity'"; # Added 2022-10-09
   automoc4 = throw "automoc4 has been removed from nixpkgs"; # Added 2022-05-30
   avldrums-lv2 = x42-avldrums; # Added 2020-03-29
+  avogadro = throw "avogadro has been removed, because it depended on qt4"; # Added 2022-06-12
   avxsynth = throw "avxsynth was removed because it was broken"; # Added 2021-05-18
   awesome-4-0 = awesome; # Added 2022-05-05
   aws = throw "aws has been removed: abandoned by upstream. For the AWS CLI maintained by Amazon, see 'awscli' or 'awscli2'"; # Added 2022-09-21
@@ -480,6 +484,7 @@ mapAliases ({
   enyo-doom = enyo-launcher; # Added 2022-09-09
   epoxy = libepoxy; # Added 2021-11-11
   epsxe = throw "epsxe has been removed from nixpkgs, as it was unmaintained."; # added 2021-12-15
+  eql = throw "eql has been removed from nixpkgs, because it depended on qt4. eql5 exists, but is not currently pacakged in nixpkgs."; # added 2022-05-09
   inherit (beam.interpreters) erlangR26 erlangR25 erlangR24 erlangR23; # added 2023-03-21
   erlang_21 = throw "erlangR21 has been removed in favor of newer versions."; # added 2023-03-21
   erlangR21 = erlang_21;
@@ -536,6 +541,7 @@ mapAliases ({
   flutter2 = throw "flutter2 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2023-07-03
   flutter37 = throw "flutter37 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2023-07-03
   flvtool2 = throw "flvtool2 has been removed"; # Added 2020-11-03
+  fmbt = throw "fmbt was removed, because it depended on qt4 and python2 and was unmaintained upstream"; # Added 2022-06-13
   fme = throw "fme was removed, because it is old and uses Glade, a discontinued library"; # Added 2022-01-26
   foldingathome = fahclient; # Added 2020-09-03
   font-awesome-ttf = throw "'font-awesome-ttf' has been renamed to/replaced by 'font-awesome'"; # Converted to throw 2022-02-22
@@ -573,6 +579,7 @@ mapAliases ({
 
   g4py = python3Packages.geant4; # Added 2020-06-06
   gaia = throw "gaia has been removed because it seems abandoned upstream and uses no longer supported dependencies"; # Added 2020-06-06
+  gambatte = throw "gambatte has been removed, because the project has been taken private"; # Added 2022-05-26
   gammy = throw "'gammy' is deprecated upstream and has been replaced by 'gummy'"; # Added 2022-09-03
   garmindev = throw "'garmindev' has been removed as the dependent software 'qlandkartegt' has been removed"; # Added 2023-04-17
   gawp = throw "gawp has been dropped due to the lack of maintenance from upstream since 2017"; # Added 2022-06-02
@@ -733,6 +740,7 @@ mapAliases ({
   ht-rust = xh; # Added 2021-02-13
   hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra_unstable` now"; # Added 2020-04-06
   hydra-unstable = hydra_unstable; # added 2022-05-10
+  hydrogen_0 = throw "hydrogen_0 has been removed, because it depended on qt4"; # Added 2022-06-13
   hyperspace-cli = throw "hyperspace-cli is out of date, and has been deprecated upstream in favour of using the individual repos instead"; # Added 2022-08-29
 
   ### I ###
@@ -741,7 +749,8 @@ mapAliases ({
   i3cat = throw "i3cat has been dropped due to the lack of maintenance from upstream since 2016"; # Added 2022-06-02
   iana_etc = throw "'iana_etc' has been renamed to/replaced by 'iana-etc'"; # Converted to throw 2022-02-22
   iasl = throw "iasl has been removed, use acpica-tools instead"; # Added 2021-08-08
-  ical2org = throw "ical2org has been dropped due to the lack of maintenance from upstream since 2018"; # Added 2022-06-02
+  ibus-qt = throw "ibus-qt has been removed, because it depended on qt4"; # Added 2022-06-09
+  ical2org = throw "ical2org has been dropped due to the lack of maintanence from upstream since 2018"; # Added 2022-06-02
   icecat-bin = throw "icecat-bin has been removed, the binary builds are not maintained upstream"; # Added 2022-02-15
   icedtea8_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
   icedtea_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
@@ -756,6 +765,7 @@ mapAliases ({
   imagemagick7_light = imagemagick_light; # Added 2021-02-22
   imlib = throw "imlib has been dropped due to the lack of maintenance from upstream since 2004"; # Added 2023-01-04
   impressive = throw "impressive has been removed due to lack of released python 2 support and maintainership in nixpkgs"; # Added 2022-01-27
+  instead-launcher = throw "instead-launcher has been removed, because it depended on qt4"; # Added 2023-07-26
   insync-v3 = throw "insync-v3 has been merged into the insync package; use insync instead"; #Added 2023-05-13
   i-score = throw "i-score has been removed: abandoned upstream"; # Added 2020-11-21
   inboxer = throw "inboxer has been removed as it is no longer maintained and no longer works as Google shut down the inbox service this package wrapped";
@@ -903,6 +913,7 @@ mapAliases ({
   libintlOrEmpty = lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # Added 2018-03-14
   libixp_hg = libixp;
   libjpeg_drop = libjpeg_original; # Added 2020-06-05
+  libjreen = throw "libjreen has been removed, because it did not support a recent version of qt5"; # Added 2022-06-12
   libjson_rpc_cpp = throw "'libjson_rpc_cpp' has been renamed to/replaced by 'libjson-rpc-cpp'"; # Converted to throw 2022-02-22
   libkml = throw "libkml has been removed from nixpkgs, as it's abandoned and no package needed it"; # Added 2021-11-09
   liblapackWithoutAtlas = throw "'liblapackWithoutAtlas' has been renamed to/replaced by 'lapack-reference'"; # Converted to throw 2022-02-22
@@ -1153,6 +1164,8 @@ mapAliases ({
 
   ### N ###
 
+  namecoin = throw "namecoin GUI has been removed, because it depended on qt4"; # Added 2022-05-26
+  navipowm = throw "navipowm has been removed, because it was unmaintained upstream"; # Added 2022-05-26
   ncdu_2 = ncdu; # Added 2022-07-22
   nccl = throw "nccl has been renamed to cudaPackages.nccl"; # Added 2022-04-04
   nccl_cudatoolkit_10 = throw "nccl_cudatoolkit_10 has been renamed to cudaPackages_10.nccl"; # Added 2022-04-04
@@ -1211,6 +1224,7 @@ mapAliases ({
   noto-fonts-extra = noto-fonts; # Added 2023-04-08
   nottetris2 = throw "nottetris2 was removed because it is unmaintained by upstream and broken"; # Added 2022-01-15
   now-cli = throw "now-cli has been replaced with nodePackages.vercel"; # Added 2021-08-05
+  ntrack = throw "ntrack has been removed, because it depended on qt4"; # Added 2022-05-12
   ntdb = throw "ntdb has been removed: abandoned by upstream"; # Added 2022-04-21
   nxproxy = throw "'nxproxy' has been renamed to/replaced by 'nx-libs'"; # Converted to throw 2022-02-22
 
@@ -1231,6 +1245,7 @@ mapAliases ({
   ogre1_9 = throw "ogre1_9 has been removed, use ogre instead"; # Added 2023-03-22
   ogre1_10 = throw "ogre1_10 has been removed, use ogre instead"; # Added 2023-07-20
   olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05
+  omapd = throw "omapd has been removed from nixpkgs, as it was unmaintained"; # Added 2022-05-09
   opa = throw "opa has been removed from nixpkgs as upstream has abandoned the project"; # Added 2023-03-21
   opam_1_2 = throw "'opam_1_2' has been renamed to/replaced by 'opam'"; # Added 2023-03-08
   openafs_1_8 = openafs; # Added 2022-08-22
@@ -1479,23 +1494,32 @@ mapAliases ({
   qcsxcad = libsForQt5.qcsxcad; # Added 2020-11-05
   qtcreator-qt6 = throw "'qtcreator-qt6' has been renamed to/replaced by 'qtcreator', since qt5 version has been removed"; # Added 2023-07-25
   qflipper = qFlipper; # Added 2022-02-11
+  qfsm = throw "qfsm has been removed, because it depended on qt4"; # Added 2022-06-12
+  qimageblitz = throw "qimageblitz has been removed from nixpkgs, because it depended on qt4 and was last updated upstream in 2007"; # Added 2022-06-12
+  qmetro = throw "qmetro has been removed, because it does not support qt5 (well)"; # Added 2022-05-26
+  qmidiroute = throw "qmidiroute has been removed, because it was unmaintained upstream"; # Added 2022-05-26
   qmk_firmware = throw "qmk_firmware has been removed because it was broken"; # Added 2021-04-02
   qlandkartegt = throw "'qlandkartegt' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2023-04-17
   qr-filetransfer = throw ''"qr-filetransfer" has been renamed to "qrcp"''; # Added 2020-12-02
   qshowdiff = throw "'qshowdiff' (Qt4) is unmaintained and not been updated since its addition in 2010"; # Added 2022-06-14
+  qtscrobbler = throw "qtscrobbler has been removed, because it was unmaintained"; # Added 2022-05-26
   qt-3 = throw "qt-3 has been removed from nixpkgs, as it's unmaintained and insecure"; # Added 2021-02-15
   qt512 = throw "Qt 5 versions prior to 5.15 are no longer supported upstream and have been removed";  # Added 2022-11-24
   qt514 = throw "Qt 5 versions prior to 5.15 are no longer supported upstream and have been removed";  # Added 2022-11-24
   qt515 = qt5;  # Added 2022-11-24
+  qt4 = throw "qt4 has been removed from nixpkgs, because it's been EOL since the end of 2015"; # Added 2022-05-09
   qt5ct = libsForQt5.qt5ct; # Added 2021-12-27
   qt6ct = qt6Packages.qt6ct; # Added 2023-03-07
   qtcurve = libsForQt5.qtcurve; # Added 2020-11-07
   qtile-unwrapped = python3.pkgs.qtile; # Added 2023-05-12
   qtkeychain = throw "the qtkeychain attribute (qt4 version) has been removes, use the qt5 version: libsForQt5.qtkeychain"; # Added 2021-08-04
+  qt-mobility = throw "qt-mobility has been removed, because it depended on qt4"; # Added 2022-06-13
   qtscriptgenerator = throw "'qtscriptgenerator' (Qt4) is unmaintained upstream and not used in nixpkgs"; # Added 2022-06-14
+  qtstyleplugin-kvantum-qt4 = throw "qtstyleplugin-kvantum-qt4 has been removed, because it depended on qt4"; # Added 2022-05-26
   quagga = throw "quagga is no longer maintained upstream"; # Added 2021-04-22
   quake3game = throw "'quake3game' has been renamed to/replaced by 'ioquake3'"; # Converted to throw 2022-02-22
   quaternion-git = throw "quaternion-git has been removed in favor of the stable version 'quaternion'"; # Added 2020-04-09
+  qucs = throw "qucs has been removed, because it depended on qt4. try using qucs-s"; # Added 2022-05-12
   quilter = throw "quilter has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-03
   qutebrowser-qt6 = throw "'qutebrowser-qt6' has been replaced by 'qutebrowser', since the the qt5 version has been removed"; # Added 2023-08-19
   qvim = throw "qvim has been removed"; # Added 2020-08-31
@@ -1518,6 +1542,7 @@ mapAliases ({
   redkite = throw "redkite was archived by upstream"; # Added 2021-04-12
   redis-desktop-manager = throw "'redis-desktop-manager' has been renamed to/replaced by 'resp-app'"; # Added 2022-11-10
   redshift-wlr = throw "redshift-wlr has been replaced by gammastep"; # Added 2021-12-25
+  resim = throw "resim has been removed, because it depended on qt4"; # Added 2022-05-26
   reicast = throw "reicast has been removed from nixpkgs as it is unmaintained, please use flycast instead"; # Added 2022-03-07
   residualvm = throw "residualvm was merged to scummvm code in 2018-06-15; consider using scummvm"; # Added 2021-11-27
   retroArchCores = throw "retroArchCores has been removed. Please use overrides instead, e.g.: `retroarch.override { cores = with libretro; [ ... ]; }`"; # Added 2021-11-19
@@ -1573,8 +1598,11 @@ mapAliases ({
   saneFrontends = throw "'saneFrontends' has been renamed to/replaced by 'sane-frontends'"; # Converted to throw 2022-02-22
   scaff = throw "scaff is deprecated - replaced by https://gitlab.com/jD91mZM2/inc (not in nixpkgs yet)"; # Added 2020-03-01
   scallion = throw "scallion has been removed, because it is currently unmaintained upstream"; # added 2021-12-15
+  scantailor = scantailor-advanced; # Added 2022-05-26
   scim = throw "'scim' has been renamed to/replaced by 'sc-im'"; # Converted to throw 2022-02-22
   scollector = throw "'scollector' has been renamed to/replaced by 'bosun'"; # Converted to throw 2022-02-22
+  screencloud = throw "screencloud has been removed, because it was unmaintained in nixpkgs"; # Added 2022-05-26
+  scribus_1_4 = throw "scribus has been removed, because it is based on EOL technologies, e.g. qt4 and python2"; # Added 2022-05-29
   scribusUnstable = throw "'scribusUnstable' has been renamed to 'scribus'"; # Added 2022-05-13
   scrollkeeper = throw "'scrollkeeper' has been removed due to deprecated LibXML2 headers"; # Added 2022-11-08
   scyther = throw "scyther has been removed since it currently only supports Python 2, see https://github.com/cascremers/scyther/issues/20"; # Added 2021-10-07
@@ -1663,13 +1691,16 @@ mapAliases ({
   sqlite3_analyzer = throw "'sqlite3_analyzer' has been renamed to/replaced by 'sqlite-analyzer'"; # Converted to throw 2022-02-22
   sqlite-replication = throw "'sqlite-replication' has been removed since it is no longer required by lxd and is not maintained."; # throw 2022-12-26
   sqliteInteractive = throw "'sqliteInteractive' has been renamed to/replaced by 'sqlite-interactive'"; # Converted to throw 2022-02-22
+  sqliteman = throw "sqliteman has been removed, because it was unmaintained"; # Added 2022-05-26
   squid4 = squid;  # added 2019-08-22
   srcml = throw "'srcml' has been removed: abandoned by upstream"; # Added 2022-07-21
   sshfsFuse = throw "'sshfsFuse' has been renamed to/replaced by 'sshfs-fuse'"; # Converted to throw 2022-02-22
   ssmtp = throw "'ssmtp' has been removed due to the software being unmaintained. 'msmtp' can be used as a replacement"; # Added 2022-04-17
+  ssr = throw "ssr has been removed, because it was unmaintained in nixpkgs and depended on qt4"; # Added 2022-05-26
   stanchion = throw "Stanchion was part of riak-cs which is not maintained anymore"; # added 2020-10-14
   steam-run-native = steam-run; # added 2022-02-21
   stride = throw "'stride' aka. Atlassian Stride is dead since 2019 (bought by Slack)"; # added 2022-06-15
+  structure-synth = throw "structure-synth has been removed, because it was unmaintained"; # Added 2022-05-09
   stumpwm-git = throw "stumpwm-git has been broken for a long time and lispPackages.stumpwm follows Quicklisp that is close to git version"; # Added 2021-05-09
   subversion_1_10 = throw "subversion_1_10 has been removed as it has reached its end of life"; # Added 2022-04-26
   subversion19 = throw "subversion19 has been removed as it has reached its end of life"; # Added 2021-03-31
@@ -1762,6 +1793,7 @@ mapAliases ({
   turbo-geth = throw "turbo-geth has been renamed to erigon"; # Added 2021-08-08
   tvbrowser-bin = tvbrowser; # Added 2023-03-02
   twister = throw "twister has been removed: abandoned by upstream and python2-only"; # Added 2022-04-26
+  tworld2 = throw "tworld2 has been removed, as it was unmaintained"; # Added 2022-05-09
   tychus = throw "tychus has been dropped due to the lack of maintenance from upstream since 2018"; # Added 2022-06-03
   typora = throw "Newer versions of typora use anti-user encryption and refuse to start. As such it has been removed"; # Added 2021-09-11
   typst-fmt = typstfmt; # Added 2023-07-15
@@ -1798,6 +1830,7 @@ mapAliases ({
   ### V ###
 
   v4l_utils = v4l-utils; # Added 2019-08-07
+  valkyrie = throw "valkyrie was removed from nixpkgs, because it is unmaintained upstream"; # Added 2022-05-10
   vamp = { vampSDK = vamp-plugin-sdk; }; # Added 2020-03-26
   vaapiIntel = intel-vaapi-driver; # Added 2023-05-31
   vapor = throw "vapor was removed because it was unmaintained and upstream service no longer exists";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 521cf30da2b..f7d246237de 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1483,8 +1483,6 @@ with pkgs;
 
   acousticbrainz-client = callPackage ../tools/audio/acousticbrainz-client { };
 
-  acoustidFingerprinter = callPackage ../tools/audio/acoustid-fingerprinter { };
-
   alsaequal = callPackage ../tools/audio/alsaequal { };
 
   acpica-tools = callPackage ../tools/system/acpica-tools { };
@@ -2728,8 +2726,6 @@ with pkgs;
 
   py65 = with python3.pkgs; toPythonApplication py65;
 
-  resim = callPackage ../applications/emulators/resim { };
-
   retrofe = callPackage ../applications/emulators/retrofe { };
 
   ripes = libsForQt5.callPackage ../applications/emulators/ripes { };
@@ -6346,10 +6342,6 @@ with pkgs;
 
   simg2img = callPackage ../tools/filesystems/simg2img { };
 
-  smokegen = callPackage ../development/libraries/smokegen { };
-
-  smokeqt = callPackage ../development/libraries/smokeqt { };
-
   snazy = callPackage ../development/tools/snazy { };
 
   snippetpixie = callPackage ../tools/text/snippetpixie { };
@@ -6991,8 +6983,6 @@ with pkgs;
 
   ibus = callPackage ../tools/inputmethods/ibus { };
 
-  ibus-qt = callPackage ../tools/inputmethods/ibus/ibus-qt.nix { };
-
   ibus-engines = recurseIntoAttrs {
     anthy = callPackage ../tools/inputmethods/ibus-engines/ibus-anthy { };
 
@@ -8255,10 +8245,6 @@ with pkgs;
 
   flowblade = callPackage ../applications/video/flowblade { };
 
-  fmbt = callPackage ../development/tools/fmbt {
-    python = python2;
-  };
-
   fontfor = callPackage ../tools/misc/fontfor { };
 
   fontforge = lowPrio (callPackage ../tools/misc/fontforge {
@@ -12473,8 +12459,6 @@ with pkgs;
     stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv;
   };
 
-  qscintilla-qt4 = callPackage ../development/libraries/qscintilla-qt4 { };
-
   qscintilla-qt6 = qt6Packages.callPackage ../development/libraries/qscintilla { };
 
   qrcp = callPackage ../tools/networking/qrcp { };
@@ -13024,8 +13008,6 @@ with pkgs;
 
   seehecht = callPackage ../tools/text/seehecht { };
 
-  seexpr = callPackage ../development/compilers/seexpr { };
-
   selectdefaultapplication = libsForQt5.callPackage ../applications/misc/selectdefaultapplication { };
 
   semantic-release = callPackage ../development/tools/semantic-release {
@@ -13376,8 +13358,6 @@ with pkgs;
 
   spiped = callPackage ../tools/networking/spiped { };
 
-  sqliteman = callPackage ../applications/misc/sqliteman { };
-
   sqlite3-to-mysql = callPackage ../tools/misc/sqlite3-to-mysql { };
 
   sqls = callPackage ../applications/misc/sqls { };
@@ -13470,8 +13450,6 @@ with pkgs;
 
   structorizer = callPackage ../applications/graphics/structorizer { };
 
-  structure-synth = callPackage ../tools/graphics/structure-synth { };
-
   su-exec = callPackage ../tools/security/su-exec { };
 
   subberthehut = callPackage ../tools/misc/subberthehut { };
@@ -13769,15 +13747,10 @@ with pkgs;
 
   tewisay = callPackage ../tools/misc/tewisay { };
 
-  texmacs = if stdenv.isDarwin
-    then callPackage ../applications/editors/texmacs/darwin.nix {
-      inherit (darwin.apple_sdk.frameworks) CoreFoundation Cocoa;
-      tex = texlive.combined.scheme-small;
-      extraFonts = true;
-    } else libsForQt5.callPackage ../applications/editors/texmacs {
-      tex = texlive.combined.scheme-small;
-      extraFonts = true;
-    };
+  texmacs = libsForQt5.callPackage ../applications/editors/texmacs {
+    tex = texlive.combined.scheme-small;
+    extraFonts = true;
+  };
 
   texmaker = libsForQt5.callPackage ../applications/editors/texmaker { };
 
@@ -14080,8 +14053,6 @@ with pkgs;
 
   tunwg = callPackage ../tools/networking/tunwg { };
 
-  omapd = callPackage ../tools/security/omapd { };
-
   ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { };
 
   ttfautohint = libsForQt5.callPackage ../tools/misc/ttfautohint {
@@ -14221,6 +14192,8 @@ with pkgs;
 
   uftrace = callPackage ../development/tools/uftrace { };
 
+  uftpd = callPackage ../servers/ftp/uftpd {};
+
   uget = callPackage ../tools/networking/uget { };
 
   uget-integrator = callPackage ../tools/networking/uget-integrator { };
@@ -14647,8 +14620,6 @@ with pkgs;
 
   tweeny = callPackage ../development/libraries/tweeny { };
 
-  qfsm = callPackage ../applications/science/electronics/qfsm { };
-
   tkgate = callPackage ../applications/science/electronics/tkgate/1.x.nix { };
 
   tm = callPackage ../tools/system/tm { };
@@ -15747,8 +15718,6 @@ with pkgs;
 
   eli = callPackage ../development/compilers/eli { };
 
-  eql = callPackage ../development/compilers/eql { };
-
   erg = callPackage ../development/compilers/erg { };
 
   elm2nix = haskell.lib.compose.justStaticExecutables haskellPackages.elm2nix;
@@ -18116,11 +18085,6 @@ with pkgs;
 
   setupcfg2nix = python3Packages.callPackage ../development/tools/setupcfg2nix { };
 
-  # These pyside tools do not provide any Python modules and are meant to be here.
-  # See ../development/python-modules/pyside for details.
-  pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { };
-  pysideGeneratorrunner = callPackage ../development/python-modules/pyside/generatorrunner.nix { };
-
   svg2tikz = with python3.pkgs; toPythonApplication svg2tikz;
 
   svg2pdf = callPackage ../tools/graphics/svg2pdf { };
@@ -19892,12 +19856,8 @@ with pkgs;
     sdk = true;
   };
 
-  nrf-command-line-tools = callPackage ../development/tools/misc/nrf-command-line-tools { };
-
   nrf5-sdk = callPackage ../development/libraries/nrf5-sdk { };
 
-  nrfconnect = callPackage ../tools/bluetooth/nrfconnect { };
-
   nrfutil = callPackage ../development/tools/misc/nrfutil { };
 
   obelisk = callPackage ../development/tools/ocaml/obelisk { menhir = ocamlPackages.menhir; };
@@ -20218,8 +20178,6 @@ with pkgs;
 
   scss-lint = callPackage ../development/tools/scss-lint { };
 
-  segger-jlink = callPackage ../development/tools/misc/segger-jlink { };
-
   segger-ozone = callPackage ../development/tools/misc/segger-ozone { };
 
   selene = callPackage ../development/tools/selene { };
@@ -20522,8 +20480,6 @@ with pkgs;
   };
   valgrind-light = res.valgrind.override { gdb = null; };
 
-  valkyrie = callPackage ../development/tools/analysis/valkyrie { };
-
   qcachegrind = libsForQt5.callPackage ../development/tools/analysis/qcachegrind { };
 
   visualvm = callPackage ../development/tools/java/visualvm { };
@@ -21931,11 +21887,6 @@ with pkgs;
 
   gusb = callPackage ../development/libraries/gusb { };
 
-  qt-mobility = callPackage ../development/libraries/qt-mobility { };
-
-
-  qtstyleplugin-kvantum-qt4 = callPackage ../development/libraries/qtstyleplugin-kvantum-qt4 { };
-
   qxmpp = libsForQt5.callPackage ../development/libraries/qxmpp { };
 
   gnet = callPackage ../development/libraries/gnet { };
@@ -23349,8 +23300,6 @@ with pkgs;
   libjpeg = libjpeg_turbo;
   libjpeg8 = libjpeg_turbo.override { enableJpeg8 = true; };
 
-  libjreen = callPackage ../development/libraries/libjreen { };
-
   libjson-rpc-cpp = callPackage ../development/libraries/libjson-rpc-cpp {
     libmicrohttpd = libmicrohttpd_0_9_72;
   };
@@ -23722,6 +23671,8 @@ with pkgs;
 
   libuecc = callPackage ../development/libraries/libuecc { };
 
+  libuev = callPackage ../development/libraries/libuev {};
+
   libui = callPackage ../development/libraries/libui {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
@@ -24342,8 +24293,6 @@ with pkgs;
 
   ntk = callPackage ../development/libraries/audio/ntk { };
 
-  ntrack = callPackage ../development/libraries/ntrack { };
-
   numcpp = callPackage ../development/libraries/numcpp { };
 
   nuraft = callPackage ../development/libraries/nuraft { };
@@ -24725,8 +24674,6 @@ with pkgs;
 
   primesieve = callPackage ../applications/science/math/primesieve { };
 
-  prison = callPackage ../development/libraries/prison { };
-
   proj = callPackage ../development/libraries/proj { };
 
   proj_7 = callPackage ../development/libraries/proj/7.nix { };
@@ -24797,8 +24744,6 @@ with pkgs;
 
   qdjango = libsForQt5.callPackage ../development/libraries/qdjango { };
 
-  qimageblitz = callPackage ../development/libraries/qimageblitz { };
-
   qoi = callPackage ../development/libraries/qoi { };
 
   qolibri = libsForQt5.callPackage ../applications/misc/qolibri { };
@@ -24807,34 +24752,6 @@ with pkgs;
 
   quartoMinimal = callPackage ../development/libraries/quarto { rWrapper = null; python3 = null; };
 
-  qt4 = qt48;
-
-  qt48 = callPackage ../development/libraries/qt-4.x/4.8 {
-    # GNOME dependencies are not used unless gtkStyle == true
-    inherit (gnome2) libgnomeui GConf gnome_vfs;
-    cups = if stdenv.isLinux then cups else null;
-
-    # XXX: mariadb doesn't built on fbsd as of nov 2015
-    libmysqlclient = if (!stdenv.isFreeBSD) then libmysqlclient else null;
-
-    inherit (darwin) libobjc;
-    inherit (darwin.apple_sdk.frameworks) ApplicationServices OpenGL Cocoa AGL;
-  };
-
-  qmake48Hook = makeSetupHook {
-    name = "qmake4.8-hook";
-    substitutions = { qt4 = qt48; };
-  } ../development/libraries/qt-4.x/4.8/qmake-hook.sh;
-
-  qmake4Hook = qmake48Hook;
-
-  qt48Full = qt48.override {
-    docs = true;
-    demos = true;
-    examples = true;
-    developerBuild = true;
-  };
-
   qt5 = recurseIntoAttrs (makeOverridable
     (import ../development/libraries/qt-5/5.15) {
       inherit (__splicedPackages)
@@ -24881,10 +24798,6 @@ with pkgs;
 
   qv2ray = libsForQt5.callPackage ../applications/networking/qv2ray { };
 
-  qwt6_qt4 = callPackage ../development/libraries/qwt/6_qt4.nix {
-    inherit (darwin.apple_sdk.frameworks) AGL;
-  };
-
   rabbitmq-c = callPackage ../development/libraries/rabbitmq-c { };
 
   raft-canonical = callPackage ../development/libraries/raft-canonical { };
@@ -30608,8 +30521,6 @@ with pkgs;
     (callPackage ../applications/editors/android-studio { });
   android-studio = androidStudioPackages.stable;
 
-  animbar = callPackage ../applications/graphics/animbar { };
-
   antfs-cli = callPackage ../applications/misc/antfs-cli { };
 
   antimony = libsForQt5.callPackage ../applications/graphics/antimony { };
@@ -32697,7 +32608,6 @@ with pkgs;
   husky = callPackage ../development/tools/misc/husky { };
 
   hydrogen = qt5.callPackage ../applications/audio/hydrogen { };
-  hydrogen_0 = callPackage ../applications/audio/hydrogen/0.nix { }; # Old stable, has GMKit.
 
   hydroxide = callPackage ../applications/networking/hydroxide { };
 
@@ -34576,8 +34486,6 @@ with pkgs;
 
   nanorc = callPackage ../applications/editors/nano/nanorc { };
 
-  navipowm = callPackage ../applications/misc/navipowm { };
-
   nc4nix = callPackage ../development/tools/nc4nix { };
 
   netbeans = callPackage ../applications/editors/netbeans {
@@ -35141,14 +35049,10 @@ with pkgs;
 
   qmplay2 = libsForQt5.callPackage ../applications/video/qmplay2 { };
 
-  qmetro = callPackage ../applications/misc/qmetro { };
-
   qmidiarp = callPackage ../applications/audio/qmidiarp { };
 
   qmidinet = libsForQt5.callPackage ../applications/audio/qmidinet { };
 
-  qmidiroute = callPackage ../applications/audio/qmidiroute { };
-
   qmmp = qt6Packages.callPackage ../applications/audio/qmmp { };
 
   qnotero = libsForQt5.callPackage ../applications/office/qnotero { };
@@ -35159,10 +35063,7 @@ with pkgs;
 
   qsampler = libsForQt5.callPackage ../applications/audio/qsampler { };
 
-  qscreenshot = callPackage ../applications/graphics/qscreenshot {
-    inherit (darwin.apple_sdk.frameworks) Carbon;
-    qt = qt4;
-  };
+  qscreenshot = libsForQt5.callPackage ../applications/graphics/qscreenshot { };
 
   qsstv = qt5.callPackage ../applications/radio/qsstv { };
 
@@ -35193,8 +35094,6 @@ with pkgs;
 
   qtractor = libsForQt5.callPackage ../applications/audio/qtractor { };
 
-  qtscrobbler = callPackage ../applications/audio/qtscrobbler { };
-
   quantomatic = callPackage ../applications/science/physics/quantomatic { };
 
   quassel = libsForQt5.callPackage ../applications/networking/irc/quassel {
@@ -35443,8 +35342,6 @@ with pkgs;
 
   sbagen = callPackage ../applications/misc/sbagen { };
 
-  scantailor = callPackage ../applications/graphics/scantailor { };
-
   scantailor-advanced = libsForQt5.callPackage ../applications/graphics/scantailor/advanced.nix { };
 
   sc-im = callPackage ../applications/misc/sc-im { };
@@ -35453,10 +35350,6 @@ with pkgs;
 
   scli = callPackage ../applications/misc/scli { };
 
-  scribus_1_4 = callPackage ../applications/office/scribus/1_4.nix {
-    inherit (gnome2) libart_lgpl;
-  };
-
   scribus_1_5 = libsForQt5.callPackage ../applications/office/scribus/default.nix { };
   scribus = scribus_1_5;
 
@@ -35772,10 +35665,6 @@ with pkgs;
     python = python3;
   };
 
-  ssr = callPackage ../applications/audio/soundscape-renderer {
-    autoreconfHook = buildPackages.autoreconfHook269;
-  };
-
   ssrc = callPackage ../applications/audio/ssrc { };
 
   stalonetray = callPackage ../applications/window-managers/stalonetray { };
@@ -37391,8 +37280,7 @@ with pkgs;
 
   nano-wallet = libsForQt5.callPackage ../applications/blockchains/nano-wallet { };
 
-  namecoin  = callPackage ../applications/blockchains/namecoin { withGui = true; };
-  namecoind = callPackage ../applications/blockchains/namecoin { withGui = false; };
+  namecoind = callPackage ../applications/blockchains/namecoin { };
 
   nbxplorer = callPackage ../applications/blockchains/nbxplorer { };
 
@@ -38021,8 +37909,6 @@ with pkgs;
 
   galaxis = callPackage ../games/galaxis { };
 
-  gambatte = callPackage ../games/gambatte { };
-
   gambit-chess = callPackage ../games/gambit { };
 
   garden-of-coloured-lights = callPackage ../games/garden-of-coloured-lights { allegro = allegro4; };
@@ -38119,8 +38005,6 @@ with pkgs;
 
   instead = callPackage ../games/instead { };
 
-  instead-launcher = callPackage ../games/instead-launcher { };
-
   iortcw = callPackage ../games/iortcw { };
   # used as base package for iortcw forks
   iortcw_sp = callPackage ../games/iortcw/sp.nix { };
@@ -38704,8 +38588,6 @@ with pkgs;
 
   tuxtype = callPackage ../games/tuxtype { };
 
-  tworld2 = callPackage ../games/tworld2 { };
-
   speed_dreams = callPackage ../games/speed-dreams {
     # Torcs wants to make shared libraries linked with plib libraries (it provides static).
     # i686 is the only platform I know than can do that linking without plib built with -fPIC
@@ -38996,11 +38878,6 @@ with pkgs;
 
   apbs = callPackage ../applications/science/chemistry/apbs { };
 
-  avogadro = callPackage ../applications/science/chemistry/avogadro {
-    openbabel = openbabel2;
-    eigen = eigen2;
-  };
-
   avogadrolibs = libsForQt5.callPackage ../development/libraries/science/chemistry/avogadrolibs { };
 
   molequeue = libsForQt5.callPackage ../development/libraries/science/chemistry/molequeue { };
@@ -39633,8 +39510,6 @@ with pkgs;
 
   ### SCIENCE/MEDICINE
 
-  aliza = callPackage ../applications/science/medicine/aliza { };
-
   dcmtk = callPackage ../applications/science/medicine/dcmtk { };
 
   xmedcon = callPackage ../applications/science/medicine/xmedcon { };
@@ -39964,7 +39839,7 @@ with pkgs;
 
   diylc = callPackage ../applications/science/electronics/diylc { };
 
-  flatcam = callPackage ../applications/science/electronics/flatcam { };
+  flatcam = python39.pkgs.callPackage ../applications/science/electronics/flatcam { };
 
   flopoco = callPackage ../applications/science/electronics/flopoco { };
 
@@ -40021,8 +39896,6 @@ with pkgs;
 
   pcb = callPackage ../applications/science/electronics/pcb { };
 
-  qucs = callPackage ../applications/science/electronics/qucs { };
-
   qucs-s = qt6Packages.callPackage ../applications/science/electronics/qucs-s { };
 
   xcircuit = callPackage ../applications/science/electronics/xcircuit { };
@@ -40244,7 +40117,7 @@ with pkgs;
 
   tulip = libsForQt5.callPackage ../applications/science/misc/tulip { };
 
-  vite = callPackage ../applications/science/misc/vite { };
+  vite = libsForQt5.callPackage ../applications/science/misc/vite { };
 
   xearth = callPackage ../applications/science/astronomy/xearth { };
   xplanet = callPackage ../applications/science/astronomy/xplanet { };
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 9649d074e02..89ad05c16de 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -273,6 +273,7 @@ mapAliases ({
   pymc3 = pymc; # added 2022-06-05, module was rename starting with 4.0.0
   pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04
   PyMVGLive = pymvglive; # added 2023-02-19
+  pyqt4 = throw "pyqt4 has been removed, because it depended on the long EOL qt4"; # added 2022-06-09
   pyramid_hawkauth = throw "pyramid_hawkauth has been removed because it is no longer maintained"; # added 2023-02-2
   pyramid_jinja2 = pyramid-jinja2; # added 2023-06-06
   pyreadability = readability-lxml; # added 2022-05-24
@@ -363,6 +364,7 @@ mapAliases ({
   sphinx-navtree = throw "sphinx-navtree has been removed since it is not compatible with sphinx 3.3 and unmaintained"; # added 2023-07-03
   sqlalchemy_migrate = sqlalchemy-migrate; # added 2021-10-28
   SQLAlchemy-ImageAttach = throw "sqlalchemy-imageattach has been removed as it is incompatible with sqlalchemy 1.4 and unmaintained"; # added 2022-04-23
+  subdownloader = throw "subdownloader has been removed, because it depended on pyqt4"; # added 2022-06-09
   suds-jurko = throw "suds-jurko has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2023-02-27
   suseapi = throw "suseapi has been removed because it is no longer maintained"; # added 2023-02-27
   tensorflow-bin_2 = tensorflow-bin; # added 2021-11-25
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 88312ac2976..3c34eb74a62 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -9691,8 +9691,6 @@ self: super: with self; {
 
   pyqt-builder = callPackage ../development/python-modules/pyqt-builder { };
 
-  pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { };
-
   pyqt5 = callPackage ../development/python-modules/pyqt/5.x.nix { };
 
   pyqt5_sip = callPackage ../development/python-modules/pyqt/sip.nix { };
@@ -9899,16 +9897,6 @@ self: super: with self; {
     inherit (pkgs) cmake ninja qt6;
   });
 
-  pyside = callPackage ../development/python-modules/pyside {
-    inherit (pkgs) mesa;
-  };
-
-  pysideShiboken = callPackage ../development/python-modules/pyside/shiboken.nix {
-    inherit (pkgs) libxml2 libxslt;
-  };
-
-  pysideTools = callPackage ../development/python-modules/pyside/tools.nix { };
-
   pysigma = callPackage ../development/python-modules/pysigma { };
 
   pysigma-backend-elasticsearch = callPackage ../development/python-modules/pysigma-backend-elasticsearch { };
@@ -10902,8 +10890,6 @@ self: super: with self; {
 
   qreactor = callPackage ../development/python-modules/qreactor { };
 
-  qscintilla-qt4 = callPackage ../development/python-modules/qscintilla-qt4 { };
-
   qscintilla-qt5 = pkgs.libsForQt5.callPackage ../development/python-modules/qscintilla-qt5 {
     pythonPackages = self;
   };
@@ -12422,8 +12408,6 @@ self: super: with self; {
 
   subarulink = callPackage ../development/python-modules/subarulink { };
 
-  subdownloader = callPackage ../development/python-modules/subdownloader { };
-
   subliminal = callPackage ../development/python-modules/subliminal { };
 
   subprocess-tee = callPackage ../development/python-modules/subprocess-tee { };