summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2022-07-22 00:03:25 +0000
committerGitHub <noreply@github.com>2022-07-22 00:03:25 +0000
commitdf9f22a8b836e783a0826ed629054462c94c41a1 (patch)
tree5704e2bfd9cc1145024bcb59089f775dbba5197b
parent1ad808196d61cfe5e1deca0ce4d724f9ec3ea6aa (diff)
parentd44e369b44cb440f638df6c3b336875c5adc1f5f (diff)
downloadnixpkgs-df9f22a8b836e783a0826ed629054462c94c41a1.tar
nixpkgs-df9f22a8b836e783a0826ed629054462c94c41a1.tar.gz
nixpkgs-df9f22a8b836e783a0826ed629054462c94c41a1.tar.bz2
nixpkgs-df9f22a8b836e783a0826ed629054462c94c41a1.tar.lz
nixpkgs-df9f22a8b836e783a0826ed629054462c94c41a1.tar.xz
nixpkgs-df9f22a8b836e783a0826ed629054462c94c41a1.tar.zst
nixpkgs-df9f22a8b836e783a0826ed629054462c94c41a1.zip
Merge staging-next into staging
-rwxr-xr-xmaintainers/scripts/haskell/hydra-report.hs4
-rw-r--r--nixos/modules/services/games/minecraft-server.nix30
-rw-r--r--nixos/modules/services/network-filesystems/glusterfs.nix3
-rw-r--r--nixos/modules/services/networking/searx.nix8
-rw-r--r--nixos/modules/tasks/lvm.nix6
-rw-r--r--nixos/tests/minecraft-server.nix1
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix6
-rw-r--r--pkgs/applications/networking/taler/default.nix150
-rw-r--r--pkgs/applications/networking/taler/exchange-fix-6665.patch48
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix4
-rw-r--r--pkgs/applications/search/re-isearch/default.nix46
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix6
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/development/haskell-modules/configuration-arm.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml12
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml2
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml4
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix317
-rw-r--r--pkgs/development/haskell-modules/non-hackage-packages.nix4
-rw-r--r--pkgs/development/libraries/cxx-rs/Cargo.lock445
-rw-r--r--pkgs/development/libraries/cxx-rs/default.nix54
-rw-r--r--pkgs/development/libraries/nss/latest.nix4
-rw-r--r--pkgs/development/libraries/science/math/arpack/default.nix4
-rw-r--r--pkgs/development/libraries/wolfssl/default.nix4
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-spanner/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/structlog/default.nix6
-rw-r--r--pkgs/os-specific/linux/kvdo/default.nix2
-rw-r--r--pkgs/os-specific/linux/vdo/default.nix4
-rw-r--r--pkgs/servers/minio/default.nix6
-rwxr-xr-xpkgs/servers/web-apps/lemmy/update.sh4
-rw-r--r--pkgs/tools/security/sequoia/default.nix12
-rw-r--r--pkgs/top-level/all-packages.nix4
38 files changed, 1008 insertions, 231 deletions
diff --git a/maintainers/scripts/haskell/hydra-report.hs b/maintainers/scripts/haskell/hydra-report.hs
index 60b57b97a2b..fe55f13de70 100755
--- a/maintainers/scripts/haskell/hydra-report.hs
+++ b/maintainers/scripts/haskell/hydra-report.hs
@@ -451,8 +451,8 @@ printBuildSummary
       showBuild (name, entry) = printJob id name (summaryBuilds entry, Text.pack (if summaryReverseDeps entry > 0 then " :arrow_heading_up: " <> show (summaryUnbrokenReverseDeps entry) <>" | "<> show (summaryReverseDeps entry) else ""))
       showMaintainedBuild (name, (table, maintainers)) = printJob id name (table, Text.intercalate " " (fmap ("@" <>) (toList maintainers)))
       tldr = case (errors, warnings) of
-               ([],[]) -> [":green_circle: **Ready to merge**"]
-               ([],_) -> [":yellow_circle: **Potential issues**"]
+               ([],[]) -> [":green_circle: **Ready to merge** (if there are no [Evaluation Errors](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates))"]
+               ([],_) -> [":yellow_circle: **Potential issues** (and possibly [Evaluation Errors](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates))"]
                _ -> [":red_circle: **Branch not mergeable**"]
       warnings =
          if' (Unfinished > maybe Success worstState maintainedJob) "`maintained` jobset failed." <>
diff --git a/nixos/modules/services/games/minecraft-server.nix b/nixos/modules/services/games/minecraft-server.nix
index 8233962c1a2..309fe43eaf4 100644
--- a/nixos/modules/services/games/minecraft-server.nix
+++ b/nixos/modules/services/games/minecraft-server.nix
@@ -22,6 +22,15 @@ let
   '' + concatStringsSep "\n" (mapAttrsToList
     (n: v: "${n}=${cfgToString v}") cfg.serverProperties));
 
+  stopScript = pkgs.writeShellScript "minecraft-server-stop" ''
+    echo stop > ${config.systemd.sockets.minecraft-server.socketConfig.ListenFIFO}
+
+    # Wait for the PID of the minecraft server to disappear before
+    # returning, so systemd doesn't attempt to SIGKILL it.
+    while kill -0 "$1" 2> /dev/null; do
+      sleep 1s
+    done
+  '';
 
   # To be able to open the firewall, we need to read out port values in the
   # server properties, but fall back to the defaults when those don't exist.
@@ -172,16 +181,35 @@ in {
     };
     users.groups.minecraft = {};
 
+    systemd.sockets.minecraft-server = {
+      bindsTo = [ "minecraft-server.service" ];
+      socketConfig = {
+        ListenFIFO = "/run/minecraft-server.stdin";
+        SocketMode = "0660";
+        SocketUser = "minecraft";
+        SocketGroup = "minecraft";
+        RemoveOnStop = true;
+        FlushPending = true;
+      };
+    };
+
     systemd.services.minecraft-server = {
       description   = "Minecraft Server Service";
       wantedBy      = [ "multi-user.target" ];
-      after         = [ "network.target" ];
+      requires      = [ "minecraft-server.socket" ];
+      after         = [ "network.target" "minecraft-server.socket" ];
 
       serviceConfig = {
         ExecStart = "${cfg.package}/bin/minecraft-server ${cfg.jvmOpts}";
+        ExecStop = "${stopScript} $MAINPID";
         Restart = "always";
         User = "minecraft";
         WorkingDirectory = cfg.dataDir;
+
+        StandardInput = "socket";
+        StandardOutput = "journal";
+        StandardError = "journal";
+
         # Hardening
         CapabilityBoundingSet = [ "" ];
         DeviceAllow = [ "" ];
diff --git a/nixos/modules/services/network-filesystems/glusterfs.nix b/nixos/modules/services/network-filesystems/glusterfs.nix
index 38be098de5d..aa5dd91d553 100644
--- a/nixos/modules/services/network-filesystems/glusterfs.nix
+++ b/nixos/modules/services/network-filesystems/glusterfs.nix
@@ -159,9 +159,10 @@ in
         install -m 0755 -d /var/log/glusterfs
       ''
       # The copying of hooks is due to upstream bug https://bugzilla.redhat.com/show_bug.cgi?id=1452761
+      # Excludes one hook due to missing SELinux binaries.
       + ''
         mkdir -p /var/lib/glusterd/hooks/
-        ${rsync}/bin/rsync -a ${glusterfs}/var/lib/glusterd/hooks/ /var/lib/glusterd/hooks/
+        ${rsync}/bin/rsync -a --exclude="S10selinux-label-brick.sh" ${glusterfs}/var/lib/glusterd/hooks/ /var/lib/glusterd/hooks/
 
         ${tlsCmd}
       ''
diff --git a/nixos/modules/services/networking/searx.nix b/nixos/modules/services/networking/searx.nix
index b73f255eb9d..10dc27da700 100644
--- a/nixos/modules/services/networking/searx.nix
+++ b/nixos/modules/services/networking/searx.nix
@@ -143,6 +143,7 @@ in
             disable-logging = true;
             http = ":8080";                   # serve via HTTP...
             socket = "/run/searx/searx.sock"; # ...or UNIX socket
+            chmod-socket = "660";             # allow the searx group to read/write to the socket
           }
         '';
         description = ''
@@ -220,7 +221,12 @@ in
         lazy-apps = true;
         enable-threads = true;
         module = "searx.webapp";
-        env = [ "SEARX_SETTINGS_PATH=${cfg.settingsFile}" ];
+        env = [
+          "SEARX_SETTINGS_PATH=${cfg.settingsFile}"
+          # searxng compatiblity https://github.com/searxng/searxng/issues/1519
+          "SEARXNG_SETTINGS_PATH=${cfg.settingsFile}"
+        ];
+        buffer-size = 32768;
         pythonPackages = self: [ cfg.package ];
       } // cfg.uwsgiConfig;
     };
