summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2022-05-10 18:01:50 +0000
committerGitHub <noreply@github.com>2022-05-10 18:01:50 +0000
commit3a79190750961431007e18e13b8d2799ac3b7367 (patch)
treeaaf3e426b937fa06ed71d3b27d24f63a2a178e12
parentf779fff0bb634fc3893712bf11380444bbf0e7e7 (diff)
parenta3b39a4e16eb17bd5aa7f6d05967a5e457bc1642 (diff)
downloadnixpkgs-3a79190750961431007e18e13b8d2799ac3b7367.tar
nixpkgs-3a79190750961431007e18e13b8d2799ac3b7367.tar.gz
nixpkgs-3a79190750961431007e18e13b8d2799ac3b7367.tar.bz2
nixpkgs-3a79190750961431007e18e13b8d2799ac3b7367.tar.lz
nixpkgs-3a79190750961431007e18e13b8d2799ac3b7367.tar.xz
nixpkgs-3a79190750961431007e18e13b8d2799ac3b7367.tar.zst
nixpkgs-3a79190750961431007e18e13b8d2799ac3b7367.zip
Merge staging-next into staging
-rw-r--r--maintainers/scripts/luarocks-packages.csv4
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2205.section.xml18
-rw-r--r--nixos/doc/manual/release-notes/rl-2205.section.md4
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/web-apps/snipe-it.nix493
-rw-r--r--pkgs/applications/audio/dsf2flac/default.nix10
-rw-r--r--pkgs/applications/audio/surge-XT/default.nix6
-rw-r--r--pkgs/applications/editors/bluej/default.nix2
-rw-r--r--pkgs/applications/editors/maui-nota/default.nix56
-rw-r--r--pkgs/applications/editors/vscode/generic.nix9
-rw-r--r--pkgs/applications/misc/gmtp/default.nix2
-rw-r--r--pkgs/applications/misc/ocropus/default.nix59
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix7
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/linux.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/molden/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/siesta/default.nix4
-rw-r--r--pkgs/applications/science/logic/tlaplus/toolbox.nix5
-rw-r--r--pkgs/applications/version-management/rcshist/default.nix2
-rw-r--r--pkgs/applications/video/vvave/default.nix59
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/development/compilers/opa/default.nix2
-rw-r--r--pkgs/development/haskell-modules/cabal2nix-unstable.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-arm.nix5
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml6
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml2
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml39
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml2
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1063
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix35
-rw-r--r--pkgs/development/libraries/imlib2/default.nix20
-rw-r--r--pkgs/development/libraries/irrlichtmt/default.nix61
-rw-r--r--pkgs/development/libraries/pipewire/wireplumber.nix4
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix149
-rw-r--r--pkgs/development/ocaml-modules/cryptokit/default.nix10
-rw-r--r--pkgs/development/python-modules/ansible-compat/default.nix4
-rw-r--r--pkgs/development/python-modules/apache-beam/default.nix10
-rw-r--r--pkgs/development/python-modules/db-dtypes/default.nix18
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix11
-rw-r--r--pkgs/development/python-modules/pyarrow/default.nix14
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--pkgs/development/python-modules/pydyf/default.nix10
-rw-r--r--pkgs/development/python-modules/zope_lifecycleevent/default.nix4
-rw-r--r--pkgs/development/tools/misc/hydra/common.nix2
-rw-r--r--pkgs/games/minetest/default.nix27
-rw-r--r--pkgs/os-specific/linux/odp-dpdk/default.nix10
-rw-r--r--pkgs/servers/haste-server/default.nix4
-rw-r--r--pkgs/servers/haste-server/node-composition.nix2
-rw-r--r--pkgs/servers/haste-server/node-deps.nix24
-rw-r--r--pkgs/servers/haste-server/node-env.nix32
-rw-r--r--pkgs/servers/http/envoy/default.nix4
-rw-r--r--pkgs/servers/web-apps/snipe-it/composer-env.nix244
-rw-r--r--pkgs/servers/web-apps/snipe-it/composition.nix15
-rw-r--r--pkgs/servers/web-apps/snipe-it/default.nix47
-rw-r--r--pkgs/servers/web-apps/snipe-it/php-packages.nix1348
-rwxr-xr-xpkgs/servers/web-apps/snipe-it/update.sh50
-rw-r--r--pkgs/tools/misc/communicator/default.nix67
-rw-r--r--pkgs/tools/networking/getmail6/default.nix4
-rw-r--r--pkgs/tools/security/cryptomator/default.nix8
-rw-r--r--pkgs/top-level/aliases.nix3
-rw-r--r--pkgs/top-level/all-packages.nix16
64 files changed, 3367 insertions, 796 deletions
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index acd26ee93c0..e743675be50 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -6,6 +6,7 @@ basexx,https://github.com/teto/basexx.git,,,,,
 binaryheap,https://github.com/Tieske/binaryheap.lua,,,,,vcunat
 busted,,,,,,
 cassowary,,,,,,marsam alerque
+cldr,,,,,,alerque
 compat53,,,,0.7-1,,vcunat
 cosmo,,,,,,marsam
 coxpcall,,,,1.17.0-1,,
@@ -14,6 +15,7 @@ cyrussasl,https://github.com/JorjBauer/lua-cyrussasl.git,,,,,
 digestif,https://github.com/astoff/digestif.git,,,0.2-1,lua5_3,
 dkjson,,,,,,
 fifo,,,,,,
+fluent,,,,,,alerque
 gitsigns.nvim,https://github.com/lewis6991/gitsigns.nvim.git,,,,lua5_1,
 http,,,,0.3-0,,vcunat
 inspect,,,,,,
@@ -24,6 +26,7 @@ linenoise,https://github.com/hoelzro/lua-linenoise.git,,,,,
 ljsyscall,,,,,lua5_1,lblasc
 lmathx,,,,,lua5_3,alexshpilkin
 lmpfrlib,,,,,lua5_3,alexshpilkin
+loadkit,,,,,,alerque
 lpeg,,,,,,vyp
 lpeg_patterns,,,,,,
 lpeglabel,,,,,,
@@ -86,4 +89,5 @@ say,https://github.com/Olivine-Labs/say.git,,,,,
 std._debug,https://github.com/lua-stdlib/_debug.git,,,,,
 std.normalize,https://github.com/lua-stdlib/normalize.git,,,,,
 stdlib,,,,41.2.2,,vyp
+tl,,,,,,mephistophiles
 vstruct,https://github.com/ToxicFrog/vstruct.git,,,,,
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index ab0edcebc67..36d3f4976db 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -240,6 +240,14 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://snipeitapp.com">Snipe-IT</link>, a
+          free open source IT asset/license management system. Available
+          as
+          <link xlink:href="options.html#opt-services.snipe-it.enable">services.snipe-it</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://github.com/ngoduykhanh/PowerDNS-Admin">PowerDNS-Admin</link>,
           a web interface for the PowerDNS server. Available at
           <link xlink:href="options.html#opt-services.powerdns-admin.enable">services.powerdns-admin</link>.
@@ -1448,6 +1456,16 @@
       </listitem>
       <listitem>
         <para>
