about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2022-12-28 09:35:37 +0000
committerSergei Trofimovich <slyich@gmail.com>2022-12-28 09:35:37 +0000
commit092d57c07692d117e70f8e6ecbb65b241fc0060e (patch)
tree35bbf470378036fce5ee3f89b940dafd0676774f /pkgs/tools
parent64a3a91ef4f3880cc0b74e33852602e6a0759e6a (diff)
parent8fb6009616e0e6a00e74076b95c3c92e0769a193 (diff)
Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
    pkgs/development/tools/language-servers/ansible-language-server/default.nix
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/X11/bevelbar/default.nix38
-rw-r--r--pkgs/tools/X11/xnotify/default.nix4
-rw-r--r--pkgs/tools/X11/xpointerbarrier/default.nix44
-rw-r--r--pkgs/tools/X11/xprompt/default.nix4
-rw-r--r--pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix6
-rw-r--r--pkgs/tools/admin/awscli2/default.nix1
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix1
-rw-r--r--pkgs/tools/admin/lxd/default.nix8
-rw-r--r--pkgs/tools/audio/mpris-scrobbler/default.nix4
-rw-r--r--pkgs/tools/audio/stt/default.nix12
-rw-r--r--pkgs/tools/audio/yabridge/default.nix4
-rw-r--r--pkgs/tools/cd-dvd/ventoy-bin/default.nix4
-rw-r--r--pkgs/tools/compression/zstd/default.nix4
-rw-r--r--pkgs/tools/filesystems/mtools/default.nix4
-rw-r--r--pkgs/tools/filesystems/xfsdump/default.nix9
-rw-r--r--pkgs/tools/filesystems/xfsdump/remove-dmapapi.patch322
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix7
-rw-r--r--pkgs/tools/games/steamtinkerlaunch/default.nix4
-rw-r--r--pkgs/tools/graphics/goverlay/default.nix4
-rw-r--r--pkgs/tools/inputmethods/touchegg/default.nix4
-rw-r--r--pkgs/tools/misc/apt-offline/default.nix4
-rw-r--r--pkgs/tools/misc/aspcud/default.nix5
-rw-r--r--pkgs/tools/misc/bat/default.nix11
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix13
-rw-r--r--pkgs/tools/misc/clasp/default.nix29
-rw-r--r--pkgs/tools/misc/cutecom/default.nix21
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix7
-rw-r--r--pkgs/tools/misc/dotter/default.nix4
-rw-r--r--pkgs/tools/misc/dsq/default.nix2
-rw-r--r--pkgs/tools/misc/edid-decode/default.nix35
-rw-r--r--pkgs/tools/misc/eget/default.nix2
-rw-r--r--pkgs/tools/misc/flameshot/default.nix4
-rw-r--r--pkgs/tools/misc/fluent-bit/default.nix4
-rw-r--r--pkgs/tools/misc/gh-eco/default.nix6
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix6
-rw-r--r--pkgs/tools/misc/hashit/default.nix4
-rw-r--r--pkgs/tools/misc/logstash/7.x.nix9
-rw-r--r--pkgs/tools/misc/notify/default.nix2
-rw-r--r--pkgs/tools/misc/open-pdf-sign/default.nix10
-rw-r--r--pkgs/tools/misc/otel-cli/default.nix30
-rw-r--r--pkgs/tools/misc/qflipper/default.nix4
-rw-r--r--pkgs/tools/misc/rauc/default.nix4
-rwxr-xr-xpkgs/tools/misc/starfetch/default.nix4
-rw-r--r--pkgs/tools/misc/topgrade/default.nix22
-rw-r--r--pkgs/tools/misc/vtm/default.nix4
-rw-r--r--pkgs/tools/misc/yutto/default.nix4
-rw-r--r--pkgs/tools/networking/godns/default.nix2
-rw-r--r--pkgs/tools/networking/gvproxy/default.nix4
-rw-r--r--pkgs/tools/networking/tox-node/default.nix4
-rw-r--r--pkgs/tools/networking/v2ray/default.nix4
-rw-r--r--pkgs/tools/networking/vpn-slice/default.nix4
-rw-r--r--pkgs/tools/networking/xray/default.nix4
-rw-r--r--pkgs/tools/package-management/nix-update/default.nix4
-rw-r--r--pkgs/tools/package-management/protontricks/default.nix4
-rw-r--r--pkgs/tools/security/firefox_decrypt/default.nix1
-rw-r--r--pkgs/tools/security/oath-toolkit/default.nix2
-rw-r--r--pkgs/tools/security/osv-scanner/default.nix42
-rw-r--r--pkgs/tools/security/vals/default.nix6
-rw-r--r--pkgs/tools/system/s-tui/default.nix2
-rw-r--r--pkgs/tools/text/jumanpp/default.nix24
-rw-r--r--pkgs/tools/text/mdbook/default.nix6
-rw-r--r--pkgs/tools/text/podiff/default.nix6
-rw-r--r--pkgs/tools/text/snippetpixie/default.nix4
-rw-r--r--pkgs/tools/text/validator-nu/default.nix68
-rw-r--r--pkgs/tools/virtualization/cri-tools/default.nix4
-rw-r--r--pkgs/tools/virtualization/rootlesskit/default.nix2
66 files changed, 402 insertions, 533 deletions
diff --git a/pkgs/tools/X11/bevelbar/default.nix b/pkgs/tools/X11/bevelbar/default.nix
new file mode 100644
index 0000000000000..7eab7a65e80aa
--- /dev/null
+++ b/pkgs/tools/X11/bevelbar/default.nix
@@ -0,0 +1,38 @@
+{ lib,
+  stdenv,
+  fetchurl,
+  pkg-config,
+  libX11,
+  libXft,
+  libXrandr,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "bevelbar";
+  version = "22.06";
+
+  src = fetchurl {
+    url = "https://www.uninformativ.de/git/bevelbar/archives/bevelbar-v${finalAttrs.version}.tar.gz";
+    hash = "sha256-8ceFwQFHhJ1qEXJtzoDXU0XRgudaAfsoWq7LYgGEqsM=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libX11
+    libXft
+    libXrandr
+  ];
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with lib; {
+    homepage = "https://www.uninformativ.de/git/bevelbar/file/README.html";
+    description = "X11 status bar with beveled borders";
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres neeasade ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/tools/X11/xnotify/default.nix b/pkgs/tools/X11/xnotify/default.nix
index 8f93e1b1c9f9a..f38ffc4d7ece3 100644
--- a/pkgs/tools/X11/xnotify/default.nix
+++ b/pkgs/tools/X11/xnotify/default.nix
@@ -40,9 +40,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
-  passthru.updateScript = nix-update-script {
-    attrPath = pname;
-  };
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "A tool to read notifications from stdin and pop them up on the screen";
diff --git a/pkgs/tools/X11/xpointerbarrier/default.nix b/pkgs/tools/X11/xpointerbarrier/default.nix
index 8cb36cb9141d0..33271090678fc 100644
--- a/pkgs/tools/X11/xpointerbarrier/default.nix
+++ b/pkgs/tools/X11/xpointerbarrier/default.nix
@@ -1,22 +1,38 @@
-{ lib, stdenv, xorg, fetchgit }:
-stdenv.mkDerivation rec {
+{ lib,
+  stdenv,
+  fetchurl,
+  pkg-config,
+  libX11,
+  libXfixes,
+  libXrandr,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
   pname = "xpointerbarrier";
-  version = "18.06";
-  src = fetchgit {
-    url = "https://www.uninformativ.de/git/xpointerbarrier.git";
-    rev = "v${version}";
-    sha256 = "1k7i641x18qhjm0llsaqn2h2g9k31kgv6p8sildllmbvgxyrgvq7";
+  version = "20.07";
+
+  src = fetchurl {
+    url = "https://www.uninformativ.de/git/xpointerbarrier/archives/xpointerbarrier-v${finalAttrs.version}.tar.gz";
+    hash = "sha256-V1sNAQjsPVSjJ2nhCSdZqZQA78pjUE0z3IU4+I85CpI=";
   };
 
-  buildInputs = [ xorg.libX11 xorg.libXfixes xorg.libXrandr ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libX11
+    libXfixes
+    libXrandr
+  ];
 
   makeFlags = [ "prefix=$(out)" ];
 
-  meta = {
-    homepage = "https://uninformativ.de/git/xpointerbarrier";
+  meta = with lib; {
+    homepage = "https://www.uninformativ.de/git/xpointerbarrier/file/README.html";
     description = "Create X11 pointer barriers around your working area";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.xzfc ];
-    platforms = lib.platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres xzfc ];
+    platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/tools/X11/xprompt/default.nix b/pkgs/tools/X11/xprompt/default.nix
index e8633d1eb3837..191b0316fa807 100644
--- a/pkgs/tools/X11/xprompt/default.nix
+++ b/pkgs/tools/X11/xprompt/default.nix
@@ -38,9 +38,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "CC:=$(CC)" "PREFIX=$(out)" ];
 
-  passthru.updateScript = nix-update-script {
-    attrPath = pname;
-  };
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "A dmenu rip-off with contextual completion";
diff --git a/pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix b/pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix
index 21981897cf4ff..df074a2b2e62c 100644
--- a/pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix
+++ b/pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "aws-lambda-runtime-interface-emulator";
-  version = "1.8";
+  version = "1.10";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-lambda-runtime-interface-emulator";
     rev = "v${version}";
-    sha256 = "sha256-KpMfgPcBih4pRKwTBExy080HIkx3i0M1EujU4yqj6p8=";
+    sha256 = "sha256-sRb1JYSAveei/X1m5/xfuGZFUwBopczrz1n+8gn4eKw=";
   };
 
-  vendorSha256 = "sha256-ncUtJKJnWiut0ZVKm3MLWKq8eyHrTgv6Nva8xcvvqSI=";
+  vendorSha256 = "sha256-9aSALE42M/DoQS4PBHIVNDKzNdL5UhdXKAmLUSws3+Y=";
 
   # disabled because I lack the skill
   doCheck = false;
diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix
index 0982e47c5517f..9e934ff6035c3 100644
--- a/pkgs/tools/admin/awscli2/default.nix
+++ b/pkgs/tools/admin/awscli2/default.nix
@@ -110,7 +110,6 @@ with py.pkgs; buildPythonApplication rec {
   passthru = {
     python = py; # for aws_shell
     updateScript = nix-update-script {
-      attrPath = pname;
       # Excludes 1.x versions from the Github tags list
       extraArgs = [ "--version-regex" "^(2\.(.*))" ];
     };
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 8b70e1f07ff90..938eed8fb60ab 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -15,6 +15,7 @@ let
     cryptography
     openssl
     crcmod
+    numpy
   ] ++ lib.optional (with-gce) google-compute-engine);
 
   data = import ./data.nix { };
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 348760fb3e887..45e12177ae61b 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -19,7 +19,7 @@
 , libcap
 , dqlite
 , raft-canonical
-, sqlite-replication
+, sqlite
 , udev
 , writeShellScriptBin
 , apparmor-profiles
@@ -32,14 +32,14 @@
 
 buildGoModule rec {
   pname = "lxd";
-  version = "5.8";
+  version = "5.9";
 
   src = fetchurl {
     urls = [
       "https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz"
       "https://github.com/lxc/lxd/releases/download/lxd-${version}/lxd-${version}.tar.gz"
     ];
-    sha256 = "sha256-mYyDYO8k4MVoNa8xfp1vH2nyuhNsDJ93s9F5hjaMftk=";
+    sha256 = "sha256-okz3++PlUno03tp+jpLxfAWlFJhyOCH2mxRtHo5YEX8=";
   };
 
   vendorSha256 = null;
@@ -58,7 +58,7 @@ buildGoModule rec {
     libcap
     dqlite.dev
     raft-canonical.dev
-    sqlite-replication
+    sqlite
     udev.dev
   ];
 
diff --git a/pkgs/tools/audio/mpris-scrobbler/default.nix b/pkgs/tools/audio/mpris-scrobbler/default.nix
index cd2599fec3c2b..35685fd5fb2f5 100644
--- a/pkgs/tools/audio/mpris-scrobbler/default.nix
+++ b/pkgs/tools/audio/mpris-scrobbler/default.nix
@@ -63,9 +63,7 @@ stdenv.mkDerivation rec {
   ]);
 
   passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
+    updateScript = nix-update-script { };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/audio/stt/default.nix b/pkgs/tools/audio/stt/default.nix
index 91e18f409a219..31256c191eccb 100644
--- a/pkgs/tools/audio/stt/default.nix
+++ b/pkgs/tools/audio/stt/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, lib, fetchurl, autoPatchelfHook }:
+{ stdenv, lib, fetchurl, autoPatchelfHook, bzip2, lzma }:
 
 stdenv.mkDerivation rec {
   pname = "stt";
-  version = "0.9.3";
+  version = "1.4.0";
 
   src = fetchurl {
-    url = "https://github.com/coqui-ai/STT/releases/download/v${version}/native_client.tf.Linux.tar.xz";
-    sha256 = "0axwys8vis4f0m7d1i2r3dfqlc8p3yj2nisvc7pdi5qs741xgy8w";
+    url = "https://github.com/coqui-ai/STT/releases/download/v${version}/native_client.tflite.Linux.tar.xz";
+    hash = "sha256-RVYc64pLYumQoVUEFZdxfUUaBMozaqgD0h/yiMaWN90=";
   };
   setSourceRoot = "sourceRoot=`pwd`";
 
@@ -15,12 +15,16 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    bzip2
+    lzma
     stdenv.cc.cc.lib
   ];
 
   installPhase = ''
     install -D stt $out/bin/stt
     install -D coqui-stt.h $out/include/coqui-stt.h
+    install -D libkenlm.so $out/lib/libkenlm.so
+    install -D libsox.so.3 $out/lib/libsox.so.3
     install -D libstt.so $out/lib/libstt.so
   '';
 
diff --git a/pkgs/tools/audio/yabridge/default.nix b/pkgs/tools/audio/yabridge/default.nix
index 6287c532382f8..8e68c6d1130aa 100644
--- a/pkgs/tools/audio/yabridge/default.nix
+++ b/pkgs/tools/audio/yabridge/default.nix
@@ -142,9 +142,7 @@ in multiStdenv.mkDerivation rec {
     done
   '';
 
-  passthru.updateScript = nix-update-script {
-    attrPath = pname;
-  };
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "A modern and transparent way to use Windows VST2 and VST3 plugins on Linux";
diff --git a/pkgs/tools/cd-dvd/ventoy-bin/default.nix b/pkgs/tools/cd-dvd/ventoy-bin/default.nix
index 5ade321103038..d136d95e6de78 100644
--- a/pkgs/tools/cd-dvd/ventoy-bin/default.nix
+++ b/pkgs/tools/cd-dvd/ventoy-bin/default.nix
@@ -51,13 +51,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "ventoy-bin";
-  version = "1.0.85";
+  version = "1.0.86";
 
   src = let
     inherit (finalAttrs) version;
   in fetchurl {
     url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz";
-    hash = "sha256-EjS/Gf+DdgGEv38O+dnssAC8SxWBRXklbpUdcIahRCA=";
+    hash = "sha256-ksxXMA7GPlFrPi1oJa+Yg4my6qMGwVrhOL7pLruXiNA=";
   };
 
   patches = [
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index 87d499614bff9..b4e1e105ceb04 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -88,9 +88,7 @@ stdenv.mkDerivation rec {
     ++ [ "out" ];
 
   passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
+    updateScript = nix-update-script { };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/filesystems/mtools/default.nix b/pkgs/tools/filesystems/mtools/default.nix
index fd8b4b8d97daf..d839b51d4e42b 100644
--- a/pkgs/tools/filesystems/mtools/default.nix
+++ b/pkgs/tools/filesystems/mtools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mtools";
-  version = "4.0.41";
+  version = "4.0.42";
 
   src = fetchurl {
     url = "mirror://gnu/mtools/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-JUIVImT7Pv9+1wZiq/T07vgTO8N9C3pobCQN8rX4ChM=";
+    sha256 = "sha256-ZL/f3k2Cr2si88HHLD4jHLthj0wjCcxG9U0W1VAszxU=";
   };
 
   patches = lib.optional stdenv.isDarwin ./UNUSED-darwin.patch;
diff --git a/pkgs/tools/filesystems/xfsdump/default.nix b/pkgs/tools/filesystems/xfsdump/default.nix
index 499179548d83e..a6867e3c0a5fe 100644
--- a/pkgs/tools/filesystems/xfsdump/default.nix
+++ b/pkgs/tools/filesystems/xfsdump/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xfsdump";
-  version = "3.1.10";
+  version = "3.1.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/fs/xfs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-mqt6U6oFzUbtyXJp6/FFaqsrYKuMH/+q+KpJLwtfZRc=";
+    sha256 = "sha256-85xMGzBrLdfsl5wOlNYP5pCD0uz5rwUcrF7zvtdyx0o=";
   };
 
   nativeBuildInputs = [
@@ -33,11 +33,6 @@ stdenv.mkDerivation rec {
     ncurses
   ];
 
-  # fixes build against xfsprogs >= 5.18
-  # taken from https://lore.kernel.org/linux-xfs/20220203174540.GT8313@magnolia/
-  # should be included upsteam next release
-  patches = [ ./remove-dmapapi.patch ];
-
   postPatch = ''
     substituteInPlace Makefile \
       --replace "cp include/install-sh ." "cp -f include/install-sh ."
diff --git a/pkgs/tools/filesystems/xfsdump/remove-dmapapi.patch b/pkgs/tools/filesystems/xfsdump/remove-dmapapi.patch
deleted file mode 100644
index ebfb3e19dfd89..0000000000000
--- a/pkgs/tools/filesystems/xfsdump/remove-dmapapi.patch
+++ /dev/null
@@ -1,322 +0,0 @@
-diff --git a/doc/xfsdump.html b/doc/xfsdump.html
-index d4d157f..2c9324b 100644
---- a/doc/xfsdump.html
-+++ b/doc/xfsdump.html
-@@ -1092,7 +1092,6 @@ the size of the hash table.
-         bool_t p_ownerpr - whether to restore directory owner/group attributes
-         bool_t p_fullpr - whether restoring a full level 0 non-resumed dump
-         bool_t p_ignoreorphpr - set if positive subtree or interactive
--        bool_t p_restoredmpr - restore DMI event settings
- </pre>
- <p>
- The hash table maps the inode number to the tree node. It is a
-diff --git a/po/de.po b/po/de.po
-index 62face8..bdf47d1 100644
---- a/po/de.po
-+++ b/po/de.po
-@@ -3972,11 +3972,6 @@ msgstr ""
- msgid "no additional media objects needed\n"
- msgstr "keine zusätzlichen Mediendateien benötigt\n"
- 
--#: .././restore/content.c:9547
--#, c-format
--msgid "fssetdm_by_handle of %s failed %s\n"
--msgstr "fssetdm_by_handle von %s fehlgeschlagen %s\n"
--
- #: .././restore/content.c:9566
- #, c-format
- msgid "%s quota information written to '%s'\n"
-diff --git a/po/pl.po b/po/pl.po
-index 3cba8d6..ba25420 100644
---- a/po/pl.po
-+++ b/po/pl.po
-@@ -3455,11 +3455,6 @@ msgstr "nie są potrzebne dodatkowe obiekty nośnika\n"
- msgid "path_to_handle of %s failed:%s\n"
- msgstr "path_to_handle na %s nie powiodło się: %s\n"
- 
--#: .././restore/content.c:9723
--#, c-format
--msgid "fssetdm_by_handle of %s failed %s\n"
--msgstr "fssetdm_by_handle na %s nie powiodło się: %s\n"
--
- #: .././restore/content.c:9742
- #, c-format
- msgid "%s quota information written to '%s'\n"
-diff --git a/restore/content.c b/restore/content.c
-index 6b22965..e9b0a07 100644
---- a/restore/content.c
-+++ b/restore/content.c
-@@ -477,9 +477,6 @@ struct pers {
- 			/* how many pages following the header page are reserved
- 			 * for the subtree descriptors
- 			 */
--		bool_t restoredmpr;
--			/* restore DMAPI event settings
--			 */
- 		bool_t restoreextattrpr;
- 			/* restore extended attributes
- 			 */
-@@ -858,7 +855,6 @@ static void partial_reg(ix_t d_index, xfs_ino_t ino, off64_t fsize,
-                         off64_t offset, off64_t sz);
- static bool_t partial_check (xfs_ino_t ino, off64_t fsize);
- static bool_t partial_check2 (partial_rest_t *isptr, off64_t fsize);
--static int do_fssetdm_by_handle(char *path, fsdmidata_t *fdmp);
- static int quotafilecheck(char *type, char *dstdir, char *quotafile);
- 
- /* definition of locally defined global variables ****************************/
-@@ -894,7 +890,6 @@ content_init(int argc, char *argv[], size64_t vmsz)
- 	bool_t changepr;/* cmd line overwrite inhibit specification */
- 	bool_t interpr;	/* cmd line interactive mode requested */
- 	bool_t ownerpr;	/* cmd line chown/chmod requested */
--	bool_t restoredmpr; /* cmd line restore dm api attrs specification */
- 	bool_t restoreextattrpr; /* cmd line restore extended attr spec */
- 	bool_t sesscpltpr; /* force completion of prev interrupted session */
- 	ix_t stcnt;	/* cmd line number of subtrees requested */
-@@ -956,7 +951,6 @@ content_init(int argc, char *argv[], size64_t vmsz)
- 	newerpr = BOOL_FALSE;
- 	changepr = BOOL_FALSE;
- 	ownerpr = BOOL_FALSE;
--	restoredmpr = BOOL_FALSE;
- 	restoreextattrpr = BOOL_TRUE;
- 	sesscpltpr = BOOL_FALSE;
- 	stcnt = 0;
-@@ -1162,8 +1156,11 @@ content_init(int argc, char *argv[], size64_t vmsz)
- 			tranp->t_noinvupdatepr = BOOL_TRUE;
- 			break;
- 		case GETOPT_SETDM:
--			restoredmpr = BOOL_TRUE;
--			break;
-+			mlog(MLOG_NORMAL | MLOG_ERROR, _(
-+			      "-%c option no longer supported\n"),
-+			      GETOPT_SETDM);
-+			usage();
-+			return BOOL_FALSE;
- 		case GETOPT_ALERTPROG:
- 			if (!optarg || optarg[0] == '-') {
- 				mlog(MLOG_NORMAL | MLOG_ERROR, _(
-@@ -1574,12 +1571,6 @@ content_init(int argc, char *argv[], size64_t vmsz)
- 	}
- 
- 	if (persp->a.valpr) {
--		if (restoredmpr && persp->a.restoredmpr != restoredmpr) {
--			mlog(MLOG_NORMAL | MLOG_ERROR, _(
--			     "-%c cannot reset flag from previous restore\n"),
--			      GETOPT_SETDM);
--			return BOOL_FALSE;
--		}
- 		if (!restoreextattrpr &&
- 		       persp->a.restoreextattrpr != restoreextattrpr) {
- 			mlog(MLOG_NORMAL | MLOG_ERROR, _(
-@@ -1734,7 +1725,6 @@ content_init(int argc, char *argv[], size64_t vmsz)
- 			persp->a.newerpr = newerpr;
- 			persp->a.newertime = newertime;
- 		}
--		persp->a.restoredmpr = restoredmpr;
- 		if (!persp->a.dstdirisxfspr) {
- 			restoreextattrpr = BOOL_FALSE;
- 		}
-@@ -2365,7 +2355,6 @@ content_stream_restore(ix_t thrdix)
- 					scrhdrp->cih_inomap_nondircnt,
- 					tranp->t_vmsz,
- 					fullpr,
--					persp->a.restoredmpr,
- 					persp->a.dstdirisxfspr,
- 					grhdrp->gh_version,
- 					tranp->t_truncategenpr);
-@@ -7549,12 +7538,6 @@ restore_reg(drive_t *drivep,
- 		}
- 	}
- 
--	if (persp->a.dstdirisxfspr && persp->a.restoredmpr) {
--		HsmBeginRestoreFile(bstatp,
--				     *fdp,
--				     &strctxp->sc_hsmflags);
--	}
--
- 	return BOOL_TRUE;
- }
- 
-@@ -7726,26 +7709,6 @@ restore_complete_reg(stream_context_t *strcxtp)
- 		      strerror(errno));
- 	}
- 
--	if (persp->a.dstdirisxfspr && persp->a.restoredmpr) {
--		fsdmidata_t fssetdm;
--
--		/* Set the DMAPI Fields. */
--		fssetdm.fsd_dmevmask = bstatp->bs_dmevmask;
--		fssetdm.fsd_padding = 0;
--		fssetdm.fsd_dmstate = bstatp->bs_dmstate;
--
--		rval = ioctl(fd, XFS_IOC_FSSETDM, (void *)&fssetdm);
--		if (rval) {
--			mlog(MLOG_NORMAL | MLOG_WARNING,
--			      _("attempt to set DMI attributes of %s "
--			      "failed: %s\n"),
--			      path,
--			      strerror(errno));
--		}
--
--		HsmEndRestoreFile(path, fd, &strcxtp->sc_hsmflags);
--	}
--
- 	/* set any extended inode flags that couldn't be set
- 	 * prior to restoring the data.
- 	 */
-@@ -8064,17 +8027,6 @@ restore_symlink(drive_t *drivep,
- 				      strerror(errno));
- 			}
- 		}
--
--		if (persp->a.restoredmpr) {
--		fsdmidata_t fssetdm;
--
--		/*	Restore DMAPI fields. */
--
--		fssetdm.fsd_dmevmask = bstatp->bs_dmevmask;
--		fssetdm.fsd_padding = 0;
--		fssetdm.fsd_dmstate = bstatp->bs_dmstate;
--		rval = do_fssetdm_by_handle(path, &fssetdm);
--		}
- 	}
- 
- 	return BOOL_TRUE;
-@@ -8777,7 +8729,7 @@ restore_extattr(drive_t *drivep,
- 		}
- 		assert(nread == (int)(recsz - EXTATTRHDR_SZ));
- 
--		if (!persp->a.restoreextattrpr && !persp->a.restoredmpr) {
-+		if (!persp->a.restoreextattrpr) {
- 			continue;
- 		}
- 
-@@ -8796,19 +8748,6 @@ restore_extattr(drive_t *drivep,
- 			}
- 		} else if (isfilerestored && path[0] != '\0') {
- 			setextattr(path, ahdrp);
--
--			if (persp->a.dstdirisxfspr && persp->a.restoredmpr) {
--				int flag = 0;
--				char *attrname = (char *)&ahdrp[1];
--				if (ahdrp->ah_flags & EXTATTRHDR_FLAGS_ROOT)
--					flag = ATTR_ROOT;
--				else if (ahdrp->ah_flags & EXTATTRHDR_FLAGS_SECURE)
--					flag = ATTR_SECURE;
--
--				HsmRestoreAttribute(flag,
--						     attrname,
--						     &strctxp->sc_hsmflags);
--			}
- 		}
- 	}
- 	/* NOTREACHED */
-@@ -9709,32 +9648,6 @@ display_needed_objects(purp_t purp,
- 	}
- }
- 
--static int
--do_fssetdm_by_handle(
--	char		*path,
--	fsdmidata_t	*fdmp)
--{
--	void		*hanp;
--	size_t		hlen=0;
--	int		rc;
--
--	if (path_to_handle(path, &hanp, &hlen)) {
--		mlog(MLOG_NORMAL | MLOG_WARNING, _(
--			"path_to_handle of %s failed:%s\n"),
--			path, strerror(errno));
--		return -1;
--	}
--
--	rc = fssetdm_by_handle(hanp, hlen, fdmp);
--	free_handle(hanp, hlen);
--	if (rc) {
--		mlog(MLOG_NORMAL | MLOG_WARNING, _(
--			"fssetdm_by_handle of %s failed %s\n"),
--			path, strerror(errno));
--	}
--	return rc;
--}
--
- static int
- quotafilecheck(char *type, char *dstdir, char *quotafile)
- {
-diff --git a/restore/tree.c b/restore/tree.c
-index 0670318..5429b74 100644
---- a/restore/tree.c
-+++ b/restore/tree.c
-@@ -108,9 +108,6 @@ struct treePersStorage {
- 	bool_t p_ignoreorphpr;
- 		/* set if positive subtree or interactive
- 		 */
--	bool_t p_restoredmpr;
--		/* restore DMI event settings
--		 */
- 	bool_t p_truncategenpr;
- 		/* truncate inode generation number (for compatibility
- 		 * with xfsdump format 2 and earlier)
-@@ -348,7 +345,6 @@ tree_init(char *hkdir,
- 	   size64_t nondircnt,
- 	   size64_t vmsz,
- 	   bool_t fullpr,
--	   bool_t restoredmpr,
- 	   bool_t dstdirisxfspr,
- 	   uint32_t dumpformat,
- 	   bool_t truncategenpr)
-@@ -508,10 +504,6 @@ tree_init(char *hkdir,
- 	 */
- 	persp->p_fullpr = fullpr;
- 
--	/* record if DMI event settings should be restored
--	 */
--	persp->p_restoredmpr = restoredmpr;
--
- 	/* record if truncated generation numbers are required
- 	 */
- 	if (dumpformat < GLOBAL_HDR_VERSION_3) {
-@@ -2550,31 +2542,6 @@ setdirattr(dah_t dah, char *path)
- 		}
- 	}
- 
--	if (tranp->t_dstdirisxfspr && persp->p_restoredmpr) {
--		fsdmidata_t fssetdm;
--
--		fssetdm.fsd_dmevmask = dirattr_get_dmevmask(dah);
--		fssetdm.fsd_padding = 0;	/* not used */
--		fssetdm.fsd_dmstate = (uint16_t)dirattr_get_dmstate(dah);
--
--		/* restore DMAPI event settings etc.
--		 */
--		rval = ioctl(fd,
--			      XFS_IOC_FSSETDM,
--			      (void *)&fssetdm);
--		if (rval) {
--			mlog(errno == EINVAL
--			      ?
--			      (MLOG_NITTY + 1) | MLOG_TREE
--			      :
--			      MLOG_NITTY | MLOG_TREE,
--			      "set DMI attributes"
--			      " of %s failed: %s\n",
--			      path,
--			      strerror(errno));
--		}
--	}
--
- 	utimbuf.actime = dirattr_get_atime(dah);
- 	utimbuf.modtime = dirattr_get_mtime(dah);
- 	rval = utime(path, &utimbuf);
-diff --git a/restore/tree.h b/restore/tree.h
-index 4f9ffe8..bf66e3d 100644
---- a/restore/tree.h
-+++ b/restore/tree.h
-@@ -31,7 +31,6 @@ extern bool_t tree_init(char *hkdir,
- 			 size64_t nondircnt,
- 			 size64_t vmsz,
- 			 bool_t fullpr,
--			 bool_t restoredmpr,
- 			 bool_t dstdirisxfspr,
- 			 uint32_t dumpformat,
- 			 bool_t truncategenpr);
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index b18057fed4892..1ade9a4ac510d 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -4,11 +4,12 @@
 
 stdenv.mkDerivation rec {
   pname = "xfsprogs";
-  version = "5.19.0";
+  version = "6.1.0";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/utils/fs/xfs/xfsprogs/${pname}-${version}.tar.xz";
-    hash = "sha256-S2xsmMA2o39tkMgst/6UBdO1hW2TRWYgMtAf9LFAWSw=";
+    url = "mirror://kernel/linux/utils/fs/xfs/xfsprogs/${pname}-${version}.tag.xz";
+    name = "${pname}-${version}.tar.xz";
+    hash = "sha256-7OuQFcTr76VvqF+v91bMtR7Sz5w5uiOXZ/jnhwXoUlE=";
   };
 
   outputs = [ "bin" "dev" "out" "doc" ];
diff --git a/pkgs/tools/games/steamtinkerlaunch/default.nix b/pkgs/tools/games/steamtinkerlaunch/default.nix
index 3098bd2912e60..d780ba1ddf61d 100644
--- a/pkgs/tools/games/steamtinkerlaunch/default.nix
+++ b/pkgs/tools/games/steamtinkerlaunch/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "steamtinkerlaunch";
-  version = "11.11";
+  version = "12.0";
 
   src = fetchFromGitHub {
     owner = "sonic2kk";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-rWENtgV6spokzkhnmrrzsAQ19dROJ50ofEulU5Jx5IE=";
+    hash = "sha256-cEGERh0INc/xetQhALqc+lp/HNDoy3JdTZr/nHlthYc=";
   };
 
   # hardcode PROGCMD because #150841
diff --git a/pkgs/tools/graphics/goverlay/default.nix b/pkgs/tools/graphics/goverlay/default.nix
index e1e5c36ee8bcc..d4f88a770a01d 100644
--- a/pkgs/tools/graphics/goverlay/default.nix
+++ b/pkgs/tools/graphics/goverlay/default.nix
@@ -105,9 +105,7 @@ in stdenv.mkDerivation rec {
     "--set QT_QPA_PLATFORM xcb"
   ];
 
-  passthru.updateScript = nix-update-script {
-    attrPath = pname;
-  };
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "An opensource project that aims to create a Graphical UI to help manage Linux overlays";
diff --git a/pkgs/tools/inputmethods/touchegg/default.nix b/pkgs/tools/inputmethods/touchegg/default.nix
index c20fd50453ec9..298de6a641efa 100644
--- a/pkgs/tools/inputmethods/touchegg/default.nix
+++ b/pkgs/tools/inputmethods/touchegg/default.nix
@@ -68,9 +68,7 @@ stdenv.mkDerivation rec {
   PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
 
   passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
+    updateScript = nix-update-script { };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/apt-offline/default.nix b/pkgs/tools/misc/apt-offline/default.nix
index 122ca0abcff96..4a49294447840 100644
--- a/pkgs/tools/misc/apt-offline/default.nix
+++ b/pkgs/tools/misc/apt-offline/default.nix
@@ -28,9 +28,7 @@ python3Packages.buildPythonApplication rec {
 
   pythonimportsCheck = [ "apt-offline" ];
 
-  passthru.updateScript = nix-update-script {
-    attrPath = pname;
-  };
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     homepage = "https://github.com/rickysarraf/apt-offline";
diff --git a/pkgs/tools/misc/aspcud/default.nix b/pkgs/tools/misc/aspcud/default.nix
index 057ba28ff061b..e3f75693803c3 100644
--- a/pkgs/tools/misc/aspcud/default.nix
+++ b/pkgs/tools/misc/aspcud/default.nix
@@ -3,7 +3,6 @@
 , fetchFromGitHub
 , boost
 , catch2
-, clasp
 , cmake
 , clingo
 , re2c
@@ -25,12 +24,12 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ boost clasp clingo re2c ];
+  buildInputs = [ boost clingo re2c ];
 
   cmakeFlags = [
     "-DCMAKE_BUILD_TYPE=Release"
     "-DASPCUD_GRINGO_PATH=${clingo}/bin/gringo"
-    "-DASPCUD_CLASP_PATH=${clasp}/bin/clasp"
+    "-DASPCUD_CLASP_PATH=${clingo}/bin/clasp"
   ];
 
   doCheck = true;
diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix
index cc52d952eee31..81870cd492f1e 100644
--- a/pkgs/tools/misc/bat/default.nix
+++ b/pkgs/tools/misc/bat/default.nix
@@ -8,6 +8,7 @@
 , libiconv
 , installShellFiles
 , makeWrapper
+, fetchpatch
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -22,6 +23,16 @@ rustPlatform.buildRustPackage rec {
   };
   cargoSha256 = "sha256-ye6GH4pcI9h1CNpobUzfJ+2WlqJ98saCdD77AtSGafg=";
 
+  cargoPatches = [
+    # merged upstream in https://github.com/sharkdp/bat/pull/2399
+    (fetchpatch {
+      name = "disable-completion-of-cache-subcommand.patch";
+      url = "https://github.com/sharkdp/bat/commit/b6b9d3a629bd9b08725df2a4e7b92c3023584a89.patch";
+      hash = "sha256-G4LajO09+qfhpr+HRvAHCuE9EETit2e16ZEyAtz26B4=";
+      excludes = [ "CHANGELOG.md" ];
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config installShellFiles makeWrapper ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security libiconv ];
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 77aa3bcab7f6b..e0be716b04307 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -1,17 +1,21 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.27.2";
+  version = "2.28.0";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-H+9DFJm8V7MCeq7/iXNsCPe2NZFirf+nQfluihxNCFw=";
+    hash = "sha256-IZzYW3ynrZJlPgyziwMwysz4ujoFZw4lGBkUFDwjeV0=";
   };
 
-  vendorSha256 = "sha256-yfT32MxnzYQr+UXqZEgGLuAxbMDfc/PWhmhDUXAIRhA=";
+  vendorHash = "sha256-spZEl3GyJsO5qa77kZlpK1X2jv3EgZwG+8Gz+Zi9Vvc=";
 
   doCheck = false;
 
@@ -32,6 +36,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://www.chezmoi.io/";
     description = "Manage your dotfiles across multiple machines, securely";
+    changelog = "https://github.com/twpayne/chezmoi/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ jhillyerd ];
   };
diff --git a/pkgs/tools/misc/clasp/default.nix b/pkgs/tools/misc/clasp/default.nix
deleted file mode 100644
index 401a2006c6f91..0000000000000
--- a/pkgs/tools/misc/clasp/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "clasp";
-  version = "3.1.4";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/project/potassco/clasp/${version}/clasp-${version}-source.tar.gz";
-    sha256 = "1zkjqc4gp4n9p2kf3k3z8x82g42any4p3shhhivny89z1jlxi9zn";
-  };
-
-  preConfigure = "patchShebangs ./configure.sh";
-  configureScript = "./configure.sh";
-
-  preBuild = "cd build/release";
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp bin/clasp $out/bin/clasp
-  '';
-
-  meta = with lib; {
-    description = "Answer set solver for (extended) normal and disjunctive logic programs";
-    homepage = "http://potassco.sourceforge.net/";
-    platforms = platforms.all;
-    maintainers = [ maintainers.hakuch ];
-    license = licenses.gpl2Plus;
-  };
-}
diff --git a/pkgs/tools/misc/cutecom/default.nix b/pkgs/tools/misc/cutecom/default.nix
index b3d412b8fda08..1d264926fd7ca 100644
--- a/pkgs/tools/misc/cutecom/default.nix
+++ b/pkgs/tools/misc/cutecom/default.nix
@@ -1,6 +1,6 @@
-{ mkDerivation, lib, fetchFromGitLab, qtbase, qtserialport, cmake }:
+{ stdenv, lib, fetchFromGitLab, qtserialport, cmake, wrapQtAppsHook }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "cutecom";
   version = "0.51.0+patch";
 
@@ -11,10 +11,17 @@ mkDerivation rec {
     sha256 = "X8jeESt+x5PxK3rTNC1h1Tpvue2WH09QRnG2g1eMoEE=";
   };
 
-  buildInputs = [ qtbase qtserialport ];
-  nativeBuildInputs = [ cmake ];
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "/Applications" "$out/Applications"
+  '';
+
+  buildInputs = [ qtserialport ];
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
 
-  postInstall = ''
+  postInstall = if stdenv.isDarwin then ''
+    mkdir -p $out/Applications
+  '' else ''
     cd ..
     mkdir -p "$out"/share/{applications,icons/hicolor/scalable/apps,man/man1}
     cp cutecom.desktop "$out/share/applications"
@@ -25,8 +32,8 @@ mkDerivation rec {
   meta = with lib; {
     description = "A graphical serial terminal";
     homepage = "https://gitlab.com/cutecom/cutecom/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ bennofs ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index 9465d412b0465..2f34fb1e56459 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -1,8 +1,10 @@
-{ lib, stdenv, fetchFromGitLab, dpkg, gawk, perl, wget, coreutils, util-linux
-, gnugrep, gnupg1, gnutar, gnused, gzip, makeWrapper }:
+{ lib, stdenv, fetchFromGitLab, dpkg, gawk, perl, wget, binutils, bzip2, coreutils, util-linux
+, gnugrep, gnupg1, gnutar, gnused, gzip, xz, makeWrapper }:
 # USAGE like this: debootstrap sid /tmp/target-chroot-directory
 # There is also cdebootstrap now. Is that easier to maintain?
 let binPath = lib.makeBinPath [
+    binutils
+    bzip2
     coreutils
     dpkg
     gawk
@@ -13,6 +15,7 @@ let binPath = lib.makeBinPath [
     gzip
     perl
     wget
+    xz
   ];
 in stdenv.mkDerivation rec {
   pname = "debootstrap";
diff --git a/pkgs/tools/misc/dotter/default.nix b/pkgs/tools/misc/dotter/default.nix
index 1b252da0d8226..af9972ca5f4b8 100644
--- a/pkgs/tools/misc/dotter/default.nix
+++ b/pkgs/tools/misc/dotter/default.nix
@@ -26,9 +26,7 @@ rustPlatform.buildRustPackage rec {
   checkInputs = [ which ];
 
   passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
+    updateScript = nix-update-script { };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/dsq/default.nix b/pkgs/tools/misc/dsq/default.nix
index 835143fb06d79..66cfdce990966 100644
--- a/pkgs/tools/misc/dsq/default.nix
+++ b/pkgs/tools/misc/dsq/default.nix
@@ -46,7 +46,7 @@ buildGoModule rec {
   '';
 
   passthru = {
-    updateScript = nix-update-script { attrPath = pname; };
+    updateScript = nix-update-script { };
 
     tests.version = testers.testVersion { package = dsq; };
   };
diff --git a/pkgs/tools/misc/edid-decode/default.nix b/pkgs/tools/misc/edid-decode/default.nix
index 788f1bef3432d..249db52b1b2ba 100644
--- a/pkgs/tools/misc/edid-decode/default.nix
+++ b/pkgs/tools/misc/edid-decode/default.nix
@@ -1,26 +1,37 @@
-{ lib, stdenv, fetchgit }:
+{ lib
+, stdenv
+, fetchgit
+, unstableGitUpdater
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "edid-decode";
-  version = "unstable-2022-04-06";
+  version = "unstable-2022-12-14";
+
+  outputs = [
+    "out"
+    "man"
+  ];
 
   src = fetchgit {
     url = "git://linuxtv.org/edid-decode.git";
-    rev = "6def7bc83dfb0338632e06a8b14c93faa6af8879";
-    sha256 = "0v6d6jy309pb02l377l0fpmgfsvcpiqc5bvyrli34v413mhq6p15";
+    rev = "e052f5f9fdf74ca11aa1a8edfa62eff8d0aa3d0d";
+    hash = "sha256-qNtb/eM7VpS8nRbC/nNm6J9vEWVUSrg7OwNaW1774QY=";
   };
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp edid-decode $out/bin
+  preBuild = ''
+    export DESTDIR=$out
+    export bindir=/bin
+    export mandir=/share/man
   '';
 
+  passthru.updateScript = unstableGitUpdater { };
+
   meta = with lib; {
     description = "EDID decoder and conformance tester";
     homepage = "https://git.linuxtv.org/edid-decode.git";
-    license = licenses.mit;
+    license = with licenses; [ mit ];
     maintainers = with maintainers; [ Madouura ];
-    platforms = lib.platforms.all;
+    platforms = platforms.all;
   };
-}
-
+})
diff --git a/pkgs/tools/misc/eget/default.nix b/pkgs/tools/misc/eget/default.nix
index f67c77c909c65..c0c8a2a547940 100644
--- a/pkgs/tools/misc/eget/default.nix
+++ b/pkgs/tools/misc/eget/default.nix
@@ -31,7 +31,7 @@ buildGoModule rec {
   '';
 
   passthru = {
-    updateScript = nix-update-script { attrPath = pname; };
+    updateScript = nix-update-script { };
     tests.version = testers.testVersion {
       package = eget;
       command = "eget -v";
diff --git a/pkgs/tools/misc/flameshot/default.nix b/pkgs/tools/misc/flameshot/default.nix
index 4f7f81b066e09..137b6cf998d61 100644
--- a/pkgs/tools/misc/flameshot/default.nix
+++ b/pkgs/tools/misc/flameshot/default.nix
@@ -20,9 +20,7 @@ mkDerivation rec {
   };
 
   passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
+    updateScript = nix-update-script { };
   };
 
   nativeBuildInputs = [ cmake qttools qtsvg ];
diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index c0f2a9683e326..2c78a0a62136a 100644
--- a/pkgs/tools/misc/fluent-bit/default.nix
+++ b/pkgs/tools/misc/fluent-bit/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fluent-bit";
-  version = "2.0.6";
+  version = "2.0.8";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${version}";
-    sha256 = "sha256-DUMsNuu1sdtkWCX5yweFcjbRcDRHhZYLku4mTmQqXDk=";
+    sha256 = "sha256-kgjLjGloudigDTP6K4W8Tv42uK/dHyH1W2aI9+uh/ws=";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
diff --git a/pkgs/tools/misc/gh-eco/default.nix b/pkgs/tools/misc/gh-eco/default.nix
index 4a1430221b3b1..b952327518707 100644
--- a/pkgs/tools/misc/gh-eco/default.nix
+++ b/pkgs/tools/misc/gh-eco/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gh-eco";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "coloradocolby";
     repo = "gh-eco";
     rev = "v${version}";
-    sha256 = "sha256-P/s7uSD5MWwiw0ScRVHAlu68GflrGxgPNpVAMdpxYcs=";
+    sha256 = "sha256-TE1AymNlxjUtkBnBO/VBjYaqLuRyxL75s6sMidKUXTE=";
   };
 
-  vendorSha256 = "sha256-Qx/QGIurjKGFcIdCot1MFPatbGHfum48JOoHlvqA64c=";
+  vendorSha256 = "sha256-K85fYV1uP/qSw8GPoG1u6UQo94vQOUo4cd9Ro+UApQ0=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index d364af728bb0a..d8fce4bb58ab4 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "1.13.1";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KItiCVb1H/XgVZT6f0g/VvvXhhHf6MvMEqQsr62c6d0=";
+    sha256 = "sha256-Vp0oB5DVhYXIk45pDGADEes+OQApE7XFsIk0enSFMqo=";
   };
 
-  vendorSha256 = "sha256-UpQ2yFprWdwE67MR5voPjgY7wqrtw/ZQbt05Tbo50XY=";
+  vendorSha256 = "sha256-LxQxO5hr+w04UZKqCh4dGteBA08GmXfCtpI8glKajkU=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/misc/hashit/default.nix b/pkgs/tools/misc/hashit/default.nix
index 5971939da1747..a7bcde7ab5fca 100644
--- a/pkgs/tools/misc/hashit/default.nix
+++ b/pkgs/tools/misc/hashit/default.nix
@@ -33,9 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
+    updateScript = nix-update-script { };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/logstash/7.x.nix b/pkgs/tools/misc/logstash/7.x.nix
index 2dabcee2a0529..221c7be83dff2 100644
--- a/pkgs/tools/misc/logstash/7.x.nix
+++ b/pkgs/tools/misc/logstash/7.x.nix
@@ -1,4 +1,5 @@
-{ elk7Version
+{ config
+, elk7Version
 , enableUnfree ? true
 , lib
 , stdenv
@@ -78,10 +79,10 @@ let
       maintainers = with maintainers; [ wjlroe offline basvandijk ];
     };
     passthru.tests =
-      optionalAttrs (!enableUnfree) (
-        assert this.drvPath == nixosTests.elk.ELK-7.elkPackages.logstash.drvPath;
+      optionalAttrs (config.allowUnfree && enableUnfree) (
+        assert this.drvPath == nixosTests.elk.unfree.ELK-7.elkPackages.logstash.drvPath;
         {
-          elk = nixosTests.elk.ELK-7;
+          elk = nixosTests.elk.unfree.ELK-7;
         }
       );
   };
diff --git a/pkgs/tools/misc/notify/default.nix b/pkgs/tools/misc/notify/default.nix
index 7a44525dfb7f0..81e928a8dc7ae 100644
--- a/pkgs/tools/misc/notify/default.nix
+++ b/pkgs/tools/misc/notify/default.nix
@@ -26,7 +26,7 @@ buildGoModule rec {
   doCheck = false;
 
   passthru = {
-    updateScript = nix-update-script { attrPath = pname; };
+    updateScript = nix-update-script { };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/open-pdf-sign/default.nix b/pkgs/tools/misc/open-pdf-sign/default.nix
index ca72a2ca6b17e..66cccb2402332 100644
--- a/pkgs/tools/misc/open-pdf-sign/default.nix
+++ b/pkgs/tools/misc/open-pdf-sign/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, makeWrapper, jre }:
+{ lib, stdenv, fetchurl, makeWrapper, jre, nix-update-script }:
 
 stdenv.mkDerivation rec {
-  version = "0.1.0";
+  version = "0.1.1";
   pname = "open-pdf-sign";
 
   src = fetchurl {
     url = "https://github.com/open-pdf-sign/open-pdf-sign/releases/download/v${version}/open-pdf-sign.jar";
-    sha256 = "AfxpqDLIycXMQmYexRoFh5DD/UCBHrnGSMjfjljvKs4=";
+    sha256 = "sha256-n8ua/wUz/PquB7viaFqBu2XX1KQYago4s6JUwYRLvNA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -19,6 +19,10 @@ stdenv.mkDerivation rec {
       --add-flags "-jar $out/lib/open-pdf-sign.jar"
   '';
 
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
   meta = with lib; {
     description = "Digitally sign PDF files from your commandline";
     homepage = "https://github.com/open-pdf-sign/open-pdf-sign";
diff --git a/pkgs/tools/misc/otel-cli/default.nix b/pkgs/tools/misc/otel-cli/default.nix
new file mode 100644
index 0000000000000..68d89d1a6e4a9
--- /dev/null
+++ b/pkgs/tools/misc/otel-cli/default.nix
@@ -0,0 +1,30 @@
+{ lib, bash, buildGoModule, fetchFromGitHub, getent, stdenv }:
+
+buildGoModule rec {
+  pname = "otel-cli";
+  version = "0.0.20";
+
+  src = fetchFromGitHub {
+    owner = "equinix-labs";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-bWdkuw0uEE75l9YCo2Dq1NpWXuMH61RQ6p7m65P1QCE=";
+  };
+
+  vendorHash = "sha256-IJ2Gq5z1oNvcpWPh+BMs46VZMN1lHyE+M7kUinTSRr8=";
+
+  preCheck = ''
+    ln -s $GOPATH/bin/otel-cli .
+  '' + lib.optionalString (!stdenv.isDarwin) ''
+    substituteInPlace main_test.go \
+      --replace 'const minimumPath = `/bin:/usr/bin`' 'const minimumPath = `${lib.makeBinPath [ getent ]}`'
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/equinix-labs/otel-cli";
+    description = "A command-line tool for sending OpenTelemetry traces";
+    changelog = "https://github.com/equinix-labs/otel-cli/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with lib.maintainers; [ emattiza urandom ];
+  };
+}
diff --git a/pkgs/tools/misc/qflipper/default.nix b/pkgs/tools/misc/qflipper/default.nix
index 56baf2e6c9bb2..558e40788e051 100644
--- a/pkgs/tools/misc/qflipper/default.nix
+++ b/pkgs/tools/misc/qflipper/default.nix
@@ -88,9 +88,7 @@ mkDerivation {
     cp installer-assets/udev/42-flipperzero.rules $out/etc/udev/rules.d/
   '';
 
-  passthru.updateScript = nix-update-script {
-    attrPath = pname;
-  };
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     broken = stdenv.isDarwin;
diff --git a/pkgs/tools/misc/rauc/default.nix b/pkgs/tools/misc/rauc/default.nix
index 9a429447e8655..a43bb78e8a595 100644
--- a/pkgs/tools/misc/rauc/default.nix
+++ b/pkgs/tools/misc/rauc/default.nix
@@ -23,9 +23,7 @@ stdenv.mkDerivation rec {
   };
 
   passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
+    updateScript = nix-update-script { };
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/misc/starfetch/default.nix b/pkgs/tools/misc/starfetch/default.nix
index d8d07df2d6e80..ba6309c97ecbd 100755
--- a/pkgs/tools/misc/starfetch/default.nix
+++ b/pkgs/tools/misc/starfetch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "starfetch";
-  version = "0.0.3";
+  version = "0.0.4";
 
   src = fetchFromGitHub {
     owner = "Haruno19";
     repo = "starfetch";
     rev = version;
-    sha256 = "sha256-2npevr3eSFhB58gRB2IuG4nwzPEGr0xcoSa/4VS0DNg=";
+    sha256 = "sha256-I2M/FlLRkGtD2+GcK1l5+vFsb5tCb4T3UJTPxRx68Ww=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
index 3b8677273d7b1..44029fb5d4efa 100644
--- a/pkgs/tools/misc/topgrade/default.nix
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -10,22 +10,31 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "10.2.2";
+  version = "10.2.4";
 
   src = fetchFromGitHub {
     owner = "topgrade-rs";
     repo = "topgrade";
     rev = "v${version}";
-    sha256 = "sha256-TDuTrtVqEy0g13zdWHz2+cQhMEMSbvameBkJUcyTfGw=";
+    hash = "sha256-b1nWTQ+m4b6XzDTR36ubf5nTdUuWK94F2P4Q3tUvHAw=";
   };
 
-  cargoSha256 = "sha256-4uq4lksfgTI+x7E/p27gs0Zh0NQq3kIBB9KVD2tvmtQ=";
+  cargoHash = "sha256-7GSkFh0Fefl9VlCdPdVZ9IsyN0IKUob5c43v84PtrcI=";
 
-  nativeBuildInputs = [ installShellFiles ];
+  nativeBuildInputs = [
+    installShellFiles
+  ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [ AppKit Cocoa Foundation ];
+  buildInputs = lib.optionals stdenv.isDarwin [
+    AppKit
+    Cocoa
+    Foundation
+  ];
 
-  NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [ "-framework" "AppKit" ];
+  NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [
+    "-framework"
+    "AppKit"
+  ];
 
   postInstall = ''
     installShellCompletion --cmd topgrade \
@@ -40,6 +49,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Upgrade all the things";
     homepage = "https://github.com/topgrade-rs/topgrade";
+    changelog = "https://github.com/topgrade-rs/topgrade/releases/tag/v${version}";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ SuperSandro2000 xyenon ];
   };
diff --git a/pkgs/tools/misc/vtm/default.nix b/pkgs/tools/misc/vtm/default.nix
index f3582f3a0ea5b..45a23b2870704 100644
--- a/pkgs/tools/misc/vtm/default.nix
+++ b/pkgs/tools/misc/vtm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vtm";
-  version = "0.9.6a";
+  version = "0.9.8g";
 
   src = fetchFromGitHub {
     owner = "netxs-group";
     repo = "vtm";
     rev = "v${version}";
-    sha256 = "sha256-rl/QktX8pUbfTpqNCqNrAYM/N+CaAAo8+5RRCmOr7H8=";
+    sha256 = "sha256-Q+QPRIk7EtcSZBrm9RCxSbz9cgznZQBnPwm9Qm+gH24=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/misc/yutto/default.nix b/pkgs/tools/misc/yutto/default.nix
index 3452277c1fe57..d246eb29b6144 100644
--- a/pkgs/tools/misc/yutto/default.nix
+++ b/pkgs/tools/misc/yutto/default.nix
@@ -37,9 +37,7 @@ buildPythonApplication rec {
 
   pythonImportsCheck = [ "yutto" ];
 
-  passthru.updateScript = nix-update-script {
-    attrPath = pname;
-  };
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "A Bilibili downloader";
diff --git a/pkgs/tools/networking/godns/default.nix b/pkgs/tools/networking/godns/default.nix
index e44d03f887923..c2886c1235f08 100644
--- a/pkgs/tools/networking/godns/default.nix
+++ b/pkgs/tools/networking/godns/default.nix
@@ -18,7 +18,7 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
 
-  passthru.updateScript = nix-update-script { attrPath = pname; };
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "A dynamic DNS client tool supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc";
diff --git a/pkgs/tools/networking/gvproxy/default.nix b/pkgs/tools/networking/gvproxy/default.nix
index f87ccef5cd1fe..59ba36c5d7f58 100644
--- a/pkgs/tools/networking/gvproxy/default.nix
+++ b/pkgs/tools/networking/gvproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gvproxy";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "gvisor-tap-vsock";
     rev = "v${version}";
-    sha256 = "sha256-mU5uJ/RnVAbL7M1lcBZKjGvfc2WfbJGyZB+65GrAr5M=";
+    sha256 = "sha256-UtOOBXl063Ur28h/DT00paulZ8JzHLZ6nyxhyq4+goM=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/networking/tox-node/default.nix b/pkgs/tools/networking/tox-node/default.nix
index 79586e9c19951..4056321c93457 100644
--- a/pkgs/tools/networking/tox-node/default.nix
+++ b/pkgs/tools/networking/tox-node/default.nix
@@ -15,9 +15,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-L5IvYA32W8cTnuWjeljge5X+LZ912ugtcvEKXLqYZ+k=";
 
-  passthru.updateScript = nix-update-script {
-    attrPath = pname;
-  };
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "A server application to run tox node written in pure Rust";
diff --git a/pkgs/tools/networking/v2ray/default.nix b/pkgs/tools/networking/v2ray/default.nix
index 58743eeb766fd..741465bebee4e 100644
--- a/pkgs/tools/networking/v2ray/default.nix
+++ b/pkgs/tools/networking/v2ray/default.nix
@@ -48,9 +48,7 @@ buildGoModule rec {
   '';
 
   passthru = {
-    updateScript = nix-update-script {
-      attrPath = "v2ray";
-    };
+    updateScript = nix-update-script { };
     tests.simple-vmess-proxy-test = nixosTests.v2ray;
   };
 
diff --git a/pkgs/tools/networking/vpn-slice/default.nix b/pkgs/tools/networking/vpn-slice/default.nix
index 0e98212ad5a50..3d883dca5b114 100644
--- a/pkgs/tools/networking/vpn-slice/default.nix
+++ b/pkgs/tools/networking/vpn-slice/default.nix
@@ -16,9 +16,7 @@ buildPythonApplication rec {
   doCheck = false;
 
   passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
+    updateScript = nix-update-script { };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/xray/default.nix b/pkgs/tools/networking/xray/default.nix
index 5b390c7dd42c3..e3878111d24ca 100644
--- a/pkgs/tools/networking/xray/default.nix
+++ b/pkgs/tools/networking/xray/default.nix
@@ -55,9 +55,7 @@ buildGoModule rec {
   '';
 
   passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
+    updateScript = nix-update-script { };
   };
 
   meta = {
diff --git a/pkgs/tools/package-management/nix-update/default.nix b/pkgs/tools/package-management/nix-update/default.nix
index 45fbd7a6a1d71..8fa7ed61c53a2 100644
--- a/pkgs/tools/package-management/nix-update/default.nix
+++ b/pkgs/tools/package-management/nix-update/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonApplication rec {
   pname = "nix-update";
-  version = "0.11.0";
+  version = "0.12.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = pname;
     rev = version;
-    sha256 = "sha256-nBLNMQKLgx5m5VyxTdSLBE9kNhUPdaRzVi5BQx83m+4=";
+    sha256 = "sha256-7Co8mKG3eyM5WmGoAskyYleeutH4/kygSkvFpSg7Y04=";
   };
 
   makeWrapperArgs = [
diff --git a/pkgs/tools/package-management/protontricks/default.nix b/pkgs/tools/package-management/protontricks/default.nix
index 4ddd758c59bdd..5084bc48fb77f 100644
--- a/pkgs/tools/package-management/protontricks/default.nix
+++ b/pkgs/tools/package-management/protontricks/default.nix
@@ -56,9 +56,7 @@ buildPythonApplication rec {
 
   pythonImportsCheck = [ "protontricks" ];
 
-  passthru.updateScript = nix-update-script {
-    attrPath = pname;
-  };
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "A simple wrapper for running Winetricks commands for Proton-enabled games";
diff --git a/pkgs/tools/security/firefox_decrypt/default.nix b/pkgs/tools/security/firefox_decrypt/default.nix
index 86bfb5f72242a..2c5c12b40c325 100644
--- a/pkgs/tools/security/firefox_decrypt/default.nix
+++ b/pkgs/tools/security/firefox_decrypt/default.nix
@@ -36,7 +36,6 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   passthru.updateScript = nix-update-script {
-    attrPath = pname;
     extraArgs = [ "--version=branch" ];
   };
 
diff --git a/pkgs/tools/security/oath-toolkit/default.nix b/pkgs/tools/security/oath-toolkit/default.nix
index 20cfd11b7629b..fe8367ea57e46 100644
--- a/pkgs/tools/security/oath-toolkit/default.nix
+++ b/pkgs/tools/security/oath-toolkit/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
 
   configureFlags = lib.optionals stdenv.isDarwin [ "--disable-pam" ];
 
-  passthru.updateScript = nix-update-script { attrPath = pname; };
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "Components for building one-time password authentication systems";
diff --git a/pkgs/tools/security/osv-scanner/default.nix b/pkgs/tools/security/osv-scanner/default.nix
new file mode 100644
index 0000000000000..192d9f13b0ff9
--- /dev/null
+++ b/pkgs/tools/security/osv-scanner/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, testers
+, osv-scanner
+}:
+buildGoModule rec {
+  pname = "osv-scanner";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-RmR6ZJg+UkE+eSmz4hGuMlObl6UvnGKNoLtBGVKoQ8Q=";
+  };
+
+  vendorHash = "sha256-HUgzoQuWBRnt8+lCiu9QfO1XR5EMnqVIkrL+nIMf0IA=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.version=${version}"
+    "-X main.commit=n/a"
+    "-X main.date=1970-01-01T00:00:00Z"
+  ];
+
+  # Tests require network connectivity to query https://api.osv.dev.
+  doCheck = false;
+
+  passthru.tests.version = testers.testVersion {
+    package = osv-scanner;
+  };
+
+  meta = with lib; {
+    description = "Vulnerability scanner written in Go which uses the data provided by https://osv.dev";
+    homepage = "https://github.com/google/osv-scanner";
+    changelog = "https://github.com/google/osv-scanner/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ stehessel urandom ];
+  };
+}
diff --git a/pkgs/tools/security/vals/default.nix b/pkgs/tools/security/vals/default.nix
index d886908389c33..cce4aefdfc190 100644
--- a/pkgs/tools/security/vals/default.nix
+++ b/pkgs/tools/security/vals/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "vals";
-  version = "0.19.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "variantdev";
     repo = pname;
-    sha256 = "sha256-0TO8aN1qKpGQnec6hKph6EHkRWb1dfHtyRdFYX0BjM0=";
+    sha256 = "sha256-yRHWhvbXpKrjJJ/Xwm3IVVOMyilFUvmsjPcDcciFc9U=";
   };
 
-  vendorSha256 = "sha256-wxM8g553DCkoL09Icz+HoXB98z1f6mm4qzk01k09++0=";
+  vendorSha256 = "sha256-l837w2K3GsDTb9EEeYPfyrnkRSkv0FyoPr29Ud+iiJ8=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/system/s-tui/default.nix b/pkgs/tools/system/s-tui/default.nix
index 8c7397bbdf9fc..06ab69167b2c2 100644
--- a/pkgs/tools/system/s-tui/default.nix
+++ b/pkgs/tools/system/s-tui/default.nix
@@ -21,7 +21,7 @@ python3Packages.buildPythonPackage rec {
   ];
 
   passthru = {
-    updateScript = nix-update-script { attrPath = pname; };
+    updateScript = nix-update-script { };
     tests = testers.testVersion { package = s-tui; };
   };
 
diff --git a/pkgs/tools/text/jumanpp/default.nix b/pkgs/tools/text/jumanpp/default.nix
index 5c6943b281df7..348c785ab28dd 100644
--- a/pkgs/tools/text/jumanpp/default.nix
+++ b/pkgs/tools/text/jumanpp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, cmake, protobuf, libiconv }:
+{ lib, stdenv, fetchurl, fetchpatch, cmake, protobuf, libiconv }:
 
 stdenv.mkDerivation rec {
   pname = "jumanpp";
@@ -9,7 +9,25 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-ASdr6qbkSe71M7QmuuwidCa4xQhDVoXBJ2XqvSY53pQ=";
   };
 
-  patches = [ ./0001-Exclude-all-tests-from-the-build.patch ];
+  patches = [
+    ./0001-Exclude-all-tests-from-the-build.patch
+    # https://github.com/ku-nlp/jumanpp/pull/132
+    (fetchpatch {
+      name = "fix-unused-warning.patch";
+      url = "https://github.com/ku-nlp/jumanpp/commit/cc0d555287c8b214e9d6f0279c449a4e035deee4.patch";
+      sha256 = "sha256-yRKwuUJ2UPXJcjxBGhSOmcQI/EOijiJDMmmmSRdNpX8=";
+    })
+    (fetchpatch {
+      name = "update-libs.patch";
+      url = "https://github.com/ku-nlp/jumanpp/commit/5e9068f56ae310ed7c1df185b14d49654ffe1ab6.patch";
+      sha256 = "sha256-X49/ZoLT0OGePLZYlgacNxA1dHM4WYdQ8I4LW3sW16E=";
+    })
+    (fetchpatch {
+      name = "fix-mmap-on-apple-m1.patch";
+      url = "https://github.com/ku-nlp/jumanpp/commit/0c22249f12928d0c962f03f229026661bf0c7921.patch";
+      sha256 = "sha256-g6CuruqyoMJxU/hlNoALx1QnFM8BlTsTd0pwlVrco3I=";
+    })
+  ];
   cmakeFlags = [ "-DJPP_ENABLE_TESTS=OFF" ];
 
   nativeBuildInputs = [ cmake ];
@@ -27,7 +45,5 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ mt-caret ];
     platforms = platforms.all;
-    # never built on aarch64-darwin since first introduction in nixpkgs
-    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 }
diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix
index adc84f8779a8c..d3bf8b2d8bf4b 100644
--- a/pkgs/tools/text/mdbook/default.nix
+++ b/pkgs/tools/text/mdbook/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook";
-  version = "0.4.24";
+  version = "0.4.25";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "mdBook";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-Y7ZbgRX0ZaYtLA20fD/L9eNMbARI1f7g6O4Yl/UDO5E=";
+    sha256 = "sha256-9zq3y7fNbGkprekzPDnJV4/IkAFUGEydkWAtr49mhdg=";
   };
 
-  cargoSha256 = "sha256-74LyxlDx9tVjw0KGPml6EZbAIbDiW3tvM/CEj5BW7pI=";
+  cargoSha256 = "sha256-6UiE/b6iJkuM/9g5yhB33WwTZ2VYlWFWQdfdHzA39CM=";
 
   auditable = true; # TODO: remove when this is the default
 
diff --git a/pkgs/tools/text/podiff/default.nix b/pkgs/tools/text/podiff/default.nix
index 2078c75f1362a..eec0eb351636d 100644
--- a/pkgs/tools/text/podiff/default.nix
+++ b/pkgs/tools/text/podiff/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
   pname = "podiff";
-  version = "1.3";
+  version = "1.4";
 
   src = fetchurl {
-    url = "ftp://download.gnu.org.ua/pub/release/podiff/podiff-1.3.tar.gz";
-    sha256 = "sha256-7fpix+GkXsfpRgnkHtk1iXF6ILHri7BtUhNPK6sDQFA=";
+    url = "ftp://download.gnu.org.ua/pub/release/podiff/podiff-1.4.tar.gz";
+    sha256 = "sha256-IxUx87CxdhWh8MqdcSo8GWaG358aZBaIx0oldK94sio=";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/text/snippetpixie/default.nix b/pkgs/tools/text/snippetpixie/default.nix
index a83135b5024d5..0483d8c2c0cb3 100644
--- a/pkgs/tools/text/snippetpixie/default.nix
+++ b/pkgs/tools/text/snippetpixie/default.nix
@@ -66,9 +66,7 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
+    updateScript = nix-update-script { };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/text/validator-nu/default.nix b/pkgs/tools/text/validator-nu/default.nix
new file mode 100644
index 0000000000000..43f20db4a6da0
--- /dev/null
+++ b/pkgs/tools/text/validator-nu/default.nix
@@ -0,0 +1,68 @@
+{ fetchFromGitHub
+, git
+, jdk_headless
+, jre_headless
+, makeWrapper
+, python3
+, stdenvNoCC
+, lib
+}:
+
+let
+  pname = "validator-nu";
+  version = "22.9.29";
+
+  src = fetchFromGitHub {
+    owner = "validator";
+    repo = "validator";
+    rev = version;
+    fetchSubmodules = true;
+    hash = "sha256-NH/OyaKGITAL2yttB1kmuKVuZuYzhVuS0Oohj1N4icI=";
+  };
+
+  deps = stdenvNoCC.mkDerivation {
+    pname = "${pname}-deps";
+    inherit version src;
+
+    nativeBuildInputs = [ git jdk_headless python3 python3.pkgs.certifi ];
+
+    buildPhase = ''
+      python checker.py dldeps
+    '';
+
+    installPhase = ''
+      mkdir "$out"
+      mv dependencies extras "$out"
+    '';
+
+    outputHashMode = "recursive";
+    outputHash = "sha256-LPtxpUd7LAYZHJL7elgcZOTaTgHqeqquiB9hiuajA6c=";
+  };
+
+in
+stdenvNoCC.mkDerivation rec {
+  inherit pname version src;
+
+  nativeBuildInputs = [ git jdk_headless makeWrapper python3 ];
+
+  buildPhase = ''
+    ln -s '${deps}/dependencies' '${deps}/extras' .
+    JAVA_HOME='${jdk_headless}' python checker.py build
+  '';
+
+  installPhase = ''
+    mkdir -p "$out/bin" "$out/share/java"
+    mv build/dist/vnu.jar "$out/share/java/"
+    makeWrapper "${jre_headless}/bin/java" "$out/bin/vnu" \
+      --add-flags "-jar '$out/share/java/vnu.jar'"
+  '';
+
+  meta = with lib; {
+    description = "Helps you catch problems in your HTML/CSS/SVG";
+    homepage = "https://validator.github.io/validator/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ andersk ];
+    mainProgram = "vnu";
+    sourceProvenance = with sourceTypes; [ binaryBytecode fromSource ];
+  };
+}
diff --git a/pkgs/tools/virtualization/cri-tools/default.nix b/pkgs/tools/virtualization/cri-tools/default.nix
index 034eefb0c6983..d358125a28826 100644
--- a/pkgs/tools/virtualization/cri-tools/default.nix
+++ b/pkgs/tools/virtualization/cri-tools/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "cri-tools";
-  version = "1.25.0";
+  version = "1.26.0";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-soZLLDf83jmyFtiBpZR8iQMPgrnKCRJ1j8hOgty0sTQ=";
+    sha256 = "sha256-ALeK51fsGEys9iEHv0C8vCZVD4vx+VYUooj7pH7p7tg=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/virtualization/rootlesskit/default.nix b/pkgs/tools/virtualization/rootlesskit/default.nix
index 62b2c26e6d8e8..efd89e87adb98 100644
--- a/pkgs/tools/virtualization/rootlesskit/default.nix
+++ b/pkgs/tools/virtualization/rootlesskit/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
   vendorSha256 = "sha256-ILGUJsfG60qVu1RWoe8gwjVDfhPoAVZck0CVORgN2y0=";
 
   passthru = {
-    updateScript = nix-update-script { attrPath = pname; };
+    updateScript = nix-update-script { };
     tests = nixosTests.docker-rootless;
   };