about summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2022-04-26 06:01:08 +0000
committerGitHub <noreply@github.com>2022-04-26 06:01:08 +0000
commitf8c265f433f3f5cf4bb4e25b03b75751c3aaf47a (patch)
tree6336845aef4d3882b39256a810c7fe8419fc98cf
parent4a997ba4a66738d5c679c61a32cd57a7ca80d682 (diff)
parent4586388f855782243da0e5f64b1b0144f692ef5b (diff)
Merge master into staging-next
-rw-r--r--.github/CODEOWNERS4
-rw-r--r--nixos/modules/services/misc/sourcehut/default.nix2
-rw-r--r--pkgs/applications/misc/pure-maps/default.nix5
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix4
-rw-r--r--pkgs/applications/science/logic/coq/default.nix28
-rw-r--r--pkgs/build-support/ocaml/dune.nix4
-rw-r--r--pkgs/build-support/ocaml/oasis.nix2
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix10
-rw-r--r--pkgs/development/interpreters/php/generic.nix2
-rw-r--r--pkgs/development/interpreters/python/default.nix5
-rw-r--r--pkgs/development/interpreters/python/graalpython/default.nix21
-rw-r--r--pkgs/development/libraries/boost/generic.nix4
-rw-r--r--pkgs/development/libraries/jarowinkler-cpp/default.nix41
-rw-r--r--pkgs/development/libraries/mapbox-gl-qml/default.nix11
-rw-r--r--pkgs/development/libraries/maplibre-gl-native/default.nix66
-rw-r--r--pkgs/development/libraries/protolock/default.nix2
-rw-r--r--pkgs/development/libraries/rapidfuzz-cpp/default.nix41
-rw-r--r--pkgs/development/libraries/taskflow/default.nix50
-rw-r--r--pkgs/development/libraries/taskflow/unvendor-doctest.patch21
-rw-r--r--pkgs/development/ocaml-modules/bap/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/batteries/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/bitstring/ppx.nix2
-rw-r--r--pkgs/development/ocaml-modules/bitv/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/bz2/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/camlpdf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/cpdf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/ppx.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/sexp.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/unix.nix2
-rw-r--r--pkgs/development/ocaml-modules/csv/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/ctypes/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/erm_xml/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/expat/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/farfadet/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/fmt/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/fpath/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/javalib/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lablgl/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lablgtk-extras/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/logs/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lua-ml/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lwt/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/nocrypto/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/notty/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocp-ocamlres/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-deriving/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ppxlib/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/reactivedata/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sawja/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sedlex/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sosa/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/tsdl/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uri/sexp.nix2
-rw-r--r--pkgs/development/ocaml-modules/uucp/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uunf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/vg/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/wasm/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/xmlm/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/z3/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/zarith/default.nix2
-rw-r--r--pkgs/development/python-modules/ansible/core.nix8
-rw-r--r--pkgs/development/python-modules/caldav/default.nix6
-rw-r--r--pkgs/development/python-modules/fenics/default.nix (renamed from pkgs/development/libraries/science/math/fenics/default.nix)28
-rw-r--r--pkgs/development/python-modules/ffcv/default.nix4
-rw-r--r--pkgs/development/python-modules/glcontext/default.nix6
-rw-r--r--pkgs/development/python-modules/jeepney/default.nix13
-rw-r--r--pkgs/development/python-modules/jupyterlab_server/default.nix8
-rw-r--r--pkgs/development/python-modules/libtmux/default.nix12
-rw-r--r--pkgs/development/python-modules/onnx/default.nix5
-rw-r--r--pkgs/development/python-modules/pikepdf/default.nix8
-rw-r--r--pkgs/development/python-modules/pytorch-pfn-extras/default.nix20
-rw-r--r--pkgs/development/python-modules/rapidfuzz/default.nix14
-rw-r--r--pkgs/development/python-modules/ripser/default.nix18
-rw-r--r--pkgs/development/python-modules/tpm2-pytss/default.nix55
-rw-r--r--pkgs/development/python-modules/weconnect-mqtt/default.nix4
-rw-r--r--pkgs/development/python-modules/weconnect/default.nix4
-rw-r--r--pkgs/development/quickemu/default.nix4
-rw-r--r--pkgs/development/tools/electron/generic.nix10
-rw-r--r--pkgs/development/tools/evans/default.nix6
-rw-r--r--pkgs/development/tools/gofumpt/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/cppo/ocamlbuild.nix2
-rw-r--r--pkgs/development/tools/ocaml/dune/1.nix2
-rw-r--r--pkgs/development/tools/ocaml/merlin/4.x.nix2
-rw-r--r--pkgs/development/tools/omnisharp-roslyn/default.nix5
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-devicetree.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ledger.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-prisma.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-toml.json10
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/update.nix5
-rw-r--r--pkgs/games/openrct2/default.nix12
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix4
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix2
-rw-r--r--pkgs/os-specific/linux/rtl8723bs/default.nix2
-rw-r--r--pkgs/os-specific/linux/sch_cake/default.nix2
-rw-r--r--pkgs/servers/foundationdb/vsmake.nix4
-rw-r--r--pkgs/servers/grocy/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix4
-rw-r--r--pkgs/servers/openafs/1.8/module.nix35
-rw-r--r--pkgs/tools/backup/dar/default.nix4
-rw-r--r--pkgs/tools/misc/pouf/default.nix27
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix4
-rw-r--r--pkgs/tools/misc/ytfzf/default.nix19
-rw-r--r--pkgs/tools/networking/mozillavpn/default.nix35
-rw-r--r--pkgs/tools/system/jsvc/default.nix4
-rw-r--r--pkgs/tools/typesetting/odpdown/default.nix36
-rw-r--r--pkgs/tools/wayland/swaytools/default.nix16
-rwxr-xr-xpkgs/tools/wayland/swaytools/update.py58
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix12
-rw-r--r--pkgs/top-level/php-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix2
-rw-r--r--pkgs/top-level/qt5-packages.nix2
137 files changed, 717 insertions, 466 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 2b6f7ff5fe32b..28bfe7c1fd55b 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -285,3 +285,7 @@
 /nixos/modules/services/misc/matrix-conduit.nix            @piegamesde
 /nixos/tests/matrix-appservice-irc.nix                     @piegamesde
 /nixos/tests/matrix-conduit.nix                            @piegamesde
