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>2024-06-07 06:01:17 +0000
committerGitHub <noreply@github.com>2024-06-07 06:01:17 +0000
commite7fb1ff4be15edfacb9e7ed43f071cd2ee798498 (patch)
tree073d608940e6231a380d120087af9925a32dbd55 /pkgs
parent4ace29447c3c16fd661acaa2f0a1841b839e7baf (diff)
parentbf3faad723ca984fc4ea95c1cee1d975a8ca2a28 (diff)
Merge master into staging-next
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/version-management/jujutsu/default.nix6
-rw-r--r--pkgs/by-name/gr/grafana-alloy/package.nix125
-rw-r--r--pkgs/by-name/ic/icewm/package.nix4
-rw-r--r--pkgs/by-name/re/renovate/package.nix105
-rw-r--r--pkgs/development/interpreters/php/8.1.nix16
-rw-r--r--pkgs/development/interpreters/php/8.2.nix4
-rw-r--r--pkgs/development/interpreters/php/8.3.nix4
-rw-r--r--pkgs/development/libraries/libxmi/default.nix2
-rw-r--r--pkgs/development/php-packages/mongodb/default.nix4
-rw-r--r--pkgs/development/php-packages/phpstan/default.nix6
-rw-r--r--pkgs/development/python-modules/aubio/default.nix10
-rw-r--r--pkgs/development/python-modules/diffusers/default.nix4
-rw-r--r--pkgs/development/python-modules/rtslib/default.nix1
-rw-r--r--pkgs/development/python-modules/unstructured/default.nix4
-rw-r--r--pkgs/development/python-modules/xmpppy/default.nix35
-rw-r--r--pkgs/misc/logging/beats/7.x.nix4
-rw-r--r--pkgs/servers/redpanda/default.nix4
-rw-r--r--pkgs/shells/nushell/plugins/default.nix1
-rw-r--r--pkgs/shells/nushell/plugins/net.nix21
-rw-r--r--pkgs/shells/nushell/plugins/polars.nix45
-rw-r--r--pkgs/test/kernel.nix62
-rw-r--r--pkgs/test/systemd/nixos/default.nix67
-rw-r--r--pkgs/tools/networking/moodle-dl/default.nix27
-rw-r--r--pkgs/top-level/python-packages.nix2
24 files changed, 447 insertions, 116 deletions
diff --git a/pkgs/applications/version-management/jujutsu/default.nix b/pkgs/applications/version-management/jujutsu/default.nix
index 54a7617f2b0ff..cc0eb566ccc31 100644
--- a/pkgs/applications/version-management/jujutsu/default.nix
+++ b/pkgs/applications/version-management/jujutsu/default.nix
@@ -19,16 +19,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jujutsu";
-  version = "0.17.1";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "martinvonz";
     repo = "jj";
     rev = "v${version}";
-    hash = "sha256-3f/odQ5MgYGdPKUFqF90YGN84fXgG6BRkpN96TxJz1c=";
+    hash = "sha256-5KKF85RNCPPaXMxBb7m2XC3EaEo+UcEhBdfMEzNPsAg=";
   };
 
-  cargoHash = "sha256-N4UUouJfhKhosMBFVM0QEUNgkh7NFryXUoPmGVXcLGQ=";
+  cargoHash = "sha256-MiJuen3Lo7nPaAK30cENw3ACAdoYbHDoiGS05dk5m6U=";
 
   cargoBuildFlags = [ "--bin" "jj" ]; # don't install the fake editors
   useNextest = false; # nextest is the upstream integration framework, but is problematic for test skipping
