about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2023-12-14 00:12:40 +0000
committerGitHub <noreply@github.com>2023-12-14 00:12:40 +0000
commitf061cfd767f2c56045dec60c0eecbfee4ae757c3 (patch)
tree702a795f5e2e23ea8a7bbd37e5804946bc304c1b /pkgs/development
parent2b224e812b1ed6ac2f36827ba2d282f8edbe90af (diff)
parentcfb8505a8fefe7a57f392f85ce9d9dbe9066a6ef (diff)
Merge master into haskell-updates
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/chicken/5/default.nix17
-rw-r--r--pkgs/development/compilers/emscripten/0001-emulate-clang-sysroot-include-logic.patch32
-rw-r--r--pkgs/development/compilers/emscripten/default.nix17
-rw-r--r--pkgs/development/compilers/gerbil/build.nix3
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix25
-rw-r--r--pkgs/development/compilers/llvm/17/lld/add-table-base.patch190
-rw-r--r--pkgs/development/compilers/llvm/17/lld/default.nix1
-rw-r--r--pkgs/development/compilers/ocaml/5.1.nix4
-rw-r--r--pkgs/development/coq-modules/QuickChick/default.nix2
-rw-r--r--pkgs/development/cuda-modules/cudatoolkit/default.nix31
-rw-r--r--pkgs/development/cuda-modules/cudnn/releases.nix26
-rw-r--r--pkgs/development/cuda-modules/generic-builders/manifest.nix13
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix1
-rw-r--r--pkgs/development/interpreters/wamr/default.nix4
-rw-r--r--pkgs/development/libraries/grpc/default.nix2
-rw-r--r--pkgs/development/libraries/irrlichtmt/default.nix20
-rw-r--r--pkgs/development/libraries/librealsense/default.nix18
-rw-r--r--pkgs/development/libraries/librealsense/install-presets.patch13
-rw-r--r--pkgs/development/libraries/librealsense/py_pybind11_no_external_download.patch48
-rw-r--r--pkgs/development/libraries/librealsense/py_sitepackage_dir.patch15
-rw-r--r--pkgs/development/libraries/physics/apfel/default.nix4
-rw-r--r--pkgs/development/lisp-modules/packages.nix117
-rw-r--r--pkgs/development/ocaml-modules/batteries/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/gsl/default.nix32
-rw-r--r--pkgs/development/ocaml-modules/phylogenetics/default.nix5
-rw-r--r--pkgs/development/php-packages/relay/default.nix2
-rw-r--r--pkgs/development/python-modules/asgi-logger/default.nix37
-rw-r--r--pkgs/development/python-modules/bellows/default.nix4
-rw-r--r--pkgs/development/python-modules/caldav/default.nix13
-rw-r--r--pkgs/development/python-modules/can/default.nix4
-rw-r--r--pkgs/development/python-modules/dataclasses-json/default.nix4
-rw-r--r--pkgs/development/python-modules/debianbts/default.nix2
-rw-r--r--pkgs/development/python-modules/imia/default.nix39
-rw-r--r--pkgs/development/python-modules/nototools/default.nix78
-rw-r--r--pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--pkgs/development/python-modules/pyhiveapi/default.nix4
-rw-r--r--pkgs/development/python-modules/smtpdfix/default.nix46
-rw-r--r--pkgs/development/python-modules/starlette-wtf/default.nix45
-rw-r--r--pkgs/development/python-modules/wtforms-bootstrap5/default.nix42
-rw-r--r--pkgs/development/python-modules/yte/default.nix9
-rw-r--r--pkgs/development/python-modules/zigpy-deconz/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy-xbee/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy/default.nix4
-rw-r--r--pkgs/development/tools/algolia-cli/default.nix4
-rw-r--r--pkgs/development/tools/allure/default.nix4
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix4
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix8
-rw-r--r--pkgs/development/tools/api-linter/default.nix6
-rw-r--r--pkgs/development/tools/azcopy/default.nix6
-rw-r--r--pkgs/development/tools/bearer/default.nix6
-rw-r--r--pkgs/development/tools/bomber-go/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix18
-rw-r--r--pkgs/development/tools/buildah/default.nix4
-rw-r--r--pkgs/development/tools/java/jextract/default.nix10
-rw-r--r--pkgs/development/tools/ocaml/merlin/4.x.nix3
-rw-r--r--pkgs/development/tools/pscale/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-cyclonedx/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-mobile2/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-pgrx/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-zigbuild/default.nix6
-rw-r--r--pkgs/development/web/bun/default.nix10
61 files changed, 793 insertions, 317 deletions
diff --git a/pkgs/development/compilers/chicken/5/default.nix b/pkgs/development/compilers/chicken/5/default.nix
index e66b4940ff03f..61bf45dd54ac7 100644
--- a/pkgs/development/compilers/chicken/5/default.nix
+++ b/pkgs/development/compilers/chicken/5/default.nix
@@ -27,12 +27,29 @@ lib.makeScope newScope (self: {
             "https://code.call-cc.org/cgi-bin/gitweb.cgi?p=eggs-5-latest.git;a=tree;f=${pname}/${version}";
           meta.description = synopsis;
           meta.license = (lib.licenses // {
+            "agpl" = lib.licenses.agpl3Only;
+            "artistic" = lib.licenses.artistic2;
+            "bsd" = lib.licenses.bsd3;
             "bsd-1-clause" = lib.licenses.bsd1;
             "bsd-2-clause" = lib.licenses.bsd2;
             "bsd-3-clause" = lib.licenses.bsd3;
+            "gpl" = lib.licenses.gpl3Only;
+            "gpl-2" = lib.licenses.gpl2Only;
+            "gplv2" = lib.licenses.gpl2Only;
+            "gpl-3" = lib.licenses.gpl3Only;
+            "gpl-3.0" = lib.licenses.gpl3Only;
+            "gplv3" = lib.licenses.gpl3Only;
+            "lgpl" = lib.licenses.lgpl3Only;
+            "lgpl-2" = lib.licenses.lgpl2Only;
             "lgpl-2.0+" = lib.licenses.lgpl2Plus;
+            "lgpl-2.1" = lib.licenses.lgpl21Only;
             "lgpl-2.1-or-later" = lib.licenses.lgpl21Plus;
+            "lgpl-3" = lib.licenses.lgpl3Only;
+            "lgplv3" = lib.licenses.lgpl3Only;
             "public-domain" = lib.licenses.publicDomain;
+            "srfi" = lib.licenses.bsd3;
+            "unicode" = lib.licenses.ucd;
+            "zlib-acknowledgement" = lib.licenses.zlib;
           }).${license} or license;
         })
       (lib.importTOML ./deps.toml))));
diff --git a/pkgs/development/compilers/emscripten/0001-emulate-clang-sysroot-include-logic.patch b/pkgs/development/compilers/emscripten/0001-emulate-clang-sysroot-include-logic.patch
index 6a57e423bd72b..4171906d5e368 100644
--- a/pkgs/development/compilers/emscripten/0001-emulate-clang-sysroot-include-logic.patch
+++ b/pkgs/development/compilers/emscripten/0001-emulate-clang-sysroot-include-logic.patch
@@ -1,4 +1,4 @@
-From 4bbbb640934aa653bcfec0335798b77a8935b815 Mon Sep 17 00:00:00 2001
+From 86fc9ce2b381748813b372f7e86909be6f955cbd Mon Sep 17 00:00:00 2001
 From: Yureka <yuka@yuka.dev>
 Date: Sat, 7 Aug 2021 09:16:46 +0200
 Subject: [PATCH] emulate clang 'sysroot + /include' logic
@@ -16,27 +16,23 @@ in the include search order, right after the resource root.
 Hence usage of -idirafter. Clang also documents an -isystem-after flag
 but it doesn't appear to work
 ---
- emcc.py | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
+ emcc.py | 3 +++
+ 1 file changed, 3 insertions(+)
 
 diff --git a/emcc.py b/emcc.py
-index ba8d1b556..7d89644c5 100755
+index 279f6d4d9..26e20e2cc 100644
 --- a/emcc.py
 +++ b/emcc.py
-@@ -883,7 +883,12 @@ def parse_s_args(args):
+@@ -400,6 +400,9 @@ def get_cflags(user_args, is_cxx):
+   # We add these to the user's flags (newargs), but not when building .s or .S assembly files
+   cflags = get_clang_flags(user_args)
+   cflags.append('--sysroot=' + cache.get_sysroot(absolute=True))
++  cflags.append('-resource-dir=@resourceDir@')
++  cflags.append('-idirafter' + cache.get_sysroot(absolute=True) + os.path.join('/include'))
++  cflags.append('-iwithsysroot' + os.path.join('/include','c++','v1'))
  
- 
- def emsdk_cflags(user_args):
--  cflags = ['--sysroot=' + cache.get_sysroot(absolute=True)]
-+  cflags = [
-+    '--sysroot=' + cache.get_sysroot(absolute=True),
-+    '-resource-dir=@resourceDir@',
-+    '-idirafter' + cache.get_sysroot(absolute=True) + os.path.join('/include'),
-+    '-iwithsysroot' + os.path.join('/include','c++','v1')
-+  ]
- 
-   def array_contains_any_of(hay, needles):
-     for n in needles:
+   if settings.EMSCRIPTEN_TRACING:
+     cflags.append('-D__EMSCRIPTEN_TRACING__=1')
 -- 
-2.40.0
+2.42.0
 
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index 39c7d58aac850..1f8d2f55da347 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "emscripten";
-  version = "3.1.47";
+  version = "3.1.50";
 
   llvmEnv = symlinkJoin {
     name = "emscripten-llvm-${version}";
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "emscripten-core";
     repo = "emscripten";
-    hash = "sha256-cRNkQ+7vUqJLNlf5dieeDcyT1jlBUeVxO8avoUvOPHI=";
+    hash = "sha256-iFZF+DxGaq279QPPugoLhYmoXmyLPkmn1x4rBCkdW+I=";
     rev = version;
   };
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   patches = [
     (substituteAll {
       src = ./0001-emulate-clang-sysroot-include-logic.patch;
-      resourceDir = "${llvmEnv}/lib/clang/16/";
+      resourceDir = "${llvmEnv}/lib/clang/17/";
     })
   ];
 
@@ -51,6 +51,9 @@ stdenv.mkDerivation rec {
 
     patchShebangs .
 
+    # emscripten 3.1.50 requires LLVM tip-of-tree instead of LLVM 17
+    sed -i -e "s/EXPECTED_LLVM_VERSION = 18/EXPECTED_LLVM_VERSION = 17.0/g" tools/shared.py
+
     # fixes cmake support
     sed -i -e "s/print \('emcc (Emscript.*\)/sys.stderr.write(\1); sys.stderr.flush()/g" emcc.py
 
@@ -106,7 +109,11 @@ stdenv.mkDerivation rec {
         # TODO: get library cache to build with both enabled and function exported
         $out/bin/emcc $LTO $BIND test.c
         $out/bin/emcc $LTO $BIND -s RELOCATABLE test.c
-        $out/bin/emcc $LTO $BIND -s USE_PTHREADS test.c
+        # starting with emscripten 3.1.48+,
+        # to use pthreads, _emscripten_check_mailbox must be exported
+        # (see https://github.com/emscripten-core/emscripten/pull/20604)
+        # TODO: get library cache to build with pthreads at all
+        # $out/bin/emcc $LTO $BIND -s USE_PTHREADS test.c
       done
     done
     popd
@@ -131,7 +138,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/emscripten-core/emscripten";
     description = "An LLVM-to-JavaScript Compiler";
     platforms = platforms.all;
-    maintainers = with maintainers; [ qknight matthewbauer raitobezarius ];
+    maintainers = with maintainers; [ qknight matthewbauer raitobezarius willcohen ];
     license = licenses.ncsa;
   };
 }