+
+# Dotnet
+/pkgs/build-support/dotnet          @IvarWithoutBones
+/pkgs/development/compilers/dotnet  @IvarWithoutBones
diff --git a/nixos/modules/services/misc/sourcehut/default.nix b/nixos/modules/services/misc/sourcehut/default.nix
index 21551d7d5f033..5a6d011a729a3 100644
--- a/nixos/modules/services/misc/sourcehut/default.nix
+++ b/nixos/modules/services/misc/sourcehut/default.nix
@@ -1018,7 +1018,7 @@ in
       inherit configIniOfService;
       mainService = mkMerge [ baseService {
         serviceConfig.StateDirectory = [ "sourcehut/gitsrht" "sourcehut/gitsrht/repos" ];
-        preStart = mkIf (!versionAtLeast config.system.stateVersion "22.05") (mkBefore ''
+        preStart = mkIf (versionOlder config.system.stateVersion "22.05") (mkBefore ''
           # Fix Git hooks of repositories pre-dating https://github.com/NixOS/nixpkgs/pull/133984
           (
           set +f
diff --git a/pkgs/applications/misc/pure-maps/default.nix b/pkgs/applications/misc/pure-maps/default.nix
index 0914d2599c224..d634f2dd4af98 100644
--- a/pkgs/applications/misc/pure-maps/default.nix
+++ b/pkgs/applications/misc/pure-maps/default.nix
@@ -6,13 +6,13 @@
 
 mkDerivation rec {
   pname = "pure-maps";
-  version = "2.9.2";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "rinigus";
     repo = "pure-maps";
     rev = version;
-    hash = "sha256-pMPjY6OXR6THiSQZ4mw9Kz+tAXJaOwzJEcpPOyZ+YKI=";
+    hash = "sha256-r36/Vpt4ZIWV1+VhqRBuo4uT7nmEGiFGIt3QGG3ijjs=";
     fetchSubmodules = true;
   };
 
@@ -37,6 +37,7 @@ mkDerivation rec {
   meta = with lib; {
     description = "Display vector and raster maps, places, routes, and provide navigation instructions with a flexible selection of data and service providers";
     homepage = "https://github.com/rinigus/pure-maps";
+    changelog = "https://github.com/rinigus/pure-maps/blob/${src.rev}/NEWS.md";
     license = licenses.gpl3Only;
     maintainers = [ maintainers.Thra11 ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 7b5f28fbd8484..df73df2ec284a 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -6,13 +6,13 @@
 
 mkDerivation rec {
   pname = "stellarium";
-  version = "0.22.0";
+  version = "0.22.1";
 
   src = fetchFromGitHub {
     owner = "Stellarium";
     repo = "stellarium";
     rev = "v${version}";
-    sha256 = "sha256-scG/SS9emEmrZunv6n3Vzcchoh0Cf9rDOkuxAMnxNk4=";
+    sha256 = "sha256-zDYZBV/76BDWWfiug0fFvMe3pdE4xfKgSmVJJd3Qu9Y=";
   };
 
   nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index a9fb21681586b..c078287b85ee3 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -56,8 +56,8 @@ let
     args.version;
   version = fetched.version;
   coq-version = args.coq-version or (if version != "dev" then versions.majorMinor version else "dev");
-  versionAtLeast = v: (coq-version == "dev") || (lib.versionAtLeast coq-version v);
-  ideFlags = optionalString (buildIde && !versionAtLeast "8.10")
+  coqAtLeast = v: coq-version == "dev" || versionAtLeast coq-version v;
+  ideFlags = optionalString (buildIde && !coqAtLeast "8.10")
     "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt";
   csdpPatch = if csdp != null then ''
     substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp"
@@ -71,11 +71,11 @@ let
       { case = range "8.5" "8.6";   out = ocamlPackages_4_05; }
     ] ocamlPackages_4_12;
   ocamlNativeBuildInputs = [ ocamlPackages.ocaml ocamlPackages.findlib ]
-    ++ optional (versionAtLeast "8.14") ocamlPackages.dune_2;
+    ++ optional (coqAtLeast "8.14") ocamlPackages.dune_2;
   ocamlBuildInputs = []
-    ++ optional (!versionAtLeast "8.10") ocamlPackages.camlp5
-    ++ optional (!versionAtLeast "8.13") ocamlPackages.num
-    ++ optional (versionAtLeast "8.13") ocamlPackages.zarith;
+    ++ optional (!coqAtLeast "8.10") ocamlPackages.camlp5
+    ++ optional (!coqAtLeast "8.13") ocamlPackages.num
+    ++ optional (coqAtLeast "8.13") ocamlPackages.zarith;
 self = stdenv.mkDerivation {
   pname = "coq";
   inherit (fetched) version src;
@@ -134,11 +134,11 @@ self = stdenv.mkDerivation {
   nativeBuildInputs = [ pkg-config ]
     ++ ocamlNativeBuildInputs
     ++ optional buildIde copyDesktopItems
-    ++ optional (buildIde && versionAtLeast "8.10") wrapGAppsHook
-    ++ optional (!versionAtLeast "8.6") gnumake42;
+    ++ optional (buildIde && coqAtLeast "8.10") wrapGAppsHook
+    ++ optional (!coqAtLeast "8.6") gnumake42;
   buildInputs = [ ncurses ] ++ ocamlBuildInputs
     ++ optionals buildIde
-      (if versionAtLeast "8.10"
+      (if coqAtLeast "8.10"
        then [ ocamlPackages.lablgtk3-sourceview3 glib gnome.adwaita-icon-theme ]
        else [ ocamlPackages.lablgtk ])
   ;
@@ -147,7 +147,7 @@ self = stdenv.mkDerivation {
     UNAME=$(type -tp uname)
     RM=$(type -tp rm)
     substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM"
-    ${if !versionAtLeast "8.7" then "substituteInPlace configure.ml --replace \"md5 -q\" \"md5sum\"" else ""}
+    ${if !coqAtLeast "8.7" then "substituteInPlace configure.ml --replace \"md5 -q\" \"md5sum\"" else ""}
     ${csdpPatch}
   '';
 
@@ -161,7 +161,7 @@ self = stdenv.mkDerivation {
     addEnvHooks "$targetOffset" addCoqPath
   '';
 
-  preConfigure = if versionAtLeast "8.10" then ''
+  preConfigure = if coqAtLeast "8.10" then ''
     patchShebangs dev/tools/
   '' else ''
     configureFlagsArray=(
@@ -171,7 +171,7 @@ self = stdenv.mkDerivation {
 
   prefixKey = "-prefix ";
 
-  buildFlags = [ "revision" "coq" ] ++ optional buildIde "coqide" ++ optional (!versionAtLeast "8.14") "bin/votour";
+  buildFlags = [ "revision" "coq" ] ++ optional buildIde "coqide" ++ optional (!coqAtLeast "8.14") "bin/votour";
   enableParallelBuilding = true;
 
   createFindlibDestdir = true;
@@ -185,10 +185,10 @@ self = stdenv.mkDerivation {
     categories = [ "Development" "Science" "Math" "IDE" "GTK" ];
   });
 
-  postInstall = let suffix = if versionAtLeast "8.14" then "-core" else ""; in ''
+  postInstall = let suffix = if coqAtLeast "8.14" then "-core" else ""; in ''
     cp bin/votour $out/bin/
     ln -s $out/lib/coq${suffix} $OCAMLFIND_DESTDIR/coq${suffix}
-  '' + optionalString (versionAtLeast "8.14") ''
+  '' + optionalString (coqAtLeast "8.14") ''
     ln -s $out/lib/coqide-server $OCAMLFIND_DESTDIR/coqide-server
   '' + optionalString buildIde ''
     mkdir -p "$out/share/pixmaps"
diff --git a/pkgs/build-support/ocaml/dune.nix b/pkgs/build-support/ocaml/dune.nix
index f82bac7d199db..2ded76d3cd4ac 100644
--- a/pkgs/build-support/ocaml/dune.nix
+++ b/pkgs/build-support/ocaml/dune.nix
@@ -7,8 +7,8 @@ let Dune =
   { "1" = dune_1; "2" = dune_2; "3" = dune_3; }."${dune-version}"
 ; in
 
-if (args ? minimumOCamlVersion && ! lib.versionAtLeast ocaml.version args.minimumOCamlVersion) ||
-   (args ? minimalOCamlVersion && ! lib.versionAtLeast ocaml.version args.minimalOCamlVersion)
+if (args ? minimumOCamlVersion && lib.versionOlder ocaml.version args.minimumOCamlVersion) ||
+   (args ? minimalOCamlVersion && lib.versionOlder ocaml.version args.minimalOCamlVersion)
 then throw "${pname}-${version} is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/build-support/ocaml/oasis.nix b/pkgs/build-support/ocaml/oasis.nix
index 8f81344daf093..91daad59050d4 100644
--- a/pkgs/build-support/ocaml/oasis.nix
+++ b/pkgs/build-support/ocaml/oasis.nix
@@ -8,7 +8,7 @@
 }@args:
 
 if args ? minimumOCamlVersion &&
-   ! lib.versionAtLeast ocaml.version args.minimumOCamlVersion
+   lib.versionOlder ocaml.version args.minimumOCamlVersion
 then throw "${pname}-${version} is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index 0573b43f5e231..2c6045c13a627 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -7,7 +7,7 @@ let
 in
 
 { lib, stdenv, fetchurl, ncurses, buildEnv, libunwind, fetchpatch
-, libX11, xorgproto, useX11 ? safeX11 stdenv && !lib.versionAtLeast version "4.09"
+, libX11, xorgproto, useX11 ? safeX11 stdenv && lib.versionOlder version "4.09"
 , aflSupport ? false
 , flambdaSupport ? false
 , spaceTimeSupport ? false
@@ -87,14 +87,14 @@ stdenv.mkDerivation (args // {
   buildFlags = if useNativeCompilers
     then ["nixpkgs_world_bootstrap_world_opt"]
     else ["nixpkgs_world"];
-  buildInputs = optional (!lib.versionAtLeast version "4.07") ncurses
+  buildInputs = optional (lib.versionOlder version "4.07") ncurses
     ++ optionals useX11 [ libX11 xorgproto ];
   propagatedBuildInputs = optional spaceTimeSupport libunwind;
   installTargets = [ "install" ] ++ optional useNativeCompilers "installopt";
-  preConfigure = optionalString (!lib.versionAtLeast version "4.04") ''
+  preConfigure = optionalString (lib.versionOlder version "4.04") ''
     CAT=$(type -tp cat)
     sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
-  '' + optionalString (stdenv.isDarwin && !lib.versionAtLeast version "4.13") ''
+  '' + optionalString (stdenv.isDarwin && lib.versionOlder version "4.13") ''
     # Do what upstream does by default now: https://github.com/ocaml/ocaml/pull/10176
     # This is required for aarch64-darwin, everything else works as is.
     AS="${stdenv.cc}/bin/cc -c" ASPP="${stdenv.cc}/bin/cc -c"
@@ -137,7 +137,7 @@ stdenv.mkDerivation (args // {
     '';
 
     platforms = with platforms; linux ++ darwin;
-    broken = stdenv.isAarch64 && !lib.versionAtLeast version "4.06";
+    broken = stdenv.isAarch64 && lib.versionOlder version "4.06";
   };
 
 })
diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix
index 3debeba329a93..7c0994d15b645 100644
--- a/pkgs/development/interpreters/php/generic.nix
+++ b/pkgs/development/interpreters/php/generic.nix
@@ -272,7 +272,7 @@ let
               export EXTENSION_DIR=$out/lib/php/extensions
             ''
             # PKG_CONFIG need not be a relative path
-            + lib.optionalString (!lib.versionAtLeast version "7.4") ''
+            + lib.optionalString (lib.versionOlder version "7.4") ''
               for i in $(find . -type f -name "*.m4"); do
                 substituteInPlace $i \
                   --replace 'test -x "$PKG_CONFIG"' 'type -P "$PKG_CONFIG" >/dev/null'
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 8198b25bd6a1c..d9ade27def64d 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -300,11 +300,6 @@ in {
     inherit passthruFun;
   };
 
-  graalpython37 = callPackage ./graalpython/default.nix {
-    self = pythonInterpreters.graalpython37;
-    inherit passthruFun;
-  };
-
   rustpython = callPackage ./rustpython/default.nix {
     inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
   };
diff --git a/pkgs/development/interpreters/python/graalpython/default.nix b/pkgs/development/interpreters/python/graalpython/default.nix
deleted file mode 100644
index b5d7d130b5a7e..0000000000000
--- a/pkgs/development/interpreters/python/graalpython/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ pkgs
-, lib
-, graalvm8
-, passthruFun
-, packageOverrides ? (self: super: {})
-, self
-}:
-
-let
-  passthru = passthruFun {
-    inherit self packageOverrides;
-    implementation = "graal";
-    sourceVersion = graalvm8.version;
-    pythonVersion = "3.7";
-    libPrefix = "graalvm";
-    sitePackages = "jre/languages/python/lib-python/3/site-packages";
-    executable = "graalpython";
-    hasDistutilsCxxPatch = false;
-    pythonForBuild = pkgs.buildPackages.pythonInterpreters.graalpython37;
-  };
-in lib.extendDerivation true passthru graalvm8
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 1881f06aa4afd..34ab5554e74b2 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -32,7 +32,7 @@ assert enablePython -> stdenv.hostPlatform == stdenv.buildPlatform;
 assert enableNumpy -> enablePython;
 
 # Boost <1.69 can't be built on linux with clang >8, because pth was removed
-assert with lib; ((stdenv.isLinux && toolset == "clang" && !(versionOlder stdenv.cc.version "8.0.0")) -> !(versionOlder version "1.69"));
+assert with lib; (stdenv.isLinux && toolset == "clang" && versionAtLeast stdenv.cc.version "8.0.0") -> versionAtLeast version "1.69";
 
 with lib;
 let
@@ -143,7 +143,7 @@ stdenv.mkDerivation {
     stripLen = 1;
     extraPrefix = "libs/context/";
   })
-  ++ optional (and (versionAtLeast version "1.70") (!versionAtLeast version "1.73")) ./cmake-paths.patch
+  ++ optional (versionAtLeast version "1.70" && versionOlder version "1.73") ./cmake-paths.patch
   ++ optional (versionAtLeast version "1.73") ./cmake-paths-173.patch
   ++ optional (version == "1.77.0") (fetchpatch {
     url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch";
diff --git a/pkgs/development/libraries/jarowinkler-cpp/default.nix b/pkgs/development/libraries/jarowinkler-cpp/default.nix
new file mode 100644
index 0000000000000..f89c54121ca1d
--- /dev/null
+++ b/pkgs/development/libraries/jarowinkler-cpp/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, catch2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "jarowinkler-cpp";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "maxbachmann";
+    repo = "jarowinkler-cpp";
+    rev = "v${version}";
+    hash = "sha256-6dIyCyoPs/2wHyGqlE+NC0pwz5ggS5edhN4Jbltx0jg=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeFlags = lib.optionals doCheck [
+    "-DRAPIDFUZZ_BUILD_TESTING=ON"
+  ];
+
+  checkInputs = [
+    catch2
+  ];
+
+  # uses unreleased Catch2 version 3
+  doCheck = false;
+
+  meta = {
+    description = "Fast Jaro and Jaro-Winkler distance";
+    homepage = "https://github.com/maxbachmann/jarowinkler-cpp";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/mapbox-gl-qml/default.nix b/pkgs/development/libraries/mapbox-gl-qml/default.nix
index 49a7f26220dd8..a9a2ad64d7adc 100644
--- a/pkgs/development/libraries/mapbox-gl-qml/default.nix
+++ b/pkgs/development/libraries/mapbox-gl-qml/default.nix
@@ -6,31 +6,28 @@
 , curl
 , qtbase
 , qtlocation
-, mapbox-gl-native
+, maplibre-gl-native
 }:
 
 mkDerivation rec {
   pname = "mapbox-gl-qml";
-  version = "1.7.7.1";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "rinigus";
     repo = "mapbox-gl-qml";
     rev = version;
-    hash = "sha256-lmL9nawMY8rNNBV4zNF4N1gn9XZzIZ9Cw2ZRs9bjBaI=";
+    hash = "sha256-EVZbQXV8pI0QTqFDTTynVglsqX1O5oK0Pl5Y/wp+/q0=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ curl qtlocation mapbox-gl-native ];
+  buildInputs = [ curl qtlocation maplibre-gl-native ];
 
   postPatch = ''
     substituteInPlace src/CMakeLists.txt \
       --replace ' ''${QT_INSTALL_QML}' " $out/${qtbase.qtQmlPrefix}"
   '';
 
-  # Package expects qt5 subdirectory of mapbox-gl-native to be in the include path
-  NIX_CFLAGS_COMPILE = "-I${mapbox-gl-native}/include/qt5";
-
   meta = with lib; {
     description = "Unofficial Mapbox GL Native bindings for Qt QML";
     homepage = "https://github.com/rinigus/mapbox-gl-qml";
diff --git a/pkgs/development/libraries/maplibre-gl-native/default.nix b/pkgs/development/libraries/maplibre-gl-native/default.nix
new file mode 100644
index 0000000000000..c680f6822b5dc
--- /dev/null
+++ b/pkgs/development/libraries/maplibre-gl-native/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, pkg-config
+, qtbase
+, curl
+, libuv
+, glfw3
+, rapidjson
+}:
+
+mkDerivation rec {
+  pname = "maplibre-gl-native";
+  version = "unstable-2022-04-07";
+
+  src = fetchFromGitHub {
+    owner = "maplibre";
+    repo = "maplibre-gl-native";
+    rev = "225f8a4bfe7ad30fd59d693c1fb3ca0ba70d2806";
+    fetchSubmodules = true;
+    hash = "sha256-NLtpi+bDLTHlnzMZ4YFQyF5B1xt9lzHyZPvEQLlBAnY=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "skip-license-check.patch";
+      url = "https://git.alpinelinux.org/aports/plain/testing/mapbox-gl-native/0002-skip-license-check.patch?id=6751a93dca26b0b3ceec9eb151272253a2fe497e";
+      sha256 = "1yybwzxbvn0lqb1br1fyg7763p2h117s6mkmywkl4l7qg9daa7ba";
+    })
+  ];
+
+  postPatch = ''
+    # don't use vendored rapidjson
+    rm -r vendor/mapbox-base/extras/rapidjson
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    curl
+    libuv
+    glfw3
+    qtbase
+    rapidjson
+  ];
+
+  cmakeFlags = [
+    "-DMBGL_WITH_QT=ON"
+    "-DMBGL_WITH_QT_LIB_ONLY=ON"
+    "-DMBGL_WITH_QT_HEADLESS=OFF"
+  ];
+
+  meta = with lib; {
+    description = "Open-source alternative to Mapbox GL Native";
+    homepage = "https://maplibre.org/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ dotlambda ];
+    platforms = platforms.linux;
+    broken = lib.versionOlder qtbase.version "5.15";
+  };
+}
diff --git a/pkgs/development/libraries/protolock/default.nix b/pkgs/development/libraries/protolock/default.nix
index ef6338207e3f3..a9b45ddf61329 100644
--- a/pkgs/development/libraries/protolock/default.nix
+++ b/pkgs/development/libraries/protolock/default.nix
@@ -13,8 +13,6 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-kgSJUSjY8kgrGCNDPgw1WA8KwAqI5koJQ0IcE+tC5nk=";
 
-  doCheck = false;
-
   postInstall = ''
     rm $out/bin/plugin*
   '';
diff --git a/pkgs/development/libraries/rapidfuzz-cpp/default.nix b/pkgs/development/libraries/rapidfuzz-cpp/default.nix
new file mode 100644
index 0000000000000..2e1ad8080fa44
--- /dev/null
+++ b/pkgs/development/libraries/rapidfuzz-cpp/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, catch2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rapidfuzz-cpp";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "maxbachmann";
+    repo = "rapidfuzz-cpp";
+    rev = "v${version}";
+    hash = "sha256-331iW0nu5MlxuKNTgMkRSASnglxn+hEWBhRMnw0lY2Y=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeFlags = lib.optionals doCheck [
+    "-DRAPIDFUZZ_BUILD_TESTING=ON"
+  ];
+
+  checkInputs = [
+    catch2
+  ];
+
+  # uses unreleased Catch2 version 3
+  doCheck = false;
+
+  meta = {
+    description = "Rapid fuzzy string matching in C++ using the Levenshtein Distance";
+    homepage = "https://github.com/maxbachmann/rapidfuzz-cpp";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/taskflow/default.nix b/pkgs/development/libraries/taskflow/default.nix
new file mode 100644
index 0000000000000..29760cdb94bd2
--- /dev/null
+++ b/pkgs/development/libraries/taskflow/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, substituteAll
+, doctest
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "taskflow";
+  version = "3.3.0";
+
+  src = fetchFromGitHub {
+    owner = "taskflow";
+    repo = "taskflow";
+    rev = "v${version}";
+    hash = "sha256-UfXGupxgtowIt3BnIVWwim3rTE57TT1C9TCx9LVyN34=";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./unvendor-doctest.patch;
+      inherit doctest;
+    })
+  ];
+
+  postPatch = ''
+    rm -r 3rd-party
+
+    # tries to use x86 intrinsics on aarch64-darwin
+    sed -i '/^#if __has_include (<immintrin\.h>)/,/^#endif/d' taskflow/utility/os.hpp
+  '';
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "General-purpose Parallel and Heterogeneous Task Programming System";
+    homepage = "https://taskflow.github.io/";
+    changelog = let
+      release = lib.replaceStrings ["."] ["-"] version;
+    in "https://taskflow.github.io/taskflow/release-${release}.html";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/libraries/taskflow/unvendor-doctest.patch b/pkgs/development/libraries/taskflow/unvendor-doctest.patch
new file mode 100644
index 0000000000000..85f2e1fcff98e
--- /dev/null
+++ b/pkgs/development/libraries/taskflow/unvendor-doctest.patch
@@ -0,0 +1,21 @@
+diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt
+index 3397d798..8277191e 100644
+--- a/unittests/CMakeLists.txt
++++ b/unittests/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ enable_testing()
+ 
+-include(${TF_3RD_PARTY_DIR}/doctest/doctest.cmake)
++include(@doctest@/lib/cmake/doctest/doctest.cmake)
+ 
+ list(APPEND TF_UNITTESTS 
+   utility 
+@@ -24,7 +24,7 @@ list(APPEND TF_UNITTESTS
+ foreach(unittest IN LISTS TF_UNITTESTS)
+   add_executable(${unittest} ${unittest}.cpp)
+   target_link_libraries(${unittest} ${PROJECT_NAME} tf::default_settings)
+-  target_include_directories(${unittest} PRIVATE ${TF_3RD_PARTY_DIR}/doctest)
++  target_include_directories(${unittest} PRIVATE @doctest@/include/doctest)
+   doctest_discover_tests(${unittest})
+ endforeach()
+ 
diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix
index 2bf671c6a09ea..5228727727658 100644
--- a/pkgs/development/ocaml-modules/bap/default.nix
+++ b/pkgs/development/ocaml-modules/bap/default.nix
@@ -10,7 +10,7 @@
 , z3
 }:
 
-if !lib.versionAtLeast ocaml.version "4.08"
+if lib.versionOlder ocaml.version "4.08"
 then throw "BAP is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix
index 865518ec29c79..731f6e2636382 100644
--- a/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/pkgs/development/ocaml-modules/batteries/default.nix
@@ -2,7 +2,7 @@
 , doCheck ? lib.versionAtLeast ocaml.version "4.08" && !stdenv.isAarch64
 }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "batteries is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/bitstring/ppx.nix b/pkgs/development/ocaml-modules/bitstring/ppx.nix
index 4d391d3458dc1..9eb4c74f574c5 100644
--- a/pkgs/development/ocaml-modules/bitstring/ppx.nix
+++ b/pkgs/development/ocaml-modules/bitstring/ppx.nix
@@ -3,7 +3,7 @@
 , ounit
 }:
 
-if !lib.versionAtLeast ppxlib.version "0.18.0"
+if lib.versionOlder ppxlib.version "0.18.0"
 then throw "ppx_bitstring is not available with ppxlib-${ppxlib.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/bitv/default.nix b/pkgs/development/ocaml-modules/bitv/default.nix
index 07649f3655b86..a986a46f29354 100644
--- a/pkgs/development/ocaml-modules/bitv/default.nix
+++ b/pkgs/development/ocaml-modules/bitv/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, autoreconfHook, which, ocaml, findlib }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "bitv is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/bz2/default.nix b/pkgs/development/ocaml-modules/bz2/default.nix
index 4ac0262e1ee31..6d8b56ae232dd 100644
--- a/pkgs/development/ocaml-modules/bz2/default.nix
+++ b/pkgs/development/ocaml-modules/bz2/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitLab, ocaml, findlib, bzip2, autoreconfHook }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "bz2 is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/camlpdf/default.nix b/pkgs/development/ocaml-modules/camlpdf/default.nix
index 06456b9c930e0..cbcb67e2d295c 100644
--- a/pkgs/development/ocaml-modules/camlpdf/default.nix
+++ b/pkgs/development/ocaml-modules/camlpdf/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, which, ocaml, findlib }:
 
-if !lib.versionAtLeast ocaml.version "4.10"
+if lib.versionOlder ocaml.version "4.10"
 then throw "camlpdf is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/cpdf/default.nix b/pkgs/development/ocaml-modules/cpdf/default.nix
index 3f60263736e8e..b1694885258a1 100644
--- a/pkgs/development/ocaml-modules/cpdf/default.nix
+++ b/pkgs/development/ocaml-modules/cpdf/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, ocaml, findlib, camlpdf, ncurses }:
 
-if !lib.versionAtLeast ocaml.version "4.10"
+if lib.versionOlder ocaml.version "4.10"
 then throw "cpdf is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/cstruct/lwt.nix b/pkgs/development/ocaml-modules/cstruct/lwt.nix
index df8941d1260d6..60e73449264fb 100644
--- a/pkgs/development/ocaml-modules/cstruct/lwt.nix
+++ b/pkgs/development/ocaml-modules/cstruct/lwt.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, cstruct, lwt }:
 
-if !lib.versionAtLeast (cstruct.version or "1") "3"
+if lib.versionOlder (cstruct.version or "1") "3"
 then cstruct
 else
 
diff --git a/pkgs/development/ocaml-modules/cstruct/ppx.nix b/pkgs/development/ocaml-modules/cstruct/ppx.nix
index 523a2c04f618e..6705602ef25bf 100644
--- a/pkgs/development/ocaml-modules/cstruct/ppx.nix
+++ b/pkgs/development/ocaml-modules/cstruct/ppx.nix
@@ -2,7 +2,7 @@
 , ounit, cppo, ppx_sexp_conv, cstruct-unix, cstruct-sexp
 }:
 
-if !lib.versionAtLeast (cstruct.version or "1") "3"
+if lib.versionOlder (cstruct.version or "1") "3"
 then cstruct
 else
 
diff --git a/pkgs/development/ocaml-modules/cstruct/sexp.nix b/pkgs/development/ocaml-modules/cstruct/sexp.nix
index b04810e48038a..69972ad34037f 100644
--- a/pkgs/development/ocaml-modules/cstruct/sexp.nix
+++ b/pkgs/development/ocaml-modules/cstruct/sexp.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, ocaml, alcotest, cstruct, sexplib }:
 
