about summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2023-06-20 18:01:51 +0000
committerGitHub <noreply@github.com>2023-06-20 18:01:51 +0000
commit8b9041779d570adb5de8b3fae57c0dfcdb1fd920 (patch)
treea1714d14676a0e9fd600522d5c4c284964d0d916
parent62f759132d9d3554415929dab2a3c2c95ddbf70b (diff)
parenta102ec2394bbcb85ab1aaf3926c15b8c9de48d37 (diff)
downloadnixlib-8b9041779d570adb5de8b3fae57c0dfcdb1fd920.tar
nixlib-8b9041779d570adb5de8b3fae57c0dfcdb1fd920.tar.gz
nixlib-8b9041779d570adb5de8b3fae57c0dfcdb1fd920.tar.bz2
nixlib-8b9041779d570adb5de8b3fae57c0dfcdb1fd920.tar.lz
nixlib-8b9041779d570adb5de8b3fae57c0dfcdb1fd920.tar.xz
nixlib-8b9041779d570adb5de8b3fae57c0dfcdb1fd920.tar.zst
nixlib-8b9041779d570adb5de8b3fae57c0dfcdb1fd920.zip
Merge staging-next into staging
-rw-r--r--lib/licenses.nix6
-rw-r--r--nixos/modules/services/mail/public-inbox.nix15
-rw-r--r--nixos/tests/public-inbox.nix3
-rw-r--r--pkgs/applications/editors/emacs/sources.nix6
-rw-r--r--pkgs/applications/misc/hugo/default.nix16
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix6
-rw-r--r--pkgs/applications/science/misc/gephi/default.nix40
-rw-r--r--pkgs/applications/virtualization/stratovirt/default.nix44
-rw-r--r--pkgs/development/compilers/dtc/default.nix2
-rw-r--r--pkgs/development/compilers/ligo/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/10/default.nix9
-rw-r--r--pkgs/development/compilers/llvm/10/lldb/default.nix128
-rw-r--r--pkgs/development/compilers/llvm/11/default.nix9
-rw-r--r--pkgs/development/compilers/llvm/11/lldb/default.nix126
-rw-r--r--pkgs/development/compilers/llvm/12/default.nix22
-rw-r--r--pkgs/development/compilers/llvm/12/lldb/default.nix142
-rw-r--r--pkgs/development/compilers/llvm/13/default.nix35
-rw-r--r--pkgs/development/compilers/llvm/13/lldb/default.nix159
-rw-r--r--pkgs/development/compilers/llvm/14/default.nix35
-rw-r--r--pkgs/development/compilers/llvm/14/lldb/default.nix167
-rw-r--r--pkgs/development/compilers/llvm/15/default.nix35
-rw-r--r--pkgs/development/compilers/llvm/16/default.nix40
-rw-r--r--pkgs/development/compilers/llvm/16/lldb/default.nix186
-rw-r--r--pkgs/development/compilers/llvm/common/lldb.nix (renamed from pkgs/development/compilers/llvm/15/lldb/default.nix)151
-rw-r--r--pkgs/development/ocaml-modules/bls12-381-hash/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/bls12-381/default.nix35
-rw-r--r--pkgs/development/ocaml-modules/seqes/default.nix19
-rw-r--r--pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/default.nix37
-rw-r--r--pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plompiler.nix44
-rw-r--r--pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plonk.nix35
-rw-r--r--pkgs/development/python-modules/nextcord/default.nix4
-rw-r--r--pkgs/development/python-modules/pyblock/default.nix37
-rw-r--r--pkgs/development/python-modules/pyres/default.nix33
-rw-r--r--pkgs/development/python-modules/requests-futures/default.nix25
-rw-r--r--pkgs/development/python-modules/zake/default.nix37
-rw-r--r--pkgs/development/tools/database/schemaspy/default.nix2
-rw-r--r--pkgs/development/tools/global-platform-pro/default.nix44
-rw-r--r--pkgs/development/tools/language-servers/millet/Cargo.lock72
-rw-r--r--pkgs/development/tools/language-servers/millet/default.nix4
-rw-r--r--pkgs/servers/exhibitor/default.nix51
-rw-r--r--pkgs/servers/mail/public-inbox/default.nix1
-rw-r--r--pkgs/tools/security/cryptomator/default.nix40
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/ocaml-packages.nix9
-rw-r--r--pkgs/top-level/python-aliases.nix3
-rw-r--r--pkgs/top-level/python-packages.nix6
46 files changed, 482 insertions, 1475 deletions
diff --git a/lib/licenses.nix b/lib/licenses.nix
index c91eca9278ed..b128f6b6069a 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -809,6 +809,12 @@ in mkLicense lset) ({
     fullName = "Microsoft Public License";
   };
 
+  mulan-psl2 = {
+    spdxId = "MulanPSL-2.0";
+    fullName = "Mulan Permissive Software License, Version 2";
+    url = "https://license.coscl.org.cn/MulanPSL2";
+  };
+
   nasa13 = {
     spdxId = "NASA-1.3";
     fullName = "NASA Open Source Agreement 1.3";
diff --git a/nixos/modules/services/mail/public-inbox.nix b/nixos/modules/services/mail/public-inbox.nix
index a7d7097065a2..4944d46fbd73 100644
--- a/nixos/modules/services/mail/public-inbox.nix
+++ b/nixos/modules/services/mail/public-inbox.nix
@@ -89,7 +89,7 @@ let
       PrivateNetwork = mkDefault (!needNetwork);
       ProcSubset = "pid";
       ProtectClock = true;
-      ProtectHome = mkDefault true;
+      ProtectHome = "tmpfs";
       ProtectHostname = true;
       ProtectKernelLogs = true;
       ProtectProc = "invisible";
@@ -460,6 +460,8 @@ in
           after = [ "public-inbox-init.service" "public-inbox-watch.service" ];
           requires = [ "public-inbox-init.service" ];
           serviceConfig = {
+            BindPathsReadOnly =
+              map (c: c.dir) (lib.attrValues cfg.settings.coderepo);
             ExecStart = escapeShellArgs (
               [ "${cfg.package}/bin/public-inbox-httpd" ] ++
               cfg.http.args ++
@@ -563,16 +565,7 @@ in
                 ${pkgs.git}/bin/git config core.sharedRepository 0640
               fi
             '') cfg.inboxes
-            ) + ''
-            shopt -s nullglob
-            for inbox in ${stateDir}/inboxes/*/; do
-              # This should be idempotent, but only do it for new
-              # inboxes anyway because it's only needed once, and could
-              # be slow for large pre-existing inboxes.
-              ls -1 "$inbox" | grep -q '^xap' ||
-              ${cfg.package}/bin/public-inbox-index "$inbox"
-            done
-          '';
+            );
           serviceConfig = {
             Type = "oneshot";
             RemainAfterExit = true;
diff --git a/nixos/tests/public-inbox.nix b/nixos/tests/public-inbox.nix
index 784ef9e3dc28..4d06d3e1738e 100644
--- a/nixos/tests/public-inbox.nix
+++ b/nixos/tests/public-inbox.nix
@@ -223,5 +223,8 @@ in
     # require to use --all
     machine.succeed("curl -L https://machine.${domain}/inbox/repo1/repo1@root-1/raw | sudo -u public-inbox public-inbox-learn rm --all")
     machine.fail("curl -L https://machine.${domain}/inbox/repo1/repo1@root-1/T/#u | grep 'This is a testing mail.'")
+
+    # Compact the database
+    machine.succeed("sudo -u public-inbox public-inbox-compact --all")
   '';
 })
diff --git a/pkgs/applications/editors/emacs/sources.nix b/pkgs/applications/editors/emacs/sources.nix
index 4744456ee434..995ba9c48ec9 100644
--- a/pkgs/applications/editors/emacs/sources.nix
+++ b/pkgs/applications/editors/emacs/sources.nix
@@ -17,12 +17,12 @@
 
   emacs29 = import ./generic.nix {
     pname = "emacs";
-    version = "29.0.91";
+    version = "29.0.92";
     variant = "mainline";
     src = fetchFromSavannah {
       repo = "emacs";
-      rev = "29.0.91";
-      hash = "sha256-YU/sbIr7xX5ELJtPcTL9ZQgZtjEW5oI7YC20fQsOVSY=";
+      rev = "29.0.92";
+      hash = "sha256-Vkry+2zYejZVwZKQlmQiAJnbjsj87DiIZ1ungooYd8A=";
     };
   };
 
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 2c757519474a..c30ac28863f4 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -1,4 +1,12 @@
-{ stdenv, lib, buildGoModule, fetchFromGitHub, installShellFiles, buildPackages }:
+{ stdenv
+, lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+, buildPackages
+, testers
+, hugo
+}:
 
 buildGoModule rec {
   pname = "hugo";
@@ -34,6 +42,12 @@ buildGoModule rec {
       --zsh  <(${emulator} $out/bin/hugo completion zsh)
   '';
 
+  passthru.tests.version = testers.testVersion {
+    package = hugo;
+    command = "hugo version";
+    version = "v${version}";
+  };
+
   meta = with lib; {
     description = "A fast and modern static website engine";
     homepage = "https://gohugo.io";
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index b58f96d6e6fc..933740bef768 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -54,7 +54,7 @@
 , glib
 , gnum4
 , gtk3
-, icu
+, icu72
 , libGL
 , libGLU
 , libevent
@@ -440,7 +440,9 @@ buildStdenv.mkDerivation ({
     freetype
     glib
     gtk3
-    icu
+    # icu73 changed how it follows symlinks which breaks in the firefox sandbox
+    # https://bugzilla.mozilla.org/show_bug.cgi?id=1839287
+    icu72
     libffi
     libGL
     libGLU
diff --git a/pkgs/applications/science/misc/gephi/default.nix b/pkgs/applications/science/misc/gephi/default.nix
index a5bf1a2da2b6..fffc330b3d5b 100644
--- a/pkgs/applications/science/misc/gephi/default.nix
+++ b/pkgs/applications/science/misc/gephi/default.nix
@@ -1,6 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, jdk11, maven, javaPackages }:
+{ lib, fetchFromGitHub, jdk11, maven, javaPackages }:
 
 let
+  mavenJdk11 = maven.override {
+    jdk = jdk11;
+  };
+in
+(javaPackages.mavenfod.override {
+  maven = mavenJdk11;
+}) rec {
+  pname = "gephi";
   version = "0.10.1";
 
   src = fetchFromGitHub {
@@ -10,35 +18,9 @@ let
     hash = "sha256-ZNSEaiD32zFfF2ISKa1CmcT9Nq6r5i2rNHooQAcVbn4=";
   };
 
-  # perform fake build to make a fixed-output derivation out of the files downloaded from maven central (120MB)
-  deps = stdenv.mkDerivation {
-    name = "gephi-${version}-deps";
-    inherit src;
-    buildInputs = [ jdk11 maven ];
-    buildPhase = ''
-      while mvn package -Dmaven.repo.local=$out/.m2 -Dmaven.wagon.rto=5000; [ $? = 1 ]; do
-        echo "timeout, restart maven to continue downloading"
-      done
-    '';
-    # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
-    installPhase = ''find $out/.m2 -type f -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' -delete'';
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
-    outputHash = "sha256-OdW4M5nGEkYkmHpRLM4cBQtk4SJII2uqM8TXb6y4eXk=";
-  };
-in
-stdenv.mkDerivation {
-  pname = "gephi";
-  inherit version;
-
-  inherit src;
+  mvnHash = "sha256-/2/Yb26Ry0NHQQ3j0LXnjwC0wQqJiztvTgWixyMJqvg=";
 
-  buildInputs = [ jdk11 maven ];
-
-  buildPhase = ''
-    # 'maven.repo.local' must be writable so copy it out of nix store
-    mvn package --offline -Dmaven.repo.local=$(cp -dpR ${deps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
-  '';
+  nativeBuildInputs = [ jdk11 mavenJdk11 ];
 
   installPhase = ''
     cp -r modules/application/target/gephi $out
diff --git a/pkgs/applications/virtualization/stratovirt/default.nix b/pkgs/applications/virtualization/stratovirt/default.nix
new file mode 100644
index 000000000000..2c27b2f3cf46
--- /dev/null
+++ b/pkgs/applications/virtualization/stratovirt/default.nix
@@ -0,0 +1,44 @@
+{ lib, rustPlatform, fetchgit
+, pkg-config, pixman, libcap_ng, cyrus_sasl
+, libpulseaudio, libclang, gtk3, libusbgx, alsa-lib
+, linuxHeaders, libseccomp
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "stratovirt";
+  version = "2.2.0";
+
+  src = fetchgit {
+    url = "https://gitee.com/openeuler/stratovirt.git";
+    rev = "v${version}";
+    sha256 = "sha256-K99CmaBrJu30/12FxnsNsDKsTyX4f2uQSO7cwHsPuDw=";
+  };
+
+  cargoSha256 = "sha256-SFIOGGRzGkVWHIXkviVWuhDN29pa0uD3GqKh+G421xI=";
+
+  nativeBuildInputs = [
+    pkg-config
+    rustPlatform.bindgenHook
+  ];
+
+  buildInputs = [
+    pixman
+    libcap_ng
+    cyrus_sasl
+    libpulseaudio
+    gtk3
+    libusbgx
+    alsa-lib
+    libclang
+    linuxHeaders
+    libseccomp
+  ];
+
+  meta = with lib; {
+    homepage = "https://gitee.com/openeuler/stratovirt";
+    description = "Virtual Machine Manager from Huawei";
+    license = licenses.mulan-psl2;
+    maintainers = with maintainers; [ astro ];
+    platforms = [ "aarch64-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/compilers/dtc/default.nix b/pkgs/development/compilers/dtc/default.nix
index 7846d564da17..d9013895becc 100644
--- a/pkgs/development/compilers/dtc/default.nix
+++ b/pkgs/development/compilers/dtc/default.nix
@@ -83,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: {
   mesonAutoFeatures = "auto";
   mesonFlags = [
     (lib.mesonBool "static-build" stdenv.hostPlatform.isStatic)
-    (lib.mesonBool "tests" finalAttrs.doCheck)
+    (lib.mesonBool "tests" finalAttrs.finalPackage.doCheck)
   ];
 
   doCheck =
diff --git a/pkgs/development/compilers/ligo/default.nix b/pkgs/development/compilers/ligo/default.nix
index af29757299d8..6ab93ae0ac65 100644
--- a/pkgs/development/compilers/ligo/default.nix
+++ b/pkgs/development/compilers/ligo/default.nix
@@ -15,12 +15,12 @@
 
 ocamlPackages.buildDunePackage rec {
   pname = "ligo";
-  version = "0.66.0";
+  version = "0.67.1";
   src = fetchFromGitLab {
     owner = "ligolang";
     repo = "ligo";
     rev = version;
-    sha256 = "sha256-BFeNnpMT+WKqTvjVg+H2qHl5EUMcbe7xmJohbpD99gY=";
+    sha256 = "sha256-trLl4suIu2b+naw99Fwr+iEZrfYV3s4Sedg2lX3uUcA=";
     fetchSubmodules = true;
   };
 
@@ -103,8 +103,6 @@ ocamlPackages.buildDunePackage rec {
     # vendored tezos' deps
     aches
     aches-lwt
-    tezos-plonk
-    tezos-bls12-381-polynomial
     ctypes
     ctypes_stubs_js
     class_group_vdf
@@ -128,6 +126,8 @@ ocamlPackages.buildDunePackage rec {
     pure-splitmix
     zarith_stubs_js
     simple-diff
+    seqes
+    stdint
   ] ++ lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
   ];
diff --git a/pkgs/development/compilers/llvm/10/default.nix b/pkgs/development/compilers/llvm/10/default.nix
index 4964d405d32e..44791f09e384 100644
--- a/pkgs/development/compilers/llvm/10/default.nix
+++ b/pkgs/development/compilers/llvm/10/default.nix
@@ -131,8 +131,13 @@ let
       inherit llvm_meta;
     };
 
-    lldb = callPackage ./lldb {
-      inherit llvm_meta;
+    lldb = callPackage ../common/lldb.nix {
+      src = fetch "lldb" "051p5b04y6z3g730rmc2n2v71lipbw7k69riww3a6sl74myfiaq7";
+      patches = [
+        ./lldb/procfs.patch
+        ./lldb/gnu-install-dirs.patch
+      ];
+      inherit llvm_meta release_version;
     };
 
     # Below, is the LLVM bootstrapping logic. It handles building a
diff --git a/pkgs/development/compilers/llvm/10/lldb/default.nix b/pkgs/development/compilers/llvm/10/lldb/default.nix
deleted file mode 100644
index 4a40a931af65..000000000000
--- a/pkgs/development/compilers/llvm/10/lldb/default.nix
+++ /dev/null
@@ -1,128 +0,0 @@
-{ lib, stdenv, llvm_meta
-, fetch
-, cmake
-, zlib
-, ncurses
-, swig
-, which
-, libedit
-, libxml2
-, libllvm
-, libclang
-, python3
-, version
-, darwin
-, lit
-, makeWrapper
-, enableManpages ? false
-}:
-
-stdenv.mkDerivation (rec {
-  pname = "lldb";
-  inherit version;
-
-  src = fetch pname "051p5b04y6z3g730rmc2n2v71lipbw7k69riww3a6sl74myfiaq7";
-
-  patches = [
-    ./procfs.patch
-    ./gnu-install-dirs.patch
-  ];
-
-  outputs = [ "out" "lib" "dev" ];
-
-  nativeBuildInputs = [
-    cmake python3 which swig lit makeWrapper
-  ] ++ lib.optionals enableManpages [
-    python3.pkgs.sphinx python3.pkgs.recommonmark
-  ];
-
-  buildInputs = [
-    ncurses zlib libedit libxml2 libllvm
-  ] ++ lib.optionals stdenv.isDarwin [
-    darwin.libobjc
-    darwin.apple_sdk.libs.xpc
-    darwin.apple_sdk.frameworks.Foundation
-    darwin.bootstrap_cmds
-    darwin.apple_sdk.frameworks.Carbon
-    darwin.apple_sdk.frameworks.Cocoa
-  ];
-
-  hardeningDisable = [ "format" ];
-
-  cmakeFlags = [
-    "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
-    "-DLLVM_ENABLE_RTTI=OFF"
-    "-DClang_DIR=${libclang.dev}/lib/cmake"
-    "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
-  ] ++ lib.optionals (!stdenv.isDarwin) [
-    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
-  ] ++ lib.optionals enableManpages [
-    "-DLLVM_ENABLE_SPHINX=ON"
-    "-DSPHINX_OUTPUT_MAN=ON"
-    "-DSPHINX_OUTPUT_HTML=OFF"
-  ] ++ lib.optionals doCheck [
-    "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
-    "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
-  ];
-
-  doCheck = false;
-
-  doInstallCheck = true;
-
-  installCheckPhase = ''
-    if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
-        echo "ERROR: python files not installed where expected!";
-        return 1;
-    fi
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
-
-    # Editor support
-    # vscode:
-    install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
-    mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-    ln -s $out/bin/llvm-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-  '';
-
-  meta = llvm_meta // {
-    homepage = "https://lldb.llvm.org/";
-    description = "A next-generation high-performance debugger";
-    longDescription = ''
-      LLDB is a next generation, high-performance debugger. It is built as a set
-      of reusable components which highly leverage existing libraries in the
-      larger LLVM Project, such as the Clang expression parser and LLVM
-      disassembler.
-    '';
-    # never built on aarch64-darwin since first introduction in nixpkgs
-    broken = stdenv.isDarwin && stdenv.isAarch64;
-  };
-} // lib.optionalAttrs enableManpages {
-  pname = "lldb-manpages";
-
-  buildPhase = ''
-    make docs-man
-  '';
-
-  propagatedBuildInputs = [];
-
-  # manually install lldb man page
-  installPhase = ''
-    mkdir -p $out/share/man/man1
-    install docs/man/lldb.1 -t $out/share/man/man1/
-  '';
-
-  postPatch = null;
-  postInstall = null;
-
-  outputs = [ "out" ];
-
-  doCheck = false;
-
-  meta = llvm_meta // {
-    description = "man pages for LLDB ${version}";
-  };
-})
diff --git a/pkgs/development/compilers/llvm/11/default.nix b/pkgs/development/compilers/llvm/11/default.nix
index a94b9d64d49b..2fd510942df9 100644
--- a/pkgs/development/compilers/llvm/11/default.nix
+++ b/pkgs/development/compilers/llvm/11/default.nix
@@ -146,8 +146,13 @@ let
       inherit llvm_meta;
     };
 
-    lldb = callPackage ./lldb {
-      inherit llvm_meta;
+    lldb = callPackage ../common/lldb.nix {
+      src = fetch "lldb" "1vlyg015dyng43xqb8cg2l6r9ix8klibxsajazbfnckdnh54hwxj";
+      patches = [
+        ./lldb/procfs.patch
+        ./lldb/gnu-install-dirs.patch
+      ];
+      inherit llvm_meta release_version;
     };
 
     # Below, is the LLVM bootstrapping logic. It handles building a
diff --git a/pkgs/development/compilers/llvm/11/lldb/default.nix b/pkgs/development/compilers/llvm/11/lldb/default.nix
deleted file mode 100644
index 5912323608dc..000000000000
--- a/pkgs/development/compilers/llvm/11/lldb/default.nix
+++ /dev/null
@@ -1,126 +0,0 @@
-{ lib, stdenv, llvm_meta
-, fetch
-, cmake
-, zlib
-, ncurses
-, swig
-, which
-, libedit
-, libxml2
-, libllvm
-, libclang
-, python3
-, version
-, darwin
-, lit
-, makeWrapper
-, enableManpages ? false
-}:
-
-stdenv.mkDerivation (rec {
-  pname = "lldb";
-  inherit version;
-
-  src = fetch pname "1vlyg015dyng43xqb8cg2l6r9ix8klibxsajazbfnckdnh54hwxj";
-
-  patches = [
-    ./procfs.patch
-    ./gnu-install-dirs.patch
-  ];
-
-  outputs = [ "out" "lib" "dev" ];
-
-  nativeBuildInputs = [
-    cmake python3 which swig lit makeWrapper
-  ] ++ lib.optionals enableManpages [
-    python3.pkgs.sphinx python3.pkgs.recommonmark
-  ];
-
-  buildInputs = [
-    ncurses zlib libedit libxml2 libllvm
-  ] ++ lib.optionals stdenv.isDarwin [
-    darwin.libobjc
-    darwin.apple_sdk.libs.xpc
-    darwin.apple_sdk.frameworks.Foundation
-    darwin.bootstrap_cmds
-    darwin.apple_sdk.frameworks.Carbon
-    darwin.apple_sdk.frameworks.Cocoa
-  ];
-
-  hardeningDisable = [ "format" ];
-
-  cmakeFlags = [
-    "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
-    "-DLLVM_ENABLE_RTTI=OFF"
-    "-DClang_DIR=${libclang.dev}/lib/cmake"
-    "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
-  ] ++ lib.optionals (!stdenv.isDarwin) [
-    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
-  ] ++ lib.optionals enableManpages [
-    "-DLLVM_ENABLE_SPHINX=ON"
-    "-DSPHINX_OUTPUT_MAN=ON"
-    "-DSPHINX_OUTPUT_HTML=OFF"
-  ] ++ lib.optionals doCheck [
-    "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
-    "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
-  ];
-
-  doCheck = false;
-
-  doInstallCheck = true;
-
-  installCheckPhase = ''
-    if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
-        echo "ERROR: python files not installed where expected!";
-        return 1;
-    fi
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
-
-    # Editor support
-    # vscode:
-    install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
-    mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-    ln -s $out/bin/llvm-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-  '';
-
-  meta = llvm_meta // {
-    homepage = "https://lldb.llvm.org/";
-    description = "A next-generation high-performance debugger";
-    longDescription = ''
-      LLDB is a next generation, high-performance debugger. It is built as a set
-      of reusable components which highly leverage existing libraries in the
-      larger LLVM Project, such as the Clang expression parser and LLVM
-      disassembler.
-    '';
-  };
-} // lib.optionalAttrs enableManpages {
-  pname = "lldb-manpages";
-
-  buildPhase = ''
-    make docs-man
-  '';
-
-  propagatedBuildInputs = [];
-
-  # manually install lldb man page
-  installPhase = ''
-    mkdir -p $out/share/man/man1
-    install docs/man/lldb.1 -t $out/share/man/man1/
-  '';
-
-  postPatch = null;
-  postInstall = null;
-
-  outputs = [ "out" ];
-
-  doCheck = false;
-
-  meta = llvm_meta // {
-    description = "man pages for LLDB ${version}";
-  };
-})
diff --git a/pkgs/development/compilers/llvm/12/default.nix b/pkgs/development/compilers/llvm/12/default.nix
index 512a576d6f5d..d7fa0517815c 100644
--- a/pkgs/development/compilers/llvm/12/default.nix
+++ b/pkgs/development/compilers/llvm/12/default.nix
@@ -135,11 +135,23 @@ let
       inherit (libraries) libunwind;
     };
 
-    lldb = callPackage ./lldb {
-      inherit llvm_meta;
-      inherit (darwin) libobjc bootstrap_cmds;
-      inherit (darwin.apple_sdk.libs) xpc;
-      inherit (darwin.apple_sdk.frameworks) Foundation Carbon Cocoa;
+    lldb = callPackage ../common/lldb.nix {
+      src = fetch "lldb" "0g3pj1m3chafavpr35r9fynm85y2hdyla6klj0h28khxs2613i78";
+      patches =
+        let
+          resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
+            {
+              clangLibDir = "${libclang.lib}/lib";
+            } ''
+            substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
+          '')) { };
+        in
+        [
+          ./lldb/procfs.patch
+          resourceDirPatch
+          ./lldb/gnu-install-dirs.patch
+        ];
+      inherit llvm_meta release_version;
     };
 
     # Below, is the LLVM bootstrapping logic. It handles building a
diff --git a/pkgs/development/compilers/llvm/12/lldb/default.nix b/pkgs/development/compilers/llvm/12/lldb/default.nix
deleted file mode 100644
index c75eb255cd75..000000000000
--- a/pkgs/development/compilers/llvm/12/lldb/default.nix
+++ /dev/null
@@ -1,142 +0,0 @@
-{ lib, stdenv, llvm_meta
-, runCommand
-, fetch
-, cmake
-, zlib
-, ncurses
-, swig
-, which
-, libedit
-, libxml2
-, libllvm
-, libclang
-, python3
-, version
-, libobjc
-, xpc
-, Foundation
-, bootstrap_cmds
-, Carbon
-, Cocoa
-, lit
-, makeWrapper
-, enableManpages ? false
-}:
-
-stdenv.mkDerivation (rec {
-  pname = "lldb";
-  inherit version;
-
-  src = fetch pname "0g3pj1m3chafavpr35r9fynm85y2hdyla6klj0h28khxs2613i78";
-
-  patches = [
-    ./procfs.patch
-    (runCommand "resource-dir.patch" {
-      clangLibDir = "${libclang.lib}/lib";
-    } ''
-      substitute '${./resource-dir.patch}' "$out" --subst-var clangLibDir
-    '')
-    ./gnu-install-dirs.patch
-  ];
-
-  outputs = [ "out" "lib" "dev" ];
-
-  nativeBuildInputs = [
-    cmake python3 which swig lit makeWrapper
-  ] ++ lib.optionals enableManpages [
-    python3.pkgs.sphinx python3.pkgs.recommonmark
-  ];
-
-  buildInputs = [
-    ncurses
-    zlib
-    libedit
-    libxml2
-    libllvm
-  ]
-  ++ lib.optionals stdenv.isDarwin [
-    libobjc
-    xpc
-    Foundation
-    bootstrap_cmds
-    Carbon
-    Cocoa
-  ];
-
-  hardeningDisable = [ "format" ];
-
-  cmakeFlags = [
-    "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
-    "-DLLVM_ENABLE_RTTI=OFF"
-    "-DClang_DIR=${libclang.dev}/lib/cmake"
-    "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
-  ] ++ lib.optionals (!stdenv.isDarwin) [
-    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
-  ] ++ lib.optionals enableManpages [
-    "-DLLVM_ENABLE_SPHINX=ON"
-    "-DSPHINX_OUTPUT_MAN=ON"
-    "-DSPHINX_OUTPUT_HTML=OFF"
-  ] ++ lib.optionals doCheck [
-    "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
-    "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
-  ];
-
-  doCheck = false;
-
-  doInstallCheck = true;
-
-  installCheckPhase = ''
-    if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
-        echo "ERROR: python files not installed where expected!";
-        return 1;
-    fi
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
-
-    # Editor support
-    # vscode:
-    install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
-    mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-    ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-  '';
-
-  meta = llvm_meta // {
-    homepage = "https://lldb.llvm.org/";
-    description = "A next-generation high-performance debugger";
-    longDescription = ''
-      LLDB is a next generation, high-performance debugger. It is built as a set
-      of reusable components which highly leverage existing libraries in the
-      larger LLVM Project, such as the Clang expression parser and LLVM
-      disassembler.
-    '';
-  };
-} // lib.optionalAttrs enableManpages {
-  pname = "lldb-manpages";
-
-  buildPhase = ''
-    make docs-lldb-man
-  '';
-
-  propagatedBuildInputs = [];
-
-  # manually install lldb man page
-  installPhase = ''
-    mkdir -p $out/share/man/man1
-    install docs/man/lldb.1 -t $out/share/man/man1/
-  '';
-
-  postPatch = null;
-  postInstall = null;
-
-  outputs = [ "out" ];
-
-  doCheck = false;
-
-  meta = llvm_meta // {
-    description = "man pages for LLDB ${version}";
-  };
-})
diff --git a/pkgs/development/compilers/llvm/13/default.nix b/pkgs/development/compilers/llvm/13/default.nix
index f51f33cf9dbf..42dfd2551779 100644
--- a/pkgs/development/compilers/llvm/13/default.nix
+++ b/pkgs/development/compilers/llvm/13/default.nix
@@ -135,11 +135,36 @@ let
       inherit llvm_meta;
     };
 
-    lldb = callPackage ./lldb {
-      inherit llvm_meta;
-      inherit (darwin) libobjc bootstrap_cmds;
-      inherit (darwin.apple_sdk.libs) xpc;
-      inherit (darwin.apple_sdk.frameworks) Foundation Carbon Cocoa;
+    lldb = callPackage ../common/lldb.nix {
+      patches =
+        let
+          resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
+            {
+              clangLibDir = "${libclang.lib}/lib";
+            } ''
+            substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
+          '')) { };
+        in
+        [
+          ./lldb/procfs.patch
+          resourceDirPatch
+          ./lldb/gnu-install-dirs.patch
+        ]
+        # This is a stopgap solution if/until the macOS SDK used for x86_64 is
+        # updated.
+        #
+        # The older 10.12 SDK used on x86_64 as of this writing has a `mach/machine.h`
+        # header that does not define `CPU_SUBTYPE_ARM64E` so we replace the one use
+        # of this preprocessor symbol in `lldb` with its expansion.
+        #
+        # See here for some context:
+        # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
+        ++ lib.optional (
+          stdenv.targetPlatform.isDarwin
+            && !stdenv.targetPlatform.isAarch64
+            && (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
+        ) ./lldb/cpu_subtype_arm64e_replacement.patch;
+      inherit llvm_meta release_version;
     };
 
     # Below, is the LLVM bootstrapping logic. It handles building a
diff --git a/pkgs/development/compilers/llvm/13/lldb/default.nix b/pkgs/development/compilers/llvm/13/lldb/default.nix
deleted file mode 100644
index ca7a17a5e90d..000000000000
--- a/pkgs/development/compilers/llvm/13/lldb/default.nix
+++ /dev/null
@@ -1,159 +0,0 @@
-{ lib, stdenv, llvm_meta
-, runCommand
-, src
-, cmake
-, zlib
-, ncurses
-, swig
-, which
-, libedit
-, libxml2
-, libllvm
-, libclang
-, python3
-, version
-, libobjc
-, xpc
-, Foundation
-, bootstrap_cmds
-, Carbon
-, Cocoa
-, lit
-, makeWrapper
-, darwin
-, enableManpages ? false
-}:
-
-stdenv.mkDerivation (rec {
-  pname = "lldb";
-  inherit version;
-
-  inherit src;
-  sourceRoot = "source/${pname}";
-
-  patches = [
-    ./procfs.patch
-    (runCommand "resource-dir.patch" {
-      clangLibDir = "${libclang.lib}/lib";
-    } ''
-      substitute '${./resource-dir.patch}' "$out" --subst-var clangLibDir
-    '')
-    ./gnu-install-dirs.patch
-  ]
-  # This is a stopgap solution if/until the macOS SDK used for x86_64 is
-  # updated.
-  #
-  # The older 10.12 SDK used on x86_64 as of this writing has a `mach/machine.h`
-  # header that does not define `CPU_SUBTYPE_ARM64E` so we replace the one use
-  # of this preprocessor symbol in `lldb` with its expansion.
-  #
-  # See here for some context:
-  # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
-  ++ lib.optional (
-    stdenv.targetPlatform.isDarwin
-      && !stdenv.targetPlatform.isAarch64
-      && (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
-  ) ./cpu_subtype_arm64e_replacement.patch;
-
-
-  outputs = [ "out" "lib" "dev" ];
-
-  nativeBuildInputs = [
-    cmake python3 which swig lit makeWrapper
-  ] ++ lib.optionals enableManpages [
-    python3.pkgs.sphinx python3.pkgs.recommonmark
-  ];
-
-  buildInputs = [
-    ncurses
-    zlib
-    libedit
-    libxml2
-    libllvm
-  ] ++ lib.optionals stdenv.isDarwin [
-    libobjc
-    xpc
-    Foundation
-    bootstrap_cmds
-    Carbon
-    Cocoa
-  ];
-
-  hardeningDisable = [ "format" ];
-
-  cmakeFlags = [
-    "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
-    "-DLLVM_ENABLE_RTTI=OFF"
-    "-DClang_DIR=${libclang.dev}/lib/cmake"
-    "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
-  ] ++ lib.optionals (!stdenv.isDarwin) [
-    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
-  ] ++ lib.optionals enableManpages [
-    "-DLLVM_ENABLE_SPHINX=ON"
-    "-DSPHINX_OUTPUT_MAN=ON"
-    "-DSPHINX_OUTPUT_HTML=OFF"
-  ] ++ lib.optionals doCheck [
-    "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
-    "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
-  ];
-
-  doCheck = false;
-
-  doInstallCheck = true;
-
-  installCheckPhase = ''
-    if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
-        echo "ERROR: python files not installed where expected!";
-        return 1;
-    fi
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
-
-    # Editor support
-    # vscode:
-    install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
-    mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-    ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-  '';
-
-  meta = llvm_meta // {
-    homepage = "https://lldb.llvm.org/";
-    description = "A next-generation high-performance debugger";
-    longDescription = ''
-      LLDB is a next generation, high-performance debugger. It is built as a set
-      of reusable components which highly leverage existing libraries in the
-      larger LLVM Project, such as the Clang expression parser and LLVM
-      disassembler.
-    '';
-  };
-} // lib.optionalAttrs enableManpages {
-  pname = "lldb-manpages";
-
-  buildPhase = ''
-    make docs-lldb-man
-  '';
-
-  propagatedBuildInputs = [];
-
-  # manually install lldb man page
-  installPhase = ''
-    mkdir -p $out/share/man/man1
-    install docs/man/lldb.1 -t $out/share/man/man1/
-  '';
-
-  postPatch = null;
-  postInstall = null;
-
-  outputs = [ "out" ];
-
-  doCheck = false;
-
-  meta = llvm_meta // {
-    broken = stdenv.isDarwin;
-    description = "man pages for LLDB ${version}";
-  };
-})
diff --git a/pkgs/development/compilers/llvm/14/default.nix b/pkgs/development/compilers/llvm/14/default.nix
index cf3cf1133e58..5a7651958027 100644
--- a/pkgs/development/compilers/llvm/14/default.nix
+++ b/pkgs/development/compilers/llvm/14/default.nix
@@ -136,11 +136,36 @@ let
       inherit llvm_meta;
     };
 
-    lldb = callPackage ./lldb {
-      inherit llvm_meta;
-      inherit (darwin) libobjc bootstrap_cmds;
-      inherit (darwin.apple_sdk.libs) xpc;
-      inherit (darwin.apple_sdk.frameworks) Foundation Carbon Cocoa;
+    lldb = callPackage ../common/lldb.nix {
+      patches =
+        let
+          resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
+            {
+              clangLibDir = "${libclang.lib}/lib";
+            } ''
+            substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
+          '')) { };
+        in
+        [
+          ./lldb/procfs.patch
+          resourceDirPatch
+          ./lldb/gnu-install-dirs.patch
+        ]
+        # This is a stopgap solution if/until the macOS SDK used for x86_64 is
+        # updated.
+        #
+        # The older 10.12 SDK used on x86_64 as of this writing has a `mach/machine.h`
+        # header that does not define `CPU_SUBTYPE_ARM64E` so we replace the one use
+        # of this preprocessor symbol in `lldb` with its expansion.
+        #
+        # See here for some context:
+        # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
+        ++ lib.optional (
+          stdenv.targetPlatform.isDarwin
+            && !stdenv.targetPlatform.isAarch64
+            && (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
+        ) ./lldb/cpu_subtype_arm64e_replacement.patch;
+      inherit llvm_meta release_version;
     };
 
     # Below, is the LLVM bootstrapping logic. It handles building a
diff --git a/pkgs/development/compilers/llvm/14/lldb/default.nix b/pkgs/development/compilers/llvm/14/lldb/default.nix
deleted file mode 100644
index cd28325a5573..000000000000
--- a/pkgs/development/compilers/llvm/14/lldb/default.nix
+++ /dev/null
@@ -1,167 +0,0 @@
-{ lib, stdenv, llvm_meta
-, runCommand
-, monorepoSrc
-, cmake
-, zlib
-, ncurses
-, swig
-, which
-, libedit
-, libxml2
-, libllvm
-, libclang
-, python3
-, version
-, libobjc
-, xpc
-, Foundation
-, bootstrap_cmds
-, Carbon
-, Cocoa
-, lit
-, makeWrapper
-, darwin
-, enableManpages ? false
-, lua5_3
-}:
-
-stdenv.mkDerivation (rec {
-  pname = "lldb";
-  inherit version;
-
-  src = runCommand "${pname}-src-${version}" {} ''
-    mkdir -p "$out"
-    cp -r ${monorepoSrc}/cmake "$out"
-    cp -r ${monorepoSrc}/${pname} "$out"
-  '';
-
-  sourceRoot = "${src.name}/${pname}";
-
-  patches = [
-    ./procfs.patch
-    (runCommand "resource-dir.patch" {
-      clangLibDir = "${libclang.lib}/lib";
-    } ''
-      substitute '${./resource-dir.patch}' "$out" --subst-var clangLibDir
-    '')
-    ./gnu-install-dirs.patch
-  ]
-  # This is a stopgap solution if/until the macOS SDK used for x86_64 is
-  # updated.
-  #
-  # The older 10.12 SDK used on x86_64 as of this writing has a `mach/machine.h`
-  # header that does not define `CPU_SUBTYPE_ARM64E` so we replace the one use
-  # of this preprocessor symbol in `lldb` with its expansion.
-  #
-  # See here for some context:
-  # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
-  ++ lib.optional (
-    stdenv.targetPlatform.isDarwin
-      && !stdenv.targetPlatform.isAarch64
-      && (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
-  ) ./cpu_subtype_arm64e_replacement.patch;
-
-  outputs = [ "out" "lib" "dev" ];
-
-  nativeBuildInputs = [
-    cmake python3 which swig lit makeWrapper lua5_3
-  ] ++ lib.optionals enableManpages [
-    python3.pkgs.sphinx python3.pkgs.recommonmark
-  ];
-
-  buildInputs = [
-    ncurses
-    zlib
-    libedit
-    libxml2
-    libllvm
-  ] ++ lib.optionals stdenv.isDarwin [
-    libobjc
-    xpc
-    Foundation
-    bootstrap_cmds
-    Carbon
-    Cocoa
-  ];
-
-  hardeningDisable = [ "format" ];
-
-  cmakeFlags = [
-    "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
-    "-DLLVM_ENABLE_RTTI=OFF"
-    "-DClang_DIR=${libclang.dev}/lib/cmake"
-    "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
-  ] ++ lib.optionals (!stdenv.isDarwin) [
-    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
-  ] ++ lib.optionals enableManpages [
-    "-DLLVM_ENABLE_SPHINX=ON"
-    "-DSPHINX_OUTPUT_MAN=ON"
-    "-DSPHINX_OUTPUT_HTML=OFF"
-  ] ++ lib.optionals doCheck [
-    "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
-    "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
-  ];
-
-  doCheck = false;
-
-  doInstallCheck = true;
-
-  installCheckPhase = ''
-    if [ ! -e $lib/${python3.sitePackages}/lldb/_lldb*.so ] ; then
-        echo "ERROR: python files not installed where expected!";
-        return 1;
-    fi
-    if [ ! -e "$lib/lib/lua/${lua5_3.luaversion}/lldb.so" ] ; then
-        echo "ERROR: lua files not installed where expected!";
-        return 1;
-    fi
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
-
-    # Editor support
-    # vscode:
-    install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
-    mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-    ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-  '';
-
-  meta = llvm_meta // {
-    homepage = "https://lldb.llvm.org/";
-    description = "A next-generation high-performance debugger";
-    longDescription = ''
-      LLDB is a next generation, high-performance debugger. It is built as a set
-      of reusable components which highly leverage existing libraries in the
-      larger LLVM Project, such as the Clang expression parser and LLVM
-      disassembler.
-    '';
-  };
-} // lib.optionalAttrs enableManpages {
-  pname = "lldb-manpages";
-
-  buildPhase = ''
-    make docs-lldb-man
-  '';
-
-  propagatedBuildInputs = [];
-
-  # manually install lldb man page
-  installPhase = ''
-    mkdir -p $out/share/man/man1
-    install docs/man/lldb.1 -t $out/share/man/man1/
-  '';
-
-  postPatch = null;
-  postInstall = null;
-
-  outputs = [ "out" ];
-
-  doCheck = false;
-
-  meta = llvm_meta // {
-    description = "man pages for LLDB ${version}";
-  };
-})
diff --git a/pkgs/development/compilers/llvm/15/default.nix b/pkgs/development/compilers/llvm/15/default.nix
index 0e36ebb8abbb..a9fee13d12b0 100644
--- a/pkgs/development/compilers/llvm/15/default.nix
+++ b/pkgs/development/compilers/llvm/15/default.nix
@@ -184,11 +184,36 @@ in let
       inherit llvm_meta;
     };
 
-    lldb = callPackage ./lldb {
-      inherit llvm_meta;
-      inherit (darwin) libobjc bootstrap_cmds;
-      inherit (darwin.apple_sdk.libs) xpc;
-      inherit (darwin.apple_sdk.frameworks) Foundation Carbon Cocoa;
+    lldb = callPackage ../common/lldb.nix {
+      patches =
+        let
+          resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
+            {
+              clangLibDir = "${libclang.lib}/lib";
+            } ''
+            substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
+          '')) { };
+        in
+        [
+          ./lldb/procfs.patch
+          resourceDirPatch
+          ./lldb/gnu-install-dirs.patch
+        ]
+        # This is a stopgap solution if/until the macOS SDK used for x86_64 is
+        # updated.
+        #
+        # The older 10.12 SDK used on x86_64 as of this writing has a `mach/machine.h`
+        # header that does not define `CPU_SUBTYPE_ARM64E` so we replace the one use
+        # of this preprocessor symbol in `lldb` with its expansion.
+        #
+        # See here for some context:
+        # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
+        ++ lib.optional (
+          stdenv.targetPlatform.isDarwin
+            && !stdenv.targetPlatform.isAarch64
+            && (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
+        ) ./lldb/cpu_subtype_arm64e_replacement.patch;
+      inherit llvm_meta release_version;
     };
 
     # Below, is the LLVM bootstrapping logic. It handles building a
diff --git a/pkgs/development/compilers/llvm/16/default.nix b/pkgs/development/compilers/llvm/16/default.nix
index 1304ef2bdbc0..2a85d900c8a8 100644
--- a/pkgs/development/compilers/llvm/16/default.nix
+++ b/pkgs/development/compilers/llvm/16/default.nix
@@ -184,11 +184,41 @@ in let
       inherit llvm_meta;
     };
 
-    lldb = callPackage ./lldb {
-      inherit llvm_meta;
-      inherit (darwin) libobjc bootstrap_cmds;
-      inherit (darwin.apple_sdk.libs) xpc;
-      inherit (darwin.apple_sdk.frameworks) Foundation Carbon Cocoa;
+    lldb = callPackage ../common/lldb.nix {
+      src = callPackage ({ runCommand }: runCommand "lldb-src-${version}" {} ''
+        mkdir -p "$out"
+        cp -r ${monorepoSrc}/cmake "$out"
+        cp -r ${monorepoSrc}/lldb "$out"
+      '') { };
+      patches =
+        let
+          resourceDirPatch = callPackage ({ runCommand, libclang }: (runCommand "resource-dir.patch"
+            {
+              clangLibDir = "${libclang.lib}/lib";
+            } ''
+            substitute '${./lldb/resource-dir.patch}' "$out" --subst-var clangLibDir
+          '')) { };
+        in
+        [
+          # FIXME: do we need this? ./procfs.patch
+          resourceDirPatch
+          ./lldb/gnu-install-dirs.patch
+        ]
+        # This is a stopgap solution if/until the macOS SDK used for x86_64 is
+        # updated.
+        #
+        # The older 10.12 SDK used on x86_64 as of this writing has a `mach/machine.h`
+        # header that does not define `CPU_SUBTYPE_ARM64E` so we replace the one use
+        # of this preprocessor symbol in `lldb` with its expansion.
+        #
+        # See here for some context:
+        # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
+        ++ lib.optional (
+          stdenv.targetPlatform.isDarwin
+            && !stdenv.targetPlatform.isAarch64
+            && (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
+        ) ./lldb/cpu_subtype_arm64e_replacement.patch;
+      inherit llvm_meta release_version;
     };
 
     # Below, is the LLVM bootstrapping logic. It handles building a
diff --git a/pkgs/development/compilers/llvm/16/lldb/default.nix b/pkgs/development/compilers/llvm/16/lldb/default.nix
deleted file mode 100644
index 062867394cc8..000000000000
--- a/pkgs/development/compilers/llvm/16/lldb/default.nix
+++ /dev/null
@@ -1,186 +0,0 @@
-{ lib, stdenv, llvm_meta
-, runCommand
-, monorepoSrc
-, cmake
-, ninja
-, zlib
-, ncurses
-, swig
-, which
-, libedit
-, libxml2
-, libllvm
-, libclang
-, python3
-, version
-, libobjc
-, xpc
-, Foundation
-, bootstrap_cmds
-, Carbon
-, Cocoa
-, lit
-, makeWrapper
-, darwin
-, enableManpages ? false
-, lua5_3
-}:
-
-# TODO: we build the python bindings but don't expose them as a python package
-# TODO: expose the vscode extension?
-
-stdenv.mkDerivation (rec {
-  pname = "lldb";
-  inherit version;
-
-  src = runCommand "${pname}-src-${version}" {} ''
-    mkdir -p "$out"
-    cp -r ${monorepoSrc}/cmake "$out"
-    cp -r ${monorepoSrc}/${pname} "$out"
-  '';
-
-  sourceRoot = "${src.name}/${pname}";
-
-  patches = [
-    # FIXME: do we need this? ./procfs.patch
-    (runCommand "resource-dir.patch" {
-      clangLibDir = "${libclang.lib}/lib";
-    } ''
-      substitute '${./resource-dir.patch}' "$out" --subst-var clangLibDir
-    '')
-    ./gnu-install-dirs.patch
-  ]
-  # This is a stopgap solution if/until the macOS SDK used for x86_64 is
-  # updated.
-  #
-  # The older 10.12 SDK used on x86_64 as of this writing has a `mach/machine.h`
-  # header that does not define `CPU_SUBTYPE_ARM64E` so we replace the one use
-  # of this preprocessor symbol in `lldb` with its expansion.
-  #
-  # See here for some context:
-  # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
-  ++ lib.optional (
-    stdenv.targetPlatform.isDarwin
-      && !stdenv.targetPlatform.isAarch64
-      && (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
-  ) ./cpu_subtype_arm64e_replacement.patch;
-
-  outputs = [ "out" "lib" "dev" ];
-
-  nativeBuildInputs = [
-    cmake ninja python3 which swig lit makeWrapper lua5_3
-  ] ++ lib.optionals enableManpages [
-    python3.pkgs.sphinx python3.pkgs.recommonmark
-  ];
-
-  buildInputs = [
-    ncurses
-    zlib
-    libedit
-    libxml2
-    libllvm
-  ] ++ lib.optionals stdenv.isDarwin [
-    libobjc
-    xpc
-    Foundation
-    bootstrap_cmds
-    Carbon
-    Cocoa
-  ]
-  # The older libSystem used on x86_64 macOS is missing the
-  # `<bsm/audit_session.h>` header which `lldb` uses.
-  #
-  # We copy this header over from macOS 10.12 SDK.
-  #
-  # See here for context:
-  # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
-  ++ lib.optional (
-      stdenv.targetPlatform.isDarwin
-        && !stdenv.targetPlatform.isAarch64
-    ) (
-      runCommand "bsm-audit-session-header" { } ''
-        install -Dm444 \
-          "${lib.getDev darwin.apple_sdk.sdk}/include/bsm/audit_session.h" \
-          "$out/include/bsm/audit_session.h"
-      ''
-    );
-
-  hardeningDisable = [ "format" ];
-
-  cmakeFlags = [
-    "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
-    "-DLLVM_ENABLE_RTTI=OFF"
-    "-DClang_DIR=${libclang.dev}/lib/cmake"
-    "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
-  ] ++ lib.optionals (!stdenv.isDarwin) [
-    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
-  ] ++ lib.optionals enableManpages [
-    "-DLLVM_ENABLE_SPHINX=ON"
-    "-DSPHINX_OUTPUT_MAN=ON"
-    "-DSPHINX_OUTPUT_HTML=OFF"
-
-    # docs reference `automodapi` but it's not added to the extensions list when
-    # only building the manpages:
-    # https://github.com/llvm/llvm-project/blob/af6ec9200b09039573d85e349496c4f5b17c3d7f/lldb/docs/conf.py#L54
-    #
-    # so, we just ignore the resulting errors
-    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-  ] ++ lib.optionals doCheck [
-    "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
-    "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
-  ];
-
-  doCheck = false;
-
-  installCheckPhase = ''
-    if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
-        return 1;
-    fi
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
-
-    # Editor support
-    # vscode:
-    install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
-    mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-    ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-  '';
-
-  meta = llvm_meta // {
-    homepage = "https://lldb.llvm.org/";
-    description = "A next-generation high-performance debugger";
-    longDescription = ''
-      LLDB is a next generation, high-performance debugger. It is built as a set
-      of reusable components which highly leverage existing libraries in the
-      larger LLVM Project, such as the Clang expression parser and LLVM
-      disassembler.
-    '';
-  };
-} // lib.optionalAttrs enableManpages {
-  pname = "lldb-manpages";
-
-  ninjaFlags = [ "docs-lldb-man" ];
-
-  propagatedBuildInputs = [];
-
-  # manually install lldb man page
-  installPhase = ''
-    mkdir -p $out/share/man/man1
-    install docs/man/lldb.1 -t $out/share/man/man1/
-  '';
-
-  postPatch = null;
-  postInstall = null;
-
-  outputs = [ "out" ];
-
-  doCheck = false;
-
-  meta = llvm_meta // {
-    description = "man pages for LLDB ${version}";
-  };
-})
diff --git a/pkgs/development/compilers/llvm/15/lldb/default.nix b/pkgs/development/compilers/llvm/common/lldb.nix
index 4b50b79cf613..82ad9c304ea6 100644
--- a/pkgs/development/compilers/llvm/15/lldb/default.nix
+++ b/pkgs/development/compilers/llvm/common/lldb.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, llvm_meta
-, runCommand
-, monorepoSrc
+{ lib
+, stdenv
+, llvm_meta
+, release_version
 , cmake
-, ninja
 , zlib
 , ncurses
 , swig
@@ -13,64 +13,57 @@
 , libclang
 , python3
 , version
-, libobjc
-, xpc
-, Foundation
-, bootstrap_cmds
-, Carbon
-, Cocoa
+, darwin
 , lit
 , makeWrapper
-, darwin
-, enableManpages ? false
 , lua5_3
+, ninja
+, runCommand
+, src ? null
+, monorepoSrc ? null
+, patches ? [ ]
+, enableManpages ? false
 }:
 
-# TODO: we build the python bindings but don't expose them as a python package
-# TODO: expose the vscode extension?
+let
+  src' =
+    if monorepoSrc != null then
+      runCommand "lldb-src-${version}" { } ''
+        mkdir -p "$out"
+        cp -r ${monorepoSrc}/cmake "$out"
+        cp -r ${monorepoSrc}/lldb "$out"
+      '' else src;
+in
 
 stdenv.mkDerivation (rec {
+  passthru.monorepoSrc = monorepoSrc;
   pname = "lldb";
   inherit version;
 
-  src = runCommand "${pname}-src-${version}" {} ''
-    mkdir -p "$out"
-    cp -r ${monorepoSrc}/cmake "$out"
-    cp -r ${monorepoSrc}/${pname} "$out"
-  '';
-
-  sourceRoot = "${src.name}/${pname}";
-
-  patches = [
-    ./procfs.patch
-    (runCommand "resource-dir.patch" {
-      clangLibDir = "${libclang.lib}/lib";
-    } ''
-      substitute '${./resource-dir.patch}' "$out" --subst-var clangLibDir
-    '')
-    ./gnu-install-dirs.patch
-  ]
-  # This is a stopgap solution if/until the macOS SDK used for x86_64 is
-  # updated.
-  #
-  # The older 10.12 SDK used on x86_64 as of this writing has a `mach/machine.h`
-  # header that does not define `CPU_SUBTYPE_ARM64E` so we replace the one use
-  # of this preprocessor symbol in `lldb` with its expansion.
-  #
-  # See here for some context:
-  # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
-  ++ lib.optional (
-    stdenv.targetPlatform.isDarwin
-      && !stdenv.targetPlatform.isAarch64
-      && (lib.versionOlder darwin.apple_sdk.sdk.version "11.0")
-  ) ./cpu_subtype_arm64e_replacement.patch;
+  src = src';
+  inherit patches;
 
   outputs = [ "out" "lib" "dev" ];
 
+  sourceRoot =
+    if lib.versionOlder release_version "13" then null
+    else "${src.name}/${pname}";
+
   nativeBuildInputs = [
-    cmake ninja python3 which swig lit makeWrapper lua5_3
+    cmake
+  ] ++ lib.optionals (lib.versionAtLeast release_version "15") [
+    ninja
+  ] ++ [
+    python3
+    which
+    swig
+    lit
+    makeWrapper
+  ] ++ lib.optionals (lib.versionAtLeast release_version "14") [
+    lua5_3
   ] ++ lib.optionals enableManpages [
-    python3.pkgs.sphinx python3.pkgs.recommonmark
+    python3.pkgs.sphinx
+    python3.pkgs.recommonmark
   ];
 
   buildInputs = [
@@ -80,12 +73,12 @@ stdenv.mkDerivation (rec {
     libxml2
     libllvm
   ] ++ lib.optionals stdenv.isDarwin [
-    libobjc
-    xpc
-    Foundation
-    bootstrap_cmds
-    Carbon
-    Cocoa
+    darwin.libobjc
+    darwin.apple_sdk.libs.xpc
+    darwin.apple_sdk.frameworks.Foundation
+    darwin.bootstrap_cmds
+    darwin.apple_sdk.frameworks.Carbon
+    darwin.apple_sdk.frameworks.Cocoa
   ]
   # The older libSystem used on x86_64 macOS is missing the
   # `<bsm/audit_session.h>` header which `lldb` uses.
@@ -96,7 +89,8 @@ stdenv.mkDerivation (rec {
   # https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
   ++ lib.optional (
       stdenv.targetPlatform.isDarwin
-        && !stdenv.targetPlatform.isAarch64
+      && !stdenv.targetPlatform.isAarch64
+      && (lib.versionAtLeast release_version "15")
     ) (
       runCommand "bsm-audit-session-header" { } ''
         install -Dm444 \
@@ -116,29 +110,45 @@ stdenv.mkDerivation (rec {
     "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
   ] ++ lib.optionals (!stdenv.isDarwin) [
     "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
-  ] ++ lib.optionals enableManpages [
+  ] ++ lib.optionals enableManpages ([
     "-DLLVM_ENABLE_SPHINX=ON"
     "-DSPHINX_OUTPUT_MAN=ON"
     "-DSPHINX_OUTPUT_HTML=OFF"
-
+  ] ++ lib.optionals (lib.versionAtLeast release_version "15") [
     # docs reference `automodapi` but it's not added to the extensions list when
     # only building the manpages:
     # https://github.com/llvm/llvm-project/blob/af6ec9200b09039573d85e349496c4f5b17c3d7f/lldb/docs/conf.py#L54
     #
     # so, we just ignore the resulting errors
     "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-  ] ++ lib.optionals doCheck [
+  ]) ++ lib.optionals doCheck [
     "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
     "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
   ];
 
   doCheck = false;
 
-  installCheckPhase = ''
-    if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
-        return 1;
-    fi
-  '';
+  # TODO: cleanup with mass-rebuild
+  installCheckPhase =
+    if ((lib.versions.major release_version) == "14") then ''
+      if [ ! -e $lib/${python3.sitePackages}/lldb/_lldb*.so ] ; then
+          echo "ERROR: python files not installed where expected!";
+          return 1;
+      fi
+      if [ ! -e "$lib/lib/lua/${lua5_3.luaversion}/lldb.so" ] ; then
+          echo "ERROR: lua files not installed where expected!";
+          return 1;
+      fi
+    '' else if (((lib.versions.major release_version) == "15") || (lib.versions.major release_version) == "16") then ''
+      if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
+          return 1;
+      fi
+    '' else ''
+      if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
+          echo "ERROR: python files not installed where expected!";
+          return 1;
+      fi
+    '';
 
   postInstall = ''
     wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
@@ -147,7 +157,7 @@ stdenv.mkDerivation (rec {
     # vscode:
     install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
     mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-    ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
+    ln -s $out/bin/${if (lib.versionOlder release_version "12") then "llvm-vscode" else "lldb-vscode"} $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
   '';
 
   meta = llvm_meta // {
@@ -159,13 +169,24 @@ stdenv.mkDerivation (rec {
       larger LLVM Project, such as the Clang expression parser and LLVM
       disassembler.
     '';
+    # llvm <10 never built on aarch64-darwin since first introduction in nixpkgs
+    broken =
+      (lib.versionOlder release_version "11" && stdenv.isDarwin && stdenv.isAarch64)
+        || (((lib.versions.major release_version) == "13") && stdenv.isDarwin);
   };
+} // lib.optionalAttrs (lib.versionOlder release_version "15") {
+  doInstallCheck = true;
 } // lib.optionalAttrs enableManpages {
   pname = "lldb-manpages";
 
-  ninjaFlags = [ "docs-lldb-man" ];
+  buildPhase =
+    if lib.versionOlder release_version "15" then ''
+      make ${if (lib.versionOlder release_version "12") then "docs-man" else "docs-lldb-man"}
+    '' else null;
+
+  ninjaFlags = if lib.versionAtLeast release_version "15" then [ "docs-lldb-man" ] else null;
 
-  propagatedBuildInputs = [];
+  propagatedBuildInputs = [ ];
 
   # manually install lldb man page
   installPhase = ''
diff --git a/pkgs/development/ocaml-modules/bls12-381-hash/default.nix b/pkgs/development/ocaml-modules/bls12-381-hash/default.nix
deleted file mode 100644
index 1b39439c747a..000000000000
--- a/pkgs/development/ocaml-modules/bls12-381-hash/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib
-, fetchFromGitLab
-, buildDunePackage
-, bls12-381
-}:
-
-buildDunePackage rec {
-  pname = "bls12-381-hash";
-  version = "1.0.0";
-  src = fetchFromGitLab {
-    owner = "nomadic-labs";
-    repo = "cryptography/ocaml-bls12-381-hash";
-    rev = "${version}";
-    sha256 = "sha256-cfsSVmN4rbKcLcPcy6NduZktJhPXiVdK75LypmaSe9I=";
-  };
-
-  duneVersion = "3";
-
-  propagatedBuildInputs = [ bls12-381 ];
-
-  meta = {
-    description = "Implementation of some cryptographic hash primitives using the scalar field of BLS12-381";
-    license = lib.licenses.mit;
-    homepage = "https://gitlab.com/nomadic-labs/privacy-team";
-    maintainers = [ lib.maintainers.ulrikstrid ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/bls12-381/default.nix b/pkgs/development/ocaml-modules/bls12-381/default.nix
index 20b2cd66a758..65b1a476f9dd 100644
--- a/pkgs/development/ocaml-modules/bls12-381/default.nix
+++ b/pkgs/development/ocaml-modules/bls12-381/default.nix
@@ -1,40 +1,47 @@
-{ lib, buildDunePackage, fetchFromGitLab
-, ff-sig, zarith
+{ lib
+, buildDunePackage
+, fetchFromGitLab
+, zarith
 , zarith_stubs_js ? null
 , integers_stubs_js
-, integers, hex
-, alcotest, ff-pbt
+, integers
+, hex
+, alcotest
 }:
 
 buildDunePackage rec {
   pname = "bls12-381";
-  version = "5.0.0";
+  version = "6.1.0";
   src = fetchFromGitLab {
-    owner = "dannywillems";
-    repo = "ocaml-bls12-381";
+    owner = "nomadic-labs";
+    repo = "cryptography/ocaml-bls12-381";
     rev = version;
-    sha256 = "sha256-Hy/I+743HSToZgGPFFiAbx7nrybHsE2PwycDsu3DuHM=";
+    sha256 = "sha256-z2ZSOrXgm+XjdrY91vqxXSKhA0DyJz6JkkNljDZznX8=";
   };
 
   minimalOCamlVersion = "4.08";
-  duneVersion = "3";
+
+  postPatch = ''
+    patchShebangs ./src/*.sh
+  '';
 
   propagatedBuildInputs = [
-    ff-sig
     zarith
     zarith_stubs_js
     integers_stubs_js
-    integers
     hex
+    integers
   ];
 
-  checkInputs = [ alcotest ff-pbt ];
+  checkInputs = [
+    alcotest
+  ];
 
   doCheck = true;
 
   meta = {
-    homepage = "https://gitlab.com/dannywillems/ocaml-bls12-381";
-    description = "OCaml binding for bls12-381 from librustzcash";
+    homepage = "	https://nomadic-labs.gitlab.io/cryptography/ocaml-bls12-381/bls12-381/";
+    description = "Implementation of BLS12-381 and some cryptographic primitives built on top of it";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.ulrikstrid ];
   };
diff --git a/pkgs/development/ocaml-modules/seqes/default.nix b/pkgs/development/ocaml-modules/seqes/default.nix
new file mode 100644
index 000000000000..04bed64ac649
--- /dev/null
+++ b/pkgs/development/ocaml-modules/seqes/default.nix
@@ -0,0 +1,19 @@
+{ lib, fetchurl, buildDunePackage, qcheck, qcheck-alcotest, alcotest }:
+
+buildDunePackage rec {
+  pname = "seqes";
+  version = "0.2";
+  src = fetchurl {
+    url = "https://gitlab.com/nomadic-labs/seqes/-/archive/${version}/seqes-${version}.tar.gz";
+    sha256 = "sha256-IxLA0jaIPdX9Zn/GL8UHDJYjA1UBW6leGbZmp64YMjI=";
+  };
+
+  checkInputs = [ qcheck qcheck-alcotest alcotest ];
+
+  meta = with lib; {
+    description = "Variations of the Seq module with monads folded into the type";
+    homepage = "https://gitlab.com/nomadic-labs/seqes";
+    license = licenses.lgpl2; # Same as OCaml
+    maintainers = [ maintainers.ulrikstrid ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/default.nix b/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/default.nix
deleted file mode 100644
index 2d5c5c27494b..000000000000
--- a/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, fetchFromGitLab
-, buildDunePackage
-, bls12-381
-, data-encoding
-, bigstringaf
-, alcotest
-, alcotest-lwt
-, bisect_ppx
-, qcheck-alcotest
-, ppx_repr
-}:
-
-buildDunePackage rec {
-  pname = "tezos-bls12-381-polynomial";
-  version = "1.0.1";
-  duneVersion = "3";
-  src = fetchFromGitLab {
-    owner = "nomadic-labs/cryptography";
-    repo = "privacy-team";
-    rev = "v${version}";
-    sha256 = "sha256-5qDa/fQoTypjaceQ0MBzt0rM+0hSJcpGlXMGAZKRboo=";
-  };
-
-  propagatedBuildInputs = [ ppx_repr bls12-381 data-encoding bigstringaf ];
-
-  checkInputs = [ alcotest alcotest-lwt bisect_ppx qcheck-alcotest ];
-
-  doCheck = false; # circular dependencies
-
-  meta = {
-    description = "Polynomials over BLS12-381 finite field";
-    license = lib.licenses.mit;
-    homepage = "https://gitlab.com/nomadic-labs/privacy-team";
-    maintainers = [ lib.maintainers.ulrikstrid ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plompiler.nix b/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plompiler.nix
deleted file mode 100644
index 62ddb432e47f..000000000000
--- a/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plompiler.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib
-, buildDunePackage
-, hacl-star
-, bls12-381
-, bls12-381-hash
-, tezos-bls12-381-polynomial
-, polynomial
-, data-encoding
-, hex
-, stdint
-, ff
-, mec
-, alcotest
-, qcheck-alcotest
-, bisect_ppx
-}:
-
-buildDunePackage rec {
-  pname = "tezos-plompiler";
-  duneVersion = "3";
-
-  inherit (tezos-bls12-381-polynomial) version src;
-
-  propagatedBuildInputs = [
-    hacl-star
-    bls12-381
-    bls12-381-hash
-    tezos-bls12-381-polynomial
-    data-encoding
-    hex
-    stdint
-    ff
-    mec
-    polynomial
-  ];
-
-  checkInputs = [ alcotest qcheck-alcotest bisect_ppx ];
-
-  doCheck = false; # circular deps
-
-  meta = tezos-bls12-381-polynomial.meta // {
-    description = "Library to write arithmetic circuits for Plonk";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plonk.nix b/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plonk.nix
deleted file mode 100644
index f9b78e11d332..000000000000
--- a/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plonk.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib
-, buildDunePackage
-, hacl-star
-, bls12-381
-, tezos-bls12-381-polynomial
-, data-encoding
-, tezos-plompiler
-, alcotest
-, qcheck-alcotest
-, bisect_ppx
-,
-}:
-
-buildDunePackage rec {
-  pname = "tezos-plonk";
-  duneVersion = "3";
-
-  inherit (tezos-bls12-381-polynomial) version src;
-
-  propagatedBuildInputs = [
-    hacl-star
-    bls12-381
-    tezos-bls12-381-polynomial
-    data-encoding
-    tezos-plompiler
-  ];
-
-  checkInputs = [ alcotest qcheck-alcotest bisect_ppx ];
-
-  doCheck = false; # broken
-
-  meta = tezos-bls12-381-polynomial.meta // {
-    description = "Plonk zero-knowledge proving system";
-  };
-}
diff --git a/pkgs/development/python-modules/nextcord/default.nix b/pkgs/development/python-modules/nextcord/default.nix
index 8f77faaab18a..04fa54a28d6a 100644
--- a/pkgs/development/python-modules/nextcord/default.nix
+++ b/pkgs/development/python-modules/nextcord/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "nextcord";
-  version = "2.4.2";
+  version = "2.5.0";
 
   format = "setuptools";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "nextcord";
     repo = "nextcord";
     rev = "refs/tags/v${version}";
-    hash = "sha256-n73F5y922rsu0YFjAwQlUVpSa6Scs/xyfZHREmqKiHU=";
+    hash = "sha256-Oo1C2tasuNIpUaKACbapnoZs7WVS1uncS1akErzQrqI=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyblock/default.nix b/pkgs/development/python-modules/pyblock/default.nix
deleted file mode 100644
index 0e94764e4a22..000000000000
--- a/pkgs/development/python-modules/pyblock/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv
-, python
-, pkgs
-, isPy3k
-}:
-
-stdenv.mkDerivation rec {
-  pname = "pyblock";
-  version = "0.53";
-  md5_path = "f6d33a8362dee358517d0a9e2ebdd044";
-
-  src = pkgs.fetchurl {
-    url = "https://src.fedoraproject.org/repo/pkgs/python-pyblock/"
-        + "${pname}-${version}.tar.bz2/${md5_path}/${pname}-${version}.tar.bz2";
-    sha256 = "f6cef88969300a6564498557eeea1d8da58acceae238077852ff261a2cb1d815";
-  };
-
-  postPatch = ''
-    sed -i -e 's|/usr/include/python|${python}/include/python|' \
-           -e 's/-Werror *//' -e 's|/usr/|'"$out"'/|' Makefile
-  '';
-
-  buildInputs = [ python pkgs.lvm2 pkgs.dmraid ];
-
-  makeFlags = [
-    "USESELINUX=0"
-    "SITELIB=$(out)/${python.sitePackages}"
-  ];
-
-  meta = with lib; {
-    homepage = "https://www.centos.org/docs/5/html/5.4/Technical_Notes/python-pyblock.html";
-    description = "Interface for working with block devices";
-    license = licenses.gpl2Plus;
-    broken = isPy3k; # doesn't build on python 3, 2018-04-11
-  };
-
-}
diff --git a/pkgs/development/python-modules/pyres/default.nix b/pkgs/development/python-modules/pyres/default.nix
deleted file mode 100644
index 4aeccc1d360a..000000000000
--- a/pkgs/development/python-modules/pyres/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenv, fetchPypi, buildPythonPackage, fetchFromGitHub, simplejson, redis, setproctitle, nose, pkgs }:
-
-buildPythonPackage rec {
-  pname = "pyres";
-  version = "1.5";
-
-  propagatedBuildInputs = [ simplejson setproctitle redis pkgs.ps ];
-  nativeCheckInputs = [ nose pkgs.redis ];
-
-  # PyPI tarball doesn't contain tests so let's use GitHub
-  src = fetchFromGitHub {
-    owner = "binarydud";
-    repo = pname;
-    rev = version;
-    sha256 = "1rkpv7gbjxl9h9g7kncmsrgmi77l7pgfq8d7dbnsr3ia2jmjqb8y";
-  };
-
-  # started redis-server makes this hang on darwin
-  doCheck = !stdenv.isDarwin;
-
-  checkPhase = ''
-    redis-server &
-    nosetests . --exclude test_worker_pids
-  '';
-
-  meta = with lib; {
-    description = "Python resque clone";
-    homepage = "https://github.com/binarydud/pyres";
-    license = licenses.mit;
-    maintainers = with maintainers; [ jluttine ];
-    broken = true; # not compatible with latest redis
-  };
-}
diff --git a/pkgs/development/python-modules/requests-futures/default.nix b/pkgs/development/python-modules/requests-futures/default.nix
index cc6eb312431e..b2f1aab46988 100644
--- a/pkgs/development/python-modules/requests-futures/default.nix
+++ b/pkgs/development/python-modules/requests-futures/default.nix
@@ -1,24 +1,37 @@
-{ buildPythonPackage, fetchPypi, requests, lib }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, requests
+}:
 
 buildPythonPackage rec {
   pname = "requests-futures";
-  version = "1.0.0";
+  version = "1.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "35547502bf1958044716a03a2f47092a89efe8f9789ab0c4c528d9c9c30bc148";
+    sha256 = "sha256-9VpO+ABw4oWOfR5zEj0r+uryW5P9NDhNjd8UjitnY3M=";
   };
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [
+    requests
+  ];
 