diff --git a/pkgs/development/compilers/gerbil/build.nix b/pkgs/development/compilers/gerbil/build.nix
index a0922ff9ccaca..af983be968b0f 100644
--- a/pkgs/development/compilers/gerbil/build.nix
+++ b/pkgs/development/compilers/gerbil/build.nix
@@ -106,6 +106,9 @@ stdenv.mkDerivation rec {
     ./install.sh
     (cd $out/bin ; ln -s ../gerbil/bin/* .)
     runHook postInstall
+  '' + lib.optionalString stdenv.isDarwin ''
+    libgerbil="$(realpath "$out/gerbil/lib/libgerbil.so")"
+    install_name_tool -id "$libgerbil" "$libgerbil"
   '';
 
   dontStrip = true;
diff --git a/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix b/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix
index 7d62411f57401..858d7443ff626 100644
--- a/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix
+++ b/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix
@@ -63,22 +63,7 @@ let
     mkdir -p $out/bin
     ln -s ${lib.getDev musl}/bin/musl-gcc $out/bin/${stdenv.hostPlatform.system}-musl-gcc
   '');
-  # GraalVM 23.0.0+ (i.e.: JDK 21.0.0+) clean-up the environment inside darwin
-  # So we need to re-added some env vars to make everything work correctly again
-  darwin-cc = (runCommandCC "darwin-cc"
-    {
-      nativeBuildInputs = [ makeWrapper ];
-      buildInputs = [ darwin.apple_sdk.frameworks.Foundation zlib ];
-    } ''
-    makeWrapper ${stdenv.cc}/bin/cc $out/bin/cc \
-      --prefix NIX_CFLAGS_COMPILE_${stdenv.cc.suffixSalt} : "$NIX_CFLAGS_COMPILE" \
-      --prefix NIX_LDFLAGS_${stdenv.cc.suffixSalt} : "$NIX_LDFLAGS"
-  '');
-  binPath = lib.makeBinPath (
-    lib.optionals stdenv.isDarwin [ darwin-cc ]
-    ++ lib.optionals useMusl [ musl-gcc ]
-    ++ [ stdenv.cc ]
-  );
+  binPath = lib.makeBinPath (lib.optionals useMusl [ musl-gcc ] ++ [ stdenv.cc ]);
 
   runtimeLibraryPath = lib.makeLibraryPath
     ([ cups ] ++ lib.optionals gtkSupport [ cairo glib gtk3 ]);
@@ -180,6 +165,14 @@ let
       echo "Testing GraalVM"
       $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
 
+      # Workaround GraalVM issue where the builder does not have access to the
+      # environment variables since 21.0.0
+      # Only needed for native-image tests
+      # https://github.com/oracle/graal/pull/6095
+      # https://github.com/oracle/graal/pull/6095
+      # https://github.com/oracle/graal/issues/7502
+      export NATIVE_IMAGE_DEPRECATED_BUILDER_SANITATION="true";
+
       echo "Ahead-Of-Time compilation"
       $out/bin/native-image -H:+UnlockExperimentalVMOptions -H:-CheckToolchain -H:+ReportExceptionStackTraces HelloWorld
       ./helloworld | fgrep 'Hello World'
diff --git a/pkgs/development/compilers/llvm/17/lld/add-table-base.patch b/pkgs/development/compilers/llvm/17/lld/add-table-base.patch
new file mode 100644
index 0000000000000..15fc903a5e3f3
--- /dev/null
+++ b/pkgs/development/compilers/llvm/17/lld/add-table-base.patch
@@ -0,0 +1,190 @@
+From 93adcb770b99351b18553089c164fe3ef2119699 Mon Sep 17 00:00:00 2001
+From: Sam Clegg <sbc@chromium.org>
+Date: Fri, 25 Aug 2023 13:56:16 -0700
+Subject: [PATCH] [lld][WebAssembly] Add `--table-base` setting
+
+This is similar to `--global-base` but determines where to place the
+table segments rather than that data segments.
+
+See https://github.com/emscripten-core/emscripten/issues/20097
+
+Differential Revision: https://reviews.llvm.org/D158892
+---
+ test/wasm/table-base.s | 72 ++++++++++++++++++++++++++++++++++++++
+ wasm/Driver.cpp        | 19 ++++++++--
+ wasm/Options.td        |  5 ++-
+ wasm/Writer.cpp        |  8 -----
+ 4 files changed, 93 insertions(+), 11 deletions(-)
+ create mode 100644 test/wasm/table-base.s
+
+diff --git a/test/wasm/table-base.s b/test/wasm/table-base.s
+new file mode 100644
+index 000000000000000..56fff414fd31d96
+--- /dev/null
++++ b/test/wasm/table-base.s
+@@ -0,0 +1,72 @@
++# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %s -o %t.o
++
++# RUN: wasm-ld --export=__table_base -o %t.wasm %t.o
++# RUN: obj2yaml %t.wasm | FileCheck %s  -check-prefix=CHECK-DEFAULT
++
++# RUN: wasm-ld --table-base=100 --export=__table_base -o %t.wasm %t.o
++# RUN: obj2yaml %t.wasm | FileCheck %s  -check-prefix=CHECK-100
++
++.globl _start
++_start:
++  .functype _start () -> ()
++  i32.const _start
++  drop
++  end_function
++
++# CHECK-DEFAULT:       - Type:            TABLE
++# CHECK-DEFAULT-NEXT:    Tables:
++# CHECK-DEFAULT-NEXT:      - Index:           0
++# CHECK-DEFAULT-NEXT:        ElemType:        FUNCREF
++# CHECK-DEFAULT-NEXT:        Limits:
++# CHECK-DEFAULT-NEXT:          Flags:           [ HAS_MAX ]
++# CHECK-DEFAULT-NEXT:          Minimum:         0x2
++# CHECK-DEFAULT-NEXT:          Maximum:         0x2
++
++# CHECK-DEFAULT:       - Type:            GLOBAL
++# CHECK-DEFAULT-NEXT:    Globals:
++# CHECK-DEFAULT-NEXT:      - Index:           0
++# CHECK-DEFAULT-NEXT:        Type:            I32
++# CHECK-DEFAULT-NEXT:        Mutable:         true
++# CHECK-DEFAULT-NEXT:        InitExpr:
++# CHECK-DEFAULT-NEXT:          Opcode:          I32_CONST
++# CHECK-DEFAULT-NEXT:          Value:           66560
++# CHECK-DEFAULT-NEXT:      - Index:           1
++# CHECK-DEFAULT-NEXT:        Type:            I32
++# CHECK-DEFAULT-NEXT:        Mutable:         false
++# CHECK-DEFAULT-NEXT:        InitExpr:
++# CHECK-DEFAULT-NEXT:          Opcode:          I32_CONST
++# CHECK-DEFAULT-NEXT:          Value:           1
++
++# CHECK-DEFAULT:       - Type:            EXPORT
++# CHECK-DEFAULT:           - Name:            __table_base
++# CHECK-DEFAULT-NEXT:        Kind:            GLOBAL
++# CHECK-DEFAULT-NEXT:        Index:           1
++
++# CHECK-100:       - Type:            TABLE
++# CHECK-100-NEXT:    Tables:
++# CHECK-100-NEXT:      - Index:           0
++# CHECK-100-NEXT:        ElemType:        FUNCREF
++# CHECK-100-NEXT:        Limits:
++# CHECK-100-NEXT:          Flags:           [ HAS_MAX ]
++# CHECK-100-NEXT:          Minimum:         0x65
++# CHECK-100-NEXT:          Maximum:         0x65
++
++# CHECK-100:       - Type:            GLOBAL
++# CHECK-100-NEXT:    Globals:
++# CHECK-100-NEXT:      - Index:           0
++# CHECK-100-NEXT:        Type:            I32
++# CHECK-100-NEXT:        Mutable:         true
++# CHECK-100-NEXT:        InitExpr:
++# CHECK-100-NEXT:          Opcode:          I32_CONST
++# CHECK-100-NEXT:          Value:           66560
++# CHECK-100-NEXT:      - Index:           1
++# CHECK-100-NEXT:        Type:            I32
++# CHECK-100-NEXT:        Mutable:         false
++# CHECK-100-NEXT:        InitExpr:
++# CHECK-100-NEXT:          Opcode:          I32_CONST
++# CHECK-100-NEXT:          Value:           100
++
++# CHECK-100:       - Type:            EXPORT
++# CHECK-100:           - Name:            __table_base
++# CHECK-100-NEXT:        Kind:            GLOBAL
++# CHECK-100-NEXT:        Index:           1
+diff --git a/wasm/Driver.cpp b/wasm/Driver.cpp
+index 84304881f5ca34e..c2f5f0185781f36 100644
+--- a/wasm/Driver.cpp
++++ b/wasm/Driver.cpp
+@@ -502,6 +502,7 @@ static void readConfigs(opt::InputArgList &args) {
+ 
+   config->initialMemory = args::getInteger(args, OPT_initial_memory, 0);
+   config->globalBase = args::getInteger(args, OPT_global_base, 0);
++  config->tableBase = args::getInteger(args, OPT_table_base, 0);
+   config->maxMemory = args::getInteger(args, OPT_max_memory, 0);
+   config->zStackSize =
+       args::getZOptionValue(args, OPT_z, "stack-size", WasmPageSize);
+@@ -573,6 +574,17 @@ static void setConfigs() {
+     if (config->exportTable)
+       error("-shared/-pie is incompatible with --export-table");
+     config->importTable = true;
++  } else {
++    // Default table base.  Defaults to 1, reserving 0 for the NULL function
++    // pointer.
++    if (!config->tableBase)
++      config->tableBase = 1;
++    // The default offset for static/global data, for when --global-base is
++    // not specified on the command line.  The precise value of 1024 is
++    // somewhat arbitrary, and pre-dates wasm-ld (Its the value that
++    // emscripten used prior to wasm-ld).
++    if (!config->globalBase && !config->relocatable && !config->stackFirst)
++      config->globalBase = 1024;
+   }
+ 
+   if (config->relocatable) {
+@@ -666,8 +678,11 @@ static void checkOptions(opt::InputArgList &args) {
+     warn("-Bsymbolic is only meaningful when combined with -shared");
+   }
+ 
+-  if (config->globalBase && config->isPic) {
+-    error("--global-base may not be used with -shared/-pie");
++  if (config->isPic) {
++    if (config->globalBase)
++      error("--global-base may not be used with -shared/-pie");
++    if (config->tableBase)
++      error("--table-base may not be used with -shared/-pie");
+   }
+ }
+ 
+diff --git a/wasm/Options.td b/wasm/Options.td
+index 50417d2928e0a34..bb764396bf4df14 100644
+--- a/wasm/Options.td
++++ b/wasm/Options.td
+@@ -191,7 +191,7 @@ def growable_table: FF<"growable-table">,
+   HelpText<"Remove maximum size from function table, allowing table to grow">;
+ 
+ def global_base: JJ<"global-base=">,
+-  HelpText<"Where to start to place global data">;
++  HelpText<"Memory offset at which to place global data (Defaults to 1024)">;
+ 
+ def import_memory: FF<"import-memory">,
+   HelpText<"Import the module's memory from the default module of \"env\" with the name \"memory\".">;
+@@ -224,6 +224,9 @@ def no_entry: FF<"no-entry">,
+ def stack_first: FF<"stack-first">,
+   HelpText<"Place stack at start of linear memory rather than after data">;
+ 
++def table_base: JJ<"table-base=">,
++  HelpText<"Table offset at which to place address taken functions (Defaults to 1)">;
++
+ defm whole_archive: B<"whole-archive",
+     "Force load of all members in a static library",
+     "Do not force load of all members in a static library (default)">;
+diff --git a/wasm/Writer.cpp b/wasm/Writer.cpp
+index f25d358dc5bae6f..0576bf2907e49c4 100644
+--- a/wasm/Writer.cpp
++++ b/wasm/Writer.cpp
+@@ -358,13 +358,6 @@ void Writer::layoutMemory() {
+       memoryPtr = config->globalBase;
+     }
+   } else {
+-    if (!config->globalBase && !config->relocatable && !config->isPic) {
+-      // The default offset for static/global data, for when --global-base is
+-      // not specified on the command line.  The precise value of 1024 is
+-      // somewhat arbitrary, and pre-dates wasm-ld (Its the value that
+-      // emscripten used prior to wasm-ld).
+-      config->globalBase = 1024;
+-    }
+     memoryPtr = config->globalBase;
+   }
+ 
+@@ -1685,7 +1678,6 @@ void Writer::run() {
+   // For PIC code the table base is assigned dynamically by the loader.
+   // For non-PIC, we start at 1 so that accessing table index 0 always traps.
+   if (!config->isPic) {
+-    config->tableBase = 1;
+     if (WasmSym::definedTableBase)
+       WasmSym::definedTableBase->setVA(config->tableBase);
+     if (WasmSym::definedTableBase32)
diff --git a/pkgs/development/compilers/llvm/17/lld/default.nix b/pkgs/development/compilers/llvm/17/lld/default.nix
index cc18aee76a448..84943e8effce1 100644
--- a/pkgs/development/compilers/llvm/17/lld/default.nix
+++ b/pkgs/development/compilers/llvm/17/lld/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./gnu-install-dirs.patch
+    ./add-table-base.patch
   ];
 
   nativeBuildInputs = [ cmake ninja ];
diff --git a/pkgs/development/compilers/ocaml/5.1.nix b/pkgs/development/compilers/ocaml/5.1.nix
index 9947eadb49638..90efd1050206e 100644
--- a/pkgs/development/compilers/ocaml/5.1.nix
+++ b/pkgs/development/compilers/ocaml/5.1.nix
@@ -1,6 +1,6 @@
 import ./generic.nix {
   major_version = "5";
   minor_version = "1";
-  patch_version = "0";
-  sha256 = "sha256-bOjbOTqvwmTlr3McaPvrIJIKtq6E1b+TURllt0IzUas=";
+  patch_version = "1";
+  sha256 = "sha256-jX6Yv9o76UBgK3o53PkSotL96reR7UDmKgmkzWfd7vE=";
 }
diff --git a/pkgs/development/coq-modules/QuickChick/default.nix b/pkgs/development/coq-modules/QuickChick/default.nix
index 60ab65d8b6ac5..d68f0e2f05867 100644
--- a/pkgs/development/coq-modules/QuickChick/default.nix
+++ b/pkgs/development/coq-modules/QuickChick/default.nix
@@ -6,6 +6,7 @@ let recent = lib.versions.isGe "8.7" coq.coq-version; in
   owner = "QuickChick";
   inherit version;
   defaultVersion = with lib; with versions; lib.switch [ coq.coq-version ssreflect.version ] [
+      { cases = [ (range "8.15" "8.18") pred.true  ]; out = "2.0.1"; }
       { cases = [ (range "8.13" "8.17") pred.true  ]; out = "1.6.5"; }
       { cases = [ "8.13" pred.true  ]; out = "1.5.0"; }
       { cases = [ "8.12" pred.true  ]; out = "1.4.0"; }
@@ -17,6 +18,7 @@ let recent = lib.versions.isGe "8.7" coq.coq-version; in
       { cases = [ "8.6"  pred.true  ];  out = "20171102"; }
       { cases = [ "8.5"  pred.true  ];  out = "20170512"; }
     ] null;
+  release."2.0.1".sha256    = "sha256-gJc+9Or6tbqE00920Il4pnEvokRoiADX6CxP/Q0QZaY=";
   release."1.6.5".sha256    = "sha256-rcFyRDH8UbB9KVk10P5qjtPkWs04p78VNHkCq4mXr3U=";
   release."1.6.4".sha256    = "sha256-C1060wPSU33yZAFLxGmZlAMXASnx98qz3oSLO8DO+mM=";
   release."1.6.2".sha256    = "0g5q9zw3xd4zndihq96nxkq4w3dh05418wzlwdk1nnn3b6vbx6z0";
diff --git a/pkgs/development/cuda-modules/cudatoolkit/default.nix b/pkgs/development/cuda-modules/cudatoolkit/default.nix
index 57070493eb6d6..de216c24bb675 100644
--- a/pkgs/development/cuda-modules/cudatoolkit/default.nix
+++ b/pkgs/development/cuda-modules/cudatoolkit/default.nix
@@ -258,7 +258,7 @@ backendStdenv.mkDerivation rec {
         rm $out/host-linux-x64/libstdc++.so*
       ''}
         ${
-          lib.optionalString (lib.versionAtLeast version "11.8")
+          lib.optionalString (lib.versionAtLeast version "11.8" && lib.versionOlder version "12")
             # error: auto-patchelf could not satisfy dependency libtiff.so.5 wanted by /nix/store/.......-cudatoolkit-12.0.1/host-linux-x64/Plugins/imageformats/libqtiff.so
             # we only ship libtiff.so.6, so let's use qt plugins built by Nix.
             # TODO: don't copy, come up with a symlink-based "merge"
@@ -266,6 +266,21 @@ backendStdenv.mkDerivation rec {
               rsync ${lib.getLib qt6Packages.qtimageformats}/lib/qt-6/plugins/ $out/host-linux-x64/Plugins/ -aP
             ''
         }
+        ${
+          lib.optionalString (lib.versionAtLeast version "12")
+            # Use Qt plugins built by Nix.
+            ''
+              for qtlib in $out/host-linux-x64/Plugins/*/libq*.so; do
+                qtdir=$(basename $(dirname $qtlib))
+                filename=$(basename $qtlib)
+                for qtpkgdir in ${lib.concatMapStringsSep " " (x: qt6Packages.${x}) ["qtbase" "qtimageformats" "qtsvg" "qtwayland"]}; do
+                  if [ -e $qtpkgdir/lib/qt-6/plugins/$qtdir/$filename ]; then
+                    ln -snf $qtpkgdir/lib/qt-6/plugins/$qtdir/$filename $qtlib
+                  fi
+                done
+              done
+            ''
+        }
 
       rm -f $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
 
@@ -336,6 +351,20 @@ backendStdenv.mkDerivation rec {
       wrapProgram "$out/bin/$b" \
         --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
     done
+    ${
+      lib.optionalString (lib.versionAtLeast version "12")
+        # Check we don't have any lurking vendored qt libraries that weren't
+        # replaced during installPhase
+        ''
+          qtlibfiles=$(find $out -name "libq*.so" -type f)
+          if [ ! -z "$qtlibfiles" ]; then
+            echo "Found unexpected vendored Qt library files in $out" >&2
+            echo $qtlibfiles >&2
+            echo "These should be replaced with symlinks in installPhase" >&2
+            exit 1
+          fi
+        ''
+    }
   '';
 
   # cuda-gdb doesn't run correctly when not using sandboxing, so
diff --git a/pkgs/development/cuda-modules/cudnn/releases.nix b/pkgs/development/cuda-modules/cudnn/releases.nix
index 701cb4c20d364..fe1f1f8d91e94 100644
--- a/pkgs/development/cuda-modules/cudnn/releases.nix
+++ b/pkgs/development/cuda-modules/cudnn/releases.nix
@@ -59,18 +59,18 @@
         hash = "sha256-njl3qhudBuuGC1gqyJM2MGdaAkMCnCWb/sW7VpmGfSA=";
       }
       {
-        version = "8.9.6.50";
+        version = "8.9.7.29";
         minCudaVersion = "11.0";
         maxCudaVersion = "11.8";
-        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.9.6.50_cuda11-archive.tar.xz";
-        hash = "sha256-nlQWYSOJWci7o3wFGIuxrkoo8d3ddg4F2hU/qJySvBE=";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.9.7.29_cuda11-archive.tar.xz";
+        hash = "sha256-kcN8+0WPVBQZ6YUQ8TqvWXXAIyxhPhi3djhUkAdO6hc=";
       }
       {
-        version = "8.9.6.50";
+        version = "8.9.7.29";
         minCudaVersion = "12.0";
         maxCudaVersion = "12.2";
-        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.9.6.50_cuda12-archive.tar.xz";
-        hash = "sha256-L20O26RelmeynVfjohEADW3Vaj3VbFS2dTUadTKlXdg=";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-8.9.7.29_cuda12-archive.tar.xz";
+        hash = "sha256-6Yt8gAEHheXVygHuTOm1sMjHNYfqb4ZIvjTT+NHUe9E=";
       }
     ];
     # x86_64