diff --git a/nixos/modules/tasks/lvm.nix b/nixos/modules/tasks/lvm.nix
index 4108b482cce..2f98e3e7da5 100644
--- a/nixos/modules/tasks/lvm.nix
+++ b/nixos/modules/tasks/lvm.nix
@@ -85,13 +85,15 @@ in {
           systemd.initrdBin = lib.mkIf config.boot.initrd.services.lvm.enable [ pkgs.vdo ];
 
           extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable)''
-            ls ${pkgs.vdo}/bin/ | grep -v adaptLVMVDO | while read BIN; do
+            ls ${pkgs.vdo}/bin/ | while read BIN; do
               copy_bin_and_libs ${pkgs.vdo}/bin/$BIN
             done
+            substituteInPlace $out/bin/vdorecover --replace "${pkgs.bash}/bin/bash" "/bin/sh"
+            substituteInPlace $out/bin/adaptLVMVDO.sh --replace "${pkgs.bash}/bin/bash" "/bin/sh"
           '';
 
           extraUtilsCommandsTest = mkIf (!config.boot.initrd.systemd.enable)''
-            ls ${pkgs.vdo}/bin/ | grep -v adaptLVMVDO | while read BIN; do
+            ls ${pkgs.vdo}/bin/ | grep -vE '(adaptLVMVDO|vdorecover)' | while read BIN; do
               $out/bin/$(basename $BIN) --help > /dev/null
             done
           '';
diff --git a/nixos/tests/minecraft-server.nix b/nixos/tests/minecraft-server.nix
index dbe2cd6d56f..a51b36ff530 100644
--- a/nixos/tests/minecraft-server.nix
+++ b/nixos/tests/minecraft-server.nix
@@ -33,5 +33,6 @@ in import ./make-test-python.nix ({ pkgs, ... }: {
     assert "${seed}" in server.succeed(
         "mcrcon -H localhost -P ${toString rcon-port} -p '${rcon-pass}' -c 'seed'"
     )
+    server.succeed("systemctl stop minecraft-server")
   '';
 })
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index 3b88ffb11d8..6b49416173c 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -3,15 +3,15 @@
 , makeWrapper, ncurses, pkg-config, libxml2, sqlite, zlib
 , libpulseaudio, libopus, libogg, jansson, libsodium
 
