about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2023-12-09 06:01:23 +0000
committerGitHub <noreply@github.com>2023-12-09 06:01:23 +0000
commitd961005060b52c47ccc96a2dfabd05a10bd0395b (patch)
tree7e39dc5c58a33d32d783e4def55c8e90b2847447 /pkgs
parent92bc6ad75d3d8484a5fb733cd46943c0a27c2e8c (diff)
parent050990f547404484d39f990edd59947344b6aef5 (diff)
Merge staging-next into staging
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix4
-rw-r--r--pkgs/applications/misc/lttoolbox/default.nix65
-rw-r--r--pkgs/applications/misc/tandoor-recipes/common.nix6
-rw-r--r--pkgs/applications/misc/tandoor-recipes/default.nix33
-rw-r--r--pkgs/by-name/ae/aeron-cpp/aeron-all.patch11
-rw-r--r--pkgs/by-name/ae/aeron-cpp/aeron-archive-sbe.patch11
-rw-r--r--pkgs/by-name/ae/aeron-cpp/package.nix134
-rw-r--r--pkgs/by-name/me/mercure/package.nix6
-rw-r--r--pkgs/by-name/no/nomnatong/package.nix51
-rw-r--r--pkgs/by-name/sa/satty/package.nix15
-rw-r--r--pkgs/by-name/ui/uiua/package.nix6
-rw-r--r--pkgs/development/misc/datafusion/default.nix6
-rw-r--r--pkgs/development/python-modules/guppy3/default.nix8
-rw-r--r--pkgs/development/python-modules/m2crypto/default.nix10
-rw-r--r--pkgs/development/tools/cue/default.nix22
-rw-r--r--pkgs/games/heroic/default.nix9
-rw-r--r--pkgs/games/heroic/fix-infinite-loop.patch23
-rw-r--r--pkgs/os-specific/linux/raspberrypi-eeprom/default.nix25
-rw-r--r--pkgs/servers/aeron/default.nix251
-rw-r--r--pkgs/servers/jigasi/default.nix46
-rw-r--r--pkgs/shells/carapace/default.nix6
-rw-r--r--pkgs/tools/misc/kak-lsp/0001-Use-full-Perl-path.patch37
-rw-r--r--pkgs/tools/misc/kak-lsp/default.nix13
-rw-r--r--pkgs/tools/misc/usbview/default.nix8
-rw-r--r--pkgs/tools/security/grype/default.nix10
-rw-r--r--pkgs/top-level/all-packages.nix4
26 files changed, 571 insertions, 249 deletions
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 12a7c1768aed7..d53c8af3fa687 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -3557,8 +3557,8 @@ let
         mktplcRef = {
           name = "uiua-vscode";
           publisher = "uiua-lang";
-          version = "0.0.25";
-          sha256 = "sha256-qM+CLV8jWYkJWXZyELnR1H9pSWFifAOGqH+LgHr7nNA=";
+          version = "0.0.26";
+          sha256 = "sha256-EKWThidMgbd+a4Vw4SQo988ggVbCTnCakohvq3/mZQ0=";
         };
         meta = {
           description = "VSCode language extension for Uiua";
diff --git a/pkgs/applications/misc/lttoolbox/default.nix b/pkgs/applications/misc/lttoolbox/default.nix
new file mode 100644
index 0000000000000..25dbeba7d953b
--- /dev/null
+++ b/pkgs/applications/misc/lttoolbox/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, autoconf
+, automake
+, pkg-config
+, utf8cpp
+, libtool
+, libxml2
+, icu
+, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lttoolbox";
+  version = "3.7.1";
+
+  src = fetchFromGitHub {
+    owner = "apertium";
+    repo = "lttoolbox";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-3lHXKtwQSrMGQEGOGr27e3kB2qKkTFZcEzeAnIm89Rg=";
+  };
+
+  patches = [
+    # can be removed once the version goes past this commit
+    # https://github.com/apertium/lttoolbox/commit/e682fe18a96d5a865cfbd3e5661dbc7b3ace1821
+    (fetchpatch {
+      url = "https://github.com/apertium/lttoolbox/commit/e682fe18a96d5a865cfbd3e5661dbc7b3ace1821.patch";
+      hash = "sha256-VeP8Mv2KYxX+eVjIRw/jHbURaWN665+fiFaoT3VxAno=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    pkg-config
+    utf8cpp
+    libtool
+  ];
+  buildInputs = [
+    libxml2
+    icu
+  ];
+  buildFlags = [
+    "CPPFLAGS=-I${utf8cpp}/include/utf8cpp"
+  ];
+  configurePhase = ''
+    ./autogen.sh --prefix $out
+  '';
+  doCheck = true;
+  checkPhase = ''
+    ${python3}/bin/python3 tests/run_tests.py
+  '';
+
+  meta = with lib; {
+    description = "Finite state compiler, processor and helper tools used by apertium";
+    homepage = "https://github.com/apertium/lttoolbox";
+    maintainers = with maintainers; [ onthestairs ];
+    changelog = "https://github.com/apertium/lttoolbox/releases/tag/v${version}";
+    license = licenses.gpl2;
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/applications/misc/tandoor-recipes/common.nix b/pkgs/applications/misc/tandoor-recipes/common.nix
index fe52c50a1f8e0..40882205420a8 100644
--- a/pkgs/applications/misc/tandoor-recipes/common.nix
+++ b/pkgs/applications/misc/tandoor-recipes/common.nix
@@ -1,15 +1,15 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "1.5.6";
+  version = "1.5.10";
 
   src = fetchFromGitHub {
     owner = "TandoorRecipes";
     repo = "recipes";
     rev = version;
-    hash = "sha256-3sitrTaIRKmjx+5vWOQXE0/Gu0jJ8VCpOq2cZZVLrbk=";
+    hash = "sha256-CkqNPG57e76TT/vF9lscS6m2FbXOvOfqiT/9aM2Il9E=";
   };
 
-  yarnHash = "sha256-mZ8beCF+3mnpgKED0fP96RBbGbKNNXqEJkGSjgrEGBc=";
+  yarnHash = "sha256-atl2XrY9LmWh2USp6K2W50/khEsnY6OqKBUS26Ln9ZM=";
 
   meta = with lib; {
     homepage = "https://tandoor.dev/";
diff --git a/pkgs/applications/misc/tandoor-recipes/default.nix b/pkgs/applications/misc/tandoor-recipes/default.nix
index f5ce961e401ac..2dde47d25f272 100644
--- a/pkgs/applications/misc/tandoor-recipes/default.nix
+++ b/pkgs/applications/misc/tandoor-recipes/default.nix
@@ -5,28 +5,7 @@
 , fetchpatch
 }:
 let
-  python = python3.override {
-    packageOverrides = self: super: {
-      django = super.django_4;
-
-      django-crispy-forms = super.django-crispy-forms.overridePythonAttrs (_: rec {
-        version = "1.14.0";
-        format = "setuptools";
-
-        src = fetchFromGitHub {
-          owner = "django-crispy-forms";
-          repo = "django-crispy-forms";
-          rev = "refs/tags/${version}";
-          hash = "sha256-NZ2lWxsQHc7Qc4HDoWgjJTZ/bJHmjpBf3q1LVLtzA+8=";
-        };
-      });
-
-      # Tests are incompatible with Django 4
-      django-js-reverse = super.django-js-reverse.overridePythonAttrs (_: {
-        doCheck = false;
-      });
-    };
-  };
+  python = python3;
 
   common = callPackage ./common.nix { };
 
@@ -44,8 +23,8 @@ python.pkgs.pythonPackages.buildPythonPackage rec {
     ./media-root.patch
     # https://github.com/TandoorRecipes/recipes/pull/2706
     (fetchpatch {
-      url = "https://github.com/TandoorRecipes/recipes/commit/8f66f5c3ca61751a80cc133ff4c59019d6fca406.patch";
-      hash = "sha256-oF5YlPg1LEdLvKpxiSqjTmYPbrGquPlRIz6A05031gs=";
+      url = "https://github.com/TandoorRecipes/recipes/commit/702c1d67d3b2d13cf471bf9daa1d2ef0f1837dec.patch";
+      hash = "sha256-6vmtYs6b0d38Ojxxc2I7oxqpkIlyRVlhzURBOTO2VlQ=";
     })
   ];
 
@@ -63,6 +42,7 @@ python.pkgs.pythonPackages.buildPythonPackage rec {
     django-cleanup
     django-cors-headers
     django-crispy-forms
+    django-crispy-bootstrap4
     django-hcaptcha
     django-js-reverse
     django-oauth-toolkit
@@ -145,6 +125,11 @@ python.pkgs.pythonPackages.buildPythonPackage rec {
     pytest-factoryboy
   ];
 
+  # flaky
+  disabledTests = [
+    "test_search_count"
+  ];
+
   passthru = {
     inherit frontend python;
 
diff --git a/pkgs/by-name/ae/aeron-cpp/aeron-all.patch b/pkgs/by-name/ae/aeron-cpp/aeron-all.patch
new file mode 100644
index 0000000000000..40dd24c14b0c1
--- /dev/null
+++ b/pkgs/by-name/ae/aeron-cpp/aeron-all.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -323,7 +323,7 @@ if (BUILD_AERON_ARCHIVE_API)
+         "${CMAKE_CURRENT_SOURCE_DIR}}/aeron-archive/src/main/java/*.java")
+ 
+     add_custom_command(OUTPUT ${AERON_ALL_JAR}
+-        COMMAND ${CMAKE_COMMAND} -E env JAVA_HOME=$ENV{JAVA_HOME} BUILD_JAVA_HOME=$ENV{BUILD_JAVA_HOME} BUILD_JAVA_VERSION=$ENV{BUILD_JAVA_VERSION} ${GRADLE_WRAPPER} :aeron-all:clean :aeron-all:assemble --no-daemon -x javadoc --console=plain -q
++        COMMAND ln --symbolic  ${CMAKE_CURRENT_SOURCE_DIR}/aeron-all.jar ${AERON_ALL_JAR}
+         DEPENDS ${AERON_ALL_SOURCES}
+         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+         COMMENT "Generating aeron-all jar")
diff --git a/pkgs/by-name/ae/aeron-cpp/aeron-archive-sbe.patch b/pkgs/by-name/ae/aeron-cpp/aeron-archive-sbe.patch
new file mode 100644
index 0000000000000..d4a845f2bf7b2
--- /dev/null
+++ b/pkgs/by-name/ae/aeron-cpp/aeron-archive-sbe.patch
@@ -0,0 +1,11 @@
+--- a/aeron-archive/src/main/cpp/CMakeLists.txt
++++ b/aeron-archive/src/main/cpp/CMakeLists.txt
+@@ -59,7 +59,7 @@ set(GENERATED_CODECS
+     ${ARCHIVE_CODEC_TARGET_DIR}/aeron_archive_client/RecordingSignalEvent.h)
+ 
+ add_custom_command(OUTPUT ${GENERATED_CODECS}
+-    COMMAND ${CMAKE_COMMAND} -E env JAVA_HOME=$ENV{JAVA_HOME} BUILD_JAVA_HOME=$ENV{BUILD_JAVA_HOME} BUILD_JAVA_VERSION=$ENV{BUILD_JAVA_VERSION} ${GRADLE_WRAPPER} -Dcodec.target.dir=${ARCHIVE_CODEC_TARGET_DIR} :aeron-archive:generateCppCodecs --no-daemon --console=plain -q
++    COMMAND ${CMAKE_COMMAND} -E env JAVA_HOME=$ENV{JAVA_HOME} BUILD_JAVA_HOME=$ENV{BUILD_JAVA_HOME} BUILD_JAVA_VERSION=$ENV{BUILD_JAVA_VERSION} java -cp sbe.jar -Dsbe.output.dir=${ARCHIVE_CODEC_TARGET_DIR} -Dsbe.target.language=Cpp -Dsbe.target.namespace=aeron.archive.client uk.co.real_logic.sbe.SbeTool ${ARCHIVE_CODEC_SCHEMA_DIR}/aeron-archive-codecs.xml
+     DEPENDS ${CODEC_SCHEMA} aeron-all-jar
+     WORKING_DIRECTORY ${ARCHIVE_CODEC_WORKING_DIR}
+     COMMENT "Generating C++ Archive codecs")
diff --git a/pkgs/by-name/ae/aeron-cpp/package.nix b/pkgs/by-name/ae/aeron-cpp/package.nix
new file mode 100644
index 0000000000000..28feed78cc49b
--- /dev/null
+++ b/pkgs/by-name/ae/aeron-cpp/package.nix
@@ -0,0 +1,134 @@
+{
+  autoPatchelfHook,
+  cmake,
+  fetchFromGitHub,
+  fetchMavenArtifact,
+  jdk11,
+  lib,
+  libbsd,
+  libuuid,
+  makeWrapper,
+  patchelf,
+  stdenv,
+  zlib
+}:
+
+let
+  version = "1.42.1";
+
+  aeronAll = fetchMavenArtifact {
+    artifactId = "aeron-all";
+    groupId = "io.aeron";
+    inherit version;
+    hash = "sha512-pjX+JopK6onDwElMIroj+ZXrKwdPj5H2uPg08XgNlrK1rAkHo9MUT8weBGbuFVFDLeqOZrHj0bt1wJ9XgYY5aA==";
+  };
+
+  sbeAll_1_29_0 = fetchMavenArtifact {
+    groupId = "uk.co.real-logic";
+    version = "1.29.0";
+    artifactId = "sbe-all";
+    hash = "sha512-exklKS9MgOH369lyuv+5vAWRHt+Iwg/FmsWy8PsSMjenvjs8I2KA1VTa00pIXkw/YNqbUDBIWvS07b4mS8YdPQ==";
+  };
+
+  sbeAll = sbeAll_1_29_0;
+
+in
+
+stdenv.mkDerivation {
+  pname = "aeron-cpp";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "real-logic";
+    repo = "aeron";
+    rev = version;
+    hash = "sha256-ODJeJ4XLazPeNLdzaoclPnE59NpxFUqZu3Aw3iTVQT8=";
+  };
+
+  patches = [
+    ./aeron-all.patch
+    # Use pre-built aeron-all.jar from Maven repo, avoiding Gradle
+
+    ./aeron-archive-sbe.patch
+    # Use SBE tool to generate C++ codecs, avoiding Gradle
+  ];
+
+  buildInputs = [
+    jdk11
+    libbsd
+    libuuid
+    zlib
+  ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    cmake
+    makeWrapper
+    patchelf
+  ];
+
+  configurePhase = ''
+    runHook preConfigure
+
+    mkdir --parents cppbuild/Release
+    (
+      cd cppbuild/Release
+      cmake \
+        -G "CodeBlocks - Unix Makefiles" \
+        -DCMAKE_BUILD_TYPE=Release \
+        -DAERON_TESTS=OFF \
+        -DAERON_SYSTEM_TESTS=OFF \
+        -DAERON_BUILD_SAMPLES=OFF \
+        -DCMAKE_INSTALL_PREFIX:PATH=../../install \
+        ../..
+    )
+
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    ln --symbolic  "${aeronAll.jar}" ./aeron-all.jar
+    ln --symbolic  "${sbeAll.jar}" ./sbe.jar
+    mkdir --parents aeron-all/build/libs
+    (
+      cd cppbuild/Release
+
+      make -j $NIX_BUILD_CORES \
+        aeron \
+        aeron_archive_client \
+        aeron_client_shared \
+        aeron_driver \
+        aeron_client \
+        aeron_driver_static \
+        aeronmd
+
+      make -j $NIX_BUILD_CORES install
+    )
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir --parents "$out"
+    cp --archive --verbose --target-directory="$out" install/*
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Aeron Messaging C++ Library";
+    homepage = "https://aeron.io/";
+    license = licenses.asl20;
+    mainProgram = "aeronmd";
+    maintainers = [ maintainers.vaci ];
+    sourceProvenance = [
+      sourceTypes.fromSource
+      sourceTypes.binaryBytecode
+    ];
+  };
+}
+
diff --git a/pkgs/by-name/me/mercure/package.nix b/pkgs/by-name/me/mercure/package.nix
index e90bd8d10ba4c..06b674d6a5bbb 100644
--- a/pkgs/by-name/me/mercure/package.nix
+++ b/pkgs/by-name/me/mercure/package.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "mercure";
-  version = "0.15.5";
+  version = "0.15.6";
 
   src = fetchFromGitHub {
     owner = "dunglas";
     repo = "mercure";
     rev = "v${version}";
-    hash = "sha256-DyKNKhxjnOfxYcp3w1nB6kxs9c4ZaHL0AN0Eb5vc6mA=";
+    hash = "sha256-sGMjb7Ilm+RqR6bRGLAYB/nciE5oHeitDllr4H11uHU=";
   };
 
   sourceRoot = "source/caddy";
 
-  vendorHash = "sha256-2SZv6iwEZjq/50WwwupfHjbg0vNpff/Cn21nPqeHJMw=";
+  vendorHash = "sha256-v0YKlkflo7eKXh38uqsnxZlLr3+fFl8EMeUsf8UMU48=";
 
   subPackages = [ "mercure" ];
   excludedPackages = [ "../cmd/mercure" ];
diff --git a/pkgs/by-name/no/nomnatong/package.nix b/pkgs/by-name/no/nomnatong/package.nix
new file mode 100644
index 0000000000000..e4913f463e6b2
--- /dev/null
+++ b/pkgs/by-name/no/nomnatong/package.nix
@@ -0,0 +1,51 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, python3Packages
+}:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "nomnatong";
+  version = "5.07";
+
+  src = fetchFromGitHub {
+    owner = "nomfoundation";
+    repo = "font";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-31sqjOIrJByfTx4Ez6KvQDApCeVYMQnGeiM9INMR3zI=";
+  };
+
+  nativeBuildInputs = [
+    python3Packages.afdko
+    python3Packages.fonttools
+  ];
+
+  sourceRoot = "${finalAttrs.src.name}/src";
+
+  buildPhase = ''
+    runHook preBuild
+
+    makeotf -r -f font.pfa -omitMacNames -ff features.txt -mf FontMenuNameDB -ga -ci UnicodeVariationSequences.txt
+    otf2ttf NomNaTong-Regular.otf
+    sfntedit -d DSIG NomNaTong-Regular.otf
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm444 NomNaTong-Regular.otf -t $out/share/fonts/opentype/
+    install -Dm444 NomNaTong-Regular.ttf -t $out/share/fonts/truetype/
+
+    runHook postInstall
+  '';
+
+  meta = {
+    homepage = "http://nomfoundation.org/nom-tools/Nom-Font";
+    description = "The Hán-Nôm Coded Character Set and Nom Na Tong Regular Reference Font";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ eclairevoyant ];
+    platforms = lib.platforms.all;
+  };
+})
diff --git a/pkgs/by-name/sa/satty/package.nix b/pkgs/by-name/sa/satty/package.nix
index 40592a3d7dc37..e358397a48b30 100644
--- a/pkgs/by-name/sa/satty/package.nix
+++ b/pkgs/by-name/sa/satty/package.nix
@@ -9,31 +9,22 @@
 , gtk4
 , libadwaita
 , pango
-, fetchpatch
 , copyDesktopItems
 }:
 
 rustPlatform.buildRustPackage rec {
 
   pname = "satty";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "gabm";
     repo = "Satty";
     rev = "v${version}";
-    hash = "sha256-x2ljheG7ZqaeiPersC/e8Er2jvk5TJs65Y3N1GjTiNU=";
+    hash = "sha256-w2kosnPDWUZqp6iyj6ypAGRlmYSby+9B6epsAkFK6eY=";
   };
 
-  cargoPatches = [
-    (fetchpatch {
-      name = "fix-Cargo.lock";
-      url = "https://github.com/gabm/Satty/commit/39be6ddce264552df971e949a6a3175b102530b2.patch";
-      hash = "sha256-GUHupZE1A7AmXvZ8WvRzBkQyH7qlMTetBjHuakfIZ7w=";
-    })
-  ];
-
-  cargoHash = "sha256-0GsbWd/gpKZm7nNXkuJhB02YKUj3XCrSfpRA9KBXydU=";
+  cargoHash = "sha256-XeuzoHXSiKtA9ofCBOMHnKKzcmur+/TS96DnzIfpqUA=";
 
   nativeBuildInputs = [
     copyDesktopItems
diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix
index 5e91612f3613e..8ad589954ceb5 100644
--- a/pkgs/by-name/ui/uiua/package.nix
+++ b/pkgs/by-name/ui/uiua/package.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "uiua";
-  version = "0.5.1";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "uiua-lang";
     repo = "uiua";
     rev = version;
-    hash = "sha256-xDHr3U+Lc/C2L7jER2VqJvvw9mxCkDzO+K8tzC4Fw2A=";
+    hash = "sha256-/yeLsuwEKw6+jBKd7CAnR9RuVaKwXjVpcvO3v0FaAck=";
   };
 
-  cargoHash = "sha256-9xjTXQJVGIvdx+SfJGPVa5Ax9wvS4Fms7blxAVrt6IY=";
+  cargoHash = "sha256-4tR1n96s91EFZLO4RIBpNKLjOSbGrBIApJrS60RBuQQ=";
 
   nativeBuildInputs = lib.optionals stdenv.isDarwin [
     rustPlatform.bindgenHook
diff --git a/pkgs/development/misc/datafusion/default.nix b/pkgs/development/misc/datafusion/default.nix
index 49f33e016ed5b..bcd937a914ead 100644
--- a/pkgs/development/misc/datafusion/default.nix
+++ b/pkgs/development/misc/datafusion/default.nix
@@ -7,19 +7,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "datafusion-cli";
-  version = "32.0.0";
+  version = "33.0.0";
 
   src = fetchFromGitHub {
     name = "datafusion-cli-source";
     owner = "apache";
     repo = "arrow-datafusion";
     rev = version;
-    sha256 = "sha256-QJOv2neEOxLvWoGuS3QyBqGOBi1KJQ8feK6LOrHBL8g=";
+    sha256 = "sha256-ywyzvk50Fr9TSaCrqd14lSi1PJ9ggA1YQ/X0aFGFk1M=";
   };
 
   sourceRoot = "${src.name}/datafusion-cli";
 
-  cargoHash = "sha256-NYdxDFUBOBC3nTZB8STdZfOz3Dw0htFCqE0qBRMzQvw=";
+  cargoHash = "sha256-0a/O9nNi3JLufQxG+5EgCXtV0y03X7R6UY+f/tVGB90=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/development/python-modules/guppy3/default.nix b/pkgs/development/python-modules/guppy3/default.nix
index 80b4a19019a32..5c102f10a5517 100644
--- a/pkgs/development/python-modules/guppy3/default.nix
+++ b/pkgs/development/python-modules/guppy3/default.nix
@@ -7,15 +7,15 @@
 
 buildPythonPackage rec {
   pname = "guppy3";
-  version = "3.1.4";
+  version = "3.1.4.post1";
   format = "setuptools";
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "zhuyifei1999";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-RMWIP4tVSCCEQpr0kZvsN1HwL6rBcLuubfBl175eSNg=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-HHy57P6WEHZKygAbdjEh6XAApFlQueiYGr02eSQMWfc=";
   };
 
   propagatedBuildInputs = [ tkinter ];
diff --git a/pkgs/development/python-modules/m2crypto/default.nix b/pkgs/development/python-modules/m2crypto/default.nix
index f8ec95604542e..7353831bad392 100644
--- a/pkgs/development/python-modules/m2crypto/default.nix
+++ b/pkgs/development/python-modules/m2crypto/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , openssl
@@ -10,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "m2crypto";
-  version = "0.39.0";
+  version = "0.40.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "M2Crypto";
     inherit version;
-    hash = "sha256-JMD0cTWLixmtTIqp2hLoaAMLZcH9syedAG32DJUBM4o=";
+    hash = "sha256-u/0RPsVXCMBYFiUqTwnkI33087v8gXHLvDMFfSV7uzA=";
   };
 
   nativeBuildInputs = [
@@ -31,6 +32,11 @@ buildPythonPackage rec {
     parameterized
   ];
 
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin (toString [
+    "-Wno-error=implicit-function-declaration"
+    "-Wno-error=incompatible-pointer-types"
+  ]);
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/pkgs/development/tools/cue/default.nix b/pkgs/development/tools/cue/default.nix
index 0ff3e90dc0db5..1afee9cd7551c 100644
--- a/pkgs/development/tools/cue/default.nix
+++ b/pkgs/development/tools/cue/default.nix
@@ -1,6 +1,5 @@
 { buildGoModule
 , fetchFromGitHub
-, fetchpatch
 , lib
 , installShellFiles
 , testers
@@ -9,31 +8,18 @@
 
 buildGoModule rec {
   pname = "cue";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "cue-lang";
     repo = "cue";
     rev = "v${version}";
-    hash = "sha256-1svWb83xbVZIlI9pviCYfQ6Kkp0QRjZwrauL7PPJLts=";
+    hash = "sha256-L2KEOnUmQ6K+VtyJEha0LBWPVt+FqNh94gi3cMg82x0=";
   };
 
-  vendorHash = "sha256-ku4tPTXdnKau0kqnAAEHDdSF4oAC/6SDkTq8cECOiEk=";
+  vendorHash = "sha256-Eq51sydt2eu3pSCRjepvxpU01T0vr0axx9XEk34db28=";
 
-  patches = [
-    # Fix tests with go1.21. See https://github.com/cue-lang/cue/issues/2548.
-    (fetchpatch {
-      url = "https://github.com/cue-lang/cue/commit/3bf3dbd655284d3628399a83a703f4849b5f9374.patch";
-      hash = "sha256-9Zi2mrqB1JTFvadiqWTgzzi1pffZ3gOmTtrDDQWye1Q=";
-    })
-  ];
-
-  postPatch = ''
-    # Disable script tests
-    rm -f cmd/cue/cmd/script_test.go
-  '';
-
-  excludedPackages = [ "internal/ci/updatetxtar" "internal/cmd/embedpkg" "internal/cmd/qgo" "pkg/gen" ];
+  subPackages = [ "cmd/cue" ];
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/games/heroic/default.nix b/pkgs/games/heroic/default.nix
index 9aacc0856c4f6..239d78f973c86 100644
--- a/pkgs/games/heroic/default.nix
+++ b/pkgs/games/heroic/default.nix
@@ -17,18 +17,18 @@
 let appName = "heroic";
 in stdenv.mkDerivation rec {
   pname = "heroic-unwrapped";
-  version = "2.10.0";
+  version = "2.11.0";
 
   src = fetchFromGitHub {
     owner = "Heroic-Games-Launcher";
     repo = "HeroicGamesLauncher";
     rev = "v${version}";
-    hash = "sha256-umPQIxwIahjbO4QbkKEoeSSeYT2UatsTGRPrLgw5KW8=";
+    hash = "sha256-N+9wNlDARE1zdXW/vka6whFNu5CF240zCJ00EDT1cM0=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = "${src}/yarn.lock";
-    hash = "sha256-o5ztk4okH21Op1jqHZfranR12M8B1Y/K95aWb10tf5o=";
+    hash = "sha256-P7Mm9TMNjr2glLQppjJZRMeN9sYKyZWzRaerZIcY3Y8=";
   };
 
   nativeBuildInputs = [
@@ -45,9 +45,6 @@ in stdenv.mkDerivation rec {
     ./remove-drm-support.patch
     # Make Heroic create Steam shortcuts (to non-steam games) with the correct path to heroic.
     ./fix-non-steam-shortcuts.patch
-    # Fix reg add infinite loop
-    # Submitted upstream: https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/pull/3210
-    ./fix-infinite-loop.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/games/heroic/fix-infinite-loop.patch b/pkgs/games/heroic/fix-infinite-loop.patch
deleted file mode 100644
index 99aae02c3a1a4..0000000000000
--- a/pkgs/games/heroic/fix-infinite-loop.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From b698779053b7ba31bd8e69b230e86515e3019bf6 Mon Sep 17 00:00:00 2001
-From: K900 <me@0upti.me>
-Date: Sun, 5 Nov 2023 22:04:32 +0300
-Subject: [PATCH] Force add the registry entry
-
-Otherwise, newer Wine versions will prompt to overwrite it and loop there forever.
----
- src/backend/storeManagers/legendary/setup.ts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/backend/storeManagers/legendary/setup.ts b/src/backend/storeManagers/legendary/setup.ts
-index 1837106621..b5c2432435 100644
---- a/src/backend/storeManagers/legendary/setup.ts
-+++ b/src/backend/storeManagers/legendary/setup.ts
-@@ -20,7 +20,7 @@ export const legendarySetup = async (appName: string) => {
- 
-   // Fixes games like Fallout New Vegas and Dishonored: Death of the Outsider
-   await runWineCommandOnGame(appName, {
--    commandParts: ['reg', 'add', 'HKEY_CLASSES_ROOT\\com.epicgames.launcher'],
-+    commandParts: ['reg', 'add', 'HKEY_CLASSES_ROOT\\com.epicgames.launcher', '/f'],
-     wait: true,
-     protonVerb: 'waitforexitandrun'
-   })
diff --git a/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix b/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix
index 6a429a77c57bf..6cc93b8dd3c67 100644
--- a/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix
+++ b/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix
@@ -3,13 +3,13 @@
 }:
 stdenvNoCC.mkDerivation rec {
   pname = "raspberrypi-eeprom";
-  version = "2023.01.11-138c0";
+  version = "2023.10.30-2712";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "rpi-eeprom";
-    rev = "v${version}";
-    hash = "sha256-z3VyqdSkvxAgVmtMI/Is9qYrOeDXlyVLwHSSC2+AxcA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-TKvby0qIXidM5Qk7q+ovLk0DpHsCbdQe7xndrgKrSXk=";
   };
 
   buildInputs = [ python3 ];
@@ -24,18 +24,21 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/share/rpi-eeprom
+    mkdir -p "$out/bin"
+    cp rpi-eeprom-config rpi-eeprom-update rpi-eeprom-digest "$out/bin"
 
-    cp rpi-eeprom-config rpi-eeprom-update rpi-eeprom-digest $out/bin
-    cp -r firmware/{beta,critical,old,stable} $out/share/rpi-eeprom
-    cp -P firmware/default firmware/latest $out/share/rpi-eeprom
+    mkdir -p "$out/lib/firmware/raspberrypi"
+    for dirname in firmware-*; do
+        dirname_suffix="''${dirname/#firmware-}"
+        cp -rP "$dirname" "$out/lib/firmware/raspberrypi/bootloader-$dirname_suffix"
+    done
   '';
 
   fixupPhase = ''
     patchShebangs $out/bin
     for i in rpi-eeprom-update rpi-eeprom-config; do
       wrapProgram $out/bin/$i \
-        --set FIRMWARE_ROOT $out/share/rpi-eeprom \
+        --set FIRMWARE_ROOT "$out/lib/firmware/raspberrypi/bootloader" \
         ${lib.optionalString stdenvNoCC.isAarch64 "--set VCMAILBOX ${libraspberrypi}/bin/vcmailbox"} \
         --prefix PATH : "${lib.makeBinPath ([
           binutils-unwrapped
@@ -51,9 +54,9 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "Installation scripts and binaries for the closed sourced Raspberry Pi 4 EEPROMs";
-    homepage = "https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md";
+    description = "Installation scripts and binaries for the closed sourced Raspberry Pi 4 and 5 bootloader EEPROMs";
+    homepage = "https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-boot-eeprom";
     license = with licenses; [ bsd3 unfreeRedistributableFirmware ];
-    maintainers = with maintainers; [ das_j ];
+    maintainers = with maintainers; [ das_j Luflosi ];
   };
 }
diff --git a/pkgs/servers/aeron/default.nix b/pkgs/servers/aeron/default.nix
index 5ce49660f4af3..202f2748c4e80 100644
--- a/pkgs/servers/aeron/default.nix
+++ b/pkgs/servers/aeron/default.nix
@@ -1,138 +1,151 @@
 {
   lib,
   stdenv,
-  fetchFromGitHub,
+  fetchMavenArtifact,
   jdk11,
-  gradle,
-  makeWrapper,
-  perl,
-  writeText
+  makeWrapper
 }:
 
 let
   pname = "aeron";
-  version = "1.40.0";
+  version = "1.42.1";
+  groupId = "io.aeron";
+
+  aeronAll_1_40_0 = fetchMavenArtifact {
+    inherit groupId;
+    version = "1.40.0";
+    artifactId = "aeron-all";
+    hash = "sha512-NyhYaQqOWcSBwzwpje6DMAp36CEgGSNXBSdaRrDyP+Fn2Z0nvh5o2czog6GKKtbjH9inYfyyF/21gehfgLF6qA==";
+  };
 
-  src = fetchFromGitHub {
-    owner = "real-logic";
-    repo = pname;
-    rev = version;
-    sha256 = "sha256-4C5YofA/wxwa7bfc6IqsDrw8CLQWKoVBCIe8Ec7ifAg=";
+  aeronAgent_1_40_0 = fetchMavenArtifact {
+    inherit groupId;
+    version = "1.40.0";
+    artifactId = "aeron-agent";
+    hash = "sha512-3XZ6XxPwlNchMe4p4MuDNTWntGokFPnetN7AUMlhXzIgeXBExXvn+BdxI2crfq/xgVGrF/hjHD2shwu2NBa0Tg==";
   };
 
-  deps = stdenv.mkDerivation {
-    name = "${pname}-deps";
-    inherit src;
+  aeronArchive_1_40_0 = fetchMavenArtifact {
+    inherit groupId;
+    version = "1.40.0";
+    artifactId = "aeron-archive";
+    hash = "sha512-tmH+/020d1iNkGb8nvenDG9YU+H4PLuO2hSm2dULUIjSXX5AHLDkkrQ3uVQADV9koRNMtC4UXloqtqncay18kQ==";
+  };
 
-    nativeBuildInputs = [
-      gradle
-      jdk11
-      perl
-    ];
+  aeronClient_1_40_0 = fetchMavenArtifact {
+    inherit groupId;
+    version = "1.40.0";
+    artifactId = "aeron-client";
+    hash = "sha512-y3/8Lu2EgMICRNPEWe0hrKpVhF35pDjCO6ip/Af9nPZ70ZRqGmlfEG7OzWVok11DuI8pYJ64jv6bEtUfSHTYXQ==";
+  };
 
-    buildPhase = ''
-      export GRADLE_USER_HOME=$(mktemp -d);
-      gradle \
-          --console plain \
-          --no-daemon \
-          --system-prop org.gradle.java.home="${jdk11.home}" \
-          --exclude-task javadoc \
-        build
-    '';
-
-    # Mavenize dependency paths
-    # e.g. org.codehaus.groovy/groovy/2.4.0/{hash}/groovy-2.4.0.jar -> org/codehaus/groovy/groovy/2.4.0/groovy-2.4.0.jar
-    installPhase = ''
-      find "$GRADLE_USER_HOME/caches/modules-2" -type f -regex '.*\.\(jar\|pom\)' \
-        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
-        | sh
-      ln -s "$out/com/squareup/okio/okio/2.10.0/okio-jvm-2.10.0.jar" "$out/com/squareup/okio/okio/2.10.0/okio-2.10.0.jar"
-    '';
-
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
-    outputHash = "sha256-1hvQyEiCMfIw6wv9GOEehX0wrtBnAilVuTGUWAGoH6k=";
-  };
-
-  # Point to our local deps repo
-  gradleInit = writeText "init.gradle" ''
-    settingsEvaluated { settings ->
-      settings.pluginManagement {
-        repositories {
-          clear()
-          maven { url '${deps}' }
-        }
-      }
-    }
-    gradle.projectsLoaded {
-      rootProject.allprojects {
-        repositories {
-          clear()
-          maven { url '${deps}' }
-        }
-      }
-    }
-  '';
+  aeronCluster_1_40_0 =fetchMavenArtifact {
+    inherit groupId;
+    version = "1.40.0";
+    artifactId = "aeron-cluster";
+    hash = "sha512-28m14Etjse3MVKBLvaQONujMfvdRQZG0ArezzVcjPEqVqTGd33mrqjPngALV8CG2nJTtcrJmsieRGLEosaXqTw==";
+  };
 
-  # replace buildSrc
-  buildSrc = writeText "build.gradle" ''
-    repositories {
-      clear()
-      maven { url '${deps}' }
-    }
+  aeronDriver_1_40_0 = fetchMavenArtifact {
+    inherit groupId;
+    version = "1.40.0";
+    artifactId = "aeron-driver";
+    hash = "sha512-SRWHMHR6J1YEtCbSHqSLYm3vo8XgkVXGK3cFQbONT60TZvawP5UlZs7e3eFNpu3qQSA4prqEjjWO9Xc9M/sjKw==";
+  };
 
-    dependencies {
-      implementation 'org.asciidoctor:asciidoctorj:2.5.5'
-      implementation 'org.eclipse.jgit:org.eclipse.jgit:5.13.1.202206130422-r'
-    }
-  '';
+  aeronSamples_1_40_0 = fetchMavenArtifact {
+    inherit groupId;
+    version = "1.40.0";
+    artifactId = "aeron-samples";
+    hash = "sha512-vyAq4mfLDDyaVk7wcIpPvPcxSt92Ek8mxfuuZwaX+0Wu9oJCpwbnjvS9+bvzcE4qSGxzY6eJIIX6nMdw0LkACg==";
+  };
+
+  aeronAll_1_42_1 = fetchMavenArtifact {
+    inherit groupId;
+    artifactId = "aeron-all";
+    inherit version;
+    hash = "sha512-pjX+JopK6onDwElMIroj+ZXrKwdPj5H2uPg08XgNlrK1rAkHo9MUT8weBGbuFVFDLeqOZrHj0bt1wJ9XgYY5aA==";
+  };
+
+  aeronAgent_1_42_1 = fetchMavenArtifact {
+    inherit groupId;
+    version = "1.42.1";
+    artifactId = "aeron-agent";
+    hash = "sha512-3XZ6XvPwlNdiMe4p4MuDNTWntGokFPnetN7AUMlhXzIgeXBExXvn+BdxI2crfq/xgVGrF/hjHD2shwu2NBa0Tg==";
+  };
 
-in stdenv.mkDerivation rec {
+  aeronArchive_1_42_1 = fetchMavenArtifact {
+    inherit groupId;
+    version = "1.42.1";
+    artifactId = "aeron-archive";
+    hash = "sha512-1DmeI9flgfzanbP4jSNUSAQAv2SGBvnlb3G4LbO1m+BN/gPn/nahvVHzotvGJjJA5b65DE1Sc5tqPnItRTK0zQ==";
+  };
+
+  aeronClient_1_42_1 = fetchMavenArtifact {
+    inherit groupId;
+    version = "1.42.1";
+    artifactId = "aeron-client";
+    hash = "sha512-td2k2WNpaD3+2PNvlCCJ8cZRr615sFjngiQDKzuY2e9/de1OUwvER3zzVAFOonEIV+s5EhwVeQvWq3Wj5Uhadg==";
+  };
+
+  aeronCluster_1_42_1 =fetchMavenArtifact {
+    inherit groupId;
+    version = "1.42.1";
+    artifactId = "aeron-cluster";
+    hash = "sha512-RiqGeY3pRqN6wWpeJqbeB1SCxrZWnQghrJlCGhew2M/GZAaWHkhhJs5haJqRvR5oOAbaI4RfIWvi5U7TiUo88g==";
+  };
+
+  aeronDriver_1_42_1 = fetchMavenArtifact {
+    inherit groupId;
+    version = "1.42.1";
+    artifactId = "aeron-driver";
+    hash = "sha512-fKEN5oQCxD1h3qPODKkqFwYbKW6L03RFHNylpsYaNlztNODlCJd0CS5dBR6K8rbOdb2dVIXK/dW/IPBvOi5q/g==";
+  };
+  aeronSamples_1_42_1 = fetchMavenArtifact {
+    inherit groupId;
+    version = "1.42.1";
+    artifactId = "aeron-samples";
+    hash = "sha512-4JnHn22vJf2lmOg6ev5PD+/YiaL3KgfuyWAK92djX3KBVXO7ERMY2kH79dveVCJG1rbekvE1j1pnjaAIxwJcqg==";
+  };
+
+  aeronAll = aeronAll_1_42_1;
+  aeronArchive = aeronArchive_1_42_1;
+  aeronClient = aeronClient_1_42_1;
+  aeronCluster = aeronCluster_1_42_1;
+  aeronDriver= aeronDriver_1_42_1;
+  aeronSamples = aeronSamples_1_42_1;
 
-  inherit pname src version;
+in stdenv.mkDerivation {
+
+  inherit pname version;
 
   buildInputs = [
-    jdk11
+    aeronAll
+    aeronArchive
+    aeronClient
+    aeronCluster
+    aeronDriver
+    aeronSamples
   ];
 
   nativeBuildInputs = [
-    gradle
     makeWrapper
   ];
 
-  buildPhase = ''
-    runHook preBuild
-
-    export GRADLE_USER_HOME=$(mktemp -d)
-    cp ${buildSrc} ./buildSrc/build.gradle
-
-    gradle \
-        --console plain \
-        --exclude-task checkstyleMain \
-        --exclude-task checkstyleGenerated \
-        --exclude-task checkstyleGeneratedTest \
-        --exclude-task checkstyleMain \
-        --exclude-task checkstyleTest \
-        --exclude-task javadoc \
-        --exclude-task test \
-        --init-script "${gradleInit}" \
-        --no-daemon \
-        --offline \
-        --project-prop VERSION=${version} \
-        --system-prop org.gradle.java.home="${jdk11.home}" \
-      assemble
-
-    runHook postBuild
-  '';
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
 
   installPhase = ''
     runHook preInstall
 
-    install -D --mode=0444 --target-directory="$out/share/java" \
-      "./aeron-all/build/libs/aeron-all-${version}.jar" \
-      "./aeron-agent/build/libs/aeron-agent-${version}.jar" \
-      "./aeron-archive/build/libs/aeron-archive-${version}.jar" \
-      "./aeron-client/build/libs/aeron-client-${version}.jar"
+    mkdir --parents "$out/share/java"
+    ln --symbolic "${aeronAll.jar}" "$out/share/java/${pname}-all.jar"
+    ln --symbolic "${aeronArchive.jar}" "$out/share/java/${pname}-archive.jar"
+    ln --symbolic "${aeronClient.jar}" "$out/share/java/${pname}-client.jar"
+    ln --symbolic "${aeronCluster.jar}" "$out/share/java/${pname}-cluster.jar"
+    ln --symbolic "${aeronDriver.jar}" "$out/share/java/${pname}-driver.jar"
+    ln --symbolic "${aeronSamples.jar}" "$out/share/java/${pname}-samples.jar"
 
     runHook postInstall
   '';
@@ -141,7 +154,7 @@ in stdenv.mkDerivation rec {
     function wrap {
       makeWrapper "${jdk11}/bin/java" "$out/bin/$1" \
         --add-flags "--add-opens java.base/sun.nio.ch=ALL-UNNAMED" \
-        --add-flags "--class-path $out/share/java/aeron-all-${version}.jar" \
+        --add-flags "--class-path ${aeronAll.jar}" \
         --add-flags "$2"
     }
 
@@ -150,30 +163,22 @@ in stdenv.mkDerivation rec {
     wrap "${pname}-archiving-media-driver" io.aeron.archive.ArchivingMediaDriver
     wrap "${pname}-archive-tool" io.aeron.archive.ArchiveTool
     wrap "${pname}-logging-agent" io.aeron.agent.DynamicLoggingAgent
+    wrap "${pname}-clustered-media-driver" io.aeron.cluster.ClusteredMediaDriver
     wrap "${pname}-cluster-tool" io.aeron.cluster.ClusterTool
   '';
 
-  doCheck = true;
-
-  checkPhase = ''
-    runHook preCheck
-
-    gradle \
-        --console plain \
-        --init-script "${gradleInit}" \
-        --no-daemon \
-        --offline \
-        --project-prop VERSION=${version} \
-        --system-prop org.gradle.java.home="${jdk11.home}" \
-      test
-
-    runHook postCheck
-  '';
+  passthru = {
+    jar = aeronAll.jar;
+  };
 
   meta = with lib; {
     description = "Low-latency messaging library";
     homepage = "https://aeron.io/";
     license = licenses.asl20;
+    mainProgram = "${pname}-media-driver";
     maintainers = [ maintainers.vaci ];
+    sourceProvenance = [
+      sourceTypes.binaryBytecode
+    ];
   };
 }
diff --git a/pkgs/servers/jigasi/default.nix b/pkgs/servers/jigasi/default.nix
new file mode 100644
index 0000000000000..d9f8ed60c09be
--- /dev/null
+++ b/pkgs/servers/jigasi/default.nix
@@ -0,0 +1,46 @@
+{ lib, stdenv, fetchurl, dpkg, jdk11, nixosTests }:
+
+let
+  pname = "jigasi";
+  version = "1.1-311-g3de47d0";
+  src = fetchurl {
+    url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
+    hash = "sha256-pwUgkId7AHFjbqYo02fBgm0gsiMqEz+wvwkdy6sgTD0=";
+  };
+in
+stdenv.mkDerivation {
+  inherit pname version src;
+
+  nativeBuildInputs = [ dpkg ];
+
+  dontBuild = true;
+
+  unpackCmd = "dpkg-deb -x $src debcontents";
+
+  installPhase = ''
+    runHook preInstall
+    substituteInPlace usr/share/${pname}/${pname}.sh \
+      --replace "exec java" "exec ${jdk11}/bin/java"
+
+    mkdir -p $out/{share,bin}
+    mv usr/share/${pname} $out/share/
+    mv etc $out/
+    ln -s $out/share/${pname}/${pname}.sh $out/bin/${pname}
+    runHook postInstall
+  '';
+
+  passthru.tests = {
+    single-node-smoke-test = nixosTests.jitsi-meet;
+  };
+
+  meta = with lib; {
+    description = "A server-side application that allows regular SIP clients to join Jitsi Meet conferences";
+    longDescription = ''
+      Jitsi Gateway to SIP: a server-side application that allows regular SIP clients to join Jitsi Meet conferences hosted by Jitsi Videobridge.
+    '';
+    homepage = "https://github.com/jitsi/jigasi";
+    license = licenses.asl20;
+    maintainers = teams.jitsi.members;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/shells/carapace/default.nix b/pkgs/shells/carapace/default.nix
index 819e59d62dfc9..c90096ca5a3c1 100644
--- a/pkgs/shells/carapace/default.nix
+++ b/pkgs/shells/carapace/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "carapace";
-  version = "0.28.4";
+  version = "0.28.5";
 
   src = fetchFromGitHub {
     owner = "rsteube";
     repo = "${pname}-bin";
     rev = "v${version}";
-    hash = "sha256-Yl/eRp+KRh9whSYjB3IK6vwtknWAicpYQ8/Rjjeef4s=";
+    hash = "sha256-mprwDx1SvvT96MR1YgLwIJaEHCknCkbJ9zq0HfNJy/Y=";
   };
 
-  vendorHash = "sha256-pcvxIPyJwptYx5964NzR9LUJTld2JVA0zaSjGH5sz4E=";
+  vendorHash = "sha256-rR0mLO8jjhTPySQ/BTegNe9kd2DudULOuYBBB/P9K1s=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/misc/kak-lsp/0001-Use-full-Perl-path.patch b/pkgs/tools/misc/kak-lsp/0001-Use-full-Perl-path.patch
new file mode 100644
index 0000000000000..38f0d38cb2156
--- /dev/null
+++ b/pkgs/tools/misc/kak-lsp/0001-Use-full-Perl-path.patch
@@ -0,0 +1,37 @@
+From b93660cfa8a80a5e5bf72e1f06fb7bf95272c7e4 Mon Sep 17 00:00:00 2001
+From: PoweredByPie <poweredbypie@users.noreply.github.com>
+Date: Fri, 8 Dec 2023 04:39:01 -0800
+Subject: [PATCH] Use full Perl path
+
+---
+ rc/lsp.kak | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/rc/lsp.kak b/rc/lsp.kak
+index d695a2e..7c6a436 100644
+--- a/rc/lsp.kak
++++ b/rc/lsp.kak
+@@ -2339,11 +2339,6 @@ define-command -hidden lsp-snippets-insert-completion -params 1 %{ evaluate-comm
+ }}
+ 
+ define-command lsp-snippets-insert -hidden -params 1 %[
+-    evaluate-commands %sh{
+-        if ! command -v perl > /dev/null 2>&1; then
+-            printf "fail '''perl'' must be installed to use the ''snippets-insert'' command'"
+-        fi
+-    }
+     evaluate-commands -draft -save-regs '^"' %[
+         set-register '"' %arg{1}
+         execute-keys <a-P>
+@@ -2397,7 +2392,7 @@ define-command lsp-snippets-insert -hidden -params 1 %[
+ 
+ define-command -hidden lsp-snippets-insert-perl-impl %[
+     evaluate-commands %sh[ # $kak_quoted_selections
+-        perl -e '
++        @perlPath@/bin/perl -e '
+ use strict;
+ use warnings;
+ use Text::ParseWords();
+-- 
+2.42.0
+
diff --git a/pkgs/tools/misc/kak-lsp/default.nix b/pkgs/tools/misc/kak-lsp/default.nix
index 1f494dea84387..9a19d40bed235 100644
--- a/pkgs/tools/misc/kak-lsp/default.nix
+++ b/pkgs/tools/misc/kak-lsp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, rustPlatform, CoreServices, Security, SystemConfiguration }:
+{ stdenv, lib, fetchFromGitHub, rustPlatform, perl, CoreServices, Security, SystemConfiguration }:
 
 rustPlatform.buildRustPackage rec {
   pname = "kak-lsp";
@@ -13,13 +13,20 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-+3cpAL+8X8L833kmZapUoGSwHOj+hnDN6oDNJZ6y24Q=";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ];
+  buildInputs = [ perl ] ++ lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ];
+
+  patches = [ ./0001-Use-full-Perl-path.patch ];
+
+  postPatch = ''
+    substituteInPlace rc/lsp.kak \
+      --subst-var-by perlPath ${lib.getBin perl}
+  '';
 
   meta = with lib; {
     description = "Kakoune Language Server Protocol Client";
     homepage = "https://github.com/kak-lsp/kak-lsp";
     license = with licenses; [ unlicense /* or */ mit ];
-    maintainers = [ maintainers.spacekookie ];
+    maintainers = with maintainers; [ spacekookie poweredbypie ];
     mainProgram = "kak-lsp";
   };
 }
diff --git a/pkgs/tools/misc/usbview/default.nix b/pkgs/tools/misc/usbview/default.nix
index 71a4ddeefd8d8..17402fe76120c 100644
--- a/pkgs/tools/misc/usbview/default.nix
+++ b/pkgs/tools/misc/usbview/default.nix
@@ -3,23 +3,25 @@
 , fetchFromGitHub
 , autoreconfHook
 , pkg-config
+, imagemagick
 , gtk3
 }:
 
 stdenv.mkDerivation rec {
   pname = "usbview";
-  version = "2.0";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "gregkh";
     repo = "usbview";
     rev = "v${version}";
-    sha256 = "1cw5jjpidjn34rxdjslpdlj99k4dqaq1kz6mplv5hgjdddijvn5p";
+    hash = "sha256-h+sB83BYsrB2VxwtatPWNiM0WdTCMY289nh+/0o8GOw=";
   };
 
   nativeBuildInputs = [
     autoreconfHook
     pkg-config
+    imagemagick
   ];
 
   buildInputs = [
@@ -30,7 +32,7 @@ stdenv.mkDerivation rec {
     description = "USB viewer for Linux";
     license = licenses.gpl2Only;
     homepage = "http://www.kroah.com/linux-usb/";
-    maintainers = with maintainers; [ shamilton ];
+    maintainers = with maintainers; [ shamilton h7x4 ];
     platforms = platforms.linux;
     mainProgram = "usbview";
   };
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix
index ff996562572b3..db955a1a20866 100644
--- a/pkgs/tools/security/grype/default.nix
+++ b/pkgs/tools/security/grype/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.69.1";
+  version = "0.73.4";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-AXw2mtN4FC6EKWN8dObrU04+WSHDWLY19FSWqQlkq/Q=";
+    hash = "sha256-cYhgLMKj8fo49zr+NC7SARiyybCnqXf+DgB+6IkwkAw=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -28,7 +28,7 @@ buildGoModule rec {
 
   proxyVendor = true;
 
-  vendorHash = "sha256-iitWThvWVfeJMLcJLgmFnVguFVF4DejObZPZ3qB5cY0=";
+  vendorHash = "sha256-Zx8gJZVkobKjrGysrqYd6Hv2bGqEgOQ+EGSKDvOM33M=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -73,6 +73,8 @@ buildGoModule rec {
       --replace "TestCmd" "SkipCmd"
     substituteInPlace grype/pkg/provider_test.go \
       --replace "TestSyftLocationExcludes" "SkipSyftLocationExcludes"
+    substituteInPlace test/cli/cmd_test.go \
+      --replace "Test_descriptorNameAndVersionSet" "Skip_descriptorNameAndVersionSet"
     # remove tests that depend on git
     substituteInPlace test/cli/db_validations_test.go \
       --replace "TestDBValidations" "SkipDBValidations"
@@ -83,6 +85,8 @@ buildGoModule rec {
       --replace "TestSBOMInput_AsArgument" "SkipSBOMInput_AsArgument"
     substituteInPlace test/cli/subprocess_test.go \
       --replace "TestSubprocessStdin" "SkipSubprocessStdin"
+    substituteInPlace grype/internal/packagemetadata/names_test.go \
+      --replace "TestAllNames" "SkipAllNames"
 
     # segfault
     rm grype/db/v5/namespace/cpe/namespace_test.go
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 245238b9a6ef9..9751a698e0992 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10046,6 +10046,8 @@ with pkgs;
     lua = lua5_2_compat;
   };
 
+  lttoolbox = callPackage ../applications/misc/lttoolbox { };
+
   ltwheelconf = callPackage ../applications/misc/ltwheelconf { };
 
   lunatask = callPackage ../applications/misc/lunatask { };
@@ -26610,6 +26612,8 @@ with pkgs;
 
   jitsi-excalidraw = callPackage ../servers/jitsi-excalidraw { };
 
+  jigasi = callPackage ../servers/jigasi { };
+
   jitsi-meet = callPackage ../servers/web-apps/jitsi-meet { };
 
   jitsi-meet-prosody = callPackage ../misc/jitsi-meet-prosody { };