about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/doc/manual/release-notes/rl-2405.section.md2
-rw-r--r--nixos/modules/programs/fish.nix10
-rw-r--r--nixos/modules/services/hardware/kanata.nix22
-rw-r--r--nixos/modules/virtualisation/containers.nix6
-rw-r--r--nixos/tests/fish.nix2
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix4
-rw-r--r--pkgs/applications/misc/process-compose/default.nix6
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/by-name/ca/castxml/package.nix (renamed from pkgs/development/tools/castxml/default.nix)50
-rw-r--r--pkgs/by-name/do/doublecmd/package.nix4
-rw-r--r--pkgs/by-name/go/go-errorlint/package.nix6
-rw-r--r--pkgs/by-name/gr/grype/package.nix6
-rw-r--r--pkgs/by-name/ic/icnsify/package.nix29
-rw-r--r--pkgs/by-name/ig/igvm-tooling/package.nix78
-rw-r--r--pkgs/by-name/lm/lms/package.nix86
-rw-r--r--pkgs/by-name/ni/nixos-anywhere/package.nix1
-rw-r--r--pkgs/by-name/pa/passt/package.nix4
-rw-r--r--pkgs/by-name/sl/slumber/package.nix6
-rw-r--r--pkgs/by-name/sn/snapcraft/package.nix4
-rw-r--r--pkgs/by-name/st/stackit-cli/package.nix6
-rw-r--r--pkgs/by-name/sy/symfony-cli/package.nix6
-rw-r--r--pkgs/by-name/te/termsonic/package.nix33
-rw-r--r--pkgs/by-name/ux/uxn/package.nix6
-rw-r--r--pkgs/by-name/wl/wl-clip-persist/package.nix6
-rw-r--r--pkgs/development/compilers/c3c/default.nix33
-rw-r--r--pkgs/development/libraries/catch2/3.nix5
-rw-r--r--pkgs/development/python-modules/astropy-healpix/default.nix5
-rw-r--r--pkgs/development/python-modules/blackjax/default.nix20
-rw-r--r--pkgs/development/python-modules/craft-application/default.nix4
-rw-r--r--pkgs/development/python-modules/duckdb/default.nix3
-rw-r--r--pkgs/development/python-modules/gensim/default.nix11
-rw-r--r--pkgs/development/python-modules/langchain-community/default.nix4
-rw-r--r--pkgs/development/python-modules/langchain-core/default.nix4
-rw-r--r--pkgs/development/python-modules/langsmith/default.nix4
-rw-r--r--pkgs/development/python-modules/okta/default.nix4
-rw-r--r--pkgs/development/python-modules/pathlib-abc/default.nix4
-rw-r--r--pkgs/development/python-modules/pyjson5/default.nix44
-rw-r--r--pkgs/development/python-modules/python-ecobee-api/default.nix32
-rw-r--r--pkgs/development/python-modules/reproject/default.nix9
-rw-r--r--pkgs/development/python-modules/rlcard/default.nix77
-rw-r--r--pkgs/development/python-modules/scrapy/default.nix11
-rw-r--r--pkgs/development/python-modules/weasel/default.nix1
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix6
-rw-r--r--pkgs/development/tools/misc/tie/default.nix2
-rw-r--r--pkgs/games/factorio/versions.json48
-rw-r--r--pkgs/games/gnuchess/default.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/htmldocs.nix18
-rwxr-xr-xpkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh2
-rw-r--r--pkgs/tools/admin/awscli/default.nix1
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/python-aliases.nix1
-rw-r--r--pkgs/top-level/python-packages.nix4
52 files changed, 601 insertions, 150 deletions
diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md
index aa616b01d9792..63384a6f37656 100644
--- a/nixos/doc/manual/release-notes/rl-2405.section.md
+++ b/nixos/doc/manual/release-notes/rl-2405.section.md
@@ -697,3 +697,5 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
   This enables mandoc to find manual pages in Nix profiles. To set the manual search paths via the `mandoc.conf` configuration file like before, use `documentation.man.mandoc.settings.manpath` instead.
 
 - `grafana-loki` package was updated to 3.0.0 which includes [breaking changes](https://github.com/grafana/loki/releases/tag/v3.0.0)
+
+- `programs.fish.package` now allows you to override the package used in the `fish` module
diff --git a/nixos/modules/programs/fish.nix b/nixos/modules/programs/fish.nix
index 2102a07cd0bca..ebc16f6ff0129 100644
--- a/nixos/modules/programs/fish.nix
+++ b/nixos/modules/programs/fish.nix
@@ -55,6 +55,8 @@ in
         type = types.bool;
       };
 
+      package = mkPackageOption pkgs "fish" { };
+
       useBabelfish = mkOption {
         type = types.bool;
         default = false;
@@ -244,8 +246,8 @@ in
           patchedGenerator = pkgs.stdenv.mkDerivation {
             name = "fish_patched-completion-generator";
             srcs = [
-              "${pkgs.fish}/share/fish/tools/create_manpage_completions.py"
-              "${pkgs.fish}/share/fish/tools/deroff.py"
+              "${cfg.package}/share/fish/tools/create_manpage_completions.py"
+              "${cfg.package}/share/fish/tools/deroff.py"
             ];
             unpackCmd = "cp $curSrc $(basename $curSrc)";
             sourceRoot = ".";
@@ -287,12 +289,12 @@ in
         ++ optional cfg.vendor.functions.enable "/share/fish/vendor_functions.d";
       }
 
-      { systemPackages = [ pkgs.fish ]; }
+      { systemPackages = [ cfg.package ]; }
 
       {
         shells = [
           "/run/current-system/sw/bin/fish"
-          "${pkgs.fish}/bin/fish"
+          (lib.getExe cfg.package)
         ];
       }
     ];
diff --git a/nixos/modules/services/hardware/kanata.nix b/nixos/modules/services/hardware/kanata.nix
index c7e0e93baf6e4..46af3e36b9859 100644
--- a/nixos/modules/services/hardware/kanata.nix
+++ b/nixos/modules/services/hardware/kanata.nix
@@ -75,14 +75,20 @@ let
     in
     optionalString ((length devices) > 0) "linux-dev (${devicesString})";
 
-  mkConfig = name: keyboard: pkgs.writeText "${mkName name}-config.kdb" ''
-    (defcfg
-      ${keyboard.extraDefCfg}
-      ${mkDevices keyboard.devices}
-      linux-continue-if-no-devs-found yes)
-
-    ${keyboard.config}
-  '';
+  mkConfig = name: keyboard: pkgs.writeTextFile {
+    name = "${mkName name}-config.kdb";
+    text = ''
+      (defcfg
+        ${keyboard.extraDefCfg}
+        ${mkDevices keyboard.devices}
+        linux-continue-if-no-devs-found yes)
+
+      ${keyboard.config}
+    '';
+    checkPhase = ''
+      ${getExe cfg.package} --cfg "$target" --check --debug
+    '';
+  };
 
   mkService = name: keyboard: nameValuePair (mkName name) {
     wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index f5f8a16282d4e..c3639f660dfe3 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -118,9 +118,9 @@ in
     };
 
     virtualisation.containers.storage.settings.storage = {
-      driver = "overlay";
-      graphroot = "/var/lib/containers/storage";
-      runroot = "/run/containers/storage";
+      driver = lib.mkDefault "overlay";
+      graphroot = lib.mkDefault "/var/lib/containers/storage";
+      runroot = lib.mkDefault "/run/containers/storage";
     };
 
     environment.etc = {
diff --git a/nixos/tests/fish.nix b/nixos/tests/fish.nix
index 3d9b13c6af70a..c9a1bef51478e 100644
--- a/nixos/tests/fish.nix
+++ b/nixos/tests/fish.nix
@@ -10,6 +10,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
         coreutils
         procps # kill collides with coreutils' to test https://github.com/NixOS/nixpkgs/issues/56432
       ];