-, postgresqlSupport ? false, postgresql }:
+, postgresqlSupport ? true, postgresql }:
 
 stdenv.mkDerivation rec {
   pname = "gnunet";
-  version = "0.17.1";
+  version = "0.17.2";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
-    sha256 = "sha256-dd4KcV4+lpKGSD7GrkslqHNlZk1CzftgbfjnRqFfEmU=";
+    sha256 = "sha256-OLE7V44kkKmSInV8ZHJ965eTn995cQf5hih8KUTudUE=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/taler/default.nix b/pkgs/applications/networking/taler/default.nix
index c7ae7e40948..7119b0de4c9 100644
--- a/pkgs/applications/networking/taler/default.nix
+++ b/pkgs/applications/networking/taler/default.nix
@@ -1,58 +1,122 @@
-{ lib, stdenv, fetchurl, curl, gnunet, jansson, libgcrypt, libmicrohttpd
-, qrencode, libsodium, libtool, pkg-config, postgresql, sqlite }:
+{ lib, stdenv, fetchgit, curl, gnunet, jansson, libgcrypt, libmicrohttpd_0_9_72
+, qrencode, libsodium, libtool, libunistring, pkg-config, postgresql
+, autoreconfHook, python39, recutils, wget, jq, gettext, texinfo
+}:
 
 let
-  gnunet' = gnunet.override { postgresqlSupport = true; };
-
-  mkTaler = { pname, version, sha256 }:
-    extraAttrs:
-    stdenv.mkDerivation (extraAttrs // {
-      inherit pname version;
-      src = fetchurl {
-        url = "mirror://gnu/taler/${pname}-${version}.tar.gz";
-        inherit sha256;
-      };
-      enableParallelBuilding = true;
-      meta = with lib; {
-        broken = (stdenv.isLinux && stdenv.isAarch64);
-        description = "Anonymous, taxable payment system.";
-        homepage = "https://taler.net/";
-        license = licenses.agpl3Plus;
-        maintainers = with maintainers; [ ehmry ];
-        platforms = platforms.gnu ++ platforms.linux;
-      };
-    });
+  taler-merchant-backoffice = fetchgit {
+    url = "https://git.taler.net/merchant-backoffice.git";
+    # branch "prebuilt" as of 2022-07-01
+    rev = "1ef7150f32960cb65ebea67839cd5023f29a3d1d";
+    sha256 = "sha256-ZtLYWHi6l5DxFvDm8RFGUD0BiAfJXCZr/ggrP3Uw7/0=";
+  };
 
 in rec {
-
-  taler-exchange = mkTaler {
+  taler-exchange = stdenv.mkDerivation rec {
     pname = "taler-exchange";
-    version = "0.8.1";
-    sha256 = "sha256-MPt3n1JXd0Y89b1qCuF6YxptSr7henfYp97JTq1Z+x4=";
-  } {
+    version = "unstable-2022-07-17";
+
+    src = fetchgit {
+      url = "https://git.taler.net/exchange.git";
+      rev = "93b45e62eef254eae68bc119b9770e97bae2c9fa";
+      fetchSubmodules = true;
+      sha256 = "sha256-BQxbwEf0wIkBOBVsPgMkMvUj4kFReXMUFTiSG0jXOJ0=";
+    };
+
+    nativeBuildInputs = [
+      autoreconfHook
+      pkg-config
+    ];
     buildInputs = [
-      curl
-      jansson
       libgcrypt
-      libmicrohttpd
+      libmicrohttpd_0_9_72
+      jansson
       libsodium
-      libtool
       postgresql
-      # sqlite
+      curl
+      recutils
+      gettext
+      texinfo # Fix 'makeinfo' is missing on your system.
+      libunistring
+      python39.pkgs.jinja2
     ];
-    propagatedBuildInputs = [ gnunet' ];
-    patches = [ ./exchange-fix-6665.patch ];
+    propagatedBuildInputs = [ gnunet ];
+
+    configureFlags = [ "--with-gnunet=${gnunet}" ];
+    preConfigure = ''
+      ./contrib/gana-update.sh
+    '';
+
+    enableParallelBuilding = true;
+
+    checkInputs = [ wget curl ];
+    doInstallCheck = true;
+    checkTarget = "check";
+
+    meta = with lib; {
+      description = ''
+        Taler is an electronic payment system providing the ability to pay
+        anonymously using digital cash.  Taler consists of a network protocol
+        definition (using a RESTful API over HTTP), a Exchange (which creates
+        digital coins), a Wallet (which allows customers to manage, store and
+        spend digital coins), and a Merchant website which allows customers to
+        spend their digital coins.  Naturally, each Merchant is different, but
+        Taler includes code examples to help Merchants integrate Taler as a
+        payment system.
+      '';
+      homepage = "https://taler.net/";
+      license = licenses.agpl3Plus;
+      maintainers = with maintainers; [ astro ];
+      platforms = platforms.linux;
+    };
   };
 
-  taler-merchant = mkTaler {
+  taler-merchant = stdenv.mkDerivation rec {
     pname = "taler-merchant";
-    version = "0.8.0";
-    sha256 = "sha256-scrFLXeoQirGqhc+bSQKRl84PfUvjrp1uxF7pfOIB9Q=";
-  } {
-    nativeBuildInputs = [ pkg-config ];
-    buildInputs = taler-exchange.buildInputs ++ [ qrencode taler-exchange ];
-    propagatedBuildInputs = [ gnunet' ];
-    PKG_CONFIG = "${pkg-config}/bin/pkg-config";
-  };
+    version = "unstable-2022-07-11";
+
+    src = fetchgit {
+      url = "https://git.taler.net/merchant.git";
+      rev = "60dcacf25e51cc2bff359ea1fc86cdd3d9e6083";
+      sha256 = "sha256-Wn11z6YjnylZl3z2JjBlrtZ1KHfQUHLIYWo5F+mAmNo=";
+    };
+    postUnpack = ''
+      ln -s ${taler-merchant-backoffice}/spa.html $sourceRoot/contrib/
+    '';
+
+    nativeBuildInputs = [ pkg-config autoreconfHook ];
+    buildInputs = taler-exchange.buildInputs ++ [
+      qrencode
+      taler-exchange
+      # for ltdl.h
+      libtool
+    ];
+    propagatedBuildInputs = [ gnunet ];
+
+    configureFlags = [
+      "--with-gnunet=${gnunet}"
+      "--with-exchange=${taler-exchange}"
+    ];
 
+    enableParallelBuilding = true;
+
+    checkInputs = [ jq ];
+    doInstallCheck = true;
+    checkTarget = "check";
+
+    meta = with lib; {
+      description = ''
+        This is the GNU Taler merchant backend. It provides the logic that should run
+        at every GNU Taler merchant.  The GNU Taler merchant is a RESTful backend that
+        can be used to setup orders and process payments.  This component allows
+        merchants to receive payments without invading the customers' privacy. Of
+        course, this applies mostly for digital goods, as the merchant does not need
+        to know the customer's physical address.
+      '';
+      homepage = "https://taler.net/";
+      license = licenses.agpl3Plus;
+      maintainers = with maintainers; [ astro ];
+      platforms = platforms.linux;
+    };
+  };
 }
diff --git a/pkgs/applications/networking/taler/exchange-fix-6665.patch b/pkgs/applications/networking/taler/exchange-fix-6665.patch
deleted file mode 100644
index e648123d269..00000000000
--- a/pkgs/applications/networking/taler/exchange-fix-6665.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-commit 9911b327ac299ec7eeae81b98cb520f4153071f2
-Author: Christian Grothoff <christian@grothoff.org>
-Date:   Wed Dec 9 07:25:26 2020 +0100
-
-    fix #6665
-
-diff --git a/src/testing/testing_api_cmd_rewind.c b/src/testing/testing_api_cmd_rewind.c
-index e1b17fa9..979607cd 100644
---- a/src/testing/testing_api_cmd_rewind.c
-+++ b/src/testing/testing_api_cmd_rewind.c
-@@ -24,7 +24,6 @@
-  */
- #include "platform.h"
- #include "taler_exchange_service.h"
--#include "taler/taler_testing_lib.h"
- #include "taler_testing_lib.h"
-
-
-diff --git a/src/testing/testing_api_cmd_twister_exec_client.c b/src/testing/testing_api_cmd_twister_exec_client.c
-index 2cb92a8f..b3903f29 100644
---- a/src/testing/testing_api_cmd_twister_exec_client.c
-+++ b/src/testing/testing_api_cmd_twister_exec_client.c
-@@ -26,7 +26,7 @@
-  */
-
- #include "platform.h"
--#include <taler/taler_testing_lib.h>
-+#include "taler_testing_lib.h"
- #include "taler_twister_testing_lib.h"
-
-
-diff --git a/src/testing/testing_api_trait_uuid.c b/src/testing/testing_api_trait_uuid.c
-index c9b73a5b..4d5003ec 100644
---- a/src/testing/testing_api_trait_uuid.c
-+++ b/src/testing/testing_api_trait_uuid.c
-@@ -22,9 +22,9 @@
-  * @author Jonathan Buchanan
-  */
- #include "platform.h"
--#include <taler/taler_signatures.h>
--#include <taler/taler_exchange_service.h>
--#include <taler/taler_testing_lib.h>
-+#include "taler_signatures.h"
-+#include "taler_exchange_service.h"
-+#include "taler_testing_lib.h"
-
-
- #define TALER_TESTING_TRAIT_UUID "uuid"
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index fc6c9a086a0..269afe283de 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "snakemake";
-  version = "7.8.5";
+  version = "7.9.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-y1rjBp5O0aiVeFlCIw7IK4A3ehOhzy+NKa9/abhFrFo=";
+    hash = "sha256-3kYOo90hr8QRJzwTlmxB1ebcFOcRM4H/+sBYNGdR5WQ=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/search/re-isearch/default.nix b/pkgs/applications/search/re-isearch/default.nix
new file mode 100644
index 00000000000..85f2186efad
--- /dev/null
+++ b/pkgs/applications/search/re-isearch/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchFromGitHub, lib, db, file, libnsl }:
+
+stdenv.mkDerivation rec {
+  pname = "re-Isearch";
+  version = "unstable-2022-03-24";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "e5953ea6c84285283be3689df7065908369cdbaf";
+    sha256 = "sha256-D0PDqlWzIOHqdS2MlNzR2T5cyhiLcFlf30v6eFokoRQ=";
+  };
+
+  buildinputs = [
+    db
+    file # libmagic
+    libnsl
+  ];
+
+  makeFlags = [
+    "CC=g++" "cc=gcc" "LD=g++"
+    "INSTALL=${placeholder "out"}/bin"
+  ];
+
+  preBuild = ''
+    cd build
+    makeFlagsArray+=(
+      EXTRA_INC="-I${db.dev}/include -I${file}/include"
+      LD_PATH="-L../lib -L${db.out}/lib -L${file}/lib -L${libnsl}/lib"
+    )
+  '';
+
+  preInstall = ''
+    mkdir -p $out/{bin,lib}
+  '';
+  postInstall = ''
+    cp ../lib/*.so $out/lib/
+  '';
+
+  meta = with lib; {
+    description = "Novel multimodal search and retrieval engine";
+    homepage = "https://github.com/re-Isearch/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.astro ];
+  };
+}
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
index bd74feb3bcc..411945a45f9 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-vkcapture";
-  version = "1.1.3";
+  version = "1.1.4";
 
   src = fetchFromGitHub {
     owner = "nowrep";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-iIV9ke2yPEt2Lf4bwiEHFip4tLhMS4raWGyCWpao74w=";
+    hash = "sha256-jY78+sfAd62YnCssosLOLfxmdL6zkTEoeE58bQpswG4=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/nowrep/obs-vkcapture";
     maintainers = with maintainers; [ atila ];
     license = licenses.gpl2Only;
-    platforms = [ "x86_64-linux" "i686-linux" ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index 758f0cbec59..958478e8683 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "ed7ce097be7422b359f02c2dc7e829abbdb9a6e8",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/ed7ce097be7422b359f02c2dc7e829abbdb9a6e8.tar.gz",
-  "sha256": "09sz6m2mhb16n5xrp6k96ng2mjb1zsnpw0qxdlbgca1l8ad1pdha",
-  "msg": "Update from Hackage at 2022-07-17T05:56:49Z"
+  "commit": "f254a995da2ac1341f05d921778c064b49a5fcb2",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/f254a995da2ac1341f05d921778c064b49a5fcb2.tar.gz",
+  "sha256": "136liqr85agwz0byvlp31r7in1nx28lm5y9kk7qy2jamspyf52hy",
+  "msg": "Update from Hackage at 2022-07-18T21:55:34Z"
 }
diff --git a/pkgs/development/haskell-modules/configuration-arm.nix b/pkgs/development/haskell-modules/configuration-arm.nix
index c7bbe3c6137..2da11c87f81 100644
--- a/pkgs/development/haskell-modules/configuration-arm.nix
+++ b/pkgs/development/haskell-modules/configuration-arm.nix
@@ -116,4 +116,7 @@ self: super: {
 } // lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch32 {
   # AARCH32-SPECIFIC OVERRIDES
 
+  # KAT/ECB/D2 test segfaults on armv7l
+  # https://github.com/haskell-crypto/cryptonite/issues/367
+  cryptonite = dontCheck super.cryptonite;
 }
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index b141152f7f1..02cd5717743 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -447,6 +447,7 @@ broken-packages:
   - bogocopy
   - bolt
   - boltzmann-brain
+  - bookhound
   - bookkeeper
   - boolean-normal-forms
   - boolexpr
@@ -501,6 +502,7 @@ broken-packages:
   - buttplug-hs-core
   - bv-little
   - byline
+  - by-other-names
   - bytearray-parsing
   - bytestring-aeson-orphans
   - bytestring-arbitrary
@@ -688,7 +690,13 @@ broken-packages:
   - clanki
   - clarifai
   - CLASE
+  - clashilator
+  - clash-multisignal
+  - clash-prelude-quickcheck
   - Clash-Royale-Hack-Cheats
+  - clash-systemverilog
+  - clash-verilog
+  - clash-vhdl
   - ClassLaws
   - classy-influxdb-simple
   - classy-parallel
@@ -1707,6 +1715,7 @@ broken-packages:
   - ghc-parmake
   - ghc-pkg-autofix
   - ghc-pkg-lib
+  - ghc-plugin-non-empty
   - ghc-plugs-out
   - ghc-prof
   - ghc-proofs
@@ -2777,7 +2786,6 @@ broken-packages:
   - json-ast-quickcheck
   - JSONb
   - json-builder
-  - json-directory
   - json-encoder
   - jsonextfilter
   - json-extra
@@ -3040,6 +3048,7 @@ broken-packages:
   - linux-kmod
   - linux-perf
   - linx-gateway
+  - lion
   - lipsum-gen
   - liquid
   - liquidhaskell-cabal
@@ -3314,7 +3323,6 @@ broken-packages:
   - MonadCatchIO-transformers
   - monad-choice
   - MonadCompose
-  - monad-control-identity
   - monad-fork
   - monad-http
   - monadiccp
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index 3e3a8172d1a..a79e0940371 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -85,8 +85,6 @@ default-package-overrides:
   - http-client-restricted < 0.0.5
   # Needs dhall 1.41.*, Stackage LTS 19 has 1.40
   - dhall-nix < 1.1.24
-  # Temporarily forbid distribution-nixpkgs updates until cabal2nix supports the new version
-  - distribution-nixpkgs < 1.7.0
   # patch is primarily used by reflex packages not all of which are patch 0.0.7 compatible yet
   - patch < 0.0.7
   - reflex < 0.8.2.1
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index fbd9eaa389c..b7b512edeab 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -830,6 +830,7 @@ dont-distribute-packages:
  - bond
  - bond-haskell
  - bond-haskell-compiler
+ - bookhound-format
  - bookkeeper-permissions
  - boomslang
  - boopadoop
@@ -3310,6 +3311,7 @@ dont-distribute-packages:
  - regex-genex
  - regex-pcre-text
  - regex-pderiv
+ - regex-tdfa_1_3_2
  - regex-xmlschema
  - regexchar
  - regexp-tries
@@ -3518,6 +3520,8 @@ dont-distribute-packages:
  - servant-jsonrpc-client
  - servant-jsonrpc-server
  - servant-matrix-param
+ - servant-oauth2
+ - servant-oauth2-examples
  - servant-polysemy
  - servant-postgresql
  - servant-pushbullet-client
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index e1f5638b58a..8f2872558e7 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -12017,6 +12017,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "JuicyPixels_3_3_8" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq, mtl
+     , primitive, transformers, vector, zlib
+     }:
+     mkDerivation {
+       pname = "JuicyPixels";
+       version = "3.3.8";
+       sha256 = "0gmndzcbqys34sf6y8db13r5gaqa1cp9zxyb4vav788m6p5gd86k";
+       libraryHaskellDepends = [
+         base binary bytestring containers deepseq mtl primitive
+         transformers vector zlib
+       ];
+       description = "Picture loading/serialization (in png, jpeg, bitmap, gif, tga, tiff and radiance)";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "JuicyPixels-blp" = callPackage
     ({ mkDerivation, attoparsec, base, binary, bytestring, directory
      , filepath, hashable, JuicyPixels, optparse-simple, text-show
@@ -21621,8 +21638,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "WeakSets";
-       version = "0.4.0.0";
-       sha256 = "0nldjwm25kc7l0vfbh89qgxhd87273982g7d38qad67av6wgjghw";
+       version = "1.0.0.0";
+       sha256 = "0k4bg9shg8vklqhcd8ms9bpciwf4q1mip5m2agz3qj4056mrnjp9";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "Simple set types. Useful to create sets of arbitrary types and nested sets.";
@@ -33095,8 +33112,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "applicable";
-       version = "0.4.0.0";
-       sha256 = "0gyj204svcscigrar6n349hr76gna5x8zbh6f0f6n2la4q8r88ak";
+       version = "0.4.1.0";
+       sha256 = "0bkcwrxz313825vvm0yspj7vw2zmky8g2vq1yb9s8wgxzm4b7m8n";
        libraryHaskellDepends = [ base ];
        description = "A class for things that can be applied";
        license = lib.licenses.mit;
@@ -41923,8 +41940,8 @@ self: {
      }:
      mkDerivation {
        pname = "betris";
-       version = "0.2.1.0";
-       sha256 = "1vpj20hvr2nf3i8a2ijlxmfa1zqv3xwfp8krz4zjznhgjrb1nfpj";
+       version = "0.2.2.0";
+       sha256 = "0ch0gm2fpzga0mqc8n8hdhs5qjfrcm5jxcyqgskwgq1y5jf60ifl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -47063,14 +47080,28 @@ self: {
      }) {};
 
   "bookhound" = callPackage
-    ({ mkDerivation, base, containers, time }:
+    ({ mkDerivation, base, containers, text, time }:
      mkDerivation {
        pname = "bookhound";
-       version = "0.1.9.0";
-       sha256 = "0iv1iscz9p9z53x4v1xcplyc6j7cclgmhk5yn7ryc8jxz2ds1ic4";
-       libraryHaskellDepends = [ base containers time ];
-       description = "Simple Parser Combinators & Parsers";
+       version = "0.1.11.0";
+       sha256 = "0nqjxz92vjg767p7bzvm5gi912qr1xswsnv5z8wvdzvsw341wbxx";
+       libraryHaskellDepends = [ base containers text time ];
+       description = "Simple Parser Combinators";
+       license = "LGPL";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "bookhound-format" = callPackage
+    ({ mkDerivation, base, bookhound, containers, text, time }:
+     mkDerivation {
+       pname = "bookhound-format";
+       version = "0.1.0.0";
+       sha256 = "1zjivsd13bc3l63d8y5zyi8fvyiv2sykjrdn2l1f946r5hmrarfn";
+       libraryHaskellDepends = [ base bookhound containers text time ];
+       description = "Parsers for usual data formats";
        license = "LGPL";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bookkeeper" = callPackage
@@ -49746,6 +49777,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "by-other-names" = callPackage
+    ({ mkDerivation, aeson, base, doctest, indexed-traversable, tasty
+     , tasty-hunit, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "by-other-names";
+       version = "1.2.0.0";
+       sha256 = "1272d888x7x38nw0ffqjin8c1x5da59a5rwcy2r4znc2d9plij6z";
+       libraryHaskellDepends = [
+         aeson base indexed-traversable template-haskell text
+       ];
+       testHaskellDepends = [ aeson base doctest tasty tasty-hunit ];
+       description = "Give aliases to record fields";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "byline" = callPackage
     ({ mkDerivation, ansi-terminal, attoparsec, base, colour
      , exceptions, free, haskeline, mtl, optparse-applicative, relude
@@ -52222,10 +52271,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal2nix";
-       version = "2.18.0";
-       sha256 = "11hzic1l7amd2hwqwgfmy2r855z9w0m2rvvx7r52x347q0nn142b";
-       revision = "1";
-       editedCabalFile = "0j682816qdxaqm56bqjigjg0c0nl4jf68fg01f73xhbr486lzvga";
+       version = "2.19.0";
+       sha256 = "1cmx8vas9fryr8sd5a485aa43rdx60l3fbrk1kppwx4s9jw9hq65";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -58670,6 +58717,8 @@ self: {
          base clash-prelude deepseq ghc-typelits-knownnat QuickCheck
        ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "clash-prelude" = callPackage
@@ -58736,6 +58785,8 @@ self: {
        libraryHaskellDepends = [ base clash-prelude QuickCheck ];
        description = "QuickCheck instances for various types in the CλaSH Prelude";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "clash-shake" = callPackage
@@ -58770,6 +58821,8 @@ self: {
        ];
        description = "CAES Language for Synchronous Hardware - SystemVerilog backend";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "clash-verilog" = callPackage
@@ -58787,6 +58840,8 @@ self: {
        ];
        description = "CAES Language for Synchronous Hardware - Verilog backend";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "clash-vhdl" = callPackage
@@ -58804,6 +58859,8 @@ self: {
        ];
        description = "CAES Language for Synchronous Hardware - VHDL backend";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "clashilator" = callPackage
@@ -58827,7 +58884,9 @@ self: {
        ];
        description = "Automated Clash to Verilator bridge";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "clashilator";
+       broken = true;
      }) {};
 
   "classify" = callPackage
@@ -59554,6 +59613,8 @@ self: {
        pname = "cli-extras";
        version = "0.1.0.2";
        sha256 = "1qcvphbimcclvy7qkqrz9djg4650axwqjfyq6nlbvmpivh14m9vq";
+       revision = "1";
+       editedCabalFile = "1zf7win72j7gmr8srvmn8y23636z5ga817cg3lkfsm5mwhi9k0zw";
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring containers exceptions
          io-streams lens logging-effect monad-logger monad-loops mtl process
@@ -70189,6 +70250,8 @@ self: {
        pname = "crypto-rng-effectful";
        version = "1.0.0.0";
        sha256 = "185ax4v4bfg944igscjg0vb0p15af4vwqdfn239x6xayfgy4xzl0";
+       revision = "1";
+       editedCabalFile = "1sdjafzvfz6jz0d217l3cr8z1x0fz6fhqm5igly3riwiww4zh4dj";
        libraryHaskellDepends = [
          base bytestring crypto-rng effectful-core random
        ];
@@ -77692,15 +77755,16 @@ self: {
      }) {};
 
   "deriving-trans" = callPackage
-    ({ mkDerivation, base, monad-control, mtl, transformers
-     , transformers-base
+    ({ mkDerivation, base, monad-control, monad-control-identity, mtl
+     , transformers, transformers-base
      }:
      mkDerivation {
        pname = "deriving-trans";
-       version = "0.3.2.0";
-       sha256 = "0w13274j1qn6qdx9kmd01qbcwhnpvqn4rvrnpv60gwqfi4hwgcqs";
+       version = "0.4.0.0";
+       sha256 = "1d7p7np8jadiynih2a271q67hxbd352lvf4pzspd4nvr6npa1ipc";
        libraryHaskellDepends = [
-         base monad-control mtl transformers transformers-base
+         base monad-control monad-control-identity mtl transformers
+         transformers-base
        ];
        description = "Derive instances for monad transformer stacks";
        license = lib.licenses.bsd3;
@@ -82274,25 +82338,6 @@ self: {
 
   "distribution-nixpkgs" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, containers
-     , deepseq, hspec, language-nix, lens, pretty, process, split
-     }:
-     mkDerivation {
-       pname = "distribution-nixpkgs";
-       version = "1.6.2";
-       sha256 = "0kq4pf5dalifxd8qxz75fazfjspn36q0cmp8d1jd7w9zlzc3c4dz";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring Cabal containers deepseq language-nix lens
-         pretty process split
-       ];
-       testHaskellDepends = [ base deepseq hspec lens ];
-       description = "Types and functions to manipulate the Nixpkgs distribution";
-       license = lib.licenses.bsd3;
-       maintainers = [ lib.maintainers.peti ];
-     }) {};
-
-  "distribution-nixpkgs_1_7_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
      , deepseq, directory, hspec, language-nix, lens, pretty, process
      }:
      mkDerivation {
@@ -82309,7 +82354,6 @@ self: {
        ];
        description = "Types and functions to manipulate the Nixpkgs distribution";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.peti ];
      }) {};
 
@@ -100913,22 +100957,31 @@ self: {
     ({ mkDerivation, aeson, base, binary, bytestring, containers
      , directory, either, filepath, fortran-src, GenericPretty, hspec
      , hspec-discover, optparse-applicative, silently, text, uniplate
+     , yaml
      }:
      mkDerivation {
        pname = "fortran-src-extras";
-       version = "0.3.0";
-       sha256 = "0wlaqkc4gvndvir5ghg5jbmj528am0iw5cgl7rk6zvkprpjd2n48";
+       version = "0.3.1";
+       sha256 = "1n4w5qs93pahdnmfc30r5nmfn7zq6sxmb80f2bnl1zws3xcr30v7";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          aeson base binary bytestring containers directory either filepath
          fortran-src GenericPretty optparse-applicative text uniplate
        ];
+       executableHaskellDepends = [
+         aeson base bytestring containers fortran-src GenericPretty
+         optparse-applicative text uniplate yaml
+       ];
        testHaskellDepends = [
-         base either fortran-src hspec silently uniplate
+         aeson base bytestring containers fortran-src GenericPretty hspec
+         optparse-applicative silently text uniplate
        ];
        testToolDepends = [ hspec-discover ];
        description = "Common functions and utils for fortran-src";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
+       mainProgram = "fortran-src-extras";
        broken = true;
      }) {};
 
@@ -108665,6 +108718,20 @@ self: {
        broken = true;
      }) {};
 
+  "ghc-plugin-non-empty" = callPackage
+    ({ mkDerivation, base, ghc, hspec, syb }:
+     mkDerivation {
+       pname = "ghc-plugin-non-empty";
+       version = "0.0.0.0";
+       sha256 = "1z959hdi193rfn4nsrp10dq4xp8dbbv0k8awa93yflwr0paphqwb";
+       libraryHaskellDepends = [ base ghc syb ];
+       testHaskellDepends = [ base hspec ];
+       description = "GHC Plugin for non-empty lists";
+       license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "ghc-plugs-out" = callPackage
     ({ mkDerivation, base, ghc, ghc-corroborate, th-printf }:
      mkDerivation {
@@ -123076,8 +123143,8 @@ self: {
        pname = "hal";
        version = "0.4.10.1";
        sha256 = "1mxlyx0zxvklrybasx8p6di72aw431mbbyj06pb91570j9c46fp0";
-       revision = "1";
-       editedCabalFile = "1y26hf8paym4yj34zvi2d2faji8mvw4g4zl17ii9jfwldfqd0r19";
+       revision = "2";
+       editedCabalFile = "143z15p6skr333f1vazhy5hn7rirpkn8zdfh3fzhz311ws7m7lg8";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive conduit
          conduit-extra containers envy exceptions hashable http-client
@@ -123103,8 +123170,8 @@ self: {
        pname = "hal";
        version = "1.0.0";
        sha256 = "0mfdxjlypb1sj2kcsqks6anh80xy1azcg9lvlpkgz7dgdpjfygaq";
-       revision = "1";
-       editedCabalFile = "0chjhs3vnzmlwhjlkg24vnpx4baavkj42ldbz25li1r24naw5bsd";
+       revision = "2";
+       editedCabalFile = "0hc2b8bdsbd1q1j7d8l64d51q3apsmsfs1blzw0fg3cjzd4v2slc";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive conduit
          conduit-extra containers exceptions hashable http-client http-types
@@ -138948,10 +139015,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlrdb-core";
-       version = "0.1.6.2";
-       sha256 = "19pnwjlcg504kpvxq8r1hwb533adi2d919vgb1lr25c9bdyxc32n";
-       revision = "2";
-       editedCabalFile = "1iqbd10hym2xh2ydslqpd4gvr6d4k06vmi4bj7d3xw8y4x9fmzaq";
+       version = "0.2.0.0";
+       sha256 = "0hkjll4v4kxc133b19kk9k4dkrbag6qdw24gwrhikrxlk666jsbl";
        libraryHaskellDepends = [
          base bytestring hashable hedis lens mtl profunctors random time
          unordered-containers
@@ -148560,8 +148625,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-webdriver";
-       version = "1.2.0";
-       sha256 = "1j450cxdapc1432w2bl9fnnkyf9vwl7zcq08n7ff68bzvqcgil05";
+       version = "1.2.1";
+       sha256 = "1cch0jzl2dmd7c45z9j1kl6bv0qzydwcvdfkfkvv8s0x9p11k4g4";
        libraryHaskellDepends = [
          aeson base data-default hashable hspec hspec-core HUnit lifted-base
          stm text transformers unordered-containers webdriver
@@ -159367,12 +159432,17 @@ self: {
      }:
      mkDerivation {
        pname = "interval-algebra";
-       version = "2.0.2";
-       sha256 = "1fsz0grgk4iq457zqvhnsqbrphgg62d46h5rzxffmy5zlvpzhq8g";
+       version = "2.1.0";
+       sha256 = "094yr4vkki9ah9f627ds8bj1q8ql9mhgd49dkf9bydf9g7l5fhaj";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          base binary containers deepseq foldl nonempty-containers
          prettyprinter QuickCheck safe text time witch witherable
        ];
+       executableHaskellDepends = [
+         base containers prettyprinter time witch
+       ];
        testHaskellDepends = [
          base containers hspec QuickCheck safe time witherable
        ];
@@ -159380,6 +159450,7 @@ self: {
        description = "An implementation of Allen's interval algebra for temporal logic";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       mainProgram = "tutorial";
        broken = true;
      }) {};
 
@@ -163876,9 +163947,7 @@ self: {
        ];
        description = "Load JSON from files in a directory structure";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "jsondir";
-       broken = true;
      }) {};
 
   "json-encoder" = callPackage
@@ -166311,8 +166380,8 @@ self: {
      }:
      mkDerivation {
        pname = "kdt";
-       version = "0.2.4";
-       sha256 = "16lz8zwv964izdbrdm8b2g8p1qdb4yv4f7qpfdi4c0fbq2d8y3xw";
+       version = "0.2.5";
+       sha256 = "0sb4vmljkvw4hx3fi7xxyc6wc8vmnpgaj38m3jlbyv22qjp1qf3a";
        libraryHaskellDepends = [ base deepseq deepseq-generics heap ];
        testHaskellDepends = [ base deepseq deepseq-generics QuickCheck ];
        benchmarkHaskellDepends = [
@@ -176464,6 +176533,8 @@ self: {
        ];
        description = "RISC-V Core";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lipsum-gen" = callPackage
@@ -189899,8 +189970,6 @@ self: {
        ];
        description = "Stronger classes than monad-control";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "monad-coroutine" = callPackage
@@ -207338,8 +207407,8 @@ self: {
      }:
      mkDerivation {
        pname = "org-mode-lucid";
-       version = "1.6.2";
-       sha256 = "0qz8s63m2l0aff23fgdn97xxswbn3ah3m4rx9snfi5cscsrzsb8h";
+       version = "1.6.3";
+       sha256 = "0gn5cm9kjx1dpnp311q5hyw6fqyr4l4dvk7cnmwv6r39vyjxy4lc";
        libraryHaskellDepends = [
          base containers hashable lucid org-mode text
        ];
@@ -225435,8 +225504,10 @@ self: {
      }:
      mkDerivation {
        pname = "prob-fx";
-       version = "0.1.0.1";
-       sha256 = "0076c70gsk1ih4hjc7f9r5da2yhiplrggk9by6ffzf3jhbc7afpb";
+       version = "0.1.0.2";
+       sha256 = "1p85fzb0zp0jwvkar41wqag9kyz3aj6zdrs2cca0zaxzrj1ysck9";
+       revision = "1";
+       editedCabalFile = "0cvhxvnmap12ya42hqnqa40hj1d101yhz9bnamda6gsgmdi5gy14";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -225448,7 +225519,7 @@ self: {
        description = "A library for modular probabilistic modelling";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       mainProgram = "examples";
+       mainProgram = "prob-fx";
        broken = true;
      }) {};
 
@@ -229495,6 +229566,23 @@ self: {
        license = lib.licenses.publicDomain;
      }) {};
 
+  "qm-interpolated-string_0_3_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, haskell-src-meta, hspec
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "qm-interpolated-string";
+       version = "0.3.1.0";
+       sha256 = "12jxkkbpmkdrjrkj242z6l4vhbgwj79b8s5l3gxs9fbg4s4pqp2k";
+       libraryHaskellDepends = [
+         base bytestring haskell-src-meta template-haskell text
+       ];
+       testHaskellDepends = [ base hspec ];
+       description = "Implementation of interpolated multiline strings";
+       license = lib.licenses.publicDomain;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "qnap-decrypt" = callPackage
     ({ mkDerivation, base, binary, bytestring, cipher-aes128, conduit
      , conduit-extra, crypto-api, directory, filepath, hspec, HUnit
@@ -236923,20 +237011,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "regex-tdfa_1_3_1_3" = callPackage
+  "regex-tdfa_1_3_2" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, directory
-     , filepath, mtl, parsec, regex-base, text, utf8-string
+     , doctest-parallel, filepath, mtl, parsec, regex-base, text
+     , utf8-string
      }:
      mkDerivation {
        pname = "regex-tdfa";
-       version = "1.3.1.3";
-       sha256 = "15yibl968p83badx661gagg43hdqr5ms9nvbvhq2hsx6ac8bpm6z";
+       version = "1.3.2";
+       sha256 = "1lfzhir5zbgga44zhr4qvc2xc9pa9lslv12c8lwqqw80bzfdfq16";
        libraryHaskellDepends = [
          array base bytestring containers mtl parsec regex-base text
        ];
        testHaskellDepends = [
-         array base bytestring containers directory filepath mtl regex-base
-         text utf8-string
+         array base bytestring containers directory doctest-parallel
+         filepath mtl regex-base text utf8-string
        ];
        description = "Pure Haskell Tagged DFA Backend for \"Text.Regex\" (regex-base)";
        license = lib.licenses.bsd3;
@@ -239518,6 +239607,8 @@ self: {
        pname = "resourcet-effectful";
        version = "1.0.0.0";
        sha256 = "0446j4ihj3fn6lkqi2b1642ak27l6cpwfv4b73gpanq3nad69fzg";
+       revision = "1";
+       editedCabalFile = "0dy1lljcvva754dk7nbs6jp5h1b532dmndxy43z3k7rpadvh0dxj";
        libraryHaskellDepends = [ base effectful-core resourcet ];
        description = "Adaptation of the resourcet library for the effectful ecosystem";
        license = lib.licenses.bsd3;
@@ -248450,15 +248541,15 @@ self: {
 
   "semantic-source" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, deepseq
-     , hashable, hedgehog, lingo, pathtype, semilattices, tasty
-     , tasty-hedgehog, tasty-hunit, text
+     , hashable, hedgehog, lingo, semilattices, tasty, tasty-hedgehog
+     , tasty-hunit, text
      }:
      mkDerivation {
        pname = "semantic-source";
-       version = "0.1.0.2";
-       sha256 = "09p840kc620pxp0x5fqvjh2ixkk581yn6frb2yd522p6nkdvi5wr";
+       version = "0.2.0.0";
+       sha256 = "0m7y7ggfs1szmhn1q3814aq05la0wcwym8rj1hzz4ssibk486b5n";
        libraryHaskellDepends = [
-         aeson base bytestring containers deepseq hashable lingo pathtype
+         aeson base bytestring containers deepseq hashable lingo
          semilattices text
        ];
        testHaskellDepends = [
@@ -249799,8 +249890,8 @@ self: {
        pname = "servant-auth-swagger";
        version = "0.2.10.1";
        sha256 = "029nvb4wxwl98ah26bgcq1b7izrnvssxwn1682liimvsh4a8bady";
-       revision = "6";
-       editedCabalFile = "0cnzwpag9cxkd1fljr7vlsmlv0idm4damgvkjrc4yqgpqqnm93zs";
+       revision = "7";
+       editedCabalFile = "0qkcjp621a8vysswm5hn5zgmqgmmm9pcs7aiyax7wij25yjmv3p6";
        libraryHaskellDepends = [
          base lens servant servant-auth servant-swagger swagger2 text
        ];
@@ -251168,6 +251259,58 @@ self: {
        broken = true;
      }) {};
 
+  "servant-oauth2" = callPackage
+    ({ mkDerivation, base, base64-bytestring, binary, bytestring
+     , clientsession, cookie, exceptions, hoauth2, http-types, mtl
+     , servant, servant-blaze, servant-server, shakespeare, text
+     , tomland, unordered-containers, uri-bytestring, wai
+     , wai-middleware-auth, warp
+     }:
+     mkDerivation {
+       pname = "servant-oauth2";
+       version = "0.1.0.1";
+       sha256 = "0dyijcgla5rswdmfk02jcrk5ii5vdl0pfc5aq943vpy7wv2rlxcs";
+       libraryHaskellDepends = [
+         base base64-bytestring binary bytestring clientsession cookie
+         exceptions hoauth2 http-types mtl servant servant-blaze
+         servant-server shakespeare text tomland unordered-containers
+         uri-bytestring wai wai-middleware-auth warp
+       ];
+       description = "A library for OAuth2 authentication in servant";
+       license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "servant-oauth2-examples" = callPackage
+    ({ mkDerivation, base, base64-bytestring, binary, bytestring
+     , clientsession, cookie, hoauth2, http-types, mtl, servant
+     , servant-blaze, servant-oauth2, servant-server, shakespeare, text
+     , tomland, unordered-containers, uri-bytestring, wai
+     , wai-middleware-auth, warp
+     }:
+     mkDerivation {
+       pname = "servant-oauth2-examples";
+       version = "0.1.0.1";
+       sha256 = "167zpiwnjgka4w3pznpf53fkivdilxfwbhgda2ihbb8jqndzjmz2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base base64-bytestring binary bytestring clientsession cookie
+         hoauth2 http-types mtl servant servant-blaze servant-oauth2
+         servant-server shakespeare text tomland unordered-containers
+         uri-bytestring wai wai-middleware-auth warp
+       ];
+       executableHaskellDepends = [
+         base base64-bytestring binary bytestring clientsession cookie
+         hoauth2 http-types mtl servant servant-blaze servant-oauth2
+         servant-server shakespeare text tomland unordered-containers
+         uri-bytestring wai wai-middleware-auth warp
+       ];
+       description = "Example applications using this library in three ways";
+       license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-openapi3" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
      , Cabal, cabal-doctest, directory, doctest, filepath, hspec
@@ -256749,6 +256892,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "simplex-method" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "simplex-method";
+       version = "0.1.0.0";
+       sha256 = "0c1w1b6gxp4kg0jl8shjwz9yd27wlgwfmnxwz3vdwlcgghsdqqbm";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       description = "Implementation of the two-phase simplex method in exact rational arithmetic";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "simplexmq" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, asn1-encoding, asn1-types
      , async, attoparsec, base, base64-bytestring, bytestring
@@ -306716,8 +306871,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.44";
-       sha256 = "0zjsym9ldj1rslci787br7vwgqnd7z5s55yclfxi2r8gibq3f2ha";
+       version = "0.44.1";
+       sha256 = "1msgbxmv83g4zn5srnr7b5m9qk962pc24w62k83m7316yv9p0xa2";
        configureFlags = [
          "-fwith_alsa" "-fwith_conduit" "-fwith_datezone" "-fwith_dbus"
          "-fwith_inotify" "-fwith_iwlib" "-fwith_mpd" "-fwith_mpris"
diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix
index e3b21514831..beb81a58d86 100644
--- a/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -13,9 +13,7 @@ self: super: {
 
   # Used by maintainers/scripts/regenerate-hackage-packages.sh, and generated
   # from the latest master instead of the current version on Hackage.
-  cabal2nix-unstable = self.callPackage ./cabal2nix-unstable.nix {
-    distribution-nixpkgs = self.distribution-nixpkgs_1_7_0;
-  };
+  cabal2nix-unstable = self.callPackage ./cabal2nix-unstable.nix { };
 
   # https://github.com/channable/vaultenv/issues/1
   vaultenv = self.callPackage ../tools/haskell/vaultenv { };
diff --git a/pkgs/development/libraries/cxx-rs/Cargo.lock b/pkgs/development/libraries/cxx-rs/Cargo.lock
new file mode 100644
index 00000000000..6714e2f8a47
--- /dev/null
+++ b/pkgs/development/libraries/cxx-rs/Cargo.lock
@@ -0,0 +1,445 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "cc"
+version = "1.0.73"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+dependencies = [
+ "jobserver",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "clang-ast"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9c380e0de48337007dfc91b09eb75f567f5f08209437857fbaabbaf2e77e830"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "clap"
+version = "3.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54635806b078b7925d6e36810b1755f2a4b5b4d57560432c1ecf60bcbe10602b"
+dependencies = [
+ "bitflags",
+ "clap_lex",
+ "indexmap",
+ "strsim",
+ "textwrap",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "codespan-reporting"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+dependencies = [
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "cxx"
+version = "1.0.72"
+dependencies = [
+ "cc",
+ "cxx-build",
+ "cxx-gen",
+ "cxx-test-suite",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "link-cplusplus",
+ "rustversion",
+ "trybuild",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.72"
+dependencies = [
+ "cc",
+ "codespan-reporting",
+ "cxx-gen",
+ "once_cell",
+ "pkg-config",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn",
+]
+
+[[package]]
+name = "cxx-gen"
+version = "0.7.72"
+dependencies = [
+ "codespan-reporting",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "cxx-test-suite"
+version = "0.0.0"
+dependencies = [
+ "cxx",
+ "cxx-build",
+ "cxxbridge-flags",
+]
+
+[[package]]
+name = "cxxbridge-cmd"
+version = "1.0.72"
+dependencies = [
+ "clap",
+ "codespan-reporting",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.72"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.72"
+dependencies = [
+ "clang-ast",
+ "cxx",
+ "flate2",
+ "memmap",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "syn",
+]
+
+[[package]]
+name = "demo"
+version = "0.0.0"
+dependencies = [
+ "cxx",
+ "cxx-build",
+]
+
+[[package]]
+name = "dissimilar"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c97b9233581d84b8e1e689cdd3a47b6f69770084fc246e86a7f78b0d9c1d4a5"
+
+[[package]]
+name = "flate2"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "indexmap"
+version = "1.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
+
+[[package]]
+name = "jobserver"
+version = "0.1.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.126"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+
+[[package]]
+name = "link-cplusplus"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8cae2cd7ba2f3f63938b9c724475dfb7b9861b545a90324476324ed21dbc8c8"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "memmap"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "648001efe5d5c0102d8cea768e348da85d90af8ba91f0bea908f157951493cd4"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24c8ad4f0c00e1eb5bc7614d236a7f1300e3dbd76b68cac8e06fb00b015ad8d8"
+
+[[package]]
+name = "ryu"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
+
+[[package]]
+name = "scratch"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96311ef4a16462c757bb6a39152c40f58f31cd2602a40fceb937e2bc34e6cbab"
+
+[[package]]
+name = "serde"
+version = "1.0.140"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc855a42c7967b7c369eb5860f7164ef1f6f81c20c7cc1141f2a604e18723b03"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.140"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f2122636b9fe3b81f1cb25099fcf2d3f542cdb1d45940d56c713158884a05da"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "syn"
+version = "1.0.98"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb"
+
+[[package]]
+name = "toml"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "trybuild"
+version = "1.0.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "764b9e244b482a9b81bde596aa37aa6f1347bf8007adab25e59f901b32b4e0a0"
+dependencies = [
+ "dissimilar",
+ "glob",
+ "once_cell",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "termcolor",
+ "toml",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/pkgs/development/libraries/cxx-rs/default.nix b/pkgs/development/libraries/cxx-rs/default.nix
new file mode 100644
index 00000000000..4294cdd646f
--- /dev/null
+++ b/pkgs/development/libraries/cxx-rs/default.nix
@@ -0,0 +1,54 @@
+{ cxx-rs, fetchFromGitHub, lib, rustPlatform, testers }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cxx-rs";
+  version = "1.0.72";
+
+  src = fetchFromGitHub {
+    owner = "dtolnay";
+    repo = "cxx";
+    rev = version;
+    sha256 = "sha256-+OumeLSgz8kLQKhEc3icCk1q+X+S7Xt+XtAlkx8iguU=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+  };
+
+  postPatch = ''
+    cp ${./Cargo.lock} Cargo.lock
+  '';
+
+  cargoBuildFlags = [
+    "--workspace"
+    "--exclude=demo"
+  ];
+
+  postBuild = ''
+    cargo doc --release
+  '';
+
+  cargoTestFlags = [ "--workspace" ];
+
+  outputs = [ "out" "doc" "dev" ];
+
+  postInstall = ''
+    mkdir -p $doc
+    cp -r ./target/doc/* $doc
+
+    mkdir -p $dev/include/rust
+    install -D -m 0644 ./include/cxx.h $dev/include/rust
+  '';
+
+  passthru.tests.version = testers.testVersion {
+    package = cxx-rs;
+    command = "cxxbridge --version";
+  };
+
+  meta = with lib; {
+    description = "Safe FFI between Rust and C++";
+    homepage = "https://github.com/dtolnay/cxx";
+    license = licenses.mit;
+    maintainers = with maintainers; [ centromere ];
+  };
+}
diff --git a/pkgs/development/libraries/nss/latest.nix b/pkgs/development/libraries/nss/latest.nix
index 40f88afed29..4a793bd7cec 100644
--- a/pkgs/development/libraries/nss/latest.nix
+++ b/pkgs/development/libraries/nss/latest.nix
@@ -5,6 +5,6 @@
 #       Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
 
 import ./generic.nix {
-  version = "3.80";
-  hash = "sha256-wL8f0sfimmsCswliK6r8RD7skMiTS7FV2ku5iYh4S2o=";
+  version = "3.81";
+  hash = "sha256-qL9fO7YXBo1X57FfPZ1SjxCa8NV98uqrBRm2Qj7czKY=";
 }
diff --git a/pkgs/development/libraries/science/math/arpack/default.nix b/pkgs/development/libraries/science/math/arpack/default.nix
index 9d96368a4cd..2413a0a25cf 100644
--- a/pkgs/development/libraries/science/math/arpack/default.nix
+++ b/pkgs/development/libraries/science/math/arpack/default.nix
@@ -45,6 +45,10 @@ stdenv.mkDerivation rec {
     install_name_tool -change libblas.dylib ${blas}/lib/libblas.dylib $out/lib/libarpack.dylib
   '';
 
+  # disable stackprotector on aarch64-darwin for now
+  # https://github.com/NixOS/nixpkgs/issues/127608
+  hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ];
+
   meta = {
     homepage = "https://github.com/opencollab/arpack-ng";
     description = ''
diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix
index 0ae563f8b19..02e7e1d8000 100644
--- a/pkgs/development/libraries/wolfssl/default.nix
+++ b/pkgs/development/libraries/wolfssl/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wolfssl";
-  version = "5.3.0";
+  version = "5.4.0";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
     repo = "wolfssl";
     rev = "v${version}-stable";
-    sha256 = "sha256-KteArWAgDohlqEYaNfzLPuBn6uy5ABA8vV/LRCVIPGA=";
+    sha256 = "sha256-5a83Mi+S+mASdZ6O2+0I+qulsF6yNUe80a3qZvWmXHw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index 024fa0bed62..a483bbd481d 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.10";
+  version = "9.2.11";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-l2rnCtzHeK9B/sb8EQUeTRiapE3Dzcysej1zqO0rrV0=";
+    hash = "sha256-hluPbUxkYlbeOsc5uQMXtFjt3wDHq/olUk2SKHPAlVU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index f98f3ef3f96..716275840de 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -46,7 +46,7 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.10";
+  version = "9.2.11";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-GkNpcYY9BEdLlWWOZQt2Ahdp8474RGbvV4UWTdBTKjc=";
+    hash = "sha256-IUuTiRDkQanzcw4iATw5rScl3hoLN/lbHRyflfPyGUc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index f674cf567ce..bdc0f89e4f3 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.10";
+  version = "9.2.11";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-pd7QnJr+XXx+seGDlaLKBIew0Ldcnfsf7d1DgxZFREM=";
+    hash = "sha256-ep0mEOhNe/58l4kYFJIHu/c7wKgnBA0mY0/QAw0EdKM=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index 1b2998e6a50..09fe5715f34 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.10";
+  version = "9.2.11";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-viQC8FgZ/La3fdlBcFd3Lm+YiiPzNyxw41caRfZU0/I=";
+    hash = "sha256-FNlvmXL4Ko2xnML+h1bVhS/62z6BgJbgyQ2UhcDkB+Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index b4f1e5fb65e..de258870b83 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.10";
+  version = "9.2.11";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-2B+yeQAWVTECW5M4/GFF4wvw3q6y/I6QQC+pYkUObN0=";
+    hash = "sha256-3brrNU3dPID336SGa2vTMHQOqEcoiCmyr+5ol14yDgc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-spanner/default.nix b/pkgs/development/python-modules/google-cloud-spanner/default.nix
index 88643251bbb..30e359f40bc 100644
--- a/pkgs/development/python-modules/google-cloud-spanner/default.nix
+++ b/pkgs/development/python-modules/google-cloud-spanner/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-spanner";
-  version = "3.16.0";
+  version = "3.17.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-vkjAkxpk50zFVbhvdN76U5n6KbrTXilughac73La9yM=";
+    sha256 = "sha256-OSMlbvkvSzp2xqwPVoe4dfpYn2leox1huqD/WXlXlZk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index fc109115c05..df881c910ce 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.10";
+  version = "9.2.11";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0dUUEhkFedoZLW/HOhJQQgPmfcJbDYtyup4jCZBUhSI=";
+    hash = "sha256-l2lKmgv6FXayX297TH5gwv7vPLTXAneDdVb+mgTERxc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/structlog/default.nix b/pkgs/development/python-modules/structlog/default.nix
index 4b8bb15df0e..68d91685c9c 100644
--- a/pkgs/development/python-modules/structlog/default.nix
+++ b/pkgs/development/python-modules/structlog/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "structlog";
-  version = "21.5.0";
+  version = "22.1.0";
   format = "flit";
 
   src = fetchFromGitHub {
     owner = "hynek";
     repo = "structlog";
-    rev = version;
-    sha256 = "0bc5lj0732j0hjq89llgrncyzs6k3aaffvg07kr3la44w0hlrb4l";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-2sdH6iP+l+6pBNC+sjpAX8bCdCANqqkaqZRmR68uwxY=";
   };
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
diff --git a/pkgs/os-specific/linux/kvdo/default.nix b/pkgs/os-specific/linux/kvdo/default.nix
index 3e0936cc8a9..7e7c765bd81 100644
--- a/pkgs/os-specific/linux/kvdo/default.nix
+++ b/pkgs/os-specific/linux/kvdo/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     owner = "dm-vdo";
     repo = "kvdo";
     rev = version;
-    sha256 = "1xl7dwcqx00w1gbpb6vlkn8nchyfj1fsc8c06vgda0sgxp7qs5gn";
+    hash = "sha256-4FYTFUIvGjea3bh2GbQYG7hSswVDdNS3S+jWQ9+inpg=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/os-specific/linux/vdo/default.nix b/pkgs/os-specific/linux/vdo/default.nix
index 1904445d4c2..d9033e65876 100644
--- a/pkgs/os-specific/linux/vdo/default.nix
+++ b/pkgs/os-specific/linux/vdo/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vdo";
-  version = "8.1.1.360";  # kvdo uses this!
+  version = "8.2.0.2";  # kvdo uses this!
 
   src = fetchFromGitHub {
     owner = "dm-vdo";
     repo = pname;
     rev = version;
-    sha256 = "1zp8aaw0diramnlx5z96jcpbm6x0r204xf1vwq6k21rzcazczkwv";
+    hash = "sha256-IP/nL4jQ+rIWuUxXUiBtlIKTMZCNelvxgTfTcaB1it0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index 3349f0cf3a0..b4f876b3057 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -15,16 +15,16 @@ let
 in
 buildGoModule rec {
   pname = "minio";
-  version = "2022-05-08T23-50-31Z";
+  version = "2022-07-17T15-43-14Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-Ssuqk/ax6MWdXtbJqWeTTtsIiTK4FmYSR5rOqxh+IaU=";
+    sha256 = "sha256-hQ52fL4Z3RHthHaJXCkKpbebWpq8MxHo4BziokTuJA4=";
   };
 
-  vendorSha256 = "sha256-JoI3B3rDzlY0lDHF3rjrzv8/Rq+XCFRs35bWVZqfAKA=";
+  vendorSha256 = "sha256-u36oHqIxMD3HRio9A3tUt6FO1DtAcQDiC/O54ByeNyg=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/web-apps/lemmy/update.sh b/pkgs/servers/web-apps/lemmy/update.sh
index ebe46e97a29..2df3f9e88d0 100755
--- a/pkgs/servers/web-apps/lemmy/update.sh
+++ b/pkgs/servers/web-apps/lemmy/update.sh
@@ -1,5 +1,5 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep moreutils
+#! /usr/bin/env nix-shell
+#! nix-shell -i oil -p oil jq sd nix-prefetch-github ripgrep moreutils
 
 # TODO set to `verbose` or `extdebug` once implemented in oil
 shopt --set xtrace
diff --git a/pkgs/tools/security/sequoia/default.nix b/pkgs/tools/security/sequoia/default.nix
index 50477cf92f0..8cf9ad010be 100644
--- a/pkgs/tools/security/sequoia/default.nix
+++ b/pkgs/tools/security/sequoia/default.nix
@@ -25,16 +25,16 @@ rustPlatform.buildRustPackage rec {
   pname = "sequoia";
   # Upstream has separate version numbering for the library and the CLI frontend.
   # This derivation provides the CLI frontend, and thus uses its version number.
-  version = "0.26.0";
+  version = "0.27.0";
 
   src = fetchFromGitLab {
     owner = "sequoia-pgp";
     repo = "sequoia";
     rev = "sq/v${version}";
-    sha256 = "1rcbv1s7wpxhrzw082q6vfrq1ja2ssfxn53c90h8fh5wrj7ns751";
+    sha256 = "sha256-KhJAXpj47Tvds5SLYwnsNeIlPf9QEopoCzsvvHgCwaI=";
   };
 
-  cargoSha256 = "0f3b8rh4pl03n8j9ihazaak214sv1rsksbgrb1nfcy8sq2yqfj4g";
+  cargoSha256 = "sha256-Y7iiZVIT9Vbe4YmTfGTU8p3H3odQKms2FBnnWgvF7mI=";
 
   nativeBuildInputs = [
     pkg-config
@@ -75,7 +75,11 @@ rustPlatform.buildRustPackage rec {
   LIBCLANG_PATH = "${llvmPackages_12.libclang.lib}/lib";
 
   # Sometimes, tests fail on CI (ofborg) & hydra without this
-  CARGO_TEST_ARGS = "--workspace --exclude sequoia-store";
+  checkFlags = [
+    # doctest for sequoia-ipc fail for some reason
+    "--skip=macros::assert_send_and_sync"
+    "--skip=macros::time_it"
+  ];
 
   preInstall = lib.optionalString pythonSupport ''
     export installFlags="PYTHONPATH=$PYTHONPATH:$out/${pythonPackages.python.sitePackages}"
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index cf194c97351..06213f3ca4a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -292,6 +292,8 @@ with pkgs;
 
   cfn-nag = callPackage ../development/tools/cfn-nag { };
 
+  cxx-rs = callPackage ../development/libraries/cxx-rs { };
+
   elfcat = callPackage ../tools/misc/elfcat { };
 
   # Zip file format only allows times after year 1980, which makes e.g. Python
@@ -10104,6 +10106,8 @@ with pkgs;
 
   realvnc-vnc-viewer = callPackage ../tools/admin/realvnc-vnc-viewer {};
 
+  re-isearch = callPackage ../applications/search/re-isearch { };
+
   reaverwps = callPackage ../tools/networking/reaver-wps {};
 
   reaverwps-t6x = callPackage ../tools/networking/reaver-wps-t6x {};