-if !lib.versionAtLeast (cstruct.version or "1") "3"
+if lib.versionOlder (cstruct.version or "1") "3"
 then cstruct
 else
 
diff --git a/pkgs/development/ocaml-modules/cstruct/unix.nix b/pkgs/development/ocaml-modules/cstruct/unix.nix
index 1ea27bb04de44..c3d280d785abc 100644
--- a/pkgs/development/ocaml-modules/cstruct/unix.nix
+++ b/pkgs/development/ocaml-modules/cstruct/unix.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, cstruct }:
 
-if !lib.versionAtLeast (cstruct.version or "1") "3"
+if lib.versionOlder (cstruct.version or "1") "3"
 then cstruct
 else
 
diff --git a/pkgs/development/ocaml-modules/csv/lwt.nix b/pkgs/development/ocaml-modules/csv/lwt.nix
index b0f771209aa61..c90dc019b9d4c 100644
--- a/pkgs/development/ocaml-modules/csv/lwt.nix
+++ b/pkgs/development/ocaml-modules/csv/lwt.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, ocaml, csv, ocaml_lwt }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "csv-lwt is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/ctypes/default.nix b/pkgs/development/ocaml-modules/ctypes/default.nix
index 0558cf4a163cd..6e9aa98e1cca5 100644
--- a/pkgs/development/ocaml-modules/ctypes/default.nix
+++ b/pkgs/development/ocaml-modules/ctypes/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, ocaml, findlib, libffi, pkg-config, ncurses, integers, bigarray-compat }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "ctypes is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/erm_xml/default.nix b/pkgs/development/ocaml-modules/erm_xml/default.nix
index ebf9cdaad69ac..d1f93f5726453 100644
--- a/pkgs/development/ocaml-modules/erm_xml/default.nix
+++ b/pkgs/development/ocaml-modules/erm_xml/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "erm_xml is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/expat/default.nix b/pkgs/development/ocaml-modules/expat/default.nix
index 6fb7927073d41..0bd6c733e6fbd 100644
--- a/pkgs/development/ocaml-modules/expat/default.nix
+++ b/pkgs/development/ocaml-modules/expat/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   strictDeps = true;
 
-  doCheck = !lib.versionAtLeast ocaml.version "4.06";
+  doCheck = lib.versionOlder ocaml.version "4.06";
   checkTarget = "testall";
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/ocaml-modules/farfadet/default.nix b/pkgs/development/ocaml-modules/farfadet/default.nix
index 1ac5595a015b9..a02866e3b4f0c 100644
--- a/pkgs/development/ocaml-modules/farfadet/default.nix
+++ b/pkgs/development/ocaml-modules/farfadet/default.nix
@@ -2,7 +2,7 @@
 , faraday
 }:
 
-if !lib.versionAtLeast ocaml.version "4.3"
+if lib.versionOlder ocaml.version "4.3"
 then throw "farfadet is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/fmt/default.nix b/pkgs/development/ocaml-modules/fmt/default.nix
index edf8d08eaabaa..4816cab57cfd3 100644
--- a/pkgs/development/ocaml-modules/fmt/default.nix
+++ b/pkgs/development/ocaml-modules/fmt/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner, seq, stdlib-shims }:
 
-if !lib.versionAtLeast ocaml.version "4.05"
+if lib.versionOlder ocaml.version "4.05"
 then throw "fmt is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/fpath/default.nix b/pkgs/development/ocaml-modules/fpath/default.nix
index 53489f69cc3ef..84f25fed28406 100644
--- a/pkgs/development/ocaml-modules/fpath/default.nix
+++ b/pkgs/development/ocaml-modules/fpath/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, astring }:
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 then throw "fpath is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix
index ccd3fa19a92cf..a12ade51c2ea9 100644
--- a/pkgs/development/ocaml-modules/javalib/default.nix
+++ b/pkgs/development/ocaml-modules/javalib/default.nix
@@ -8,7 +8,7 @@
 , extlib
 }:
 
-if !lib.versionAtLeast ocaml.version "4.04"
+if lib.versionOlder ocaml.version "4.04"
 then throw "javalib is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix
index 85c27f93a0918..fa525dbba813d 100644
--- a/pkgs/development/ocaml-modules/lablgl/default.nix
+++ b/pkgs/development/ocaml-modules/lablgl/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, ocaml, findlib, libGLU, libGL, freeglut } :
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 then throw "lablgl is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
index 736e345dfb35d..75b3940a1d506 100644
--- a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitLab, ocaml, findlib, camlp4, config-file, lablgtk, xmlm }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 || lib.versionAtLeast ocaml.version "4.13"
 then throw "lablgtk-extras is not available for OCaml ${ocaml.version}"
 else
diff --git a/pkgs/development/ocaml-modules/logs/default.nix b/pkgs/development/ocaml-modules/logs/default.nix
index 4359f09ebd324..adc7f255b1988 100644
--- a/pkgs/development/ocaml-modules/logs/default.nix
+++ b/pkgs/development/ocaml-modules/logs/default.nix
@@ -8,7 +8,7 @@ let
   webpage = "https://erratique.ch/software/${pname}";
 in
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 then throw "logs is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/lua-ml/default.nix b/pkgs/development/ocaml-modules/lua-ml/default.nix
index 586fc395064f1..523e453b7d488 100644
--- a/pkgs/development/ocaml-modules/lua-ml/default.nix
+++ b/pkgs/development/ocaml-modules/lua-ml/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, opaline }:
 
-if !lib.versionAtLeast ocaml.version "4.07"
+if lib.versionOlder ocaml.version "4.07"
 then throw "lua-ml is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix
index 96e3abc267461..5f1059395ab22 100644
--- a/pkgs/development/ocaml-modules/lwt/default.nix
+++ b/pkgs/development/ocaml-modules/lwt/default.nix
@@ -4,7 +4,7 @@
 , ocaml-syntax-shims
 }:
 
-let inherit (lib) optional versionAtLeast; in
+let inherit (lib) optional versionOlder; in
 
 buildDunePackage rec {
   pname = "lwt";
@@ -22,9 +22,9 @@ buildDunePackage rec {
   strictDeps = true;
 
   nativeBuildInputs = [ pkg-config cppo ]
-    ++ optional (!versionAtLeast ocaml.version "4.08") ocaml-syntax-shims;
+    ++ optional (versionOlder ocaml.version "4.08") ocaml-syntax-shims;
   buildInputs = [ dune-configurator ]
-    ++ optional (!versionAtLeast ocaml.version "4.07") ncurses;
+    ++ optional (versionOlder ocaml.version "4.07") ncurses;
   propagatedBuildInputs = [ libev mmap ocplib-endian seq result ];
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/nocrypto/default.nix b/pkgs/development/ocaml-modules/nocrypto/default.nix
index d179c8c1c9019..e34e3ae014627 100644
--- a/pkgs/development/ocaml-modules/nocrypto/default.nix
+++ b/pkgs/development/ocaml-modules/nocrypto/default.nix
@@ -15,7 +15,7 @@ let
   '';
 in
 
-if !versionAtLeast ocaml.version "4.08"
+if versionOlder ocaml.version "4.08"
 then throw "nocrypto is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/notty/default.nix b/pkgs/development/ocaml-modules/notty/default.nix
index 1598b2ee5cd35..2e53944a3068a 100644
--- a/pkgs/development/ocaml-modules/notty/default.nix
+++ b/pkgs/development/ocaml-modules/notty/default.nix
@@ -4,7 +4,7 @@
 
 with lib;
 
-if !versionAtLeast ocaml.version "4.05"
+if versionOlder ocaml.version "4.05"
 then throw "notty is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
index 763617be1328c..d084e7f8a62e3 100644
--- a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
+++ b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, astring, pprint }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "ocp-ocamlres is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
index 480ea6daf203f..6ffeec9830485 100644
--- a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
@@ -9,7 +9,7 @@
 , num
 }:
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 then throw "ocsigen-deriving is not available of OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/ppxlib/default.nix b/pkgs/development/ocaml-modules/ppxlib/default.nix
index c5b2dd762cedb..2b7feddfa89b2 100644
--- a/pkgs/development/ocaml-modules/ppxlib/default.nix
+++ b/pkgs/development/ocaml-modules/ppxlib/default.nix
@@ -49,7 +49,7 @@ let param = {
 }."${version}"; in
 
 if param ? max_version && lib.versionAtLeast ocaml.version param.max_version
-|| param ? min_version && !lib.versionAtLeast ocaml.version param.min_version
+|| param ? min_version && lib.versionOlder ocaml.version param.min_version
 then throw "ppxlib-${version} is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/reactivedata/default.nix b/pkgs/development/ocaml-modules/reactivedata/default.nix
index 23ebb3144d11d..9be32d28bab9a 100644
--- a/pkgs/development/ocaml-modules/reactivedata/default.nix
+++ b/pkgs/development/ocaml-modules/reactivedata/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, react, opaline }:
 
-if !lib.versionAtLeast ocaml.version "4.04"
+if lib.versionOlder ocaml.version "4.04"
 then throw "reactiveData is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix
index ec1b59c04077d..eaad7e7f1bbf6 100644
--- a/pkgs/development/ocaml-modules/sawja/default.nix
+++ b/pkgs/development/ocaml-modules/sawja/default.nix
@@ -5,7 +5,7 @@ let
   version = "1.5.11";
 in
 
-if !lib.versionAtLeast ocaml.version "4.07"
+if lib.versionOlder ocaml.version "4.07"
 then throw "${pname} is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/sedlex/default.nix b/pkgs/development/ocaml-modules/sedlex/default.nix
index b808145bcbbcb..685d4426cfc30 100644
--- a/pkgs/development/ocaml-modules/sedlex/default.nix
+++ b/pkgs/development/ocaml-modules/sedlex/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, gen, ppx_tools_versioned, ocaml-migrate-parsetree }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "sedlex is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/sosa/default.nix b/pkgs/development/ocaml-modules/sosa/default.nix
index 141e2a50193df..623f21748a87c 100644
--- a/pkgs/development/ocaml-modules/sosa/default.nix
+++ b/pkgs/development/ocaml-modules/sosa/default.nix
@@ -2,7 +2,7 @@
 , findlib, ocaml, ocamlbuild
 }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "sosa is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/tsdl/default.nix b/pkgs/development/ocaml-modules/tsdl/default.nix
index a56cccbe0717a..3a1990326df9c 100644
--- a/pkgs/development/ocaml-modules/tsdl/default.nix
+++ b/pkgs/development/ocaml-modules/tsdl/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, ctypes, result, SDL2, pkg-config, ocb-stubblr }:
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 then throw "tsdl is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/uri/sexp.nix b/pkgs/development/ocaml-modules/uri/sexp.nix
index 83be70c364977..ba970b1d6c51e 100644
--- a/pkgs/development/ocaml-modules/uri/sexp.nix
+++ b/pkgs/development/ocaml-modules/uri/sexp.nix
@@ -1,6 +1,6 @@
 { lib, ocaml, buildDunePackage, uri, ounit, ppx_sexp_conv, sexplib0 }:
 
-if !lib.versionAtLeast ocaml.version "4.04"
+if lib.versionOlder ocaml.version "4.04"
 then throw "uri-sexp is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/uucp/default.nix b/pkgs/development/ocaml-modules/uucp/default.nix
index 9031087f50539..42705e20d3f5b 100644
--- a/pkgs/development/ocaml-modules/uucp/default.nix
+++ b/pkgs/development/ocaml-modules/uucp/default.nix
@@ -8,7 +8,7 @@ let
   doCheck = true;
 in
 
-if !(lib.versionAtLeast ocaml.version minimumOCamlVersion)
+if lib.versionOlder ocaml.version minimumOCamlVersion
 then builtins.throw "${pname} needs at least OCaml ${minimumOCamlVersion}"
 else
 
diff --git a/pkgs/development/ocaml-modules/uunf/default.nix b/pkgs/development/ocaml-modules/uunf/default.nix
index 12031c53927cf..b61a60c2a3754 100644
--- a/pkgs/development/ocaml-modules/uunf/default.nix
+++ b/pkgs/development/ocaml-modules/uunf/default.nix
@@ -5,7 +5,7 @@ let
   version = "14.0.0";
 in
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 then throw "${pname} is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/vg/default.nix b/pkgs/development/ocaml-modules/vg/default.nix
index 9dc7a4eeeeff6..35a0e51cb09a2 100644
--- a/pkgs/development/ocaml-modules/vg/default.nix
+++ b/pkgs/development/ocaml-modules/vg/default.nix
@@ -8,14 +8,14 @@
 with lib;
 
 let
-  inherit (lib) optionals versionAtLeast;
+  inherit (lib) optionals versionOlder;
 
   pname = "vg";
   version = "0.9.4";
   webpage = "https://erratique.ch/software/${pname}";
 in
 
-if !versionAtLeast ocaml.version "4.03"
+if versionOlder ocaml.version "4.03"
 then throw "vg is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/wasm/default.nix b/pkgs/development/ocaml-modules/wasm/default.nix
index ffe8479b67e95..5d53d6db4186c 100644
--- a/pkgs/development/ocaml-modules/wasm/default.nix
+++ b/pkgs/development/ocaml-modules/wasm/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }:
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 || lib.versionOlder "4.13" ocaml.version
 then throw "wasm is not available for OCaml ${ocaml.version}"
 else