diff --git a/pkgs/by-name/gr/grafana-alloy/package.nix b/pkgs/by-name/gr/grafana-alloy/package.nix
new file mode 100644
index 0000000000000..63de413775e61
--- /dev/null
+++ b/pkgs/by-name/gr/grafana-alloy/package.nix
@@ -0,0 +1,125 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchYarnDeps
+, buildGoModule
+, systemd
+, yarn
+, fixup-yarn-lock
+, nodejs
+, grafana-alloy
+, nix-update-script
+, installShellFiles
+, testers
+}:
+
+buildGoModule rec {
+  pname = "grafana-alloy";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "grafana";
+    repo = "alloy";
+    hash = "sha256-jaOQG+QkVi10lUp6izvSGE9j76ULc4yKbxdDhLHykYI=";
+  };
+
+  proxyVendor = true;
+  vendorHash = "sha256-6Xc2siImM1Dl716uGhtAGcn+PO2OLuYLxanzg8Ho6SA=";
+
+  nativeBuildInputs = [ fixup-yarn-lock yarn nodejs installShellFiles ];
+
+  ldflags =
+    let
+      prefix = "github.com/grafana/alloy/internal/build";
+    in
+    [
+      "-s"
+      "-w"
+      # https://github.com/grafana/alloy/blob/3201389252d2c011bee15ace0c9f4cdbcb978f9f/Makefile#L110
+      "-X ${prefix}.Branch=v${version}"
+      "-X ${prefix}.Version=${version}"
+      "-X ${prefix}.Revision=v${version}"
+      "-X ${prefix}.BuildUser=nix"
+      "-X ${prefix}.BuildDate=1970-01-01T00:00:00Z"
+    ];
+
+  tags = [
+    "netgo"
+    "builtinassets"
+    "promtail_journal_enabled"
+  ];
+
+  subPackages = [
+    "."
+  ];
+
+  yarnOfflineCache = fetchYarnDeps {
+    yarnLock = "${src}/internal/web/ui/yarn.lock";
+    sha256 = "sha256-o3vCI9GHCr4SjYsiT0wQ4mN76QeAGwOfLVCzGp7NMf4=";
+  };
+
+  preBuild = ''
+    pushd internal/web/ui
+
+    # Yarn wants a real home directory to write cache, config, etc to
+    export HOME=$NIX_BUILD_TOP/fake_home
+
+    fixup-yarn-lock yarn.lock
+    yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
+    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
+
+    patchShebangs node_modules/
+
+    yarn --offline build
+
+    popd
+  '';
+
+  # uses go-systemd, which uses libsystemd headers
+  # https://github.com/coreos/go-systemd/issues/351
+  NIX_CFLAGS_COMPILE = lib.optionals stdenv.isLinux [ "-I${lib.getDev systemd}/include" ];
+
+  checkFlags = [
+    "-tags nonetwork" # disable network tests
+    "-tags nodocker" # disable docker tests
+  ];
+
+  # go-systemd uses libsystemd under the hood, which does dlopen(libsystemd) at
+  # runtime.
+  # Add to RUNPATH so it can be found.
+  postFixup = lib.optionalString stdenv.isLinux ''
+    patchelf \
+      --set-rpath "${lib.makeLibraryPath [ (lib.getLib systemd) ]}:$(patchelf --print-rpath $out/bin/alloy)" \
+      $out/bin/alloy
+  '';
+
+  postInstall = ''
+    installShellCompletion --cmd alloy \
+      --bash <($out/bin/alloy completion bash) \
+      --fish <($out/bin/alloy completion fish) \
+      --zsh <($out/bin/alloy completion zsh)
+  '';
+
+  passthru = {
+    tests = {
+      version = testers.testVersion {
+        version = "v${version}";
+        command = "${lib.getExe grafana-alloy} --version";
+        package = grafana-alloy;
+      };
+    };
+    updateScript = nix-update-script { };
+    # alias for nix-update to be able to find and update this attribute
+    offlineCache = yarnOfflineCache;
+  };
+
+  meta = with lib; {
+    description = "Open source OpenTelemetry Collector distribution with built-in Prometheus pipelines and support for metrics, logs, traces, and profiles";
+    mainProgram = "alloy";
+    license = licenses.asl20;
+    homepage = "https://grafana.com/oss/alloy";
+    maintainers = with maintainers; [ flokli emilylange ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/ic/icewm/package.nix b/pkgs/by-name/ic/icewm/package.nix
index e19e9490a0edf..73505aa5afbce 100644
--- a/pkgs/by-name/ic/icewm/package.nix
+++ b/pkgs/by-name/ic/icewm/package.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "icewm";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "ice-wm";
     repo = "icewm";
     rev = finalAttrs.version;
-    hash = "sha256-n0p8i6v6QreCFiChngHnx+5K4Djj34/+dmIA+bj/0cU=";
+    hash = "sha256-5rDOmhXMc7B67rMa9s55LV/T9B8yb2vVNGM2fnFG6u8=";
   };
 
   strictDeps = true;
diff --git a/pkgs/by-name/re/renovate/package.nix b/pkgs/by-name/re/renovate/package.nix
new file mode 100644
index 0000000000000..bf633d9143b50
--- /dev/null
+++ b/pkgs/by-name/re/renovate/package.nix
@@ -0,0 +1,105 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  makeWrapper,
+  nodejs,
+  overrideSDK,
+  pnpm_9,
+  python3,
+  renovate,
+  testers,
+  xcbuild,
+}:
+
+let
+  # fix build error, `no member named 'aligned_alloc'` on x86_64-darwin
+  # https://github.com/NixOS/nixpkgs/issues/272156#issuecomment-1839904283
+  stdenv' = if stdenv.hostPlatform.isDarwin then overrideSDK stdenv "11.0" else stdenv;
+in
+stdenv'.mkDerivation (finalAttrs: {
+  pname = "renovate";
+  version = "37.393.0";
+
+  src = fetchFromGitHub {
+    owner = "renovatebot";
+    repo = "renovate";
+    rev = "refs/tags/${finalAttrs.version}";
+    hash = "sha256-YgxcGNMgmwrausdR7kvG1NiyQPn0FcCq/isf9qUDCFY=";
+  };
+
+  postPatch = ''
+    substituteInPlace package.json \
+      --replace-fail "0.0.0-semantic-release" "${finalAttrs.version}"
+  '';
+
+  nativeBuildInputs = [
+    makeWrapper
+    nodejs
+    pnpm_9.configHook
+    python3
+  ] ++ lib.optional stdenv'.hostPlatform.isDarwin xcbuild;
+
+  pnpmDeps = pnpm_9.fetchDeps {
+    inherit (finalAttrs) pname version src;
+    hash = "sha256-Zbe561q6xDKDIN+E/2eyQMz2GtpPvJEv2pAauMa+8pE=";
+  };
+
+  env.COREPACK_ENABLE_STRICT = 0;
+
+  buildPhase =
+    ''
+      runHook preBuild
+
+      pnpm build
+      pnpm prune --prod --ignore-scripts
+    ''
+    # The optional dependency re2 is not built by pnpm and needs to be built manually.
+    # If re2 is not built, you will get an annoying warning when you run renovate.
+    + ''
+      pushd node_modules/.pnpm/re2*/node_modules/re2
+
+      mkdir -p $HOME/.node-gyp/${nodejs.version}
+      echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion
+      ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version}
+      export npm_config_nodedir=${nodejs}
+      npm run rebuild
+
+      popd
+
+      runHook postBuild
+    '';
+
+  # TODO: replace with `pnpm deploy`
+  # now it fails to build with ERR_PNPM_NO_OFFLINE_META
+  # see https://github.com/pnpm/pnpm/issues/5315
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/{bin,lib/node_modules/renovate}
+    cp -r dist node_modules package.json $out/lib/node_modules/renovate
+
+    makeWrapper "${lib.getExe nodejs}" "$out/bin/renovate" \
+      --add-flags "$out/lib/node_modules/renovate/dist/renovate.js"
+    makeWrapper "${lib.getExe nodejs}" "$out/bin/config-validator" \
+      --add-flags "$out/lib/node_modules/renovate/dist/config-validator.js"
+
+    runHook postInstall
+  '';
+
+  passthru.tests = {
+    version = testers.testVersion { package = renovate; };
+  };
+
+  meta = {
+    description = "Cross-platform Dependency Automation by Mend.io";
+    homepage = "https://github.com/renovatebot/renovate";
+    license = lib.licenses.agpl3Only;
+    maintainers = with lib.maintainers; [
+      marie
+      natsukium
+    ];
+    mainProgram = "renovate";
+    platforms = nodejs.meta.platforms;
+  };
+})
diff --git a/pkgs/development/interpreters/php/8.1.nix b/pkgs/development/interpreters/php/8.1.nix
index b31d08fbda3a5..a6eed4d4772bf 100644
--- a/pkgs/development/interpreters/php/8.1.nix
+++ b/pkgs/development/interpreters/php/8.1.nix
@@ -1,17 +1,9 @@
-{ callPackage, fetchpatch, ... }@_args:
+{ callPackage, ... }@_args:
 
 let