@@ -101,7 +101,7 @@
         minCudaVersion = "10.2";
         maxCudaVersion = "10.2";
         url = "https://developer.download.nvidia.com/compute/redist/cudnn/v7.6.5/cudnn-10.2-linux-x64-v7.6.5.32.tgz";
-        hash = "sha256-fq7IA5osMKsLx1jTA1iHZ2k972v0myJIWiwAvy4TbLN=";
+        hash = "sha256-YAJn8squ0v1Y6yFLpmnY6jXzlqfRm5SCLms2+fcIjCA='";
       }
       {
         version = "8.0.5.39";
@@ -244,18 +244,18 @@
         hash = "sha256-edd6dpx+cXWrx7XC7VxJQUjAYYqGQThyLIh/lcYjd3w=";
       }
       {
-        version = "8.9.6.50";
+        version = "8.9.7.29";
         minCudaVersion = "11.0";
         maxCudaVersion = "11.8";
-        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.6.50_cuda11-archive.tar.xz";
-        hash = "sha256-oOLvVemfTNZH99HaqlqkUE/6M1ujAYbVwyiPL0ffBX4=";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz";
+        hash = "sha256-o+JQkCjOzaARfOWg9CEGNG6C6G05D0u5R1r8l2x3QC4=";
       }
       {
-        version = "8.9.6.50";
+        version = "8.9.7.29";
         minCudaVersion = "12.0";
         maxCudaVersion = "12.2";
-        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.6.50_cuda12-archive.tar.xz";
-        hash = "sha256-FyIlnblSZbs4E0OKWhxuzZed6JrkU2YDkEBC4STTAtU=";
+        url = "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz";
+        hash = "sha256-R1MzYlx+QqevPKCy91BqEG4wyTsaoAgc2cE++24h47s=";
       }
     ];
   };
diff --git a/pkgs/development/cuda-modules/generic-builders/manifest.nix b/pkgs/development/cuda-modules/generic-builders/manifest.nix
index c7ff0f53bb747..71c914c8c8f24 100644
--- a/pkgs/development/cuda-modules/generic-builders/manifest.nix
+++ b/pkgs/development/cuda-modules/generic-builders/manifest.nix
@@ -170,13 +170,15 @@ backendStdenv.mkDerivation (
       ''
       # Handle the existence of libPath, which requires us to re-arrange the lib directory
       + strings.optionalString (libPath != null) ''
-        if [[ ! -d "${libPath}" ]] ; then
-          echo "${finalAttrs.pname}: ${libPath} does not exist, only found:" >&2
-          find "$(dirname ${libPath})"/ -maxdepth 1 >&2
+        full_lib_path="lib/${libPath}"
+        if [[ ! -d "$full_lib_path" ]] ; then
+          echo "${finalAttrs.pname}: '$full_lib_path' does not exist, only found:" >&2
+          find lib/ -mindepth 1 -maxdepth 1 >&2
           echo "This release might not support your CUDA version" >&2
           exit 1
         fi
-        mv "lib/${libPath}" lib_new
+        echo "Making libPath '$full_lib_path' the root of lib" >&2
+        mv "$full_lib_path" lib_new
         rm -r lib
         mv lib_new lib
       ''
@@ -187,6 +189,9 @@ backendStdenv.mkDerivation (
       ''
       # Move the outputs into their respective outputs.
       + strings.concatMapStringsSep "\n" mkMoveToOutputCommand (builtins.tail finalAttrs.outputs)
+      # Add a newline to the end of the installPhase, so that the post-install hook doesn't
+      # get concatenated with the last moveToOutput command.
+      + "\n"
       # Post-install hook
       + ''
         runHook postInstall
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
index fb79b65be1379..70db409b30c38 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
@@ -119,7 +119,6 @@ self: super: {
   # Forbids base >= 4.18, fix proposed: https://github.com/sjakobi/newtype-generics/pull/25
   newtype-generics = jailbreakForCurrentVersion super.newtype-generics "0.6.2";
 
-  cborg-json = jailbreakForCurrentVersion super.cborg-json "0.2.5.0";
   serialise = jailbreakForCurrentVersion super.serialise "0.2.6.0";
 
   #
diff --git a/pkgs/development/interpreters/wamr/default.nix b/pkgs/development/interpreters/wamr/default.nix
index 9396f3361afae..f7761d5037f9d 100644
--- a/pkgs/development/interpreters/wamr/default.nix
+++ b/pkgs/development/interpreters/wamr/default.nix
@@ -31,8 +31,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.asl20;
     mainProgram = "iwasm";
     maintainers = with maintainers; [ ereslibre ];
-    # TODO (ereslibre): this derivation should be improved to support
-    # more platforms.
-    broken = !stdenv.isLinux;
+    platforms = platforms.unix;
   };
 })
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index 631bfa72b51a0..bcdd9274d091b 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilds = true;
 
   passthru.tests = {
-    inherit (python3.pkgs) grpcio-status grpcio-tools;
+    inherit (python3.pkgs) grpcio-status grpcio-tools jaxlib;
     inherit arrow-cpp;
   };
 