diff --git a/pkgs/development/ocaml-modules/xmlm/default.nix b/pkgs/development/ocaml-modules/xmlm/default.nix
index f7aa1fdf113ee..d989b281cadd1 100644
--- a/pkgs/development/ocaml-modules/xmlm/default.nix
+++ b/pkgs/development/ocaml-modules/xmlm/default.nix
@@ -4,7 +4,7 @@ let
   webpage = "https://erratique.ch/software/${pname}";
 in
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "xmlm is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/z3/default.nix b/pkgs/development/ocaml-modules/z3/default.nix
index 35709b3105e3e..f2ece5550d785 100644
--- a/pkgs/development/ocaml-modules/z3/default.nix
+++ b/pkgs/development/ocaml-modules/z3/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, ocaml, findlib, zarith, z3 }:
 
-if !lib.versionAtLeast ocaml.version "4.07"
+if lib.versionOlder ocaml.version "4.07"
 then throw "z3 is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix
index 95351caee307b..70f0be8c7af89 100644
--- a/pkgs/development/ocaml-modules/zarith/default.nix
+++ b/pkgs/development/ocaml-modules/zarith/default.nix
@@ -3,7 +3,7 @@
 , gmp
 }:
 
-if !lib.versionAtLeast ocaml.version "4.04"
+if lib.versionOlder ocaml.version "4.04"
 then throw "zarith is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/python-modules/ansible/core.nix b/pkgs/development/python-modules/ansible/core.nix
index fc242ccd10ace..7b00ac9b2c4d8 100644
--- a/pkgs/development/python-modules/ansible/core.nix
+++ b/pkgs/development/python-modules/ansible/core.nix
@@ -23,17 +23,17 @@
 
 let
   ansible-collections = callPackage ./collections.nix {
-    version = "5.5.0";
-    sha256 = "sha256-uKdtc3iJyb/Q5rDyJ23PjYNtpmcGejVXdvNQTXpm1Rg=";
+    version = "5.6.0";
+    sha256 = "sha256-rNMHMUNBVNo3bO7rQW7hVBzfuOo8ZIAjpVo0yz7K+fM=";
   };
 in
 buildPythonPackage rec {
   pname = "ansible-core";
-  version = "2.12.3";
+  version = "2.12.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ihNan3TJfKtndZKTdErTQ1D3GVI+i9m7kAjfTPlTryA=";
+    sha256 = "sha256-HMyZRPEBMxra0e1A1axmqBSRMwUq402wJnp0qnO+67M=";
   };
 
   # ansible_connection is already wrapped, so don't pass it through
diff --git a/pkgs/development/python-modules/caldav/default.nix b/pkgs/development/python-modules/caldav/default.nix
index 27b59cfc07e10..c2ffe1786c488 100644
--- a/pkgs/development/python-modules/caldav/default.nix
+++ b/pkgs/development/python-modules/caldav/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "caldav";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "python-caldav";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-2mpE1aLipps4X/3EF0oKHXDcrgUh78/fxY6y1B1V2IU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-1pYbL9k2cfjIw9AFiItlDCidxZIuOAoUcgFmSibkphA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/libraries/science/math/fenics/default.nix b/pkgs/development/python-modules/fenics/default.nix
index 9ca4d6314c1ea..f1ccc5efc84b4 100644
--- a/pkgs/development/libraries/science/math/fenics/default.nix
+++ b/pkgs/development/python-modules/fenics/default.nix
@@ -1,45 +1,37 @@
 { lib, stdenv
 , fetchurl
 , fetchpatch
+, blas
 , boost
 , cmake
 , doxygen
 , eigen
+, gtest
+, hdf5
+, lapack
+, mpi
 , mpi4py
 , numpy
 , pkg-config
+, ply
 , pybind11
 , pytest
-, pythonPackages
-, six
-, sympy
-, gtest
-, hdf5
-, mpi
-, ply
 , python
+, pythonPackages
 , scotch
 , setuptools
+, six
 , sphinx
 , suitesparse
 , swig
+, sympy
 , zlib
-, blas
-, lapack
 , nixosTests
 }:
+
 let
   version = "2019.1.0";
 