-  # tests are disabled because they require being online
+  # Tests are disabled because they require being online
   doCheck = false;
 
-  pythonImportsCheck = [ "requests_futures" ];
+  pythonImportsCheck = [
+    "requests_futures"
+  ];
 
   meta = with lib; {
     description = "Asynchronous Python HTTP Requests for Humans using Futures";
     homepage = "https://github.com/ross/requests-futures";
+    changelog = "https://github.com/ross/requests-futures/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ applePrincess ];
   };
diff --git a/pkgs/development/python-modules/zake/default.nix b/pkgs/development/python-modules/zake/default.nix
deleted file mode 100644
index a9a5902b4c06..000000000000
--- a/pkgs/development/python-modules/zake/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, kazoo
-, six
-, testtools
-, unittestCheckHook
-}:
-
-buildPythonPackage rec {
-  pname = "zake";
-  version = "0.2.2";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1rp4xxy7qp0s0wnq3ig4ji8xsl31g901qkdp339ndxn466cqal2s";
-  };
-
-  propagatedBuildInputs = [ kazoo six ];
-  buildInputs = [ testtools ];
-  nativeCheckInputs = [ unittestCheckHook ];
-  preCheck = ''
-    # Skip test - fails with our new kazoo version
-    substituteInPlace zake/tests/test_client.py \
-      --replace "test_child_watch_no_create" "_test_child_watch_no_create"
-  '';
-
-  unittestFlagsArray = [ "zake/tests" ];
-
-  meta = with lib; {
-    homepage = "https://github.com/yahoo/Zake";
-    description = "A python package that works to provide a nice set of testing utilities for the kazoo library";
-    license = licenses.asl20;
-    broken = true;
-  };
-
-}
diff --git a/pkgs/development/tools/database/schemaspy/default.nix b/pkgs/development/tools/database/schemaspy/default.nix
index 8c7a90b70544..8f17e16122ec 100644
--- a/pkgs/development/tools/database/schemaspy/default.nix
+++ b/pkgs/development/tools/database/schemaspy/default.nix
@@ -29,7 +29,7 @@ javaPackages.mavenfod rec {
       maven
     ];
   };