diff --git a/pkgs/development/libraries/irrlichtmt/default.nix b/pkgs/development/libraries/irrlichtmt/default.nix
index 8a080c1d4a970..8787fd390efd1 100644
--- a/pkgs/development/libraries/irrlichtmt/default.nix
+++ b/pkgs/development/libraries/irrlichtmt/default.nix
@@ -7,42 +7,32 @@
 , libjpeg
 , libGL
 , libX11
-, withTouchSupport ? false
 , libXi
 , libXext
 , Cocoa
 , Kernel
 }:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "irrlichtmt";
-  version = "1.9.0mt10";
+  version = "1.9.0mt13";
 
   src = fetchFromGitHub {
     owner = "minetest";
     repo = "irrlicht";
-    rev = version;
-    sha256 = "sha256-PA+gz77XkwxQ3TtubaT0ov9dsT7s3ZlrQxrOkD5ku3g=";
+    rev = finalAttrs.version;
+    hash = "sha256-BlQd7zbpvQnxqLv3IaHWrXzJ1pJFbQQ3DNWDAj14/YY=";
   };
 
   nativeBuildInputs = [
     cmake
   ];
 
-  # https://github.com/minetest/minetest/pull/10729
-  postPatch = lib.optionalString (!withTouchSupport) ''
-    sed -i '1i #define NO_IRR_LINUX_X11_XINPUT2_' include/IrrCompileConfig.h
-
-    # HACK: Fix mistake in build script
-    sed -i '/''${X11_Xi_LIB}/d' source/Irrlicht/CMakeLists.txt
-  '';
-
   buildInputs = [
     zlib
     libpng
     libjpeg
     libGL
     libX11
-  ] ++ lib.optionals withTouchSupport [
     libXi
     libXext
   ] ++ lib.optionals stdenv.isDarwin [
@@ -58,4 +48,4 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers; [ DeeUnderscore ];
     description = "Minetest project's fork of Irrlicht, a realtime 3D engine written in C++";
   };