-  # TODO: test with newer pytest
-  pytest = pythonPackages.callPackage
-    ../../../../python2-modules/pytest {
-      # hypothesis tests require pytest that causes dependency cycle
-      hypothesis = pythonPackages.hypothesis.override {
-        doCheck = false;
-      };
-    };
-
   dijitso = pythonPackages.buildPythonPackage {
     pname = "dijitso";
     inherit version;
diff --git a/pkgs/development/python-modules/ffcv/default.nix b/pkgs/development/python-modules/ffcv/default.nix
index 809a9ca696d81..08f80d198e4e2 100644
--- a/pkgs/development/python-modules/ffcv/default.nix
+++ b/pkgs/development/python-modules/ffcv/default.nix
@@ -5,7 +5,7 @@
 , numba
 , opencv4
 , pandas
-, pkgconfig
+, pkg-config
 , pytorch-pfn-extras
 , terminaltables
 , tqdm
@@ -35,7 +35,7 @@ buildPythonPackage rec {
       --replace "'webdataset'," ""
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libjpeg ];
   propagatedBuildInputs = [ opencv4 numba pandas pytorch-pfn-extras terminaltables tqdm ];
 
diff --git a/pkgs/development/python-modules/glcontext/default.nix b/pkgs/development/python-modules/glcontext/default.nix
index fe25277e8cdac..a9306c1818645 100644
--- a/pkgs/development/python-modules/glcontext/default.nix
+++ b/pkgs/development/python-modules/glcontext/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "glcontext";
-  version = "2.3.5";
+  version = "2.3.6";
 
   src = fetchFromGitHub {
     owner = "moderngl";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-wvoIfwd0UBooqbJGshADjf96Xqx2k9G1nN3Dy6v3GIY=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-fE1fyoKQz1jmTBcAz2CbkLjRfgN5QedpMOLMU8keIZs=";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/jeepney/default.nix b/pkgs/development/python-modules/jeepney/default.nix
index 3079f152e4444..6ec1fb811cf08 100644
--- a/pkgs/development/python-modules/jeepney/default.nix
+++ b/pkgs/development/python-modules/jeepney/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, flit-core
 , async-timeout
 , dbus
 , pytest
@@ -13,15 +14,21 @@
 
 buildPythonPackage rec {
   pname = "jeepney";
-  version = "0.7.1";
+  version = "0.8.0";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
+
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fa9e232dfa0c498bd0b8a3a73b8d8a31978304dcef0515adc859d4e096f96f4f";
+    sha256 = "5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   checkInputs = [
     async-timeout
     dbus
diff --git a/pkgs/development/python-modules/jupyterlab_server/default.nix b/pkgs/development/python-modules/jupyterlab_server/default.nix
index bcd06ebffb395..e612cfaeab043 100644
--- a/pkgs/development/python-modules/jupyterlab_server/default.nix
+++ b/pkgs/development/python-modules/jupyterlab_server/default.nix
@@ -25,7 +25,11 @@ buildPythonPackage rec {
   };
 
   postPatch = ''
-    sed -i "/^addopts/d" pyproject.toml
+    substituteInPlace pyproject.toml \
+      --replace "--cov jupyterlab_server --cov-report term-missing --cov-report term:skip-covered" ""
+
+    # translation tests try to install additional packages into read only paths
+    rm -r tests/translations/
   '';
 
   propagatedBuildInputs = [ requests jsonschema pyjson5 Babel jupyter_server ];
@@ -37,8 +41,6 @@ buildPythonPackage rec {
     ruamel-yaml
   ];
 
-  pytestFlagsArray = [ "--pyargs" "jupyterlab_server" ];
-
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/libtmux/default.nix b/pkgs/development/python-modules/libtmux/default.nix
index 7a7e116aa2212..74515e1c1396a 100644
--- a/pkgs/development/python-modules/libtmux/default.nix
+++ b/pkgs/development/python-modules/libtmux/default.nix
@@ -3,19 +3,20 @@
 , buildPythonPackage
 , poetry-core
 , pytestCheckHook
-, pkgs
+, procps
+, tmux
 }:
 
 buildPythonPackage rec {
   pname = "libtmux";
-  version = "0.10.3";
+  version = "0.11.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "tmux-python";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256:0syj8m4x2mcq96b76b7h75dsmcai22m15pfgkk90rpg7rp6sn772";
+    hash = "sha256-QbKqS40la6UGZENyGEw5kXigzexp3q7ff43fKlQ9GqE=";
   };
 
   nativeBuildInputs = [
@@ -23,8 +24,9 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pkgs.procps
-    pkgs.tmux
+    procps
+    tmux
+
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/onnx/default.nix b/pkgs/development/python-modules/onnx/default.nix
index 2846042e8d457..377521bb2f878 100644
--- a/pkgs/development/python-modules/onnx/default.nix
+++ b/pkgs/development/python-modules/onnx/default.nix
@@ -55,6 +55,11 @@ buildPythonPackage rec {
     export MAX_JOBS=$NIX_BUILD_CORES
   '';
 
+  disabledTestPaths = [
+    # Unexpected output fields from running code: {'stderr'}
+    "onnx/examples/np_array_tensorproto.ipynb"
+  ];
+
   # The executables are just utility scripts that aren't too important
   postInstall = ''
     rm -r $out/bin
diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix
index d0671f93513df..0b72031a4bc7c 100644
--- a/pkgs/development/python-modules/pikepdf/default.nix
+++ b/pkgs/development/python-modules/pikepdf/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "5.1.1";
+  version = "5.1.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     extraPostFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-LgF46DGVWNuUN2KGdfOGSokf4reDx55ay3gP2LO+4dY=";
+    hash = "sha256-VR2/+XCQb62FdkGZBxP2XTqatdFYZO1ngb8gvoJEvzs=";
   };
 
   patches = [
@@ -81,10 +81,6 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  disabledTests = [
-    "test_image_palette" # https://github.com/pikepdf/pikepdf/issues/328
-  ];
-
   pythonImportsCheck = [ "pikepdf" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
index 3c239d970402c..c30f3bd5120d8 100644
--- a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
+++ b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
@@ -3,8 +3,10 @@
 , lib
 , numpy
 , onnx
+, packaging
 , pytestCheckHook
 , pytorch
+, torchvision
 , typing-extensions
 }:
 
@@ -19,9 +21,14 @@ buildPythonPackage rec {
     sha256 = "sha256-gB575ZKXZRAy5K5CkBtfG6KG1yQ9WDREIobsy43CEOc=";
   };
 
-  propagatedBuildInputs = [ numpy pytorch typing-extensions ];
+  propagatedBuildInputs = [ numpy packaging pytorch typing-extensions ];
 
-  checkInputs = [ onnx pytestCheckHook ];
+  checkInputs = [ onnx pytestCheckHook torchvision ];
+
+  # ignore all pytest warnings
+  preCheck = ''
+    rm pytest.ini
+  '';
 
   pythonImportsCheck = [ "pytorch_pfn_extras" ];
 
@@ -29,6 +36,15 @@ buildPythonPackage rec {
     # Requires optuna which is currently (2022-02-16) marked as broken.
     "tests/pytorch_pfn_extras_tests/test_config_types.py"
 
+    # requires onnxruntime which was removed because of poor maintainability
+    # See https://github.com/NixOS/nixpkgs/pull/105951 https://github.com/NixOS/nixpkgs/pull/155058
+    "tests/pytorch_pfn_extras_tests/onnx_tests/test_export.py"
+    "tests/pytorch_pfn_extras_tests/onnx_tests/test_torchvision.py"
+    "tests/pytorch_pfn_extras_tests/onnx_tests/utils.py"
+
+    # RuntimeError: No Op registered for Gradient with domain_version of 9
+    "tests/pytorch_pfn_extras_tests/onnx_tests/test_grad.py"
+
     # Requires CUDA access which is not possible in the nix environment.
     "tests/pytorch_pfn_extras_tests/cuda_tests/test_allocator.py"
     "tests/pytorch_pfn_extras_tests/nn_tests/modules_tests/test_lazy_batchnorm.py"
diff --git a/pkgs/development/python-modules/rapidfuzz/default.nix b/pkgs/development/python-modules/rapidfuzz/default.nix
index 0ce27eccd0efc..45929e3c991d3 100644
--- a/pkgs/development/python-modules/rapidfuzz/default.nix
+++ b/pkgs/development/python-modules/rapidfuzz/default.nix
@@ -9,13 +9,16 @@
 , jarowinkler
 , numpy
 , hypothesis
+, jarowinkler-cpp
 , pandas
 , pytestCheckHook
+, rapidfuzz-cpp
+, taskflow
 }:
 
 buildPythonPackage rec {
   pname = "rapidfuzz";
-  version = "2.0.8";
+  version = "2.0.11";
 
   disabled = pythonOlder "3.6";
 
@@ -23,8 +26,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "RapidFuzz";
     rev = "v${version}";
-    fetchSubmodules = true;
-    hash = "sha256-LA4UpP3jFcVZTYKuq8aBvfGgEhyOLeCUsUXEgSnwb94=";
+    hash = "sha256-npmdnUMrmbHgUgqMxKBytgtL1weWw6BjVNmBkYSKNMw=";
   };
 
   nativeBuildInputs = [
@@ -36,6 +38,12 @@ buildPythonPackage rec {
 
   dontUseCmakeConfigure = true;
 
+  buildInputs = [
+    jarowinkler-cpp
+    rapidfuzz-cpp
+    taskflow
+  ];
+
   propagatedBuildInputs = [
     jarowinkler
     numpy
diff --git a/pkgs/development/python-modules/ripser/default.nix b/pkgs/development/python-modules/ripser/default.nix
index 6c510f577e466..5317b39f083af 100644
--- a/pkgs/development/python-modules/ripser/default.nix
+++ b/pkgs/development/python-modules/ripser/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , pythonOlder
 , cython
@@ -7,7 +8,7 @@
 , scipy
 , scikit-learn
 , persim
-, pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -20,8 +21,11 @@ buildPythonPackage rec {
     sha256 = "335112a0f94532ccbe686db7826ee8d0714b32f65891abf92c0a02f3cb0fc5fd";
   };
 
-  checkInputs = [
-    pytest
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/scikit-tda/ripser.py/commit/4baa248994cee9a65d710fac91809bad8ed4e5f1.patch";
+      sha256 = "sha256-J/nxMOGOUiBueojJrUlAaXwktHDploYG/XL8/siF2kY=";
+    })
   ];
 
   propagatedBuildInputs = [
@@ -32,13 +36,15 @@ buildPythonPackage rec {
     persim
   ];
 
-  checkPhase = ''
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
     # specifically needed for darwin
     export HOME=$(mktemp -d)
     mkdir -p $HOME/.matplotlib
     echo "backend: ps" > $HOME/.matplotlib/matplotlibrc
-
-    pytest
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tpm2-pytss/default.nix b/pkgs/development/python-modules/tpm2-pytss/default.nix
index 77f778b001022..e003d075a1582 100644
--- a/pkgs/development/python-modules/tpm2-pytss/default.nix
+++ b/pkgs/development/python-modules/tpm2-pytss/default.nix
@@ -1,37 +1,58 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
-, pkg-config, swig
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, asn1crypto
+, cffi
+, cryptography
+, ibm-sw-tpm2
+, pkg-config
+, pkgconfig
+, pycparser
+, pytestCheckHook
+, python
+, setuptools-scm
 , tpm2-tss
-, cryptography, ibm-sw-tpm2
 }:
 
 buildPythonPackage rec {
   pname = "tpm2-pytss";
-
-  # Last version on github is 0.2.4, but it looks
-  # like a mistake (it's missing commits from 0.1.9)
   version = "1.1.0";
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "sha256-O0d1b99/V8b3embg8veerTrJGSVb/prlPVb7qSHErdQ=";
   };
-  postPatch = ''
-    substituteInPlace tpm2_pytss/config.py --replace \
-      'SYSCONFDIR = CONFIG.get("sysconfdir", "/etc")' \
-      'SYSCONFDIR = "${tpm2-tss}/etc"'
-  '';
 
-  nativeBuildInputs = [ pkg-config swig ];
-  # The TCTI is dynamically loaded from tpm2-tss, we have to provide the library to the end-user
-  propagatedBuildInputs = [ tpm2-tss ];
+  nativeBuildInputs = [
+    cffi
+    pkgconfig
+    # somehow propagating from pkgconfig does not work
+    pkg-config
+    setuptools-scm
+  ];
 
-  checkInputs = [
+  buildInputs = [
+    tpm2-tss
+  ];
+
+  propagatedBuildInputs = [
+    cffi
+    asn1crypto
     cryptography
-    # provide tpm_server used as simulator for the tests
+  ];
+
+  # https://github.com/tpm2-software/tpm2-pytss/issues/341
+  doCheck = false;
+
+  checkInputs = [
     ibm-sw-tpm2
+    pytestCheckHook
   ];
 
+  pythonImportsCheck = [ "tpm2_pytss" ];
+
   meta = with lib; {
     homepage = "https://github.com/tpm2-software/tpm2-pytss";
     description = "TPM2 TSS Python bindings for Enhanced System API (ESYS)";
diff --git a/pkgs/development/python-modules/weconnect-mqtt/default.nix b/pkgs/development/python-modules/weconnect-mqtt/default.nix
index b49d6c358210c..646702befbb37 100644
--- a/pkgs/development/python-modules/weconnect-mqtt/default.nix
+++ b/pkgs/development/python-modules/weconnect-mqtt/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect-mqtt";
-  version = "0.32.0";
+  version = "0.33.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-mqtt";
     rev = "v${version}";
-    sha256 = "sha256-XuWiWL3cszC8aM+CJcAk359VaBCZNUOu4mAfmbdpoGg=";
+    sha256 = "sha256-m8T1ngTcqwrel4EW8jvXg7RH+TtYyZRvIR33kzgda7E=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/weconnect/default.nix b/pkgs/development/python-modules/weconnect/default.nix
index db3cc1b8f82f6..1dab5c8c92808 100644
--- a/pkgs/development/python-modules/weconnect/default.nix
+++ b/pkgs/development/python-modules/weconnect/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect";
-  version = "0.38.1";
+  version = "0.39.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-python";
     rev = "v${version}";
-    sha256 = "sha256-n9MqJ+npdHYpQJ8m6V8Oop+VuQ3EOCRrfIlU5qAc/Y8=";
+    sha256 = "sha256-O5Dh0RWvSXCIF0savyNG5XDhGqCTJZHQpJM4VEX+S9w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/quickemu/default.nix b/pkgs/development/quickemu/default.nix
index 0a0dfb004f13b..e70053a316bfa 100644
--- a/pkgs/development/quickemu/default.nix
+++ b/pkgs/development/quickemu/default.nix
@@ -43,13 +43,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "quickemu";
-  version = "3.14";
+  version = "3.15";
 
   src = fetchFromGitHub {
     owner = "quickemu-project";
     repo = "quickemu";
     rev = version;
-    sha256="sha256-7zaXazGzb36Nwk/meJ3lGD+l+fylWZYnhttDL1CXN9s=";
+    sha256="sha256-ako/eh8cMWKvdrgm9VTgSH67nA2igKUlJZtBeH1bu4Y=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/electron/generic.nix b/pkgs/development/tools/electron/generic.nix
index 7b1de8045454b..05d9facf60be0 100644
--- a/pkgs/development/tools/electron/generic.nix
+++ b/pkgs/development/tools/electron/generic.nix
@@ -62,10 +62,10 @@ let
 
   electronLibPath = with lib; makeLibraryPath (
     [ libuuid at-spi2-atk at-spi2-core libappindicator-gtk3 ]
-    ++ optionals (! versionOlder version "9.0.0") [ libdrm mesa ]
-    ++ optionals (! versionOlder version "11.0.0") [ libxkbcommon ]
-    ++ optionals (! versionOlder version "12.0.0") [ libxshmfence ]
-    ++ optionals (! versionOlder version "17.0.0") [ libglvnd ]
+    ++ optionals (versionAtLeast version "9.0.0") [ libdrm mesa ]
+    ++ optionals (versionAtLeast version "11.0.0") [ libxkbcommon ]
+    ++ optionals (versionAtLeast version "12.0.0") [ libxshmfence ]
+    ++ optionals (versionAtLeast version "17.0.0") [ libglvnd ]
   );
 
   linux = {
@@ -93,7 +93,7 @@ let
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
         --set-rpath "${atomEnv.libPath}:${electronLibPath}:$out/lib/electron" \
         $out/lib/electron/electron \
-        ${lib.optionalString (! lib.versionOlder version "15.0.0") "$out/lib/electron/chrome_crashpad_handler" }
+        ${lib.optionalString (lib.versionAtLeast version "15.0.0") "$out/lib/electron/chrome_crashpad_handler" }
 
       wrapProgram $out/lib/electron/electron \
         --prefix LD_PRELOAD : ${lib.makeLibraryPath [ libXScrnSaver ]}/libXss.so.1 \
diff --git a/pkgs/development/tools/evans/default.nix b/pkgs/development/tools/evans/default.nix
index 95e0839f46b35..82238d65d4ac8 100644
--- a/pkgs/development/tools/evans/default.nix
+++ b/pkgs/development/tools/evans/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "evans";
-  version = "0.10.3";
+  version = "0.10.5";
 
   src = fetchFromGitHub {
     owner = "ktr0731";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4KHJodqmx03uQ+HJBWmKbIBvkLh80N4fHnYL4GLciNc=";
+    sha256 = "sha256-3gl4m0zTe8y4KLMAy3I7YD4Q7gLrRf3QsJap2IGX9Tk=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-to75gON3Kl0GHgVhhrW8I6GWOg9/KrUts3rwDLAfFnM=";
+  vendorSha256 = "sha256-BYOrby7tlQJ0ZjZHCeDWzsCv7jBfwX9RX1weLfEz+cU=";
 
   meta = with lib; {
     description = "More expressive universal gRPC client";
diff --git a/pkgs/development/tools/gofumpt/default.nix b/pkgs/development/tools/gofumpt/default.nix
index 9c8f5e20b7e50..9030a185d5666 100644
--- a/pkgs/development/tools/gofumpt/default.nix
+++ b/pkgs/development/tools/gofumpt/default.nix
@@ -13,8 +13,6 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-Il1E1yOejLEdKRRMqelGeJbHRjx4qFymf7N98BEdFzg=";
 
-  doCheck = false;
-
   meta = with lib; {
     description = "A stricter gofmt";
     homepage = "https://github.com/mvdan/gofumpt";
diff --git a/pkgs/development/tools/ocaml/cppo/ocamlbuild.nix b/pkgs/development/tools/ocaml/cppo/ocamlbuild.nix
index 633dc6bc7bf68..d0627480ea1c1 100644
--- a/pkgs/development/tools/ocaml/cppo/ocamlbuild.nix
+++ b/pkgs/development/tools/ocaml/cppo/ocamlbuild.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, cppo, ocamlbuild }:
 
-if !lib.versionAtLeast (lib.getVersion cppo) "1.6"
+if lib.versionOlder (lib.getVersion cppo) "1.6"
 then cppo
 else
 
diff --git a/pkgs/development/tools/ocaml/dune/1.nix b/pkgs/development/tools/ocaml/dune/1.nix
index 74deb9d2fa556..d6d3863afab8f 100644
--- a/pkgs/development/tools/ocaml/dune/1.nix
+++ b/pkgs/development/tools/ocaml/dune/1.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, ocaml, findlib, ncurses }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 || lib.versionAtLeast ocaml.version "4.12"
 then throw "dune 1 is not available for OCaml ${ocaml.version}"
 else
diff --git a/pkgs/development/tools/ocaml/merlin/4.x.nix b/pkgs/development/tools/ocaml/merlin/4.x.nix
index 2d030b2d15601..635273bcfd25a 100644
--- a/pkgs/development/tools/ocaml/merlin/4.x.nix
+++ b/pkgs/development/tools/ocaml/merlin/4.x.nix
@@ -48,7 +48,7 @@ buildDunePackage {
       dot_merlin_reader = "${dot-merlin-reader}/bin/dot-merlin-reader";
       dune = "${dune_2}/bin/dune";
     })
-  ] ++ lib.optional (!lib.versionAtLeast ocaml.version "4.12")
+  ] ++ lib.optional (lib.versionOlder ocaml.version "4.12")
     # This fixes the test-suite on macOS
     # See https://github.com/ocaml/merlin/pull/1399
     # Fixed in 4.4 for OCaml ≥ 4.12
diff --git a/pkgs/development/tools/omnisharp-roslyn/default.nix b/pkgs/development/tools/omnisharp-roslyn/default.nix
index d40248a5234a6..a76e57ad4265b 100644
--- a/pkgs/development/tools/omnisharp-roslyn/default.nix
+++ b/pkgs/development/tools/omnisharp-roslyn/default.nix
@@ -95,6 +95,11 @@ in stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     cp -r bin/Release/OmniSharp.Stdio.Driver/net6.0 $out/src
+
+    # Delete files to mimick hacks in https://github.com/OmniSharp/omnisharp-roslyn/blob/bdc14ca/build.cake#L594
+    rm $out/src/NuGet.*.dll
+    rm $out/src/System.Configuration.ConfigurationManager.dll
+
     makeWrapper $out/src/OmniSharp $out/bin/omnisharp \
       --prefix DOTNET_ROOT : ${dotnet-sdk} \
       --suffix PATH : ${dotnet-sdk}/bin
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
index 487f3a27e0725..e2cfb0944dd34 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-c-sharp",
-  "rev": "352a4630c81a7a5cbd3bc67327743bd8d38f2dd2",
-  "date": "2022-01-03T12:31:17+00:00",
-  "path": "/nix/store/c7k10h98vzqag0rsywm0p71jaz57880x-tree-sitter-c-sharp",
-  "sha256": "198n5i9bvks0mmbqgzjgrhv6hy1afnx806jnap10241iyd817jbf",
+  "rev": "5b6ae1f88e741b9ed738891ad1362fb9f2041671",
+  "date": "2022-03-23T15:50:46-04:00",
+  "path": "/nix/store/n5kjbimssqrwz7h99gq83935432dpm5s-tree-sitter-c-sharp",
+  "sha256": "1yp1lyzay7hxlgca2r5yigpdy80vli4f48k2bm3h2rpa99fczmrb",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json
index 4527f8d000e84..292b7c032666f 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/sogaiu/tree-sitter-clojure",
-  "rev": "1b24766fe9feacb8f5006233fe5c2ebd0ba31eff",
-  "date": "2022-02-19T08:24:15+09:00",
-  "path": "/nix/store/1vxhbw0dxg95z8rbs1b96nrcjvhrhb52-tree-sitter-clojure",
-  "sha256": "0sqi825gyjndn3v00kvk9scw6s5q0lr3ig6v49sccqc2addnr6di",
+  "rev": "879f0e726295807d917d576fcf9e1e432c4c20fc",
+  "date": "2022-04-11T22:46:47+09:00",
+  "path": "/nix/store/19bcj8f61w958njvksnqzm5r5s8szzz2-tree-sitter-clojure",
+  "sha256": "16g7s819gjgdc4wlp7rnvyv5i5dqa1yawxs8l4ggnz8n8acqza9n",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json
index 56e0ad099ce3c..bc6b7d9391638 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/stsewd/tree-sitter-comment",
-  "rev": "6975eb268f42df2afc313f96c0693e284685dba7",
-  "date": "2022-01-22T20:58:19-05:00",
-  "path": "/nix/store/nl4whdipy7a4g3ds2yv3c0qr7z4pifwn-tree-sitter-comment",
-  "sha256": "009krarzs9qykd8fas67gychjzcbgj8j0jm9h0963dlxs4hyay73",
+  "rev": "a37ca370310ac6f89b6e0ebf2b86b2219780494e",
+  "date": "2022-03-28T20:21:33-05:00",
+  "path": "/nix/store/nbf4bgxb7a15mwbi6lsfn7gbq8x1s3c1-tree-sitter-comment",
+  "sha256": "0y0wqzgrwwg09ipfs6i3bcxm5hbvs938g2ksnygcbgqdwgd5h8f2",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-devicetree.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-devicetree.json
index 4b301bb0f5773..6bb7fd3421550 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-devicetree.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-devicetree.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/joelspadin/tree-sitter-devicetree",
-  "rev": "fa70098cd70393f84785f85cdc6a45299b59cd5b",
-  "date": "2021-03-28T12:08:53-05:00",
-  "path": "/nix/store/6nqsmnd75vwbvkj764vg5slkmjzkmdd9-tree-sitter-devicetree",
-  "sha256": "0mr3q2l7js6csb1fp8xjysikj26l94p3mmsiik4qwnw5kg694yam",
+  "rev": "877adbfa0174d25894c40fa75ad52d4515a36368",
+  "date": "2022-03-23T18:25:46-05:00",
+  "path": "/nix/store/q0rqqm39h4dh17nlrr10kbfcqbdfk5kl-tree-sitter-devicetree",
+  "sha256": "1ds7pa4x1yd54xa2mba37vp8lbi8n4l975lps0249x8xw35r0jrl",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json
index c6257a25b157b..2f673c7172cea 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/elixir-lang/tree-sitter-elixir",
-  "rev": "b4027d7cfc96935b50878bdf9faf80bd64ac73cf",
-  "date": "2022-03-04T15:40:04+00:00",
-  "path": "/nix/store/h3qh2s4q51bnq66p1v067g1fb8bd1743-tree-sitter-elixir",
-  "sha256": "1pf2n1j8j5w7mrh81yzvha1gh4w3vffngikj04kzd5gkx9asf3x6",
+  "rev": "ec1c4cac1b2f0290c53511a72fbab17c47815d2b",
+  "date": "2022-04-18T23:16:26+02:00",
+  "path": "/nix/store/2jmkl3lxq6cy0cg4wjf3hgjciw0xsm0y-tree-sitter-elixir",
+  "sha256": "0xiprldyfqpx5fil1b1kbnpj57n7j15j3m8dhibhif7azbd1z1y3",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
index 49a04edbc37bb..ca9760bb7e268 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-go",
-  "rev": "07d722831382a043b16547b6d9202f3da07f3cb3",
-  "date": "2022-03-22T15:34:30+01:00",
-  "path": "/nix/store/9ay5gjwnip3jcmi096sw5fyi1kxqg1pk-tree-sitter-go",
-  "sha256": "0rc1p5jab08v1r81gzaz5xmxmbspl5i5zxba9immzax8ahzhhaxn",
+  "rev": "c8fed1f0847a65a04a4b8cb7655f5f416e0742ca",
+  "date": "2022-03-29T10:06:48+02:00",
+  "path": "/nix/store/f9vy5q9p3rf2dcp7zdw9708j138ibi36-tree-sitter-go",
+  "sha256": "0yi8h1q39hsdxp9053by9xkl53wn229fhwjrrzml7k8y95qgnsyd",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json
index 2b8fe79a3d245..9ae45f8991011 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/camdencheek/tree-sitter-go-mod",
-  "rev": "3cbcb572109ea0bc476a292208722c326c9e6c3a",
-  "date": "2021-12-16T14:44:10-07:00",
-  "path": "/nix/store/jxc3lqcxagfvlk7l62fg8z98mjrn7pgz-tree-sitter-go-mod",
-  "sha256": "0csrvmpvihwmw3772j4lkj49myqqp0f7imi7c11h9x9szz3lc8x8",
+  "rev": "e8f51f8e4363a3d9a427e8f63f4c1bbc5ef5d8d0",
+  "date": "2022-04-05T11:00:59-06:00",
+  "path": "/nix/store/4a0idwqi76n4g809inrkv88nv68dgc0i-tree-sitter-go-mod",
+  "sha256": "09rkqwdwhsm41nrz73rqbajap4bc0spjcld9k9fr8xmlmqa67j2b",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json
index 654a89b5979b1..1a067f18d14c2 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/connorlay/tree-sitter-heex",
-  "rev": "592e22292a367312c35e13de7fdb888f029981d6",
-  "date": "2022-01-30T14:04:04-08:00",
-  "path": "/nix/store/21n6sqyvkfd0q5ass9nj2wgicm9ljmgv-tree-sitter-heex",
-  "sha256": "1k4nhlbbn7lqrjmkz8rr81rsrfkl9qfwm9q7qd2b18ygzr52payh",
+  "rev": "57e46b4b002d5fb5c1f2706fe42380e544ecab5f",
+  "date": "2022-04-17T10:39:01-07:00",
+  "path": "/nix/store/afmvzkh237ikn0b9fw51crzhyk4ys1d2-tree-sitter-heex",
+  "sha256": "0gfxqph5j3n3dlpnyw85lrwhgjh4zm7mdrnf0qyv0f2basayfabm",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
index 664e31613c5d3..42bd6f10771ad 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-java",
-  "rev": "881b84fe7078651af5077cc4cea4c85f9fddde3b",
-  "date": "2022-03-21T10:50:51+01:00",
-  "path": "/nix/store/ii1dwsg972sbllim6vrmjbcaw9fcy2b1-tree-sitter-java",
-  "sha256": "0kvqqrx669fyaxm55l0p5vbswf9bfknl0brsr6llyzdz81dl0vk4",
+  "rev": "e7cb801ef57f74db5c4ebe14df74de852bb451b5",
+  "date": "2022-04-16T15:36:51+02:00",
+  "path": "/nix/store/55br93464adchwwjwdqjai8ppykwh098-tree-sitter-java",
+  "sha256": "0w27xk9j7mm9gr5aiwcv6cgfvzfnps0l9b09mwfqxhndh7j96vfn",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
index 13e67533f401f..397ee48ff77c3 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-json",
-  "rev": "203e239408d642be83edde8988d6e7b20a19f0e8",
-  "date": "2021-08-18T10:35:07-07:00",
-  "path": "/nix/store/yqbmn17vs2lxqg5wa8b269fcsd5wr4bv-tree-sitter-json",
-  "sha256": "08igb9ylfdsjasyn0p9j4sqpp0i2x1qcdzacbmsag02jmkyi6s7f",
+  "rev": "137e1ce6a02698fc246cdb9c6b886ed1de9a1ed8",
+  "date": "2022-04-21T11:20:07-07:00",
+  "path": "/nix/store/5f0z08shhb8d03ab4zlaq9ss4dim6k9f-tree-sitter-json",
+  "sha256": "1amiaiizd4mvmnbwqbr8lmisi9831di8r8xck9wyi5sfj3nd8hai",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json
index 9f093a4d4e376..087e491a03407 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-julia",
-  "rev": "12ea597262125fc22fd2e91aa953ac69b19c26ca",
-  "date": "2021-05-03T17:44:45-07:00",
-  "path": "/nix/store/lbz23r698hn7cha09qq0dbfay7dh74gg-tree-sitter-julia",
-  "sha256": "0rmd7k3rv567psxrlqv17gvckijs19xs6mxni045rpayxmk441sk",
+  "rev": "1e8fe0b3988e7cf56530837fd3a870089ddc7684",
+  "date": "2022-04-15T13:59:51-07:00",
+  "path": "/nix/store/9li8yqbvf95jksbv6myzha9bpmwq6xsg-tree-sitter-julia",
+  "sha256": "0jwwx7ipdw7lq53zn5j72w5n4schjnmfv5fb3lii1nj60fqahrp7",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
index 739e6006c2757..5b7e511efb19a 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/latex-lsp/tree-sitter-latex",
-  "rev": "b71e4928a63a6d75bc1670004a5b5a98c850a149",
-  "date": "2022-03-16T20:19:11+01:00",
-  "path": "/nix/store/gzpihd6k8cqsl0facz7kfgn2dh294fxw-tree-sitter-latex",
-  "sha256": "1z2ywj57fpxaym6bv5ixvc01h8szazbhzmzzw960f49mlrima3n6",
+  "rev": "8c5d90e78fa58ee6acab465ffa9a53e8b7b2c69c",
+  "date": "2022-04-23T15:10:18+02:00",
+  "path": "/nix/store/qpc37mjsl75qnmyzbkw6azphwzfdr9n9-tree-sitter-latex",
+  "sha256": "1xq5g34g9sqshhpprakc4k5lrlgg1n8vb7d7nfrx4ilrz5s0kks1",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ledger.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ledger.json
index a75a617649121..879893ca4bd28 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ledger.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ledger.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/cbarrete/tree-sitter-ledger",
-  "rev": "0cdeb0e51411a3ba5493662952c3039de08939ca",
-  "date": "2021-09-06T18:36:51-04:00",
-  "path": "/nix/store/8gh6lfvqczb6n6ncnmszvk3kj527m75w-tree-sitter-ledger",
-  "sha256": "1z0r2aphijzq6j67gb2lx2qr3fi2qpiz2x9dwkjvppdb4ch7ga7m",
+  "rev": "1050a25df55a62878102d10e524b5184b316b7ad",
+  "date": "2022-04-01T08:21:18-04:00",
+  "path": "/nix/store/hfhxv3k8kxpg7m31xzrf56lbaa4ips65-tree-sitter-ledger",
+  "sha256": "0qivr9wjab8m1ha4zisznijpw4x3phv0q0nh8lnsx7bjbz6f7xfx",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json
index caa2f13a358ce..1ed8397bd17a1 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/benwilliamgraham/tree-sitter-llvm",
-  "rev": "3b213925b9c4f42c1acfe2e10bfbb438d9c6834d",
-  "date": "2021-12-27T14:02:51-05:00",
-  "path": "/nix/store/hjg9z82l3iqyjw0s9lf1kkm31p5wlv3d-tree-sitter-llvm",
-  "sha256": "0ymrdcajji11852c158w67mgcsycphwj9mh777q3n4jn8pp37y8j",
+  "rev": "e9948edc41e9e5869af99dddb2b5ff5cc5581af6",
+  "date": "2022-03-31T23:27:40-04:00",
+  "path": "/nix/store/8nkhzala4wscfip1g0skh1cxvmp3gp8l-tree-sitter-llvm",
+  "sha256": "0d579ylhi3hgzm5wbahs6hci1rhv7q1x6wsav9dbzv1y6np2dfrk",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json
index a11ac648fed2a..52ade503e8a9c 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/MunifTanjim/tree-sitter-lua",
-  "rev": "547184a6cfcc900fcac4a2a56538fa8bcdb293e6",
-  "date": "2022-01-28T20:44:16+06:00",
-  "path": "/nix/store/gvq91asqk6911bci8xxx5wjbp2p3c2lk-tree-sitter-lua",
-  "sha256": "04z182d591r3jlw0yx29m0hhzw4b14f8m85rz2bw959p0yghs88k",
+  "rev": "2b4ffd5a5ffd0c6b4c84f0d9e003050a70db2a37",
+  "date": "2022-04-08T22:29:43+06:00",
+  "path": "/nix/store/gj2bbwc3105djyl3l5b0hjr1y1jg7262-tree-sitter-lua",
+  "sha256": "1l383clymmzk0q9b21kcgnmpww4hsh938yd3z9djpkhagadpqpjs",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
index 5da2dc0585e76..a60bf1dffc6b6 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/MDeiml/tree-sitter-markdown",
-  "rev": "b49b2da50864171eff56acc8ba067c3540a3991f",
-  "date": "2022-02-26T15:22:17+01:00",
-  "path": "/nix/store/vllxsz0nvlw6z9y6s199l5z8f5dlhcpv-tree-sitter-markdown",
-  "sha256": "1adypmkfsf6pgahba588d8l6ib59209rb2fkyk2dv0d3va76pr8x",
+  "rev": "d24196f9b3e5af6fcb2ec2a0b6cbc5c06f58b85e",
+  "date": "2022-03-30T11:47:57+02:00",
+  "path": "/nix/store/rdac46kl274bdd18bdrdh33s71sin7xd-tree-sitter-markdown",
+  "sha256": "07i3zwjla74s61w39fqfmb5a61dw6xlgfagh70p1rpvyrpxsywds",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
index 67e75cd60ee2f..c9b0ce8fcbb31 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/milisims/tree-sitter-org",
-  "rev": "1c3eb533a9cf6800067357b59e03ac3f91fc3a54",
-  "date": "2022-02-05T14:19:52-05:00",
-  "path": "/nix/store/n51rx6d005iibpvb1bb2d7az1l6p6vlq-tree-sitter-org",
-  "sha256": "06xkhhdlkikvxadp7wnk8riz51mjq9ks1jchdy9x3fmq6bj72y1p",
+  "rev": "fab7af32a2719091df5b222f98099c566859de78",
+  "date": "2022-04-07T16:00:06-04:00",
+  "path": "/nix/store/b17cvbkdvv7d3dzbi58lgrqsnhvh79d8-tree-sitter-org",
+  "sha256": "0jz69wm1ay84zkslbcp4l906ay7l4jd3bi1k1ivclpx493pg8ia7",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
index 856d6bbb7e5c5..c1bc94c210a1a 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-php",
-  "rev": "0ce134234214427b6aeb2735e93a307881c6cd6f",
-  "date": "2022-01-31T19:53:17+01:00",
-  "path": "/nix/store/kdddnbbsik9wvnjh1wnbyzzr1x8v64ps-tree-sitter-php",
-  "sha256": "0gg3p1zpwfhf0qz0isnca0zi5zkxs5j5bmjix99dv3rkw911vk17",
+  "rev": "3c17a28da38afac41332d3ce79bbd8951867f346",
+  "date": "2022-03-29T09:09:35-07:00",
+  "path": "/nix/store/7dmygp3gi9ch00mf59d7g2l8k6f2pl81-tree-sitter-php",
+  "sha256": "06xc4y67pl96h1gfh9zg4yxdgqj5mv7md28m78gix8sk1h011irq",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-prisma.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-prisma.json
index ad0fbd525ed85..9688a1d2b7c70 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-prisma.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-prisma.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/victorhqc/tree-sitter-prisma",
-  "rev": "bf0833cbedb2c5b39250f5ba900f1239a16c6749",
-  "date": "2022-03-18T18:56:29+01:00",
-  "path": "/nix/store/9pq2l5b34xvi3v6i9zq1qxh3r2ilg2qs-tree-sitter-prisma",
-  "sha256": "0idgrra41w4v3sa4sb0p3ba7k6sxfw74px4fkpprddjqjdnsrl50",
+  "rev": "0ac307e4be0409d4327082ddc737ed432a49dfc3",
+  "date": "2022-04-20T10:52:00+02:00",
+  "path": "/nix/store/24vp6k2ijg832c95hx2x0j8x4i6pxffz-tree-sitter-prisma",
+  "sha256": "13rcwlkxv9dns7mgxrb34vzhq32c854bna6gsyczvs6vishm6i9l",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json
index f77e929225336..a5797af4139b3 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/r-lib/tree-sitter-r",
-  "rev": "c19e54de252d5573cc2a762a030957074526fe99",
-  "date": "2022-01-27T09:41:27-05:00",
-  "path": "/nix/store/b2h3khs1x0j4j2fvs2sbkx1dp3d8fx4g-tree-sitter-r",
-  "sha256": "1zan8dhjpxrn7vy7mvbc85hcdd5lls3vzpk6nchvn3j0i1ach85h",
+  "rev": "cc04302e1bff76fa02e129f332f44636813b0c3c",
+  "date": "2022-03-28T10:31:51-04:00",
+  "path": "/nix/store/0s6513shwiiqq26ma0alx16f9w0sg2yp-tree-sitter-r",
+  "sha256": "0adq1qng3ghb4wvglplj73q8c95hzpfiqb2q8bqnms81i7p2xma7",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
index 09559a4a7a22b..bf15e656e914f 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-scala",
-  "rev": "0a3dd53a7fc4b352a538397d054380aaa28be54c",
-  "date": "2021-10-10T10:34:22-07:00",
-  "path": "/nix/store/mys098cdap3mdp6x4qwlk7b9v84998b0-tree-sitter-scala",
-  "sha256": "1lwyipn5b36fskr8cm60qjblj2chf8336zkqbsifq49z1lj0wvpi",
+  "rev": "ec6047f531e7d4c13787d4ff208b94a84de34165",
+  "date": "2022-03-27T09:48:17+02:00",
+  "path": "/nix/store/70sghy226gl3s1b2p0zjhplb6zjy777g-tree-sitter-scala",
+  "sha256": "0yjl8hwdm1pkihfgfbg19z5j0v3cp64a2pa59maws1i231fm5bsw",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json
index d15067e354783..88e5e784c05cd 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/6cdh/tree-sitter-scheme",
-  "rev": "a1d2233f4e5498bb305858323c93525e1dd165c0",
-  "date": "2022-04-07T21:19:08+08:00",
-  "path": "/nix/store/ljq285gnl26w8jg1ahdhxk2xa4l2s3vn-tree-sitter-scheme",
-  "sha256": "0ggh2jpgnnakhsry12m31f5ranjhgkkcxp5jhsqxw6ac778n28h9",
+  "rev": "aee42e302f36045cdc671223ce10a069203fd604",
+  "date": "2022-04-21T11:07:14+08:00",
+  "path": "/nix/store/jviqv18g5yszjcqmv48rpml6z4q4ccv8-tree-sitter-scheme",
+  "sha256": "1piw1g5w29jxhwrvivpmdkyr2vbi8fpj2idzk8bwvplzbb6hfr7x",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json
index 24f5776294976..22a0fa2394897 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/madskjeldgaard/tree-sitter-supercollider",
-  "rev": "0f0e5b5a96dd3e048a9c3db648ed969c44068bff",
-  "date": "2022-02-01T13:46:31+01:00",
-  "path": "/nix/store/5rzm6vnqvpwxwakrjyy93hg0glfvcx93-tree-sitter-supercollider",
-  "sha256": "0nxl43j7ddsddqcq56p921h1r5jkx8v49zxjzr6mcj6y1ljzndm2",
+  "rev": "90c6d9f777d2b8c4ce497c48b5f270a44bcf3ea0",
+  "date": "2022-04-14T11:41:40+02:00",
+  "path": "/nix/store/hzdm20x9fpc8bqd6bphq1akbdmdcpq7s-tree-sitter-supercollider",
+  "sha256": "1g0q32crsnzxnwh5bjfjm0dkxpnvdj76idjc8s4ba7hinwa8jpv0",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json
index 0052b3f8e718c..30052fe6407a0 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/Himujjal/tree-sitter-svelte",
-  "rev": "98274d94ec33e994e8354d9ddfdef58cca471294",
-  "date": "2021-10-28T16:53:33+05:30",
-  "path": "/nix/store/q3dapi6k6zdnnr0lki2ic9l6cbxdi2rq-tree-sitter-svelte",
-  "sha256": "1kav0h755sa1j9j930kjrykb17aih017mbi0a97ncjjrlc6nyak5",
+  "rev": "84c90ee15f851e1541c25c86e8a4338f5b4d5af2",
+  "date": "2022-04-13T11:35:15+05:30",
+  "path": "/nix/store/2miakcpw7xgg2pcwdbcg0kl2djijcfbj-tree-sitter-svelte",
+  "sha256": "0hidafgzbnksyigksab8731jdnvj1vqn7fv0jxsc1yfrwrmai6ls",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-toml.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-toml.json
index ae182486506a6..34eb4ffe03a1a 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-toml.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-toml.json
@@ -1,9 +1,9 @@
 {
-  "url": "https://github.com/ikatyang/tree-sitter-toml",
-  "rev": "8bd2056818b21860e3d756b5a58c4f6e05fb744e",
-  "date": "2021-05-11T12:47:32+08:00",
-  "path": "/nix/store/isgpadcxmgkb14w9yg67pb8lx7wlfhnn-tree-sitter-toml",
-  "sha256": "0yasw5fp4mq6vzrdwlc3dxlss8a94bsffv4mzrfp0b3iw0s1dlyg",
+  "url": "https://github.com/tree-sitter/tree-sitter-toml",
+  "rev": "342d9be207c2dba869b9967124c679b5e6fd0ebe",
+  "date": "2022-04-21T16:26:30-07:00",
+  "path": "/nix/store/is4vnj1s94455s9msasbn7px7jjfr0ai-tree-sitter-toml",
+  "sha256": "00pigsc947qc2p6g21iki6xy4h497arq53fp2fjgiw50bqmknrsp",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
index fc04fd069e4f0..44477aa24d3c8 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-typescript",
-  "rev": "e8e8e8dc2745840b036421b4e43286750443cb13",
-  "date": "2022-01-10T13:42:45-08:00",
-  "path": "/nix/store/zl36qsk7pd9pcawfsy368axax97d83wz-tree-sitter-typescript",
-  "sha256": "1z1v7fjgp418qsp0xkycfpvc8vm4a2ai5kx10xif1dvjpfgcj1qq",
+  "rev": "8e9dba7bd7cf089838a036a98be94db53ba2d0a9",
+  "date": "2022-04-13T09:44:02-07:00",
+  "path": "/nix/store/188d0ki07nhmihrl2b868vmb9rd4hf4q-tree-sitter-typescript",
+  "sha256": "010nnihmaw1a1l9mzjd1nmrb0z6j2h3pr872dzpdq7ajg0j3j1wl",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
index f4aaecb7bdf3a..b9a3184e942e3 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/vigoux/tree-sitter-viml",
-  "rev": "c9d70082af14988842eb071c6c0b07e8d1d993ac",
-  "date": "2022-03-21T17:11:25+01:00",
-  "path": "/nix/store/z1bjg25frb0sq7kr0s3sp6jnz888p900-tree-sitter-viml",
-  "sha256": "05mf8i5ni0kp4g1gdpgwjxi2d86hna2ijp9k7c1gy9j33hsq9i8g",
+  "rev": "5268e0ec901e33ad7142ee31b580269a94fba042",
+  "date": "2022-04-16T20:12:40+02:00",
+  "path": "/nix/store/rw6cjm4vj4yihlfmrxa2vc81lr3x59rn-tree-sitter-viml",
+  "sha256": "0vga1bivzkr00brzvv309hx7sqvg7y2kf6vx0s8hv9r56x6nm54s",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json
index a9de3692209e1..0ad82155c77af 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/maxxnino/tree-sitter-zig",
-  "rev": "42e93d02ca945094699e2dc4de785bbaf8f740ec",
-  "date": "2022-02-11T10:40:42+09:00",
-  "path": "/nix/store/2yv27si133zqb93bm9gia0ymib9q2y75-tree-sitter-zig",
-  "sha256": "14p02b04v67cvkvj7apipsmkmvv3jnhykm0qrrmqqxnkprac31im",
+  "rev": "4cff36421dae9c05388b86cd64d2bab4b9ed6676",
+  "date": "2022-04-02T10:33:48+07:00",
+  "path": "/nix/store/ripw74y32a8nzsr9n30jfhh16wjxlxvb-tree-sitter-zig",
+  "sha256": "0k9z0f6vfj1pfz3qkscb41wz2nzjp0xpz9mvm6264q655rq73dlc",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/update.nix b/pkgs/development/tools/parsing/tree-sitter/update.nix
index 35fa30779d3c2..57bf5c0a13c19 100644
--- a/pkgs/development/tools/parsing/tree-sitter/update.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/update.nix
@@ -42,6 +42,7 @@ let
     "tree-sitter-ql"
     "tree-sitter-embedded-template"
     "tree-sitter-tsq"
+    "tree-sitter-toml"
   ];
   knownTreeSitterOrgGrammarReposJson = jsonFile "known-tree-sitter-org-grammar-repos" knownTreeSitterOrgGrammarRepos;
 
@@ -136,10 +137,6 @@ let
       orga = "ikatyang";
       repo = "tree-sitter-yaml";
     };
-    "tree-sitter-toml" = {
-      orga = "ikatyang";
-      repo = "tree-sitter-toml";
-    };
     "tree-sitter-zig" = {
       orga = "maxxnino";
       repo = "tree-sitter-zig";
diff --git a/pkgs/games/openrct2/default.nix b/pkgs/games/openrct2/default.nix
index 4e07148761b7a..41c3ccac1f9f9 100644
--- a/pkgs/games/openrct2/default.nix
+++ b/pkgs/games/openrct2/default.nix
@@ -5,32 +5,32 @@
 }:
 
 let
-  openrct2-version = "0.3.5.1";
+  openrct2-version = "0.4.0";
 
   # Those versions MUST match the pinned versions within the CMakeLists.txt
   # file. The REPLAYS repository from the CMakeLists.txt is not necessary.
-  objects-version = "1.0.21";
-  title-sequences-version = "0.1.2c";
+  objects-version = "1.2.7";
+  title-sequences-version = "0.4.0";
 
   openrct2-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "OpenRCT2";
     rev = "v${openrct2-version}";
-    sha256 = "01v9nsabqjq8hjmyshcp7f5liagfq8sxx9i3yqqab7zk4iixag1h";
+    sha256 = "sha256-4MDOLOPsKzk1vb1o/G90/NTyYJWBSrGRX6ZJETbBIaI=";
   };
 
   objects-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "objects";
     rev = "v${objects-version}";
-    sha256 = "0r2vp2y67jc1mpfl4j83sx5khvvaddx7xs26ppkigmr2d1xpxgr7";
+    sha256 = "sha256-R4+rEdGdvYwFrkm/S3+zXmU+UDam51dI/pWKmFXNrbE=";
   };
 
   title-sequences-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "title-sequences";
     rev = "v${title-sequences-version}";
-    sha256 = "1qdrm4q75bznmgdrpjdaiqvbf3q4vwbkkmls45izxvyg1djrpsdf";
+    sha256 = "sha256-anqCZkhYoaxPu3MYCYSsFFngOmPp2wnx2MGb0hj6W5U=";
   };
 in
 stdenv.mkDerivation {
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 76df604739019..100ca403f621b 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -3,8 +3,8 @@
 let
   generic = args: let
     imported = import ./generic.nix args;
-  in if ((!lib.versionOlder args.version "391")
-    && stdenv.hostPlatform.system != "x86_64-linux") then null
+  in if lib.versionAtLeast args.version "391"
+    && stdenv.hostPlatform.system != "x86_64-linux" then null
   else callPackage imported {
     lib32 = (pkgsi686Linux.callPackage imported {
       libsOnly = true;
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index c7e062534a4d4..bc867d8b82b9e 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -33,7 +33,7 @@ with lib;
 
 assert !libsOnly -> kernel != null;
 assert versionOlder version "391" -> sha256_32bit != null;
-assert ! versionOlder version "391" -> stdenv.hostPlatform.system == "x86_64-linux";
+assert versionAtLeast version "391" -> stdenv.hostPlatform.system == "x86_64-linux";
 
 let
   nameSuffix = optionalString (!libsOnly) "-${kernel.version}";
diff --git a/pkgs/os-specific/linux/rtl8723bs/default.nix b/pkgs/os-specific/linux/rtl8723bs/default.nix
index a862b35171604..b6ab883ca7511 100644
--- a/pkgs/os-specific/linux/rtl8723bs/default.nix
+++ b/pkgs/os-specific/linux/rtl8723bs/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/hadess/rtl8723bs";
     license = lib.licenses.gpl2;
     platforms = lib.platforms.linux;
-    broken = (! versionOlder kernel.version "4.12"); # Now in kernel staging drivers
+    broken = versionAtLeast kernel.version "4.12"; # Now in kernel staging drivers
     maintainers = with maintainers; [ elitak ];
   };
 }
diff --git a/pkgs/os-specific/linux/sch_cake/default.nix b/pkgs/os-specific/linux/sch_cake/default.nix
index a959fac5dcad7..f93713344efb0 100644
--- a/pkgs/os-specific/linux/sch_cake/default.nix
+++ b/pkgs/os-specific/linux/sch_cake/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation {
     license = with licenses; [ bsd3 gpl2 ];
     maintainers = with maintainers; [ fpletz ];
     platforms = platforms.linux;
-    broken = !lib.versionOlder kernel.version "4.13";
+    broken = lib.versionAtLeast kernel.version "4.13";
   };
 }
diff --git a/pkgs/servers/foundationdb/vsmake.nix b/pkgs/servers/foundationdb/vsmake.nix
index 178cd135fe2ca..284dc9fb3bd51 100644
--- a/pkgs/servers/foundationdb/vsmake.nix
+++ b/pkgs/servers/foundationdb/vsmake.nix
@@ -84,7 +84,7 @@ let
         makeFlags = [ "all" "fdb_java" "fdb_python" ]
           # Don't compile FDBLibTLS if we don't need it in 6.0 or later;
           # it gets statically linked in
-          ++ lib.optional (!lib.versionAtLeast version "6.0") [ "fdb_c" ]
+          ++ lib.optional (lib.versionOlder version "6.0") [ "fdb_c" ]
           # Needed environment overrides
           ++ [ "KVRELEASE=1"
                "NOSTRIP=1"
@@ -100,7 +100,7 @@ let
         installPhase = ''
           mkdir -vp $out/{bin,libexec/plugins} $lib/{lib,share/java} $dev/include/foundationdb
 
-        '' + lib.optionalString (!lib.versionAtLeast version "6.0") ''
+        '' + lib.optionalString (lib.versionOlder version "6.0") ''
           # we only copy the TLS library on < 6.0, since it's compiled-in otherwise
           cp -v ./lib/libFDBLibTLS.so $out/libexec/plugins/FDBLibTLS.so
         '' + ''
diff --git a/pkgs/servers/grocy/default.nix b/pkgs/servers/grocy/default.nix
index bcdd3c97c2a06..059f325adaa20 100644
--- a/pkgs/servers/grocy/default.nix
+++ b/pkgs/servers/grocy/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "grocy";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchurl {
     url = "https://github.com/grocy/grocy/releases/download/v${version}/grocy_${version}.zip";
-    sha256 = "sha256-UPawutm5MllPYdru+Rpk8UYfHDNcrNYaq4qMbZksouI=";
+    sha256 = "sha256-y0l0V+cTIfZYtyV8l6kdFW9UzJWb7eQMEocaPo7TLbg=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix b/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix
index 3df7f1e5a5d47..a6e22db34fe5c 100644
--- a/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix
+++ b/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "matrix-synapse-shared-secret-auth";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "devture";
     repo = "matrix-synapse-shared-secret-auth";
     rev = version;
-    sha256 = "sha256-kaok5IwKx97FYDrVIGAtUJfExqDln5vxEKrZda2RdzE=";
+    sha256 = "sha256-qzXKwTEOMtdvsxoU3Xh3vQyhK+Q18LfkeSts7EyDIXE=";
   };
 
   doCheck = false;
diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix
index 81ff0d6b7ad4b..c8be2eec27a84 100644
--- a/pkgs/servers/openafs/1.8/module.nix
+++ b/pkgs/servers/openafs/1.8/module.nix
@@ -11,6 +11,7 @@
 , perl
 , libtool_2
 , libkrb5
+, fetchpatch
 }:
 
 with (import ./srcs.nix {
@@ -21,6 +22,10 @@ let
   modDestDir = "$out/lib/modules/${kernel.modDirVersion}/extra/openafs";
   kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
 
+  fetchBase64Patch = args: (fetchpatch args).overrideAttrs (o: {
+    postFetch = "mv $out p; base64 -d p > $out; " + o.postFetch;
+  });
+
 in
 stdenv.mkDerivation {
   pname = "openafs";
@@ -32,6 +37,34 @@ stdenv.mkDerivation {
 
   buildInputs = [ libkrb5 ];
 
+  patches = [
+    # Add autoconf-archive to src/external
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14942/revisions/006616bd8e88b2d386a5ddc23973cf3e625cb80d/patch";
+      hash = "sha256-55sc2sKy5XkQHAv6ysVxi69+0xVsHnN2TS144UTeLHU=";
+    })
+    # Import of code from autoconf-archive
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14943/revisions/d3782b1d4e6fd81c5432e95112eb44305f07f272/patch";
+      hash = "sha256-ohkjSux+S3+6slh6uZIw5UJXlvhy9UUDpDlP0YFRwmw=";
+    })
+    # Use autoconf-archive m4 from src/external
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14944/revisions/ea2a0e128d71802f61b8da2e44de3c6325c5f328/patch";
+      hash = "sha256-PAUk/MXL5p8xwhn40/UGmo3UIhvl1PB2FwgqhmqsjJ4=";
+    })
+    # Linux-5.17: kernel func complete_and_exit renamed
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14945/revisions/a714e865efe41aa1112f6f9c8479112660dacd6f/patch";
+      hash = "sha256-zvyR/GOPJeAbG6ySRRMp44oT5tPujUwybyU0XR/5Xyc=";
+    })
+    # Linux-5.17: Kernel build uses -Wcast-function-type
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14946/revisions/449d1faf87e2841e80be38cf2b4a5cf5ff4df2d8/patch";
+      hash = "sha256-3bRTHYeMRIleLhob56m2Xt0dWzIMDo3QrytY0K1/q7c=";
+    })
+  ];
+
   hardeningDisable = [ "pic" ];
 
   configureFlags = [
@@ -70,6 +103,6 @@ stdenv.mkDerivation {
     license = licenses.ipl10;
     platforms = platforms.linux;
     maintainers = with maintainers; [ maggesi spacefrogg ];
-    broken = kernel.kernelAtLeast "5.17" || kernel.isHardened;
+    broken = kernel.isHardened;
   };
 }