-  base = callPackage ./generic.nix ((removeAttrs _args [ "fetchpatch" ]) // {
-    version = "8.1.28";
-    hash = "sha256-i+RQCW4BU8R9dThOfdWVzIl/HVPOAGBwjOlYm8wxQe4=";
-    extraPatches = [
-      # Fix build with libxml 2.12+.
-      # Patch from https://github.com/php/php-src/commit/0a39890c967aa57225bb6bdf4821aff7a3a3c082
-      (fetchpatch {
-        url = "https://github.com/php/php-src/commit/0a39890c967aa57225bb6bdf4821aff7a3a3c082.patch";
-        hash = "sha256-HvpTL7aXO9gr4glFdhqUWQPrG8TYTlvbNINq33M3zS0=";
-      })
-    ];
+  base = callPackage ./generic.nix (_args // {
+    version = "8.1.29";
+    hash = "sha256-h6YDEyY/L1M/GA5xknLKXkfNmITU7DyTcgGY6v+uCCc=";
   });
 in
 base.withExtensions ({ all, ... }: with all; ([
diff --git a/pkgs/development/interpreters/php/8.2.nix b/pkgs/development/interpreters/php/8.2.nix
index a63f1391616da..e50bdfd137412 100644
--- a/pkgs/development/interpreters/php/8.2.nix
+++ b/pkgs/development/interpreters/php/8.2.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.2.19";
-    hash = "sha256-PBj3zlG3x7JreX4flwedOGswNH6wToF/XmyOmydeKmo=";
+    version = "8.2.20";
+    hash = "sha256-Xexvphx7nEeqHXZma+ZR8mQu0rz2zYY4xX41cc4qrGE=";
   });
 in
 base.withExtensions ({ all, ... }: with all; ([
diff --git a/pkgs/development/interpreters/php/8.3.nix b/pkgs/development/interpreters/php/8.3.nix
index 1da9841f78941..ae4ad6e949b11 100644
--- a/pkgs/development/interpreters/php/8.3.nix
+++ b/pkgs/development/interpreters/php/8.3.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.3.7";
-    hash = "sha256-AcIM3hxaVpZlGHXtIvUHhJZ5+6dA+MQhYWt9Q9f3l9o=";
+    version = "8.3.8";
+    hash = "sha256-9KbLAFrhF6uobCBEkyz1Y4maLpd6wJeBqnSyFh3cVjs=";
   });
 in
 base.withExtensions ({ all, ... }: with all; ([
diff --git a/pkgs/development/libraries/libxmi/default.nix b/pkgs/development/libraries/libxmi/default.nix
index 2d2a0089c4433..2446df52a2bc9 100644
--- a/pkgs/development/libraries/libxmi/default.nix
+++ b/pkgs/development/libraries/libxmi/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "03d4ikh29l38rl1wavb0icw7m5pp7yilnv7bb2k8qij1dinsymlx";
   };
 
+  CFLAGS = "-std=gnu89";
+
   # For the x86_64 GNU/Linux arch to be recognized by 'configure'
   preConfigure = "cp ${libtool}/share/libtool/build-aux/config.sub .";
 
diff --git a/pkgs/development/php-packages/mongodb/default.nix b/pkgs/development/php-packages/mongodb/default.nix
index f79a308a33ce7..a9b99cf5150cb 100644
--- a/pkgs/development/php-packages/mongodb/default.nix
+++ b/pkgs/development/php-packages/mongodb/default.nix
@@ -16,13 +16,13 @@
 
 buildPecl rec {
   pname = "mongodb";
-  version = "1.19.1";
+  version = "1.19.2";
 
   src = fetchFromGitHub {
     owner = "mongodb";
     repo = "mongo-php-driver";
     rev = version;
-    hash = "sha256-5HGQDgZZu+miPijJD/Y48WlUVfxjkeU9gA7hByzxb/o=";
+    hash = "sha256-dsX7AMcbSfgzN6TfpJTaRAbhyBpOECvaok+CCOb4hyI=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix
index dc44afc3bc97a..d2e42454c102a 100644
--- a/pkgs/development/php-packages/phpstan/default.nix
+++ b/pkgs/development/php-packages/phpstan/default.nix
@@ -6,16 +6,16 @@
 
 php.buildComposerProject (finalAttrs: {
   pname = "phpstan";
-  version = "1.11.2";
+  version = "1.11.4";
 
   src = fetchFromGitHub {
     owner = "phpstan";
     repo = "phpstan-src";
     rev = finalAttrs.version;
-    hash = "sha256-g1YIFqNo1UTmNrgS+lAkDXSnKsmhLj+Itoi3tgxdx4Y=";
+    hash = "sha256-9scH169cOc4rFUqqs6gqySI9aGEU5Exi8v4VtG9ujY8=";
   };
 
-  vendorHash = "sha256-sFV22B5ohbDvclb1nuvpMhhfKjEe7FAFCqWfIguAY8M=";
+  vendorHash = "sha256-u1GS1gyuU6T1ZJ1BLZZ/KbMoPemoN8VSFeR63/KgIAA=";
   composerStrictValidation = false;
 
   meta = {
diff --git a/pkgs/development/python-modules/aubio/default.nix b/pkgs/development/python-modules/aubio/default.nix
index f6766bd56a536..a250c710d7d6d 100644
--- a/pkgs/development/python-modules/aubio/default.nix
+++ b/pkgs/development/python-modules/aubio/default.nix
@@ -2,6 +2,7 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
+  fetchpatch,
   setuptools,
   numpy,
   pytestCheckHook,
@@ -21,6 +22,15 @@ buildPythonPackage rec {
     hash = "sha256-RvzhB1kQNP0IbAygwH2RBi/kSyuFPAHgsiCATPeMHTo=";
   };
 
+  patches = [
+    (fetchpatch {
+      # fix "incompatible function pointer types initializing 'PyUFuncGenericFunction'"
+      name = "const-function-signature.patch";
+      url = "https://github.com/aubio/aubio/commit/95ff046c698156f21e2ca0d1d8a02c23ab76969f.patch";
+      hash = "sha256-qKcIPjpcZUizSN/t96WOiOn+IlsrlC0+g7gW77KejH0=";
+    })
+  ];
+
   buildInputs = lib.optionals stdenv.isDarwin (
     with darwin.apple_sdk.frameworks;
     [
diff --git a/pkgs/development/python-modules/diffusers/default.nix b/pkgs/development/python-modules/diffusers/default.nix
index 855547d5226e3..23580b69ced68 100644
--- a/pkgs/development/python-modules/diffusers/default.nix
+++ b/pkgs/development/python-modules/diffusers/default.nix
@@ -40,7 +40,7 @@
 
 buildPythonPackage rec {
   pname = "diffusers";
-  version = "0.28.0";
+  version = "0.28.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "diffusers";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DYUVg96oHYoRqw/RGoH48YXfK/kfkYoqGQfkiOUr8DU=";
+    hash = "sha256-q1Y7YJSTVkPZF7KeHdOwO7XgTDBvFGioLR57adc1P+o=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/rtslib/default.nix b/pkgs/development/python-modules/rtslib/default.nix
index 23ec072489945..5be26edebbfa3 100644
--- a/pkgs/development/python-modules/rtslib/default.nix
+++ b/pkgs/development/python-modules/rtslib/default.nix
@@ -30,5 +30,6 @@ buildPythonPackage rec {
     mainProgram = "targetctl";
     homepage = "https://github.com/open-iscsi/rtslib-fb";
     license = licenses.asl20;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/python-modules/unstructured/default.nix b/pkgs/development/python-modules/unstructured/default.nix
index 3a040b664a962..bfaa9f4cb5d22 100644
--- a/pkgs/development/python-modules/unstructured/default.nix
+++ b/pkgs/development/python-modules/unstructured/default.nix
@@ -57,7 +57,7 @@
   grpcio,
 }:
 let
-  version = "0.14.3";
+  version = "0.14.4";
   optional-dependencies = {
     huggingflace = [
       langdetect
@@ -100,7 +100,7 @@ buildPythonPackage {
     owner = "Unstructured-IO";
     repo = "unstructured";
     rev = "refs/tags/${version}";
-    hash = "sha256-s+f3nCSuY/FhjNDnIaCj13WSp7Y7DqYwAJYfTxwH1Cc=";
+    hash = "sha256-1pkBa9SO0PJM0U0EWBtwUjdEnGQB1tSQvdjwb6FIIB8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xmpppy/default.nix b/pkgs/development/python-modules/xmpppy/default.nix
new file mode 100644
index 0000000000000..648508d354140
--- /dev/null
+++ b/pkgs/development/python-modules/xmpppy/default.nix
@@ -0,0 +1,35 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  gitUpdater,
+  six,
+  setuptools,
+}:
+
+buildPythonPackage rec {
+  pname = "xmpppy";
+  version = "0.7.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "xmpppy";
+    repo = "xmpppy";
+    rev = "refs/tags/${version}";
+    hash = "sha256-SnzIjEWSCdiCtD8bmPTH02JprmZhrABB4HCqtt2RBuk=";
+  };
+
+  dependencies = [ six ];
+
+  build-system = [ setuptools ];
+
+  passthru.updateScript = gitUpdater { };
+
+  meta = with lib; {
+    description = "Python 2/3 implementation of XMPP";
+    homepage = "https://github.com/xmpppy/xmpppy";
+    changelog = "https://github.com/xmpppy/xmpppy/blob/${version}/CHANGES.rst";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ jopejoe1 ];
+  };
+}
diff --git a/pkgs/misc/logging/beats/7.x.nix b/pkgs/misc/logging/beats/7.x.nix
index 5d0629d1fb69d..70c1e26a49d67 100644
--- a/pkgs/misc/logging/beats/7.x.nix
+++ b/pkgs/misc/logging/beats/7.x.nix
@@ -1,6 +1,6 @@
 { lib, fetchFromGitHub, elk7Version, buildGoModule, libpcap, nixosTests, systemd, config }:
 
-let beat = package: extraArgs: buildGoModule (rec {
+let beat = package: extraArgs: buildGoModule (lib.attrsets.recursiveUpdate (rec {
   pname = package;
   version = elk7Version;
 
@@ -21,7 +21,7 @@ let beat = package: extraArgs: buildGoModule (rec {
     maintainers = with maintainers; [ fadenb basvandijk dfithian ];
     platforms = platforms.linux;
   };
-} // extraArgs);
+}) extraArgs);
 in
 rec {
   auditbeat7 = beat "auditbeat" { meta.description = "Lightweight shipper for audit data"; };
diff --git a/pkgs/servers/redpanda/default.nix b/pkgs/servers/redpanda/default.nix
index d50b879fa018e..0d23d6e4a701e 100644
--- a/pkgs/servers/redpanda/default.nix
+++ b/pkgs/servers/redpanda/default.nix
@@ -7,12 +7,12 @@
 , stdenv
 }:
 let
-  version = "24.1.4";
+  version = "24.1.6";
   src = fetchFromGitHub {
     owner = "redpanda-data";
     repo = "redpanda";
     rev = "v${version}";
-    sha256 = "sha256-8N4Ig1IorKYe2ehKCeRNxVWmxLajaaDNvEgH/pSSVJE=";
+    sha256 = "sha256-zLqeokN84LrthNOg2wRmCy324sk4cMDPaTcdDbdhIoY=";
   };
   server = callPackage ./server.nix { inherit src version; };
 in
diff --git a/pkgs/shells/nushell/plugins/default.nix b/pkgs/shells/nushell/plugins/default.nix
index eb8bbe14c2815..cdc35b15773b4 100644
--- a/pkgs/shells/nushell/plugins/default.nix
+++ b/pkgs/shells/nushell/plugins/default.nix
@@ -3,6 +3,7 @@
 lib.makeScope newScope (self: with self; {
   gstat = callPackage ./gstat.nix { inherit Security; };
   formats = callPackage ./formats.nix { inherit IOKit Foundation; };
+  polars = callPackage ./polars.nix { inherit IOKit Foundation; };
   query = callPackage ./query.nix { inherit IOKit CoreFoundation; };
   regex = throw "`nu_plugin_regex` is no longer compatible with the current Nushell release.";
   net = callPackage ./net.nix { inherit IOKit CoreFoundation; };
diff --git a/pkgs/shells/nushell/plugins/net.nix b/pkgs/shells/nushell/plugins/net.nix
index 8386810a194d5..d6d17966c4606 100644
--- a/pkgs/shells/nushell/plugins/net.nix
+++ b/pkgs/shells/nushell/plugins/net.nix
@@ -1,10 +1,11 @@
-{ lib
-, rustPlatform
-, fetchFromGitHub
-, stdenv
-, IOKit
-, CoreFoundation
-, unstableGitUpdater
+{
+  lib,
+  rustPlatform,
+  fetchFromGitHub,
+  stdenv,
+  IOKit,
+  CoreFoundation,
+  unstableGitUpdater,
 }:
 
 rustPlatform.buildRustPackage {
@@ -20,9 +21,7 @@ rustPlatform.buildRustPackage {
 
   cargoHash = "sha256-nBxcxADyvPgGrfkW8eBq/wmB2Slq+YGJV2IlxuuCgCg=";
 
-  nativeBuildInputs = [
-    rustPlatform.bindgenHook
-  ];
+  nativeBuildInputs = [ rustPlatform.bindgenHook ];
 
   buildInputs = lib.optionals stdenv.isDarwin [
     CoreFoundation
@@ -36,6 +35,6 @@ rustPlatform.buildRustPackage {
     homepage = "https://github.com/fennewald/nu_plugin_net";
     license = licenses.mit;
     maintainers = with maintainers; [ happysalada ];
-    mainProgram = "nu-plugin-net";
+    mainProgram = "nu_plugin_net";
   };
 }
diff --git a/pkgs/shells/nushell/plugins/polars.nix b/pkgs/shells/nushell/plugins/polars.nix
new file mode 100644
index 0000000000000..4d2c853892cf6
--- /dev/null
+++ b/pkgs/shells/nushell/plugins/polars.nix
@@ -0,0 +1,45 @@
+{
+  stdenv,
+  lib,
+  rustPlatform,
+  openssl,
+  nushell,
+  pkg-config,
+  IOKit,
+  Foundation,
+  nix-update-script,
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "nushell_plugin_polars";
+  inherit (nushell) version src;
+
+  cargoHash = "sha256-GkVX12MEHFP4g183zUzOUn4MNeTEBEpB+D5s0OXa4nc=";
+
+  nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ];
+  buildInputs =
+    [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [
+      IOKit
+      Foundation
+    ];
+  cargoBuildFlags = [ "--package nu_plugin_polars" ];
+
+  checkPhase = ''
+    cargo test --manifest-path crates/nu_plugin_polars/Cargo.toml
+  '';
+
+  passthru.updateScript = nix-update-script {
+    # Skip the version check and only check the hash because we inherit version from nushell.
+    extraArgs = [ "--version=skip" ];
+  };
+
+  meta = with lib; {
+    description = "Nushell dataframe plugin commands based on polars.";
+    mainProgram = "nu_plugin_polars";
+    homepage = "https://github.com/nushell/nushell/tree/${version}/crates/nu_plugin_polars";
+    license = licenses.mit;
+    maintainers = with maintainers; [ joaquintrinanes ];
+    platforms = with platforms; all;
+  };
+}
diff --git a/pkgs/test/kernel.nix b/pkgs/test/kernel.nix
index 2ccd188b1edb0..e345d9fa207e7 100644
--- a/pkgs/test/kernel.nix
+++ b/pkgs/test/kernel.nix
@@ -1,6 +1,3 @@
-# to run these tests:
-# nix-instantiate --eval --strict . -A tests.kernel-config
-#
 # make sure to use NON EXISTING kernel settings else they may conflict with
 # common-config.nix
 { lib, pkgs }:
@@ -37,37 +34,40 @@ let
     { NIXOS_FAKE_USB_DEBUG = option yes;}
   ];
 
-in
-runTests {
-  testEasy = {
-    expr = (getConfig { NIXOS_FAKE_USB_DEBUG = yes;}).NIXOS_FAKE_USB_DEBUG;
-    expected = { tristate = "y"; optional = false; freeform = null; };
-  };
+  failures = runTests {
+    testEasy = {
+      expr = (getConfig { NIXOS_FAKE_USB_DEBUG = yes;}).NIXOS_FAKE_USB_DEBUG;
+      expected = { tristate = "y"; optional = false; freeform = null; };
+    };
 
-  # mandatory flag should win over optional
-  testMandatoryCheck = {
-    expr = (getConfig mandatoryVsOptionalConfig).NIXOS_FAKE_USB_DEBUG.optional;
-    expected = false;
-  };
+    # mandatory flag should win over optional
+    testMandatoryCheck = {
+      expr = (getConfig mandatoryVsOptionalConfig).NIXOS_FAKE_USB_DEBUG.optional;
+      expected = false;
+    };
 
-  testYesWinsOverNo = {
-    expr = (getConfig mkDefaultWorksConfig)."NIXOS_TEST_BOOLEAN".tristate;
-    expected = "y";
-  };
+    testYesWinsOverNo = {
+      expr = (getConfig mkDefaultWorksConfig)."NIXOS_TEST_BOOLEAN".tristate;
+      expected = "y";
+    };
 
-  testAllOptionalRemainOptional = {
-    expr = (getConfig allOptionalRemainOptional)."NIXOS_FAKE_USB_DEBUG".optional;
-    expected = true;
-  };
+    testAllOptionalRemainOptional = {
+      expr = (getConfig allOptionalRemainOptional)."NIXOS_FAKE_USB_DEBUG".optional;
+      expected = true;
+    };
+
+    # check that freeform options are unique
+    # Should trigger
+    # > The option `settings.NIXOS_FAKE_MMC_BLOCK_MINORS.freeform' has conflicting definitions, in `<unknown-file>' and `<unknown-file>'
+    testTreeform = let
+      res = builtins.tryEval ( (getConfig freeformConfig).NIXOS_FAKE_MMC_BLOCK_MINORS.freeform);
+    in {
+      expr = res.success;
+      expected = false;
+    };
 
-  # check that freeform options are unique
-  # Should trigger
-  # > The option `settings.NIXOS_FAKE_MMC_BLOCK_MINORS.freeform' has conflicting definitions, in `<unknown-file>' and `<unknown-file>'
-  testTreeform = let
-    res = builtins.tryEval ( (getConfig freeformConfig).NIXOS_FAKE_MMC_BLOCK_MINORS.freeform);
-  in {
-    expr = res.success;
-    expected = false;
   };
+in
 
-}
+lib.optional (failures != [])
+  (throw "The following kernel unit tests failed: ${lib.generators.toPretty {} failures}")
diff --git a/pkgs/test/systemd/nixos/default.nix b/pkgs/test/systemd/nixos/default.nix
index e45399b635167..37b42ea7ae273 100644
--- a/pkgs/test/systemd/nixos/default.nix
+++ b/pkgs/test/systemd/nixos/default.nix
@@ -1,37 +1,42 @@
 { pkgs, lib, stdenv, ... }:
 
-lib.runTests {
-  # Merging two non-list definitions must still result in an error
-  # about a conflicting definition.
-  test-unitOption-merging-non-lists-conflict =
-    let nixos = pkgs.nixos {
-        system.stateVersion = lib.trivial.release;
-        systemd.services.systemd-test-nixos = {
-          serviceConfig = lib.mkMerge [
-            { StateDirectory = "foo"; }
-            { StateDirectory = "bar"; }
-          ];
+let
+  failures = lib.runTests {
+    # Merging two non-list definitions must still result in an error
+    # about a conflicting definition.
+    test-unitOption-merging-non-lists-conflict =
+      let nixos = pkgs.nixos {
+          system.stateVersion = lib.trivial.release;
+          systemd.services.systemd-test-nixos = {
+            serviceConfig = lib.mkMerge [
+              { StateDirectory = "foo"; }
+              { StateDirectory = "bar"; }
+            ];
+          };
         };
-      };
-    in {
-    expr = (builtins.tryEval (nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory)).success;
-    expected = false;
-  };
+      in {
+      expr = (builtins.tryEval (nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory)).success;
+      expected = false;
+    };
 
-  # Merging must lift non-list definitions to a list
-  # if at least one of them is a list.
-  test-unitOption-merging-list-non-list-append =
-    let nixos = pkgs.nixos {
-        system.stateVersion = lib.trivial.release;
-        systemd.services.systemd-test-nixos = {
-          serviceConfig = lib.mkMerge [
-            { StateDirectory = "foo"; }
-            { StateDirectory = ["bar"]; }
-          ];
+    # Merging must lift non-list definitions to a list
+    # if at least one of them is a list.
+    test-unitOption-merging-list-non-list-append =
+      let nixos = pkgs.nixos {
+          system.stateVersion = lib.trivial.release;
+          systemd.services.systemd-test-nixos = {
+            serviceConfig = lib.mkMerge [
+              { StateDirectory = "foo"; }
+              { StateDirectory = ["bar"]; }
+            ];
+          };
         };
-      };
-    in {
-    expr = nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory;
-    expected = [ "foo" "bar" ];
+      in {
+      expr = nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory;
+      expected = [ "foo" "bar" ];
+    };
   };
-}
+in
+
+lib.optional (failures != [])
+  (throw "The following systemd unit tests failed: ${lib.generators.toPretty {} failures}")
diff --git a/pkgs/tools/networking/moodle-dl/default.nix b/pkgs/tools/networking/moodle-dl/default.nix
index 76c3e4b1a20a4..df65265127b10 100644
--- a/pkgs/tools/networking/moodle-dl/default.nix
+++ b/pkgs/tools/networking/moodle-dl/default.nix
@@ -1,27 +1,36 @@
-{ lib, python3Packages, fetchPypi }:
+{ lib, python3Packages, fetchFromGitHub, gitUpdater }:
 
 python3Packages.buildPythonApplication rec {
   pname = "moodle-dl";
-  version = "2.2.2.4";
+  version = "2.3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-76JU/uYJH7nVWCR+d8vvjYCCSMfe/8R9l756AmzZPHU=";
+  src = fetchFromGitHub {
+    owner = "C0D3D3V";
+    repo = "Moodle-DL";
+    rev = "refs/tags/${version}";
+    hash = "sha256-IBd8cVXxbQ8oR10RXSPmu5cLajn5PuNXomXHOWsXfdM=";
   };
 
   propagatedBuildInputs = with python3Packages; [
-    sentry-sdk
-    colorama
-    yt-dlp
+    aiodns
+    aiofiles
+    aiohttp
     certifi
+    colorama
+    colorlog
     html2text
+    readchar
     requests
-    aioxmpp
+    sentry-sdk
+    xmpppy
+    yt-dlp
   ];
 
   # upstream has no tests
   doCheck = false;
 
+  passthru.updateScript = gitUpdater { };
+
   meta = with lib; {
     homepage = "https://github.com/C0D3D3V/Moodle-Downloader-2";
     maintainers = [ maintainers.kmein ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 5cf33b627c881..1ecedeed228d2 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -17163,6 +17163,8 @@ self: super: with self; {
 
   xmodem = callPackage ../development/python-modules/xmodem { };
 
+  xmpppy = callPackage ../development/python-modules/xmpppy { };
+
   xnatpy = callPackage ../development/python-modules/xnatpy { };
 
   xnd = callPackage ../development/python-modules/xnd { };