+      # TODO: remove if/when #267880 is merged and this is a default
+      services.logrotate.enable = false;
     };
 
   testScript =
diff --git a/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix b/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix
index 9b7f63edc74a2..ad8c6a9eac461 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-python.vscode-pylance/default.nix
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "vscode-pylance";
     publisher = "MS-python";
-    version = "2024.4.1";
-    hash = "sha256-huKu6yefGXOay5Az4vksopRt8heoLxvKUrg/J1NlQFo=";
+    version = "2024.5.1";
+    hash = "sha256-w+T4dySTt2RpdBYd1Nnxh8RR9wqEu9pkS4R1Ay7Fn+8=";
   };
 
   buildInputs = [ pyright ];
diff --git a/pkgs/applications/misc/process-compose/default.nix b/pkgs/applications/misc/process-compose/default.nix
index 86258fa9805dc..78a122528707a 100644
--- a/pkgs/applications/misc/process-compose/default.nix
+++ b/pkgs/applications/misc/process-compose/default.nix
@@ -8,13 +8,13 @@ let config-module = "github.com/f1bonacc1/process-compose/src/config";
 in
 buildGoModule rec {
   pname = "process-compose";
-  version = "1.2.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "F1bonacc1";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-juFcVtHhqT6tw9YaKCDTUvX6NqqxEjqVK3Zom673IkQ=";
+    hash = "sha256-OxEo5fkRSdEZLyvK4Pt3EOWLO0ph6RkSD2OOeAWg72M=";
     # 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;
@@ -43,7 +43,7 @@ buildGoModule rec {
     installShellFiles
   ];
 
-  vendorHash = "sha256-9G8GPTJRuPahNcEhAddZsUKc1fexp6IrCZlCGKW0T64=";
+  vendorHash = "sha256-X4pMes9hLMF8bZ6MX5cZdm4HfjnHYshGlA/lXlHr1Ow=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index 0ff43b584bea9..8e4b0c231f74b 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -21,14 +21,14 @@
 let
   pname = "qownnotes";
   appname = "QOwnNotes";
-  version = "24.4.4";
+  version = "24.5.1";
 in
 stdenv.mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
-    hash = "sha256-nTRCW76UogaTOyxQ5HfWUln6Lip/LpoyPG+m+mMCb1I=";
+    hash = "sha256-ktf28AKNr0FcWzJ0A2s3mpU2qgmibpT0rUN9d18mE88=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/castxml/default.nix b/pkgs/by-name/ca/castxml/package.nix
index bceafd504dccc..2b0a255bbdc86 100644
--- a/pkgs/development/tools/castxml/default.nix
+++ b/pkgs/by-name/ca/castxml/package.nix
@@ -1,14 +1,16 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, libffi
-, libxml2
-, zlib
-, withManual ? true
-, withHTML ? true
-, llvmPackages
-, python3
+{
+  cmake,
+  fetchFromGitHub,
+  lib,
+  libffi,
+  libxml2,
+  llvmPackages,
+  python3,
+  stdenv,
+  zlib,
+  # Boolean flags
+  withHTML ? true,
+  withManual ? true,
 }:
 
 let
@@ -17,19 +19,20 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "castxml";
-  version = "0.6.5";
+  version = "0.6.6";
 
   src = fetchFromGitHub {
     owner = "CastXML";
     repo = "CastXML";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-r9Emh2KHjANrg+oWeY8Ags3Gd8k3W68J88bAud+AH6I=";
+    hash = "sha256-icTos9HboZXvojQPX+pRkpBYiZ5SXSMb9XtvRnXNHuo=";
   };
 
   nativeBuildInputs = [
     cmake
-    llvm.dev
-  ] ++ lib.optionals (withManual || withHTML) [
+    (lib.getDev llvm)
+  ]
+  ++ lib.optionals (withManual || withHTML) [
     sphinx
   ];
 
@@ -45,14 +48,17 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   cmakeFlags = [
-    "-DCLANG_RESOURCE_DIR=${libclang.dev}/"
-    "-DSPHINX_HTML=${if withHTML then "ON" else "OFF"}"
-    "-DSPHINX_MAN=${if withManual then "ON" else "OFF"}"
+    (lib.cmakeOptionType "path" "CLANG_RESOURCE_DIR" "${lib.getDev libclang}")
+    (lib.cmakeBool "SPHINX_HTML" withHTML)
+    (lib.cmakeBool "SPHINX_MAN" withManual)
   ];
 
   # 97% tests passed, 97 tests failed out of 2881
   # mostly because it checks command line and nix append -isystem and all
   doCheck = false;
+
+  strictDeps = true;
+
   # -E exclude 4 tests based on names
   # see https://github.com/CastXML/CastXML/issues/90
   checkPhase = ''
@@ -61,12 +67,12 @@ stdenv.mkDerivation (finalAttrs: {
     runHook postCheck
   '';
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/CastXML/CastXML";
     description = "C-family Abstract Syntax Tree XML Output";
+    license = lib.licenses.asl20;
     mainProgram = "castxml";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
 })
diff --git a/pkgs/by-name/do/doublecmd/package.nix b/pkgs/by-name/do/doublecmd/package.nix
index eb4de12dfd2f8..a77be53cd2119 100644
--- a/pkgs/by-name/do/doublecmd/package.nix
+++ b/pkgs/by-name/do/doublecmd/package.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "doublecmd";
-  version = "1.1.13";
+  version = "1.1.14";
 
   src = fetchFromGitHub {
     owner = "doublecmd";
     repo = "doublecmd";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-QJPLDqdXttUSeCm1QpQ7oFgvDmzStz9maW0c5xhOLtg=";
+    hash = "sha256-2ZFLQoz25q3uwjQkogSyuLxSNJQ6Gh553Yj4zl70jno=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/go/go-errorlint/package.nix b/pkgs/by-name/go/go-errorlint/package.nix
index 5c67519c4ea5f..239c10a47af57 100644
--- a/pkgs/by-name/go/go-errorlint/package.nix
+++ b/pkgs/by-name/go/go-errorlint/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "go-errorlint";
-  version = "1.4.5";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "polyfloyd";
     repo = "go-errorlint";
     rev = "v${version}";
-    hash = "sha256-BU+3sLUGBCFA1JYFxTEyIan+iWB7Y7SaMFVomfNObMg=";
+    hash = "sha256-xO9AC1z3JNTRVEpM/FF8x+AMfmspU64kUywvpMb2yxM=";
   };
 
-  vendorHash = "sha256-xn7Ou4l8vbPD44rsN0mdFjTzOvkfv6QN6i5XR1XPxTE=";
+  vendorHash = "sha256-pSajd2wyefHgxMvhDKs+qwre4BMRBv97v/tZOjiT3LE=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/by-name/gr/grype/package.nix b/pkgs/by-name/gr/grype/package.nix
index 60154ce825a94..6aff8bd6a0010 100644
--- a/pkgs/by-name/gr/grype/package.nix
+++ b/pkgs/by-name/gr/grype/package.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.77.2";
+  version = "0.77.3";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = "grype";
     rev = "refs/tags/v${version}";
-    hash = "sha256-opDuyuh7rtdFVfxKHyLUAf4ySqiSg0bAUW0dV+PHXFA=";
+    hash = "sha256-P6p8vuiJ8+KX1V4crHi5J8SwigW6cpF2C30BnUBAgpM=";
     # 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;
@@ -30,7 +30,7 @@ buildGoModule rec {
 
   proxyVendor = true;
 
-  vendorHash = "sha256-lAq1PRElWR0F+OfuSBpR/gnFOptFH33ObR8yd1k7oMk=";
+  vendorHash = "sha256-GS1TfLCQTWAdjHMfVM6vu8mnR2vclH9VpVMdNwNNU6M=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/ic/icnsify/package.nix b/pkgs/by-name/ic/icnsify/package.nix
new file mode 100644
index 0000000000000..a1017f14a4393
--- /dev/null
+++ b/pkgs/by-name/ic/icnsify/package.nix
@@ -0,0 +1,29 @@
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+}:
+let
+  version = "0.1.0";
+in
+rustPlatform.buildRustPackage {
+  pname = "icnsify";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "uncenter";
+    repo = "icnsify";
+    rev = "v${version}";
+    hash = "sha256-v8jwN29S6ZTt2XkPpZM+lJugbP9ClzPhqu52mdwdP00=";
+  };
+
+  cargoHash = "sha256-5wgioCOKvZ0J/t5v/Ic3unAA5h5Bt6MuCUzFJP7Dusw=";
+
+  meta = {
+    description = "Convert PNGs to .icns";
+    homepage = "https://github.com/uncenter/icnsify";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ uncenter ];
+    mainProgram = "icnsify";
+  };
+}
diff --git a/pkgs/by-name/ig/igvm-tooling/package.nix b/pkgs/by-name/ig/igvm-tooling/package.nix
new file mode 100644
index 0000000000000..b5fb283084b89
--- /dev/null
+++ b/pkgs/by-name/ig/igvm-tooling/package.nix
@@ -0,0 +1,78 @@
+{ lib
+, python3
+, fetchFromGitHub
+, fetchpatch
+, which
+, acpica-tools
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "igvm-tooling";
+  version = "1.5.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "microsoft";
+    repo = "igvm-tooling";
+    rev = "igvm-${version}";
+    hash = "sha256-13TtiJv2w9WXSW6oPMfo+rRah+Q1wHV14aBaFGfz9CE=";
+  };
+
+  patches = [
+    # drop unused libclang dependency
+    # remove once https://github.com/microsoft/igvm-tooling/pull/53 is merged
+    (fetchpatch {
+      name = "0001-setup.py-remove-unused-libclang-dependency.patch";
+      url = "https://github.com/microsoft/igvm-tooling/commit/7182e925de9b5e9f5c8c3a3ce6e3942a92506064.patch";
+      sha256 = "sha256-tcVxcuLxknyEdo2YjeHOqSG9xQna8US+YyvlcfX+Htw=";
+      stripLen = 1;
+    })
+    # write updated acpi files to tempdir (instead of nix store path) at runtime
+    # remove once https://github.com/microsoft/igvm-tooling/pull/54 is merged
+    (fetchpatch {
+      name = "0002-acpi-update-dsl-files-in-tempdir.patch";
+      url = "https://github.com/microsoft/igvm-tooling/commit/20f8d123ec6531d8540074b7df2ee12de60e73b8.patch";
+      sha256 = "sha256-hNfkclxaYViy66TPHqLV3mqD7wqBuBN9MnMLaDOeRNM=";
+      stripLen = 1;
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace igvm/acpi.py \
+      --replace-fail 'os.path.join(os.path.dirname(__file__), "acpi", "acpi.zip")' "\"$out/share/igvm-tooling/acpi/acpi.zip\""
+  '';
+
+  sourceRoot = "${src.name}/src";
+
+  nativeBuildInputs = [ acpica-tools ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    setuptools
+    ecdsa
+    cstruct
+    pyelftools
+    pytest
+    cached-property
+    frozendict
+  ] ++ [
+    acpica-tools
+    which
+  ];
+
+  postInstall = ''
+    mkdir -p $out/share/igvm-tooling/acpi/acpi-clh
+    cp -rT igvm/acpi/acpi-clh $out/share/igvm-tooling/acpi/acpi-clh
+    cp igvm/acpi/acpi.zip $out/share/igvm-tooling/acpi/acpi.zip
+    find $out/share/igvm-tooling/acpi -name "*.dsl" -exec iasl -f {} \;
+  '';
+
+  meta = {
+    description = "IGVM Image Generator";
+    homepage = "https://github.com/microsoft/igvm-tooling";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.malt3 ];
+    changelog = "https://github.com/microsoft/igvm-tooling/releases/tag/igvm-${version}";
+    mainProgram = "igvmgen";
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/by-name/lm/lms/package.nix b/pkgs/by-name/lm/lms/package.nix
new file mode 100644
index 0000000000000..778414a5db32e
--- /dev/null
+++ b/pkgs/by-name/lm/lms/package.nix
@@ -0,0 +1,86 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  makeWrapper,
+  cmake,
+  pkg-config,
+  gtest,
+  boost,
+  wt,
+  taglib,
+  libconfig,
+  libarchive,
+  graphicsmagick,
+  ffmpeg,
+  zlib,
+  libSM,
+  libICE,
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lms";
+  version = "3.51.1";
+  src = fetchFromGitHub {
+    owner = "epoupon";
+    repo = "lms";
+    rev = "v${version}";
+    hash = "sha256-5lEbrB218EVVHIzo1efvQYybut2OpfDKpLlRs0brhXg=";
+  };
+
+  strictDeps = true;
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    makeWrapper
+  ];
+  buildInputs = [
+    gtest
+    boost
+    wt
+    taglib
+    libconfig
+    libarchive
+    graphicsmagick
+    ffmpeg
+    zlib
+    libSM
+    libICE
+  ];
+
+  postPatch = ''
+    substituteInPlace src/lms/main.cpp --replace-fail "/etc/lms.conf" "$out/share/lms/lms.conf"
+    substituteInPlace src/tools/recommendation/LmsRecommendation.cpp --replace-fail "/etc/lms.conf" "$out/share/lms/lms.conf"
+    substituteInPlace src/tools/db-generator/LmsDbGenerator.cpp --replace-fail "/etc/lms.conf" "$out/share/lms/lms.conf"
+    substituteInPlace src/tools/cover/LmsCover.cpp --replace-fail "/etc/lms.conf" "$out/share/lms/lms.conf"
+  '';
+
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
+
+  postInstall = ''
+    substituteInPlace $out/share/lms/lms.conf --replace-fail "/usr/bin/ffmpeg" "${ffmpeg}/bin/ffmpeg"
+    substituteInPlace $out/share/lms/lms.conf --replace-fail "/usr/share/Wt/resources" "${wt}/share/Wt/resources"
+    substituteInPlace $out/share/lms/lms.conf --replace-fail "/usr/share/lms/docroot" "$out/share/lms/docroot"
+    substituteInPlace $out/share/lms/lms.conf --replace-fail "/usr/share/lms/approot" "$out/share/lms/approot"
+    substituteInPlace $out/share/lms/default.service --replace-fail "/usr/bin/lms" "$out/bin/lms"
+    install -Dm444 $out/share/lms/default.service -T $out/lib/systemd/system/lmsd.service
+  '';
+
+  preFixup = ''
+    wrapProgram $out/bin/lms \
+      --prefix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath [libSM libICE]}"
+    wrapProgram $out/bin/lms-metadata \
+      --prefix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath [libSM libICE]}"
+    wrapProgram $out/bin/lms-recommendation \
+      --prefix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath [libSM libICE]}"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/epoupon/lms";
+    description = "Lightweight Music Server - Access your self-hosted music using a web interface";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    mainProgram = "lms";
+    maintainers = with maintainers; [ mksafavi ];
+  };
+}
diff --git a/pkgs/by-name/ni/nixos-anywhere/package.nix b/pkgs/by-name/ni/nixos-anywhere/package.nix
index ffd74761a9fea..36ee25429b817 100644
--- a/pkgs/by-name/ni/nixos-anywhere/package.nix
+++ b/pkgs/by-name/ni/nixos-anywhere/package.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
   nativeBuildInputs = [ makeWrapper ];
   installPhase = ''
     install -D -m 0755 src/nixos-anywhere.sh $out/bin/nixos-anywhere