-  mvnHash = "sha256-udjk5YlTK+Mm8weDhesK6X7qZn4w9HbKZ821SyWxsOE=";
+  mvnHash = "sha256-1x6cNt6t3FnjRNg8iNYflkyDnuPFXGKoxhVJWoz2jIU=";
 
   nativeBuildInputs = [
     makeWrapper
diff --git a/pkgs/development/tools/global-platform-pro/default.nix b/pkgs/development/tools/global-platform-pro/default.nix
index a8e9b957d27a..229d47a8ec73 100644
--- a/pkgs/development/tools/global-platform-pro/default.nix
+++ b/pkgs/development/tools/global-platform-pro/default.nix
@@ -1,8 +1,13 @@
-{ lib, stdenv, fetchFromGitHub, jdk8, maven, makeWrapper, jre8_headless, pcsclite }:
+{ lib, javaPackages, fetchFromGitHub, jdk8, maven, makeWrapper, jre8_headless, pcsclite }:
 
-let jdk = jdk8; jre_headless = jre8_headless; in
-# TODO: This is quite a bit of duplicated logic with gephi. Factor it out?
-stdenv.mkDerivation rec {
+let
+  mavenJdk8 = maven.override {
+    jdk = jdk8;
+  };
+in
+(javaPackages.mavenfod.override {
+  maven = mavenJdk8;
+}) rec {
   pname = "global-platform-pro";
   version = "18.09.14";
   GPPRO_VERSION = "18.09.14-0-gb439b52"; # git describe --tags --always --long --dirty
@@ -14,39 +19,14 @@ stdenv.mkDerivation rec {
     sha256 = "1vws6cbgm3mrwc2xz9j1y262vw21x3hjc9m7rqc4hn3m7gjpwsvg";
   };
 
-  deps = stdenv.mkDerivation {
-    name = "${pname}-${version}-deps";
-    inherit src;
-    nativeBuildInputs = [ jdk maven ];
-    installPhase = ''
-      # Download the dependencies
-      while ! mvn package "-Dmaven.repo.local=$out/.m2" -Dmaven.wagon.rto=5000; do
-        echo "timeout, restart maven to continue downloading"
-      done
-
-      # And keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files
-      # with lastModified timestamps inside
-      find "$out/.m2" -type f \
-        -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' \
-        -delete
-    '';
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
-    outputHash = "sha256-rRLsCTY3fEAvGRDvNXqpjac2Gb5fdlyhK2wTK5CVN9k=";
-  };
-
-  nativeBuildInputs = [ jdk maven makeWrapper ];
+  mvnHash = "sha256-rRLsCTY3fEAvGRDvNXqpjac2Gb5fdlyhK2wTK5CVN9k=";
 
-  buildPhase = ''
-    cp -dpR "${deps}/.m2" ./
-    chmod -R +w .m2
-    mvn package --offline -Dmaven.repo.local="$(pwd)/.m2"
-  '';
+  nativeBuildInputs = [ jdk8 mavenJdk8 makeWrapper ];
 
   installPhase = ''
     mkdir -p "$out/lib/java" "$out/share/java"
     cp target/gp.jar "$out/share/java"
-    makeWrapper "${jre_headless}/bin/java" "$out/bin/gp" \
+    makeWrapper "${jre8_headless}/bin/java" "$out/bin/gp" \
       --add-flags "-jar '$out/share/java/gp.jar'" \
       --prefix LD_LIBRARY_PATH : "${pcsclite.out}/lib"
   '';
diff --git a/pkgs/development/tools/language-servers/millet/Cargo.lock b/pkgs/development/tools/language-servers/millet/Cargo.lock
index f714ed150a05..e73d639afa21 100644
--- a/pkgs/development/tools/language-servers/millet/Cargo.lock
+++ b/pkgs/development/tools/language-servers/millet/Cargo.lock
@@ -28,7 +28,7 @@ dependencies = [
 
 [[package]]
 name = "analysis"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "config",
  "diagnostic",
@@ -108,7 +108,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chain-map"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "fast-hash",
  "str-util",
@@ -121,7 +121,7 @@ source = "git+https://github.com/azdavis/language-util.git#13b015c6a11357b2b9a7e
 
 [[package]]
 name = "cm-syntax"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "lex-util",
  "paths",
@@ -150,7 +150,7 @@ dependencies = [
 
 [[package]]
 name = "config"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "fast-hash",
  "serde",
@@ -178,7 +178,7 @@ checksum = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636"
 
 [[package]]
 name = "cov-mark"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "fast-hash",
  "once_cell",
@@ -403,7 +403,7 @@ dependencies = [
 
 [[package]]
 name = "input"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "cm-syntax",
  "config",
@@ -463,7 +463,7 @@ checksum = "1dabfe0d01e15fde0eba33b9de62475c59e681a47ce4ffe0534af2577a3f8524"
 
 [[package]]
 name = "lang-srv"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "analysis",
  "anyhow",
@@ -491,7 +491,7 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "lex-util"
-version = "0.11.0"
+version = "0.11.1"
 
 [[package]]
 name = "libc"
@@ -566,7 +566,7 @@ dependencies = [
 
 [[package]]
 name = "millet-cli"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "analysis",
  "codespan-reporting",
@@ -584,7 +584,7 @@ dependencies = [
 
 [[package]]
 name = "millet-ls"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "anyhow",
  "env_logger",
@@ -613,7 +613,7 @@ dependencies = [
 
 [[package]]
 name = "mlb-hir"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "fast-hash",
  "paths",
@@ -624,7 +624,7 @@ dependencies = [
 
 [[package]]
 name = "mlb-statics"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "config",
  "diagnostic",
@@ -648,7 +648,7 @@ dependencies = [
 
 [[package]]
 name = "mlb-syntax"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "lex-util",
  "paths",
@@ -720,7 +720,7 @@ dependencies = [
 
 [[package]]
 name = "panic-hook"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "better-panic",
 ]
@@ -914,7 +914,7 @@ dependencies = [
 
 [[package]]
 name = "slash-var-path"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "fast-hash",
  "str-util",
@@ -922,14 +922,14 @@ dependencies = [
 
 [[package]]
 name = "sml-comment"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "sml-syntax",
 ]
 
 [[package]]
 name = "sml-dynamics"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "fast-hash",
  "fmt-util",
@@ -940,7 +940,7 @@ dependencies = [
 
 [[package]]
 name = "sml-dynamics-tests"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "config",
  "sml-dynamics",
@@ -955,7 +955,7 @@ dependencies = [
 
 [[package]]
 name = "sml-file-syntax"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "config",
  "elapsed",
@@ -969,7 +969,7 @@ dependencies = [
 
 [[package]]
 name = "sml-fixity"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "fast-hash",
  "once_cell",
@@ -978,7 +978,7 @@ dependencies = [
 
 [[package]]
 name = "sml-hir"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "la-arena",
  "sml-lab",
@@ -989,7 +989,7 @@ dependencies = [
 
 [[package]]
 name = "sml-hir-lower"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "config",
  "cov-mark",
@@ -1004,14 +1004,14 @@ dependencies = [
 
 [[package]]
 name = "sml-lab"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "str-util",
 ]
 
 [[package]]
 name = "sml-lex"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "cov-mark",
  "diagnostic",
@@ -1026,7 +1026,7 @@ source = "git+https://github.com/azdavis/sml-libs.git#7ae671a607a143fd8529e34019
 
 [[package]]
 name = "sml-naive-fmt"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "fast-hash",
  "sml-comment",
@@ -1035,11 +1035,11 @@ dependencies = [
 
 [[package]]
 name = "sml-namespace"
-version = "0.11.0"
+version = "0.11.1"
 
 [[package]]
 name = "sml-parse"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "diagnostic",
  "event-parse",
@@ -1051,14 +1051,14 @@ dependencies = [
 
 [[package]]
 name = "sml-path"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "str-util",
 ]
 
 [[package]]
 name = "sml-scon"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "num-bigint",
  "num-traits",
@@ -1067,7 +1067,7 @@ dependencies = [
 
 [[package]]
 name = "sml-statics"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "chain-map",
  "config",
@@ -1090,7 +1090,7 @@ dependencies = [
 
 [[package]]
 name = "sml-statics-types"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "chain-map",
  "code-h2-md-map",
@@ -1108,7 +1108,7 @@ dependencies = [
 
 [[package]]
 name = "sml-symbol-kind"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "sml-namespace",
  "sml-statics-types",
@@ -1116,7 +1116,7 @@ dependencies = [
 
 [[package]]
 name = "sml-syntax"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "char-name",
  "code-h2-md-map",
@@ -1129,7 +1129,7 @@ dependencies = [
 
 [[package]]
 name = "sml-ty-var-scope"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "fast-hash",
  "sml-hir",
@@ -1197,7 +1197,7 @@ dependencies = [
 
 [[package]]
 name = "tests"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "analysis",
  "cm-syntax",
@@ -1532,7 +1532,7 @@ dependencies = [
 
 [[package]]
 name = "xtask"
-version = "0.11.0"
+version = "0.11.1"
 dependencies = [
  "anyhow",
  "flate2",
diff --git a/pkgs/development/tools/language-servers/millet/default.nix b/pkgs/development/tools/language-servers/millet/default.nix
index 7698ad33fd4e..47d2a39ca38e 100644
--- a/pkgs/development/tools/language-servers/millet/default.nix
+++ b/pkgs/development/tools/language-servers/millet/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "millet";
-  version = "0.11.0";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "azdavis";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-laRJLOZQUGAaAo+2sw7zl89JeKs9yQcnfiifzWSDoFU=";
+    hash = "sha256-OfXwrESYwJ1rAcL8q2OlYhMom4iiYJ5N//a3TIp4FwY=";
   };
 
   cargoLock = {
diff --git a/pkgs/servers/exhibitor/default.nix b/pkgs/servers/exhibitor/default.nix
index 4d6a09ed1b75..fce258a8ebae 100644
--- a/pkgs/servers/exhibitor/default.nix
+++ b/pkgs/servers/exhibitor/default.nix
@@ -1,41 +1,36 @@
-{ fetchFromGitHub, maven, jdk, makeWrapper, lib, stdenv, ... }:
-stdenv.mkDerivation rec {
+{ lib, javaPackages, fetchFromGitHub, maven, makeWrapper, jdk }:
+
+javaPackages.mavenfod rec {
   pname = "exhibitor";
   version = "1.5.6";
 
   src = fetchFromGitHub {
     owner = "soabase";
     repo = "exhibitor";
-    sha256 = "07vikhkldxy51jbpy3jgva6wz75jksch6bjd6dqkagfgqd6baw45";
-    rev = "5fcdb411d06e8638c2380f7acb72a8a6909739cd";
-  };
-  mavenDependenciesSha256 = "sha256-oGd8PFF1Z9BElNsgqbC/llQm8j/T+T01VwvSw3tTU0E=";
-  # This is adapted from https://github.com/volth/nixpkgs/blob/6aa470dfd57cae46758b62010a93c5ff115215d7/pkgs/applications/networking/cluster/hadoop/default.nix#L20-L32
-  fetchedMavenDeps = stdenv.mkDerivation {
-    name = "exhibitor-${version}-maven-deps";
-    inherit src nativeBuildInputs;
-    buildPhase = ''
-      cd ${pomFileDir};
-      while timeout --kill-after=21m 20m mvn package -Dmaven.repo.local=$out/.m2; [ $? = 124 ]; do
-        echo "maven hangs while downloading :("
-      done
-    '';
-    installPhase = ''find $out/.m2 -type f \! -regex '.+\(pom\|jar\|xml\|sha1\)' -delete''; # delete files with lastModified timestamps inside
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
-    outputHash = mavenDependenciesSha256;
+    rev = "v${version}";
+    hash = "sha256-PZRT2C4CfYCbaHE9tEnwpyzEsJ6ZaS//zUDweR4YKrI=";
   };
 
   # The purpose of this is to fetch the jar file out of public Maven and use Maven
   # to build a monolithic, standalone jar, rather than build everything from source
   # (given the state of Maven support in Nix). We're not actually building any java
   # source here.
-  pomFileDir = "exhibitor-standalone/src/main/resources/buildscripts/standalone/maven";
+  sourceRoot = "source/exhibitor-standalone/src/main/resources/buildscripts/standalone/maven";
+  mvnFetchExtraArgs = {
+    inherit sourceRoot;
+  };
+  mvnHash = "sha256-xhLnjtaF5eFUuBo5aHdp0j2sPfxYhFEZYJwVQlkqARs=";
+
   nativeBuildInputs = [ maven makeWrapper ];
-  buildPhase = ''
-      cd ${pomFileDir}
-      mvn package --offline -Dmaven.repo.local=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/java
+    filename=$(basename target/*.jar)
+    mv target/$filename $out/share/java/
+    makeWrapper ${jdk}/bin/java $out/bin/startExhibitor.sh --add-flags "-jar $out/share/java/$filename" --suffix PATH : ${lib.makeBinPath [ jdk ]}
   '';
+
   meta = with lib; {
     description = "ZooKeeper co-process for instance monitoring, backup/recovery, cleanup and visualization";
     homepage = "https://github.com/soabase/exhibitor";
@@ -44,12 +39,4 @@ stdenv.mkDerivation rec {
     mainProgram = "startExhibitor.sh";
     platforms = platforms.unix;
   };
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/java
-    mv target/$name.jar $out/share/java/
-    makeWrapper ${jdk}/bin/java $out/bin/startExhibitor.sh --add-flags "-jar $out/share/java/$name.jar" --suffix PATH : ${lib.makeBinPath [ jdk ]}
-  '';
-
 }
diff --git a/pkgs/servers/mail/public-inbox/default.nix b/pkgs/servers/mail/public-inbox/default.nix
index 02ab293c1af1..302473b975a9 100644
--- a/pkgs/servers/mail/public-inbox/default.nix
+++ b/pkgs/servers/mail/public-inbox/default.nix
@@ -153,6 +153,7 @@ buildPerlPackage rec {
             --set NIX_CFLAGS_COMPILE_${stdenv.cc.suffixSalt} -I${lib.getDev libxcrypt}/include \
             --prefix PATH : ${lib.makeBinPath [
               git
+              xapian
               /* for InlineC */
               gnumake
               stdenv.cc
diff --git a/pkgs/tools/security/cryptomator/default.nix b/pkgs/tools/security/cryptomator/default.nix
index a7341ef79d9b..2c20615b1e20 100644
--- a/pkgs/tools/security/cryptomator/default.nix
+++ b/pkgs/tools/security/cryptomator/default.nix
@@ -1,10 +1,10 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib, javaPackages, fetchFromGitHub
 , autoPatchelfHook
 , fuse3
 , maven, jdk, makeShellWrapper, glib, wrapGAppsHook
 }:
 
-let
+javaPackages.mavenfod rec {
   pname = "cryptomator";
   version = "1.8.0";
 
@@ -12,43 +12,15 @@ let
     owner = "cryptomator";
     repo = "cryptomator";
     rev = version;
-    sha256 = "sha256-4MjF2PDH0JB1biY4HO2wOC0i6EIGSlzkK6tDm8nzvIo=";
+    hash = "sha256-4MjF2PDH0JB1biY4HO2wOC0i6EIGSlzkK6tDm8nzvIo=";
   };
 
-  # perform fake build to make a fixed-output derivation out of the files downloaded from maven central (120MB)
-  deps = stdenv.mkDerivation {
-    name = "cryptomator-${version}-deps";
-    inherit src;
+  mvnParameters = "-Dmaven.test.skip=true";
+  mvnHash = "sha256-rHLLYkZq3GGE0uhTgZT0tnsh+ChzQdpQ2e+SG1TwBvw=";
 
-    nativeBuildInputs = [ jdk maven ];
-    buildInputs = [ jdk ];
-
-    buildPhase = ''
-      while mvn -Plinux package -Dmaven.test.skip=true -Dmaven.repo.local=$out/.m2 -Dmaven.wagon.rto=5000; [ $? = 1 ]; do
-        echo "timeout, restart maven to continue downloading"
-      done
-    '';
-
-    # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
-    installPhase = ''
-      find $out/.m2 -type f -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' -delete
-      find $out/.m2 -type f -iname '*.pom' -exec sed -i -e 's/\r\+$//' {} \;
-    '';
-
-    outputHashMode = "recursive";
-    outputHash = "sha256-2nCaSL7OlS9f+PZPh0YiMvnjOaAqlQimkKWDSjSP+bQ=";
-
-    doCheck = false;
-  };
-
-in stdenv.mkDerivation rec {
-  inherit pname version src;
-
-  buildPhase = ''
+  preBuild = ''
     VERSION=${version}
     SEMVER_STR=${version}
-
-    mvn -Plinux package --offline -Dmaven.test.skip=true -Dmaven.repo.local=$(cp -dpR ${deps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
   '';
 
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4bb79eaebcf1..6d9ad452583a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -30919,6 +30919,8 @@ with pkgs;
 
   sherlock = callPackage ../tools/security/sherlock { };
 
+  stratovirt = callPackage ../applications/virtualization/stratovirt { };
+
   rhythmbox = callPackage ../applications/audio/rhythmbox { };
 
   puddletag = libsForQt5.callPackage ../applications/audio/puddletag { };
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 8f455480f8df..afc1a1524dcc 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -104,7 +104,6 @@ let
 
     bls12-381 = callPackage ../development/ocaml-modules/bls12-381 { };
     bls12-381-gen = callPackage ../development/ocaml-modules/bls12-381/gen.nix { };
-    bls12-381-hash = callPackage ../development/ocaml-modules/bls12-381-hash { };
 
     bls12-381-signature = callPackage ../development/ocaml-modules/bls12-381-signature { };
 
@@ -1524,6 +1523,8 @@ let
 
     seq = callPackage ../development/ocaml-modules/seq { };
 
+    seqes = callPackage ../development/ocaml-modules/seqes { };
+
     sha = callPackage ../development/ocaml-modules/sha { };
 
     shared-memory-ring = callPackage ../development/ocaml-modules/shared-memory-ring { };
@@ -1600,12 +1601,6 @@ let
 
     tezos-base58 = callPackage ../development/ocaml-modules/tezos-base58 { };
 
-    tezos-bls12-381-polynomial = callPackage ../development/ocaml-modules/tezos-bls12-381-polynomial { };
-
-    tezos-plompiler = callPackage ../development/ocaml-modules/tezos-bls12-381-polynomial/plompiler.nix { };
-
-    tezos-plonk = callPackage ../development/ocaml-modules/tezos-bls12-381-polynomial/plonk.nix { };
-
     theora = callPackage ../development/ocaml-modules/theora { };
 
     timed = callPackage ../development/ocaml-modules/timed { };
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 1d887b287660..776ac5734e97 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -207,6 +207,7 @@ mapAliases ({
   Pweave = pweave; # added 2023-02-19
   pyalmond = throw "pyalmond has been removed, since its API endpoints have been shutdown"; # added 2023-02-02
   pyblake2 = throw "pyblake2 is deprecated in favor of hashlib"; # added 2023-04-23
+  pyblock = throw "pyblock has been removed, since it is abandoned and broken"; # added 2023-06-20
   pydrive = throw "pydrive is broken and deprecated and has been replaced with pydrive2."; # added 2022-06-01
   PyGithub = pygithub; # added 2023-02-19
   pyGtkGlade = throw "Glade support for pygtk has been removed"; # added 2022-01-15
@@ -227,6 +228,7 @@ mapAliases ({
   pyramid_hawkauth = throw "pyramid_hawkauth has been removed because it is no longer maintained"; # added 2023-02-2
   pyramid_jinja2 = pyramid-jinja2; # added 2023-06-06
   pyreadability = readability-lxml; # added 2022-05-24
+  pyres = throw "pyres has been removed, since it is abandoned and broken"; # added 2023-06-20
   pyroute2-core = throw "pyroute2 migrated back to a single package scheme in version 0.7.1"; # added 2022-07-16
   pyroute2-ethtool = throw "pyroute2 migrated back to a single package scheme in version 0.7.1"; # added 2022-07-16
   pyroute2-ipdb = throw "pyroute2 migrated back to a single package scheme in version 0.7.1"; # added 2022-07-16
@@ -337,6 +339,7 @@ mapAliases ({
   xenomapper = throw "xenomapper was moved to pkgs.xenomapper"; # added 2021-12-31
   XlsxWriter = xlsxwriter; # added 2023-02-19
   Yapsy = yapsy; # added 2023-02-19
+  zake = throw "zake has been removed because it is abandoned"; # added 2023-06-20
   zc-buildout221 = zc-buildout; # added 2021-07-21
   zc_buildout_nix = throw "zc_buildout_nix was pinned to a version no longer compatible with other modules";
 })
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a979e5af88f9..64a42bb61cce 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -8319,8 +8319,6 @@ self: super: with self; {
 
   pyblackbird = callPackage ../development/python-modules/pyblackbird { };
 
-  pyblock = toPythonModule (callPackage ../development/python-modules/pyblock { });
-
   pybluez = callPackage ../development/python-modules/pybluez {
     inherit (pkgs) bluez;
   };
@@ -9271,8 +9269,6 @@ self: super: with self; {
 
   pyregion = callPackage ../development/python-modules/pyregion { };
 
-  pyres = callPackage ../development/python-modules/pyres { };
-
   pyric = callPackage ../development/python-modules/pyric { };
 
   pyrisco = callPackage ../development/python-modules/pyrisco { };
@@ -13433,8 +13429,6 @@ self: super: with self; {
 
   zadnegoale = callPackage ../development/python-modules/zadnegoale { };
 
-  zake = callPackage ../development/python-modules/zake { };
-
   zamg = callPackage ../development/python-modules/zamg { };
 
   zarr = callPackage ../development/python-modules/zarr { };