diff --git a/pkgs/tools/backup/dar/default.nix b/pkgs/tools/backup/dar/default.nix
index 870c25462cf6d..b06a21c0239f8 100644
--- a/pkgs/tools/backup/dar/default.nix
+++ b/pkgs/tools/backup/dar/default.nix
@@ -9,12 +9,12 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "2.7.4";
+  version = "2.7.5";
   pname = "dar";
 
   src = fetchurl {
     url = "mirror://sourceforge/dar/${pname}-${version}.tar.gz";
-    sha256 = "sha256-esti2QXoq+5bic639eG96vZOSJboMVHmD+oRNAI6ic4=";
+    sha256 = "sha256-lfpJOomadV/oTJsOloH1rYF5Wy3kVr+EBUvqZ+xaCWY=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/tools/misc/pouf/default.nix b/pkgs/tools/misc/pouf/default.nix
new file mode 100644
index 0000000000000..9a6520453938c
--- /dev/null
+++ b/pkgs/tools/misc/pouf/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "pouf";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "mothsart";
+    repo = pname;
+    rev = version;
+    sha256 = "0q7kj6x61xci8piax6vg3bsm9di11li7pm84vj13iwahdydhs1hn";
+  };
+
+  cargoSha256 = "128fgdp74lyv5k054cdjxzwmyb5cyy0jq0a9l4bsc34122mznnq7";
+
+  meta = with lib; {
+    description = "A cli program for produce fake datas.";
+    homepage = "https://github.com/mothsart/pouf";
+    changelog = "https://github.com/mothsart/pouf/releases/tag/${version}";
+    maintainers = with maintainers; [ mothsart ];
+    license = with licenses; [ mit ];
+  };
+}
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index 5820cbbba2c08..b24c3ead956d1 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -6,11 +6,11 @@ let
 in
 pypkgs.buildPythonApplication rec {
   pname = "tmuxp";
-  version = "1.9.2";
+  version = "1.11.0";
 
   src = pypkgs.fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3RlTbIq7UGvEESMvncq97bhjJw8O4m+0aFVZgBQOwkM=";
+    sha256 = "sha256-N5kZ+e17ZgLOCvV/lcT/hdG1VNqLxh98QOQyM0BmZCA=";
   };
 
   # No tests in archive