+    install -D -m 0755 src/get-facts.sh $out/bin/get-facts.sh
 
     # We prefer the system's openssh over our own, since it might come with features not present in ours:
     # https://github.com/numtide/nixos-anywhere/issues/62
diff --git a/pkgs/by-name/pa/passt/package.nix b/pkgs/by-name/pa/passt/package.nix
index 3ce1715d2a361..8a149b07a940e 100644
--- a/pkgs/by-name/pa/passt/package.nix
+++ b/pkgs/by-name/pa/passt/package.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "passt";
-  version = "2024_04_05.954589b";
+  version = "2024_04_26.d03c4e2";
 
   src = fetchurl {
     url = "https://passt.top/passt/snapshot/passt-${finalAttrs.version}.tar.gz";
-    hash = "sha256-lwiHjr7rv1xBwXktKAsYIjDzNDkHGjZsW/FsQyFbLng=";
+    hash = "sha256-SE9ae4ewwgpGv+Mc1GwUsAi2VZS26Ne7Flvw1ggjb4U=";
   };
 
   makeFlags = [
diff --git a/pkgs/by-name/sl/slumber/package.nix b/pkgs/by-name/sl/slumber/package.nix
index 4a7979e29d581..32fc52be0d9b7 100644
--- a/pkgs/by-name/sl/slumber/package.nix
+++ b/pkgs/by-name/sl/slumber/package.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, rustPlatform }:
 rustPlatform.buildRustPackage rec {
   pname = "slumber";
-  version = "1.0.1";
+  version = "1.1.0";
 
   # This release tarball includes source code for the tree-sitter grammars,
   # which is not ordinarily part of the repository.
@@ -9,10 +9,10 @@ rustPlatform.buildRustPackage rec {
     owner = "LucasPickering";
     repo = "slumber";
     rev = "v${version}";
-    hash = "sha256-FXw3hVVY/f49leo9t+z52+Ti9XGk6UJDtd0VpQDQb/o=";
+    hash = "sha256-398XqowI3zEgiU1XolLj3q1m4foC6aGGL+B3Q4plbTw=";
   };
 
-  cargoHash = "sha256-odLFfq3qjCQUNDauFtlOaKrsYVspAIxAc/pRSEZyIwo=";
+  cargoHash = "sha256-AK/+1tCdvNucIbxwyqOt/TbOaJPVDOKFEx5NqW2Yd4U=";
 
   meta = with lib; {
     description = "Terminal-based HTTP/REST client";
diff --git a/pkgs/by-name/sn/snapcraft/package.nix b/pkgs/by-name/sn/snapcraft/package.nix
index b66180a22fc8e..38d0f47edbaaa 100644
--- a/pkgs/by-name/sn/snapcraft/package.nix
+++ b/pkgs/by-name/sn/snapcraft/package.nix
@@ -11,7 +11,7 @@
 }:
 python3Packages.buildPythonApplication rec {
   pname = "snapcraft";
-  version = "8.2.1";
+  version = "8.2.5";
 
   pyproject = true;
 
@@ -24,7 +24,7 @@ python3Packages.buildPythonApplication rec {
     owner = "canonical";
     repo = "snapcraft";
     rev = "refs/tags/${version}";
-    hash = "sha256-PVJVvkc/LtGFbs93OWmkopaAXZFudLJedpmetrjU010=";
+    hash = "sha256-+1Gzseuq402m5FvlRAGXl7Lsy2VnRmd1cXNXhkMDDDE=";
   };
 
   patches = [
diff --git a/pkgs/by-name/st/stackit-cli/package.nix b/pkgs/by-name/st/stackit-cli/package.nix
index e96738d459603..8d1b10f809ad2 100644
--- a/pkgs/by-name/st/stackit-cli/package.nix
+++ b/pkgs/by-name/st/stackit-cli/package.nix
@@ -12,16 +12,16 @@
 
 buildGoModule rec {
   pname = "stackit-cli";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "stackitcloud";
     repo = "stackit-cli";
     rev = "v${version}";
-    hash = "sha256-EoZ1ThAve08NitKf6jPJNyqkGz0JUW2GmzKtvWm9cDU=";
+    hash = "sha256-qujqRLXkQqUrpmyEkawPyEmCleXN43Wvv+sFwevVtqA=";
   };
 
-  vendorHash = "sha256-WQNb4vs1qcsY0hqlLXNiH67065/yq5xZEgZBOwFZzNM=";
+  vendorHash = "sha256-SOX6jL7KX4FvYUyE3vyA8pjKwe4co073QZ1qRMGm3/Q=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/by-name/sy/symfony-cli/package.nix b/pkgs/by-name/sy/symfony-cli/package.nix
index 1036022bc68b8..794bd2f0ea9b1 100644
--- a/pkgs/by-name/sy/symfony-cli/package.nix
+++ b/pkgs/by-name/sy/symfony-cli/package.nix
@@ -10,14 +10,14 @@
 
 buildGoModule rec {
   pname = "symfony-cli";
-  version = "5.8.16";
-  vendorHash = "sha256-bhlD7EgOkWjRTsw1hH0GKjtFkLbOzr28wR4JJKOJwnY=";
+  version = "5.8.17";
+  vendorHash = "sha256-ARTKJVHgN1Y3xOUc3P2Ch7e8gN9BZbhBEZ1DiM7nEWs=";
 
   src = fetchFromGitHub {
     owner = "symfony-cli";
     repo = "symfony-cli";
     rev = "v${version}";
-    hash = "sha256-V67RLa/Tn9ZdV+vnhFSht0wtIYYZOAGAYP9R1Lxn9aI=";
+    hash = "sha256-IanaxFhD0nAabr9w6ARCVie+sYW9bvgHoahsuHQYeqE=";
   };
 
   ldflags = [
diff --git a/pkgs/by-name/te/termsonic/package.nix b/pkgs/by-name/te/termsonic/package.nix
new file mode 100644
index 0000000000000..2dfb146775008
--- /dev/null
+++ b/pkgs/by-name/te/termsonic/package.nix
@@ -0,0 +1,33 @@
+{
+  lib,
+  buildGoModule,
+  fetchzip,
+  pkg-config,
+  alsa-lib
+}:
+buildGoModule rec {
+  name = "termsonic";
+  version = "0-unstable-2024-02-02";
+
+  src = fetchzip {
+    url = "https://git.sixfoisneuf.fr/termsonic/snapshot/termsonic-7a3aabee59e1a427aff755fc69759265ad9d0adc.zip";
+    hash = "sha256-C5/4679qw4CAdUt9lXpPIR3yejrPdddvmjgbpLF3SvA=";
+  };
+
+  vendorHash = "sha256-wCtQD9f1mbN/0qUZnamPoVn9p4Ra5dQ34vlT+XjPF3k=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ alsa-lib ];
+
+  strictDeps = true;
+
+  meta = with lib; {
+    homepage = "https://git.sixfoisneuf.fr/termsonic";
+    description = "A Subsonic client running in your terminal";
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    mainProgram = "termsonic";
+    maintainers = with maintainers; [ mksafavi ];
+  };
+}
diff --git a/pkgs/by-name/ux/uxn/package.nix b/pkgs/by-name/ux/uxn/package.nix
index 9180f1b3d9331..3bd43ac3dde38 100644
--- a/pkgs/by-name/ux/uxn/package.nix
+++ b/pkgs/by-name/ux/uxn/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "uxn";
-  version = "unstable-2024-04-15";
+  version = "1.0-unstable-2024-05-06";
 
   src = fetchFromSourcehut {
     owner = "~rabbits";
     repo = "uxn";
-    rev = "b0bfb38dccff4ff7b0fa6d384651f7847a76fd1f";
-    hash = "sha256-OLrIIrcIfFI96+Q2fc0JSqJHBMcoN9+LL5E/YCN21Kc=";
+    rev = "3a696f8fa9931857e99e50074c6994649ee62d37";
+    hash = "sha256-wJUyFuF7ZCKQSa3RvklQYTDGmuQa062w5E2h0/aI0cQ=";
   };
 
   outputs = [ "out" "projects" ];
diff --git a/pkgs/by-name/wl/wl-clip-persist/package.nix b/pkgs/by-name/wl/wl-clip-persist/package.nix
index fbce56b3e4eb2..3b31f14f8c202 100644
--- a/pkgs/by-name/wl/wl-clip-persist/package.nix
+++ b/pkgs/by-name/wl/wl-clip-persist/package.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wl-clip-persist";
-  version = "0.4.1";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "Linus789";
     repo = "wl-clip-persist";
     rev = "v${version}";
-    hash = "sha256-gUi4Htui7IwldeK30C7SGTNc+0VHuzDZfJdaL8FmkGs=";
+    hash = "sha256-dFhHsBazBHVWgPxoRDNwh8Yctt4w64E0RyFaHEC4mvk=";
   };
 
-  cargoHash = "sha256-Kt/XTcwclZENtw4vw2BntndqxvojEizCc2Oa0w+c1D0=";
+  cargoHash = "sha256-rhXVjXhRPCjt7ur7fQviGFXVtQneuFKWZcDNkhM9tkY=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/compilers/c3c/default.nix b/pkgs/development/compilers/c3c/default.nix
index b68ffc045f646..4310ad931792e 100644
--- a/pkgs/development/compilers/c3c/default.nix
+++ b/pkgs/development/compilers/c3c/default.nix
@@ -3,38 +3,51 @@
 , fetchFromGitHub
 , cmake
 , python3
+, curl
+, libxml2
+, libffi
+, xar
 }:
 
 llvmPackages.stdenv.mkDerivation rec {
   pname = "c3c";
-  version = "unstable-2021-07-30";
+  version = "0.5.5";
 
   src = fetchFromGitHub {
     owner = "c3lang";
     repo = pname;
-    rev = "2246b641b16e581aec9059c8358858e10a548d94";
-    sha256 = "VdMKdQsedDQCnsmTxO4HnBj5GH/EThspnotvrAscSqE=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-iOljE1BRVc92NJZj+nr1G6KkBTCwJEUOadXHUDNoPGk=";
   };
 
-  nativeBuildInputs = [ cmake ];
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace-fail "\''${LLVM_LIBRARY_DIRS}" "${llvmPackages.lld.lib}/lib ${llvmPackages.llvm.lib}/lib"
+  '';
+
+  nativeBuildInputs = [
+    cmake
+  ];
 
   buildInputs = [
     llvmPackages.llvm
     llvmPackages.lld
+    curl
+    libxml2
+    libffi
+  ] ++ lib.optionals llvmPackages.stdenv.isDarwin [
+    xar
   ];
 
   nativeCheckInputs = [ python3 ];
 
-  doCheck = true;
+  doCheck = llvmPackages.stdenv.system == "x86_64-linux";
 
   checkPhase = ''
+    runHook preCheck
     ( cd ../resources/testproject; ../../build/c3c build )
     ( cd ../test; python src/tester.py ../build/c3c test_suite )
-  '';
-
-  installPhase = ''
-    install -Dm755 c3c $out/bin/c3c
-    cp -r lib $out
+    runHook postCheck
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/catch2/3.nix b/pkgs/development/libraries/catch2/3.nix
index 403c4f729b059..cf0a0bf70fc1c 100644
--- a/pkgs/development/libraries/catch2/3.nix
+++ b/pkgs/development/libraries/catch2/3.nix
@@ -31,9 +31,12 @@ stdenv.mkDerivation rec {
     "-DCMAKE_CTEST_ARGUMENTS=-E;ApprovalTests"
   ];
 
-  # Tests fail on x86_32 if compiled with x87 floats: https://github.com/catchorg/Catch2/issues/2796
   env = lib.optionalAttrs stdenv.isx86_32 {
+    # Tests fail on x86_32 if compiled with x87 floats: https://github.com/catchorg/Catch2/issues/2796
     NIX_CFLAGS_COMPILE = "-msse2 -mfpmath=sse";
+  } // lib.optionalAttrs (stdenv.hostPlatform.isRiscV || stdenv.hostPlatform.isAarch32) {
+    # Build failure caused by -Werror: https://github.com/catchorg/Catch2/issues/2808
+    NIX_CFLAGS_COMPILE = "-Wno-error=cast-align";
   };
 
   doCheck = true;
diff --git a/pkgs/development/python-modules/astropy-healpix/default.nix b/pkgs/development/python-modules/astropy-healpix/default.nix
index fa04d6595e8bf..26be3405964c4 100644
--- a/pkgs/development/python-modules/astropy-healpix/default.nix
+++ b/pkgs/development/python-modules/astropy-healpix/default.nix
@@ -23,8 +23,13 @@ buildPythonPackage rec {
     hash = "sha256-3l0qfsl7FnBFBmlx8loVDR5AYfBxWb4jZJY02zbnl0Y=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml --replace "numpy>=2.0.0rc1" "numpy"
+  '';
+
   nativeBuildInputs = [
     astropy-extension-helpers
+    numpy
     setuptools
     setuptools-scm
   ];
diff --git a/pkgs/development/python-modules/blackjax/default.nix b/pkgs/development/python-modules/blackjax/default.nix
index 7ecc4eda95198..6f3403d3c143f 100644
--- a/pkgs/development/python-modules/blackjax/default.nix
+++ b/pkgs/development/python-modules/blackjax/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
@@ -15,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "blackjax";
-  version = "1.1.1";
+  version = "1.2.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -24,12 +25,14 @@ buildPythonPackage rec {
     owner = "blackjax-devs";
     repo = "blackjax";
     rev = "refs/tags/${version}";
-    hash = "sha256-6+ElY1F8oRCtWT4a/LIG6hYMthlq5mDx2baKAc6zIns=";
+    hash = "sha256-vXyxK3xALKG61YGK7fmoqQNGfOiagHFrvnU02WKZThw=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  build-system = [
+    setuptools-scm
+  ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     fastprogress
     jax
     jaxlib
@@ -42,7 +45,14 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-xdist
   ];
-  disabledTestPaths = [ "tests/test_benchmarks.py" ];
+
+  disabledTestPaths = [
+    "tests/test_benchmarks.py"
+  ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
+    # Assertion errors on numerical values
+    "tests/mcmc/test_integrators.py"
+  ];
+
   disabledTests = [
     # too slow
     "test_adaptive_tempered_smc"
diff --git a/pkgs/development/python-modules/craft-application/default.nix b/pkgs/development/python-modules/craft-application/default.nix
index 03753c8c35b83..998be770d5182 100644
--- a/pkgs/development/python-modules/craft-application/default.nix
+++ b/pkgs/development/python-modules/craft-application/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "craft-application";
-  version = "2.6.1";
+  version = "2.6.3";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "canonical";
     repo = "craft-application";
     rev = "refs/tags/${version}";
-    hash = "sha256-mWXEc54JsZAl6KD33RF8juzDhFheQOLviJbM1B8RPSo=";
+    hash = "sha256-ZhZoR8O5oxcF8+zzihiIbiC/j3AkDL7AjaJSlZ0N48s=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/duckdb/default.nix b/pkgs/development/python-modules/duckdb/default.nix
index 34f20998ef3d5..242502ab1bf65 100644
--- a/pkgs/development/python-modules/duckdb/default.nix
+++ b/pkgs/development/python-modules/duckdb/default.nix
@@ -69,6 +69,9 @@ buildPythonPackage rec {
     # tries to make http request
     "test_install_non_existent_extension"
 
+    # test is flaky https://github.com/duckdb/duckdb/issues/11961
+    "test_fetchmany"
+
     # https://github.com/duckdb/duckdb/issues/10702
     # tests are racy and interrupt can be delivered before or after target point
     # causing a later test to fail with a spurious KeyboardInterrupt
diff --git a/pkgs/development/python-modules/gensim/default.nix b/pkgs/development/python-modules/gensim/default.nix
index f43bfb518cfb8..171c0faabf92c 100644
--- a/pkgs/development/python-modules/gensim/default.nix
+++ b/pkgs/development/python-modules/gensim/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , cython
 , fetchPypi
+, fetchpatch
 , mock
 , numpy
 , scipy
@@ -24,6 +25,16 @@ buildPythonPackage rec {
     hash = "sha256-maxq9v/UBoLnAVXtn5Lsv0OE1Z+1CvEg00PqXuGzCKs=";
   };
 
+  patches = [
+    # https://github.com/piskvorky/gensim/pull/3524
+    # Import deprecated scipy.linalg.triu from numpy.triu. remove on next update
+    (fetchpatch {
+      name = "scipi-linalg-triu-fix.patch";
+      url = "https://github.com/piskvorky/gensim/commit/ad68ee3f105fc37cf8db333bfb837fe889ff74ac.patch";
+      hash = "sha256-Ij6HvVD8M2amzcjihu5bo8Lk0iCPl3iIq0lcOnI6G2s=";
+    })
+  ];
+
   nativeBuildInputs = [
     cython
   ];
diff --git a/pkgs/development/python-modules/langchain-community/default.nix b/pkgs/development/python-modules/langchain-community/default.nix
index af29f6068b045..90619042619c8 100644
--- a/pkgs/development/python-modules/langchain-community/default.nix
+++ b/pkgs/development/python-modules/langchain-community/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "langchain-community";
-  version = "0.0.36";
+  version = "0.0.37";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "langchain_community";
     inherit version;
-    hash = "sha256-l76dAM8RnJYeA+0ibgTmcPUbXUL1sF/8NRhZj6bSDHQ=";
+    hash = "sha256-2ytYKbsgvFsEwSa2kUPbwxqIDpSelBEMI2ssF2kGiJ8=";
   };
 
   build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix
index 3c0b421564492..746d690984be5 100644
--- a/pkgs/development/python-modules/langchain-core/default.nix
+++ b/pkgs/development/python-modules/langchain-core/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "langchain-core";
-  version = "0.1.48";
+  version = "0.1.51";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "langchain_core";
     inherit version;
-    hash = "sha256-8KmwqPIvIZ72/YTisdkqgBToRRTAobVTNw/UApaBPBY=";
+    hash = "sha256-9+oRb5Ob6edMOFuvldbITNekArWcLBiT/AVL+Yq778I=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/langsmith/default.nix b/pkgs/development/python-modules/langsmith/default.nix
index e098db547855a..e42a344262a39 100644
--- a/pkgs/development/python-modules/langsmith/default.nix
+++ b/pkgs/development/python-modules/langsmith/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "langsmith";
-  version = "0.1.53";
+  version = "0.1.54";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "langchain-ai";
     repo = "langsmith-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-C18a1FxDwsW/x10x3ups/9hCGn3Ku1QydDGN9DlEXBk=";
+    hash = "sha256-hg1xfqptjeJHxbiGfuGeka7lpClrb9nxP/RSUYr2/0k=";
   };
 
   sourceRoot = "${src.name}/python";
diff --git a/pkgs/development/python-modules/okta/default.nix b/pkgs/development/python-modules/okta/default.nix
index 13218b0d8f08b..6b4787570c364 100644
--- a/pkgs/development/python-modules/okta/default.nix
+++ b/pkgs/development/python-modules/okta/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "okta";
-  version = "2.9.5";
+  version = "2.9.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qMcO0TTbMPjc+r2IOlwJqbaSOztat9MmYWH4kgy9vwA=";
+    hash = "sha256-WRWbS8bYUafnvnTKLHlV7YV5410E0jk2UYos2F20A7k=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pathlib-abc/default.nix b/pkgs/development/python-modules/pathlib-abc/default.nix
index b048fc3748c1a..891b6d348561e 100644
--- a/pkgs/development/python-modules/pathlib-abc/default.nix
+++ b/pkgs/development/python-modules/pathlib-abc/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pathlib-abc";
-  version = "0.2.0";
+  version = "0.1.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "pathlib_abc";
     inherit version;
-    hash = "sha256-ua9rOf1RMhSFZ47DgD0KEeAqIuhp6AUsrLbo9l3nuGI=";
+    hash = "sha256-CE573ZGbD3d0kUqeZM2GobOYYPgfeB3XJCWGMfKRWr4=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/pyjson5/default.nix b/pkgs/development/python-modules/pyjson5/default.nix
new file mode 100644
index 0000000000000..19f933ddc3d9a
--- /dev/null
+++ b/pkgs/development/python-modules/pyjson5/default.nix
@@ -0,0 +1,44 @@
+{
+  lib,
+  buildPythonPackage,
+  cython,
+  fetchFromGitHub,
+  pythonOlder,
+  setuptools,
+  wheel,
+}:
+
+buildPythonPackage rec {
+  pname = "pyjson5";
+  version = "1.6.6";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "Kijewski";
+    repo = "pyjson5";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-LNcz9JEOw6HO9eIf71w4NJdPOB4yixBfBeD7B/NLbfE=";
+    fetchSubmodules = true;
+  };
+
+  build-system = [
+    cython
+    setuptools
+    wheel
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "pyjson5" ];
+
+  meta = with lib; {
+    description = "A JSON5 serializer and parser library";
+    homepage = "https://github.com/Kijewski/pyjson5";
+    changelog = "https://github.com/Kijewski/pyjson5/blob/${version}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-ecobee-api/default.nix b/pkgs/development/python-modules/python-ecobee-api/default.nix
index 4d12ee0c99d7c..ad51ef12d5c9d 100644
--- a/pkgs/development/python-modules/python-ecobee-api/default.nix
+++ b/pkgs/development/python-modules/python-ecobee-api/default.nix
@@ -1,22 +1,29 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, requests
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  requests,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "python-ecobee-api";
-  version = "0.2.17";
-  format = "setuptools";
+  version = "0.2.18";
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-lJCbNOQJ8xmMa4V+tSFZx4QasK8ZLfsFavMP9Zge4K4=";
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "nkgilley";
+    repo = "python-ecobee-api";
+    rev = "refs/tags/${version}";
+    hash = "sha256-WBVHlA7cAQGCFRNSANX6PqPQYMRw74GEAlTFwSBxVQU=";
   };
 
-  propagatedBuildInputs = [
-    requests
-  ];
+  build-system = [ setuptools ];
+
+  dependencies = [ requests ];
 
   # no tests implemented
   doCheck = false;
@@ -26,6 +33,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python API for talking to Ecobee thermostats";
     homepage = "https://github.com/nkgilley/python-ecobee-api";
+    changelog = "https://github.com/nkgilley/python-ecobee-api/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/reproject/default.nix b/pkgs/development/python-modules/reproject/default.nix
index c5ee962365430..940e2d0daac59 100644
--- a/pkgs/development/python-modules/reproject/default.nix
+++ b/pkgs/development/python-modules/reproject/default.nix
@@ -9,7 +9,6 @@
 , fetchPypi
 , fsspec
 , numpy
-, oldest-supported-numpy
 , pytest-astropy
 , pytestCheckHook
 , pythonOlder
@@ -23,7 +22,7 @@ buildPythonPackage rec {
   version = "0.13.1";
   pyproject = true;
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.10";
 
   src = fetchPypi {
     inherit pname version;
@@ -32,14 +31,14 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "cython==" "cython>="
+      --replace "cython==" "cython>=" \
+      --replace "numpy>=2.0.0rc1" "numpy"
   '';
 
   nativeBuildInputs = [
     astropy-extension-helpers
     cython
     numpy
-    oldest-supported-numpy
     setuptools-scm
   ];
 
@@ -65,6 +64,8 @@ buildPythonPackage rec {
     "-p no:warnings"
     # Uses network
     "--ignore build/lib*/reproject/interpolation/"
+    # prevent "'filterwarnings' not found in `markers` configuration option" error
+    "-o 'markers=filterwarnings'"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/rlcard/default.nix b/pkgs/development/python-modules/rlcard/default.nix
new file mode 100644
index 0000000000000..5477a50ba2918
--- /dev/null
+++ b/pkgs/development/python-modules/rlcard/default.nix
@@ -0,0 +1,77 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, wheel
+, numpy
+, pip
+, termcolor
+, pytestCheckHook
+, torch
+, pythonAtLeast
+}:
+
+buildPythonPackage rec {
+  pname = "rlcard";
+  version = "1.0.7";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "datamllab";
+    repo = "rlcard";
+    rev = "refs/tags/${version}";
+    hash = "sha256-SWj6DBItQzSM+nioV54a350Li7tbBaVXsQxNAqVgB0k=";
+  };
+
+  build-system = [
+    setuptools
+    wheel
+  ];
+
+  dependencies = [
+    numpy
+    # pip is required at runtime (https://github.com/datamllab/rlcard/blob/1.0.7/rlcard/utils/utils.py#L10)
+    pip
+    termcolor
+  ];
+
+  pythonImportsCheck = [
+    "rlcard"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    torch
+  ];
+
+  disabledTests = [
+    # AttributeError: module 'numpy' has no attribute 'int'.
+    # https://github.com/datamllab/rlcard/issues/266
+    "test_decode_action"
+    "test_get_legal_actions"
+    "test_get_perfect_information"
+    "test_get_player_id"
+    "test_init_game"
+    "test_is_deterministic"
+    "test_proceed_game"
+    "test_reset_and_extract_state"
+    "test_run"
+    "test_step"
+    "test_step"
+    "test_step_back"
+    "test_step_back"
+
+    # ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 3 dimensions. The detected shape was (1, 1, 5) + inhomogeneous part.
+    "test_reorganize"
+  ];
+
+  meta = with lib; {
+    description = "Reinforcement Learning / AI Bots in Card (Poker) Games - Blackjack, Leduc, Texas, DouDizhu, Mahjong, UNO";
+    homepage = "https://github.com/datamllab/rlcard";
+    changelog = "https://github.com/datamllab/rlcard/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ GaetanLepage ];
+    # Relies on deprecated distutils
+    broken = pythonAtLeast "3.12";
+  };
+}
diff --git a/pkgs/development/python-modules/scrapy/default.nix b/pkgs/development/python-modules/scrapy/default.nix
index 68bb9460c14fd..058f1f8f56075 100644
--- a/pkgs/development/python-modules/scrapy/default.nix
+++ b/pkgs/development/python-modules/scrapy/default.nix
@@ -5,6 +5,7 @@
 , cryptography
 , cssselect
 , fetchPypi
+, fetchpatch
 , glibcLocales
 , installShellFiles
 , itemadapter
@@ -43,6 +44,16 @@ buildPythonPackage rec {
     hash = "sha256-czoDnHQj5StpvygQtTMgk9TkKoSEYDWcB7Auz/j3Pr4=";
   };
 
+  patches = [
+    # https://github.com/scrapy/scrapy/pull/6316
+    # fix test_get_func_args. remove on next update
+    (fetchpatch {
+      name = "test_get_func_args.patch";
+      url = "https://github.com/scrapy/scrapy/commit/b1fe97dc6c8509d58b29c61cf7801eeee1b409a9.patch";
+      hash = "sha256-POlmsuW4SD9baKwZieKfmlp2vtdlb7aKQ62VOmNXsr0=";
+    })
+  ];
+
   nativeBuildInputs = [
     installShellFiles
     setuptools
diff --git a/pkgs/development/python-modules/weasel/default.nix b/pkgs/development/python-modules/weasel/default.nix
index 26418749c80fe..e38c815d7c7f3 100644
--- a/pkgs/development/python-modules/weasel/default.nix
+++ b/pkgs/development/python-modules/weasel/default.nix
@@ -33,6 +33,7 @@ buildPythonPackage rec {
   pythonRelaxDeps = [
     "cloudpathlib"
     "smart-open"
+    "typer"
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 4ce6bfe860ea3..7233b787fd281 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.2.79";
+  version = "3.2.83";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-FQTRvi4HLfYavaLjfXrngnT/1nOGVXvedaUq7nG6ZAk=";
+    hash = "sha256-h0kvLCGVnf8OhsYN4+uIn5EKChozQ55WsD0Gnb1QL7o=";
   };
 
   patches = [ ./flake8-compat-5.x.patch ];
@@ -123,6 +123,8 @@ python3.pkgs.buildPythonApplication rec {
     "test_runner"
     # AssertionError: assert ['<?xml versi...
     "test_get_cyclonedx_report"
+    # Test fails on Hydra
+    "test_sast_js_filtered_files_by_ts"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/tools/misc/tie/default.nix b/pkgs/development/tools/misc/tie/default.nix
index 70d64af371860..2db093cf018a7 100644
--- a/pkgs/development/tools/misc/tie/default.nix
+++ b/pkgs/development/tools/misc/tie/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildPhase = ''
-    ${stdenv.cc.targetPrefix}cc tie.c -o tie
+    ${stdenv.cc.targetPrefix}cc -std=c89 tie.c -o tie
   '';
 
   installPhase = ''
diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json
index a627e967d1993..e32801b769740 100644
--- a/pkgs/games/factorio/versions.json
+++ b/pkgs/games/factorio/versions.json
@@ -2,56 +2,56 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.104.tar.xz",
+        "name": "factorio_alpha_x64-1.1.107.tar.xz",
         "needsAuth": true,
-        "sha256": "0aizllbfzbn2j0560n4f823jqq7v7qz813an4wlm39rfsfx7b0vq",
+        "sha256": "16hkyfwp02zcijka4yslifz62ry6hrvk0w9960618kqdw3gr7p82",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.104/alpha/linux64",
-        "version": "1.1.104"
+        "url": "https://factorio.com/get-download/1.1.107/alpha/linux64",
+        "version": "1.1.107"
       },
       "stable": {
-        "name": "factorio_alpha_x64-1.1.104.tar.xz",
+        "name": "factorio_alpha_x64-1.1.107.tar.xz",
         "needsAuth": true,
-        "sha256": "0aizllbfzbn2j0560n4f823jqq7v7qz813an4wlm39rfsfx7b0vq",
+        "sha256": "16hkyfwp02zcijka4yslifz62ry6hrvk0w9960618kqdw3gr7p82",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.104/alpha/linux64",
-        "version": "1.1.104"
+        "url": "https://factorio.com/get-download/1.1.107/alpha/linux64",
+        "version": "1.1.107"
       }
     },
     "demo": {
       "experimental": {
-        "name": "factorio_demo_x64-1.1.104.tar.xz",
+        "name": "factorio_demo_x64-1.1.107.tar.xz",
         "needsAuth": false,
-        "sha256": "0x08dy6pagfpqc9c2cl239b1f7pf0p4cghzp7avxmbkmbl1fan2l",
+        "sha256": "0qc36n6h4wcbnj9rnq162bsml4x3ag1dkjmywqz8f4ydaf86gyjw",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.104/demo/linux64",
-        "version": "1.1.104"
+        "url": "https://factorio.com/get-download/1.1.107/demo/linux64",
+        "version": "1.1.107"
       },
       "stable": {
-        "name": "factorio_demo_x64-1.1.104.tar.xz",
+        "name": "factorio_demo_x64-1.1.107.tar.xz",
         "needsAuth": false,
-        "sha256": "0x08dy6pagfpqc9c2cl239b1f7pf0p4cghzp7avxmbkmbl1fan2l",
+        "sha256": "0qc36n6h4wcbnj9rnq162bsml4x3ag1dkjmywqz8f4ydaf86gyjw",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.104/demo/linux64",
-        "version": "1.1.104"
+        "url": "https://factorio.com/get-download/1.1.107/demo/linux64",
+        "version": "1.1.107"
       }
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.104.tar.xz",
+        "name": "factorio_headless_x64-1.1.107.tar.xz",
         "needsAuth": false,
-        "sha256": "10qmq2mw2j97s64skwr3m7hmv21h3m0r8rdhnyfrhmrxn8x3a4wf",
+        "sha256": "10ds1nz9sbx9xz1lyypf16wncc6323vpm7l5p11d6iy4cha85wsw",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.104/headless/linux64",
-        "version": "1.1.104"
+        "url": "https://factorio.com/get-download/1.1.107/headless/linux64",
+        "version": "1.1.107"
       },
       "stable": {
-        "name": "factorio_headless_x64-1.1.104.tar.xz",
+        "name": "factorio_headless_x64-1.1.107.tar.xz",
         "needsAuth": false,
-        "sha256": "10qmq2mw2j97s64skwr3m7hmv21h3m0r8rdhnyfrhmrxn8x3a4wf",
+        "sha256": "10ds1nz9sbx9xz1lyypf16wncc6323vpm7l5p11d6iy4cha85wsw",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.104/headless/linux64",
-        "version": "1.1.104"
+        "url": "https://factorio.com/get-download/1.1.107/headless/linux64",
+        "version": "1.1.107"
       }
     }
   }
diff --git a/pkgs/games/gnuchess/default.nix b/pkgs/games/gnuchess/default.nix
index 3acf6a8aa62de..7e1bdd1d48cee 100644
--- a/pkgs/games/gnuchess/default.nix
+++ b/pkgs/games/gnuchess/default.nix
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
   ];
   nativeBuildInputs = [ makeWrapper ];
 
+  configureFlags = [
+    # register keyword is removed in c++17 so stick to c++14
+    "CXXFLAGS=-std=c++14"
+  ];
+
   postInstall = ''
     wrapProgram $out/bin/gnuchessx --set PATH "$out/bin"
     wrapProgram $out/bin/gnuchessu --set PATH "$out/bin"
diff --git a/pkgs/os-specific/linux/kernel/htmldocs.nix b/pkgs/os-specific/linux/kernel/htmldocs.nix
index dad377db06abb..eb22645d2e9e7 100644
--- a/pkgs/os-specific/linux/kernel/htmldocs.nix
+++ b/pkgs/os-specific/linux/kernel/htmldocs.nix
@@ -6,8 +6,8 @@
 , makeFontsConf
 , perl
 , python3
-, sphinx
 , which
+, fetchpatch
 }:
 
 stdenv.mkDerivation {
@@ -15,6 +15,16 @@ stdenv.mkDerivation {
 
   inherit (linux_latest) version src;
 
+  patches = [
+    # docutils 0.21 has removed nodes.reprunicode
+    # fixes the `AttributeError` thrown when building docs.
+    (fetchpatch {
+      name = "docutils_fix.patch";
+      url = "https://lore.kernel.org/linux-doc/faf5fa45-2a9d-4573-9d2e-3930bdc1ed65@gmail.com/raw";
+      hash = "sha256-JuV1B/8iDysbH0tl+wr/rdXvoC34uUq25ejMFmD0hio=";
+    })
+  ];
+
   postPatch = ''
     patchShebangs \
       Documentation/sphinx/parse-headers.pl \
@@ -48,11 +58,11 @@ stdenv.mkDerivation {
     cp -r Documentation/* $out/share/doc/linux-doc/
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Linux kernel html documentation";
     homepage = "https://www.kernel.org/doc/htmldocs/";
-    platforms = platforms.linux;
+    platforms = lib.platforms.linux;
     inherit (linux_latest.meta) license;
-    maintainers = with maintainers; [ ];
+    maintainers = with lib.maintainers; [ sigmanificient ];
   };
 }
diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
index f3ee49a8c395f..fb7c8b2322a7a 100755
--- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
+++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
@@ -391,7 +391,7 @@ if [[ -n $flake ]]; then
        flakeAttr="${BASH_REMATCH[2]}"
     fi
     if [[ -z $flakeAttr ]]; then
-        read -r hostname < /proc/sys/kernel/hostname
+        hostname="$(targetHostCmd cat /proc/sys/kernel/hostname)"
         if [[ -z $hostname ]]; then
             hostname=default
         fi
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 09910f125bc48..f229c89993604 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -23,6 +23,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   pythonRelaxDeps = [
+    "botocore"
     "colorama"
     "docutils"
     "rsa"
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c058c2868f1ea..0e8a1aa1eb9f9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -420,8 +420,6 @@ with pkgs;
 
   castget = callPackage ../applications/networking/feedreaders/castget { };
 
-  castxml = callPackage ../development/tools/castxml { };
-
   catatonit = callPackage ../applications/virtualization/catatonit { };
 
   catppuccin-catwalk = callPackage ../development/tools/misc/catppuccin-catwalk { };
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index e75f863bbcbce..c849ddaba0a8c 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -343,7 +343,6 @@ mapAliases ({
   pyialarmxr = pyialarmxr-homeassistant; # added 2022-06-07
   pyialarmxr-homeassistant = throw "The package was removed together with the component support in home-assistant 2022.7.0"; # added 2022-07-07
   PyICU = pyicu; # Added 2022-12-22
-  pyjson5 = json5; # added 2022-08-28
   pyhs100 = throw "pyhs100 has been removed in favor of python-kasa."; # added 2024-01-05
   pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20
   PyLD = pyld; # added 2022-06-22
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ad877eb226d10..18133944cdd5c 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -11134,6 +11134,8 @@ self: super: with self; {
 
   pyjnius = callPackage ../development/python-modules/pyjnius { };
 
+  pyjson5 = callPackage ../development/python-modules/pyjson5 { };
+
   pyjsparser = callPackage ../development/python-modules/pyjsparser { };
 
   pyjwkest = callPackage ../development/python-modules/pyjwkest { };
@@ -13279,6 +13281,8 @@ self: super: with self; {
 
   rlax = callPackage ../development/python-modules/rlax { };
 
+  rlcard = callPackage ../development/python-modules/rlcard { };
+
   rlp = callPackage ../development/python-modules/rlp { };
 
   rmcl = callPackage ../development/python-modules/rmcl { };