+          <literal>pkgs.minetestclient_4</literal> and
+          <literal>pkgs.minetestserver_4</literal> have been removed, as
+          the last 4.x release was in 2018.
+          <literal>pkgs.minetestclient</literal> (equivalent to
+          <literal>pkgs.minetest</literal> ) and
+          <literal>pkgs.minetestserver</literal> can be used instead.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>pkgs.noto-fonts-cjk</literal> is now deprecated in
           favor of <literal>pkgs.noto-fonts-cjk-sans</literal> and
           <literal>pkgs.noto-fonts-cjk-serif</literal> because they each
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index af65ae46131..7926f6b9667 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -77,6 +77,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [ergochat](https://ergo.chat), a modern IRC with IRCv3 features. Available as [services.ergochat](options.html#opt-services.ergochat.enable).
 
+- [Snipe-IT](https://snipeitapp.com), a free open source IT asset/license management system. Available as [services.snipe-it](options.html#opt-services.snipe-it.enable).
+
 - [PowerDNS-Admin](https://github.com/ngoduykhanh/PowerDNS-Admin), a web interface for the PowerDNS server. Available at [services.powerdns-admin](options.html#opt-services.powerdns-admin.enable).
 
 - [pgadmin4](https://github.com/postgres/pgadmin4), an admin interface for the PostgreSQL database. Available at [services.pgadmin](options.html#opt-services.pgadmin.enable).
@@ -571,6 +573,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `pkgs.pgadmin` now refers to `pkgs.pgadmin4`. `pgadmin3` has been removed.
 
+- `pkgs.minetestclient_4` and `pkgs.minetestserver_4` have been removed, as the last 4.x release was in 2018. `pkgs.minetestclient` (equivalent to `pkgs.minetest` ) and `pkgs.minetestserver` can be used instead.
+
 - `pkgs.noto-fonts-cjk` is now deprecated in favor of `pkgs.noto-fonts-cjk-sans`
   and `pkgs.noto-fonts-cjk-serif` because they each have different release
   schedules. To maintain compatibility with prior releases of Nixpkgs,
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index b3efa5d5e6f..e0d1c037935 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -1079,6 +1079,7 @@
   ./services/web-apps/trilium.nix
   ./services/web-apps/selfoss.nix
   ./services/web-apps/shiori.nix
+  ./services/web-apps/snipe-it.nix
   ./services/web-apps/vikunja.nix
   ./services/web-apps/virtlyst.nix
   ./services/web-apps/wiki-js.nix
diff --git a/nixos/modules/services/web-apps/snipe-it.nix b/nixos/modules/services/web-apps/snipe-it.nix
new file mode 100644
index 00000000000..f14171d02f3
--- /dev/null
+++ b/nixos/modules/services/web-apps/snipe-it.nix
@@ -0,0 +1,493 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.snipe-it;
+  snipe-it = pkgs.snipe-it.override {
+    dataDir = cfg.dataDir;
+  };
+  db = cfg.database;
+  mail = cfg.mail;
+
+  user = cfg.user;
+  group = cfg.group;
+
+  tlsEnabled = cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME;
+
+  # shell script for local administration
+  artisan = pkgs.writeScriptBin "snipe-it" ''
+    #! ${pkgs.runtimeShell}
+    cd ${snipe-it}
+    sudo=exec
+    if [[ "$USER" != ${user} ]]; then
+      sudo='exec /run/wrappers/bin/sudo -u ${user}'
+    fi
+    $sudo ${pkgs.php}/bin/php artisan $*
+  '';
+in {
+  options.services.snipe-it = {
+
+    enable = mkEnableOption "A free open source IT asset/license management system";
+
+    user = mkOption {
+      default = "snipeit";
+      description = "User snipe-it runs as.";
+      type = types.str;
+    };
+
+    group = mkOption {
+      default = "snipeit";
+      description = "Group snipe-it runs as.";
+      type = types.str;
+    };
+
+    appKeyFile = mkOption {
+      description = ''
+        A file containing the Laravel APP_KEY - a 32 character long,
+        base64 encoded key used for encryption where needed. Can be
+        generated with <code>head -c 32 /dev/urandom | base64</code>.
+      '';
+      example = "/run/keys/snipe-it/appkey";
+      type = types.path;
+    };
+
+    hostName = lib.mkOption {
+      type = lib.types.str;
+      default = if config.networking.domain != null then
+                  config.networking.fqdn
+                else
+                  config.networking.hostName;
+      defaultText = lib.literalExpression "config.networking.fqdn";
+      example = "snipe-it.example.com";
+      description = ''
+        The hostname to serve Snipe-IT on.
+      '';
+    };
+
+    appURL = mkOption {
+      description = ''
+        The root URL that you want to host Snipe-IT on. All URLs in Snipe-IT will be generated using this value.
+        If you change this in the future you may need to run a command to update stored URLs in the database.
+        Command example: <code>snipe-it snipe-it:update-url https://old.example.com https://new.example.com</code>
+      '';
+      default = "http${lib.optionalString tlsEnabled "s"}://${cfg.hostName}";
+      defaultText = ''
+        http''${lib.optionalString tlsEnabled "s"}://''${cfg.hostName}
+      '';
+      example = "https://example.com";
+      type = types.str;
+    };
+
+    dataDir = mkOption {
+      description = "snipe-it data directory";
+      default = "/var/lib/snipe-it";
+      type = types.path;
+    };
+
+    database = {
+      host = mkOption {
+        type = types.str;
+        default = "localhost";
+        description = "Database host address.";
+      };
+      port = mkOption {
+        type = types.port;
+        default = 3306;
+        description = "Database host port.";
+      };
+      name = mkOption {
+        type = types.str;
+        default = "snipeit";
+        description = "Database name.";
+      };
+      user = mkOption {
+        type = types.str;
+        default = user;
+        defaultText = literalExpression "user";
+        description = "Database username.";
+      };
+      passwordFile = mkOption {
+        type = with types; nullOr path;
+        default = null;
+        example = "/run/keys/snipe-it/dbpassword";
+        description = ''
+          A file containing the password corresponding to
+          <option>database.user</option>.
+        '';
+      };
+      createLocally = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Create the database and database user locally.";
+      };
+    };
+
+    mail = {
+      driver = mkOption {
+        type = types.enum [ "smtp" "sendmail" ];
+        default = "smtp";
+        description = "Mail driver to use.";
+      };
+      host = mkOption {
+        type = types.str;
+        default = "localhost";
+        description = "Mail host address.";
+      };
+      port = mkOption {
+        type = types.port;
+        default = 1025;
+        description = "Mail host port.";
+      };
+      encryption = mkOption {
+        type = with types; nullOr (enum [ "tls" "ssl" ]);
+        default = null;
+        description = "SMTP encryption mechanism to use.";
+      };
+      user = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        example = "snipeit";
+        description = "Mail username.";
+      };
+      passwordFile = mkOption {
+        type = with types; nullOr path;
+        default = null;
+        example = "/run/keys/snipe-it/mailpassword";
+        description = ''
+          A file containing the password corresponding to
+          <option>mail.user</option>.
+        '';
+      };
+      backupNotificationAddress = mkOption {
+        type = types.str;
+        default = "backup@example.com";
+        description = "Email Address to send Backup Notifications to.";
+      };
+      from = {
+        name = mkOption {
+          type = types.str;
+          default = "Snipe-IT Asset Management";
+          description = "Mail \"from\" name.";
+        };
+        address = mkOption {
+          type = types.str;
+          default = "mail@example.com";
+          description = "Mail \"from\" address.";
+        };
+      };
+      replyTo = {
+        name = mkOption {
+          type = types.str;
+          default = "Snipe-IT Asset Management";
+          description = "Mail \"reply-to\" name.";
+        };
+        address = mkOption {
+          type = types.str;
+          default = "mail@example.com";
+          description = "Mail \"reply-to\" address.";
+        };
+      };
+    };
+
+    maxUploadSize = mkOption {
+      type = types.str;
+      default = "18M";
+      example = "1G";
+      description = "The maximum size for uploads (e.g. images).";
+    };
+
+    poolConfig = mkOption {
+      type = with types; attrsOf (oneOf [ str int bool ]);
+      default = {
+        "pm" = "dynamic";
+        "pm.max_children" = 32;
+        "pm.start_servers" = 2;
+        "pm.min_spare_servers" = 2;
+        "pm.max_spare_servers" = 4;
+        "pm.max_requests" = 500;
+      };
+      description = ''
+        Options for the snipe-it PHP pool. See the documentation on <literal>php-fpm.conf</literal>
+        for details on configuration directives.
+      '';
+    };
+
+    nginx = mkOption {
+      type = types.submodule (
+        recursiveUpdate
+          (import ../web-servers/nginx/vhost-options.nix { inherit config lib; }) {}
+      );
+      default = {};
+      example = literalExpression ''
+        {
+          serverAliases = [
+            "snipe-it.''${config.networking.domain}"
+          ];
+          # To enable encryption and let let's encrypt take care of certificate
+          forceSSL = true;
+          enableACME = true;
+        }
+      '';
+      description = ''
+        With this option, you can customize the nginx virtualHost settings.
+      '';
+    };
+
+    config = mkOption {
+      type = with types;
+        attrsOf
+          (nullOr
+            (either
+              (oneOf [
+                bool
+                int
+                port
+                path
+                str
+              ])
+              (submodule {
+                options = {
+                  _secret = mkOption {
+                    type = nullOr (oneOf [ str path ]);
+                    description = ''
+                      The path to a file containing the value the
+                      option should be set to in the final
+                      configuration file.
+                    '';
+                  };
+                };
+              })));
+      default = {};
+      example = literalExpression ''
+        {
+          ALLOWED_IFRAME_HOSTS = "https://example.com";
+          WKHTMLTOPDF = "''${pkgs.wkhtmltopdf}/bin/wkhtmltopdf";
+          AUTH_METHOD = "oidc";
+          OIDC_NAME = "MyLogin";
+          OIDC_DISPLAY_NAME_CLAIMS = "name";
+          OIDC_CLIENT_ID = "snipe-it";
+          OIDC_CLIENT_SECRET = {_secret = "/run/keys/oidc_secret"};
+          OIDC_ISSUER = "https://keycloak.example.com/auth/realms/My%20Realm";
+          OIDC_ISSUER_DISCOVER = true;
+        }
+      '';
+      description = ''
+        Snipe-IT configuration options to set in the
+        <filename>.env</filename> file.
+        Refer to <link xlink:href="https://snipe-it.readme.io/docs/configuration"/>
+        for details on supported values.
+
+        Settings containing secret data should be set to an attribute
+        set containing the attribute <literal>_secret</literal> - a
+        string pointing to a file containing the value the option
+        should be set to. See the example to get a better picture of
+        this: in the resulting <filename>.env</filename> file, the
+        <literal>OIDC_CLIENT_SECRET</literal> key will be set to the
+        contents of the <filename>/run/keys/oidc_secret</filename>
+        file.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    assertions = [
+      { assertion = db.createLocally -> db.user == user;
+        message = "services.snipe-it.database.user must be set to ${user} if services.snipe-it.database.createLocally is set true.";
+      }
+      { assertion = db.createLocally -> db.passwordFile == null;
+        message = "services.snipe-it.database.passwordFile cannot be specified if services.snipe-it.database.createLocally is set to true.";
+      }
+    ];
+
+    environment.systemPackages = [ artisan ];
+
+    services.snipe-it.config = {
+      APP_ENV = "production";
+      APP_KEY._secret = cfg.appKeyFile;
+      APP_URL = cfg.appURL;
+      DB_HOST = db.host;
+      DB_PORT = db.port;
+      DB_DATABASE = db.name;
+      DB_USERNAME = db.user;
+      DB_PASSWORD._secret = db.passwordFile;
+      MAIL_DRIVER = mail.driver;
+      MAIL_FROM_NAME = mail.from.name;
+      MAIL_FROM_ADDR = mail.from.address;
+      MAIL_REPLYTO_NAME = mail.from.name;
+      MAIL_REPLYTO_ADDR = mail.from.address;
+      MAIL_BACKUP_NOTIFICATION_ADDRESS = mail.backupNotificationAddress;
+      MAIL_HOST = mail.host;
+      MAIL_PORT = mail.port;
+      MAIL_USERNAME = mail.user;
+      MAIL_ENCRYPTION = mail.encryption;
+      MAIL_PASSWORD._secret = mail.passwordFile;
+      APP_SERVICES_CACHE = "/run/snipe-it/cache/services.php";
+      APP_PACKAGES_CACHE = "/run/snipe-it/cache/packages.php";
+      APP_CONFIG_CACHE = "/run/snipe-it/cache/config.php";
+      APP_ROUTES_CACHE = "/run/snipe-it/cache/routes-v7.php";
+      APP_EVENTS_CACHE = "/run/snipe-it/cache/events.php";
+      SESSION_SECURE_COOKIE = tlsEnabled;
+    };
+
+    services.mysql = mkIf db.createLocally {
+      enable = true;
+      package = mkDefault pkgs.mariadb;
+      ensureDatabases = [ db.name ];
+      ensureUsers = [
+        { name = db.user;
+          ensurePermissions = { "${db.name}.*" = "ALL PRIVILEGES"; };
+        }
+      ];
+    };
+
+    services.phpfpm.pools.snipe-it = {
+      inherit user group;
+      phpPackage = pkgs.php74;
+      phpOptions = ''
+        post_max_size = ${cfg.maxUploadSize}
+        upload_max_filesize = ${cfg.maxUploadSize}
+      '';
+      settings = {
+        "listen.mode" = "0660";
+        "listen.owner" = user;
+        "listen.group" = group;
+      } // cfg.poolConfig;
+    };
+
+    services.nginx = {
+      enable = mkDefault true;
+      virtualHosts."${cfg.hostName}" = mkMerge [ cfg.nginx {
+        root = mkForce "${snipe-it}/public";
+        extraConfig = optionalString (cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME) "fastcgi_param HTTPS on;";
+        locations = {
+          "/" = {
+            index = "index.php";
+            extraConfig = ''try_files $uri $uri/ /index.php?$query_string;'';
+          };
+          "~ \.php$" = {
+            extraConfig = ''
+              try_files $uri $uri/ /index.php?$query_string;
+              include ${config.services.nginx.package}/conf/fastcgi_params;
+              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+              fastcgi_param REDIRECT_STATUS 200;
+              fastcgi_pass unix:${config.services.phpfpm.pools."snipe-it".socket};
+              ${optionalString (cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME) "fastcgi_param HTTPS on;"}
+            '';
+          };
+          "~ \.(js|css|gif|png|ico|jpg|jpeg)$" = {
+            extraConfig = "expires 365d;";
+          };
+        };
+      }];
+    };
+
+    systemd.services.snipe-it-setup = {
+      description = "Preperation tasks for snipe-it";
+      before = [ "phpfpm-snipe-it.service" ];
+      after = optional db.createLocally "mysql.service";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+        User = user;
+        WorkingDirectory = snipe-it;
+        RuntimeDirectory = "snipe-it/cache";
+        RuntimeDirectoryMode = 0700;
+      };
+      path = [ pkgs.replace-secret ];
+      script =
+        let
+          isSecret  = v: isAttrs v && v ? _secret && (isString v._secret || builtins.isPath v._secret);
+          snipeITEnvVars = lib.generators.toKeyValue {
+            mkKeyValue = lib.flip lib.generators.mkKeyValueDefault "=" {
+              mkValueString = v: with builtins;
+                if isInt             v then toString v
+                else if isString     v then "\"${v}\""
+                else if true  ==     v then "true"
+                else if false ==     v then "false"
+                else if isSecret     v then
+                  if (isString v._secret) then
+                    hashString "sha256" v._secret
+                  else
+                    hashString "sha256" (builtins.readFile v._secret)
+                else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}";
+            };
+          };
+          secretPaths = lib.mapAttrsToList (_: v: v._secret) (lib.filterAttrs (_: isSecret) cfg.config);
+          mkSecretReplacement = file: ''
+            replace-secret ${escapeShellArgs [
+              (
+                if (isString file) then
+                  builtins.hashString "sha256" file
+                else
+                  builtins.hashString "sha256" (builtins.readFile file)
+              )
+              file
+              "${cfg.dataDir}/.env"
+            ]}
+          '';
+          secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths;
+          filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! elem v [ {} null ])) cfg.config;
+          snipeITEnv = pkgs.writeText "snipeIT.env" (snipeITEnvVars filteredConfig);
+        in ''
+          # error handling
+          set -euo pipefail
+
+          # set permissions
+          umask 077
+
+          # create .env file
+          install -T -m 0600 -o ${user} ${snipeITEnv} "${cfg.dataDir}/.env"
+
+          # replace secrets
+          ${secretReplacements}
+
+          # prepend `base64:` if it does not exist in APP_KEY
+          if ! grep 'APP_KEY=base64:' "${cfg.dataDir}/.env" >/dev/null; then
+              sed -i 's/APP_KEY=/APP_KEY=base64:/' "${cfg.dataDir}/.env"
+          fi
+
+          # purge cache
+          rm "${cfg.dataDir}"/bootstrap/cache/*.php || true
+
+          # migrate db
+          ${pkgs.php}/bin/php artisan migrate --force
+        '';
+    };
+
+    systemd.tmpfiles.rules = [
+      "d ${cfg.dataDir}                            0710 ${user} ${group} - -"
+      "d ${cfg.dataDir}/bootstrap                  0750 ${user} ${group} - -"
+      "d ${cfg.dataDir}/bootstrap/cache            0750 ${user} ${group} - -"
+      "d ${cfg.dataDir}/public                     0750 ${user} ${group} - -"
+      "d ${cfg.dataDir}/public/uploads             0750 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage                    0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/app                0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/fonts              0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/framework          0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/framework/cache    0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/framework/sessions 0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/framework/views    0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/logs               0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/uploads            0700 ${user} ${group} - -"
+    ];
+
+    users = {
+      users = mkIf (user == "snipeit") {
+        snipeit = {
+          inherit group;
+          isSystemUser = true;
+        };
+        "${config.services.nginx.user}".extraGroups = [ group ];
+      };
+      groups = mkIf (group == "snipeit") {
+        snipeit = {};
+      };
+    };
+
+  };
+
+  meta.maintainers = with maintainers; [ yayayayaka ];
+}
diff --git a/pkgs/applications/audio/dsf2flac/default.nix b/pkgs/applications/audio/dsf2flac/default.nix
index db07acf7c36..d47bff7fe88 100644
--- a/pkgs/applications/audio/dsf2flac/default.nix
+++ b/pkgs/applications/audio/dsf2flac/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dsf2flac";
-  version = "unstable-2018-01-02";
+  version = "unstable-2021-07-31";
 
   src = fetchFromGitHub {
     owner = "hank";
     repo = pname;
-    rev = "b0cf5aa6ddc60df9bbfeed25548e443c99f5cb16";
-    sha256 = "15j5f82v7lgs0fkgyyynl82cb1rsxyr9vw3bpzra63nacbi9g8lc";
+    rev = "6b109cd276ec7c7901f96455c77cf2d2ebfbb181";
+    sha256 = "sha256-VlXfywgYhI2QuGQvpD33BspTTgT0jOKUV3gENq4HiBU=";
   };
 
   buildInputs = [ boost flac id3lib taglib zlib ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     description = "A DSD to FLAC transcoding tool";
     homepage = "https://github.com/hank/dsf2flac";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ dmrauh ];
-    platforms = with platforms; linux;
+    maintainers = with maintainers; [ artemist ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/audio/surge-XT/default.nix b/pkgs/applications/audio/surge-XT/default.nix
index a08c25f016a..7d8cf72eba2 100644
--- a/pkgs/applications/audio/surge-XT/default.nix
+++ b/pkgs/applications/audio/surge-XT/default.nix
@@ -37,14 +37,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "surge-XT";
-  version = "unstable-2021-12-11";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "surge-synthesizer";
     repo = "surge";
-    rev = "320f68543d0279c11cea8dc7f5170399cccc9602";
+    rev = "release_xt_${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-Jcs5FpX5AZl72aKYNbRcfYqb2PRt0r1pQXk957xk0aM=";
+    sha256 = "sha256-u7jXNCDFRzq9oFaxovfTEipQsN+e4+whLexJrSJdXWw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/bluej/default.nix b/pkgs/applications/editors/bluej/default.nix
index bfc413c24ad..552358319e1 100644
--- a/pkgs/applications/editors/bluej/default.nix
+++ b/pkgs/applications/editors/bluej/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   preFixup = ''
     makeWrapper ${jdk}/bin/java $out/bin/bluej \
       "''${gappsWrapperArgs[@]}" \
-      --add-flags "-Djavafx.embed.singleThread=true -Dawt.useSystemAAFontSettings=on -Xmx512M -cp \"$out/share/bluej/bluej.jar\" bluej.Boot"
+      --add-flags "-Djavafx.embed.singleThread=true -Dawt.useSystemAAFontSettings=on -Xmx512M -cp $out/share/bluej/bluej.jar bluej.Boot"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/editors/maui-nota/default.nix b/pkgs/applications/editors/maui-nota/default.nix
new file mode 100644
index 00000000000..9664aab2b2c
--- /dev/null
+++ b/pkgs/applications/editors/maui-nota/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, applet-window-buttons
+, karchive
+, kcoreaddons
+, ki18n
+, kio
+, kirigami2
+, mauikit
+, mauikit-filebrowsing
+, mauikit-texteditor
+, qtmultimedia
+, qtquickcontrols2
+}:
+
+mkDerivation rec {
+  pname = "nota";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "nota";
+    rev = "v${version}";
+    sha256 = "sha256-Sgpm5njhQDe9ohAVFcN5iPNC6v9+QZnGRPYxuLvUno8=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    applet-window-buttons
+    karchive
+    kcoreaddons
+    ki18n
+    kio
+    kirigami2
+    mauikit
+    mauikit-filebrowsing
+    mauikit-texteditor
+    qtmultimedia
+    qtquickcontrols2
+  ];
+
+  meta = with lib; {
+    description = "Multi-platform text editor";
+    homepage = "https://invent.kde.org/maui/nota";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix
index 9a4f1b92d41..e1003180050 100644
--- a/pkgs/applications/editors/vscode/generic.nix
+++ b/pkgs/applications/editors/vscode/generic.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, makeDesktopItem
-, unzip, libsecret, libXScrnSaver, libxshmfence, wrapGAppsHook
+, unzip, libsecret, libXScrnSaver, libxshmfence, wrapGAppsHook, makeWrapper
 , atomEnv, at-spi2-atk, autoPatchelfHook
 , systemd, fontconfig, libdbusmenu, glib, buildFHSUserEnvBubblewrap
 , writeShellScriptBin
@@ -68,7 +68,12 @@ let
 
     runtimeDependencies = lib.optional stdenv.isLinux [ (lib.getLib systemd) fontconfig.lib libdbusmenu ];
 
-    nativeBuildInputs = [ unzip ] ++ lib.optionals stdenv.isLinux [ autoPatchelfHook nodePackages.asar wrapGAppsHook ];
+    nativeBuildInputs = [ unzip ]
+      ++ lib.optionals stdenv.isLinux [
+        autoPatchelfHook
+        nodePackages.asar
+        (wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
+      ];
 
     dontBuild = true;
     dontConfigure = true;
diff --git a/pkgs/applications/misc/gmtp/default.nix b/pkgs/applications/misc/gmtp/default.nix
index 1479fe7bc7d..5f03b8ea7e7 100644
--- a/pkgs/applications/misc/gmtp/default.nix
+++ b/pkgs/applications/misc/gmtp/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   preFixup = ''
-    gappsWrapperArgs+=(--add-flags "--datapath \"$out/share\"");
+    gappsWrapperArgs+=(--add-flags "--datapath $out/share");
   '';
 
   meta = {
diff --git a/pkgs/applications/misc/ocropus/default.nix b/pkgs/applications/misc/ocropus/default.nix
deleted file mode 100644
index 41c6cdee41c..00000000000
--- a/pkgs/applications/misc/ocropus/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ lib, fetchFromGitHub, fetchurl, python2Packages, curl }:
-
-let
-  getmodel = name: sha256: {
-    inherit name;
-    src = fetchurl {
-      url = "http://www.tmbdev.net/ocropy/${name}";
-      inherit sha256;
-    };
-  };
-
-  models = [
-    (getmodel "en-default.pyrnn.gz"
-      "1xyi3k3p81mfw0491gb1haisazfyi2i18f1wjs1m34ak39qfqjdp")
-    (getmodel "fraktur.pyrnn.gz"
-      "1wlwvxn91ilgmlri1hj81arl3mbzxc24ycdnkf5icq4hdi4c6y8b")
-  ];
-
-in
-python2Packages.buildPythonApplication rec {
-  pname = "ocropus";
-  version = "1.3.3";
-
-  src = fetchFromGitHub {
-    sha256 = "02p1334mic5cfhvpfphfrbim4036yfd8s2zzpwm0xmm829z71nr7";
-    rev = "v${version}";
-    repo = "ocropy";
-    owner = "tmbdev";
-  };
-
-  propagatedBuildInputs = with python2Packages; [ curl numpy scipy pillow
-    matplotlib beautifulsoup4 pygtk lxml ];
-
-  enableParallelBuilding = true;
-
-  preConfigure = with lib; ''
-    ${concatStrings (map (x: "cp -R ${x.src} models/`basename ${x.name}`;")
-      models)}
-
-    substituteInPlace ocrolib/common.py --replace /usr/local $out
-    substituteInPlace ocrolib/default.py --replace /usr/local $out
-  '';
-
-  doCheck = false;  # fails
-  checkPhase = ''
-    patchShebangs .
-    substituteInPlace ./run-test \
-      --replace 'ocropus-rpred' 'ocropus-rpred -Q $NIX_BUILD_CORES'
-    PATH=".:$PATH" ./run-test
-  '';
-
-  meta = with lib; {
-    description = "Open source document analysis and OCR system";
-    license = licenses.asl20;
-    homepage = "https://github.com/tmbdev/ocropy/";
-    maintainers = with maintainers; [ domenkozar ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index b216d750d56..79b9b498fbd 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, wrapGAppsHook
+{ lib, stdenv, fetchurl, wrapGAppsHook, makeWrapper
 , dpkg
 , alsa-lib
 , at-spi2-atk
@@ -102,7 +102,10 @@ stdenv.mkDerivation rec {
   dontPatchELF = true;
   doInstallCheck = true;
 
-  nativeBuildInputs = [ dpkg wrapGAppsHook ];
+  nativeBuildInputs = [
+    dpkg
+    (wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
+  ];
 
   buildInputs = [
     # needed for GSETTINGS_SCHEMAS_PATH
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index 748552a4067..502b2bf41ef 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.36.10";
+  version = "0.36.11";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-C7VUDwgxE5VlHamgJk9dDhaBCOLXLDg0TFEhH2jV4oc=";
+    sha256 = "sha256-kXa3iG94WTH6KpQksl2r0yXyr4KuLY2AZdZtZ6zWYUA=";
   };
 
-  vendorSha256 = "sha256-ZI2ETgxpRk10WMxb/v1j/LumL2xtE3QBcARs7spYMOk=";
+  vendorSha256 = "sha256-7SUf4r+6r6dkBoBZFg2AUK114QEl0+1lwRA4ymYArFs=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix
index 05833c1eeaf..f5d984bf3a6 100644
--- a/pkgs/applications/networking/instant-messengers/discord/linux.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix
@@ -1,5 +1,5 @@
 { pname, version, src, meta, binaryName, desktopName, autoPatchelfHook
-, makeDesktopItem, lib, stdenv, wrapGAppsHook, alsa-lib, at-spi2-atk
+, makeDesktopItem, lib, stdenv, wrapGAppsHook, makeWrapper, alsa-lib, at-spi2-atk
 , at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk-pixbuf
 , glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid, libX11
 , libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     libxshmfence
     mesa
     nss
-    wrapGAppsHook
+    (wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
   ];
 
   dontWrapGApps = true;
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 6afccfaaa07..96c6809b045 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, autoPatchelfHook, dpkg, wrapGAppsHook, nixosTests
+{ stdenv, lib, fetchurl, autoPatchelfHook, dpkg, wrapGAppsHook, makeWrapper, nixosTests
 , gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig
 , dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
 , libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsa-lib
@@ -40,7 +40,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoPatchelfHook
     dpkg
-    wrapGAppsHook
+    (wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index 00289e5c628..7ee1cc9ab4f 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -6,11 +6,11 @@
 
 mkDerivation rec {
   pname = "teamviewer";
-  version = "15.26.4";
+  version = "15.29.4";
 
   src = fetchurl {
     url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb";
-    sha256 = "sha256-2CprtdKHHTLxS8jA4bRVoHvj/8zyVUV0aGPzU7mNxM8=";
+    sha256 = "sha256-jkFqOtU+D62S7QmNPvz58Z8wJ79lkN11pWQrtNdD+Uk=";
   };
 
   unpackPhase = ''
@@ -30,7 +30,7 @@ mkDerivation rec {
       $out/share/teamviewer/config \
       $out/share/teamviewer/tv_bin/RTlib \
       $out/share/teamviewer/tv_bin/xdg-utils \
-      $out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,libdepend,tv-delayed-start.sh}
+      $out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,tv-delayed-start.sh}
 
     ln -s $out/share/teamviewer/tv_bin/script/teamviewer $out/bin
     ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin
diff --git a/pkgs/applications/science/chemistry/molden/default.nix b/pkgs/applications/science/chemistry/molden/default.nix
index 03f7c6c2b40..fc5c18e4ccd 100644
--- a/pkgs/applications/science/chemistry/molden/default.nix
+++ b/pkgs/applications/science/chemistry/molden/default.nix
@@ -19,7 +19,11 @@ stdenv.mkDerivation rec {
                                   --replace '-I/usr/X11R6/include' "" \
                                   --replace '/usr/local/' $out/ \
                                   --replace 'sudo' "" \
-                                  --replace '-C surf depend' '-C surf'
+                                  --replace '-C surf depend' '-C surf' \
+                                  --replace 'FFLAGS =' 'FFLAGS = -fallow-argument-mismatch'
+
+     substituteInPlace ambfor/makefile --replace 'FFLAGS =' 'FFLAGS = -fallow-argument-mismatch'
+
      sed -in '/^# DO NOT DELETE THIS LINE/q;' surf/Makefile
   '';
 
diff --git a/pkgs/applications/science/chemistry/siesta/default.nix b/pkgs/applications/science/chemistry/siesta/default.nix
index 4c3d1d4c1a7..f49b9d1f45f 100644
--- a/pkgs/applications/science/chemistry/siesta/default.nix
+++ b/pkgs/applications/science/chemistry/siesta/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
     sha256 = "0lz8rfl5xwdj17zn7a30ipi7cgjwqki21a7wg9rdg7iwx27bpnmg";
   };
 
+  postPatch = ''
+    substituteInPlace Src/siesta_init.F --replace '/bin/rm' 'rm'
+  '';
+
   passthru = {
     inherit mpi;
   };
diff --git a/pkgs/applications/science/logic/tlaplus/toolbox.nix b/pkgs/applications/science/logic/tlaplus/toolbox.nix
index e13fd578927..d84f0b2abf6 100644
--- a/pkgs/applications/science/logic/tlaplus/toolbox.nix
+++ b/pkgs/applications/science/logic/tlaplus/toolbox.nix
@@ -34,7 +34,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gtk3 ];
 
-  nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
+  nativeBuildInputs = [
+    makeWrapper
+    (wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
+  ];
 
   dontWrapGApps = true;
 
diff --git a/pkgs/applications/version-management/rcshist/default.nix b/pkgs/applications/version-management/rcshist/default.nix
index cd176972277..a9c7bbefc13 100644
--- a/pkgs/applications/version-management/rcshist/default.nix
+++ b/pkgs/applications/version-management/rcshist/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   version = "1.04";
 
   src = fetchurl {
-    url = "https://invisible-island.net/datafiles/release/rcshist.tar.gz";
+    url = "https://web.archive.org/web/20220508220019/https://invisible-island.net/datafiles/release/rcshist.tar.gz";
     sha256 = "01ab3xwgm934lxr8bm758am3vxwx4hxx7cc9prbgqj5nh30vdg1n";
   };
 
diff --git a/pkgs/applications/video/vvave/default.nix b/pkgs/applications/video/vvave/default.nix
new file mode 100644
index 00000000000..1612ce42001
--- /dev/null
+++ b/pkgs/applications/video/vvave/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, applet-window-buttons
+, karchive
+, kcoreaddons
+, ki18n
+, kio
+, kirigami2
+, mauikit
+, mauikit-accounts
+, mauikit-filebrowsing
+, qtmultimedia
+, qtquickcontrols2
+, taglib
+}:
+
+mkDerivation rec {
+  pname = "vvave";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "vvave";
+    rev = "v${version}";
+    sha256 = "sha256-ykX1kd3106KTDTJQIGk6miSgbj+oROiXQl/nkCjTphE=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    applet-window-buttons
+    karchive
+    kcoreaddons
+    ki18n
+    kio
+    kirigami2
+    mauikit
+    mauikit-accounts
+    mauikit-filebrowsing
+    qtmultimedia
+    qtquickcontrols2
+    taglib
+  ];
+
+  meta = with lib; {
+    description = "Multi-platform media player";
+    homepage = "https://invent.kde.org/maui/vvave";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
+
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index 9454a39d9d7..3c200d6cd8c 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "08ae12813ead00810e00ffe9dae284fcafe6a08a",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/08ae12813ead00810e00ffe9dae284fcafe6a08a.tar.gz",
-  "sha256": "00jc08pifnp791s1scscdhgwlf75v9682a7vjis1djnhj3y5s3ny",
-  "msg": "Update from Hackage at 2022-05-01T06:09:30Z"
+  "commit": "78324aa49909392e169c86bbfd204694523907e8",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/78324aa49909392e169c86bbfd204694523907e8.tar.gz",
+  "sha256": "15k5ag36asswwv8yazq53lkj9blnz4hzlq23cznvvk5pkjpdm0ni",
+  "msg": "Update from Hackage at 2022-05-05T15:07:55Z"
 }
diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix
index 8e70ca8dac2..0959c6da9ac 100644
--- a/pkgs/development/compilers/opa/default.nix
+++ b/pkgs/development/compilers/opa/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ which perl jdk openssl coreutils zlib ncurses
     makeWrapper gcc binutils gnumake nodejs
   ] ++ (with ocamlPackages; [
-    ocaml findlib ssl cryptokit camlzip ulex ocamlgraph camlp4
+    ocaml findlib ssl camlzip ulex ocamlgraph camlp4
   ]);
 
   NIX_LDFLAGS = lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
diff --git a/pkgs/development/haskell-modules/cabal2nix-unstable.nix b/pkgs/development/haskell-modules/cabal2nix-unstable.nix
index 70d50088b0b..a12c20c63c5 100644
--- a/pkgs/development/haskell-modules/cabal2nix-unstable.nix
+++ b/pkgs/development/haskell-modules/cabal2nix-unstable.nix
@@ -8,10 +8,10 @@
 }:
 mkDerivation {
   pname = "cabal2nix";
-  version = "unstable-2021-10-23";
+  version = "unstable-2022-04-27";
   src = fetchzip {
-    url = "https://github.com/NixOS/cabal2nix/archive/8aeef87436468a416e5908b48ec82ac3f15eb885.tar.gz";
-    sha256 = "1w6wabp0v2fii5i28nsp0ss6dsz222p94mmxrrns3q0df82s2cm1";
+    url = "https://github.com/NixOS/cabal2nix/archive/40823c793b4b8588fcfedc8fb147c1a92cfa577d.tar.gz";
+    sha256 = "0gr8hafa282m4qw5y5wrqiwm1a3fl3b7xicnzixss6nlmxmi2skp";
   };
   isLibrary = true;
   isExecutable = true;
diff --git a/pkgs/development/haskell-modules/configuration-arm.nix b/pkgs/development/haskell-modules/configuration-arm.nix
index 62aa67efd77..38a176c3db3 100644
--- a/pkgs/development/haskell-modules/configuration-arm.nix
+++ b/pkgs/development/haskell-modules/configuration-arm.nix
@@ -105,12 +105,9 @@ self: super: {
   # We disable profiling on aarch64, so tests naturally fail
   ghc-prof = dontCheck super.ghc-prof;
 
-} // lib.optionalAttrs (pkgs.stdenv.hostPlatform.isAarch64 && builtins.compareVersions super.ghc.version "9.2" < 0) {
-  # Some aarch64 issues have been fixed since 9.2
-
   # Similar RTS issue in test suite:
   # rts/linker/elf_reloc_aarch64.c:98: encodeAddendAarch64: Assertion `isInt64(21+12, addend)' failed.
-  # Fixed since 9.2
+  # These still fail sporadically on ghc 9.2
   hls-ormolu-plugin = dontCheck super.hls-ormolu-plugin;
   hls-haddock-comments-plugin = dontCheck super.hls-haddock-comments-plugin;
   hls-rename-plugin = dontCheck super.hls-rename-plugin;
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 06b394bbe5e..38ed06e44ce 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -99,7 +99,7 @@ self: super: {
       name = "git-annex-${super.git-annex.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + super.git-annex.version;
-      sha256 = "066gs2lkkiz9z9n6rjg33wmgi04qmn6xpnx86j0x3d56r1110id4";
+      sha256 = "sha256-NYe34bsq2v0rlmcSMgYvU9ec94meXFFJoWo0sIjX/bY=";
       # delete android and Android directories which cause issues on
       # darwin (case insensitive directory). Since we don't need them
       # during the build process, we can delete it to prevent a hash
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 509da53381d..2fcf4bc890b 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -117,6 +117,7 @@ broken-packages:
   - alerta
   - alex-prelude
   - alfred
+  - alfred-margaret
   - alga
   - algebra-dag
   - algebraic-classes
@@ -1013,6 +1014,7 @@ broken-packages:
   - dbf
   - DBlimited
   - dbm
+  - dbmigrations
   - dbmigrations-mysql
   - dbmigrations-postgresql
   - dbmigrations-sqlite
@@ -1914,6 +1916,7 @@ broken-packages:
   - HandlerSocketClient
   - handsy
   - Hangman
+  - HangmanAscii
   - hannahci
   - hans
   - hanspell
@@ -2905,6 +2908,7 @@ broken-packages:
   - layers
   - layout
   - layout-bootstrap
+  - layout-rules
   - lazify
   - lazyarray
   - lazyboy
@@ -3913,6 +3917,7 @@ broken-packages:
   - plzwrk
   - pngload-fixed
   - pocket
+  - podenv
   - pointedalternative
   - pointfree-fancy
   - pointful
@@ -4628,6 +4633,7 @@ broken-packages:
   - simple-templates
   - simple-ui
   - simple-units
+  - simple-vec3
   - simplexmq
   - simple-zipper
   - simplistic-generics
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index a444cdcd63f..15f86f4defe 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -83,7 +83,7 @@ default-package-overrides:
   - hnix < 0.15
   # needs http-client >= 0.7.11 which isn't part of Stackage LTS 18
   - http-client-restricted < 0.0.5
-  # Needs dhall 1.41.*, Stackage Nightly has 1.40
+  # Needs dhall 1.41.*, Stackage LTS 19 has 1.40
   - dhall-nix < 1.1.24
 
 extra-packages:
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index 64f9195673d..5009f8689ca 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 19.5
+# Stackage LTS 19.6
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -56,7 +56,7 @@ default-package-overrides:
   - amqp ==0.22.1
   - amqp-utils ==0.6.3.2
   - annotated-wl-pprint ==0.7.0
-  - ansi-terminal ==0.11.1
+  - ansi-terminal ==0.11.3
   - ansi-terminal-game ==1.8.0.0
   - ansi-wl-pprint ==0.6.9
   - ANum ==0.2.0.2
@@ -427,10 +427,9 @@ default-package-overrides:
   - convertible ==1.1.1.0
   - cookie ==0.4.5
   - copr-api ==0.1.0
-  - core-data ==0.3.2.1
-  - core-program ==0.4.5.1
-  - core-telemetry ==0.1.9.3
-  - core-text ==0.3.5.0
+  - core-data ==0.3.2.2
+  - core-program ==0.4.6.1
+  - core-text ==0.3.7.1
   - countable ==1.0
   - covariance ==0.1.0.6
   - cpphs ==1.20.9.1
@@ -700,7 +699,7 @@ default-package-overrides:
   - every ==0.0.1
   - evm-opcodes ==0.1.1
   - exact-combinatorics ==0.2.0.11
-  - exact-pi ==0.5.0.1
+  - exact-pi ==0.5.0.2
   - exception-hierarchy ==0.1.0.6
   - exception-mtl ==0.4.0.1
   - exception-transformers ==0.4.0.11
@@ -1012,7 +1011,7 @@ default-package-overrides:
   - hasql-optparse-applicative ==0.3.0.8
   - hasql-pool ==0.5.2.2
   - hasql-queue ==1.2.0.2
-  - hasql-th ==0.4.0.12
+  - hasql-th ==0.4.0.14
   - hasql-transaction ==1.0.1.1
   - has-transformers ==0.1.0.4
   - hasty-hamiltonian ==1.3.4
@@ -1883,7 +1882,7 @@ default-package-overrides:
   - postgresql-schema ==0.1.14
   - postgresql-simple ==0.6.4
   - postgresql-simple-url ==0.2.1.0
-  - postgresql-syntax ==0.4.0.2
+  - postgresql-syntax ==0.4.1
   - postgresql-typed ==0.6.2.1
   - post-mess-age ==0.2.1.0
   - pptable ==0.3.0.0
@@ -1948,7 +1947,7 @@ default-package-overrides:
   - psql-helpers ==0.1.0.0
   - psqueues ==0.2.7.3
   - pthread ==0.2.1
-  - ptr-poker ==0.1.2.5
+  - ptr-poker ==0.1.2.8
   - pulse-simple ==0.1.14
   - pureMD5 ==2.1.4
   - purescript-bridge ==0.14.0.0
@@ -2079,7 +2078,7 @@ default-package-overrides:
   - rhine ==0.7.1
   - rhine-gloss ==0.7.1
   - riak-protobuf ==0.25.0.0
-  - rio ==0.1.21.0
+  - rio ==0.1.22.0
   - rio-orphans ==0.1.2.0
   - rio-prettyprint ==0.1.1.0
   - rng-utils ==0.3.1
@@ -2212,7 +2211,7 @@ default-package-overrides:
   - shake ==0.19.6
   - shake-language-c ==0.12.0
   - shake-plus ==0.3.4.0
-  - shakespeare ==2.0.26
+  - shakespeare ==2.0.27
   - shared-memory ==0.2.0.0
   - ShellCheck ==0.8.0
   - shell-conduit ==5.0.0
@@ -2229,7 +2228,7 @@ default-package-overrides:
   - silently ==1.2.5.2
   - simple-affine-space ==0.1.1
   - simple-cabal ==0.1.3
-  - simple-cmd ==0.2.4
+  - simple-cmd ==0.2.5
   - simple-cmd-args ==0.1.7
   - simple-log ==0.9.12
   - simple-media-timestamp ==0.2.0.0
@@ -2259,8 +2258,8 @@ default-package-overrides:
   - slist ==0.2.0.0
   - slynx ==0.6.1.1
   - smallcheck ==1.2.1
-  - smash ==0.1.2
-  - smash-microlens ==0.1.0.0
+  - smash ==0.1.3
+  - smash-microlens ==0.1.0.2
   - smtp-mail ==0.3.0.0
   - snap-blaze ==0.2.1.5
   - snap-core ==1.0.5.0
@@ -2338,7 +2337,7 @@ default-package-overrides:
   - storable-record ==0.0.6
   - storable-tuple ==0.0.3.3
   - storablevector ==0.2.13.1
-  - store ==0.7.14
+  - store ==0.7.15
   - store-core ==0.4.4.4
   - store-streaming ==0.2.0.3
   - Stream ==0.4.7.2
@@ -2639,7 +2638,7 @@ default-package-overrides:
   - unix-bytestring ==0.3.7.6
   - unix-compat ==0.5.4
   - unix-time ==0.4.7
-  - unliftio ==0.2.21.0
+  - unliftio ==0.2.22.0
   - unliftio-core ==0.2.0.1
   - unliftio-path ==0.0.2.0
   - unliftio-pool ==0.2.1.1
@@ -2664,14 +2663,14 @@ default-package-overrides:
   - valida-base ==0.2.0
   - validate-input ==0.5.0.0
   - validation ==1.1.2
-  - validity ==0.12.0.0
+  - validity ==0.12.0.1
   - validity-bytestring ==0.4.1.1
   - validity-containers ==0.5.0.4
   - validity-path ==0.4.0.1
   - validity-persistent ==0.0.0.0
   - validity-primitive ==0.0.0.1
   - validity-scientific ==0.2.0.3
-  - validity-text ==0.3.1.2
+  - validity-text ==0.3.1.3
   - validity-time ==0.5.0.0
   - validity-unordered-containers ==0.2.0.3
   - validity-uuid ==0.1.0.3
@@ -2841,7 +2840,7 @@ default-package-overrides:
   - yesod-auth-hashdb ==1.7.1.7
   - yesod-auth-oauth2 ==0.7.0.1
   - yesod-bin ==1.6.2.1
-  - yesod-core ==1.6.23
+  - yesod-core ==1.6.23.1
   - yesod-eventsource ==1.6.0.1
   - yesod-form ==1.7.0
   - yesod-form-bootstrap4 ==3.0.1
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 3828a55fab4..e62cdd83090 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -666,7 +666,7 @@ dont-distribute-packages:
  - ascii
  - ascii-cows
  - ascii-table
- - ascii_1_2_2_0
+ - ascii_1_2_3_0
  - asic
  - asif
  - assert4hs-hspec
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 01d73c4a2a3..799882c1fff 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -9998,6 +9998,25 @@ self: {
        broken = true;
      }) {};
 
+  "HangmanAscii" = callPackage
+    ({ mkDerivation, base, containers, haskeline, mtl
+     , optparse-applicative, random
+     }:
+     mkDerivation {
+       pname = "HangmanAscii";
+       version = "0.1.0.2";
+       sha256 = "103f603vfri1ilhga7h2gwbzp4iyb59hzpdxgmfa1j4x7hq1myv6";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base containers haskeline mtl optparse-applicative random
+       ];
+       description = "Yet another Hangman game";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "HappyTree" = callPackage
     ({ mkDerivation, base, constraints, generics-sop, safe, singletons
      }:
@@ -12335,8 +12354,8 @@ self: {
      }:
      mkDerivation {
        pname = "LDAPv3";
-       version = "0.1.0.0";
-       sha256 = "1zsl14qd7vzgvkz77mgdl5fyh4444gw3vjl443d09wra087j94bx";
+       version = "0.1.1.0";
+       sha256 = "164d3n9gi236qghbb0pyqi7f9c3w5xmj1p5h315zcrcc1hydac0m";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq int-cast newtype parsec
          text text-short
@@ -24766,8 +24785,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-combinators";
-       version = "0.1.0.0";
-       sha256 = "08zzzl8qb18a1zhl3cjlqjwmmagf3052ialpqksiwx6bpb6x2i2m";
+       version = "0.1.0.1";
+       sha256 = "1vpsw29336xcybr87xj3k573qf2j7qxgv9wd7fccpcahgixpp2db";
        libraryHaskellDepends = [
          aeson base bytestring containers fail scientific text time
          time-compat unordered-containers uuid-types vector void
@@ -25358,20 +25377,27 @@ self: {
 
   "aeson-quick" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, criterion
-     , deepseq, microlens, tasty, tasty-hunit, text
-     , unordered-containers, vector
+     , deepseq, microlens, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "aeson-quick";
-       version = "0.1.3";
-       sha256 = "07xkiakl2zhknpj6sxjicyrcq4lishnyv645mq3fg9lls463fhm1";
+       version = "0.2.0";
+       sha256 = "0dwvmpli1ld4fbbv9s1m53mn5p4a89rjl864p6c5aqsrjcfd2ijz";
        libraryHaskellDepends = [
-         aeson attoparsec base deepseq text unordered-containers vector
+         aeson attoparsec base deepseq template-haskell text
+         unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson attoparsec base bytestring microlens tasty tasty-hunit text
+         aeson attoparsec base bytestring deepseq microlens QuickCheck tasty
+         tasty-hunit tasty-quickcheck template-haskell text
+         unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         aeson attoparsec base bytestring criterion deepseq template-haskell
+         text unordered-containers vector
        ];
-       benchmarkHaskellDepends = [ aeson base bytestring criterion text ];
        description = "Quick JSON extractions with Aeson";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -26510,8 +26536,8 @@ self: {
      }:
      mkDerivation {
        pname = "alex-tools";
-       version = "0.5.0.2";
-       sha256 = "1bfnxyajma4083ml96wmjvqmhkl9518s810q8qz6ra90kbhbf6s0";
+       version = "0.6";
+       sha256 = "1khk9qxxj1al733a0bvbkla81370slgbiq37310nwll6ng06yh4a";
        libraryHaskellDepends = [
          base bytestring deepseq template-haskell text
        ];
@@ -26540,19 +26566,18 @@ self: {
      }) {};
 
   "alfred-margaret" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, criterion
-     , deepseq, hashable, hspec, hspec-expectations, primitive
-     , QuickCheck, quickcheck-instances, text, unordered-containers
-     , vector
+    ({ mkDerivation, aeson, base, containers, criterion, deepseq
+     , hashable, hspec, hspec-expectations, primitive, QuickCheck
+     , quickcheck-instances, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "alfred-margaret";
-       version = "1.1.2.0";
-       sha256 = "02p9djplw187v4k7mi6mh6mjjs7gir0crghyxfkjqjrxk5s7f3j7";
+       version = "2.0.0.0";
+       sha256 = "04hciwhzbh9i0y18fnsnmhhypmpanm06cpqg7f5dlqyy45jnqpk5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base bytestring containers deepseq hashable primitive text
+         aeson base containers deepseq hashable primitive text
          unordered-containers vector
        ];
        executableHaskellDepends = [ base ];
@@ -26563,6 +26588,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion deepseq vector ];
        description = "Fast Aho-Corasick string searching";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "alg" = callPackage
@@ -30928,19 +30955,6 @@ self: {
     ({ mkDerivation, base, colour }:
      mkDerivation {
        pname = "ansi-terminal";
-       version = "0.11.1";
-       sha256 = "0avjvd2492y2rqvi63a633rqsrmi1aq6dv18q5cp0x4kch3dlm5f";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base colour ];
-       description = "Simple ANSI terminal support, with Windows compatibility";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "ansi-terminal_0_11_3" = callPackage
-    ({ mkDerivation, base, colour }:
-     mkDerivation {
-       pname = "ansi-terminal";
        version = "0.11.3";
        sha256 = "0swy5alj4xvfsnjrfiwxdlgzdnggjy6lgbfwph2d7c8zyzn67mgl";
        isLibrary = true;
@@ -30948,7 +30962,6 @@ self: {
        libraryHaskellDepends = [ base colour ];
        description = "Simple ANSI terminal support, with Windows compatibility";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ansi-terminal-game" = callPackage
@@ -34164,15 +34177,15 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ascii_1_2_2_0" = callPackage
+  "ascii_1_2_3_0" = callPackage
     ({ mkDerivation, ascii-case, ascii-char, ascii-group, ascii-numbers
      , ascii-predicates, ascii-superset, ascii-th, base, bytestring
      , hedgehog, text
      }:
      mkDerivation {
        pname = "ascii";
-       version = "1.2.2.0";
-       sha256 = "1s6xm2b0g1jcbg8xfkhysmk4rhsx2342dd980md827rnfc5l4w80";
+       version = "1.2.3.0";
+       sha256 = "0s6w1wv6hjx1abz038cw7fyl8ilbs3cxmcs989c3hh9659l82p2j";
        libraryHaskellDepends = [
          ascii-case ascii-char ascii-group ascii-numbers ascii-predicates
          ascii-superset ascii-th base bytestring text
@@ -34332,6 +34345,19 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "ascii-predicates_1_0_1_0" = callPackage
+    ({ mkDerivation, ascii-char, base, hedgehog }:
+     mkDerivation {
+       pname = "ascii-predicates";
+       version = "1.0.1.0";
+       sha256 = "1zqlly878qlrkjw2m4mgs4cgw6xspn0alx6xnvnrp1r2b412ykyn";
+       libraryHaskellDepends = [ ascii-char base ];
+       testHaskellDepends = [ ascii-char base hedgehog ];
+       description = "Various categorizations of ASCII characters";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ascii-progress" = callPackage
     ({ mkDerivation, async, base, concurrent-output, data-default
      , hspec, QuickCheck, time
@@ -36597,8 +36623,8 @@ self: {
      }:
      mkDerivation {
        pname = "autodocodec";
-       version = "0.0.1.1";
-       sha256 = "12wvqn2hqfi4fh4w53qs137x5cdbqwvlksbncnbcnzdlad7ncfqa";
+       version = "0.1.0.1";
+       sha256 = "1m1zcscbx5553kh4hi12awqqqddxw4sr5vsg3lwcskl9qjzi1crx";
        libraryHaskellDepends = [
          aeson base bytestring containers hashable mtl scientific text time
          unordered-containers validity validity-scientific vector
@@ -41942,6 +41968,25 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "binary-parser_0_5_7_2" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, QuickCheck
+     , quickcheck-instances, rerebase, tasty, tasty-hunit
+     , tasty-quickcheck, text, transformers
+     }:
+     mkDerivation {
+       pname = "binary-parser";
+       version = "0.5.7.2";
+       sha256 = "1p17v5fspislzmqy5wxrnmbfg0l0yvm35mk034q4imkmjy0pa1w7";
+       libraryHaskellDepends = [ base bytestring mtl text transformers ];
+       testHaskellDepends = [
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       description = "A highly-efficient but limited parser API specialised for bytestrings";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "binary-parsers" = callPackage
     ({ mkDerivation, attoparsec, base, binary, bytestring
      , bytestring-lexing, case-insensitive, criterion, deepseq
@@ -45524,8 +45569,8 @@ self: {
        pname = "bloomfilter";
        version = "2.0.1.0";
        sha256 = "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc";
-       revision = "1";
-       editedCabalFile = "1dqlwmmcy7s6gsjqcm4xhk3cgbam0hyzpry2ha4064xvdb4rlks3";
+       revision = "2";
+       editedCabalFile = "1hi6hwvhv7lxqv0l6hv2854g1rvc52zcmr3ldvnaan1l1b666867";
        libraryHaskellDepends = [ array base bytestring deepseq ];
        testHaskellDepends = [
          base bytestring QuickCheck random test-framework
@@ -49071,14 +49116,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "bytestring_0_11_3_0" = callPackage
+  "bytestring_0_11_3_1" = callPackage
     ({ mkDerivation, base, deepseq, ghc-prim, QuickCheck, random, tasty
      , tasty-bench, tasty-quickcheck, template-haskell, transformers
      }:
      mkDerivation {
        pname = "bytestring";
-       version = "0.11.3.0";
-       sha256 = "03wfvdd6y99adjrp4r8kzi3a020dar7xmgfzyjdrk40nmranvp5h";
+       version = "0.11.3.1";
+       sha256 = "0nh75v2hmmcq650q51sv28yprrnnah80spiqvw4js8dy48bqwlah";
        libraryHaskellDepends = [ base deepseq ghc-prim template-haskell ];
        testHaskellDepends = [
          base deepseq ghc-prim QuickCheck tasty tasty-quickcheck
@@ -66054,8 +66099,8 @@ self: {
     ({ mkDerivation, base-prelude, bytestring, conversion }:
      mkDerivation {
        pname = "conversion-bytestring";
-       version = "1.0.1";
-       sha256 = "0ybh702mrwjvm48i03bb5hfiiz5qypyxyz5n14wai0kjn4ks1qwh";
+       version = "1.0.1.1";
+       sha256 = "0l2dnzx4qjkhpq4x8f8was3xnprb6bvs2r5wcdb1czf51nz1xc41";
        libraryHaskellDepends = [ base-prelude bytestring conversion ];
        description = "\"Conversion\" instances for the \"bytestring\" library";
        license = lib.licenses.mit;
@@ -66078,8 +66123,8 @@ self: {
      }:
      mkDerivation {
        pname = "conversion-text";
-       version = "1.0.1";
-       sha256 = "0ncvdgify4vhnzanl607h7nj6hqvzyq1csmaq5713gdp6h56fs9h";
+       version = "1.0.1.1";
+       sha256 = "0syvnpxqvv21cymydkg2r47b4cqqjbp7qjj6xzhzx6fbz4bczqfp";
        libraryHaskellDepends = [
          base-prelude bytestring conversion conversion-bytestring text
        ];
@@ -66532,23 +66577,6 @@ self: {
      }:
      mkDerivation {
        pname = "core-data";
-       version = "0.3.2.1";
-       sha256 = "11ajh9lc3lg08czca18sn9jmb74skwdw0avzwimqphzvbkhdc0xj";
-       libraryHaskellDepends = [
-         aeson base bytestring containers core-text hashable prettyprinter
-         scientific text unordered-containers vector
-       ];
-       description = "Convenience wrappers around common data structures and encodings";
-       license = lib.licenses.mit;
-     }) {};
-
-  "core-data_0_3_2_2" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, core-text
-     , hashable, prettyprinter, scientific, text, unordered-containers
-     , vector
-     }:
-     mkDerivation {
-       pname = "core-data";
        version = "0.3.2.2";
        sha256 = "000ffh2lrv5yl9gybx3i8gp66f1vd1w6mhih8bipxf7fzgsn6pik";
        libraryHaskellDepends = [
@@ -66557,7 +66585,6 @@ self: {
        ];
        description = "Convenience wrappers around common data structures and encodings";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "core-haskell" = callPackage
@@ -66586,27 +66613,6 @@ self: {
      }:
      mkDerivation {
        pname = "core-program";
-       version = "0.4.5.1";
-       sha256 = "035yb2zjbhbpx0726ijbbmf3cnvhcykf3k0v35mhpcr4npa6pcig";
-       libraryHaskellDepends = [
-         async base bytestring chronologique core-data core-text directory
-         exceptions filepath fsnotify hashable hourglass mtl prettyprinter
-         safe-exceptions stm template-haskell terminal-size text text-short
-         transformers typed-process unix
-       ];
-       description = "Opinionated Haskell Interoperability";
-       license = lib.licenses.mit;
-     }) {};
-
-  "core-program_0_4_6_1" = callPackage
-    ({ mkDerivation, async, base, bytestring, chronologique, core-data
-     , core-text, directory, exceptions, filepath, fsnotify, hashable
-     , hourglass, mtl, prettyprinter, safe-exceptions, stm
-     , template-haskell, terminal-size, text, text-short, transformers
-     , typed-process, unix
-     }:
-     mkDerivation {
-       pname = "core-program";
        version = "0.4.6.1";
        sha256 = "0vjrffccnh7vl86mfm7i4rfwk9pzsg47g0gd4pg6fsdcs6118amq";
        libraryHaskellDepends = [
@@ -66617,7 +66623,6 @@ self: {
        ];
        description = "Opinionated Haskell Interoperability";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "core-telemetry" = callPackage
@@ -66628,25 +66633,6 @@ self: {
      }:
      mkDerivation {
        pname = "core-telemetry";
-       version = "0.1.9.3";
-       sha256 = "0rx2ji7g5a8bw7p394j52b3nj591h2d4zdvwryyxlwhg3y46iiv7";
-       libraryHaskellDepends = [
-         async base bytestring chronologique core-data core-program
-         core-text exceptions http-streams io-streams mtl network-info
-         random safe-exceptions scientific stm template-haskell text unix
-       ];
-       description = "Advanced telemetry";
-       license = lib.licenses.mit;
-     }) {};
-
-  "core-telemetry_0_2_0_1" = callPackage
-    ({ mkDerivation, async, base, bytestring, chronologique, core-data
-     , core-program, core-text, exceptions, http-streams, io-streams
-     , mtl, network-info, random, safe-exceptions, scientific, stm
-     , template-haskell, text, unix
-     }:
-     mkDerivation {
-       pname = "core-telemetry";
        version = "0.2.0.1";
        sha256 = "1l302ncnv1w3p84v16acxvkyr6kvrr6385i7qdrmqi0a8yfwizb0";
        libraryHaskellDepends = [
@@ -66656,7 +66642,6 @@ self: {
        ];
        description = "Advanced telemetry";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "core-text" = callPackage
@@ -66666,23 +66651,6 @@ self: {
      }:
      mkDerivation {
        pname = "core-text";
-       version = "0.3.5.0";
-       sha256 = "0h6m0wrkyhzzqchzqwpvkskpmnvzm1qynf8jhqwk759w5yxmxycw";
-       libraryHaskellDepends = [
-         ansi-terminal base bytestring colour deepseq fingertree hashable
-         prettyprinter template-haskell text text-short
-       ];
-       description = "A rope type based on a finger tree over UTF-8 fragments";
-       license = lib.licenses.mit;
-     }) {};
-
-  "core-text_0_3_7_1" = callPackage
-    ({ mkDerivation, ansi-terminal, base, bytestring, colour, deepseq
-     , fingertree, hashable, prettyprinter, template-haskell, text
-     , text-short
-     }:
-     mkDerivation {
-       pname = "core-text";
        version = "0.3.7.1";
        sha256 = "11l89p9fn05l8h7dx6mpw4mhwhcxhdl2879lj628bxjal3f2fys3";
        libraryHaskellDepends = [
@@ -66691,7 +66659,6 @@ self: {
        ];
        description = "A rope type based on a finger tree over UTF-8 fragments";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "core-warn" = callPackage
@@ -73854,29 +73821,33 @@ self: {
      }) {};
 
   "dbmigrations" = callPackage
-    ({ mkDerivation, base, bytestring, configurator, containers
+    ({ mkDerivation, aeson, base, bytestring, configurator, containers
      , directory, fgl, filepath, HDBC, HUnit, MissingH, mtl, process
-     , random, split, template-haskell, text, time, yaml-light
+     , random, split, string-conversions, template-haskell, text, time
+     , unordered-containers, yaml
      }:
      mkDerivation {
        pname = "dbmigrations";
-       version = "2.0.0";
-       sha256 = "1zhvl6h32y9hd1drv0ipm13si0cqf83i9kxnyivp4j1l5h4b55dx";
+       version = "2.1.0";
+       sha256 = "1b4kmvhswhd8252c0aahvk1p4fbdqdx1qahcypi13iy5ljkj4n9k";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base bytestring configurator containers directory fgl filepath HDBC
-         HUnit mtl random split template-haskell text time yaml-light
+         aeson base bytestring configurator containers directory fgl
+         filepath HDBC HUnit mtl random split string-conversions
+         template-haskell text time unordered-containers yaml
        ];
        executableHaskellDepends = [ base configurator ];
        testHaskellDepends = [
          base bytestring configurator containers directory fgl filepath HDBC
-         HUnit MissingH mtl process split template-haskell text time
-         yaml-light
+         HUnit MissingH mtl process split string-conversions
+         template-haskell text time yaml
        ];
        description = "An implementation of relational database \"migrations\"";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dbmigrations-mysql" = callPackage
@@ -77707,8 +77678,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagnose";
-       version = "1.8.2";
-       sha256 = "11hyd08aixx795mf79ybzkz59s68v59rdl6lkyjvzn06sh1fvvdc";
+       version = "1.9.0";
+       sha256 = "0w3mzk50pzf5rr2k8lfkmmlsr8kmvgx1jcszla4khx0an5bsafnf";
        libraryHaskellDepends = [
          base data-default hashable prettyprinter
          prettyprinter-ansi-terminal unordered-containers wcwidth
@@ -90588,9 +90559,9 @@ self: {
      }:
      mkDerivation {
        pname = "evoke";
-       version = "0.2021.9.14";
-       sha256 = "1r31f54s37rqdka8szmiavgjr0nhnsbbzmsdakwv675s29cclh8f";
-       libraryHaskellDepends = [ base ghc ];
+       version = "0.2022.5.2";
+       sha256 = "0fx99vrsc2qsxplj7a1lv1kvfza5ygvz1dcq7f2z3rijslcg4b10";
+       libraryHaskellDepends = [ base ghc text ];
        testHaskellDepends = [
          aeson base HUnit insert-ordered-containers lens QuickCheck swagger2
          text
@@ -90670,24 +90641,6 @@ self: {
      }:
      mkDerivation {
        pname = "exact-pi";
-       version = "0.5.0.1";
-       sha256 = "0q0qrkmpff835m3zz3w60i1y4sqicnzqb6vqmk13cjh4ign5d0ax";
-       revision = "2";
-       editedCabalFile = "11g9w0rcndi8c28hykzipcfcxffxgdys21di1fdz4n5p05f3ldqa";
-       libraryHaskellDepends = [ base numtype-dk ];
-       testHaskellDepends = [
-         base numtype-dk QuickCheck tasty tasty-hunit tasty-quickcheck
-       ];
-       description = "Exact rational multiples of pi (and integer powers of pi)";
-       license = lib.licenses.mit;
-     }) {};
-
-  "exact-pi_0_5_0_2" = callPackage
-    ({ mkDerivation, base, numtype-dk, QuickCheck, tasty, tasty-hunit
-     , tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "exact-pi";
        version = "0.5.0.2";
        sha256 = "1xmc3vlzfccrn5szglnxx13akxw2xacgl40kqh0kiw82d58x47a4";
        libraryHaskellDepends = [ base numtype-dk ];
@@ -90696,7 +90649,6 @@ self: {
        ];
        description = "Exact rational multiples of pi (and integer powers of pi)";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "exact-real" = callPackage
@@ -94629,34 +94581,36 @@ self: {
 
   "fficxx" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, Cabal
-     , containers, data-default, directory, either, errors, filepath
-     , hashable, haskell-src-exts, lens, mtl, process, pureMD5, split
-     , template, template-haskell, text, transformers
-     , unordered-containers
+     , containers, data-default, directory, either, errors
+     , fficxx-runtime, filepath, hashable, haskell-src-exts, lens, mtl
+     , process, pureMD5, split, template, template-haskell, text
+     , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "fficxx";
-       version = "0.5.1";
-       sha256 = "0yp4vx06l5y8gk689q8yicbznv1lfzqpqfvgc5l4s41vg46mc315";
+       version = "0.6";
+       sha256 = "0ky5zgdmw03wxngnpyai29ydm28n3bndznqxnmq45vadzhkz2ncz";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring Cabal containers data-default
-         directory either errors filepath hashable haskell-src-exts lens mtl
-         process pureMD5 split template template-haskell text transformers
-         unordered-containers
+         directory either errors fficxx-runtime filepath hashable
+         haskell-src-exts lens mtl process pureMD5 split template
+         template-haskell text transformers unordered-containers
        ];
-       description = "automatic C++ binding generation";
+       description = "Automatic C++ binding generation";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
 
   "fficxx-runtime" = callPackage
-    ({ mkDerivation, base, bytestring, template-haskell }:
+    ({ mkDerivation, base, bytestring, hashable, template-haskell }:
      mkDerivation {
        pname = "fficxx-runtime";
-       version = "0.5";
-       sha256 = "05ljkq3zv8nfx4xhvqql13qd81v46bnxnja8f8590yrf3zfqg87x";
-       libraryHaskellDepends = [ base bytestring template-haskell ];
+       version = "0.6";
+       sha256 = "12imwghgia5bp4j6gcbww6ikk43q4ysf6fymk54m645bl4agwqrb";
+       libraryHaskellDepends = [
+         base bytestring hashable template-haskell
+       ];
        description = "Runtime for fficxx-generated library";
        license = lib.licenses.bsd3;
      }) {};
@@ -101769,8 +101723,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark-data";
-       version = "1.0.3.0";
-       sha256 = "1mskhngmxfd5mimr78wni6ih6mng9rg3mfyx9bfvi05vz9hdx54a";
+       version = "1.1.0.0";
+       sha256 = "0jy4ipcl0x6jqq6i0jjgf1f81s94ivkrxi9d4pgszr3vyqcg2757";
        libraryHaskellDepends = [
          base binary bytestring bytestring-to-vector containers half
          megaparsec mtl scientific text vector vector-binary-instances
@@ -103394,6 +103348,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "generic-arbitrary_0_2_2" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "generic-arbitrary";
+       version = "0.2.2";
+       sha256 = "12yj55lrddyxr3wfcki0pvcfa181p3q65chziw8qrmszn219yjsx";
+       libraryHaskellDepends = [ base QuickCheck ];
+       description = "Generic implementation for QuickCheck's Arbitrary";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "generic-binary" = callPackage
     ({ mkDerivation, base, binary, bytestring, ghc-prim }:
      mkDerivation {
@@ -105873,14 +105839,12 @@ self: {
        broken = true;
      }) {};
 
-  "ghc-heap_9_2_1" = callPackage
+  "ghc-heap_9_2_2" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, rts }:
      mkDerivation {
        pname = "ghc-heap";
-       version = "9.2.1";
-       sha256 = "10d7p12p9v5z426rxx1cyhk90hx6ab6l98bk1v4a9gk551fcqsv9";
-       revision = "1";
-       editedCabalFile = "11kwkc96vk0jd7lpm0bz5x2ji4qc222wm2lc3y4lfx0knir2kyi6";
+       version = "9.2.2";
+       sha256 = "09m2kv4b3hbi5h3lm1vxfh5hwjjwzfnw22qd35ld6xq0mffz6a3f";
        libraryHaskellDepends = [ base containers ghc-prim rts ];
        description = "Functions for walking GHC's heap";
        license = lib.licenses.bsd3;
@@ -109199,8 +109163,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "10.20220322";
-       sha256 = "107v1c2lw53k25p6snbmxyia3ghd63kj3izvd81d8km9qncv96bv";
+       version = "10.20220504";
+       sha256 = "10pp58b7glwi1yckrij49d1iq99pc4dpkkbkb1qqiif9dr9672f3";
        configureFlags = [
          "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
          "-fnetworkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
@@ -109568,8 +109532,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-repair";
-       version = "1.20210629";
-       sha256 = "01k3xwd45ybmfw400zrvfnsnwj1v9xd4hg8iys8h8yk0b2mf2nbj";
+       version = "1.20220404";
+       sha256 = "1rf0x9biyvmf808p5sq1ym3zdzgz003ravwpzpbnlr55wksxp1fc";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [
@@ -127887,24 +127851,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-th";
-       version = "0.4.0.12";
-       sha256 = "0fcfm2d66f7hzzc9s73dd9dxcjsrr33c1q0v04j3zqm159kk69jd";
-       libraryHaskellDepends = [
-         base bytestring containers contravariant foldl hasql
-         postgresql-syntax template-haskell template-haskell-compat-v0208
-         text uuid vector
-       ];
-       description = "Template Haskell utilities for Hasql";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hasql-th_0_4_0_14" = callPackage
-    ({ mkDerivation, base, bytestring, containers, contravariant, foldl
-     , hasql, postgresql-syntax, template-haskell
-     , template-haskell-compat-v0208, text, uuid, vector
-     }:
-     mkDerivation {
-       pname = "hasql-th";
        version = "0.4.0.14";
        sha256 = "0zskfsvxzilz6j3cd09hl6ixn3j9daksqjcb73pfm1f9hhrasa2a";
        libraryHaskellDepends = [
@@ -127914,7 +127860,6 @@ self: {
        ];
        description = "Template Haskell utilities for Hasql";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-transaction" = callPackage
@@ -133335,6 +133280,26 @@ self: {
        ];
      }) {inherit (pkgs) systemd;};
 
+  "hidapi_0_1_8" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, deepseq-generics
+     , systemd
+     }:
+     mkDerivation {
+       pname = "hidapi";
+       version = "0.1.8";
+       sha256 = "00f4i25zpwrdr2dmrmfx1wvjbjchp7wx911wkw4pkhngdpxdij9r";
+       libraryHaskellDepends = [
+         base bytestring deepseq deepseq-generics
+       ];
+       librarySystemDepends = [ systemd ];
+       description = "Haskell bindings to HIDAPI";
+       license = lib.licenses.mit;
+       platforms = [
+         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
+       ];
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) systemd;};
+
   "hidden-char" = callPackage
     ({ mkDerivation, base, hspec }:
      mkDerivation {
@@ -135991,6 +135956,8 @@ self: {
        pname = "hls-change-type-signature-plugin";
        version = "1.0.1.0";
        sha256 = "0wl4vgml491gkvzmsfj3nlwx18ywvrdwgwdkqjp0rwid0pidd6z8";
+       revision = "1";
+       editedCabalFile = "0kz9zrjrpy5c84mj45spf75sklyhlvfdl5v526bpaiaphihzbr80";
        libraryHaskellDepends = [
          base ghcide hls-plugin-api lsp-types regex-tdfa syb text
          transformers unordered-containers
@@ -136159,8 +136126,8 @@ self: {
        pname = "hls-haddock-comments-plugin";
        version = "1.0.1.0";
        sha256 = "1jlz6vg5ff2j2vba4yg8nymxfs7vmg5h3kzjhsj6bs2jn8kh722r";
-       revision = "1";
-       editedCabalFile = "004pi0hl1mf5njvadc45bkgahi97xdpf6pfafq1np5059ccyfd8d";
+       revision = "2";
+       editedCabalFile = "0dq2in2cn0wdhn6m8zd10g3hmc23rnl40jss19fvifn0k8lcsqpb";
        libraryHaskellDepends = [
          base containers ghc ghc-exactprint ghcide hls-plugin-api lsp-types
          text unordered-containers
@@ -136266,6 +136233,8 @@ self: {
        pname = "hls-pragmas-plugin";
        version = "1.0.2.1";
        sha256 = "11l79214wz21v7plqf2wb6ac8bgw74fhql1p5cvkv8gr80hpb4jk";
+       revision = "1";
+       editedCabalFile = "0xg7jv31yh6mm4awg759wh792jfca48za133bfs2g2877vf2llzj";
        libraryHaskellDepends = [
          base containers extra fuzzy ghc ghcide hls-plugin-api lens lsp text
          transformers unordered-containers
@@ -154915,36 +154884,38 @@ self: {
      }) {};
 
   "instana-haskell-trace-sdk" = callPackage
-    ({ mkDerivation, aeson, aeson-extra, array, base, binary
-     , bytestring, case-insensitive, containers, directory, ekg-core
-     , exceptions, hslogger, http-client, http-client-tls, http-types
-     , HUnit, network, process, random, regex-base, regex-compat
-     , regex-pcre, regex-tdfa, retry, scientific, servant
+    ({ mkDerivation, aeson, aeson-casing, aeson-extra, array, base
+     , binary, bytestring, case-insensitive, containers, directory
+     , ekg-core, exceptions, hslogger, http-client, http-client-tls
+     , http-types, HUnit, network, process, random, regex-base
+     , regex-compat, regex-pcre, regex-tdfa, retry, scientific, servant
      , servant-server, stm, sysinfo, text, time, transformers, unix
      , unordered-containers, vector, wai, warp
      }:
      mkDerivation {
        pname = "instana-haskell-trace-sdk";
-       version = "0.7.1.0";
-       sha256 = "1f03d6l77vldkpnclq1k7x9aqmdf651w01d1wg14bplpszvjma3x";
+       version = "0.8.0.0";
+       sha256 = "008r4164idzd9877crmmyc8yl63ssm8pszr75h7gkz8j9kyibrsp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-extra base bytestring containers directory ekg-core
-         exceptions hslogger http-client http-client-tls http-types network
-         process random regex-base regex-compat regex-pcre regex-tdfa retry
-         scientific stm sysinfo text time unix unordered-containers wai
+         aeson aeson-casing aeson-extra base bytestring case-insensitive
+         containers directory ekg-core exceptions hslogger http-client
+         http-client-tls http-types network process random regex-base
+         regex-compat regex-pcre regex-tdfa retry scientific stm sysinfo
+         text time unix unordered-containers vector wai
        ];
        executableHaskellDepends = [
-         aeson base binary bytestring case-insensitive containers hslogger
-         http-client http-types servant servant-server text time
-         transformers unix unordered-containers wai warp
+         aeson aeson-casing base binary bytestring case-insensitive
+         containers hslogger http-client http-types servant servant-server
+         text time transformers unix unordered-containers wai warp
        ];
        testHaskellDepends = [
-         aeson aeson-extra array base bytestring case-insensitive directory
-         ekg-core exceptions hslogger http-client http-types HUnit process
-         random regex-base regex-compat regex-pcre regex-tdfa retry
-         scientific text unix unordered-containers vector wai
+         aeson aeson-casing aeson-extra array base bytestring
+         case-insensitive directory ekg-core exceptions hslogger http-client
+         http-types HUnit process random regex-base regex-compat regex-pcre
+         regex-tdfa retry scientific text unix unordered-containers vector
+         wai
        ];
        description = "SDK for adding custom Instana tracing support to Haskell applications";
        license = lib.licenses.mit;
@@ -160798,6 +160769,29 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "jsonl" = callPackage
+    ({ mkDerivation, aeson, base, bytestring }:
+     mkDerivation {
+       pname = "jsonl";
+       version = "0.2.0.0";
+       sha256 = "1ffmi3hqbxvc5k6rg648lpdsis6g0b2k2kkyxsafdnw4p288lrj1";
+       libraryHaskellDepends = [ aeson base bytestring ];
+       description = "JSON Lines";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "jsonl-conduit" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, hspec, jsonl }:
+     mkDerivation {
+       pname = "jsonl-conduit";
+       version = "0.1.1";
+       sha256 = "0678hasvy8f3dvrqsg5m21yd6wdxpj1dffg9asi2b0byr4rxdaax";
+       libraryHaskellDepends = [ aeson base bytestring conduit jsonl ];
+       testHaskellDepends = [ aeson base bytestring conduit hspec ];
+       description = "Conduit interface to JSONL-encoded data";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "jsonlogic" = callPackage
     ({ mkDerivation, base, containers, hedgehog, mtl, tasty
      , tasty-hedgehog, tasty-hunit
@@ -167647,6 +167641,8 @@ self: {
        libraryHaskellDepends = [ alex-tools base text ];
        description = "A collection of different layout implementations";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "layouting" = callPackage
@@ -175958,19 +175954,19 @@ self: {
      }) {inherit (pkgs) lua5_3;};
 
   "lua_2_2_0" = callPackage
-    ({ mkDerivation, base, lua5_3, tasty, tasty-hunit }:
+    ({ mkDerivation, base, lua5_4, tasty, tasty-hunit }:
      mkDerivation {
        pname = "lua";
        version = "2.2.0";
        sha256 = "1258i5a3b16lbkgfdzgibqx3q4csd5wvk2gzqp96kkjcndfva92d";
        configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ];
        libraryHaskellDepends = [ base ];
-       librarySystemDepends = [ lua5_3 ];
+       librarySystemDepends = [ lua5_4 ];
        testHaskellDepends = [ base tasty tasty-hunit ];
        description = "Lua, an embeddable scripting language";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-     }) {inherit (pkgs) lua5_3;};
+     }) {inherit (pkgs) lua5_4;};
 
   "lua-arbitrary" = callPackage
     ({ mkDerivation, base, lua, QuickCheck }:
@@ -187673,8 +187669,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql";
-       version = "0.19.3";
-       sha256 = "0vg48x6sb5rg7mzx905qjv026yq4b76kxfyfpakiw3xybqpcdw0w";
+       version = "0.20.0";
+       sha256 = "0ikbfapl9jb9yd9i5v9plw3s3drsbx660h8x0mibn8qsci0jsbh5";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers morpheus-graphql-app
@@ -187702,8 +187698,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-app";
-       version = "0.19.3";
-       sha256 = "0v00xp6hhaxbjp6kl124cj22p57hnqdkg8kksms9cp2h7f88vm3g";
+       version = "0.20.0";
+       sha256 = "1qvgfsykml7mx36azgbdvjc814hdd14554qpld716v339bj3jgmp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers hashable megaparsec
@@ -187743,25 +187739,25 @@ self: {
      }) {};
 
   "morpheus-graphql-client" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory
-     , morpheus-graphql-code-gen, morpheus-graphql-core, mtl, relude
-     , tasty, tasty-hunit, template-haskell, text, transformers
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , file-embed, morpheus-graphql-code-gen, morpheus-graphql-core, mtl
+     , relude, tasty, tasty-hunit, template-haskell, text, transformers
      , unordered-containers
      }:
      mkDerivation {
        pname = "morpheus-graphql-client";
-       version = "0.19.3";
-       sha256 = "1vfk1rlm2lkra5xfp9zh3f4q70xhb42v4zyfy1xk6x9k2k919pmg";
+       version = "0.20.0";
+       sha256 = "1gq7sn2dfsmbls2l9kw1x59xq2xqb7ahbdgi4705riwm06kvrj1y";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base bytestring morpheus-graphql-code-gen
-         morpheus-graphql-core mtl relude template-haskell text transformers
-         unordered-containers
+         aeson base bytestring containers file-embed
+         morpheus-graphql-code-gen morpheus-graphql-core mtl relude
+         template-haskell text transformers unordered-containers
        ];
        testHaskellDepends = [
-         aeson base bytestring directory morpheus-graphql-code-gen
-         morpheus-graphql-core mtl relude tasty tasty-hunit template-haskell
-         text transformers unordered-containers
+         aeson base bytestring containers directory file-embed
+         morpheus-graphql-code-gen morpheus-graphql-core mtl relude tasty
+         tasty-hunit template-haskell text transformers unordered-containers
        ];
        description = "Morpheus GraphQL Client";
        license = lib.licenses.mit;
@@ -187775,8 +187771,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-code-gen";
-       version = "0.19.3";
-       sha256 = "0l9g0pnp3vvlpc5kdhgnvwqgid4d25wgr1mnlqc44s350si623qa";
+       version = "0.20.0";
+       sha256 = "0d7p2151zrvbbdxwsp6kjrmd4x5za3n7p47apn9b4lhwylqzgx1k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -187801,8 +187797,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-core";
-       version = "0.19.3";
-       sha256 = "0frd7hvy94q4iknih4ph11kgklk5a70yryhmbfhjipv5141ysrns";
+       version = "0.20.0";
+       sha256 = "19203qc0zfixb60fyf8ddlpbdwynq0g1w31ssmcdldqjdqf7fpdc";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers hashable megaparsec mtl relude
@@ -187829,8 +187825,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-subscriptions";
-       version = "0.19.3";
-       sha256 = "16flpss0b3qvdcwazsfisw8f0dw5z5p4rrxm7bpr2j54dlz98c7n";
+       version = "0.20.0";
+       sha256 = "1yrba6d33x24rmzpmbnd3pbnn00za0bs4xl9sqfbyizc485164v0";
        libraryHaskellDepends = [
          aeson base bytestring morpheus-graphql-app morpheus-graphql-core
          mtl relude text transformers unliftio-core unordered-containers
@@ -187862,14 +187858,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "morpheus-graphql-tests_0_19_3" = callPackage
+  "morpheus-graphql-tests_0_20_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, relude, tasty
      , tasty-hunit, text, unordered-containers
      }:
      mkDerivation {
        pname = "morpheus-graphql-tests";
-       version = "0.19.3";
-       sha256 = "1w10l9l0774hjhq8h0bxlqmksd8g350ccdv5ja86j89lb4glnxla";
+       version = "0.20.0";
+       sha256 = "0ss2fmz97ppmxsd2dfaxbiy2rw1xba7kyn6fg7a0y25y68whwryl";
        libraryHaskellDepends = [
          aeson base bytestring directory relude tasty tasty-hunit text
          unordered-containers
@@ -194976,6 +194972,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "network-wait_0_1_2_0" = callPackage
+    ({ mkDerivation, base, exceptions, network, network-simple, retry
+     , tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "network-wait";
+       version = "0.1.2.0";
+       sha256 = "1fgcp2didz7zp4jpkc9zap94sbd6ny8nyrx6nwnfai2ssw5rxpfq";
+       libraryHaskellDepends = [ base exceptions network retry ];
+       testHaskellDepends = [
+         base exceptions network network-simple retry tasty tasty-hunit
+       ];
+       description = "Lightweight library for waiting on networked services to become available";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "network-websocket" = callPackage
     ({ mkDerivation, base, haskell98, network, webserver }:
      mkDerivation {
@@ -203790,7 +203803,7 @@ self: {
        pname = "pandoc";
        version = "2.17.1.1";
        sha256 = "1l8spmsyg2c5j16q7a7fd5i6kcvkyipq4jrhrv2k0ca1s4lcb7k4";
-       configureFlags = [ "-fhttps" "-f-trypandoc" ];
+       configureFlags = [ "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -203849,7 +203862,7 @@ self: {
        pname = "pandoc";
        version = "2.18";
        sha256 = "02g6da49g60b5v7aj8w82n9yfks37bcaa6ni75hcbvbn3mw59lyl";
-       configureFlags = [ "-fhttps" "-f-trypandoc" ];
+       configureFlags = [ "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -214040,6 +214053,31 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "podenv" = callPackage
+    ({ mkDerivation, base, containers, dhall, directory, either
+     , filepath, gitrev, hspec, lens-family-core, lens-family-th
+     , linux-capabilities, optparse-applicative, relude, SHA, text
+     , th-env, typed-process, unix
+     }:
+     mkDerivation {
+       pname = "podenv";
+       version = "0.1.0";
+       sha256 = "18r1hx5bks645fw29zpbl5bn4cssdl9mz62ih8i90bwpwf4glxph";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers dhall directory either filepath gitrev
+         lens-family-core lens-family-th linux-capabilities
+         optparse-applicative relude SHA text th-env typed-process unix
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec text ];
+       description = "A container wrapper";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "point-octree" = callPackage
     ({ mkDerivation, AC-Vector, base, hspec, markdown-unlit, QuickCheck
      , random, random-shuffle
@@ -216643,6 +216681,34 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "postgresql-binary_0_12_4_3" = callPackage
+    ({ mkDerivation, aeson, base, binary-parser, bytestring
+     , bytestring-strict-builder, containers, conversion
+     , conversion-bytestring, conversion-text, criterion, json-ast
+     , network-ip, postgresql-libpq, QuickCheck, quickcheck-instances
+     , rerebase, scientific, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, transformers, unordered-containers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "postgresql-binary";
+       version = "0.12.4.3";
+       sha256 = "0g3qj41gdiphngil9rz4wi9sg78m13q9mvh6369i46612w0jc9dv";
+       libraryHaskellDepends = [
+         aeson base binary-parser bytestring bytestring-strict-builder
+         containers network-ip scientific text time transformers
+         unordered-containers uuid vector
+       ];
+       testHaskellDepends = [
+         aeson conversion conversion-bytestring conversion-text json-ast
+         network-ip postgresql-libpq QuickCheck quickcheck-instances
+         rerebase tasty tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "Encoders and decoders for the PostgreSQL's binary format";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "postgresql-common" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, postgresql-simple }:
      mkDerivation {
@@ -217237,29 +217303,6 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-syntax";
-       version = "0.4.0.2";
-       sha256 = "17lqsy3ph6a8psvbdxkfnkj888crz46qxqpc0sg27665cr8nrxpq";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive hashable headed-megaparsec
-         megaparsec parser-combinators text text-builder
-         unordered-containers
-       ];
-       testHaskellDepends = [
-         hedgehog QuickCheck quickcheck-instances rerebase tasty tasty-hunit
-         tasty-quickcheck
-       ];
-       description = "PostgreSQL AST parsing and rendering";
-       license = lib.licenses.mit;
-     }) {};
-
-  "postgresql-syntax_0_4_1" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, hashable
-     , headed-megaparsec, hedgehog, megaparsec, parser-combinators
-     , QuickCheck, quickcheck-instances, rerebase, tasty, tasty-hunit
-     , tasty-quickcheck, text, text-builder, unordered-containers
-     }:
-     mkDerivation {
-       pname = "postgresql-syntax";
        version = "0.4.1";
        sha256 = "1ls3jjgbvdy0x3110lgjd3icas187qyd31cwvi858l6ayhwf9kck";
        libraryHaskellDepends = [
@@ -217273,7 +217316,6 @@ self: {
        ];
        description = "PostgreSQL AST parsing and rendering";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "postgresql-transactional" = callPackage
@@ -217431,21 +217473,21 @@ self: {
     ({ mkDerivation, aeson, aeson-qq, ansi-wl-pprint, async
      , auto-update, base, base64-bytestring, bytestring
      , case-insensitive, cassava, configurator-pg, containers
-     , contravariant, contravariant-extras, cookie, directory, either
-     , fast-logger, gitrev, hasql, hasql-dynamic-statements
+     , contravariant, contravariant-extras, cookie, directory, doctest
+     , either, fast-logger, gitrev, hasql, hasql-dynamic-statements
      , hasql-notifications, hasql-pool, hasql-transaction, heredoc
      , hspec, hspec-wai, hspec-wai-json, HTTP, http-types
      , insert-ordered-containers, interpolatedstring-perl6, jose, lens
      , lens-aeson, monad-control, mtl, network, network-uri
-     , optparse-applicative, parsec, process, protolude, Ranged-sets
-     , regex-tdfa, retry, scientific, swagger2, text, time
+     , optparse-applicative, parsec, pretty-simple, process, protolude
+     , Ranged-sets, regex-tdfa, retry, scientific, swagger2, text, time
      , transformers-base, unix, unordered-containers, vector, wai
      , wai-cors, wai-extra, wai-logger, wai-middleware-static, warp
      }:
      mkDerivation {
        pname = "postgrest";
-       version = "8.0.0";
-       sha256 = "0ypgfpm8732rg94yiava27w1pyng9fg0zqad5nb94q1z402rfgfi";
+       version = "9.0.0";
+       sha256 = "1gd5h2091bqva37cfzzgq0cf7cd0djkmyq7ig1af9vmhzq8ljrw7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -217463,11 +217505,11 @@ self: {
        executableHaskellDepends = [ base containers protolude ];
        testHaskellDepends = [
          aeson aeson-qq async auto-update base base64-bytestring bytestring
-         case-insensitive cassava containers contravariant hasql
+         case-insensitive cassava containers contravariant doctest hasql
          hasql-dynamic-statements hasql-pool hasql-transaction heredoc hspec
          hspec-wai hspec-wai-json http-types lens lens-aeson monad-control
-         process protolude regex-tdfa text time transformers-base wai
-         wai-extra
+         pretty-simple process protolude regex-tdfa text time
+         transformers-base wai wai-extra
        ];
        description = "REST API for any Postgres database";
        license = lib.licenses.mit;
@@ -222312,8 +222354,8 @@ self: {
      }:
      mkDerivation {
        pname = "ptera-th";
-       version = "0.4.0.0";
-       sha256 = "00rvc6y3wnxsr3ybxd3wmywgcwsajjh0g40magnlfzkgdnih9qg2";
+       version = "0.5.0.0";
+       sha256 = "13hhiykr2rbnb2qcxrr7wwb6if7szprq4pvbihp6riwfvh1p9y9r";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          array base containers enummapset-th ghc-prim membership ptera
@@ -222369,21 +222411,6 @@ self: {
      }:
      mkDerivation {
        pname = "ptr-poker";
-       version = "0.1.2.5";
-       sha256 = "11yiqk8l3897xs13cdd8nslg55n99qssbbgpfwgc6sd15vf2hc3g";
-       libraryHaskellDepends = [ base bytestring scientific text ];
-       testHaskellDepends = [ hedgehog numeric-limits rerebase ];
-       benchmarkHaskellDepends = [ gauge rerebase ];
-       description = "Pointer poking action construction and composition toolkit";
-       license = lib.licenses.mit;
-     }) {};
-
-  "ptr-poker_0_1_2_8" = callPackage
-    ({ mkDerivation, base, bytestring, gauge, hedgehog, numeric-limits
-     , rerebase, scientific, text
-     }:
-     mkDerivation {
-       pname = "ptr-poker";
        version = "0.1.2.8";
        sha256 = "10bbfw0jdzvds4j6qcgppn4l7xflqa2578w6sqmz807mwr563f8c";
        libraryHaskellDepends = [ base bytestring scientific text ];
@@ -222391,7 +222418,6 @@ self: {
        benchmarkHaskellDepends = [ gauge rerebase ];
        description = "Pointer poking action construction and composition toolkit";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ptrdiff" = callPackage
@@ -226839,8 +226865,8 @@ self: {
     ({ mkDerivation, base, doctest, typecheck-plugin-nat-simple }:
      mkDerivation {
        pname = "ranged-list";
-       version = "0.1.0.0";
-       sha256 = "0v0a80g17r8dap28gm83wnk32m3snlmw1r51vvwfb74a4q3613w8";
+       version = "0.1.0.1";
+       sha256 = "0xjl1fdzazccsk5b96fmsk49fid40w58dbd99cf7550dvwqbnihg";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base typecheck-plugin-nat-simple ];
        testHaskellDepends = [ base doctest typecheck-plugin-nat-simple ];
@@ -233048,7 +233074,7 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
-  "req_3_11_0" = callPackage
+  "req_3_12_0" = callPackage
     ({ mkDerivation, aeson, authenticate-oauth, base, blaze-builder
      , bytestring, case-insensitive, connection, exceptions, hspec
      , hspec-core, hspec-discover, http-api-data, http-client
@@ -233058,8 +233084,8 @@ self: {
      }:
      mkDerivation {
        pname = "req";
-       version = "3.11.0";
-       sha256 = "12nfm2pifwv8w4qbadqhraf6vbg9k54wcvnhwk96zvykhbnhpf2g";
+       version = "3.12.0";
+       sha256 = "1gwdqmqmj3acim5r8c4sjzcvr3hvlbcjwkrpcsvq95ckr1wmzpqp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson authenticate-oauth base blaze-builder bytestring
@@ -235112,34 +235138,6 @@ self: {
      }:
      mkDerivation {
        pname = "rio";
-       version = "0.1.21.0";
-       sha256 = "013m4xgsmg8h1rba9krxppz49lc5wz26gksms5zibsjj0w59m58h";
-       libraryHaskellDepends = [
-         base bytestring containers deepseq directory exceptions filepath
-         hashable microlens microlens-mtl mtl primitive process text time
-         typed-process unix unliftio unliftio-core unordered-containers
-         vector
-       ];
-       testHaskellDepends = [
-         base bytestring containers deepseq directory exceptions filepath
-         hashable hspec microlens microlens-mtl mtl primitive process
-         QuickCheck text time typed-process unix unliftio unliftio-core
-         unordered-containers vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "A standard library for Haskell";
-       license = lib.licenses.mit;
-     }) {};
-
-  "rio_0_1_22_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, directory
-     , exceptions, filepath, hashable, hspec, hspec-discover, microlens
-     , microlens-mtl, mtl, primitive, process, QuickCheck, text, time
-     , typed-process, unix, unliftio, unliftio-core
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "rio";
        version = "0.1.22.0";
        sha256 = "0rpc4f2yvw0y6mqz9ykm3778j6srya7ssww691kpf9nb8vddgjb6";
        libraryHaskellDepends = [
@@ -235157,7 +235155,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A standard library for Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "rio-app" = callPackage
@@ -239369,6 +239366,34 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "sbp_4_2_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base
+     , base64-bytestring, basic-prelude, binary, binary-conduit
+     , bytestring, cmdargs, conduit, conduit-extra, data-binary-ieee754
+     , lens, lens-aeson, monad-loops, resourcet, tasty, tasty-hunit
+     , template-haskell, text, time, yaml
+     }:
+     mkDerivation {
+       pname = "sbp";
+       version = "4.2.0";
+       sha256 = "1d9a9m41wfp3crsykdcmaki8kj1j7kdaq72l08wymkz3kqwakfr7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson array base base64-bytestring basic-prelude binary bytestring
+         data-binary-ieee754 lens lens-aeson monad-loops template-haskell
+         text
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty base basic-prelude binary-conduit bytestring
+         cmdargs conduit conduit-extra lens resourcet time yaml
+       ];
+       testHaskellDepends = [ base basic-prelude tasty tasty-hunit ];
+       description = "SwiftNav's SBP Library";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "sbp2udp" = callPackage
     ({ mkDerivation, base, basic-prelude, binary, binary-conduit
      , bytestring, conduit, conduit-extra, network, optparse-generic
@@ -247703,31 +247728,6 @@ self: {
 
   "shakespeare" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
-     , containers, directory, exceptions, ghc-prim, hspec, HUnit, parsec
-     , process, scientific, template-haskell, text, th-lift, time
-     , transformers, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "shakespeare";
-       version = "2.0.26";
-       sha256 = "1pagjwgbp1z07gxy9k3rr0hl7fzjk2d4ihwqddrk9c5bnkq9maim";
-       libraryHaskellDepends = [
-         aeson base blaze-html blaze-markup bytestring containers directory
-         exceptions ghc-prim parsec process scientific template-haskell text
-         th-lift time transformers unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base blaze-html blaze-markup bytestring containers directory
-         exceptions ghc-prim hspec HUnit parsec process template-haskell
-         text time transformers
-       ];
-       description = "A toolkit for making compile-time interpolated templates";
-       license = lib.licenses.mit;
-       maintainers = with lib.maintainers; [ psibi ];
-     }) {};
-
-  "shakespeare_2_0_27" = callPackage
-    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
      , containers, directory, exceptions, file-embed, ghc-prim, hspec
      , HUnit, parsec, process, scientific, template-haskell, text
      , th-lift, time, transformers, unordered-containers, vector
@@ -247749,7 +247749,6 @@ self: {
        ];
        description = "A toolkit for making compile-time interpolated templates";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ psibi ];
      }) {};
 
@@ -249442,24 +249441,6 @@ self: {
 
   "simple-cmd" = callPackage
     ({ mkDerivation, base, directory, extra, filepath, hspec, process
-     , unix
-     }:
-     mkDerivation {
-       pname = "simple-cmd";
-       version = "0.2.4";
-       sha256 = "19kd863gm33sj01biqz94jk9cy8vb07xlqmw2m9vlh16h3phgqv1";
-       revision = "1";
-       editedCabalFile = "01sqxzvkkj4lvsp3kd8qjb5p2k6ylkiv4a2dc821ihapr0cf2fzj";
-       libraryHaskellDepends = [
-         base directory extra filepath process unix
-       ];
-       testHaskellDepends = [ base hspec ];
-       description = "Simple String-based process commands";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "simple-cmd_0_2_5" = callPackage
-    ({ mkDerivation, base, directory, extra, filepath, hspec, process
      , time, unix
      }:
      mkDerivation {
@@ -249472,7 +249453,6 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Simple String-based process commands";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "simple-cmd-args" = callPackage
@@ -250239,6 +250219,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion vector ];
        description = "Three-dimensional vectors of doubles with basic operations";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "simple-zipper" = callPackage
@@ -252363,23 +252345,6 @@ self: {
      }:
      mkDerivation {
        pname = "smash";
-       version = "0.1.2";
-       sha256 = "178ja9c88py31059i0fqv81b1dbgfyv2v64z9ak2k5p79946aa0w";
-       revision = "1";
-       editedCabalFile = "0i5ba4zn11b075fy32pawfhjy81731pjiy5f88f6z8zzbbgwfyny";
-       libraryHaskellDepends = [
-         base bifunctors binary deepseq hashable mtl template-haskell
-       ];
-       description = "Smash products, wedge products, and pointed products";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "smash_0_1_3" = callPackage
-    ({ mkDerivation, base, bifunctors, binary, deepseq, hashable, mtl
-     , template-haskell
-     }:
-     mkDerivation {
-       pname = "smash";
        version = "0.1.3";
        sha256 = "1i8a8i81xs68zrsv173q0xv0f9cmxmhkgd5k90x60kv7v5pwpqw4";
        libraryHaskellDepends = [
@@ -252387,7 +252352,6 @@ self: {
        ];
        description = "Combinators for Maybe types";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "smash-aeson" = callPackage
@@ -252421,27 +252385,12 @@ self: {
     ({ mkDerivation, base, microlens, smash }:
      mkDerivation {
        pname = "smash-microlens";
-       version = "0.1.0.0";
-       sha256 = "164vmvrgfsq777408skndzybhg4cp0d97vrijk6b66nnv9k4ril0";
-       revision = "1";
-       editedCabalFile = "020r04bxhml84lgl1bvf2s6gjahswdxpzcrla43rqhx0paz0n0cs";
-       libraryHaskellDepends = [ base microlens smash ];
-       testHaskellDepends = [ base ];
-       description = "Optics for the `smash` library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "smash-microlens_0_1_0_2" = callPackage
-    ({ mkDerivation, base, microlens, smash }:
-     mkDerivation {
-       pname = "smash-microlens";
        version = "0.1.0.2";
        sha256 = "0rfpdaw1zs8fpw6kp5zkrhj8nmx839fp2ca0cgk14g431yl651ir";
        libraryHaskellDepends = [ base microlens smash ];
        testHaskellDepends = [ base ];
        description = "Optics for the `smash` library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "smash-optics" = callPackage
@@ -256687,6 +256636,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "splitmix-distributions_1_0_0" = callPackage
+    ({ mkDerivation, base, containers, erf, exceptions, hspec, mtl
+     , splitmix, transformers
+     }:
+     mkDerivation {
+       pname = "splitmix-distributions";
+       version = "1.0.0";
+       sha256 = "03ffkpz3877y2jj1cblxk5gvcpl8zdsiccaq0x7xh761fgz3vsd6";
+       libraryHaskellDepends = [
+         base containers erf exceptions mtl splitmix transformers
+       ];
+       testHaskellDepends = [ base erf hspec mtl splitmix transformers ];
+       description = "Random samplers for some common distributions, based on splitmix";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "splitter" = callPackage
     ({ mkDerivation, base, directory, filepath, parsec, range }:
      mkDerivation {
@@ -260504,55 +260470,6 @@ self: {
      }:
      mkDerivation {
        pname = "store";
-       version = "0.7.14";
-       sha256 = "1x4l8fifv785vf6l5z5v090bkfag7d7bvid41v5sdmkw57gxn92h";
-       libraryHaskellDepends = [
-         array async base base-orphans base64-bytestring bifunctors
-         bytestring containers contravariant cryptohash deepseq directory
-         filepath free ghc-prim hashable hspec hspec-smallcheck integer-gmp
-         lifted-base monad-control mono-traversable nats network primitive
-         resourcet safe smallcheck store-core syb template-haskell text
-         th-lift th-lift-instances th-orphans th-reify-many th-utilities
-         time transformers unordered-containers vector void
-       ];
-       testHaskellDepends = [
-         array async base base-orphans base64-bytestring bifunctors
-         bytestring clock containers contravariant cryptohash deepseq
-         directory filepath free ghc-prim hashable hspec hspec-smallcheck
-         integer-gmp lifted-base monad-control mono-traversable nats network
-         primitive resourcet safe smallcheck store-core syb template-haskell
-         text th-lift th-lift-instances th-orphans th-reify-many
-         th-utilities time transformers unordered-containers vector void
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [
-         array async base base-orphans base64-bytestring bifunctors
-         bytestring cereal cereal-vector containers contravariant criterion
-         cryptohash deepseq directory filepath free ghc-prim hashable hspec
-         hspec-smallcheck integer-gmp lifted-base monad-control
-         mono-traversable nats network primitive resourcet safe smallcheck
-         store-core syb template-haskell text th-lift th-lift-instances
-         th-orphans th-reify-many th-utilities time transformers
-         unordered-containers vector vector-binary-instances void weigh
-       ];
-       description = "Fast binary serialization";
-       license = lib.licenses.mit;
-     }) {};
-
-  "store_0_7_15" = callPackage
-    ({ mkDerivation, array, async, base, base-orphans
-     , base64-bytestring, bifunctors, bytestring, cereal, cereal-vector
-     , clock, containers, contravariant, criterion, cryptohash, deepseq
-     , directory, filepath, free, ghc-prim, hashable, hspec
-     , hspec-discover, hspec-smallcheck, integer-gmp, lifted-base
-     , monad-control, mono-traversable, nats, network, primitive
-     , resourcet, safe, smallcheck, store-core, syb, template-haskell
-     , text, th-lift, th-lift-instances, th-orphans, th-reify-many
-     , th-utilities, time, transformers, unordered-containers, vector
-     , vector-binary-instances, void, weigh
-     }:
-     mkDerivation {
-       pname = "store";
        version = "0.7.15";
        sha256 = "0ws8gck230q2wcmgbpynvppd122ag1rksjjg67wcy62dfkzdk264";
        libraryHaskellDepends = [
@@ -260586,7 +260503,6 @@ self: {
        ];
        description = "Fast binary serialization";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "store-core" = callPackage
@@ -264388,6 +264304,24 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "svgsym" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , filepattern, optparse-applicative, regex-tdfa, xml
+     }:
+     mkDerivation {
+       pname = "svgsym";
+       version = "0.1.0.0";
+       sha256 = "0wiy03v3sdw8mzn3kibgjzjp6m50nnc31nld9zvr86fcrsl7bdgl";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring containers directory filepath filepattern
+         optparse-applicative regex-tdfa xml
+       ];
+       description = "A tool to prune unused symbols from icon SVG files";
+       license = lib.licenses.gpl3Plus;
+     }) {};
+
   "svgutils" = callPackage
     ({ mkDerivation, base, filepath, xml }:
      mkDerivation {
@@ -265011,21 +264945,16 @@ self: {
      }) {};
 
   "sydtest-persistent" = callPackage
-    ({ mkDerivation, base, monad-logger, mtl, persistent
-     , persistent-sqlite, persistent-template, sydtest, sydtest-discover
+    ({ mkDerivation, base, bytestring, mtl, persistent, sydtest, text
+     , unliftio
      }:
      mkDerivation {
        pname = "sydtest-persistent";
-       version = "0.0.0.0";
-       sha256 = "1r9mzjrffncl39d9q4kcwjwyv7srf08qnq65l8lvncrjci9fdc0i";
+       version = "0.0.0.1";
+       sha256 = "19shysqqn4dz33lgmlshnk1aksp8f9rnxmzzag2hmbrywbrjwr1q";
        libraryHaskellDepends = [
-         base monad-logger mtl persistent persistent-template sydtest
+         base bytestring mtl persistent sydtest text unliftio
        ];
-       testHaskellDepends = [
-         base monad-logger persistent persistent-sqlite persistent-template
-         sydtest
-       ];
-       testToolDepends = [ sydtest-discover ];
        description = "A persistent companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
@@ -265038,8 +264967,8 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest-persistent-postgresql";
-       version = "0.2.0.1";
-       sha256 = "1j4mb5vxwcdpfnrbk1xk8cg9s93dzndhdg2b4xgb91ix1c2ly5rz";
+       version = "0.2.0.2";
+       sha256 = "1lrps2avkhshipip85gv8v151j3gkwxg6lfbii0085s077f8in1m";
        libraryHaskellDepends = [
          base monad-logger mtl persistent persistent-postgresql sydtest
          sydtest-persistent tmp-postgres
@@ -265059,8 +264988,8 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest-persistent-sqlite";
-       version = "0.2.0.1";
-       sha256 = "1hy0i03pmdxmrw8nh07m8s7vr9af7m54gw0myn6flw9x57s2zk7v";
+       version = "0.2.0.2";
+       sha256 = "17sb4q2lrdbi4d5h7gj5lwxszla5dbzs25ira2ddlgghs68bar3g";
        libraryHaskellDepends = [
          base monad-logger mtl persistent persistent-sqlite sydtest
          sydtest-persistent
@@ -267892,8 +267821,8 @@ self: {
        pname = "tar";
        version = "0.5.1.1";
        sha256 = "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k";
-       revision = "4";
-       editedCabalFile = "03a33nj9k62f318qgmp5pgk7i99c8cyqy5f7m7p0bwc5ni39ysfq";
+       revision = "5";
+       editedCabalFile = "15dqywn1lsyqb0nq1amj70mh1i079b7xwr02wbpcdzmdljg9c55w";
        libraryHaskellDepends = [
          array base bytestring containers deepseq directory filepath time
        ];
@@ -268850,8 +268779,8 @@ self: {
        pname = "tasty-rerun";
        version = "1.1.18";
        sha256 = "0sccp5zx9v2rx741nbmgd8mzjhy5m4v74hk26d23xz93ph8aqx7s";
-       revision = "2";
-       editedCabalFile = "1fis4l7rlzmkw4135q3dikx9v22yhyqin3snlm1l7hsv8s33jpyl";
+       revision = "3";
+       editedCabalFile = "0091arn90cx5rzn5n2bpb9alzybwraf9yj7hb0bwdfyamzpf3pkb";
        libraryHaskellDepends = [
          base containers mtl optparse-applicative split stm tagged tasty
          transformers
@@ -271287,6 +271216,8 @@ self: {
        pname = "test-lib";
        version = "0.4";
        sha256 = "0jp0k27vvdz4lfrdi7874j7gnnn051kvqfn1k3zg1ap4m9jzyb45";
+       revision = "1";
+       editedCabalFile = "0hkscmcvgpqabc7fb8xln9grn31dw1p2cr6277l3snivkanc8889";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -271989,6 +271920,8 @@ self: {
        pname = "text-conversions";
        version = "0.3.1";
        sha256 = "0kbxin1q8xj9sgdl185gncrdjwcfzndp8sl5qll8y93l60yq8dxi";
+       revision = "1";
+       editedCabalFile = "1gra9mdsqxy2gr43cagqwn6dnc0l4pzaf4lq80y1ly5xnm1nb456";
        libraryHaskellDepends = [
          base base16-bytestring base64-bytestring bytestring errors text
        ];
@@ -271998,6 +271931,24 @@ self: {
        license = lib.licenses.isc;
      }) {};
 
+  "text-conversions_0_3_1_1" = callPackage
+    ({ mkDerivation, base, base16-bytestring, base64-bytestring
+     , bytestring, hspec, hspec-discover, text
+     }:
+     mkDerivation {
+       pname = "text-conversions";
+       version = "0.3.1.1";
+       sha256 = "0pbjlzsjd3m8np5p6iq7zb0bx6n40d8jha76r8s07s4wg2x0yxy8";
+       libraryHaskellDepends = [
+         base base16-bytestring base64-bytestring bytestring text
+       ];
+       testHaskellDepends = [ base bytestring hspec text ];
+       testToolDepends = [ hspec-discover ];
+       description = "Safe conversions between textual types";
+       license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "text-cp437" = callPackage
     ({ mkDerivation, base, bytestring, QuickCheck, quickcheck-text
      , text
@@ -281978,8 +281929,8 @@ self: {
     ({ mkDerivation, base, containers, ghc, ghc-tcplugins-extra }:
      mkDerivation {
        pname = "typecheck-plugin-nat-simple";
-       version = "0.1.0.6";
-       sha256 = "0qhqys9kiisgy8gwfz92ffvmccgan2v95zxyfnbjqj1z9ks26br5";
+       version = "0.1.0.7";
+       sha256 = "1zvl113x5hi4xx29nl8kf3wxi9a51b4z17x380akl5isw8qhpj1x";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers ghc ghc-tcplugins-extra
@@ -285187,31 +285138,6 @@ self: {
      }:
      mkDerivation {
        pname = "unliftio";
-       version = "0.2.21.0";
-       sha256 = "0z3g4hnwzianh8a564zfwj4rvs1ayggxm0wcwi97hc1g0ndz5hic";
-       libraryHaskellDepends = [
-         async base bytestring deepseq directory filepath process stm time
-         transformers unix unliftio-core
-       ];
-       testHaskellDepends = [
-         async base bytestring containers deepseq directory filepath hspec
-         process QuickCheck stm time transformers unix unliftio-core
-       ];
-       benchmarkHaskellDepends = [
-         async base bytestring deepseq directory filepath gauge process stm
-         time transformers unix unliftio-core
-       ];
-       description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)";
-       license = lib.licenses.mit;
-     }) {};
-
-  "unliftio_0_2_22_0" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, deepseq
-     , directory, filepath, gauge, hspec, process, QuickCheck, stm, time
-     , transformers, unix, unliftio-core
-     }:
-     mkDerivation {
-       pname = "unliftio";
        version = "0.2.22.0";
        sha256 = "125vzwkzp53i5n0yxy7bbivpzgf3c7ynsfhn04xk1ymy9fqsvi0z";
        libraryHaskellDepends = [
@@ -285228,7 +285154,6 @@ self: {
        ];
        description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "unliftio-core" = callPackage
@@ -287728,27 +287653,12 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "validity";
-       version = "0.12.0.0";
-       sha256 = "03md04q3ymilgc1pssczij392bphmg9ld6aa0fwfwjyjlqjj67fk";
-       revision = "1";
-       editedCabalFile = "1ifdx7vrr6n3zkgk6gp9djp0xcy8ndvrl585c01rq12rg3l0my8p";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base hspec ];
-       description = "Validity typeclass";
-       license = lib.licenses.mit;
-     }) {};
-
-  "validity_0_12_0_1" = callPackage
-    ({ mkDerivation, base, hspec }:
-     mkDerivation {
-       pname = "validity";
        version = "0.12.0.1";
        sha256 = "1j9yswqas9dpb9mv132myfn1rky5vbh5gdvcxbb7p93k5c2y4g0w";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "Validity typeclass";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "validity-aeson" = callPackage
@@ -287861,25 +287771,11 @@ self: {
     ({ mkDerivation, base, bytestring, text, validity }:
      mkDerivation {
        pname = "validity-text";
-       version = "0.3.1.2";
-       sha256 = "00sfiykazz2iwwr43lxl0q6dn03jpf515k0s8hymqpychmflyqhi";
-       revision = "1";
-       editedCabalFile = "0d0gkp9wjbhq2p6zfnc2jx5ifh6xi84psiqrrxczdgi1kwl0af3j";
-       libraryHaskellDepends = [ base bytestring text validity ];
-       description = "Validity instances for text";
-       license = lib.licenses.mit;
-     }) {};
-
-  "validity-text_0_3_1_3" = callPackage
-    ({ mkDerivation, base, bytestring, text, validity }:
-     mkDerivation {
-       pname = "validity-text";
        version = "0.3.1.3";
        sha256 = "0igxjd53aqlhhnjilbyjsxs4hjc8b21mpi504kc8c60q0ysq7vks";
        libraryHaskellDepends = [ base bytestring text validity ];
        description = "Validity instances for text";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "validity-time" = callPackage
@@ -291123,6 +291019,37 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "wai-extra_3_1_11" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, base64-bytestring
+     , bytestring, call-stack, case-insensitive, containers, cookie
+     , data-default-class, directory, fast-logger, hspec, http-types
+     , http2, HUnit, iproute, network, resourcet, streaming-commons
+     , temporary, text, time, transformers, unix, vault, wai, wai-logger
+     , word8, zlib
+     }:
+     mkDerivation {
+       pname = "wai-extra";
+       version = "3.1.11";
+       sha256 = "0z9hl0a8vh6049m4pvnqjm7fibp60qc3jrcz0vpqbscncr59l7h5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base base64-bytestring bytestring call-stack
+         case-insensitive containers cookie data-default-class directory
+         fast-logger http-types http2 HUnit iproute network resourcet
+         streaming-commons text time transformers unix vault wai wai-logger
+         word8
+       ];
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive cookie directory fast-logger
+         hspec http-types http2 HUnit iproute resourcet temporary text time
+         transformers wai zlib
+       ];
+       description = "Provides some basic WAI handlers and middleware";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "wai-feature-flags" = callPackage
     ({ mkDerivation, aeson, base, bytestring, splitmix, text
      , unordered-containers, wai, warp
@@ -291241,6 +291168,8 @@ self: {
        pname = "wai-handler-hal";
        version = "0.1.1.0";
        sha256 = "1l9adjrh0iffph40pqymikr5h52ldlyp2q9l7qclcamwdwkawmz0";
+       revision = "1";
+       editedCabalFile = "1lvhld1f6j3ligwc5mpxx8lf9md128v11dadbjalgzwchx0vj53s";
        libraryHaskellDepends = [
          base base64-bytestring bytestring case-insensitive hal http-types
          network text unordered-containers vault wai
@@ -302296,43 +302225,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.23";
-       sha256 = "06v475xa2qbgsqx2gk1lz4y8xwb4d1ak06cw75ig3ji7d1knq4w2";
-       libraryHaskellDepends = [
-         aeson auto-update base blaze-html blaze-markup bytestring
-         case-insensitive cereal clientsession conduit conduit-extra
-         containers cookie deepseq entropy fast-logger http-types memory
-         monad-logger mtl parsec path-pieces primitive random resourcet
-         shakespeare template-haskell text time transformers unix-compat
-         unliftio unordered-containers vector wai wai-extra wai-logger warp
-         word8
-       ];
-       testHaskellDepends = [
-         async base bytestring clientsession conduit conduit-extra
-         containers cookie hspec hspec-expectations http-types HUnit network
-         path-pieces random resourcet shakespeare streaming-commons
-         template-haskell text transformers unliftio wai wai-extra warp
-       ];
-       benchmarkHaskellDepends = [
-         base blaze-html bytestring gauge shakespeare text
-       ];
-       description = "Creation of type-safe, RESTful web applications";
-       license = lib.licenses.mit;
-     }) {};
-
-  "yesod-core_1_6_23_1" = callPackage
-    ({ mkDerivation, aeson, async, auto-update, base, blaze-html
-     , blaze-markup, bytestring, case-insensitive, cereal, clientsession
-     , conduit, conduit-extra, containers, cookie, deepseq, entropy
-     , fast-logger, gauge, hspec, hspec-expectations, http-types, HUnit
-     , memory, monad-logger, mtl, network, parsec, path-pieces
-     , primitive, random, resourcet, shakespeare, streaming-commons
-     , template-haskell, text, time, transformers, unix-compat, unliftio
-     , unordered-containers, vector, wai, wai-extra, wai-logger, warp
-     , word8
-     }:
-     mkDerivation {
-       pname = "yesod-core";
        version = "1.6.23.1";
        sha256 = "1s9wa9xw9ximivwv9bk7lf4w20yhlcy8vyp2i3j6w4fig918qxg9";
        libraryHaskellDepends = [
@@ -302355,7 +302247,6 @@ self: {
        ];
        description = "Creation of type-safe, RESTful web applications";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-crud" = callPackage
@@ -305774,6 +305665,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) zlib;};
 
+  "zlib_0_6_3_0" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck, tasty
+     , tasty-quickcheck, zlib
+     }:
+     mkDerivation {
+       pname = "zlib";
+       version = "0.6.3.0";
+       sha256 = "1nh4xsm3kgsg76jmkcphvy7hhslg9hx1s75mpsskhi2ksjd9ialy";
+       libraryHaskellDepends = [ base bytestring ];
+       librarySystemDepends = [ zlib ];
+       testHaskellDepends = [
+         base bytestring QuickCheck tasty tasty-quickcheck
+       ];
+       description = "Compression and decompression in the gzip and zlib formats";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) zlib;};
+
   "zlib-bindings" = callPackage
     ({ mkDerivation, base, bytestring, hspec, QuickCheck, zlib }:
      mkDerivation {
diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix
index 806df81a708..5fb8746efae 100644
--- a/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/pkgs/development/libraries/arrow-cpp/default.nix
@@ -19,6 +19,7 @@
 , grpc
 , gtest
 , jemalloc
+, libbacktrace
 , lz4
 , minio
 , ninja
@@ -69,21 +70,20 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "arrow-cpp";
-  version = "7.0.0";
+  version = "8.0.0";
 
   src = fetchurl {
-    url =
-      "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
-    hash = "sha256-6PSbFJoV7O9OQPz6sbh8ETxrHuGGAFwWnlzfldMamd4=";
+    url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
+    hash = "sha256-rZoFcFEXyYnBFrrprHBJL+AVBQ4bgPsOOP3ktdhjqqM=";
   };
   sourceRoot = "apache-arrow-${version}/cpp";
 
   ${if enableJemalloc then "ARROW_JEMALLOC_URL" else null} = jemalloc.src;
 
+  # versions are all taken from
+  # https://github.com/apache/arrow/blob/apache-arrow-8.0.0/cpp/thirdparty/versions.txt
+
   ARROW_MIMALLOC_URL = fetchFromGitHub {
-    # From
-    # ./cpp/cmake_modules/ThirdpartyToolchain.cmake
-    # ./cpp/thirdparty/versions.txt
     owner = "microsoft";
     repo = "mimalloc";
     rev = "v1.7.3";
@@ -93,8 +93,15 @@ stdenv.mkDerivation rec {
   ARROW_XSIMD_URL = fetchFromGitHub {
     owner = "xtensor-stack";
     repo = "xsimd";
-    rev = "aeec9c872c8b475dedd7781336710f2dd2666cb2";
-    hash = "sha256-vWKdJkieKhaxyAJhijXUmD7NmNvMWd79PskQojulA1w=";
+    rev = "7d1778c3b38d63db7cec7145d939f40bc5d859d1";
+    hash = "sha256-89AysBUVnTdWyMPazeJegnQ6WEH90Ns7qQInZLMSXY4=";
+  };
+
+  ARROW_SUBSTRAIT_URL = fetchFromGitHub {
+    owner = "substrait-io";
+    repo = "substrait";
+    rev = "e1b4c04a1b518912f4c4065b16a1b2c0ac8e14cf";
+    hash = "sha256-56FSjDngsROSHLjMv+OYAIYqphEu3GzgIMHbgh/ZQw0=";
   };
 
   patches = [
@@ -115,7 +122,10 @@ stdenv.mkDerivation rec {
     gflags
     glog
     gtest
+    libbacktrace
     lz4
+    nlohmann_json # alternative JSON parser to rapidjson
+    protobuf # substrait requires protobuf
     rapidjson
     re2
     snappy
@@ -150,6 +160,9 @@ stdenv.mkDerivation rec {
     "-DARROW_BUILD_SHARED=${if enableShared then "ON" else "OFF"}"
     "-DARROW_BUILD_STATIC=${if enableShared then "OFF" else "ON"}"
     "-DARROW_BUILD_TESTS=ON"
+    "-DARROW_BUILD_INTEGRATION=ON"
+    "-DARROW_BUILD_UTILITIES=ON"
+    "-DARROW_EXTRA_ERROR_CONTEXT=ON"
     "-DARROW_VERBOSE_THIRDPARTY_BUILD=ON"
     "-DARROW_DEPENDENCY_SOURCE=SYSTEM"
     "-DThrift_SOURCE=AUTO" # search for Thrift using pkg-config (ThriftConfig.cmake requires OpenSSL and libevent)
@@ -168,8 +181,10 @@ stdenv.mkDerivation rec {
     # Disable Python for static mode because openblas is currently broken there.
     "-DARROW_PYTHON=${if enableShared then "ON" else "OFF"}"
     "-DARROW_USE_GLOG=ON"
+    "-DARROW_WITH_BACKTRACE=ON"
     "-DARROW_WITH_BROTLI=ON"
     "-DARROW_WITH_LZ4=ON"
+    "-DARROW_WITH_NLOHMANN_JSON=ON"
     "-DARROW_WITH_SNAPPY=ON"
     "-DARROW_WITH_UTF8PROC=ON"
     "-DARROW_WITH_ZLIB=ON"
@@ -177,8 +192,10 @@ stdenv.mkDerivation rec {
     "-DARROW_MIMALLOC=ON"
     # Parquet options:
     "-DARROW_PARQUET=ON"
+    "-DARROW_SUBSTRAIT=ON"
     "-DPARQUET_BUILD_EXECUTABLES=ON"
     "-DARROW_FLIGHT=${if enableFlight then "ON" else "OFF"}"
+    "-DARROW_FLIGHT_TESTING=${if enableFlight then "ON" else "OFF"}"
     "-DARROW_S3=${if enableS3 then "ON" else "OFF"}"
     "-DARROW_GCS=${if enableGcs then "ON" else "OFF"}"
   ] ++ lib.optionals (!enableShared) [
diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix
index 26f904b49b0..2790eaf460b 100644
--- a/pkgs/development/libraries/imlib2/default.nix
+++ b/pkgs/development/libraries/imlib2/default.nix
@@ -9,6 +9,15 @@
 # https://github.com/NixOS/nixpkgs/pull/166452#issuecomment-1090725613
 , svgSupport ? !stdenv.isDarwin
 , heifSupport ? !stdenv.isDarwin
+
+# for passthru.tests
+, libcaca
+, diffoscopeMinimal
+, feh
+, icewm
+, openbox
+, fluxbox
+, enlightenment
 }:
 
 let
@@ -43,6 +52,17 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "out" "dev" ];
 
+  passthru.tests = {
+    inherit
+      libcaca
+      diffoscopeMinimal
+      feh
+      icewm
+      openbox
+      fluxbox
+      enlightenment;
+  };
+
   meta = with lib; {
     description = "Image manipulation library";
 
diff --git a/pkgs/development/libraries/irrlichtmt/default.nix b/pkgs/development/libraries/irrlichtmt/default.nix
new file mode 100644
index 00000000000..e40f2c84b2a
--- /dev/null
+++ b/pkgs/development/libraries/irrlichtmt/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, zlib
+, libpng
+, libjpeg
+, libGL
+, libX11
+, libXxf86vm
+, withTouchSupport ? false
+, libXi
+, libXext
+, Cocoa
+, Kernel
+}:
+stdenv.mkDerivation rec {
+  pname = "irrlichtmt";
+  version = "1.9.0mt4";
+
+  src = fetchFromGitHub {
+    owner = "minetest";
+    repo = "irrlicht";
+    rev = version;
+    sha256 = "sha256-YlXn9LrfGkjdb8+zQGDgrInolUYj9nVSF2AXWFpEEkw=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  # https://github.com/minetest/minetest/pull/10729
+  postPatch = lib.optionalString withTouchSupport ''
+    substituteInPlace include/IrrCompileConfig.h \
+      --replace '//#define _IRR_LINUX_X11_XINPUT2_' '#define _IRR_LINUX_X11_XINPUT2_'
+  '';
+
+  buildInputs = [
+    zlib
+    libpng
+    libjpeg
+    libGL
+    libX11
+    libXxf86vm
+  ] ++ lib.optionals withTouchSupport [
+    libXi
+    libXext
+  ] ++ lib.optionals stdenv.isDarwin [
+    Cocoa
+    Kernel
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  meta = {
+    homepage = "https://github.com/minetest/irrlicht";
+    license = lib.licenses.zlib;
+    maintainers = with lib.maintainers; [ DeeUnderscore ];
+    description = "Minetest project's fork of Irrlicht, a realtime 3D engine written in C++";
+  };
+}
diff --git a/pkgs/development/libraries/pipewire/wireplumber.nix b/pkgs/development/libraries/pipewire/wireplumber.nix
index 7b9759f553b..f7b26d2809a 100644
--- a/pkgs/development/libraries/pipewire/wireplumber.nix
+++ b/pkgs/development/libraries/pipewire/wireplumber.nix
@@ -26,7 +26,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wireplumber";
-  version = "0.4.9";
+  version = "0.4.10";
 
   outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc";
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     owner = "pipewire";
     repo = "wireplumber";
     rev = version;
-    sha256 = "sha256-U92ozuEUFJA416qKnalVowJuBjLRdORHfhmznGf1IFU=";
+    sha256 = "sha256-Z5Uqjw05SdEU9bGLuhdS+hDv7Fgqx4oW92k4AG1p3Ug=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index 5c02026cbe3..c89493d94e1 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -182,17 +182,17 @@ cassowary = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 }:
 buildLuarocksPackage {
   pname = "cassowary";
-  version = "2.3.1-2";
+  version = "2.3.2-1";
   knownRockspec = (fetchurl {
-    url    = "https://luafr.org/luarocks/cassowary-2.3.1-2.rockspec";
-    sha256 = "04y882f9ai1jhk0zwla2g0fvl56a75rwnxhsl9r3m0qa5i0ia1i5";
+    url    = "https://luarocks.org/cassowary-2.3.2-1.rockspec";
+    sha256 = "0c6sflm8zpgbcdj47s3rd34h69h3nqcciaaqd1wdx5m0lwc3mii0";
   }).outPath;
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
   "url": "https://github.com/sile-typesetter/cassowary.lua",
-  "rev": "c022a120dee86979d18e4c4613e55e721c632d80",
-  "date": "2021-07-19T14:37:34+03:00",
-  "path": "/nix/store/rzsbr6gqg8vhchl24ma3p1h4slhk0xp7-cassowary.lua",
-  "sha256": "1r668qcvd2a1rx17xp7ajp5wjhyvh2fwn0c60xmw0mnarjb5w1pq",
+  "rev": "e33195f08438c15d725d283979165fda7c6c3321",
+  "date": "2022-04-22T11:23:46+03:00",
+  "path": "/nix/store/51mb376xh9pnh2krk08ljmy01zhr9y3z-cassowary.lua",
+  "sha256": "1lvl40dhzmbqqjrqpjgqlg2kl993fpdy1mpc6d1610zpa9znx1f0",
   "fetchLFS": false,
   "fetchSubmodules": true,
   "deepClone": false,
@@ -211,6 +211,40 @@ buildLuarocksPackage {
   };
 }) {};
 
+cldr = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchgit, lua, penlight
+}:
+buildLuarocksPackage {
+  pname = "cldr";
+  version = "0.2.0-0";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/cldr-0.2.0-0.rockspec";
+    sha256 = "1vjwrlrdy10bacn0324fvs4sx85xryyg7npw2mp1k9kmasfr8r1s";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/alerque/cldr-lua.git",
+  "rev": "51e4760838c0a83ef1a76d0a0fb2e9f964069a50",
+  "date": "2022-04-16T14:46:14+03:00",
+  "path": "/nix/store/7jziz15bjm27zw9i3arrxprglakz8n4d-cldr-lua",
+  "sha256": "1i22mcs50z99850j47gkgwyf0ahl4yh1732b4x3davjwy2fwak1x",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = with lua; (luaOlder "5.1");
+  propagatedBuildInputs = [ lua penlight ];
+
+  meta = {
+    homepage = "https://github.com/alerque/cldr-lua";
+    description = "Lua interface to Unicode CLDR data";
+    maintainers = with lib.maintainers; [ alerque ];
+    license.fullName = "MIT/ICU";
+  };
+}) {};
+
 compat53 = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchurl, lua
 }:
@@ -435,6 +469,40 @@ buildLuarocksPackage {
   };
 }) {};
 
+fluent = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchgit, lua, cldr, luaepnf, penlight
+}:
+buildLuarocksPackage {
+  pname = "fluent";
+  version = "0.2.0-0";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/fluent-0.2.0-0.rockspec";
+    sha256 = "1x3nk8xdf923rvdijr0jx8v6w3wxxfch7ri3kxca0pw80b5bc2fa";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/alerque/fluent-lua.git",
+  "rev": "e1cd4130e460bcd52f9118b7d9f9a72d2e8b902c",
+  "date": "2022-04-16T23:08:20+03:00",
+  "path": "/nix/store/flxlnrzg6rx75qikiggmy494npx59p0b-fluent-lua",
+  "sha256": "12js8l4hcxhziza0sry0f01kfm8f8m6kx843dmcky36z1y2mccmq",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = with lua; (luaOlder "5.1");
+  propagatedBuildInputs = [ lua cldr luaepnf penlight ];
+
+  meta = {
+    homepage = "https://github.com/alerque/fluent-lua";
+    description = "Lua implementation of Project Fluent";
+    maintainers = with lib.maintainers; [ alerque ];
+    license.fullName = "MIT";
+  };
+}) {};
+
 gitsigns-nvim = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchgit, lua, plenary-nvim
 }:
@@ -710,6 +778,40 @@ buildLuarocksPackage {
   };
 }) {};
 
+loadkit = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchgit, lua
+}:
+buildLuarocksPackage {
+  pname = "loadkit";
+  version = "1.1.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/loadkit-1.1.0-1.rockspec";
+    sha256 = "08fx0xh90r2zvjlfjkyrnw2p95xk1a0qgvlnq4siwdb2mm6fq12l";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/leafo/loadkit.git",
+  "rev": "c6c712dab45f6c568821f9ed7b49c790a44d12e7",
+  "date": "2021-01-07T14:41:10-08:00",
+  "path": "/nix/store/xvwq7b2za8ciww1gjw7vnspg9183xmfa-loadkit",
+  "sha256": "15znriijs7izf9f6vmhr6dnvw3pzr0yr0mh6ah41fmdwjqi7jzcz",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = with lua; (luaOlder "5.1");
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "https://github.com/leafo/loadkit";
+    description = "Loadkit allows you to load arbitrary files within the Lua package path";
+    maintainers = with lib.maintainers; [ alerque ];
+    license.fullName = "MIT";
+  };
+}) {};
+
 lpeg = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchurl, lua
 }:
@@ -2530,6 +2632,39 @@ buildLuarocksPackage {
   };
 }) {};
 
+tl = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchgit, compat53, argparse, luafilesystem
+}:
+buildLuarocksPackage {
+  pname = "tl";
+  version = "0.13.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/tl-0.13.2-1.rockspec";
+    sha256 = "0a9nr03q6w1689drd0r2y8m7qbyxm8n6bkgjplwkr6c6abvbis3f";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/teal-language/tl",
+  "rev": "473fef59f21e836e1337a0e3da3c759a1e3556bd",
+  "date": "2021-07-30T21:02:34-03:00",
+  "path": "/nix/store/29dm1abr2cc9zqs9n9lymg92gaxqh09g-tl",
+  "sha256": "1cj7ihw1kz1n1jkha6q0mq0qmlw1vi04i6pcbw3w1cdf2i4fcglh",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  propagatedBuildInputs = [ compat53 argparse luafilesystem ];
+
+  meta = {
+    homepage = "https://github.com/teal-language/tl";
+    description = "Teal, a typed dialect of Lua";
+    maintainers = with lib.maintainers; [ mephistophiles ];
+    license.fullName = "MIT";
+  };
+}) {};
+
 vstruct = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchgit, lua
 }:
diff --git a/pkgs/development/ocaml-modules/cryptokit/default.nix b/pkgs/development/ocaml-modules/cryptokit/default.nix
index 1b5a50b13b9..59ba28be3c3 100644
--- a/pkgs/development/ocaml-modules/cryptokit/default.nix
+++ b/pkgs/development/ocaml-modules/cryptokit/default.nix
@@ -1,16 +1,16 @@
-{ lib, buildDunePackage, fetchFromGitHub, zlib, dune-configurator, zarith, ncurses }:
+{ lib, buildDunePackage, fetchFromGitHub, zlib, dune-configurator, zarith }:
 
 buildDunePackage rec {
   pname = "cryptokit";
-  version = "1.16.1";
+  version = "1.17";
 
-  useDune2 = true;
+  minimalOCamlVersion = "4.08";
 
   src = fetchFromGitHub {
     owner = "xavierleroy";
     repo = "cryptokit";
     rev = "release${lib.replaceStrings ["."] [""] version}";
-    sha256 = "sha256-eDIzi16Al/mXCNos/lVqjZWCtdP9SllXnRfm4GBWMfA=";
+    sha256 = "sha256:1xi7kcigxkfridjas2zwldsfc21wi31cgln071sbmv4agh3dqbyw";
   };
 
   # dont do autotools configuration, but do trigger findlib's preConfigure hook
@@ -19,7 +19,7 @@ buildDunePackage rec {
     runHook postConfigure
   '';
 
-  buildInputs = [ dune-configurator ncurses ];
+  buildInputs = [ dune-configurator ];
   propagatedBuildInputs = [ zarith zlib ];
 
   doCheck = true;
diff --git a/pkgs/development/python-modules/ansible-compat/default.nix b/pkgs/development/python-modules/ansible-compat/default.nix
index 743ebab42f1..88ce74ad4cd 100644
--- a/pkgs/development/python-modules/ansible-compat/default.nix
+++ b/pkgs/development/python-modules/ansible-compat/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "ansible-compat";
-  version = "2.0.2";
+  version = "2.0.3";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-xlGZXcMj7xRbq4V/7mVA/ryIH7cbf+r+gWPUnicxY6U=";
+    sha256 = "sha256-oRV+QFneQYefP2XV7WK/ND/lvUUoYQHi0pcf/lfjqKU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/apache-beam/default.nix b/pkgs/development/python-modules/apache-beam/default.nix
index 8d774410ca3..e3545ee0e6d 100644
--- a/pkgs/development/python-modules/apache-beam/default.nix
+++ b/pkgs/development/python-modules/apache-beam/default.nix
@@ -5,6 +5,7 @@
 , dill
 , fastavro
 , fetchFromGitHub
+, fetchpatch
 , freezegun
 , grpcio
 , grpcio-tools
@@ -51,6 +52,15 @@ buildPythonPackage rec {
     sha256 = "sha256-FmfTxRLqXUHhhAZIxCRx2+phX0bmU5rIHaftBU4yBJY=";
   };
 
+  patches = [
+    # patch in the pyarrow.Table.to_batches(max_chunksize=...) argument fix
+    (fetchpatch {
+      url = "https://github.com/apache/beam/commit/2418a14ee99ff490d1c82944043f97f37ec97a85.patch";
+      sha256 = "sha256-G8ARBBf7nmF46P2ncnlteGFnPWq5iCqZDfuaosre9jY=";
+      stripLen = 2;
+    })
+  ];
+
   # See https://github.com/NixOS/nixpkgs/issues/156957.
   postPatch = ''
     substituteInPlace setup.py \
diff --git a/pkgs/development/python-modules/db-dtypes/default.nix b/pkgs/development/python-modules/db-dtypes/default.nix
index 883439aba46..636882e4edf 100644
--- a/pkgs/development/python-modules/db-dtypes/default.nix
+++ b/pkgs/development/python-modules/db-dtypes/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchpatch
+, fetchFromGitHub
 , numpy
 , packaging
 , pandas
@@ -12,11 +13,20 @@ buildPythonPackage rec {
   pname = "db-dtypes";
   version = "1.0.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "3070d1a8d86ff0b5d9b16f15c5fab9c18893c6b3d5723cd95ee397b169049454";
+  src = fetchFromGitHub {
+    owner = "googleapis";
+    repo = "python-db-dtypes-pandas";
+    rev = "v${version}";
+    hash = "sha256-7u/E0ICiz7LQfuplm/mkGlWrgGEPqeMwM3CUhfH6868=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/googleapis/python-db-dtypes-pandas/commit/fb30adfd427d3df9919df00b096210ba1eb1b91d.patch";
+      sha256 = "sha256-39kZtYGbn3U1WXiDTczki5EM6SjUlSRXz8UMcdTU20g=";
+    })
+  ];
+
   propagatedBuildInputs = [
     numpy
     packaging
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index 3a5142a9cef..94cebca1a0a 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -16,18 +16,24 @@
 , proto-plus
 , psutil
 , pyarrow
+, pytest-xdist
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery";
-  version = "3.0.1";
+  version = "3.1.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-UmW6BEV44Ucdg/hUGSQk/kyDnB+Hsyx4q3AXTQe89hI=";
+    sha256 = "sha256-0tbK940cEz5//ZsLfi198fmy9wPeN3SXuW2adM/o7AI=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'pyarrow >= 3.0.0, < 8.0dev' 'pyarrow >= 3.0.0, < 9.0dev'
+  '';
+
   propagatedBuildInputs = [
     google-cloud-core
     google-cloud-bigquery-storage
@@ -47,6 +53,7 @@ buildPythonPackage rec {
     google-cloud-datacatalog
     google-cloud-storage
     pytestCheckHook
+    pytest-xdist
   ];
 
   # prevent google directory from shadowing google imports
diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix
index cfe63a34d85..141d90a5a97 100644
--- a/pkgs/development/python-modules/pyarrow/default.nix
+++ b/pkgs/development/python-modules/pyarrow/default.nix
@@ -47,8 +47,10 @@ buildPythonPackage rec {
 
   PYARROW_WITH_DATASET = zero_or_one true;
   PYARROW_WITH_FLIGHT = zero_or_one _arrow-cpp.enableFlight;
-  PYARROW_WITH_PARQUET = zero_or_one true;
   PYARROW_WITH_HDFS = zero_or_one true;
+  PYARROW_WITH_PARQUET = zero_or_one true;
+  PYARROW_WITH_PLASMA = zero_or_one (!stdenv.isDarwin);
+  PYARROW_WITH_S3 = zero_or_one _arrow-cpp.enableS3;
 
   PYARROW_CMAKE_OPTIONS = [
     "-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib"
@@ -73,6 +75,11 @@ buildPythonPackage rec {
     # enabled in nixpkgs.
     # Upstream Issue: https://issues.apache.org/jira/browse/ARROW-11393
     "--deselect=pyarrow/tests/test_memory.py::test_env_var"
+    # these tests require access to s3 via the internet
+    "--deselect=pyarrow/tests/test_fs.py::test_resolve_s3_region"
+    "--deselect=pyarrow/tests/test_fs.py::test_s3_real_aws"
+    "--deselect=pyarrow/tests/test_fs.py::test_s3_real_aws_region_selection"
+    "--deselect=pyarrow/tests/test_fs.py::test_s3_options"
   ] ++ lib.optionals stdenv.isDarwin [
     # Requires loopback networking
     "--deselect=pyarrow/tests/test_ipc.py::test_socket_"
@@ -84,16 +91,17 @@ buildPythonPackage rec {
     rm -r pyarrow/!(tests)
   '';
 
-  pythonImportsCheck = map (module: "pyarrow.${module}") [
+  pythonImportsCheck = [ "pyarrow" ] ++ map (module: "pyarrow.${module}") ([
     "compute"
     "csv"
     "dataset"
+    "feather"
     "flight"
     "fs"
     "hdfs"
     "json"
     "parquet"
-  ];
+  ] ++ lib.optionals (!stdenv.isDarwin) [ "plasma" ]);
 
   meta = with lib; {
     description = "A cross-language development platform for in-memory data";
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index 7d38d99c696..f547b2d160f 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pychromecast";
-  version = "12.1.1";
+  version = "12.1.2";
   format = "setuptools";
 
   disabled = !isPy3k;
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyChromecast";
     inherit version;
-    sha256 = "sha256-lUWiKs2tyWYD9214eMbqF7rxMoJgz1YMiHyMEqrUyCw=";
+    sha256 = "sha256-a+Ym5bovb/rvvBPdzthOi2Cp7xsBL3EDn8D3oLy0vaY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pydyf/default.nix b/pkgs/development/python-modules/pydyf/default.nix
index 346a6f6e39b..4cf44e3c67e 100644
--- a/pkgs/development/python-modules/pydyf/default.nix
+++ b/pkgs/development/python-modules/pydyf/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , isPy3k
 , pytestCheckHook
@@ -19,6 +20,15 @@ buildPythonPackage rec {
     sha256 = "sha256-Hi9d5IF09QXeAlp9HnzwG73ZQiyoq5RReCvwDuF4YCw=";
   };
 
+  patches = [
+    # Fix tests for Ghostscript 9.56
+    # Remove after v0.1.3 has been released
+    (fetchpatch {
+      url = "https://github.com/CourtBouillon/pydyf/commit/d4c34823f1d15368753c9c26f7acc7a24fc2d979.patch";
+      sha256 = "sha256-2hHZW/q5CbStbpSJYbm3b23qKXANEb5jbPGQ83uHC+Q=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace "--isort --flake8 --cov --no-cov-on-fail" ""
diff --git a/pkgs/development/python-modules/zope_lifecycleevent/default.nix b/pkgs/development/python-modules/zope_lifecycleevent/default.nix
index 1b3e288ba25..7b3852239e8 100644
--- a/pkgs/development/python-modules/zope_lifecycleevent/default.nix
+++ b/pkgs/development/python-modules/zope_lifecycleevent/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "zope.lifecycleevent";
-  version = "4.3";
+  version = "4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7ec39087cc1524e55557e7d9dc6295eb1b95b09b125e293c0e2dd068574f0aee";
+    sha256 = "sha256-9ahU6J/5fe6ke/vqN4u77yeJ0uDMkKHB2lfZChzmfLU=";
   };
 
   propagatedBuildInputs = [ zope_event zope_component ];
diff --git a/pkgs/development/tools/misc/hydra/common.nix b/pkgs/development/tools/misc/hydra/common.nix
index affeb75d198..9edafd493ae 100644
--- a/pkgs/development/tools/misc/hydra/common.nix
+++ b/pkgs/development/tools/misc/hydra/common.nix
@@ -36,7 +36,7 @@ let
         CatalystPluginSessionStateCookie
         CatalystPluginSessionStoreFastMmap
         CatalystPluginStackTrace
-        CatalystPluginUnicodeEncoding
+        CatalystRuntime
         CatalystTraitForRequestProxyBase
         CatalystViewDownload
         CatalystViewJSON
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index e607fbc7113..2a1039901f3 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -1,9 +1,8 @@
-{ lib, stdenv, fetchFromGitHub, cmake, irrlicht, libpng, bzip2, curl, libogg, jsoncpp
+{ lib, stdenv, fetchFromGitHub, cmake, irrlichtmt, libpng, bzip2, curl, libogg, jsoncpp
 , libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, sqlite, luajit
 , freetype, gettext, doxygen, ncurses, graphviz, xorg, gmp, libspatialindex
 , leveldb, postgresql, hiredis, libiconv, zlib, libXrandr, libX11, ninja, prometheus-cpp
-, OpenGL, OpenAL ? openal, Carbon, Cocoa
-, Kernel
+, OpenGL, OpenAL ? openal, Carbon, Cocoa, withTouchSupport ? false
 }:
 
 with lib;
@@ -11,21 +10,7 @@ with lib;
 let
   boolToCMake = b: if b then "ON" else "OFF";
 
-  irrlichtMt = stdenv.mkDerivation rec {
-    pname = "irrlichtMt";
-    version = "1.9.0mt4";
-    src = fetchFromGitHub {
-      owner = "minetest";
-      repo = "irrlicht";
-      rev = version;
-      sha256 = "sha256-YlXn9LrfGkjdb8+zQGDgrInolUYj9nVSF2AXWFpEEkw=";
-    };
-    nativeBuildInputs = [ cmake ];
-    buildInputs = [ zlib libjpeg libpng libGLU libGL libXrandr libX11 libXxf86vm ]
-    ++ lib.optionals stdenv.isDarwin [ Cocoa Kernel ];
-    outputs = [ "out" "dev" ];
-    meta = irrlicht.meta;
-  };
+  irrlichtmtInput = irrlichtmt.override { inherit withTouchSupport; };
 
   generic = { version, rev ? version, sha256, dataRev ? version, dataSha256, buildClient ? true, buildServer ? false }: let
     sources = {
@@ -54,7 +39,7 @@ let
       "-DENABLE_GETTEXT=1"
       "-DENABLE_SPATIAL=1"
       "-DENABLE_SYSTEM_JSONCPP=1"
-      "-DIRRLICHT_INCLUDE_DIR=${irrlichtMt.dev}/include/irrlicht"
+      "-DIRRLICHT_INCLUDE_DIR=${irrlichtmtInput.dev}/include/irrlichtmt"
 
       # Remove when https://github.com/NixOS/nixpkgs/issues/144170 is fixed
       "-DCMAKE_INSTALL_BINDIR=bin"
@@ -68,6 +53,8 @@ let
       "-DOpenGL_GL_PREFERENCE=GLVND"
     ] ++ optionals buildServer [
       "-DENABLE_PROMETHEUS=1"
+    ] ++ optionals withTouchSupport [
+      "-DENABLE_TOUCH=TRUE"
     ];
 
     NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
@@ -75,7 +62,7 @@ let
     nativeBuildInputs = [ cmake doxygen graphviz ninja ];
 
     buildInputs = [
-      irrlichtMt luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
+      irrlichtmtInput luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
       gmp libspatialindex
     ] ++ optionals stdenv.isDarwin [
       libiconv OpenGL OpenAL Carbon Cocoa
diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix
index 66b39b2c89e..a9dac153b15 100644
--- a/pkgs/os-specific/linux/odp-dpdk/default.nix
+++ b/pkgs/os-specific/linux/odp-dpdk/default.nix
@@ -2,10 +2,10 @@
 , dpdk, libbpf, libconfig, libpcap, numactl, openssl, zlib, libbsd, libelf, jansson
 }: let
   dpdk_19_11 = dpdk.overrideAttrs (old: rec {
-    version = "19.11";
+    version = "19.11.12";
     src = fetchurl {
       url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
-      sha256 = "sha256-RnEzlohDZ3uxwna7dKNFiqfAAswh4pXFHjvWVJexEqs=";
+      sha256 = "sha256-F9m2+MZi3n0psPIwjWwhiIbbNkoGlxqtru2OlV7TbzQ=";
     };
     mesonFlags = old.mesonFlags ++ [
       "-Denable_docs=false"
@@ -14,11 +14,11 @@
 
 in stdenv.mkDerivation rec {
   pname = "odp-dpdk";
-  version = "1.30.1.0_DPDK_19.11";
+  version = "1.35.0.0_DPDK_19.11";
 
   src = fetchurl {
     url = "https://git.linaro.org/lng/odp-dpdk.git/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "sha256-R3PsqQiHlHPzIYYWTVEC7Ikg3KR5I0jWGgftDA9Jj1o=";
+    sha256 = "sha256-R4cRfz0uUDbeQmJfFSIAmq3KfD6CE9hIW2yvFqL+b0M=";
   };
 
   nativeBuildInputs = [
@@ -47,7 +47,7 @@ in stdenv.mkDerivation rec {
     description = "Open Data Plane optimized for DPDK";
     homepage = "https://www.opendataplane.org";
     license = licenses.bsd3;
-    platforms =  platforms.linux;
+    platforms = platforms.linux;
     maintainers = [ maintainers.abuibrahim ];
   };
 }
diff --git a/pkgs/servers/haste-server/default.nix b/pkgs/servers/haste-server/default.nix
index 80f06bf4fa4..95e6d5158f6 100644
--- a/pkgs/servers/haste-server/default.nix
+++ b/pkgs/servers/haste-server/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "haste-server";
-  version = "72863858338a57d54eb9dee55530e90ebbc22453";
+  version = "68f6fe2b96ad02e21645480448113954bc87e1f5";
 
   src = fetchFromGitHub {
     owner = "toptal";
     repo = "haste-server";
     rev = version;
-    hash = "sha256-MoEqpfihI3ZqSTHOxFbGziDv8khgq2Nd44YuKYDGflc=";
+    hash = "sha256-9IPGqIca6GC/dQhGBC4hxWhNRgXR1ik0ONRBU2MGhL0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/haste-server/node-composition.nix b/pkgs/servers/haste-server/node-composition.nix
index 7b8937a3647..03dc6f3e5be 100644
--- a/pkgs/servers/haste-server/node-composition.nix
+++ b/pkgs/servers/haste-server/node-composition.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
diff --git a/pkgs/servers/haste-server/node-deps.nix b/pkgs/servers/haste-server/node-deps.nix
index fbb33a90c73..922860100d8 100644
--- a/pkgs/servers/haste-server/node-deps.nix
+++ b/pkgs/servers/haste-server/node-deps.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
@@ -67,13 +67,13 @@ let
         sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
       };
     };
-    "async-1.0.0" = {
+    "async-3.2.3" = {
       name = "async";
       packageName = "async";
-      version = "1.0.0";
+      version = "3.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-1.0.0.tgz";
-        sha1 = "f8fc04ca3a13784ade9e1641af98578cfbd647a9";
+        url = "https://registry.npmjs.org/async/-/async-3.2.3.tgz";
+        sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
       };
     };
     "async-cache-1.1.0" = {
@@ -1237,13 +1237,13 @@ let
         sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
       };
     };
-    "winston-2.4.5" = {
+    "winston-2.4.6" = {
       name = "winston";
       packageName = "winston";
-      version = "2.4.5";
+      version = "2.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz";
-        sha512 = "TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==";
+        url = "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz";
+        sha512 = "J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==";
       };
     };
     "workerpool-6.1.0" = {
@@ -1341,7 +1341,7 @@ let
     name = "haste";
     packageName = "haste";
     version = "0.1.0";
-    src = ../../../../../../../../../nix/store/jmii2np1kr78g0pnyf2y8wvj09nc1pr0-source;
+    src = ../../../../../../../../../nix/store/6mkl6xr6y74v0ib122gjx8jvd6xig4dc-source;
     dependencies = [
       sources."@ungap/promise-all-settled-1.1.2"
       sources."ansi-colors-4.1.1"
@@ -1349,7 +1349,7 @@ let
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
       sources."argparse-2.0.1"
-      sources."async-1.0.0"
+      sources."async-3.2.3"
       sources."async-cache-1.1.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
@@ -1495,7 +1495,7 @@ let
       sources."utils-merge-1.0.1"
       sources."which-2.0.2"
       sources."wide-align-1.1.3"
-      sources."winston-2.4.5"
+      sources."winston-2.4.6"
       sources."workerpool-6.1.0"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
diff --git a/pkgs/servers/haste-server/node-env.nix b/pkgs/servers/haste-server/node-env.nix
index 5f055785791..2590dd267a4 100644
--- a/pkgs/servers/haste-server/node-env.nix
+++ b/pkgs/servers/haste-server/node-env.nix
@@ -98,7 +98,7 @@ let
       ''
       + (lib.concatMapStrings (dependency:
         ''
-          if [ ! -e "${dependency.name}" ]; then
+          if [ ! -e "${dependency.packageName}" ]; then
               ${composePackage dependency}
           fi
         ''
@@ -257,8 +257,8 @@ let
           var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
 
           if(![1, 2].includes(packageLock.lockfileVersion)) {
-             process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
-             process.exit(1);
+            process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
+            process.exit(1);
           }
 
           if(packageLock.dependencies !== undefined) {
@@ -390,7 +390,7 @@ let
   buildNodePackage =
     { name
     , packageName
-    , version
+    , version ? null
     , dependencies ? []
     , buildInputs ? []
     , production ? true
@@ -409,7 +409,7 @@ let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
     in
     stdenv.mkDerivation ({
-      name = "${name}-${version}";
+      name = "${name}${if version == null then "" else "-${version}"}";
       buildInputs = [ tarWrapper python nodejs ]
         ++ lib.optional (stdenv.isLinux) utillinux
         ++ lib.optional (stdenv.isDarwin) libtool
@@ -441,6 +441,14 @@ let
         if [ -d "$out/lib/node_modules/.bin" ]
         then
             ln -s $out/lib/node_modules/.bin $out/bin
+
+            # Patch the shebang lines of all the executables
+            ls $out/bin/* | while read i
+            do
+                file="$(readlink -f "$i")"
+                chmod u+rwx "$file"
+                patchShebangs "$file"
+            done
         fi
 
         # Create symlinks to the deployed manual page folders, if applicable
@@ -471,7 +479,7 @@ let
   buildNodeDependencies =
     { name
     , packageName
-    , version
+    , version ? null
     , src
     , dependencies ? []
     , buildInputs ? []
@@ -489,7 +497,7 @@ let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
     in
       stdenv.mkDerivation ({
-        name = "node-dependencies-${name}-${version}";
+        name = "node-dependencies-${name}${if version == null then "" else "-${version}"}";
 
         buildInputs = [ tarWrapper python nodejs ]
           ++ lib.optional (stdenv.isLinux) utillinux
@@ -519,6 +527,7 @@ let
             if [ -f ${src}/package-lock.json ]
             then
                 cp ${src}/package-lock.json .
+                chmod 644 package-lock.json
             fi
           ''}
 
@@ -541,7 +550,7 @@ let
   buildNodeShell =
     { name
     , packageName
-    , version
+    , version ? null
     , src
     , dependencies ? []
     , buildInputs ? []
@@ -557,9 +566,10 @@ let
 
     let
       nodeDependencies = buildNodeDependencies args;
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "unpackPhase" "buildPhase" ];
     in
-    stdenv.mkDerivation {
-      name = "node-shell-${name}-${version}";
+    stdenv.mkDerivation ({
+      name = "node-shell-${name}${if version == null then "" else "-${version}"}";
 
       buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
       buildCommand = ''
@@ -578,7 +588,7 @@ let
         export NODE_PATH=${nodeDependencies}/lib/node_modules
         export PATH="${nodeDependencies}/bin:$PATH"
       '';
-    };
+    } // extraArgs);
 in
 {
   buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix
index 16de2fb399b..f7e9f8dd090 100644
--- a/pkgs/servers/http/envoy/default.nix
+++ b/pkgs/servers/http/envoy/default.nix
@@ -85,8 +85,8 @@ buildBazelPackage rec {
 
   fetchAttrs = {
     sha256 = {
-      x86_64-linux = "0k2cna0vjzc8z7jvxdlcw741vacil8daczppv32bslw17af65vq6";
-      aarch64-linux = "1ijv4arw67nprykn2wkn4ji8fbr284mc7p74zxfsky772s42yy9j";
+      x86_64-linux = "sha256-23Z6SbKnbah/NCrdMrXhrNFFASd/8xRH3fSyIE++heA=";
+      aarch64-linux = "sha256-dMOu0HYUIUJ+XEtctjaZZ1jGGQq+cHbay8+KwR5XqP0=";
     }.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
     dontUseCmakeConfigure = true;
     dontUseGnConfigure = true;
diff --git a/pkgs/servers/web-apps/snipe-it/composer-env.nix b/pkgs/servers/web-apps/snipe-it/composer-env.nix
new file mode 100644
index 00000000000..71714b76400
--- /dev/null
+++ b/pkgs/servers/web-apps/snipe-it/composer-env.nix
@@ -0,0 +1,244 @@
+# This file originates from composer2nix
+
+{ stdenv, lib, writeTextFile, fetchurl, php, unzip, phpPackages }:
+
+let
+  inherit (phpPackages) composer;
+
+  filterSrc = src:
+    builtins.filterSource (path: type: type != "directory" || (baseNameOf path != ".git" && baseNameOf path != ".git" && baseNameOf path != ".svn")) src;
+
+  buildZipPackage = { name, src }:
+    stdenv.mkDerivation {
+      inherit name src;
+      nativeBuildInputs = [ unzip ];
+      buildCommand = ''
+        shopt -s dotglob
+        unzip $src
+        baseDir=$(find . -type d -mindepth 1 -maxdepth 1)
+        cd $baseDir
+        mkdir -p $out
+        mv * $out
+      '';
+    };
+
+  buildPackage =
+    { name
+    , src
+    , packages ? {}
+    , devPackages ? {}
+    , buildInputs ? []
+    , symlinkDependencies ? false
+    , executable ? false
+    , removeComposerArtifacts ? false
+    , postInstall ? ""
+    , noDev ? false
+    , composerExtraArgs ? ""
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , ...}@args:
+
+    let
+      reconstructInstalled = writeTextFile {
+        name = "reconstructinstalled.php";
+        executable = true;
+        text = ''
+          #! ${php}/bin/php
+          <?php
+          if(file_exists($argv[1]))
+          {
+              $composerLockStr = file_get_contents($argv[1]);
+
+              if($composerLockStr === false)
+              {
+                  fwrite(STDERR, "Cannot open composer.lock contents\n");
+                  exit(1);
+              }
+              else
+              {
+                  $config = json_decode($composerLockStr, true);
+
+                  if(array_key_exists("packages", $config))
+                      $allPackages = $config["packages"];
+                  else
+                      $allPackages = array();
+
+                  ${lib.optionalString (!noDev) ''
+                    if(array_key_exists("packages-dev", $config))
+                        $allPackages = array_merge($allPackages, $config["packages-dev"]);
+                  ''}
+
+                  $packagesStr = json_encode($allPackages, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
+                  print($packagesStr);
+              }
+          }
+          else
+              print("[]");
+          ?>
+        '';
+      };
+
+      constructBin = writeTextFile {
+        name = "constructbin.php";
+        executable = true;
+        text = ''
+          #! ${php}/bin/php
+          <?php
+          $composerJSONStr = file_get_contents($argv[1]);
+
+          if($composerJSONStr === false)
+          {
+              fwrite(STDERR, "Cannot open composer.json contents\n");
+              exit(1);
+          }
+          else
+          {
+              $config = json_decode($composerJSONStr, true);
+
+              if(array_key_exists("bin-dir", $config))
+                  $binDir = $config["bin-dir"];
+              else
+                  $binDir = "bin";
+
+              if(array_key_exists("bin", $config))
+              {
+                  if(!file_exists("vendor/".$binDir))
+                      mkdir("vendor/".$binDir);
+
+                  foreach($config["bin"] as $bin)
+                      symlink("../../".$bin, "vendor/".$binDir."/".basename($bin));
+              }
+          }
+          ?>
+        '';
+      };
+
+      bundleDependencies = dependencies:
+        lib.concatMapStrings (dependencyName:
+          let
+            dependency = dependencies.${dependencyName};
+          in
+          ''
+            ${if dependency.targetDir == "" then ''
+              vendorDir="$(dirname ${dependencyName})"
+              mkdir -p "$vendorDir"
+              ${if symlinkDependencies then
+                ''ln -s "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"''
+                else
+                ''cp -av "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"''
+              }
+            '' else ''
+              namespaceDir="${dependencyName}/$(dirname "${dependency.targetDir}")"
+              mkdir -p "$namespaceDir"
+              ${if symlinkDependencies then
+                ''ln -s "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"''
+              else
+                ''cp -av "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"''
+              }
+            ''}
+          '') (builtins.attrNames dependencies);
+
+      extraArgs = removeAttrs args [ "packages" "devPackages" "buildInputs" ];
+    in
+    stdenv.mkDerivation ({
+      buildInputs = [ php composer ] ++ buildInputs;
+
+      inherit unpackPhase buildPhase;
+
+      installPhase = ''
+        ${if executable then ''
+          mkdir -p $out/share/php
+          cp -av $src $out/share/php/$name
+          chmod -R u+w $out/share/php/$name
+          cd $out/share/php/$name
+        '' else ''
+          cp -av $src $out
+          chmod -R u+w $out
+          cd $out
+        ''}
+
+        # Remove unwanted files
+        rm -f *.nix
+
+        export HOME=$TMPDIR
+
+        # Remove the provided vendor folder if it exists
+        rm -Rf vendor
+
+        # If there is no composer.lock file, compose a dummy file.
+        # Otherwise, composer attempts to download the package.json file from
+        # the registry which we do not want.
+        if [ ! -f composer.lock ]
+        then
+            cat > composer.lock <<EOF
+        {
+            "packages": []
+        }
+        EOF
+        fi
+
+        # Reconstruct the installed.json file from the lock file
+        mkdir -p vendor/composer
+        ${php}/bin/php ${reconstructInstalled} composer.lock > vendor/composer/installed.json
+
+        # Copy or symlink the provided dependencies
+        cd vendor
+        ${bundleDependencies packages}
+        ${lib.optionalString (!noDev) (bundleDependencies devPackages)}
+        cd ..
+
+        # Reconstruct autoload scripts
+        # We use the optimize feature because Nix packages cannot change after they have been built
+        # Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload.
+        composer dump-autoload --optimize ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs}
+
+        # Run the install step as a validation to confirm that everything works out as expected
+        composer install --optimize-autoloader ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs}
+
+        ${lib.optionalString executable ''
+          # Reconstruct the bin/ folder if we deploy an executable project
+          ${php}/bin/php ${constructBin} composer.json
+          ln -s $(pwd)/vendor/bin $out/bin
+        ''}
+
+        ${lib.optionalString (!symlinkDependencies) ''
+          # Patch the shebangs if possible
+          if [ -d $(pwd)/vendor/bin ]
+          then
+              # Look for all executables in bin/
+              for i in $(pwd)/vendor/bin/*
+              do
+                  # Look for their location
+                  realFile=$(readlink -f "$i")
+
+                  # Restore write permissions
+                  chmod u+wx "$(dirname "$realFile")"
+                  chmod u+w "$realFile"
+
+                  # Patch shebang
+                  sed -e "s|#!/usr/bin/php|#!${php}/bin/php|" \
+                      -e "s|#!/usr/bin/env php|#!${php}/bin/php|" \
+                      "$realFile" > tmp
+                  mv tmp "$realFile"
+                  chmod u+x "$realFile"
+              done
+          fi
+        ''}
+
+        if [ "$removeComposerArtifacts" = "1" ]
+        then
+            # Remove composer stuff
+            rm -f composer.json composer.lock
+        fi
+
+        # Execute post install hook
+        runHook postInstall
+    '';
+  } // extraArgs);
+in
+{
+  inherit filterSrc;
+  composer = lib.makeOverridable composer;
+  buildZipPackage = lib.makeOverridable buildZipPackage;
+  buildPackage = lib.makeOverridable buildPackage;
+}
diff --git a/pkgs/servers/web-apps/snipe-it/composition.nix b/pkgs/servers/web-apps/snipe-it/composition.nix
new file mode 100644
index 00000000000..d8df4b81fa3
--- /dev/null
+++ b/pkgs/servers/web-apps/snipe-it/composition.nix
@@ -0,0 +1,15 @@
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, noDev ? false, php ? pkgs.php, phpPackages ? pkgs.phpPackages}:
+
+let
+  composerEnv = import ./composer-env.nix {
+    inherit (pkgs) stdenv lib writeTextFile fetchurl unzip;
+    inherit php phpPackages;
+  };
+in
+import ./php-packages.nix {
+  inherit composerEnv noDev;
+  inherit (pkgs) fetchurl fetchgit fetchhg fetchsvn;
+}
+
diff --git a/pkgs/servers/web-apps/snipe-it/default.nix b/pkgs/servers/web-apps/snipe-it/default.nix
new file mode 100644
index 00000000000..43a1b8bbce6
--- /dev/null
+++ b/pkgs/servers/web-apps/snipe-it/default.nix
@@ -0,0 +1,47 @@
+{ pkgs, stdenv, lib, fetchFromGitHub, dataDir ? "/var/lib/snipe-it" }:
+
+let
+  package = (import ./composition.nix {
+    inherit pkgs;
+    inherit (stdenv.hostPlatform) system;
+    noDev = true; # Disable development dependencies
+    # Requires PHP >= 7.4 and PHP < 8.0 as of v5.4.3
+    # https://snipe-it.readme.io/docs/requirements
+    php = pkgs.php74;
+    phpPackages = pkgs.php74Packages;
+  }).overrideAttrs (attrs : {
+    installPhase = attrs.installPhase + ''
+      rm -R $out/storage $out/public/uploads $out/bootstrap/cache
+      ln -s ${dataDir}/.env $out/.env
+      ln -s ${dataDir}/storage $out/
+      ln -s ${dataDir}/public/uploads $out/public/uploads
+      ln -s ${dataDir}/bootstrap/cache $out/bootstrap/cache
+      chmod +x $out/artisan
+    '';
+  });
+
+in package.override rec {
+  pname = "snipe-it";
+  version = "5.4.3";
+
+  src = fetchFromGitHub {
+    owner = "snipe";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "053cm5vb0806sj61g0zf0xqqzlchgkdj8zwkry07mhjdbp1k8k7n";
+  };
+
+  meta = with lib; {
+    description = "A free open source IT asset/license management system ";
+    longDescription = ''
+      Snipe-IT was made for IT asset management, to enable IT departments to track
+      who has which laptop, when it was purchased, which software licenses and accessories
+      are available, and so on.
+      Details for snipe-it can be found on the official website at https://snipeitapp.com/.
+    '';
+    homepage = "https://snipeitapp.com/";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ yayayayaka ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/web-apps/snipe-it/php-packages.nix b/pkgs/servers/web-apps/snipe-it/php-packages.nix
new file mode 100644
index 00000000000..66a655a0338
--- /dev/null
+++ b/pkgs/servers/web-apps/snipe-it/php-packages.nix
@@ -0,0 +1,1348 @@
+{composerEnv, fetchurl, fetchgit ? null, fetchhg ? null, fetchsvn ? null, noDev ? false}:
+
+let
+  packages = {
+    "adldap2/adldap2" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "adldap2-adldap2-b2203d800c5932f975abc213c659428697e27cd9";
+        src = fetchurl {
+          url = "https://api.github.com/repos/Adldap2/Adldap2/zipball/b2203d800c5932f975abc213c659428697e27cd9";
+          sha256 = "028lkx1hrkp4dqi8f3rcbhyjlk61lajz2fqw8xmlzyhip9l6ivq3";
+        };
+      };
+    };
+    "alek13/slack" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "alek13-slack-9db79a622803bf7baf0efafb50e37b900882f7fb";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-slack/slack/zipball/9db79a622803bf7baf0efafb50e37b900882f7fb";
+          sha256 = "0h70p0va4r20lw65asa68zv73w9047hyal0xa082p0wjihim5k1s";
+        };
+      };
+    };
+    "asm89/stack-cors" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "asm89-stack-cors-73e5b88775c64ccc0b84fb60836b30dc9d92ac4a";
+        src = fetchurl {
+          url = "https://api.github.com/repos/asm89/stack-cors/zipball/73e5b88775c64ccc0b84fb60836b30dc9d92ac4a";
+          sha256 = "1idpisw39ba2dic9jl2s2yrkdgbyny9dfxf0qdr5i0wfvvlmbdih";
+        };
+      };
+    };
+    "aws/aws-sdk-php" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "aws-aws-sdk-php-6c919bc226f7ff3fbcbce948f31e618066d02ad0";
+        src = fetchurl {
+          url = "https://api.github.com/repos/aws/aws-sdk-php/zipball/6c919bc226f7ff3fbcbce948f31e618066d02ad0";
+          sha256 = "1wicn300x19v77dq11pwb6v91h8z11fqjrqrr8b9ncahyf5lg0aq";
+        };
+      };
+    };
+    "bacon/bacon-qr-code" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "bacon-bacon-qr-code-5a91b62b9d37cee635bbf8d553f4546057250bee";
+        src = fetchurl {
+          url = "https://api.github.com/repos/Bacon/BaconQrCode/zipball/5a91b62b9d37cee635bbf8d553f4546057250bee";
+          sha256 = "0rb88fg083790bbciffniff7xqkgzm091szm131afhkl8rr7pnkq";
+        };
+      };
+    };
+    "barryvdh/laravel-debugbar" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "barryvdh-laravel-debugbar-70b89754913fd89fef16d0170a91dbc2a5cd633a";
+        src = fetchurl {
+          url = "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/70b89754913fd89fef16d0170a91dbc2a5cd633a";
+          sha256 = "1sqm1afhmf0fgyvvwa760f0d5ifnd84fv83v40n28lp534xsibz5";
+        };
+      };
+    };
+    "defuse/php-encryption" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "defuse-php-encryption-77880488b9954b7884c25555c2a0ea9e7053f9d2";
+        src = fetchurl {
+          url = "https://api.github.com/repos/defuse/php-encryption/zipball/77880488b9954b7884c25555c2a0ea9e7053f9d2";
+          sha256 = "1lcvpg56nw72cxyh6sga7fx94qw9l0l1y78z7y7ny3hgdniwhihx";
+        };
+      };
+    };
+    "doctrine/annotations" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-annotations-e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/annotations/zipball/e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f";
+          sha256 = "090vizq3xy9p151cjx5fa2izgvypc756wrnclswiiiac4h6mzpyf";
+        };
+      };
+    };
+    "doctrine/cache" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-cache-3bb5588cec00a0268829cc4a518490df6741af9d";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/cache/zipball/3bb5588cec00a0268829cc4a518490df6741af9d";
+          sha256 = "0r9fhv0y79ma7a5llmj1skycflnwbxyyrblkavjj6svld46li94q";
+        };
+      };
+    };
+    "doctrine/collections" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-collections-55f8b799269a1a472457bd1a41b4f379d4cfba4a";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/collections/zipball/55f8b799269a1a472457bd1a41b4f379d4cfba4a";
+          sha256 = "1kalndrc2g8g82524yg0rcn4xzrl5a9hi0x6g6ixqa6afzgzmvbs";
+        };
+      };
+    };
+    "doctrine/common" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-common-f3812c026e557892c34ef37f6ab808a6b567da7f";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/common/zipball/f3812c026e557892c34ef37f6ab808a6b567da7f";
+          sha256 = "16jf1wzs6ccpw2ny7rkzpf0asdwr1cfzcyw8g5x88i4j9jazn8xa";
+        };
+      };
+    };
+    "doctrine/dbal" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-dbal-8dd39d2ead4409ce652fd4f02621060f009ea5e4";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/dbal/zipball/8dd39d2ead4409ce652fd4f02621060f009ea5e4";
+          sha256 = "107k0qr3m34cjxy00yhdjmd8liqa8wg729zj4z2jifz26niiy8qs";
+        };
+      };
+    };
+    "doctrine/deprecations" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-deprecations-9504165960a1f83cc1480e2be1dd0a0478561314";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314";
+          sha256 = "04kpbzk5iw86imspkg7dgs54xx877k9b5q0dfg2h119mlfkvxil6";
+        };
+      };
+    };
+    "doctrine/event-manager" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-event-manager-41370af6a30faa9dc0368c4a6814d596e81aba7f";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f";
+          sha256 = "0pn2aiwl4fvv6fcwar9alng2yrqy8bzc58n4bkp6y2jnpw5gp4m8";
+        };
+      };
+    };
+    "doctrine/inflector" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-inflector-4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/inflector/zipball/4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9";
+          sha256 = "0390gkbk3vdjd98h7wjpdv0579swbavrdb6yrlslfdr068g4bmbf";
+        };
+      };
+    };
+    "doctrine/instantiator" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-instantiator-d56bf6102915de5702778fe20f2de3b2fe570b5b";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b";
+          sha256 = "04rihgfjv8alvvb92bnb5qpz8fvqvjwfrawcjw34pfnfx4jflcwh";
+        };
+      };
+    };
+    "doctrine/lexer" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-lexer-c268e882d4dbdd85e36e4ad69e02dc284f89d229";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229";
+          sha256 = "12g069nljl3alyk15884nd1jc4mxk87isqsmfj7x6j2vxvk9qchs";
+        };
+      };
+    };
+    "doctrine/persistence" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-persistence-7a6eac9fb6f61bba91328f15aa7547f4806ca288";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/persistence/zipball/7a6eac9fb6f61bba91328f15aa7547f4806ca288";
+          sha256 = "0mszkf7lxdhbr5b3ibpn7ipyrf6a6kfj283fvh83akyv1mplsl0h";
+        };
+      };
+    };
+    "doctrine/reflection" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-reflection-fa587178be682efe90d005e3a322590d6ebb59a5";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/reflection/zipball/fa587178be682efe90d005e3a322590d6ebb59a5";
+          sha256 = "1jn3bbzv0pn16aw0kkg0l765wi49zpf5vpirqwmw3viqj9bgj1b5";
+        };
+      };
+    };
+    "dragonmantank/cron-expression" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "dragonmantank-cron-expression-65b2d8ee1f10915efb3b55597da3404f096acba2";
+        src = fetchurl {
+          url = "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2";
+          sha256 = "07yqbhf6n4d818gvla60mgg23gichwiafd5ypd70w4b4dlbcxcpl";
+        };
+      };
+    };
+    "eduardokum/laravel-mail-auto-embed" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "eduardokum-laravel-mail-auto-embed-83349a6a35560edb1c95e31205e2a848d73196ef";
+        src = fetchurl {
+          url = "https://api.github.com/repos/eduardokum/laravel-mail-auto-embed/zipball/83349a6a35560edb1c95e31205e2a848d73196ef";
+          sha256 = "0v1zbyln5ly1fhyr8m6wdm140zy14l71mqjpkij2pacskbbmvij2";
+        };
+      };
+    };
+    "egulias/email-validator" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "egulias-email-validator-0dbf5d78455d4d6a41d186da50adc1122ec066f4";
+        src = fetchurl {
+          url = "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4";
+          sha256 = "00kwb8rhk1fq3a1i152xniipk3y907q1v5r3szqbkq5rz82dwbck";
+        };
+      };
+    };
+    "enshrined/svg-sanitize" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "enshrined-svg-sanitize-e50b83a2f1f296ca61394fe88fbfe3e896a84cf4";
+        src = fetchurl {
+          url = "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/e50b83a2f1f296ca61394fe88fbfe3e896a84cf4";
+          sha256 = "1pv8lkpyl0fp0ychfqlds31lpy73pzz9z2rjngxhpvzfka39gchg";
+        };
+      };
+    };
+    "erusev/parsedown" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "erusev-parsedown-cb17b6477dfff935958ba01325f2e8a2bfa6dab3";
+        src = fetchurl {
+          url = "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3";
+          sha256 = "1iil9v8g03m5vpxxg3a5qb2sxd1cs5c4p5i0k00cqjnjsxfrazxd";
+        };
+      };
+    };
+    "fideloper/proxy" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "fideloper-proxy-c073b2bd04d1c90e04dc1b787662b558dd65ade0";
+        src = fetchurl {
+          url = "https://api.github.com/repos/fideloper/TrustedProxy/zipball/c073b2bd04d1c90e04dc1b787662b558dd65ade0";
+          sha256 = "05jzgjj4fy5p1smqj41b5qxj42zn0mnczvsaacni4fmq174mz4gy";
+        };
+      };
+    };
+    "filp/whoops" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "filp-whoops-2edbc73a4687d9085c8f20f398eebade844e8424";
+        src = fetchurl {
+          url = "https://api.github.com/repos/filp/whoops/zipball/2edbc73a4687d9085c8f20f398eebade844e8424";
+          sha256 = "1x79vnjdbjk9z2mix75ri56kyc5iwvjv3dyivncg6n3wd80nyfgg";
+        };
+      };
+    };
+    "firebase/php-jwt" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "firebase-php-jwt-83b609028194aa042ea33b5af2d41a7427de80e6";
+        src = fetchurl {
+          url = "https://api.github.com/repos/firebase/php-jwt/zipball/83b609028194aa042ea33b5af2d41a7427de80e6";
+          sha256 = "16a0nw983x36al7zdcrf6h2m4jmnnvmr4p9znr5yzpchi5zx42ig";
+        };
+      };
+    };
+    "fruitcake/laravel-cors" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "fruitcake-laravel-cors-783a74f5e3431d7b9805be8afb60fd0a8f743534";
+        src = fetchurl {
+          url = "https://api.github.com/repos/fruitcake/laravel-cors/zipball/783a74f5e3431d7b9805be8afb60fd0a8f743534";
+          sha256 = "13mqhjks048fb5042l0rfrr52rz7knp9gjn8qviw9cx76kllw2c9";
+        };
+      };
+    };
+    "guzzlehttp/guzzle" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "guzzlehttp-guzzle-9d4290de1cfd701f38099ef7e183b64b4b7b0c5e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e";
+          sha256 = "1dlrdpil0173cmx73ghy8iis2j0lk00dzv3n166d0riky21n8djb";
+        };
+      };
+    };
+    "guzzlehttp/promises" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "guzzlehttp-promises-8e7d04f1f6450fef59366c399cfad4b9383aa30d";
+        src = fetchurl {
+          url = "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d";
+          sha256 = "158wd8nmvvl386c24lkr4jkwdhqpdj0dxdbjwh8iv6a2rgccjr2q";
+        };
+      };
+    };
+    "guzzlehttp/psr7" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "guzzlehttp-psr7-337e3ad8e5716c15f9657bd214d16cc5e69df268";
+        src = fetchurl {
+          url = "https://api.github.com/repos/guzzle/psr7/zipball/337e3ad8e5716c15f9657bd214d16cc5e69df268";
+          sha256 = "0qpldw2aw55dm275hgavw9h53l5697ahiz7cn2d0fz97l8j7fg9p";
+        };
+      };
+    };
+    "intervention/image" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "intervention-image-abbf18d5ab8367f96b3205ca3c89fb2fa598c69e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/Intervention/image/zipball/abbf18d5ab8367f96b3205ca3c89fb2fa598c69e";
+          sha256 = "1msfpr9bip69bmhg23ka2f43phgb6dq5z604j5psjh3xd86r6c5d";
+        };
+      };
+    };
+    "javiereguiluz/easyslugger" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "javiereguiluz-easyslugger-11524a3fd70e3f0c98043755a0ffa228f2529211";
+        src = fetchurl {
+          url = "https://api.github.com/repos/javiereguiluz/EasySlugger/zipball/11524a3fd70e3f0c98043755a0ffa228f2529211";
+          sha256 = "12x5cgp3qmz5d9wvgpd6c0whygm9z3y392fdi4kqjlzi3n5yknnp";
+        };
+      };
+    };
+    "laminas/laminas-diactoros" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laminas-laminas-diactoros-36ef09b73e884135d2059cc498c938e90821bb57";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laminas/laminas-diactoros/zipball/36ef09b73e884135d2059cc498c938e90821bb57";
+          sha256 = "0qzf3890j1976q6f684fydz49gd48kg3hwipzhsw0dgbcgmr8qs6";
+        };
+      };
+    };
+    "laminas/laminas-zendframework-bridge" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laminas-laminas-zendframework-bridge-6ede70583e101030bcace4dcddd648f760ddf642";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6ede70583e101030bcace4dcddd648f760ddf642";
+          sha256 = "10cksxv2fzv3d14n8kmij3wvfibddzp1qz65dqgybs1w2fd1n358";
+        };
+      };
+    };
+    "laravel/framework" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laravel-framework-505ebcdeaa9ca56d6d7dbf38ed4f53998c973ed0";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laravel/framework/zipball/505ebcdeaa9ca56d6d7dbf38ed4f53998c973ed0";
+          sha256 = "0hwjxlzj3hg8zmwslcjkp9jcrbqpxsvyj9fjhqk3j919dwlwwx0z";
+        };
+      };
+    };
+    "laravel/helpers" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laravel-helpers-febb10d8daaf86123825de2cb87f789a3371f0ac";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laravel/helpers/zipball/febb10d8daaf86123825de2cb87f789a3371f0ac";
+          sha256 = "1axbawm5hamfqvs5a6n4bbjc2fs5q3zwpsf7xrvqirxc4rgrdbgw";
+        };
+      };
+    };
+    "laravel/passport" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laravel-passport-011bd500e8ae3d459b692467880a49ff1ecd60c0";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laravel/passport/zipball/011bd500e8ae3d459b692467880a49ff1ecd60c0";
+          sha256 = "0aix2nf06xl32iqyhjjfjp7sq9z57v8w8i9qh408cmr78qg28kwv";
+        };
+      };
+    };
+    "laravel/slack-notification-channel" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laravel-slack-notification-channel-f428e76b8d0a0a2ff413ab225eeb829b9a8ffc20";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laravel/slack-notification-channel/zipball/f428e76b8d0a0a2ff413ab225eeb829b9a8ffc20";
+          sha256 = "1bmn7018j6pi7jfjbzkwpx3qa1b33d8vvm48xjsyci44vkp7swbk";
+        };
+      };
+    };
+    "laravel/tinker" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laravel-tinker-04ad32c1a3328081097a181875733fa51f402083";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laravel/tinker/zipball/04ad32c1a3328081097a181875733fa51f402083";
+          sha256 = "1h4847a5rq2qdyszvjx6bqw5c0xi2m3pn9x7cqnq7jz7fkzpi5f9";
+        };
+      };
+    };
+    "laravelcollective/html" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laravelcollective-html-ae15b9c4bf918ec3a78f092b8555551dd693fde3";
+        src = fetchurl {
+          url = "https://api.github.com/repos/LaravelCollective/html/zipball/ae15b9c4bf918ec3a78f092b8555551dd693fde3";
+          sha256 = "0prkxn874gp2x1hv4nsv30rfrqn5l7ld8qy3ivd3p7n391k7iak6";
+        };
+      };
+    };
+    "lcobucci/jwt" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "lcobucci-jwt-3ef8657a78278dfeae7707d51747251db4176240";
+        src = fetchurl {
+          url = "https://api.github.com/repos/lcobucci/jwt/zipball/3ef8657a78278dfeae7707d51747251db4176240";
+          sha256 = "03d8ah4xjhq4pikifgbyxlip8pdqwdiypi2aqbx32i98sj2fa4fr";
+        };
+      };
+    };
+    "league/commonmark" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-commonmark-2b8185c13bc9578367a5bf901881d1c1b5bbd09b";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/commonmark/zipball/2b8185c13bc9578367a5bf901881d1c1b5bbd09b";
+          sha256 = "14hp7vmqag9jh89rcq1mi3hyw01rkmypdbw2p3zsnjq2p8wwh4r5";
+        };
+      };
+    };
+    "league/csv" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-csv-f28da6e483bf979bac10e2add384c90ae9983e4e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/csv/zipball/f28da6e483bf979bac10e2add384c90ae9983e4e";
+          sha256 = "13wpdjf0646z1mawi9bh540gvykwx7ry6kd8cyvpnpi1gjxyqzma";
+        };
+      };
+    };
+    "league/event" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-event-d2cc124cf9a3fab2bb4ff963307f60361ce4d119";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/event/zipball/d2cc124cf9a3fab2bb4ff963307f60361ce4d119";
+          sha256 = "1fc8aj0mpbrnh3b93gn8pypix28nf2gfvi403kfl7ibh5iz6ds5l";
+        };
+      };
+    };
+    "league/flysystem" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-flysystem-f3ad69181b8afed2c9edf7be5a2918144ff4ea32";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32";
+          sha256 = "0s4sx4j7c16qkk7m6k2r4ajfjidlv15z18ybxhfmmz4jb4wsmv94";
+        };
+      };
+    };
+    "league/flysystem-aws-s3-v3" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-flysystem-aws-s3-v3-4e25cc0582a36a786c31115e419c6e40498f6972";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/4e25cc0582a36a786c31115e419c6e40498f6972";
+          sha256 = "1q2vkgyaz7h6z3q0z3v3l5rsvhv4xc45prgzr214cgm656i2h1ab";
+        };
+      };
+    };
+    "league/flysystem-cached-adapter" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-flysystem-cached-adapter-d1925efb2207ac4be3ad0c40b8277175f99ffaff";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/flysystem-cached-adapter/zipball/d1925efb2207ac4be3ad0c40b8277175f99ffaff";
+          sha256 = "1gvp89cl27ypcy4h0qjm04dc5k77jfm95m4paasglzfsi6g40i71";
+        };
+      };
+    };
+    "league/mime-type-detection" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-mime-type-detection-3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3";
+          sha256 = "0pmq486v2nf6672y2z53cyb3mfrxcc8n7z2ilpzz9zkkf2yb990j";
+        };
+      };
+    };
+    "league/oauth2-server" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-oauth2-server-f5698a3893eda9a17bcd48636990281e7ca77b2a";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/oauth2-server/zipball/f5698a3893eda9a17bcd48636990281e7ca77b2a";
+          sha256 = "1fi46pi8aiw8jdhdjwq38kxrva9hbk85h5gr5h1ixlxm699vnrsz";
+        };
+      };
+    };
+    "masterminds/html5" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "masterminds-html5-9227822783c75406cfe400984b2f095cdf03d417";
+        src = fetchurl {
+          url = "https://api.github.com/repos/Masterminds/html5-php/zipball/9227822783c75406cfe400984b2f095cdf03d417";
+          sha256 = "1szy5njj102vql3i9l9qgnx8z40lhn7lgaqkscma9hn478963rbz";
+        };
+      };
+    };
+    "maximebf/debugbar" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "maximebf-debugbar-6d51ee9e94cff14412783785e79a4e7ef97b9d62";
+        src = fetchurl {
+          url = "https://api.github.com/repos/maximebf/php-debugbar/zipball/6d51ee9e94cff14412783785e79a4e7ef97b9d62";
+          sha256 = "13lh63wnsp2a6564h3if3925x4maf2plkhzyd1byv995g7bhi68i";
+        };
+      };
+    };
+    "monolog/monolog" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "monolog-monolog-d7fd7450628561ba697b7097d86db72662f54aef";
+        src = fetchurl {
+          url = "https://api.github.com/repos/Seldaek/monolog/zipball/d7fd7450628561ba697b7097d86db72662f54aef";
+          sha256 = "1zi8pprp0jfjvnw4xh5rcbcr8wmqcgrsccl257p25x2n50sggm8l";
+        };
+      };
+    };
+    "mtdowling/jmespath.php" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "mtdowling-jmespath.php-9b87907a81b87bc76d19a7fb2d61e61486ee9edb";
+        src = fetchurl {
+          url = "https://api.github.com/repos/jmespath/jmespath.php/zipball/9b87907a81b87bc76d19a7fb2d61e61486ee9edb";
+          sha256 = "1ig3gi6f8gisagcn876598ps48s86s6m0c82diyksylarg3yn0yd";
+        };
+      };
+    };
+    "neitanod/forceutf8" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "neitanod-forceutf8-c1fbe70bfb5ad41b8ec5785056b0e308b40d4831";
+        src = fetchurl {
+          url = "https://api.github.com/repos/neitanod/forceutf8/zipball/c1fbe70bfb5ad41b8ec5785056b0e308b40d4831";
+          sha256 = "1fvh2iapy7q22n65p6xkcbxcmp68x917gkv2cb0gs59671fwxsjf";
+        };
+      };
+    };
+    "nesbot/carbon" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "nesbot-carbon-93d9db91c0235c486875d22f1e08b50bdf3e6eee";
+        src = fetchurl {
+          url = "https://api.github.com/repos/briannesbitt/Carbon/zipball/93d9db91c0235c486875d22f1e08b50bdf3e6eee";
+          sha256 = "1xk4bg9imbsm8481mc49111cimanrxswqqkj3bqs4ja8bam6a51z";
+        };
+      };
+    };
+    "nikic/php-parser" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "nikic-php-parser-4432ba399e47c66624bc73c8c0f811e5c109576f";
+        src = fetchurl {
+          url = "https://api.github.com/repos/nikic/PHP-Parser/zipball/4432ba399e47c66624bc73c8c0f811e5c109576f";
+          sha256 = "0372c09xdgdr9dhd9m7sblxyqxk9xdk2r9s0i13ja3ascsz3zvpd";
+        };
+      };
+    };
+    "nunomaduro/collision" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "nunomaduro-collision-f7c45764dfe4ba5f2618d265a6f1f9c72732e01d";
+        src = fetchurl {
+          url = "https://api.github.com/repos/nunomaduro/collision/zipball/f7c45764dfe4ba5f2618d265a6f1f9c72732e01d";
+          sha256 = "1cazbjxl5rqw4cl783nrymhcvjhvwwwjswr5w0si1wfhmpvr349q";
+        };
+      };
+    };
+    "nyholm/psr7" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "nyholm-psr7-1461e07a0f2a975a52082ca3b769ca912b816226";
+        src = fetchurl {
+          url = "https://api.github.com/repos/Nyholm/psr7/zipball/1461e07a0f2a975a52082ca3b769ca912b816226";
+          sha256 = "1i6v8r9c2gxsjafyy03g339hkc0wcbsdlg47gy6rswg7qc1r91g1";
+        };
+      };
+    };
+    "onelogin/php-saml" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "onelogin-php-saml-a7328b11887660ad248ea10952dd67a5aa73ba3b";
+        src = fetchurl {
+          url = "https://api.github.com/repos/onelogin/php-saml/zipball/a7328b11887660ad248ea10952dd67a5aa73ba3b";
+          sha256 = "0ycj3n22k5i3h8p7gn0xff6a7smjypazl2k5qvyzg86fjr7s3vfv";
+        };
+      };
+    };
+    "opis/closure" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "opis-closure-3d81e4309d2a927abbe66df935f4bb60082805ad";
+        src = fetchurl {
+          url = "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad";
+          sha256 = "0hqs6rdkkcggswrgjlispkby2yg4hwn63bl2ma62lnmpfbpwn0sd";
+        };
+      };
+    };
+    "paragonie/constant_time_encoding" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "paragonie-constant_time_encoding-f34c2b11eb9d2c9318e13540a1dbc2a3afbd939c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/f34c2b11eb9d2c9318e13540a1dbc2a3afbd939c";
+          sha256 = "1r1xj3j7s5mskw5gh3ars4dfhvcn7d252gdqgpif80026kj5fvrp";
+        };
+      };
+    };
+    "paragonie/random_compat" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "paragonie-random_compat-996434e5492cb4c3edcb9168db6fbb1359ef965a";
+        src = fetchurl {
+          url = "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a";
+          sha256 = "0ky7lal59dihf969r1k3pb96ql8zzdc5062jdbg69j6rj0scgkyx";
+        };
+      };
+    };
+    "patchwork/utf8" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "patchwork-utf8-e1fa4d4a57896d074c9a8d01742b688d5db4e9d5";
+        src = fetchurl {
+          url = "https://api.github.com/repos/tchwork/utf8/zipball/e1fa4d4a57896d074c9a8d01742b688d5db4e9d5";
+          sha256 = "0rarkg8v23y58bc4n6j39wdi6is0p1rgqxnixqlgavcm35xjgnw0";
+        };
+      };
+    };
+    "php-http/message-factory" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "php-http-message-factory-a478cb11f66a6ac48d8954216cfed9aa06a501a1";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1";
+          sha256 = "13drpc83bq332hz0b97whibkm7jpk56msq4yppw9nmrchzwgy7cs";
+        };
+      };
+    };
+    "php-parallel-lint/php-console-color" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "php-parallel-lint-php-console-color-b6af326b2088f1ad3b264696c9fd590ec395b49e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-parallel-lint/PHP-Console-Color/zipball/b6af326b2088f1ad3b264696c9fd590ec395b49e";
+          sha256 = "030449mkpxs35y8dk336ls3bfdq3zjnxswnk5khlg45z5147cr3k";
+        };
+      };
+    };
+    "php-parallel-lint/php-console-highlighter" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "php-parallel-lint-php-console-highlighter-21bf002f077b177f056d8cb455c5ed573adfdbb8";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-parallel-lint/PHP-Console-Highlighter/zipball/21bf002f077b177f056d8cb455c5ed573adfdbb8";
+          sha256 = "013phmp5n6hp6mvlpbqbrih0zd8h7xc152dpzxxf49b0jczxh8y4";
+        };
+      };
+    };
+    "phpdocumentor/reflection-common" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "phpdocumentor-reflection-common-1d01c49d4ed62f25aa84a747ad35d5a16924662b";
+        src = fetchurl {
+          url = "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b";
+          sha256 = "1wx720a17i24471jf8z499dnkijzb4b8xra11kvw9g9hhzfadz1r";
+        };
+      };
+    };
+    "phpdocumentor/reflection-docblock" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "phpdocumentor-reflection-docblock-069a785b2141f5bcf49f3e353548dc1cce6df556";
+        src = fetchurl {
+          url = "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556";
+          sha256 = "0qid63bsfjmc3ka54f1ijl4a5zqwf7jmackjyjmbw3gxdnbi69il";
+        };
+      };
+    };
+    "phpdocumentor/type-resolver" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "phpdocumentor-type-resolver-6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0";
+        src = fetchurl {
+          url = "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0";
+          sha256 = "01g6mihq5wd1396njjb7ibcdfgk26ix1kmbjb6dlshzav0k3983h";
+        };
+      };
+    };
+    "phpoption/phpoption" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "phpoption-phpoption-eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15";
+        src = fetchurl {
+          url = "https://api.github.com/repos/schmittjoh/php-option/zipball/eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15";
+          sha256 = "1lk50y8jj2mzbwc2mxfm2xdasxf4axya72nv8wfc1vyz9y5ys3li";
+        };
+      };
+    };
+    "phpseclib/phpseclib" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "phpseclib-phpseclib-c812fbb4d6b4d7f30235ab7298a12f09ba13b37c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/phpseclib/phpseclib/zipball/c812fbb4d6b4d7f30235ab7298a12f09ba13b37c";
+          sha256 = "0yak18zyyjhqd2l5mlgiinw9rf4rrvbyxp2fnivjvm93jymhhl49";
+        };
+      };
+    };
+    "phpspec/prophecy" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "phpspec-prophecy-be1996ed8adc35c3fd795488a653f4b518be70ea";
+        src = fetchurl {
+          url = "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea";
+          sha256 = "167snpasy7499pbxpyx2bj607qa1vrg07xfpa30dlpbwi7f34dji";
+        };
+      };
+    };
+    "pragmarx/google2fa" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "pragmarx-google2fa-26c4c5cf30a2844ba121760fd7301f8ad240100b";
+        src = fetchurl {
+          url = "https://api.github.com/repos/antonioribeiro/google2fa/zipball/26c4c5cf30a2844ba121760fd7301f8ad240100b";
+          sha256 = "1jmc7s3hbczvb0h4kfmya67l969nfww3lmc4slvzsz0zd769434h";
+        };
+      };
+    };
+    "pragmarx/google2fa-laravel" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "pragmarx-google2fa-laravel-f9014fd7ea36a1f7fffa233109cf59b209469647";
+        src = fetchurl {
+          url = "https://api.github.com/repos/antonioribeiro/google2fa-laravel/zipball/f9014fd7ea36a1f7fffa233109cf59b209469647";
+          sha256 = "1y1b24fyfsf8mrhla3j699x1x6pd23rw5k3pjsag0vqgvd4v3a8n";
+        };
+      };
+    };
+    "pragmarx/google2fa-qrcode" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "pragmarx-google2fa-qrcode-fd5ff0531a48b193a659309cc5fb882c14dbd03f";
+        src = fetchurl {
+          url = "https://api.github.com/repos/antonioribeiro/google2fa-qrcode/zipball/fd5ff0531a48b193a659309cc5fb882c14dbd03f";
+          sha256 = "1csa15v68bznrz3262xjcdgcgw0lg8fwb6fhrbms2mnylhq4s35g";
+        };
+      };
+    };
+    "psr/cache" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psr-cache-d11b50ad223250cf17b86e38383413f5a6764bf8";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8";
+          sha256 = "06i2k3dx3b4lgn9a4v1dlgv8l9wcl4kl7vzhh63lbji0q96hv8qz";
+        };
+      };
+    };
+    "psr/container" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psr-container-8622567409010282b7aeebe4bb841fe98b58dcaf";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf";
+          sha256 = "0qfvyfp3mli776kb9zda5cpc8cazj3prk0bg0gm254kwxyfkfrwn";
+        };
+      };
+    };
+    "psr/http-factory" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psr-http-factory-12ac7fcd07e5b077433f5f2bee95b3a771bf61be";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be";
+          sha256 = "0inbnqpc5bfhbbda9dwazsrw9xscfnc8rdx82q1qm3r446mc1vds";
+        };
+      };
+    };
+    "psr/http-message" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psr-http-message-f6561bf28d520154e4b0ec72be95418abe6d9363";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363";
+          sha256 = "195dd67hva9bmr52iadr4kyp2gw2f5l51lplfiay2pv6l9y4cf45";
+        };
+      };
+    };
+    "psr/log" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psr-log-d49695b909c3b7628b6289db5479a1c204601f11";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11";
+          sha256 = "0sb0mq30dvmzdgsnqvw3xh4fb4bqjncx72kf8n622f94dd48amln";
+        };
+      };
+    };
+    "psr/simple-cache" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psr-simple-cache-408d5eafb83c57f6365a3ca330ff23aa4a5fa39b";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b";
+          sha256 = "1djgzclkamjxi9jy4m9ggfzgq1vqxaga2ip7l3cj88p7rwkzjxgw";
+        };
+      };
+    };
+    "psy/psysh" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psy-psysh-e4573f47750dd6c92dca5aee543fa77513cbd8d3";
+        src = fetchurl {
+          url = "https://api.github.com/repos/bobthecow/psysh/zipball/e4573f47750dd6c92dca5aee543fa77513cbd8d3";
+          sha256 = "1pzw57gild4h66nfkvlcbz43ralypcjr9dgvwj6rs2gl72rfiwnk";
+        };
+      };
+    };
+    "ralouphie/getallheaders" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "ralouphie-getallheaders-120b605dfeb996808c31b6477290a714d356e822";
+        src = fetchurl {
+          url = "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822";
+          sha256 = "1bv7ndkkankrqlr2b4kw7qp3fl0dxi6bp26bnim6dnlhavd6a0gg";
+        };
+      };
+    };
+    "ramsey/uuid" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "ramsey-uuid-ffa80ab953edd85d5b6c004f96181a538aad35a3";
+        src = fetchurl {
+          url = "https://api.github.com/repos/ramsey/uuid/zipball/ffa80ab953edd85d5b6c004f96181a538aad35a3";
+          sha256 = "043g1nwpbvqrvq6ri2517254d72538h5jfzv9miafnws4ajwfpzg";
+        };
+      };
+    };
+    "robrichards/xmlseclibs" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "robrichards-xmlseclibs-f8f19e58f26cdb42c54b214ff8a820760292f8df";
+        src = fetchurl {
+          url = "https://api.github.com/repos/robrichards/xmlseclibs/zipball/f8f19e58f26cdb42c54b214ff8a820760292f8df";
+          sha256 = "01zlpm36rrdj310cfmiz2fnabszxd3fq80fa8x8j3f9ki7dvhh5y";
+        };
+      };
+    };
+    "rollbar/rollbar" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "rollbar-rollbar-ff3db5739dd635740caed02ddad43e671b5a37e5";
+        src = fetchurl {
+          url = "https://api.github.com/repos/rollbar/rollbar-php/zipball/ff3db5739dd635740caed02ddad43e671b5a37e5";
+          sha256 = "1mkbw0mcaj50ks0x6ql2qq7dr2i5nfr46x6chdf8hvnm1vjnphmd";
+        };
+      };
+    };
+    "rollbar/rollbar-laravel" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "rollbar-rollbar-laravel-11df7e19313a4cf60769d26ce35e29b09d5405cd";
+        src = fetchurl {
+          url = "https://api.github.com/repos/rollbar/rollbar-php-laravel/zipball/11df7e19313a4cf60769d26ce35e29b09d5405cd";
+          sha256 = "0df52a29c9xs0ifvfkcskix1nx9bz6xykrv2ah9m4pg1ikjkg2cx";
+        };
+      };
+    };
+    "sebastian/comparator" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "sebastian-comparator-1071dfcef776a57013124ff35e1fc41ccd294758";
+        src = fetchurl {
+          url = "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1071dfcef776a57013124ff35e1fc41ccd294758";
+          sha256 = "0i2lnvf56n4s88001dzxzy9bjzih1qbf7kzc7457qhlvwdnaydn3";
+        };
+      };
+    };
+    "sebastian/diff" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "sebastian-diff-14f72dd46eaf2f2293cbe79c93cc0bc43161a211";
+        src = fetchurl {
+          url = "https://api.github.com/repos/sebastianbergmann/diff/zipball/14f72dd46eaf2f2293cbe79c93cc0bc43161a211";
+          sha256 = "0planffhifwhxgml9r3ma89c83jvbrqilj517a5ps9x8vc6kk312";
+        };
+      };
+    };
+    "sebastian/exporter" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "sebastian-exporter-0c32ea2e40dbf59de29f3b49bf375176ce7dd8db";
+        src = fetchurl {
+          url = "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0c32ea2e40dbf59de29f3b49bf375176ce7dd8db";
+          sha256 = "179m35wkps4vy5yxdpbgim8v2cxf9v2wifswj3ww7qhg7h53b1gk";
+        };
+      };
+    };
+    "sebastian/recursion-context" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "sebastian-recursion-context-367dcba38d6e1977be014dc4b22f47a484dac7fb";
+        src = fetchurl {
+          url = "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb";
+          sha256 = "1zpq0qk2mgwnbyhjnj05dz2n2v8hvj2g4jy68fd5klxxkdr92ps7";
+        };
+      };
+    };
+    "spatie/db-dumper" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "spatie-db-dumper-05e5955fb882008a8947c5a45146d86cfafa10d1";
+        src = fetchurl {
+          url = "https://api.github.com/repos/spatie/db-dumper/zipball/05e5955fb882008a8947c5a45146d86cfafa10d1";
+          sha256 = "0g0scxq259qn1maxa61qh3cl5a88778qgx27dgbxr9p8kszivlsg";
+        };
+      };
+    };
+    "spatie/laravel-backup" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "spatie-laravel-backup-3ede36961b79b6ea4a6b5f708f2cc60fee74ad6c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/spatie/laravel-backup/zipball/3ede36961b79b6ea4a6b5f708f2cc60fee74ad6c";
+          sha256 = "1i6j0qc8g80d9jxb4xhybgym8sykdackfqwqdahhmgs4mc4fg6ps";
+        };
+      };
+    };
+    "spatie/temporary-directory" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "spatie-temporary-directory-f517729b3793bca58f847c5fd383ec16f03ffec6";
+        src = fetchurl {
+          url = "https://api.github.com/repos/spatie/temporary-directory/zipball/f517729b3793bca58f847c5fd383ec16f03ffec6";
+          sha256 = "1pn6l9c86yigpzn83ajpq2wiy8ds0rlxmiq0iwby14cijc98ma3m";
+        };
+      };
+    };
+    "squizlabs/php_codesniffer" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "squizlabs-php_codesniffer-ffced0d2c8fa8e6cdc4d695a743271fab6c38625";
+        src = fetchurl {
+          url = "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ffced0d2c8fa8e6cdc4d695a743271fab6c38625";
+          sha256 = "1cndvz85ii2cl47lbfkmxr4xw03n7y70l6jc8sdh6bhz4axvk03z";
+        };
+      };
+    };
+    "swiftmailer/swiftmailer" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "swiftmailer-swiftmailer-8a5d5072dca8f48460fce2f4131fcc495eec654c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c";
+          sha256 = "1p9m4fw9y9md9a7msbmnc0hpdrky8dwrllnyg1qf1cdyp9d70x1d";
+        };
+      };
+    };
+    "symfony/console" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-console-bdcc66f3140421038f495e5b50e3ca6ffa14c773";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/console/zipball/bdcc66f3140421038f495e5b50e3ca6ffa14c773";
+          sha256 = "16w04xyq1igg3q4542s3v8vry5k2wsz8ip1vz7j036ghlv154j76";
+        };
+      };
+    };
+    "symfony/css-selector" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-css-selector-c1e29de6dc893b130b45d20d8051efbb040560a9";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/css-selector/zipball/c1e29de6dc893b130b45d20d8051efbb040560a9";
+          sha256 = "0af571s9i7inwsjbqpf5dkpghs2k5ds8ba8x7wdvad6hpgphify8";
+        };
+      };
+    };
+    "symfony/debug" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-debug-5de6c6e7f52b364840e53851c126be4d71e60470";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/debug/zipball/5de6c6e7f52b364840e53851c126be4d71e60470";
+          sha256 = "1kmf8kk5ra6nr17z007vacw3dvpcglng584l0y98wrn5kmmfgh4x";
+        };
+      };
+    };
+    "symfony/deprecation-contracts" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-deprecation-contracts-6f981ee24cf69ee7ce9736146d1c57c2780598a8";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8";
+          sha256 = "05jws1g4kcs297bwf5d72z47m2263i2jqpivi3yv8kf50kdjjzba";
+        };
+      };
+    };
+    "symfony/error-handler" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-error-handler-2d0c9c229d995bef5e87fe4e83b717541832b448";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/error-handler/zipball/2d0c9c229d995bef5e87fe4e83b717541832b448";
+          sha256 = "1zl6p02pzmzi64fh6c77zgcnwqd41nxvhi4syhdm90l24d0b1di0";
+        };
+      };
+    };
+    "symfony/event-dispatcher" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-event-dispatcher-3ccfcfb96ecce1217d7b0875a0736976bc6e63dc";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/event-dispatcher/zipball/3ccfcfb96ecce1217d7b0875a0736976bc6e63dc";
+          sha256 = "0rx6h15nzhia0g797xbgd692lraxlbv9fblg9528xr6if94bgcng";
+        };
+      };
+    };
+    "symfony/event-dispatcher-contracts" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-event-dispatcher-contracts-01e9a4efac0ee33a05dfdf93b346f62e7d0e998c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/01e9a4efac0ee33a05dfdf93b346f62e7d0e998c";
+          sha256 = "08hi7dgz6bnq8ys1hblgqfqkgix6kzqb1a4751bkxfz2sjh6sza8";
+        };
+      };
+    };
+    "symfony/finder" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-finder-b17d76d7ed179f017aad646e858c90a2771af15d";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/finder/zipball/b17d76d7ed179f017aad646e858c90a2771af15d";
+          sha256 = "0lmss9kblyj3pvc7wmkj1vlkjx8rr8ad6rrd9c0pf5r9iqbgy1zq";
+        };
+      };
+    };
+    "symfony/http-client-contracts" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-http-client-contracts-ec82e57b5b714dbb69300d348bd840b345e24166";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/http-client-contracts/zipball/ec82e57b5b714dbb69300d348bd840b345e24166";
+          sha256 = "0q2ad5vjyrh753a71ymlqbb6rnmvq2z65c5mf4iwic2j16cmzr7p";
+        };
+      };
+    };
+    "symfony/http-foundation" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-http-foundation-60e8e42a4579551e5ec887d04380e2ab9e4cc314";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/http-foundation/zipball/60e8e42a4579551e5ec887d04380e2ab9e4cc314";
+          sha256 = "1vkb67il9cv954lkkzgmsivcx9iypv4hmp1kkkgprmqsrzl5plwl";
+        };
+      };
+    };
+    "symfony/http-kernel" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-http-kernel-330a859a7ec9d7e7d82f2569b1c0700a26ffb1e3";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/http-kernel/zipball/330a859a7ec9d7e7d82f2569b1c0700a26ffb1e3";
+          sha256 = "0cgngsln3k2mfp8hrmbmc71alpwfhqv7ilq8mgj1h1blh8ms5igg";
+        };
+      };
+    };
+    "symfony/mime" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-mime-92d27a34dea2e199fa9b687e3fff3a7d169b7b1c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/mime/zipball/92d27a34dea2e199fa9b687e3fff3a7d169b7b1c";
+          sha256 = "02ibqpbm9az4hwfk6k8ypaqwwbx92kw14lp28wsxywb0lp7hzbcd";
+        };
+      };
+    };
+    "symfony/polyfill-ctype" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-ctype-30885182c981ab175d4d034db0f6f469898070ab";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab";
+          sha256 = "0dfh24f8g048vbj88vx0lvw48nq5dsamy5kva72ab1h7vw9hvpwb";
+        };
+      };
+    };
+    "symfony/polyfill-iconv" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-iconv-f1aed619e28cb077fc83fac8c4c0383578356e40";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f1aed619e28cb077fc83fac8c4c0383578356e40";
+          sha256 = "0fjx1a0kvkj0677nc6h49phqlk0hsgkzbs401lmhj6b6cdc7hvzp";
+        };
+      };
+    };
+    "symfony/polyfill-intl-idn" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-intl-idn-749045c69efb97c70d25d7463abba812e91f3a44";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44";
+          sha256 = "0ni1zlnp5xpxyzbax7v3mn20x35i69nsmch2sx322cs6dwb0ggbn";
+        };
+      };
+    };
+    "symfony/polyfill-intl-normalizer" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-intl-normalizer-8590a5f561694770bdcd3f9b5c69dde6945028e8";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8";
+          sha256 = "1c60xin00q0d2gbyaiglxppn5hqwki616v5chzwyhlhf6aplwsh3";
+        };
+      };
+    };
+    "symfony/polyfill-mbstring" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-mbstring-0abb51d2f102e00a4eefcf46ba7fec406d245825";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825";
+          sha256 = "1z17f7465fn778ak68mzz5kg2ql1n6ghgqh3827n9mcipwbp4k58";
+        };
+      };
+    };
+    "symfony/polyfill-php72" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-php72-9a142215a36a3888e30d0a9eeea9766764e96976";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976";
+          sha256 = "06ipbcvrxjzgvraf2z9fwgy0bzvzjvs5z1j67grg1gb15x3d428b";
+        };
+      };
+    };
+    "symfony/polyfill-php73" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-php73-cc5db0e22b3cb4111010e48785a97f670b350ca5";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5";
+          sha256 = "04z6fah8rn5b01w78j0vqa0jys4mvji66z4ql6wk1r1bf6j0048y";
+        };
+      };
+    };
+    "symfony/polyfill-php80" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-php80-4407588e0d3f1f52efb65fbe92babe41f37fe50c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-php80/zipball/4407588e0d3f1f52efb65fbe92babe41f37fe50c";
+          sha256 = "187whknxl9rs0ddkjph6zmla5kh3k7w6hnvgfc44zig17jxsjdff";
+        };
+      };
+    };
+    "symfony/process" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-process-54e9d763759268e07eb13b921d8631fc2816206f";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/process/zipball/54e9d763759268e07eb13b921d8631fc2816206f";
+          sha256 = "01zkgmf4ypscdrpb0wk0fb593sm09xfdk8ah645xx38rsbf3hiy1";
+        };
+      };
+    };
+    "symfony/psr-http-message-bridge" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-psr-http-message-bridge-22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34";
+          sha256 = "18zvhrcry8173wklv3zpf8k06xx15smrw1dnj0zmq97injnam6fl";
+        };
+      };
+    };
+    "symfony/routing" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-routing-324f7f73b89cd30012575119430ccfb1dfbc24be";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/routing/zipball/324f7f73b89cd30012575119430ccfb1dfbc24be";
+          sha256 = "0lks9bscddqgwbljgrf4mvd948frvv2ckar4v8m3pdc8s9pajrw2";
+        };
+      };
+    };
+    "symfony/service-contracts" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-service-contracts-1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc";
+          sha256 = "0c1vq6jv2jc37i9m1ndpbv7g75blgvf1s44vk65nb1jdk3hrbrd1";
+        };
+      };
+    };
+    "symfony/translation" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-translation-dfe132c5c6d89f90ce7f961742cc532e9ca16dd4";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/translation/zipball/dfe132c5c6d89f90ce7f961742cc532e9ca16dd4";
+          sha256 = "1w7m0x6i2r77h8w7sqhnaf4g52x6bb53mm4wbx70aljfahigk0l1";
+        };
+      };
+    };
+    "symfony/translation-contracts" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-translation-contracts-d28150f0f44ce854e942b671fc2620a98aae1b1e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/translation-contracts/zipball/d28150f0f44ce854e942b671fc2620a98aae1b1e";
+          sha256 = "0gwqxhrzb9dzsqvqr9lc3whzl8wwlfhwskr0wdwqri4pq5mspb2w";
+        };
+      };
+    };
+    "symfony/var-dumper" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-var-dumper-35237c5e5dcb6593a46a860ba5b29c1d4683d80e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/var-dumper/zipball/35237c5e5dcb6593a46a860ba5b29c1d4683d80e";
+          sha256 = "0vqb4m5iqy0g9l4wh53f6w5fsf4lh1i3k7f7lisg5wvxlwfy4yjw";
+        };
+      };
+    };
+    "tecnickcom/tc-lib-barcode" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "tecnickcom-tc-lib-barcode-a8a7183e2be6379e522dc825a3b7a3af5394a9e7";
+        src = fetchurl {
+          url = "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/a8a7183e2be6379e522dc825a3b7a3af5394a9e7";
+          sha256 = "19b06fj7cin93xis03h62nm64rxmryyzi5rxpc4fi5z5i1q97702";
+        };
+      };
+    };
+    "tecnickcom/tc-lib-color" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "tecnickcom-tc-lib-color-83cdb57fd900901c6aa2af8cfd67202518fb69b2";
+        src = fetchurl {
+          url = "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/83cdb57fd900901c6aa2af8cfd67202518fb69b2";
+          sha256 = "1qs2j2288awzmrzkpbyswp1v8q83fk3fjmz1kzgdz38xxmff5sfp";
+        };
+      };
+    };
+    "tightenco/collect" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "tightenco-collect-3a42ca9b730a88e942fe05180d4f15e045464e40";
+        src = fetchurl {
+          url = "https://api.github.com/repos/tighten/collect/zipball/3a42ca9b730a88e942fe05180d4f15e045464e40";
+          sha256 = "0gs28b97v8ll6rr7yc2lwawkjzpigzadivr43idfs3hrc2jw37vv";
+        };
+      };
+    };
+    "tightenco/ziggy" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "tightenco-ziggy-82ea6ec6cb6ab3545b0245310b2a424316fe48d8";
+        src = fetchurl {
+          url = "https://api.github.com/repos/tighten/ziggy/zipball/82ea6ec6cb6ab3545b0245310b2a424316fe48d8";
+          sha256 = "1mfiwvpd5jhs9lsg0bl3qm1spa25062cfilkn80f9la08gbry5fh";
+        };
+      };
+    };
+    "tijsverkoyen/css-to-inline-styles" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "tijsverkoyen-css-to-inline-styles-da444caae6aca7a19c0c140f68c6182e337d5b1c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/da444caae6aca7a19c0c140f68c6182e337d5b1c";
+          sha256 = "13lzhf1kswg626b8zd23z4pa7sg679si368wcg6pklqvijnn0any";
+        };
+      };
+    };
+    "unicodeveloper/laravel-password" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "unicodeveloper-laravel-password-806e345ae992e0adf38c4cfa32063d7d7c9d189a";
+        src = fetchurl {
+          url = "https://api.github.com/repos/unicodeveloper/laravel-password/zipball/806e345ae992e0adf38c4cfa32063d7d7c9d189a";
+          sha256 = "1qd63zahc0mw7ypfghm2q1zfq1w3vr58zxh5gdgcx0srlg2v69gc";
+        };
+      };
+    };
+    "vlucas/phpdotenv" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "vlucas-phpdotenv-5b547cdb25825f10251370f57ba5d9d924e6f68e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/vlucas/phpdotenv/zipball/5b547cdb25825f10251370f57ba5d9d924e6f68e";
+          sha256 = "05a2d5dky62xq42qldhzxak6hf8734kjnpw3y9xhlvrg8ir4d8pv";
+        };
+      };
+    };
+    "watson/validating" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "watson-validating-b8731af37eade6b25aac1fcec5e90fdfdb9de5f5";
+        src = fetchurl {
+          url = "https://api.github.com/repos/dwightwatson/validating/zipball/b8731af37eade6b25aac1fcec5e90fdfdb9de5f5";
+          sha256 = "1mhialmg9f8q1ka3nawgs6b0pzinb60c6n7vkml3226wpwcj9kq0";
+        };
+      };
+    };
+    "webmozart/assert" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "webmozart-assert-6964c76c7804814a842473e0c8fd15bab0f18e25";
+        src = fetchurl {
+          url = "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25";
+          sha256 = "17xqhb2wkwr7cgbl4xdjf7g1vkal17y79rpp6xjpf1xgl5vypc64";
+        };
+      };
+    };
+  };
+  devPackages = {};
+in
+composerEnv.buildPackage {
+  inherit packages devPackages noDev;
+  name = "snipe-it";
+  src = composerEnv.filterSrc ./.;
+  executable = false;
+  symlinkDependencies = false;
+  meta = {
+    license = "AGPL-3.0-or-later";
+  };
+}
+
diff --git a/pkgs/servers/web-apps/snipe-it/update.sh b/pkgs/servers/web-apps/snipe-it/update.sh
new file mode 100755
index 00000000000..cf06f81b078
--- /dev/null
+++ b/pkgs/servers/web-apps/snipe-it/update.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nix curl jq nix-update
+
+# check if composer2nix is installed
+if ! command -v composer2nix &> /dev/null; then
+  echo "Please install composer2nix (https://github.com/svanderburg/composer2nix) to run this script."
+  exit 1
+fi
+
+CURRENT_VERSION=$(nix eval --raw '(with import ../../../.. {}; snipe-it.version)')
+TARGET_VERSION_REMOTE=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} https://api.github.com/repos/snipe/snipe-it/releases/latest | jq -r ".tag_name")
+TARGET_VERSION=${TARGET_VERSION_REMOTE:1}
+SNIPE_IT=https://github.com/snipe/snipe-it/raw/$TARGET_VERSION_REMOTE
+SHA256=$(nix-prefetch-url --unpack "https://github.com/snipe/snipe-it/archive/v$TARGET_VERSION/snipe-it.tar.gz")
+
+if [[ "$CURRENT_VERSION" == "$TARGET_VERSION" ]]; then
+  echo "snipe-it is up-to-date: ${CURRENT_VERSION}"
+  exit 0
+fi
+
+curl -LO "$SNIPE_IT/composer.json"
+curl -LO "$SNIPE_IT/composer.lock"
+
+composer2nix --name "snipe-it" \
+  --composition=composition.nix \
+  --no-dev
+rm composer.json composer.lock
+
+# change version number
+sed -e "s/version =.*;/version = \"$TARGET_VERSION\";/g" \
+    -e "s/sha256 =.*;/sha256 = \"$SHA256\";/g" \
+    -i ./default.nix
+
+# fix composer-env.nix
+sed -e "s/stdenv\.lib/lib/g" \
+    -e '3s/stdenv, writeTextFile/stdenv, lib, writeTextFile/' \
+    -i ./composer-env.nix
+
+# fix composition.nix
+sed -e '7s/stdenv writeTextFile/stdenv lib writeTextFile/' \
+    -i composition.nix
+
+# fix missing newline
+echo "" >> composition.nix
+echo "" >> php-packages.nix
+
+cd ../../../..
+nix-build -A snipe-it
+
+exit $?
diff --git a/pkgs/tools/misc/communicator/default.nix b/pkgs/tools/misc/communicator/default.nix
new file mode 100644
index 00000000000..fd48360ba73
--- /dev/null
+++ b/pkgs/tools/misc/communicator/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, applet-window-buttons
+, karchive
+, kcoreaddons
+, ki18n
+, kio
+, kirigami2
+, mauikit
+, mauikit-accounts
+, mauikit-filebrowsing
+, mauikit-texteditor
+, qtmultimedia
+, qtquickcontrols2
+, kpeople
+, kcontacts
+}:
+
+mkDerivation rec {
+  pname = "communicator";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "communicator";
+    rev = "v${version}";
+    sha256 = "sha256-tHuFQgssZ6bohELx8tHrd4vvnrWixTyqCqK8WKJEdRE=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "/usr/share/maui-accounts/manifests" "$out/usr/share/maui-accounts/manifests"
+  '';
+
+  buildInputs = [
+    applet-window-buttons
+    karchive
+    kcoreaddons
+    ki18n
+    kio
+    kirigami2
+    mauikit
+    mauikit-accounts
+    mauikit-filebrowsing
+    mauikit-texteditor
+    qtmultimedia
+    qtquickcontrols2
+    kpeople
+    kcontacts
+  ];
+
+  meta = with lib; {
+    description = "Contacts and dialer application";
+    homepage = "https://invent.kde.org/maui/communicator";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/tools/networking/getmail6/default.nix b/pkgs/tools/networking/getmail6/default.nix
index c31fe48d5b5..e143760c498 100644
--- a/pkgs/tools/networking/getmail6/default.nix
+++ b/pkgs/tools/networking/getmail6/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "getmail6";
-  version = "6.18.7";
+  version = "6.18.8";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-JghiV0zC9xtOGuGcf0lY5e73/04n6Bat/xOGgXyDWJk=";
+    hash = "sha256-MIK5++3SaGm1BMpU8G4X7n/SCBw+N39U44cyX65tPcQ=";
   };
 
   # needs a Docker setup
diff --git a/pkgs/tools/security/cryptomator/default.nix b/pkgs/tools/security/cryptomator/default.nix
index 76b5f521663..5a1886e49e5 100644
--- a/pkgs/tools/security/cryptomator/default.nix
+++ b/pkgs/tools/security/cryptomator/default.nix
@@ -98,7 +98,13 @@ in stdenv.mkDerivation rec {
     cp ${src}/dist/linux/common/application-vnd.cryptomator.vault.xml $out/share/mime/packages/application-vnd.cryptomator.vault.xml
   '';
 
-  nativeBuildInputs = [ autoPatchelfHook maven makeWrapper wrapGAppsHook jdk ];
+  nativeBuildInputs = [
+    autoPatchelfHook
+    maven
+    makeWrapper
+    (wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
+    jdk
+  ];
   buildInputs = [ fuse jre glib jffi ];
 
   meta = with lib; {
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index f7c89161495..31e4fa42250 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -806,6 +806,8 @@ mapAliases ({
   mimms = throw "mimms has been removed from nixpkgs as the upstream project is stuck on python2"; # Added 2022-01-01
   minergate-cli = throw "minergatecli has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # Added 2021-08-13
   minergate = throw "minergate has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # Added 2021-08-13
+  minetestclient_4 = throw "minetestclient_4 has been removed from Nixpkgs; current version is available at minetest or minetestclient"; # added 2022-02-01
+  minetestserver_4 = throw "minetestserver_4 has been removed from Nixpkgs; current version is available at minetestserver"; # added 2022-02-01
   minetime = throw "minetime has been removed from nixpkgs, because it was discontinued 2021-06-22"; # Added 2021-10-14
   mist = throw "mist has been removed as the upstream project has been abandoned, see https://github.com/ethereum/mist#mist-browser-deprecated"; # Added 2020-08-15
   mlt-qt5 = throw "'mlt-qt5' has been renamed to/replaced by 'libsForQt5.mlt'"; # Converted to throw 2022-02-22
@@ -896,6 +898,7 @@ mapAliases ({
   OVMF-CSM = throw "OVMF-CSM has been removed in favor of OVMFFull"; # Added 2021-10-16
   OVMF-secureBoot = throw "OVMF-secureBoot has been removed in favor of OVMFFull"; # Added 2021-10-16
   oauth2_proxy = oauth2-proxy; # Added 2021-04-18
+  ocropus = throw "ocropus has been removed: abandoned by upstream"; # Added 2022-04-24
   octoprint-plugins = throw "octoprint-plugins are now part of the octoprint.python.pkgs package set"; # Added 2021-01-24
   ocz-ssd-guru = throw "ocz-ssd-guru has been removed due to there being no source available"; # Added 2021-07-12
   odpdown = throw "odpdown has been removed because it lacks python3 support"; # Added 2022-04-25
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3694d9a9bbd..b7554dda398 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -14334,8 +14334,6 @@ with pkgs;
 
   octavePackages = recurseIntoAttrs octave.pkgs;
 
-  ocropus = callPackage ../applications/misc/ocropus { };
-
   pachyderm = callPackage ../applications/networking/cluster/pachyderm { };
 
 
@@ -17975,6 +17973,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL IOKit;
   };
 
+  irrlichtmt = callPackage ../development/libraries/irrlichtmt {
+    inherit  (darwin.apple_sdk.frameworks) Cocoa Kernel;
+  };
+
   isocodes = callPackage ../development/libraries/iso-codes { };
 
   iso-flags = callPackage ../data/icons/iso-flags { };
@@ -22567,6 +22569,8 @@ with pkgs;
 
   smcroute = callPackage ../servers/smcroute { };
 
+  snipe-it = callPackage ../servers/web-apps/snipe-it { };
+
   sogo = callPackage ../servers/web-apps/sogo { };
 
   spacecookie =
@@ -25606,6 +25610,8 @@ with pkgs;
 
   communi = libsForQt5.callPackage ../applications/networking/irc/communi { };
 
+  communicator = libsForQt5.callPackage ../tools/misc/communicator { };
+
   complete-alias = callPackage ../tools/misc/complete-alias { };
 
   confclerk = callPackage ../applications/misc/confclerk { };
@@ -28217,6 +28223,8 @@ with pkgs;
 
   ncmpcpp = callPackage ../applications/audio/ncmpcpp { };
 
+  maui-nota = libsForQt5.callPackage ../applications/editors/maui-nota { };
+
   pragha = libsForQt5.callPackage ../applications/audio/pragha { };
 
   rofi-mpd = callPackage ../applications/audio/rofi-mpd { };
@@ -30420,6 +30428,8 @@ with pkgs;
     jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   };
 
+  vvave = libsForQt5.callPackage ../applications/video/vvave { };
+
   vwm = callPackage ../applications/window-managers/vwm { };
 
   yeahwm = callPackage ../applications/window-managers/yeahwm { };
@@ -31889,7 +31899,7 @@ with pkgs;
 
   inherit (callPackages ../games/minetest {
     inherit (darwin) libiconv;
-    inherit (darwin.apple_sdk.frameworks) OpenGL OpenAL Carbon Cocoa Kernel;
+    inherit (darwin.apple_sdk.frameworks) OpenGL OpenAL Carbon Cocoa;
   })
     minetestclient_5 minetestserver_5;