-}
+})
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
index aec9cfaaf91a2..9a127fcd92ad3 100644
--- a/pkgs/development/libraries/librealsense/default.nix
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -23,7 +23,7 @@ assert enablePython -> pythonPackages != null;
 
 stdenv.mkDerivation rec {
   pname = "librealsense";
-  version = "2.45.0";
+  version = "2.54.2";
 
   outputs = [ "out" "dev" ];
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "IntelRealSense";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0aqf48zl7825v7x8c3x5w4d17m4qq377f1mn6xyqzf9b0dnk4i1j";
+    sha256 = "sha256-EbnIHnsUgsqN/SVv4m9H7K8gfwni+u82+M55QBstAGI=";
   };
 
   buildInputs = [
@@ -42,22 +42,10 @@ stdenv.mkDerivation rec {
     ++ lib.optionals enableGUI [ mesa gtk3 glfw libGLU curl ];
 
   patches = [
-    # fix build on aarch64-darwin
-    # https://github.com/IntelRealSense/librealsense/pull/9253
-    (fetchpatch {
-      url = "https://github.com/IntelRealSense/librealsense/commit/beb4c44debc8336de991c983274cad841eb5c323.patch";
-      sha256 = "05mxsd2pz3xrvywdqyxkwdvxx8hjfxzcgl51897avz4v2j89pyq8";
-    })
-    ./py_sitepackage_dir.patch
     ./py_pybind11_no_external_download.patch
+    ./install-presets.patch
   ];
 
-  postPatch = ''
-    # https://github.com/IntelRealSense/librealsense/issues/11092
-    # insert a "#include <iostream" at beginning of file
-    sed '1i\#include <iostream>' -i wrappers/python/pyrs_device.cpp
-  '';
-
   nativeBuildInputs = [
     cmake
     ninja
diff --git a/pkgs/development/libraries/librealsense/install-presets.patch b/pkgs/development/libraries/librealsense/install-presets.patch
new file mode 100644
index 0000000000000..347aa43453230
--- /dev/null
+++ b/pkgs/development/libraries/librealsense/install-presets.patch
@@ -0,0 +1,13 @@
+diff --git a/tools/realsense-viewer/CMakeLists.txt b/tools/realsense-viewer/CMakeLists.txt
+index 44be6278f..1a4531dff 100644
+--- a/tools/realsense-viewer/CMakeLists.txt
++++ b/tools/realsense-viewer/CMakeLists.txt
+@@ -253,7 +253,7 @@ install(
+ )
+ #https://cmake.org/cmake/help/latest/command/install.html
+ install(DIRECTORY presets/
+-    DESTINATION $ENV{HOME}/Documents/librealsense2/presets
++    DESTINATION $ENV{out}/share/librealsense2/presets
+     FILES_MATCHING PATTERN "*.preset"
+ )
+ endif()
diff --git a/pkgs/development/libraries/librealsense/py_pybind11_no_external_download.patch b/pkgs/development/libraries/librealsense/py_pybind11_no_external_download.patch
index 2b48edb62e37b..c91945fa15232 100644
--- a/pkgs/development/libraries/librealsense/py_pybind11_no_external_download.patch
+++ b/pkgs/development/libraries/librealsense/py_pybind11_no_external_download.patch
@@ -1,39 +1,15 @@
-From 01e51b9c90ba51b2d0ca797dde676812cf3db415 Mon Sep 17 00:00:00 2001
-From: "Robert T. McGibbon" <rmcgibbo@gmail.com>
-Date: Mon, 10 May 2021 17:26:04 -0400
-Subject: [PATCH 1/1] V1
-
----
- wrappers/python/CMakeLists.txt | 15 +--------------
- 1 file changed, 1 insertion(+), 14 deletions(-)
-
-diff --git a/wrappers/python/CMakeLists.txt b/wrappers/python/CMakeLists.txt
-index aa83e4c77..4ec92ccfa 100644
---- a/wrappers/python/CMakeLists.txt
-+++ b/wrappers/python/CMakeLists.txt
-@@ -8,21 +8,8 @@ if (NOT BUILD_PYTHON_BINDINGS)
- endif()
- 
- set(DEPENDENCIES realsense2)
--# In order for the external project clone to occur during cmake configure step(rather than during compilation, as would normally happen),
--# we copy the external project declaration to the build folder and then execute it
--configure_file(${CMAKE_SOURCE_DIR}/third-party/pybind11/CMakeLists.txt ${CMAKE_BINARY_DIR}/external-projects/pybind11/CMakeLists.txt)
--execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
--    WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/external-projects/pybind11"
--)
--execute_process(COMMAND "${CMAKE_COMMAND}" --build .
--    WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/external-projects/pybind11"
--)
+diff --git a/CMake/global_config.cmake b/CMake/global_config.cmake
+index 350f7a268..2cf125c67 100644
+--- a/CMake/global_config.cmake
++++ b/CMake/global_config.cmake
+@@ -69,7 +69,8 @@ macro(global_set_flags)
  
--# Add pybind11 makefile
--add_subdirectory("${CMAKE_BINARY_DIR}/third-party/pybind11"
--                 "${CMAKE_BINARY_DIR}/third-party/pybind11"
--                 EXCLUDE_FROM_ALL
--)
-+find_package(pybind11 REQUIRED)
+     if(BUILD_PYTHON_BINDINGS)
+         include(libusb_config)
+-        include(CMake/external_pybind11.cmake)
++        find_package(pybind11 REQUIRED)
++        set(PYTHON_INSTALL_DIR "${XXNIX_PYTHON_SITEPACKAGES}/pyrealsense2" CACHE PATH "Installation directory for Python bindings")
+     endif()
  
- set(PYBIND11_CPP_STANDARD -std=c++11)
- # Force Pybind11 not to share pyrealsense2 resources with other pybind modules.
--- 
-2.29.3
+     if(CHECK_FOR_UPDATES)
 
diff --git a/pkgs/development/libraries/librealsense/py_sitepackage_dir.patch b/pkgs/development/libraries/librealsense/py_sitepackage_dir.patch
deleted file mode 100644
index 99b567a429ed2..0000000000000
--- a/pkgs/development/libraries/librealsense/py_sitepackage_dir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/wrappers/python/CMakeLists.txt
-+++ b/wrappers/python/CMakeLists.txt
-@@ -10,11 +10,11 @@
- if (CMAKE_VERSION VERSION_LESS 3.12)
-   find_package(PythonInterp REQUIRED)
-   find_package(PythonLibs REQUIRED)
--  set(PYTHON_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/pyrealsense2" CACHE PATH "Installation directory for Python bindings")
-+  set(PYTHON_INSTALL_DIR "${XXNIX_PYTHON_SITEPACKAGES}/pyrealsense2" CACHE PATH "Installation directory for Python bindings")
-   set(CMAKECONFIG_PY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/pyrealsense2")
- else()
-   find_package(Python REQUIRED COMPONENTS Interpreter Development)
--  set(PYTHON_INSTALL_DIR "${Python_SITEARCH}/pyrealsense2" CACHE PATH "Installation directory for Python bindings")
-+  set(PYTHON_INSTALL_DIR "${XXNIX_PYTHON_SITEPACKAGES}/pyrealsense2" CACHE PATH "Installation directory for Python bindings")
-   set(CMAKECONFIG_PY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/pyrealsense2")
- endif()
diff --git a/pkgs/development/libraries/physics/apfel/default.nix b/pkgs/development/libraries/physics/apfel/default.nix
index ae48fb90ac835..e1192cdcd05eb 100644
--- a/pkgs/development/libraries/physics/apfel/default.nix
+++ b/pkgs/development/libraries/physics/apfel/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "apfel";
-  version = "3.1.0";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "scarrazza";
     repo = "apfel";
     rev = version;
-    hash = "sha256-RXzHcLgitIk+6pINqcvpQv7QpDpAuFrOHKqjwZ0K5zI=";
+    hash = "sha256-0Ix7KwEZUG/NmGJ380DVJbUA0PcoEJDlcGSc09l5Tbc=";
   };
 
   patches = [
diff --git a/pkgs/development/lisp-modules/packages.nix b/pkgs/development/lisp-modules/packages.nix
index 90e36dc882cdc..afb2d834579ab 100644
--- a/pkgs/development/lisp-modules/packages.nix
+++ b/pkgs/development/lisp-modules/packages.nix
@@ -224,21 +224,21 @@ let
     version = "0.5.4";
 
     src = pkgs.fetchgit {
-      url = "https://notabug.org/cage/cl-colors2";
-      rev = "refs/tags/v0.5.4";
+      url = "https://codeberg.org/cage/cl-colors2";
+      rev = "v0.5.4";
       sha256 = "sha256-JbT1BKjaXDwdlzHLPjX1eg0RMIOT86R17SPgbe2h+tA=";
     };
   };
 
-  prompter = build-asdf-system {
+  prompter = build-asdf-system rec {
     pname = "prompter";
-    version = "0.1.0";
+    version = "0.1.1";
 
     src = pkgs.fetchFromGitHub {
       owner = "atlas-engineer";
       repo = "prompter";
-      rev = "0.1.0";
-      sha256 = "sha256-Duv7L2lMjr3VXsoujQDOMNHCbdUDX4RWoncVm9LDCZE=";
+      rev = version;
+      sha256 = "sha256-A9gIUBj0oUDFGR5aqHz+tdNR6t03LPMrx0n9qM3ACwE=";
     };
 
     lispLibs = [
@@ -256,67 +256,55 @@ let
 
   };
 
-  nasdf = build-asdf-system {
-    pname = "nasdf";
-    version = "20230911-git";
-    src = pkgs.fetchFromGitHub {
-      owner = "atlas-engineer";
-      repo = "ntemplate";
-      rev = "ab7a018f3a67a999c72710644b10b4545130c139";
-      sha256 = "sha256-fXGh0h6CXLoBgK1jRxkSNyQVAY1gvi4iyHQBuzueR5Y=";
-    };
-  };
-
-  njson = build-asdf-system {
+  njson = build-asdf-system rec {
     pname = "njson";
-    version = "1.1.0";
+    version = "1.2.2";
     src = pkgs.fetchFromGitHub {
       owner = "atlas-engineer";
       repo = "njson";
-      rev = "1.1.0";
-      sha256 = "sha256-hVo5++QCns7Mv3zATpAP3EVz1pbj+jbQmzSLqs6hqQo=";
+      rev = version;
+      sha256 = "sha256-kw5DD0GJp/TeCiYATBY8GL8UKqYS6Q4j0a0eQsdcZRc=";
     };
-    lispLibs = [ self.nasdf super.cl-json super.com_dot_inuoe_dot_jzon];
+    lispLibs = [ super.cl-json super.com_dot_inuoe_dot_jzon];
     systems = [ "njson" "njson/cl-json" "njson/jzon"];
   };
 
-  nsymbols = build-asdf-system {
+  nsymbols = build-asdf-system rec {
     pname = "nsymbols";
-    version = "0.3.1";
+    version = "0.3.2";
     src = pkgs.fetchFromGitHub {
       owner = "atlas-engineer";
       repo = "nsymbols";
-      rev = "0.3.1";
-      sha256 = "sha256-KcrE06bG5Khp5/807wb/TbPG3nWTlNWHrDpmK6bm7ZM=";
+      rev = version;
+      sha256 = "sha256-psk29WEA7Hxgp29oUniBNvI+lyZfMkdpa5A7okc6kKs=";
     };
     lispLibs = [ super.closer-mop ];
     systems = [ "nsymbols" "nsymbols/star" ];
 
   };
 
-  nclasses = build-asdf-system {
+  nclasses = build-asdf-system rec {
     pname = "nclasses";
-    version = "0.6.0";
+    version = "0.6.1";
     src = pkgs.fetchFromGitHub {
       owner = "atlas-engineer";
       repo = "nclasses";
-      rev = "0.6.0";
-      sha256 = "sha256-JupP+TIxavUoyOPnp57FqpEjWfgKspdFoSRnV2rk5U4=";
+      rev = version;
+      sha256 = "sha256-foXmaLxMYMFieB2Yd2iPsU4EX5kLXq7kyElqGZ47OgI=";
     };
-    lispLibs = [ self.nasdf super.moptilities ];
+    lispLibs = [ super.moptilities ];
   };
 
-  nfiles = build-asdf-system {
+  nfiles = build-asdf-system rec {
     pname = "nfiles";
-    version = "20230705-git";
+    version = "1.1.4";
     src = pkgs.fetchFromGitHub {
       owner = "atlas-engineer";
       repo = "nfiles";
-      rev = "3626e8d512a84efc12479ceb3969d194511757f7";
-      sha256 = "sha256-MoJdbTOVfw2rJk4cf/rEnR55BxdXkoqqu9Txd/R9OYQ=";
+      rev = version;
+      sha256 = "sha256-4rhpBErQgZHcwZRblxgiYaUmKalvllSbJjnRteDVH6k=";
     };
     lispLibs = [
-      self.nasdf
       self.nclasses
       super.quri
       super.alexandria
@@ -328,26 +316,26 @@ let
     ];
   };
 
-  nhooks = build-asdf-system {
+  nhooks = build-asdf-system rec {
     pname = "nhooks";
-    version = "1.2.1";
+    version = "1.2.2";
     src = pkgs.fetchFromGitHub {
       owner = "atlas-engineer";
       repo = "nhooks";
-      rev = "1.2.1";
-      hash = "sha256-D61QHxHTceIu5mCGKf3hy53niQMfs0idEYQK1ZYn1YM=";
+      rev = version;
+      hash = "sha256-6A3fsemsv2KbTmdGMQeL9iHFUBHc4kK6CRNVyc91LdU=";
     };
     lispLibs = with self; [ bordeaux-threads closer-mop serapeum ];
   };
 
   nkeymaps = build-asdf-system rec {
     pname = "nkeymaps";
-    version = "1.1.0";
+    version = "1.1.1";
     src = pkgs.fetchFromGitHub {
       owner = "atlas-engineer";
       repo = "nkeymaps";
       rev = version;
-      hash = "sha256-ewMu2IgEzCYY72vG91IA7l8X78Ph6jpQvbKeOFZdAyM=";
+      hash = "sha256-/t85Yh4EvnSyIM6xeDBLmfVz3wddmavInXzeYafNMJ0=";
     };
     lispLibs = with self; [ alexandria fset trivial-package-local-nicknames
                             str ];
@@ -356,18 +344,17 @@ let
 
   history-tree = build-asdf-system rec {
     pname = "history-tree";
-    version = "0.1.1";
+    version = "0.1.2";
     src = pkgs.fetchFromGitHub {
       owner = "atlas-engineer";
       repo = "history-tree";
       rev = version;
-      hash = "sha256-lOORalyTybdut/If+dBXS4PlZt2AnZrEI/qjQWS03pk=";
+      hash = "sha256-wpVONvShNnvrPOlbNoX/t9sYiwxnIKnnJaJyALEyeNg=";
     };
     lispLibs = with self; [
       alexandria
       cl-custom-hash-table
       local-time
-      nasdf
       nclasses
       trivial-package-local-nicknames
     ];
@@ -375,7 +362,7 @@ let
 
   nyxt-gtk = build-asdf-system {
     pname = "nyxt";
-    version = "3.9.0";
+    version = "3.10.0";
 
     lispLibs = (with super; [
       alexandria
@@ -413,7 +400,6 @@ let
       plump
       clss
       spinneret
-      slynk
       trivia
       trivial-features
       trivial-garbage
@@ -429,8 +415,8 @@ let
         src = pkgs.fetchFromGitHub {
           owner = "snmsts";
           repo = "trivial-clipboard";
-          rev = "6ddf8d5dff8f5c2102af7cd1a1751cbe6408377b";
-          sha256 = "sha256-n15IuTkqAAh2c1OfNbZfCAQJbH//QXeH0Bl1/5OpFRM=";
+          rev = "f7b2c96fea00ca06a83f20b00b7b1971e76e03e7";
+          sha256 = "sha256-U6Y9BiM2P1t9P8fdX8WIRQPRWl2v2ZQuKdP1IUqvOAk=";
         };}))
       (cl-gobject-introspection.overrideAttrs (final: prev: {
         src = pkgs.fetchFromGitHub {
@@ -447,26 +433,45 @@ let
           sha256 = "sha256-t/B9CvQTekEEsM/ZEp47Mn6NeZaTYFsTdRqclfX9BNg=";
         };
       }))
+      (slynk.overrideAttrs (final: prev: {
+        src = pkgs.fetchFromGitHub {
+          owner = "joaotavora";
+          repo = "sly";
+          rev = "9c43bf65b967e12cef1996f1af5f0671d8aecbf4";
+          hash = "sha256-YlHZ/7VwvHe2PBPRshN+Gr3WuGK9MpkOJprP6QXI3pY=";
+        };
+        systems = [ "slynk" "slynk/arglists" "slynk/fancy-inspector"
+                    "slynk/package-fu" "slynk/mrepl" "slynk/trace-dialog"
+                    "slynk/profiler" "slynk/stickers" "slynk/indentation"
+                    "slynk/retro" ];
+      }))
     ]) ++ (with self; [
       history-tree
       nhooks
       nkeymaps
-      nasdf
       prompter
       cl-colors2_0_5_4
       njson
       nsymbols
       nclasses
       nfiles
-      swank
       cl-containers
+      (swank.overrideAttrs (final: prev: {
+        src = pkgs.fetchFromGitHub {
+          owner = "slime";
+          repo = "slime";
+          rev = "735258a26bb97e85d25f39e4bef83c1f80c12f5d";
+          hash = "sha256-vMMer6qLJDKTwNE3unsOQezujISqFtn2AYl8cxsJvrc=";
+        };
+        systems = [ "swank" "swank/exts" ];
+      }))
     ]);
 
     src = pkgs.fetchFromGitHub {
       owner = "atlas-engineer";
       repo = "nyxt";
-      rev = "3.9.0";
-      sha256 = "sha256-bZoAE0FErgXPylOzh6AfMq3befms9dHms8+slbYdctk=";
+      rev = "3.10.0";
+      sha256 = "sha256-yEa5Lx1egkg9Jh3EQfvaBQicm31uxIq/3s2NOQUC4uc=";
     };
 
     nativeBuildInputs = [ pkgs.makeWrapper ];
@@ -486,8 +491,14 @@ let
     # see: https://gitlab.common-lisp.net/asdf/asdf/-/blob/master/doc/asdf.texinfo#L2582
     patches = [ ./patches/nyxt-remove-build-operation.patch ];
 
+    NASDF_USE_LOGICAL_PATHS = true;
+
     buildScript = pkgs.writeText "build-nyxt.lisp" ''
       (load "${super.alexandria.asdfFasl}/asdf.${super.alexandria.faslExt}")
+      (require :uiop)
+      (let ((pwd (uiop:ensure-directory-pathname (uiop/os:getcwd))))
+        (asdf:load-asd (uiop:merge-pathnames* "libraries/nasdf/nasdf.asd" pwd))
+        (asdf:load-asd (uiop:merge-pathnames* "nyxt.asd" pwd)))
       ;; There's a weird error while copy/pasting in Nyxt that manifests with sb-ext:save-lisp-and-die, so we use asdf:operare :program-op instead
       (asdf:operate :program-op :nyxt/gi-gtk-application)
     '';
diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix
index 16d9e7c50fb76..6b9cff2143c95 100644
--- a/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/pkgs/development/ocaml-modules/batteries/default.nix
@@ -4,13 +4,15 @@
 
 buildDunePackage rec {
   pname = "batteries";
-  version = "3.7.1";
+  version = "3.7.2";
+
+  minimalOCamlVersion = "4.05";
 
   src = fetchFromGitHub {
     owner = "ocaml-batteries-team";
     repo = "batteries-included";
     rev = "v${version}";
-    hash = "sha256-0ZCaJA9xowO9QxCWcyJ1zhqG7+GNkMYJt62+VPOFj4Y=";
+    hash = "sha256-POhdb6d4VZyCm9QYgj0m3ejduaBmm+cnd1tshWjgp04=";
   };
 
   nativeCheckInputs = [ qtest ];
diff --git a/pkgs/development/ocaml-modules/gsl/default.nix b/pkgs/development/ocaml-modules/gsl/default.nix
index 48dd8817a5656..27791d6aa5f3a 100644
--- a/pkgs/development/ocaml-modules/gsl/default.nix
+++ b/pkgs/development/ocaml-modules/gsl/default.nix
@@ -1,11 +1,8 @@
-{ lib, stdenv, ocaml, fetchFromGitHub, fetchpatch, buildDunePackage, pkg-config, gsl, darwin, dune-configurator }:
-
-lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
-  "gsl is not available for OCaml ${ocaml.version}"
+{ lib, stdenv, fetchFromGitHub, buildDunePackage, pkg-config, gsl, darwin, dune-configurator }:
 
 buildDunePackage rec {
   pname = "gsl";
-  version = "1.24.3";
+  version = "1.25.0";
 
   minimalOCamlVersion = "4.12";
 
@@ -13,32 +10,9 @@ buildDunePackage rec {
     owner = "mmottl";
     repo = "gsl-ocaml";
     rev = version;
-    hash = "sha256-I+u7lFEredt8ZLiba8x904eTgSUdZq82/e82B+/GIlo=";
+    hash = "sha256-vxXv0ZcToXmdYu5k0aLdV3seNn3Y6Sgg+8dpy3Iw68I=";
   };
 
-  patches = [
-    # Switched to Dune lang 2.7
-    (fetchpatch {
-      url = "https://github.com/mmottl/gsl-ocaml/commit/be0f6933f16fea6d6fb2e39178816974be4c3724.patch";
-      sha256 = "sha256-G/4JT8XPYw+oNJEwJ9zRdUBwtNUHL+T8/htCb3qfuT8=";
-    })
-    # Fix dune rules
-    (fetchpatch {
-      url = "https://github.com/mmottl/gsl-ocaml/commit/0b38a22d9813de27eab5caafafeabd945f298b5e.patch";
-      sha256 = "sha256-S6OUDase2kR7V6fizaev5huqEAIM5QOkx3n18rj4y3w=";
-    })
-    # Updated opam file
-    (fetchpatch {
-      url = "https://github.com/mmottl/gsl-ocaml/commit/b749455b76501c9e3623e05d659565eab7292602.patch";
-      sha256 = "sha256-/GACjI3cRCApyGyk1kQp0rB/Hae8DIR9zs6q9KiS1ZQ=";
-    })
-    # Used new OCaml 4.12 C-macros
-    (fetchpatch {
-      url = "https://github.com/mmottl/gsl-ocaml/commit/cca79ea56a7ee83a4c67b432decdaef3de8c9d30.patch";
-      sha256 = "sha256-bsIKkvj9W8oAYSvP6ZfbqSgt5fSirc780O08WBhVRmI=";
-    })
-  ];
-
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ dune-configurator gsl ];
   propagatedBuildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Accelerate ];
diff --git a/pkgs/development/ocaml-modules/phylogenetics/default.nix b/pkgs/development/ocaml-modules/phylogenetics/default.nix
index d41e7c16ce1b2..7c4f90b6f976d 100644
--- a/pkgs/development/ocaml-modules/phylogenetics/default.nix
+++ b/pkgs/development/ocaml-modules/phylogenetics/default.nix
@@ -1,4 +1,5 @@
 { lib
+, ocaml
 , buildDunePackage
 , fetchFromGitHub
 , ppx_deriving
@@ -14,6 +15,9 @@
 , printbox-text
 }:
 
+lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
+  "phylogenetics is not compatible with OCaml ${ocaml.version}"
+
 buildDunePackage rec {
   pname = "phylogenetics";
   version = "unstable-2022-05-06";
@@ -26,7 +30,6 @@ buildDunePackage rec {
   };
 
   minimalOCamlVersion = "4.08";
-  duneVersion = "3";
 
   nativeCheckInputs = [ bppsuite ];
   checkInputs = [ alcotest ];
diff --git a/pkgs/development/php-packages/relay/default.nix b/pkgs/development/php-packages/relay/default.nix
index 39d1edbe0fe1a..d21667aa06221 100644
--- a/pkgs/development/php-packages/relay/default.nix
+++ b/pkgs/development/php-packages/relay/default.nix
@@ -88,7 +88,7 @@ stdenv.mkDerivation (finalAttrs: {
         (v: " -change ${v.name}" + " ${lib.strings.makeLibraryPath [ v.value ]}/${builtins.baseNameOf v.name}")
         (with lib.attrsets; [
           (nameValuePair "/opt/homebrew/opt/hiredis/lib/libhiredis.1.1.0.dylib" hiredis)
-          (nameValuePair "/opt/homebrew/opt/hiredis/lib/libhiredis_ssl.dylib.1.1.0" openssl)
+          (nameValuePair "/opt/homebrew/opt/hiredis/lib/libhiredis_ssl.dylib.1.1.0" hiredis)
           (nameValuePair "/opt/homebrew/opt/openssl@3/lib/libssl.3.dylib" openssl)
           (nameValuePair "/opt/homebrew/opt/openssl@3/lib/libcrypto.3.dylib" openssl)
           (nameValuePair "/opt/homebrew/opt/zstd/lib/libzstd.1.dylib" zstd)
diff --git a/pkgs/development/python-modules/asgi-logger/default.nix b/pkgs/development/python-modules/asgi-logger/default.nix
new file mode 100644
index 0000000000000..fb79236d784cc
--- /dev/null
+++ b/pkgs/development/python-modules/asgi-logger/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, poetry-core
+, asgiref
+}:
+
+buildPythonPackage rec {
+  pname = "asgi-logger";
+  version = "0.1.0";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-son1ML9J0UMgJCpWdYD/yK0FO6VmfuzifSWpeCLToKo=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+  propagatedBuildInputs = [
+    asgiref
+  ];
+
+  # tests are not in the pypi release, and there are no tags/release corresponding to the pypi releases in the github
+  doCheck = false;
+  pythonImportsCheck = [
+    "asgi_logger"
+  ];
+
+  meta = with lib; {
+    description = "Access logger for ASGI servers";
+    homepage = "https://github.com/Kludex/asgi-logger";
+    license = licenses.mit;
+    maintainers = teams.wdz.members;
+  };
+}
diff --git a/pkgs/development/python-modules/bellows/default.nix b/pkgs/development/python-modules/bellows/default.nix
index 03ebff7aea5f0..112c50ca038c1 100644
--- a/pkgs/development/python-modules/bellows/default.nix
+++ b/pkgs/development/python-modules/bellows/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "bellows";
-  version = "0.37.1";
+  version = "0.37.3";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "bellows";
     rev = "refs/tags/${version}";
-    hash = "sha256-JkaCM9XOdGZE9/C2BUV3g9QL5+k/HlVYd4WsAMS2mgk=";
+    hash = "sha256-WVVOJrQWWC4tuREjSs8bOA0J9Y/y2BLE2s3YysSaBt8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/caldav/default.nix b/pkgs/development/python-modules/caldav/default.nix
index 15daa3b0697c5..d577264a4880d 100644
--- a/pkgs/development/python-modules/caldav/default.nix
+++ b/pkgs/development/python-modules/caldav/default.nix
@@ -8,24 +8,29 @@
 , pytz
 , recurring-ical-events
 , requests
+, setuptools
 , tzlocal
 , vobject
 }:
 
 buildPythonPackage rec {
   pname = "caldav";
-  version = "1.3.6";
+  version = "1.3.8";
 
-  format = "setuptools";
+  pyproject = true;
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "python-caldav";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-N3pY3UYxOZgZbXqqsvASej12dOtdpyEHOL10btOKm/w=";
+    hash = "sha256-CZ/cqBvxQiNYJUX4BFtTjG9umf5pGPOaRcN4N1o06QM=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     vobject
     lxml
@@ -52,7 +57,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "CalDAV (RFC4791) client library";
     homepage = "https://github.com/python-caldav/caldav";
-    changelog = "https://github.com/python-caldav/caldav/releases/tag/v${version}";
+    changelog = "https://github.com/python-caldav/caldav/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ marenz dotlambda ];
   };
diff --git a/pkgs/development/python-modules/can/default.nix b/pkgs/development/python-modules/can/default.nix
index 4688c65074951..28c401b667fe1 100644
--- a/pkgs/development/python-modules/can/default.nix
+++ b/pkgs/development/python-modules/can/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "can";
-  version = "4.3.0";
+  version = "4.3.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "hardbyte";
     repo = "python-can";
     rev = "refs/tags/v${version}";
-    hash = "sha256-JsYAh5Z6RIX6aWpSuW+VIzJRPf5MfNbBGg36v3CQiLU=";
+    hash = "sha256-t2zt54nPOYcEE0RPb4fbW7sN4HzFXlDIHvHudstBwrM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/dataclasses-json/default.nix b/pkgs/development/python-modules/dataclasses-json/default.nix
index 77a14c44b7cba..e50f187c012d5 100644
--- a/pkgs/development/python-modules/dataclasses-json/default.nix
+++ b/pkgs/development/python-modules/dataclasses-json/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "dataclasses-json";
-  version = "0.6.1";
+  version = "0.6.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "lidatong";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-pZohueZvEIGgY6isci2mGGBewfi9SwnHHy8OwyJGR0w=";
+    hash = "sha256-UVYLyRVLRdt38obSLkSsQdroO95lwpwzerw+gYBIJ7w=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/debianbts/default.nix b/pkgs/development/python-modules/debianbts/default.nix
index 67b43fdff3fbb..7d0a53e033bcc 100644
--- a/pkgs/development/python-modules/debianbts/default.nix
+++ b/pkgs/development/python-modules/debianbts/default.nix
@@ -2,8 +2,6 @@
 , buildPythonPackage
 , fetchPypi
 , pysimplesoap
-, pytestCheckHook
-, pytest-xdist
 , pythonOlder
 , setuptools
 }:
diff --git a/pkgs/development/python-modules/imia/default.nix b/pkgs/development/python-modules/imia/default.nix
new file mode 100644
index 0000000000000..b5b855c92d742
--- /dev/null
+++ b/pkgs/development/python-modules/imia/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, poetry-core
+, starlette
+, fastapi
+}:
+
+buildPythonPackage rec {
+  pname = "imia";
+  version = "0.5.3";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-4CzevO7xgo8Hb1JHe/eGEtq/KCrJM0hV/7SRV2wmux8=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    starlette
+    fastapi
+  ];
+
+  # running the real tests would require sqlalchemy 1.4 and starsessions 1.x
+  doCheck = false;
+  pythonImportsCheck = [ "imia" ];
+
+  meta = with lib; {
+    description = "An authentication library for Starlette and FastAPI";
+    changelog = "https://github.com/alex-oleshkevich/imia/releases/tag/v${version}";
+    homepage = "https://github.com/alex-oleshkevich/imia";
+    license = licenses.mit;
+    maintainers = teams.wdz.members;
+  };
+}
diff --git a/pkgs/development/python-modules/nototools/default.nix b/pkgs/development/python-modules/nototools/default.nix
new file mode 100644
index 0000000000000..1b515b486f5f9
--- /dev/null
+++ b/pkgs/development/python-modules/nototools/default.nix
@@ -0,0 +1,78 @@
+{ fetchFromGitHub, lib, buildPythonPackage, pythonOlder
+, afdko, appdirs, attrs, booleanoperations, brotlipy, click
+, defcon, fontmath, fontparts, fontpens, fonttools, lxml
+, mutatormath, pathspec, psautohint, pyclipper, pytz, regex, scour
+, toml, typed-ast, ufonormalizer, ufoprocessor, unicodedata2, zopfli
+, pillow, six, bash, setuptools-scm }:
+
+buildPythonPackage rec {
+  pname = "nototools";
+  version = "0.2.17";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "googlefonts";
+    repo = "nototools";
+    rev = "v${version}";
+    sha256 = "0jxydivqzggirc31jv7b4mrsjkg646zmra5m4h0pk4amgy65rvyp";
+  };
+
+  postPatch = ''
+    sed -i 's/use_scm_version=.*,/version="${version}",/' setup.py
+  '';
+
+  nativeBuildInputs = [ setuptools-scm ];
+
+  propagatedBuildInputs = [
+    afdko
+    appdirs
+    attrs
+    booleanoperations
+    brotlipy
+    click
+    defcon
+    fontmath
+    fontparts
+    fontpens
+    fonttools
+    lxml
+    mutatormath
+    pathspec
+    psautohint
+    pyclipper
+    pytz
+    regex
+    scour
+    toml
+    typed-ast
+    ufonormalizer
+    ufoprocessor
+    unicodedata2
+    zopfli
+  ];
+
+  nativeCheckInputs = [
+    pillow
+    six
+    bash
+  ];
+
+  checkPhase = ''
+    patchShebangs tests/
+    cd tests
+    rm gpos_diff_test.py # needs ttxn?
+    ./run_tests
+  '';
+
+  postInstall = ''
+    cp -r third_party $out
+  '';
+
+  meta = with lib; {
+    description = "Noto fonts support tools and scripts plus web site generation";
+    homepage = "https://github.com/googlefonts/nototools";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix
index 14e77c816b888..9888ef279f478 100644
--- a/pkgs/development/python-modules/plugwise/default.nix
+++ b/pkgs/development/python-modules/plugwise/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.35.1";
+  version = "0.35.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    hash = "sha256-eHJQXLiuWmJo/Eo4B8gEo44rwpPA7ASjxKSmdu6Tv9M=";
+    hash = "sha256-DCG1sKpUUV2/2mVJ2ltCkzCxQxAkDtxzNX6uMSpJhi4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyhiveapi/default.nix b/pkgs/development/python-modules/pyhiveapi/default.nix
index ec6d51191966f..989b1d115d8d5 100644
--- a/pkgs/development/python-modules/pyhiveapi/default.nix
+++ b/pkgs/development/python-modules/pyhiveapi/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pyhiveapi";
-  version = "0.5.15";
+  version = "0.5.16";
 
   format = "pyproject";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "Pyhass";
     repo = "Pyhiveapi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tR2PCR1qGn4KnqAjEpcRTcVlMEpKCwn5RAm99AXBSnk=";
+    hash = "sha256-gPou5KGLFEFP29qSpRg+6sCiXOwfoF1gyhBVERYJ1LI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/smtpdfix/default.nix b/pkgs/development/python-modules/smtpdfix/default.nix
new file mode 100644
index 0000000000000..f9d7d2931e5a8
--- /dev/null
+++ b/pkgs/development/python-modules/smtpdfix/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, pytest
+, portpicker
+, cryptography
+, aiosmtpd
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "smtpdfix";
+  version = "0.5.1";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-882i0T6EySZ6jxOgoM11MU+ha41XfKjDDhUjeX7qvp4=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    aiosmtpd
+    cryptography
+    portpicker
+    pytest
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  meta = with lib; {
+    description = "An SMTP server for use as a pytest fixture for testing";
+    homepage = "https://github.com/bebleo/smtpdfix";
+    changelog = "https://github.com/bebleo/smtpdfix/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = teams.wdz.members;
+  };
+}
diff --git a/pkgs/development/python-modules/starlette-wtf/default.nix b/pkgs/development/python-modules/starlette-wtf/default.nix
new file mode 100644
index 0000000000000..113c1442a99e6
--- /dev/null
+++ b/pkgs/development/python-modules/starlette-wtf/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, itsdangerous
+, python-multipart
+, starlette
+, wtforms
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "starlette-wtf";
+  version = "0.4.3";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "muicss";
+    repo = "starlette-wtf";
+    rev = "v${version}";
+    hash = "sha256-TSxcIgINRjQwiyhpGOEEpXJKcPlhFCxMQh4/GY1g1lw=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+  propagatedBuildInputs = [
+    itsdangerous
+    python-multipart
+    starlette
+    wtforms
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "A simple tool for integrating Starlette and WTForms";
+    changelog = "https://github.com/muicss/starlette-wtf/blob/v${version}/CHANGELOG.md";
+    homepage = "https://github.com/muicss/starlette-wtf";
+    license = licenses.mit;
+    maintainers = teams.wdz.members;
+  };
+}
diff --git a/pkgs/development/python-modules/wtforms-bootstrap5/default.nix b/pkgs/development/python-modules/wtforms-bootstrap5/default.nix
new file mode 100644
index 0000000000000..0150dcb2d72ae
--- /dev/null
+++ b/pkgs/development/python-modules/wtforms-bootstrap5/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, wtforms
+, poetry-core
+, pytestCheckHook
+, lxml
+}:
+
+buildPythonPackage rec {
+  pname = "wtforms-bootstrap5";
+  version = "0.3.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "LaunchPlatform";
+    repo = "wtforms-bootstrap5";
+    rev = version;
+    hash = "sha256-TJJ3KOeC9JXnxK0YpnfeBNq1KHwaAZ4+t9CXbc+85Ro=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    wtforms
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    lxml
+  ];
+
+  meta = with lib; {
+    description = "Simple library for rendering WTForms in HTML as Bootstrap 5 form controls";
+    homepage = "https://github.com/LaunchPlatform/wtforms-bootstrap5";
+    changelog = "https://github.com/LaunchPlatform/wtforms-bootstrap5/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = teams.wdz.members;
+  };
+}
diff --git a/pkgs/development/python-modules/yte/default.nix b/pkgs/development/python-modules/yte/default.nix
index 3280cc76803e4..3056659cacbf0 100644
--- a/pkgs/development/python-modules/yte/default.nix
+++ b/pkgs/development/python-modules/yte/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "yte";
-  version = "1.5.1";
-  format = "pyproject";
+  version = "1.5.4";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "koesterlab";
-    repo = pname;
+    repo = "yte";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7erT5UpejPMIoyqhpYNEON3YWE2l5SdP2olOVpkbNkY=";
+    hash = "sha256-Rm3EKxRZCdYErkyWK9+fF2W7C+v5/MXD/LkehmB6UNQ=";
   };
 
   nativeBuildInputs = [
@@ -53,6 +53,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "YAML template engine with Python expressions";
     homepage = "https://github.com/koesterlab/yte";
+    changelog = "https://github.com/yte-template-engine/yte/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/zigpy-deconz/default.nix b/pkgs/development/python-modules/zigpy-deconz/default.nix
index b5ed6bbd11d0f..99cdb83515cfc 100644
--- a/pkgs/development/python-modules/zigpy-deconz/default.nix
+++ b/pkgs/development/python-modules/zigpy-deconz/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy-deconz";
-  version = "0.22.0";
+  version = "0.22.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-pdWWI+yZh0uf2TzVbyJFIrxM2zfmaPG/PGZWaNNrZ6M=";
+    hash = "sha256-gkIo56SGqthLq2Ycjl/MqKLJvTxhkm8reUmwVhphxhg=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/zigpy-xbee/default.nix b/pkgs/development/python-modules/zigpy-xbee/default.nix
index d40e2b17b6cc1..848f253243cf6 100644
--- a/pkgs/development/python-modules/zigpy-xbee/default.nix
+++ b/pkgs/development/python-modules/zigpy-xbee/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy-xbee";
-  version = "0.20.0";
+  version = "0.20.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy-xbee";
     rev = "refs/tags/${version}";
-    hash = "sha256-Ja9U/X9YblS6uUD7MX3t2tItG9AMiNF7OFgvIotdvQs=";
+    hash = "sha256-H0rs4EOzz2Nx5YuwqTZp2FGF1z2phBgSIyraKHHx4RA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix
index 80934e280d40d..1185f63e19033 100644
--- a/pkgs/development/python-modules/zigpy/default.nix
+++ b/pkgs/development/python-modules/zigpy/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.60.0";
+  version = "0.60.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy";
     rev = "refs/tags/${version}";
-    hash = "sha256-1i92YyOIoWSMDHgfnXiXQuvDnmEPlSHwoSLmmsoTkDU=";
+    hash = "sha256-Ejf/Z9mgyO8y99rmuPPVOleyHWgYzxq3AO3TB8jkmtY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/algolia-cli/default.nix b/pkgs/development/tools/algolia-cli/default.nix
index 0e15bec58def4..64ad473c3b75c 100644
--- a/pkgs/development/tools/algolia-cli/default.nix
+++ b/pkgs/development/tools/algolia-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "algolia-cli";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "algolia";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-T7LklR+NUuB5nDwEedG3eD+qSK+mjUiS/EXerqCAroE=";
+    hash = "sha256-tKLFJSlViiryH9j4ZaOtj6gA69fp//cG/ftBe2J2R+I=";
   };
 
   vendorHash = "sha256-cNuBTH7L2K4TgD0H9FZ9CjhE5AGXADaniGLD9Lhrtrk=";
diff --git a/pkgs/development/tools/allure/default.nix b/pkgs/development/tools/allure/default.nix
index 30b8a11a420d0..9cbe3cc1034a6 100644
--- a/pkgs/development/tools/allure/default.nix
+++ b/pkgs/development/tools/allure/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "allure";
-  version = "2.24.1";
+  version = "2.25.0";
 in
 stdenv.mkDerivation rec {
   inherit pname version;
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/allure-framework/allure2/releases/download/${version}/allure-${version}.tgz";
-    sha256 = "sha256-pUNHE1bJclo8fsHBj6FUHqp6SZtC+RCrmICgn9/PL9c=";
+    sha256 = "sha256-eR26rvrLla7kcrr/IYKXFlV8jKCwKUjpUj6/oLrz9sA=";
   };
   dontConfigure = true;
   dontBuild = true;
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index c1b57bab97e7c..482b0f092bb8b 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.1.33";
+  version = "3.1.38";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-NcjzKA/QvxIoZMzgMmyAQm4KI8kCsj+K9wcI1n+HPbc=";
+    hash = "sha256-03tukEuNaQP3YNv66FuDKzeTPcPfPY4PT6ZWRLFDu6c=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index e1a6b8c341628..4b6cadfcfa82d 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -28,6 +28,7 @@ let
     sexplib0
     parsexp
     base
+    unionFind
     yojson
     zarith
   ];
@@ -36,12 +37,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "frama-c";
-  version = "27.1";
-  slang   = "Cobalt";
+  version = "28.0";
+  slang   = "Nickel";
 
   src = fetchurl {
     url  = "https://frama-c.com/download/frama-c-${version}-${slang}.tar.gz";
-    hash = "sha256-WxNXShaliXHCeQm+6Urn83sX2JeFK0DHaKPU4uCeOdI=";
+    hash = "sha256-KWEogjMOy27d0LTKOvwEkrcND+szeaG46JMZTG4XOYM=";
   };
 
   postConfigure = "patchShebangs src/plugins/eva/gen-api.sh";
@@ -56,6 +57,7 @@ stdenv.mkDerivation rec {
     lablgtk3 lablgtk3-sourceview3 coq graphviz zarith apron why3 mlgmpidl doxygen
     ppx_deriving ppx_import ppx_deriving_yaml ppx_deriving_yojson
     gdk-pixbuf
+    unionFind
   ];
 
   buildPhase = ''
diff --git a/pkgs/development/tools/api-linter/default.nix b/pkgs/development/tools/api-linter/default.nix
index 5b0e8e7c5928c..0320b499b1458 100644
--- a/pkgs/development/tools/api-linter/default.nix
+++ b/pkgs/development/tools/api-linter/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "api-linter";
-  version = "1.59.1";
+  version = "1.59.2";
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "api-linter";
     rev = "v${version}";
-    hash = "sha256-PgDdCcXiy9Dpop2myuRoi8KQROZdJ76ce4ax7wU4bpc=";
+    hash = "sha256-tgDrzYaomB0Pj7JQmvp+8G25CBDxGiMYCUnbm8vRkDU=";
   };
 
   vendorHash = "sha256-egAZ4CeSSStfkN2mGgzGHTBojHKHoVEf3o0oi+OpMkw=";
@@ -23,7 +23,7 @@ buildGoModule rec {
     "-w"
   ];
 
-  # reference: https://github.com/googleapis/api-linter/blob/v1.59.1/.github/workflows/release.yaml#L76
+  # reference: https://github.com/googleapis/api-linter/blob/v1.59.2/.github/workflows/release.yaml#L76
   preBuild = ''
     cat > cmd/api-linter/version.go <<EOF
     package main
diff --git a/pkgs/development/tools/azcopy/default.nix b/pkgs/development/tools/azcopy/default.nix
index 3c60d0e25e2eb..c35309daca88e 100644
--- a/pkgs/development/tools/azcopy/default.nix
+++ b/pkgs/development/tools/azcopy/default.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "azure-storage-azcopy";
-  version = "10.21.1";
+  version = "10.22.0";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-storage-azcopy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FdiDxWmCRkSOa+6A9XgKeyFGk/ba+BgFm3/ChERkYvk=";
+    hash = "sha256-njDC1KxxWaeCxALF5MRE/6+z6bcEQt/PTjN29hEg4Hw=";
   };
 
   subPackages = [ "." ];
 
-  vendorHash = "sha256-F5YMPwdS2A5FAwuG1gfiAqBKapZ24VIGzJXnwojoDk0=";
+  vendorHash = "sha256-vHHUbXpO4Z2VKSyA8itywx5oei9bFuSmvW1d7KENeUM=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/bearer/default.nix b/pkgs/development/tools/bearer/default.nix
index a073c2b2b248e..e1f56a56fbc62 100644
--- a/pkgs/development/tools/bearer/default.nix
+++ b/pkgs/development/tools/bearer/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "bearer";
-  version = "1.32.0";
+  version = "1.33.0";
 
   src = fetchFromGitHub {
     owner = "bearer";
     repo = "bearer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-fqc/+eYrUcFHgC+st0LogLLIW/jRyp0M5VwxMBWkPKY=";
+    hash = "sha256-sdtZOj3jksXDVVYi+Uy/zXgZoqlhGlPKjokXNErBe9k=";
   };
 
-  vendorHash = "sha256-QDtjB1h7mNBEpTwoQfex3c6oba/kztKlgQpbmNHvoz0=";
+  vendorHash = "sha256-u3pqG74o8xRxxepS5u3lTo4rPgbFABDC/dLWD1JAyxA=";
 
   subPackages = [
     "cmd/bearer"
diff --git a/pkgs/development/tools/bomber-go/default.nix b/pkgs/development/tools/bomber-go/default.nix
index 00424389584bb..7857dff0302a2 100644
--- a/pkgs/development/tools/bomber-go/default.nix
+++ b/pkgs/development/tools/bomber-go/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "bomber-go";
-  version = "0.4.5";
+  version = "0.4.7";
 
   src = fetchFromGitHub {
     owner = "devops-kung-fu";
     repo = "bomber";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TsN/1ZtxVLJIWa7YkkCBzDF3xTeFKzSPLA7tIVe1oCI=";
+    hash = "sha256-q3x3duXc2++BvVul2a5fBTcPHWrOHpPOGHBUXL08syg=";
   };
 
-  vendorHash = "sha256-P2g8KfQ+jNZla5GKONtB4MjDnTGBUtd9kmCi0j1xq7s=";
+  vendorHash = "sha256-jVdrvc48/Vt240EYk5PtZCjNGipX7M1qF8OJdpu/qI4=";
 
   ldflags = [
     "-w"
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 9da89e890ce09..1e1b50f142ece 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -1,13 +1,13 @@
-{ jdk8, jdk11, jdk17 }:
+{ jdk11, jdk17, jdk21 }:
 
 rec {
   gen =
 
-    { version, nativeVersion, sha256,
+    { version, nativeVersion, hash,
 
       # The default JDK/JRE that will be used for derived Gradle packages.
       # A current LTS version of a JDK is a good choice.
-      defaultJava ? jdk8,
+      defaultJava,
 
       # The platforms supported by this Gradle package.
       # Gradle Native-Platform ships some binaries that
@@ -41,7 +41,7 @@ rec {
       inherit version;
 
       src = fetchurl {
-        inherit sha256;
+        inherit hash;
         url =
           "https://services.gradle.org/distributions/gradle-${version}-bin.zip";
       };
@@ -128,23 +128,23 @@ rec {
   # https://docs.gradle.org/current/userguide/compatibility.html
 
   gradle_8 = gen {
-    version = "8.4";
+    version = "8.5";
     nativeVersion = "0.22-milestone-25";
-    sha256 = "1bkjxw7i0lm17pdyyvka4xpl6z0cdj0izagphync6839i2pg66iy";
-    defaultJava = jdk17;
+    hash = "sha256-nZJnhwZqCBc56CAIWDOLSmnoN8OoIaM6yp2wndSkECY=";
+    defaultJava = jdk21;
   };
 
   gradle_7 = gen {
     version = "7.6.3";
     nativeVersion = "0.22-milestone-25";
-    sha256 = "1b6gk0yiyvf86vigd05mz7ryqs8yrpswk9bmpwrnqcp45r3jw33l";
+    hash = "sha256-dAwuRy7kMmwzv3WlyfXNHmns8/m1gPbiNshtHz2Yz6w=";
     defaultJava = jdk17;
   };
 
   gradle_6 = gen {
     version = "6.9.4";
     nativeVersion = "0.22-milestone-20";
-    sha256 = "16iqh4bn7ndch51h2lgkdqyyhnd91fdfjx55fa3z3scdacl0491y";
+    hash = "sha256-PiQCKFON6fGHcqV06ZoLqVnoPW7zUQFDgazZYxeBOJo=";
     defaultJava = jdk11;
   };
 }
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index a6761a7350c78..81d00d6304e06 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -17,13 +17,13 @@
 
 buildGoModule rec {
   pname = "buildah";
-  version = "1.32.2";
+  version = "1.33.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    hash = "sha256-Av4wrJ+anVu1pTSFTpaseBhj+7ECsRoKb1bATrUKYuo=";
+    hash = "sha256-jkUEGaECBNidKreoyezWw7LN38uHqyYo40dOwfuuuI4=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/java/jextract/default.nix b/pkgs/development/tools/java/jextract/default.nix
index ef1611cecce70..d4b514d43fef2 100644
--- a/pkgs/development/tools/java/jextract/default.nix
+++ b/pkgs/development/tools/java/jextract/default.nix
@@ -5,7 +5,7 @@
 , writeText
 , makeWrapper
 , gradle
-, jdk20
+, jdk21
 , llvmPackages
 }:
 
@@ -38,13 +38,13 @@ in
 
 stdenv.mkDerivation {
   pname = "jextract";
-  version = "unstable-2023-04-14";
+  version = "unstable-2023-11-27";
 
   src = fetchFromGitHub {
     owner = "openjdk";
     repo = "jextract";
-    rev = "cf3afe9ca71592c8ebb32f219707285dd1d5b28a";
-    hash = "sha256-8qRD1Xg39vxtFAdguD8XvkQ8u7YzFU55MhyyJozVffo=";
+    rev = "8730fcf05c229d035b0db52ee6bd82622e9d03e9"; # Update jextract 21 with latest fixes
+    hash = "sha256-Wct/yx5C0EjDtDyXNYDH5LRmrfq7islXbPVIGBR6x5Y=";
   };
 
   nativeBuildInputs = [
@@ -54,7 +54,7 @@ stdenv.mkDerivation {
 
   env = {
     ORG_GRADLE_PROJECT_llvm_home = llvmPackages.libclang.lib;
-    ORG_GRADLE_PROJECT_jdk20_home = jdk20;
+    ORG_GRADLE_PROJECT_jdk21_home = jdk21;
   };
 
   buildPhase = ''
diff --git a/pkgs/development/tools/ocaml/merlin/4.x.nix b/pkgs/development/tools/ocaml/merlin/4.x.nix
index 56871eab1cc1a..3bccf4162be6b 100644
--- a/pkgs/development/tools/ocaml/merlin/4.x.nix
+++ b/pkgs/development/tools/ocaml/merlin/4.x.nix
@@ -25,7 +25,7 @@ let
     "4.14.1" = "4.13-414";
     "5.0.0" = "4.12-500";
     "5.1.0" = "4.13-501";
-    # "5.1.1" = "4.13.1-501";
+    "5.1.1" = "4.13.1-501";
   };
 
   hashes = {
@@ -34,6 +34,7 @@ let
     "4.12-500" = "sha256-j49R7KVzNKlXDL7WibTHxPG4VSOVv0uaz5/yMZZjkH8=";
     "4.13-414" = "sha256-AlzxqTuh5AkW9dnPIv51abv7r0A/VOS3JOT5IHix2wM=";
     "4.13-501" = "sha256-G/VrI+qBVj2wxuB2qE9P1M73IvDmqmTrBFAA6mp+NRE=";
+    "4.13.1-501" = "sha256-NVfgX3DFsQghApEgWilCgr5O2WSkwKtenZZFSJ1wwa0=";
   };
 
   version = lib.getAttr ocaml.version merlinVersions;
diff --git a/pkgs/development/tools/pscale/default.nix b/pkgs/development/tools/pscale/default.nix
index 801b167536138..4e4f13007b6a6 100644
--- a/pkgs/development/tools/pscale/default.nix
+++ b/pkgs/development/tools/pscale/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "pscale";
-  version = "0.172.0";
+  version = "0.174.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-zOynyNFKLWQ8Z6r0iFFLj1ZzGq7m22Nb5wdvS5rlQmw=";
+    sha256 = "sha256-Yzs6tGK0yp36d3fmtYdCuFEANRMUXQZeFTpOM8swm3w=";
   };
 
-  vendorHash = "sha256-H3LpREwpQCFL99rB/7fmsxPAP/je5EFhrOEJHvCYYe8=";
+  vendorHash = "sha256-svIpDqPIU/kzIL1h7Hq1IdmwfcvrXw96xMuS1eEsVTY=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/development/tools/rust/cargo-cyclonedx/default.nix b/pkgs/development/tools/rust/cargo-cyclonedx/default.nix
index c8769abc8a68f..acfd450f209a7 100644
--- a/pkgs/development/tools/rust/cargo-cyclonedx/default.nix
+++ b/pkgs/development/tools/rust/cargo-cyclonedx/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-cyclonedx";
-  version = "0.3.8";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "CycloneDX";
     repo = "cyclonedx-rust-cargo";
     rev = "${pname}-${version}";
-    hash = "sha256-6XW8aCXepbVnTubbM4sfRIC87uYSCEbuj+jJcPayEEU=";
+    hash = "sha256-JrusJsMjaWAsWAssU+q87BCH2ouLfthIw47ypwBkR9o=";
   };
 
-  cargoHash = "sha256-BG/vfa5L6Iibfon3A5TP8/K8jbJsWqc+axdvIXc7GmM=";
+  cargoHash = "sha256-QzEojbwBF7s3C+LlFWle0+8DVtyEljuqAcMAyRJqFcs=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/rust/cargo-mobile2/default.nix b/pkgs/development/tools/rust/cargo-mobile2/default.nix
index 3564862e19fc2..b29c7bb64fb15 100644
--- a/pkgs/development/tools/rust/cargo-mobile2/default.nix
+++ b/pkgs/development/tools/rust/cargo-mobile2/default.nix
@@ -12,7 +12,7 @@
 let
   inherit (darwin.apple_sdk.frameworks) CoreServices;
   pname = "cargo-mobile2";
-  version = "0.7.0";
+  version = "0.9.0";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -20,14 +20,14 @@ rustPlatform.buildRustPackage {
     owner = "tauri-apps";
     repo = pname;
     rev = "cargo-mobile2-v${version}";
-    hash = "sha256-aJPiPhDbu7Nwnd65kPMxeULrcjdSu0EF34ma3n/NTYI=";
+    hash = "sha256-zLArfCUgBWx/xrcjvyhQbSxjH0JKI3JhoDVRX2/kBnQ=";
   };
 
   # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at
   # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202
   # sourceRoot = "${src.name}/tooling/cli";
 
-  cargoHash = "sha256-Inc+PWJO+PM99YYwQEG1J0/17RkLauraFVzO2CO15rQ=";
+  cargoHash = "sha256-13iCSd2BQ4fEeXSOfDBVgnzFSl1fUAPrbZZJ3qx7oHc=";
 
   preBuild = ''
     mkdir -p $out/share/
diff --git a/pkgs/development/tools/rust/cargo-pgrx/default.nix b/pkgs/development/tools/rust/cargo-pgrx/default.nix
index c7a5cc9574b78..a0d2657702a55 100644
--- a/pkgs/development/tools/rust/cargo-pgrx/default.nix
+++ b/pkgs/development/tools/rust/cargo-pgrx/default.nix
@@ -2,17 +2,17 @@
 
 let
   pname = "cargo-pgrx";
-  version = "0.11.0";
+  version = "0.11.2";
 in
 rustPlatform.buildRustPackage rec {
   inherit version pname;
 
   src = fetchCrate {
     inherit version pname;
-    hash = "sha256-GiUjsSqnrUNgiT/d3b8uK9BV7cHFvaDoq6cUGRwPigM=";
+    hash = "sha256-8NlpMDFaltTIA8G4JioYm8LaPJ2RGKH5o6sd6lBHmmM=";
   };
 
-  cargoHash = "sha256-oXOPpK8VWzbFE1xHBQYyM5+YP/pRdLvTVN/fjxrgD/c=";
+  cargoHash = "sha256-qTb3JV3u42EilaK2jP9oa5D09mkuHyRbGGRs9Rg4TzI=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-zigbuild/default.nix b/pkgs/development/tools/rust/cargo-zigbuild/default.nix
index 1ea339a44dfe4..f454eec74cd32 100644
--- a/pkgs/development/tools/rust/cargo-zigbuild/default.nix
+++ b/pkgs/development/tools/rust/cargo-zigbuild/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-zigbuild";
-  version = "0.18.0";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "messense";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-JZZJQGWPqb+jAqofEij/43ZZMOyT/2aU8rxmq72r0E4=";
+    hash = "sha256-YAp3lH2qEhN6Bd9YyLWnSgmppsQY+ssamopWDE1bhiQ=";
   };
 
-  cargoHash = "sha256-PKfIQkLXq7gdg3wCqlue2UsaUP/jAz85JyoFjGwqwQY=";
+  cargoHash = "sha256-g+uHOqHRCklrjv6uW/5wjfwn473GEXjricQa4qXeliY=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/development/web/bun/default.nix b/pkgs/development/web/bun/default.nix
index 8cd956a782a2a..1f0ca3e6a8b63 100644
--- a/pkgs/development/web/bun/default.nix
+++ b/pkgs/development/web/bun/default.nix
@@ -12,7 +12,7 @@
 }:
 
 stdenvNoCC.mkDerivation rec {
-  version = "1.0.16";
+  version = "1.0.17";
   pname = "bun";
 
   src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
@@ -51,19 +51,19 @@ stdenvNoCC.mkDerivation rec {
     sources = {
       "aarch64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip";
-        hash = "sha256-jp8ZQ7l8uBdoVQsLpm3AgfBF3XhNzZOhimSUmSVqOEY=";
+        hash = "sha256-0zZJ3GYYwJOv3/CmvUHYI1GdJXf3/7ujGpEf+dn/tlI=";
       };
       "aarch64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip";
-        hash = "sha256-BSU2iTo+AGcOdPSgW4CRYcDS4KgAvpOmSZE7JDEtV00=";
+        hash = "sha256-lscEZki4sMHFAeZJwBTksdBUXOmZ6EEu1YFoedBr5bs=";
       };
       "x86_64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64.zip";
-        hash = "sha256-XAzV8LBrzhZ5w1YBMlTBI1iov5/ZrrRVLzqnWfcCgyI=";
+        hash = "sha256-wY0d8JiBtfSZ8xQQjhwdSs4PPtjZp7JnxQf9cSp2T3Q=";
       };
       "x86_64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip";
-        hash = "sha256-2f/n/aKJO2LnCWohYSQ3zukuXZ+cKFzem+mKeYQnoTc=";
+        hash = "sha256-JvzOC/2JxA7K7J0+2l+Bq0FVSrt7llZNE/wkM58nMXY=";
       };
     };
     updateScript = writeShellScript "update-bun" ''