diff --git a/pkgs/tools/misc/ytfzf/default.nix b/pkgs/tools/misc/ytfzf/default.nix
index fd58e79063ebd..9bcc0712c354a 100644
--- a/pkgs/tools/misc/ytfzf/default.nix
+++ b/pkgs/tools/misc/ytfzf/default.nix
@@ -16,25 +16,32 @@
 
 stdenv.mkDerivation rec {
   pname = "ytfzf";
-  version = "2.2";
+  version = "2.3";
 
   src = fetchFromGitHub {
     owner = "pystardust";
     repo = "ytfzf";
     rev = "v${version}";
-    hash = "sha256-dQq7p/aK9iiyuhuxh5eVXR9GLukwsvosONpQTI0mknw=";
+    hash = "sha256-zfoICi1VChmrRHZ3dSHGTcXkVf/zirQTycFz98xj+QY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   dontBuild = true;
 
-  installFlags = [ "PREFIX=${placeholder "out"}" "doc" ];
+  installFlags = [
+    "PREFIX="
+    "DESTDIR=${placeholder "out"}"
+    "doc"
+    "addons"
+  ];
 
   postInstall = ''
-    wrapProgram "$out/bin/ytfzf" --prefix PATH : ${lib.makeBinPath [
-      chafa coreutils curl dmenu fzf gnused jq mpv ueberzug yt-dlp
-    ]}
+    wrapProgram "$out/bin/ytfzf" \
+      --prefix PATH : ${lib.makeBinPath [
+        chafa coreutils curl dmenu fzf gnused jq mpv ueberzug yt-dlp
+      ]} \
+      --set YTFZF_SYSTEM_ADDON_DIR "$out/share/ytfzf/addons"
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/mozillavpn/default.nix b/pkgs/tools/networking/mozillavpn/default.nix
index 9e4e7cc29d47c..ab03c61a164c3 100644
--- a/pkgs/tools/networking/mozillavpn/default.nix
+++ b/pkgs/tools/networking/mozillavpn/default.nix
@@ -1,5 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
+, fetchpatch
 , go
 , lib
 , pkg-config
@@ -13,6 +14,7 @@
 , qtquickcontrols2
 , qttools
 , qtwebsockets
+, rustPlatform
 , stdenv
 , which
 , wireguard-tools
@@ -45,24 +47,34 @@ let
   };
 
   pname = "mozillavpn";
-  version = "2.7.1";
+  version = "2.8.0";
   src = fetchFromGitHub {
     owner = "mozilla-mobile";
     repo = "mozilla-vpn-client";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-i551UkCOwWnioe1YgCNZAlYiQJ4YDDBMoDZhfbkLTbs=";
+    hash = "sha256-UmLYs/J6syfMrjA66K33h8ubYqzvmcGf5spIilVVdVk=";
   };
 
+  patches = [
+    # Rust bridge: Add Cargo.lock file
+    (fetchpatch {
+      url = "https://github.com/mozilla-mobile/mozilla-vpn-client/pull/3341/commits/718c7f52756b5a88511da91dafad7af312bb2473.patch";
+      hash = "sha256-fG+SATbJpGqpCFXSWEiBo4dYx6RLtJYR0yTdBqN6Fww=";
+    })
+  ];
+
   netfilter-go-modules = (buildGoModule {
-    inherit pname version src;
-    vendorSha256 = "sha256-KFYMim5U8WlJHValvIBQgEN+17SDv0JVbH03IiyfDc0=";
+    inherit pname version src patches;
+    vendorSha256 = "KFYMim5U8WlJHValvIBQgEN+17SDv0JVbH03IiyfDc0=";
     modRoot = "linux/netfilter";
   }).go-modules;
 
+  cargoRoot = "extension/bridge";
+
 in
 stdenv.mkDerivation {
-  inherit pname version src;
+  inherit pname version src patches cargoRoot;
 
   buildInputs = [
     polkit
@@ -81,10 +93,19 @@ stdenv.mkDerivation {
     python3.pkgs.pyyaml
     qmake
     qttools
+    rustPlatform.cargoSetupHook
+    rustPlatform.rust.cargo
     which
     wrapQtAppsHook
   ];
 
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src patches;
+    name = "${pname}-${version}";
+    preBuild = "cd ${cargoRoot}";
+    hash = "sha256-dnbF1hfm3qoZaPrIimhY2bUzlrYaNVUZ+nyp6NbgP3Y=";
+  };
+
   postPatch = ''
     for file in linux/*.service linux/extra/*.desktop src/platforms/linux/daemon/*.service; do
       substituteInPlace "$file" --replace /usr/bin/mozillavpn "$out/bin/mozillavpn"
@@ -93,8 +114,8 @@ stdenv.mkDerivation {
 
   preBuild = ''
     ln -s '${netfilter-go-modules}' linux/netfilter/vendor
-    python3 scripts/generate_glean.py
-    python3 scripts/importLanguages.py
+    python3 scripts/utils/generate_glean.py
+    python3 scripts/utils/import_languages.py --qt_path '${lib.getDev qttools}/bin'
   '';
 
   qmakeFlags = [ "USRPATH=$(out)" "ETCPATH=$(out)/etc" ];
diff --git a/pkgs/tools/system/jsvc/default.nix b/pkgs/tools/system/jsvc/default.nix
index 442f8d904195b..82631770df145 100644
--- a/pkgs/tools/system/jsvc/default.nix
+++ b/pkgs/tools/system/jsvc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jsvc";
-  version = "1.2.4";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://downloads.apache.org//commons/daemon/source/commons-daemon-${version}-src.tar.gz";
-    sha256 = "1nrr6ggy6h20r9zyv14vx6vc9p1w6l8fl9fn6i8dx2hrq6kk2bjw";
+    sha256 = "sha256-UzzXb+MRPVNTE8HYsB/yPK9rq8zGmbGmi0RGk3zER0s=";
   };
 
   buildInputs = [ commonsDaemon ];
diff --git a/pkgs/tools/typesetting/odpdown/default.nix b/pkgs/tools/typesetting/odpdown/default.nix
deleted file mode 100644
index 27053e36ffa1e..0000000000000
--- a/pkgs/tools/typesetting/odpdown/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, fetchFromGitHub, python2Packages, libreoffice }:
-
-python2Packages.buildPythonApplication rec {
-
-  pname = "odpdown";
-  version = "0.4.1";
-
-  src = fetchFromGitHub {
-    owner = "thorstenb";
-    repo = "odpdown";
-    rev = "v${version}";
-    sha256 = "r2qbgD9PAalbypt+vjp2YcYggUGPQMEG2FDxMtohqG4=";
-  };
-
-  propagatedBuildInputs = with python2Packages; [ libreoffice lpod lxml mistune pillow pygments ];
-
-  checkInputs = with python2Packages; [
-    nose
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/thorstenb/odpdown";
-    description = "Create nice-looking slides from your favourite text editor";
-    longDescription = ''
-      Have a tool like pandoc, latex beamer etc, that you can write (or
-      auto-generate) input for within your favourite hacker's editor, and
-      generate nice-looking slides from. Using your corporation's mandatory,
-      CI-compliant and lovely-artsy Impress template. Including
-      syntax-highlighted code snippets of your latest hack, auto-fitted into the
-      slides.
-    '';
-    license = licenses.bsd3;
-    platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ vandenoever ];
-  };
-}
diff --git a/pkgs/tools/wayland/swaytools/default.nix b/pkgs/tools/wayland/swaytools/default.nix
index 4c254c9a59322..e4584436c4eba 100644
--- a/pkgs/tools/wayland/swaytools/default.nix
+++ b/pkgs/tools/wayland/swaytools/default.nix
@@ -1,18 +1,18 @@
-{ lib, python3Packages, slurp }:
+{ lib, buildPythonApplication, fetchFromGitHub, slurp }:
 
-python3Packages.buildPythonApplication rec {
+buildPythonApplication rec {
   pname = "swaytools";
-  version = "0.1.0";
+  version = "0.1.1";
 
-  src = python3Packages.fetchPypi {
-    inherit pname version;
-    sha256 = "1eb89259cbe027a0fa6bfc06ecf94e89b15e6f7b4965104e5b661c916ce7408c";
+  src = fetchFromGitHub {
+    owner = "tmccombs";
+    repo = "swaytools";
+    rev = version;
+    sha256 = "sha256-6Ec7MPqBia0PW+pBTAItLusWMg1wlFfEaxoh20/2uHg=";
   };
 
   propagatedBuildInputs = [ slurp ];
 
-  passthru.updateScript = ./update.py;
-
   meta = with lib; {
     homepage = "https://github.com/tmccombs/swaytools";
     description = "Collection of simple tools for sway (and i3)";
diff --git a/pkgs/tools/wayland/swaytools/update.py b/pkgs/tools/wayland/swaytools/update.py
deleted file mode 100755
index 141566848e387..0000000000000
--- a/pkgs/tools/wayland/swaytools/update.py
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i python -p python39Packages.requests python39Packages.pip python39Packages.packaging
-
-import requests
-import json
-import subprocess
-try:
-    from packaging.version import parse
-except ImportError:
-    from pip._vendor.packaging.version import parse
-
-
-URL_PATTERN = 'https://pypi.python.org/pypi/{package}/json'
-
-def findLine(key,derivation):
-    count = 0
-    lines = []
-    for line in derivation:
-        if key in line:
-            lines.append(count)
-        count += 1
-    return lines
-
-def get_version(package, url_pattern=URL_PATTERN):
-    """Return version of package on pypi.python.org using json."""
-    req = requests.get(url_pattern.format(package=package))
-    version = parse('0')
-    if req.status_code == requests.codes.ok:
-        j = json.loads(req.text.encode(req.encoding))
-        releases = j.get('releases', [])
-        for release in releases:
-            ver = parse(release)
-            if not ver.is_prerelease:
-                if ver > version:
-                    version = ver
-                    sha256  = j["releases"][release][-1]["digests"]["sha256"]
-    return version, sha256
-
-
-if __name__ == '__main__':
-
-    nixpkgs         = subprocess.check_output(["git", "rev-parse", "--show-toplevel"]).decode("utf-8").strip('\n')
-    swaytoolsFolder = "/pkgs/tools/wayland/swaytools/"
-    with open(nixpkgs + swaytoolsFolder + "default.nix", 'r') as arq:
-        derivation = arq.readlines()
-
-    version, sha256 = get_version('swaytools')
-
-    key = "version = "
-    line = findLine(key,derivation)[0]
-    derivation[line] = f'  version = "{version}";\n'
-
-    key = "sha256 = "
-    line = findLine(key,derivation)[0]
-    derivation[line] = f'    sha256 = "{sha256}";\n'
-
-    with open(nixpkgs + swaytoolsFolder + "default.nix", 'w') as arq:
-        arq.writelines(derivation)
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index d4b0f567d1a20..22fe4a841b8fe 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -881,6 +881,7 @@ mapAliases ({
   oauth2_proxy = oauth2-proxy; # Added 2021-04-18
   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
   ofp = throw "ofp is not compatible with odp-dpdk";
   olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05
   onnxruntime = throw "onnxruntime has been removed due to poor maintainability"; # Added 2020-12-04
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 41d05cab973aa..0d66ec1ae0c1e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3014,7 +3014,7 @@ with pkgs;
 
   swaysome = callPackage ../tools/wayland/swaysome { };
 
-  swaytools = callPackage ../tools/wayland/swaytools { };
+  swaytools = python3Packages.callPackage ../tools/wayland/swaytools { };
 
   wayland-utils = callPackage ../tools/wayland/wayland-utils { };
 
@@ -4036,6 +4036,8 @@ with pkgs;
     electron = electron_14;
   };
 
+  pouf = callPackage ../tools/misc/pouf { };
+
   poweralertd = callPackage ../tools/misc/poweralertd { };
 
   ps_mem = callPackage ../tools/system/ps_mem { };
@@ -8811,8 +8813,6 @@ with pkgs;
 
   objconv = callPackage ../development/tools/misc/objconv {};
 
-  odpdown = callPackage ../tools/typesetting/odpdown { };
-
   odpic = callPackage ../development/libraries/odpic { };
 
   odt2txt = callPackage ../tools/text/odt2txt { };
@@ -17917,6 +17917,8 @@ with pkgs;
 
   jansson = callPackage ../development/libraries/jansson { };
 
+  jarowinkler-cpp = callPackage ../development/libraries/jarowinkler-cpp { };
+
   jasper = callPackage ../development/libraries/jasper { };
 
   jbig2dec = callPackage ../development/libraries/jbig2dec { };
@@ -20210,6 +20212,8 @@ with pkgs;
 
   rapidcheck = callPackage ../development/libraries/rapidcheck {};
 
+  rapidfuzz-cpp = callPackage ../development/libraries/rapidfuzz-cpp { };
+
   rapidjson = callPackage ../development/libraries/rapidjson {};
 
   rapidxml = callPackage ../development/libraries/rapidxml {};
@@ -20727,6 +20731,8 @@ with pkgs;
 
   tagparser = callPackage ../development/libraries/tagparser { };
 
+  taskflow = callPackage ../development/libraries/taskflow { };
+
   tclap = callPackage ../development/libraries/tclap {};
 
   tcllib = callPackage ../development/libraries/tcllib { };
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 1cc267de7880c..a5d553ac629a0 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -461,7 +461,7 @@ lib.makeScope pkgs.newScope (self: with self; {
             '')
           ];
           zendExtension = true;
-          doCheck = !(lib.versionOlder php.version "7.4");
+          doCheck = lib.versionAtLeast php.version "7.4";
           # Tests launch the builtin webserver.
           __darwinAllowLocalNetworking = true;
         }
@@ -525,7 +525,7 @@ lib.makeScope pkgs.newScope (self: with self; {
           '';
           doCheck = false;
         }
-        { name = "session"; doCheck = !(lib.versionAtLeast php.version "8.0"); }
+        { name = "session"; doCheck = lib.versionOlder php.version "8.0"; }
         { name = "shmop"; }
         {
           name = "simplexml";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 5025e836605d8..68aaf36c15b30 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2877,7 +2877,7 @@ in {
 
   feedparser = callPackage ../development/python-modules/feedparser { };
 
-  fenics = callPackage ../development/libraries/science/math/fenics {
+  fenics = callPackage ../development/python-modules/fenics {
     hdf5 = pkgs.hdf5_1_10;
     boost = pkgs.boost169;
   };
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index 081fa0c850265..72d2a77d2832e 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -142,6 +142,8 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
 
   mapbox-gl-qml = libsForQt5.callPackage ../development/libraries/mapbox-gl-qml { };
 
+  maplibre-gl-native = callPackage ../development/libraries/maplibre-gl-native { };
+
   mauikit = callPackage ../development/libraries/mauikit { };
 
   mauikit-filebrowsing = callPackage ../development/libraries/mauikit-filebrowsing { };