about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-08-26 09:19:25 +0000
committerAlyssa Ross <hi@alyssa.is>2023-08-26 09:19:25 +0000
commit55abc327b49b4097e48c916e40803caa8cf46e8f (patch)
tree1c0420ab3fb21d9485460b912f1c3eae18781871 /nixpkgs/pkgs/tools
parent7936cf821dccc1eaade44b852db09d03fae8e5f3 (diff)
parent18324978d632ffc55ef1d928e81630c620f4f447 (diff)
downloadnixlib-55abc327b49b4097e48c916e40803caa8cf46e8f.tar
nixlib-55abc327b49b4097e48c916e40803caa8cf46e8f.tar.gz
nixlib-55abc327b49b4097e48c916e40803caa8cf46e8f.tar.bz2
nixlib-55abc327b49b4097e48c916e40803caa8cf46e8f.tar.lz
nixlib-55abc327b49b4097e48c916e40803caa8cf46e8f.tar.xz
nixlib-55abc327b49b4097e48c916e40803caa8cf46e8f.tar.zst
nixlib-55abc327b49b4097e48c916e40803caa8cf46e8f.zip
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts:
	nixpkgs/pkgs/build-support/go/module.nix
Diffstat (limited to 'nixpkgs/pkgs/tools')
-rw-r--r--nixpkgs/pkgs/tools/X11/numlockx/default.nix15
-rw-r--r--nixpkgs/pkgs/tools/admin/ansible/doctor.nix16
-rw-r--r--nixpkgs/pkgs/tools/admin/ansible/later.nix12
-rw-r--r--nixpkgs/pkgs/tools/admin/aws-nuke/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/drawterm/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/lego/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/lxd/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/admin/pgadmin/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/salt/default.nix42
-rw-r--r--nixpkgs/pkgs/tools/archivers/7zz/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/archivers/7zz/fix-build-on-darwin.patch24
-rw-r--r--nixpkgs/pkgs/tools/archivers/7zz/fix-cross-mingw-build.patch587
-rw-r--r--nixpkgs/pkgs/tools/archivers/7zz/fix-empty-expr-stmt.patch184
-rwxr-xr-xnixpkgs/pkgs/tools/archivers/7zz/update.sh2
-rw-r--r--nixpkgs/pkgs/tools/archivers/unzip/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/audio/pulsemixer/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/backup/gyb/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/backup/partclone/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/dysk/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/graphics/csv2svg/default.nix24
-rw-r--r--nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/netpbm/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix15
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix4
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix4
-rwxr-xr-xnixpkgs/pkgs/tools/inputmethods/fcitx5/update.py1
-rw-r--r--nixpkgs/pkgs/tools/misc/SP800-90B_EntropyAssessment/default.nix50
-rw-r--r--nixpkgs/pkgs/tools/misc/backdown/default.nix27
-rw-r--r--nixpkgs/pkgs/tools/misc/btc-rpc-explorer/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/cloc/default.nix29
-rw-r--r--nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/colorpicker/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/misc/diffoscope/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/esphome/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/eza/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/fastfetch/default.nix18
-rw-r--r--nixpkgs/pkgs/tools/misc/findutils/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/gaphor/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/hyperpotamus/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/ollama/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/pipreqs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/pv/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/misc/starry/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/misc/tere/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/timetagger_cli/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/zotero-translation-server/default.nix35
-rw-r--r--nixpkgs/pkgs/tools/networking/chisel/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/clash/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/networking/containerlab/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/ddns-go/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/graphqurl/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/networking/minio-client/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/narrowlink/Cargo.lock.patch170
-rw-r--r--nixpkgs/pkgs/tools/networking/narrowlink/default.nix43
-rw-r--r--nixpkgs/pkgs/tools/networking/ocserv/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/opensnitch/daemon.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/deploy-rs/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/package-management/dpkg/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/package-management/nix-index/default.nix20
-rw-r--r--nixpkgs/pkgs/tools/package-management/pdm/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/cnspec/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/doppler/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/galer/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/gitleaks/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/govulncheck/default.nix22
-rw-r--r--nixpkgs/pkgs/tools/security/holehe/default.nix46
-rw-r--r--nixpkgs/pkgs/tools/security/hstsparser/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/security/kepler/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/security/nuclei/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/plasma-pass/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/security/tor/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/trufflehog/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/wapiti/default.nix42
-rw-r--r--nixpkgs/pkgs/tools/system/acpica-tools/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/hddfancontrol/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/text/clima/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/text/markdownlint-cli2/default.nix32
-rw-r--r--nixpkgs/pkgs/tools/text/txr/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/ugrep/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/wrap/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/text/write-good/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/typesetting/carbon-now-cli/default.nix37
-rw-r--r--nixpkgs/pkgs/tools/typesetting/marp/default.nix76
-rw-r--r--nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix4
100 files changed, 1458 insertions, 846 deletions
diff --git a/nixpkgs/pkgs/tools/X11/numlockx/default.nix b/nixpkgs/pkgs/tools/X11/numlockx/default.nix
index 5cd23a81f308..32eb652d8b72 100644
--- a/nixpkgs/pkgs/tools/X11/numlockx/default.nix
+++ b/nixpkgs/pkgs/tools/X11/numlockx/default.nix
@@ -1,21 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, libX11, libXext, autoconf }:
+{ lib, stdenv, fetchFromGitHub, autoconf, libX11, libXext }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   version = "1.2";
   pname = "numlockx";
 
   src = fetchFromGitHub {
     owner = "rg3";
-    repo = pname;
+    repo = "numlockx";
     rev = "9159fd3c5717c595dadfcb33b380a85c88406185";
-    sha256 = "1w49fayhwzn5rx0z1q2lrvm7z8jrd34lgb89p853a024bixc3cf2";
+    hash = "sha256-wrHBelxEADUKugmtR8loWaJ/6s5U4PBBz8V+Dr1yifA=";
   };
 
   buildInputs = [ libX11 libXext autoconf ];
 
-  meta = with lib; {
+  meta = {
     description = "Allows to start X with NumLock turned on";
-    license = licenses.mit;
-    platforms = platforms.all;
+    license = lib.licenses.mit;
+    platforms = lib.platforms.all;
+    mainProgram = "numlockx";
   };
 }
diff --git a/nixpkgs/pkgs/tools/admin/ansible/doctor.nix b/nixpkgs/pkgs/tools/admin/ansible/doctor.nix
index e51d2faced9d..ef7ef6aabb85 100644
--- a/nixpkgs/pkgs/tools/admin/ansible/doctor.nix
+++ b/nixpkgs/pkgs/tools/admin/ansible/doctor.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , python3
 }:
 
@@ -15,15 +16,20 @@ python3.pkgs.buildPythonApplication rec {
     hash = "sha256-nZv1PdR0kGrke2AjcDWjDWBdsw64UpHYFNDFAe/UoJo=";
   };
 
-  pythonRelaxDeps = true;
+  patches = [
+    # https://github.com/thegeeklab/ansible-doctor/pull/541
+    (fetchpatch {
+      name = "poetry-dynamic-versioning-pep517.patch";
+      url = "https://github.com/thegeeklab/ansible-doctor/commit/b77ba9dccaef4b386bd54b128136c948665eb61a.patch";
+      hash = "sha256-XfdTkRk9B857V5DQnxlbwxTb098YwHzKGzNQBTQzWCM=";
+    })
+  ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'version = "0.0.0"' 'version = "${version}"'
-  '';
+  pythonRelaxDeps = true;
 
   nativeBuildInputs = with python3.pkgs; [
     poetry-core
+    poetry-dynamic-versioning
     pythonRelaxDepsHook
   ];
 
diff --git a/nixpkgs/pkgs/tools/admin/ansible/later.nix b/nixpkgs/pkgs/tools/admin/ansible/later.nix
index db1c7beb2a58..733981ecd928 100644
--- a/nixpkgs/pkgs/tools/admin/ansible/later.nix
+++ b/nixpkgs/pkgs/tools/admin/ansible/later.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , python3
 }:
 
@@ -15,9 +16,17 @@ python3.pkgs.buildPythonApplication rec {
     hash = "sha256-7k81eEcM+BXNrln6+Lu0+1LjsZdYkUidrRQCdlBbQB8=";
   };
 
+  patches = [
+    # https://github.com/thegeeklab/ansible-later/pull/658
+    (fetchpatch {
+      name = "poetry-dynamic-versioning-pep517.patch";
+      url = "https://github.com/thegeeklab/ansible-later/commit/a2c278fb45769648df1439df5bb25883dddfc58a.patch";
+      hash = "sha256-++CiwwHZoaPC8XHaYbNQeU3zqEi2a4eIYbuSQkO0jTI=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'version = "0.0.0"' 'version = "${version}"' \
       --replace " --cov=ansiblelater --cov-report=xml:coverage.xml --cov-report=term --no-cov-on-fail" ""
   '';
 
@@ -34,6 +43,7 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = with python3.pkgs; [
     poetry-core
+    poetry-dynamic-versioning
     pythonRelaxDepsHook
   ];
 
diff --git a/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix b/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix
index 6d1ec85fb6cd..48c783ccf18a 100644
--- a/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix
+++ b/nixpkgs/pkgs/tools/admin/aws-nuke/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "aws-nuke";
-  version = "2.23.0";
+  version = "2.24.1";
 
   src = fetchFromGitHub {
     owner = "rebuy-de";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-fvEUZWnYjSZrdTLTq1WVuZ3GaIWqdk3+qnuXDwT0K/0=";
+    hash = "sha256-AftmWmZFi9NIXNxbMEO1eIzRl3UwS3rxXZ4htJClEfo=";
   };
 
-  vendorHash = "sha256-c9OpKsP4TQ4aDZnHPSy6tNmNBN6tsj4Kb8WOig5+ogI=";
+  vendorHash = "sha256-cYQlHl0fmLH5f+QNdJ+V6L9Ts8sa9y8l0oOIqdpJlL0=";
 
   overrideModAttrs = _: {
     preBuild = ''
diff --git a/nixpkgs/pkgs/tools/admin/drawterm/default.nix b/nixpkgs/pkgs/tools/admin/drawterm/default.nix
index 32421a62da59..1a96f3bcfbe4 100644
--- a/nixpkgs/pkgs/tools/admin/drawterm/default.nix
+++ b/nixpkgs/pkgs/tools/admin/drawterm/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation {
   pname = "drawterm";
-  version = "unstable-2023-06-27";
+  version = "unstable-2023-08-22";
 
   src = fetchFrom9Front {
     owner = "plan9front";
     repo = "drawterm";
-    rev = "36debf46ac184a22c6936345d22e4cfad995948c";
-    hash = "sha256-ebqw1jqeRC0FWeUIO/HaEovuwzU6+B48TjZbVJXByvA=";
+    rev = "c91c6fac9d725716ca6ecc3002053f941137f24f";
+    hash = "sha256-oGcKRx1tP2jeshHhaCHPRKmwKQ3WPYK1tHGGt1/3oDU=";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/tools/admin/lego/default.nix b/nixpkgs/pkgs/tools/admin/lego/default.nix
index b80aa8782327..6fa7b3a8a257 100644
--- a/nixpkgs/pkgs/tools/admin/lego/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lego/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lego";
-  version = "4.13.2";
+  version = "4.14.0";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nFRDA0EHV1i9mcl1i5WpfhTNseU9E9jmlPd1xFbkCaM=";
+    sha256 = "sha256-dIHyorypyaKIv0Jo+iAK25j7NabgmPtNC6eJVwCl0LQ=";
   };
 
-  vendorHash = "sha256-mjCxe4hCCIcjVDWVizqqqo6/kn8iS8s32urMtDD5yq4=";
+  vendorHash = "sha256-nAEPkikm98xbGQJzsB6YNXgpZVgR4AK/uCPwiQ25OYU=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/admin/lxd/default.nix b/nixpkgs/pkgs/tools/admin/lxd/default.nix
index 02bf8cbd4e6c..427d60f3edf6 100644
--- a/nixpkgs/pkgs/tools/admin/lxd/default.nix
+++ b/nixpkgs/pkgs/tools/admin/lxd/default.nix
@@ -76,8 +76,6 @@ buildGoModule rec {
   '';
 
   passthru.tests.lxd = nixosTests.lxd;
-  passthru.tests.lxd-nftables = nixosTests.lxd-nftables;
-  passthru.tests.lxd-ui = nixosTests.lxd-ui;
   passthru.ui = callPackage ./ui.nix { };
   passthru.updateScript = gitUpdater {
     url = "https://github.com/canonical/lxd.git";
diff --git a/nixpkgs/pkgs/tools/admin/pgadmin/default.nix b/nixpkgs/pkgs/tools/admin/pgadmin/default.nix
index ee650446ee7c..3040258c0ca7 100644
--- a/nixpkgs/pkgs/tools/admin/pgadmin/default.nix
+++ b/nixpkgs/pkgs/tools/admin/pgadmin/default.nix
@@ -144,8 +144,8 @@ pythonPackages.buildPythonApplication rec {
     flask
     flask-gravatar
     flask-login
-    flask_mail
-    flask_migrate
+    flask-mail
+    flask-migrate
     flask-sqlalchemy
     flask-wtf
     flask-compress
diff --git a/nixpkgs/pkgs/tools/admin/salt/default.nix b/nixpkgs/pkgs/tools/admin/salt/default.nix
index 0c5b7da18274..1af08922edce 100644
--- a/nixpkgs/pkgs/tools/admin/salt/default.nix
+++ b/nixpkgs/pkgs/tools/admin/salt/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , python3
+, fetchpatch
 , fetchPypi
 , openssl
   # Many Salt modules require various Python modules to be installed,
@@ -10,29 +11,21 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "salt";
-  version = "3006.1";
+  version = "3006.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lVh71hHepq/7aQjQ7CaGy37bhMFBRLSFF3bxJ6YOxbk=";
+    hash = "sha256-+I0aJeIw2co9/eE9rdRmB6KxdQq1WoY1nFpCUedx8Wc=";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [
-    distro
-    jinja2
-    jmespath
-    looseversion
-    markupsafe
-    msgpack
-    packaging
-    psutil
-    pycryptodomex
-    pyyaml
-    pyzmq
-    requests
-  ] ++ extraInputs;
-
   patches = [
+    # https://github.com/saltstack/salt/pull/63795
+    (fetchpatch {
+      name = "remove-duplicate-scripts.patch";
+      url = "https://github.com/saltstack/salt/commit/6b9463836e70e40409dbf653f01aa94ef869dfe7.patch";
+      hash = "sha256-VcVdKC8EH4qoWHtq6eEPl8OviR4eA2k/S2lWNQbubJw=";
+    })
     ./fix-libcrypto-loading.patch
   ];
 
@@ -51,6 +44,21 @@ python3.pkgs.buildPythonApplication rec {
       --replace 'pyzmq==25.0.2 ; sys_platform == "win32"' ""
   '';
 
+  propagatedBuildInputs = with python3.pkgs; [
+    distro
+    jinja2
+    jmespath
+    looseversion
+    markupsafe
+    msgpack
+    packaging
+    psutil
+    pycryptodomex
+    pyyaml
+    pyzmq
+    requests
+  ] ++ extraInputs;
+
   # Don't use fixed dependencies on Darwin
   USE_STATIC_REQUIREMENTS = "0";
 
diff --git a/nixpkgs/pkgs/tools/archivers/7zz/default.nix b/nixpkgs/pkgs/tools/archivers/7zz/default.nix
index 06fb4aae1a0e..6df03f1d83d2 100644
--- a/nixpkgs/pkgs/tools/archivers/7zz/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/7zz/default.nix
@@ -24,15 +24,15 @@ let
     x86_64-linux = "../../cmpl_gcc_x64.mak";
   }.${stdenv.hostPlatform.system} or "../../cmpl_gcc.mak"; # generic build
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "7zz";
-  version = "22.01";
+  version = "23.01";
 
   src = fetchurl {
-    url = "https://7-zip.org/a/7z${lib.replaceStrings [ "." ] [ "" ] version}-src.tar.xz";
+    url = "https://7-zip.org/a/7z${lib.replaceStrings [ "." ] [ "" ] finalAttrs.version}-src.tar.xz";
     hash = {
-      free = "sha256-mp3cFXOEiVptkUdD1+X8XxwoJhBGs+Ns5qk3HBByfLg=";
-      unfree = "sha256-OTCYcwxwBCOSr4CJF+dllF3CQ33ueq48/MSWbrkg+8U=";
+      free = "sha256-F1ybQsyReF2NBR/3eMZySvxVEntpwq2VUlRCHp/5nZs=";
+      unfree = "sha256-NWBxAHNg5aGCTZkEmT6LJIC1G1cOjJ+vfA9Y6+S/n3Q=";
     }.${if enableUnfree then "unfree" else "free"};
     downloadToTemp = (!enableUnfree);
     # remove the unRAR related code from the src drv
@@ -54,10 +54,10 @@ stdenv.mkDerivation rec {
   sourceRoot = ".";
 
   patches = [
-    ./fix-build-on-darwin.patch
     ./fix-cross-mingw-build.patch
+    # remove unneeded semicolons related to -Wextra-semi-stmt, caused by upstream
+    ./fix-empty-expr-stmt.patch
   ];
-  patchFlags = [ "-p0" ];
 
   postPatch = lib.optionalString stdenv.hostPlatform.isMinGW ''
     substituteInPlace CPP/7zip/7zip_gcc.mak C/7zip_gcc_c.mak \
@@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
     runHook preInstall
 
     install -Dm555 -t $out/bin b/*/7zz${stdenv.hostPlatform.extensions.executable}
-    install -Dm444 -t $out/share/doc/${pname} ../../../../DOC/*.txt
+    install -Dm444 -t $out/share/doc/${finalAttrs.pname} ../../../../DOC/*.txt
 
     runHook postInstall
   '';
@@ -120,8 +120,8 @@ stdenv.mkDerivation rec {
       # and CPP/7zip/Compress/Rar* are unfree with the unRAR license restriction
       # the unRAR compression code is disabled by default
       lib.optionals enableUnfree [ unfree ];
-    maintainers = with maintainers; [ anna328p peterhoeg jk ];
+    maintainers = with maintainers; [ anna328p eclairevoyant jk peterhoeg ];
     platforms = platforms.unix ++ platforms.windows;
     mainProgram = "7zz";
   };
-}
+})
diff --git a/nixpkgs/pkgs/tools/archivers/7zz/fix-build-on-darwin.patch b/nixpkgs/pkgs/tools/archivers/7zz/fix-build-on-darwin.patch
deleted file mode 100644
index 9d8ee7f9bc60..000000000000
--- a/nixpkgs/pkgs/tools/archivers/7zz/fix-build-on-darwin.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naur CPP/7zip/Common/FileStreams.cpp CPP/7zip/Common/FileStreams.cpp
---- CPP/7zip/Common/FileStreams.cpp
-+++ CPP/7zip/Common/FileStreams.cpp
-@@ -12,7 +12,7 @@
- #include <pwd.h>

- 

- // for major()/minor():

--#if defined(__FreeBSD__) || defined(BSD)

-+#if defined(__FreeBSD__) || defined(BSD) || defined(__APPLE__)

- #include <sys/types.h>

- #else

- #include <sys/sysmacros.h>

-diff -Naur CPP/7zip/UI/Common/UpdateCallback.cpp CPP/7zip/UI/Common/UpdateCallback.cpp
---- CPP/7zip/UI/Common/UpdateCallback.cpp
-+++ CPP/7zip/UI/Common/UpdateCallback.cpp
-@@ -9,7 +9,7 @@
- // #include <pwd.h>

- 

- // for major()/minor():

--#if defined(__FreeBSD__) || defined(BSD)

-+#if defined(__FreeBSD__) || defined(BSD) || defined(__APPLE__)

- #include <sys/types.h>

- #else

- #include <sys/sysmacros.h>

diff --git a/nixpkgs/pkgs/tools/archivers/7zz/fix-cross-mingw-build.patch b/nixpkgs/pkgs/tools/archivers/7zz/fix-cross-mingw-build.patch
index 59608b52b793..4b0ccb6f2b0f 100644
--- a/nixpkgs/pkgs/tools/archivers/7zz/fix-cross-mingw-build.patch
+++ b/nixpkgs/pkgs/tools/archivers/7zz/fix-cross-mingw-build.patch
@@ -1,7 +1,5 @@
-diff --git C/7zVersion.rc C/7zVersion.rc
-index 6ed26de7445..675e9bb0321 100755
---- C/7zVersion.rc
-+++ C/7zVersion.rc
+--- a/C/7zVersion.rc
++++ b/C/7zVersion.rc
 @@ -5,7 +5,7 @@
  #define MY_VFT_APP  0x00000001L

  #define MY_VFT_DLL  0x00000002L

@@ -11,106 +9,32 @@ index 6ed26de7445..675e9bb0321 100755
  

  #ifndef MY_VERSION

  #include "7zVersion.h"

-diff --git C/7zip_gcc_c.mak C/7zip_gcc_c.mak
-index d41810478db..43cdd51271e 100755
---- C/7zip_gcc_c.mak
-+++ C/7zip_gcc_c.mak
-@@ -93,7 +93,7 @@ DEL_OBJ_EXE = -$(RM) $(O)\*.o $(O)\$(PROG).exe $(O)\$(PROG).dll
+--- a/C/7zip_gcc_c.mak
++++ b/C/7zip_gcc_c.mak
+@@ -106,7 +106,7 @@
  endif

  

  

--LIB2 = -lOle32 -loleaut32 -luuid -ladvapi32 -lUser32

-+LIB2 = -lole32 -loleaut32 -luuid -ladvapi32 -luser32

+-LIB2 = -lOle32 -loleaut32 -luuid -ladvapi32 -lUser32 -lShell32

++LIB2 = -lole32 -loleaut32 -luuid -ladvapi32 -luser32 -lshell32

  

- CXXFLAGS_EXTRA = -DUNICODE -D_UNICODE

+ CFLAGS_EXTRA = -DUNICODE -D_UNICODE

  # -Wno-delete-non-virtual-dtor

-diff --git C/Alloc.c C/Alloc.c
-index 142a1ea2219..0d0107c56f4 100755
---- C/Alloc.c
-+++ C/Alloc.c
-@@ -6,7 +6,7 @@
- #include <stdio.h>

- 

- #ifdef _WIN32

--#include <Windows.h>

-+#include <windows.h>

- #endif

- #include <stdlib.h>

- 

-diff --git C/CpuArch.c C/CpuArch.c
-index a0e93e8b08e..36e0be0b1c8 100755
---- C/CpuArch.c
-+++ C/CpuArch.c
-@@ -217,7 +217,7 @@ BoolInt CPU_Is_InOrder()
- }

- 

- #if !defined(MY_CPU_AMD64) && defined(_WIN32)

--#include <Windows.h>

-+#include <windows.h>

- static BoolInt CPU_Sys_Is_SSE_Supported()

- {

-   OSVERSIONINFO vi;

-@@ -275,7 +275,7 @@ BoolInt CPU_IsSupported_SHA()
- // #include <stdio.h>

- 

- #ifdef _WIN32

--#include <Windows.h>

-+#include <windows.h>

- #endif

- 

- BoolInt CPU_IsSupported_AVX2()

-@@ -351,7 +351,7 @@ BoolInt CPU_IsSupported_PageGB()
- 

- #ifdef _WIN32

- 

--#include <Windows.h>

-+#include <windows.h>

- 

- BoolInt CPU_IsSupported_CRC32()  { return IsProcessorFeaturePresent(PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE) ? 1 : 0; }

- BoolInt CPU_IsSupported_CRYPTO() { return IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ? 1 : 0; }

-diff --git C/DllSecur.c C/DllSecur.c
-index a37c1b3e2c5..16755bba930 100755
---- C/DllSecur.c
-+++ C/DllSecur.c
-@@ -5,7 +5,7 @@
- 

- #ifdef _WIN32

- 

--#include <Windows.h>

-+#include <windows.h>

+--- a/CPP/7zip/7zip_gcc.mak
++++ b/CPP/7zip/7zip_gcc.mak
+@@ -124,8 +124,8 @@
+ DEL_OBJ_EXE = -$(RM) $(O)\*.o $(O)\$(PROG).exe $(O)\$(PROG).dll

+ endif

  

- #include "DllSecur.h"

+-LIB2_GUI = -lOle32 -lGdi32 -lComctl32 -lComdlg32 -lShell32 $(LIB_HTMLHELP)

+-LIB2 = -loleaut32 -luuid -ladvapi32 -lUser32 $(LIB2_GUI)

++LIB2_GUI = -lole32 -lgdi32 -lcomctl32 -lcomdlg32 -lshell32 $(LIB_HTMLHELP)

++LIB2 = -loleaut32 -luuid -ladvapi32 -luser32 $(LIB2_GUI)

  

-diff --git C/Threads.h C/Threads.h
-index e9493afff62..71972558d48 100755
---- C/Threads.h
-+++ C/Threads.h
-@@ -5,7 +5,7 @@
- #define __7Z_THREADS_H

- 

- #ifdef _WIN32

--#include <Windows.h>

-+#include <windows.h>

- #else

- 

- #if defined(__linux__)

-diff --git C/Util/7zipInstall/7zipInstall.c C/Util/7zipInstall/7zipInstall.c
-index 2c498bb4392..d791bc4181c 100755
---- C/Util/7zipInstall/7zipInstall.c
-+++ C/Util/7zipInstall/7zipInstall.c
-@@ -10,7 +10,7 @@
- #endif

- 

- #include <windows.h>

--#include <ShlObj.h>

-+#include <shlobj.h>

- 

- #include "../../7z.h"

- #include "../../7zAlloc.h"

-diff --git C/Util/7zipInstall/resource.rc C/Util/7zipInstall/resource.rc
-index 4d6a91feda1..c19f601f69f 100755
---- C/Util/7zipInstall/resource.rc
-+++ C/Util/7zipInstall/resource.rc
+ CXXFLAGS_EXTRA = -DUNICODE -D_UNICODE

+ # -Wno-delete-non-virtual-dtor

+--- a/C/Util/7zipInstall/resource.rc
++++ b/C/Util/7zipInstall/resource.rc
 @@ -1,6 +1,6 @@
  #include <winnt.h>

  #include <WinUser.h>

@@ -119,23 +43,8 @@ index 4d6a91feda1..c19f601f69f 100755
  

  #define USE_COPYRIGHT_CR

  #include "../../7zVersion.rc"

-diff --git C/Util/7zipUninstall/7zipUninstall.c C/Util/7zipUninstall/7zipUninstall.c
-index 89cd764dbe9..32ece1c6c14 100755
---- C/Util/7zipUninstall/7zipUninstall.c
-+++ C/Util/7zipUninstall/7zipUninstall.c
-@@ -11,7 +11,7 @@
- // #define SZ_ERROR_ABORT 100

- 

- #include <windows.h>

--#include <ShlObj.h>

-+#include <shlobj.h>

- 

- #include "../../7zVersion.h"

- 

-diff --git C/Util/7zipUninstall/resource.rc C/Util/7zipUninstall/resource.rc
-index 506e0665cdd..ae1dfedc83b 100755
---- C/Util/7zipUninstall/resource.rc
-+++ C/Util/7zipUninstall/resource.rc
+--- a/C/Util/7zipUninstall/resource.rc
++++ b/C/Util/7zipUninstall/resource.rc
 @@ -1,6 +1,6 @@
  #include <winnt.h>

  #include <WinUser.h>

@@ -144,67 +53,8 @@ index 506e0665cdd..ae1dfedc83b 100755
  

  #define USE_COPYRIGHT_CR

  #include "../../7zVersion.rc"

-diff --git CPP/7zip/7zip_gcc.mak CPP/7zip/7zip_gcc.mak
-index 2a24e06aa1f..fb32b933201 100755
---- CPP/7zip/7zip_gcc.mak
-+++ CPP/7zip/7zip_gcc.mak
-@@ -113,8 +113,8 @@ MY_MKDIR=mkdir
- DEL_OBJ_EXE = -$(RM) $(O)\*.o $(O)\$(PROG).exe $(O)\$(PROG).dll

- endif

- 

--LIB2_GUI = -lOle32 -lGdi32 -lComctl32 -lComdlg32 $(LIB_HTMLHELP)

--LIB2 = -loleaut32 -luuid -ladvapi32 -lUser32 $(LIB2_GUI)

-+LIB2_GUI = -lole32 -lgdi32 -lcomctl32 -lcomdlg32 $(LIB_HTMLHELP)

-+LIB2 = -loleaut32 -luuid -ladvapi32 -luser32 $(LIB2_GUI)

- 

- CXXFLAGS_EXTRA = -DUNICODE -D_UNICODE

- # -Wno-delete-non-virtual-dtor

-diff --git CPP/7zip/Bundles/Fm/StdAfx.h CPP/7zip/Bundles/Fm/StdAfx.h
-index c15e07939da..d1e094cc339 100755
---- CPP/7zip/Bundles/Fm/StdAfx.h
-+++ CPP/7zip/Bundles/Fm/StdAfx.h
-@@ -9,8 +9,8 @@
- 

- #include "../../../Common/Common.h"

- 

--#include <CommCtrl.h>

--#include <ShlObj.h>

--#include <Shlwapi.h>

-+#include <commctrl.h>

-+#include <shlobj.h>

-+#include <shlwapi.h>

- 

- #endif

-diff --git CPP/7zip/Bundles/SFXWin/SfxWin.cpp CPP/7zip/Bundles/SFXWin/SfxWin.cpp
-index cf3bad389a0..260484c11e4 100755
---- CPP/7zip/Bundles/SFXWin/SfxWin.cpp
-+++ CPP/7zip/Bundles/SFXWin/SfxWin.cpp
-@@ -4,7 +4,7 @@
- 

- #include "../../../Common/MyWindows.h"

- 

--#include <Shlwapi.h>

-+#include <shlwapi.h>

- 

- #include "../../../Common/MyInitGuid.h"

- 

-diff --git CPP/7zip/Bundles/SFXWin/StdAfx.h CPP/7zip/Bundles/SFXWin/StdAfx.h
-index f263ecb77c5..e96640e995c 100755
---- CPP/7zip/Bundles/SFXWin/StdAfx.h
-+++ CPP/7zip/Bundles/SFXWin/StdAfx.h
-@@ -6,7 +6,7 @@
- #include "../../../Common/Common.h"

- 

- #include <commctrl.h>

--#include <ShlObj.h>

-+#include <shlobj.h>

- 

- // #define printf(x) NO_PRINTF_(x)

- // #define sprintf(x) NO_SPRINTF_(x)

-diff --git CPP/7zip/Crypto/RandGen.cpp CPP/7zip/Crypto/RandGen.cpp
-index c123109a15b..c3709ccff6b 100755
---- CPP/7zip/Crypto/RandGen.cpp
-+++ CPP/7zip/Crypto/RandGen.cpp
+--- a/CPP/7zip/Crypto/RandGen.cpp
++++ b/CPP/7zip/Crypto/RandGen.cpp
 @@ -19,7 +19,7 @@
  

  #ifdef USE_STATIC_RtlGenRandom

@@ -214,10 +64,8 @@ index c123109a15b..c3709ccff6b 100755
  

  EXTERN_C_BEGIN

  #ifndef RtlGenRandom

-diff --git CPP/7zip/GuiCommon.rc CPP/7zip/GuiCommon.rc
-index 565ee702ef9..13043ef4c53 100755
---- CPP/7zip/GuiCommon.rc
-+++ CPP/7zip/GuiCommon.rc
+--- a/CPP/7zip/GuiCommon.rc
++++ b/CPP/7zip/GuiCommon.rc
 @@ -4,7 +4,7 @@
  // #include <WinUser.h>

  

@@ -227,186 +75,8 @@ index 565ee702ef9..13043ef4c53 100755
  

  

  LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US

-diff --git CPP/7zip/MyVersionInfo.rc CPP/7zip/MyVersionInfo.rc
-index eddf8935c84..90e65376be8 100755
---- CPP/7zip/MyVersionInfo.rc
-+++ CPP/7zip/MyVersionInfo.rc
-@@ -1,2 +1,2 @@
- #include "MyVersion.h"

--#include "..\..\C\7zVersion.rc"

-+#include "../../C/7zVersion.rc"

-diff --git CPP/7zip/UI/Common/Update.cpp CPP/7zip/UI/Common/Update.cpp
-index 5490ff445a0..003ee6634ea 100755
---- CPP/7zip/UI/Common/Update.cpp
-+++ CPP/7zip/UI/Common/Update.cpp
-@@ -1163,7 +1163,7 @@ static HRESULT EnumerateInArchiveItems(
- 

- #if defined(_WIN32) && !defined(UNDER_CE)

- 

--#include <MAPI.h>

-+#include <mapi.h>

- 

- #endif

- 

-diff --git CPP/7zip/UI/Console/Main.cpp CPP/7zip/UI/Console/Main.cpp
-index 363572cd3dd..765f55293a7 100755
---- CPP/7zip/UI/Console/Main.cpp
-+++ CPP/7zip/UI/Console/Main.cpp
-@@ -5,7 +5,7 @@
- #include "../../../Common/MyWindows.h"

- 

- #ifdef _WIN32

--#include <Psapi.h>

-+#include <psapi.h>

- #else

- #include <unistd.h>

- #include <sys/ioctl.h>

-diff --git CPP/7zip/UI/Explorer/ContextMenu.h CPP/7zip/UI/Explorer/ContextMenu.h
-index e60ffccf11b..aea34e7de07 100755
---- CPP/7zip/UI/Explorer/ContextMenu.h
-+++ CPP/7zip/UI/Explorer/ContextMenu.h
-@@ -5,7 +5,7 @@
- 

- #include "../../../Common/MyWindows.h"

- 

--#include <ShlObj.h>

-+#include <shlobj.h>

- 

- #include "MyExplorerCommand.h"

- 

-diff --git CPP/7zip/UI/Explorer/DllExportsExplorer.cpp CPP/7zip/UI/Explorer/DllExportsExplorer.cpp
-index 84c92e2e2d3..df126d8d232 100755
---- CPP/7zip/UI/Explorer/DllExportsExplorer.cpp
-+++ CPP/7zip/UI/Explorer/DllExportsExplorer.cpp
-@@ -11,7 +11,7 @@
- #include "../../../Common/MyWindows.h"

- // #include "../../../Common/IntToString.h"

- 

--#include <OleCtl.h>

-+#include <olectl.h>

- 

- #include "../../../Common/MyInitGuid.h"

- 

-diff --git CPP/7zip/UI/Explorer/MyExplorerCommand.h CPP/7zip/UI/Explorer/MyExplorerCommand.h
-index b1997f0da6e..d1d038df11b 100755
---- CPP/7zip/UI/Explorer/MyExplorerCommand.h
-+++ CPP/7zip/UI/Explorer/MyExplorerCommand.h
-@@ -17,7 +17,7 @@
-     ShObjIdl.h      : old Windows SDK

-     ShObjIdl_core.h : new Windows 10 SDK */

- 

--#include <ShObjIdl.h>

-+#include <shobjidl.h>

- 

- #ifndef __IShellItem_INTERFACE_DEFINED__

- #define __IShellItem_INTERFACE_DEFINED__

-diff --git CPP/7zip/UI/Explorer/StdAfx.h CPP/7zip/UI/Explorer/StdAfx.h
-index 35e8b337d68..16883ceda1b 100755
---- CPP/7zip/UI/Explorer/StdAfx.h
-+++ CPP/7zip/UI/Explorer/StdAfx.h
-@@ -9,6 +9,6 @@
- 

- #include "../../../Common/Common.h"

- 

--#include <ShlObj.h>

-+#include <shlobj.h>

- 

- #endif

-diff --git CPP/7zip/UI/FileManager/BrowseDialog.cpp CPP/7zip/UI/FileManager/BrowseDialog.cpp
-index e43172385b6..286faeeb660 100755
---- CPP/7zip/UI/FileManager/BrowseDialog.cpp
-+++ CPP/7zip/UI/FileManager/BrowseDialog.cpp
-@@ -4,7 +4,7 @@
- 

- #include "../../../Common/MyWindows.h"

- 

--#include <CommCtrl.h>

-+#include <commctrl.h>

- 

- #ifndef UNDER_CE

- #include "../../../Windows/CommonDialog.h"

-diff --git CPP/7zip/UI/FileManager/FM.cpp CPP/7zip/UI/FileManager/FM.cpp
-index b0b3715c9a5..14af8c32288 100755
---- CPP/7zip/UI/FileManager/FM.cpp
-+++ CPP/7zip/UI/FileManager/FM.cpp
-@@ -4,7 +4,7 @@
- 

- #include "../../../Common/MyWindows.h"

- 

--#include <Shlwapi.h>

-+#include <shlwapi.h>

- 

- #include "../../../../C/Alloc.h"

- #ifdef _WIN32

-diff --git CPP/7zip/UI/FileManager/FSFolderCopy.cpp CPP/7zip/UI/FileManager/FSFolderCopy.cpp
-index b0e1146816d..16208e58f6b 100755
---- CPP/7zip/UI/FileManager/FSFolderCopy.cpp
-+++ CPP/7zip/UI/FileManager/FSFolderCopy.cpp
-@@ -4,7 +4,7 @@
- 

- #include "../../../Common/MyWindows.h"

- 

--#include <WinBase.h>

-+#include <winbase.h>

- 

- #include "../../../Common/Defs.h"

- #include "../../../Common/StringConvert.h"

-diff --git CPP/7zip/UI/FileManager/HelpUtils.cpp CPP/7zip/UI/FileManager/HelpUtils.cpp
-index 94253a70f5c..3f4479dbddd 100755
---- CPP/7zip/UI/FileManager/HelpUtils.cpp
-+++ CPP/7zip/UI/FileManager/HelpUtils.cpp
-@@ -24,7 +24,7 @@ void ShowHelpWindow(LPCSTR)
- #include "../../../Windows/FileName.h"

- 

- #else

--#include <HtmlHelp.h>

-+#include <htmlhelp.h>

- #endif

- 

- #include "../../../Common/StringConvert.h"

-diff --git CPP/7zip/UI/FileManager/MyWindowsNew.h CPP/7zip/UI/FileManager/MyWindowsNew.h
-index c0fe8439b98..ba7d608b90e 100755
---- CPP/7zip/UI/FileManager/MyWindowsNew.h
-+++ CPP/7zip/UI/FileManager/MyWindowsNew.h
-@@ -5,7 +5,7 @@
- 

- #ifdef _MSC_VER

- 

--#include <ShObjIdl.h>

-+#include <shobjidl.h>

- 

- #ifndef __ITaskbarList3_INTERFACE_DEFINED__

- #define __ITaskbarList3_INTERFACE_DEFINED__

-diff --git CPP/7zip/UI/FileManager/Panel.cpp CPP/7zip/UI/FileManager/Panel.cpp
-index f7162e502ac..2eaf9e1266b 100755
---- CPP/7zip/UI/FileManager/Panel.cpp
-+++ CPP/7zip/UI/FileManager/Panel.cpp
-@@ -2,7 +2,7 @@
- 

- #include "StdAfx.h"

- 

--#include <WindowsX.h>

-+#include <windowsx.h>

- // #include <stdio.h>

- 

- #include "../../../Common/IntToString.h"

-diff --git CPP/7zip/UI/FileManager/Panel.h CPP/7zip/UI/FileManager/Panel.h
-index 5a9fef01de2..1f2b86a8e43 100755
---- CPP/7zip/UI/FileManager/Panel.h
-+++ CPP/7zip/UI/FileManager/Panel.h
-@@ -5,7 +5,7 @@
- 

- #include "../../../Common/MyWindows.h"

- 

--#include <ShlObj.h>

-+#include <shlobj.h>

- 

- #include "../../../../C/Alloc.h"

- 

-diff --git CPP/7zip/UI/FileManager/PanelItemOpen.cpp CPP/7zip/UI/FileManager/PanelItemOpen.cpp
-index 6af42c96923..595acdbb563 100755
---- CPP/7zip/UI/FileManager/PanelItemOpen.cpp
-+++ CPP/7zip/UI/FileManager/PanelItemOpen.cpp
+--- a/CPP/7zip/UI/FileManager/PanelItemOpen.cpp
++++ b/CPP/7zip/UI/FileManager/PanelItemOpen.cpp
 @@ -4,7 +4,7 @@
  

  #include "../../../Common/MyWindows.h"

@@ -416,52 +86,8 @@ index 6af42c96923..595acdbb563 100755
  

  #include "../../../Common/IntToString.h"

  

-diff --git CPP/7zip/UI/FileManager/RootFolder.cpp CPP/7zip/UI/FileManager/RootFolder.cpp
-index 6984434026f..d50c1eb832e 100755
---- CPP/7zip/UI/FileManager/RootFolder.cpp
-+++ CPP/7zip/UI/FileManager/RootFolder.cpp
-@@ -4,7 +4,7 @@
- 

- #include "../../../Common/MyWindows.h"

- 

--#include <ShlObj.h>

-+#include <shlobj.h>

- 

- #include "../../../Common/StringConvert.h"

- 

-diff --git CPP/7zip/UI/FileManager/StdAfx.h CPP/7zip/UI/FileManager/StdAfx.h
-index 74cfbc6deef..88960aa8c58 100755
---- CPP/7zip/UI/FileManager/StdAfx.h
-+++ CPP/7zip/UI/FileManager/StdAfx.h
-@@ -14,8 +14,8 @@
- 

- // #include "../../../Common/MyWindows.h"

- 

--// #include <CommCtrl.h>

--// #include <ShlObj.h>

--// #include <Shlwapi.h>

-+// #include <commctrl.h>

-+// #include <shlobj.h>

-+// #include <shlwapi.h>

- 

- #endif

-diff --git CPP/7zip/UI/FileManager/SysIconUtils.cpp CPP/7zip/UI/FileManager/SysIconUtils.cpp
-index 43c613244a8..1cdf1d4c5b3 100755
---- CPP/7zip/UI/FileManager/SysIconUtils.cpp
-+++ CPP/7zip/UI/FileManager/SysIconUtils.cpp
-@@ -10,7 +10,7 @@
- 

- #include "SysIconUtils.h"

- 

--#include <ShlObj.h>

-+#include <shlobj.h>

- 

- #define MY_CAST_FUNC  (void(*)())

- // #define MY_CAST_FUNC

-diff --git CPP/7zip/UI/FileManager/SysIconUtils.h CPP/7zip/UI/FileManager/SysIconUtils.h
-index ba747d9ded0..2eedc4be403 100755
---- CPP/7zip/UI/FileManager/SysIconUtils.h
-+++ CPP/7zip/UI/FileManager/SysIconUtils.h
+--- a/CPP/7zip/UI/FileManager/SysIconUtils.h
++++ b/CPP/7zip/UI/FileManager/SysIconUtils.h
 @@ -5,7 +5,7 @@
  

  #include "../../../Common/MyWindows.h"

@@ -471,79 +97,8 @@ index ba747d9ded0..2eedc4be403 100755
  

  #include "../../../Common/MyString.h"

  

-diff --git CPP/7zip/UI/FileManager/SystemPage.cpp CPP/7zip/UI/FileManager/SystemPage.cpp
-index ff68172e2bf..06025259c85 100755
---- CPP/7zip/UI/FileManager/SystemPage.cpp
-+++ CPP/7zip/UI/FileManager/SystemPage.cpp
-@@ -4,7 +4,7 @@
- 

- #include "../../../Common/MyWindows.h"

- 

--#include <ShlObj.h>

-+#include <shlobj.h>

- 

- #include "../../../Common/Defs.h"

- #include "../../../Common/StringConvert.h"

-diff --git CPP/7zip/UI/GUI/GUI.cpp CPP/7zip/UI/GUI/GUI.cpp
-index 0cc2ee3afcc..4ffc2384668 100755
---- CPP/7zip/UI/GUI/GUI.cpp
-+++ CPP/7zip/UI/GUI/GUI.cpp
-@@ -8,7 +8,7 @@
- 

- #include "../../../Common/MyWindows.h"

- 

--#include <Shlwapi.h>

-+#include <shlwapi.h>

- 

- #include "../../../Common/MyInitGuid.h"

- 

-diff --git CPP/7zip/UI/GUI/StdAfx.h CPP/7zip/UI/GUI/StdAfx.h
-index 498b2fcbe4b..3c830f6a3d4 100755
---- CPP/7zip/UI/GUI/StdAfx.h
-+++ CPP/7zip/UI/GUI/StdAfx.h
-@@ -11,9 +11,9 @@
- 

- // #include "../../../Common/MyWindows.h"

- 

--// #include <CommCtrl.h>

--// #include <ShlObj.h>

--// #include <Shlwapi.h>

-+// #include <commctrl.h>

-+// #include <shlobj.h>

-+// #include <shlwapi.h>

- 

- // #define printf(x) NO_PRINTF_(x)

- // #define sprintf(x) NO_SPRINTF_(x)

-diff --git CPP/Common/MyInitGuid.h CPP/Common/MyInitGuid.h
-index 6895097371a..6b2f3f35d5a 100755
---- CPP/Common/MyInitGuid.h
-+++ CPP/Common/MyInitGuid.h
-@@ -29,7 +29,7 @@ Also we need IID_IUnknown that is initialized in some file for linking:
- #include <basetyps.h>

- #endif

- 

--#include <InitGuid.h>

-+#include <initguid.h>

- 

- #ifdef UNDER_CE

- DEFINE_GUID(IID_IUnknown,

-diff --git CPP/Common/MyWindows.h CPP/Common/MyWindows.h
-index 69eed8f6446..f48680f9d05 100755
---- CPP/Common/MyWindows.h
-+++ CPP/Common/MyWindows.h
-@@ -5,7 +5,7 @@
- 

- #ifdef _WIN32

- 

--#include <Windows.h>

-+#include <windows.h>

- 

- #ifdef UNDER_CE

-   #undef VARIANT_TRUE

-diff --git CPP/Windows/Control/ComboBox.h CPP/Windows/Control/ComboBox.h
-index 8ab9ce5027d..8b12599b785 100755
---- CPP/Windows/Control/ComboBox.h
-+++ CPP/Windows/Control/ComboBox.h
+--- a/CPP/Windows/Control/ComboBox.h
++++ b/CPP/Windows/Control/ComboBox.h
 @@ -5,7 +5,7 @@
  

  #include "../../Common/MyWindows.h"

@@ -553,10 +108,8 @@ index 8ab9ce5027d..8b12599b785 100755
  

  #include "../Window.h"

  

-diff --git CPP/Windows/Control/ImageList.h CPP/Windows/Control/ImageList.h
-index e59443058b8..f72ea0d1990 100755
---- CPP/Windows/Control/ImageList.h
-+++ CPP/Windows/Control/ImageList.h
+--- a/CPP/Windows/Control/ImageList.h
++++ b/CPP/Windows/Control/ImageList.h
 @@ -3,7 +3,7 @@
  #ifndef __WINDOWS_CONTROL_IMAGE_LIST_H

  #define __WINDOWS_CONTROL_IMAGE_LIST_H

@@ -566,10 +119,8 @@ index e59443058b8..f72ea0d1990 100755
  

  #include "../Defs.h"

  

-diff --git CPP/Windows/Control/ListView.h CPP/Windows/Control/ListView.h
-index 56e1100c726..cbd9cd1e21d 100755
---- CPP/Windows/Control/ListView.h
-+++ CPP/Windows/Control/ListView.h
+--- a/CPP/Windows/Control/ListView.h
++++ b/CPP/Windows/Control/ListView.h
 @@ -5,7 +5,7 @@
  

  #include "../../Common/MyWindows.h"

@@ -579,10 +130,8 @@ index 56e1100c726..cbd9cd1e21d 100755
  

  #include "../Window.h"

  

-diff --git CPP/Windows/Control/ProgressBar.h CPP/Windows/Control/ProgressBar.h
-index 741315dd4dd..f18d89c14f0 100755
---- CPP/Windows/Control/ProgressBar.h
-+++ CPP/Windows/Control/ProgressBar.h
+--- a/CPP/Windows/Control/ProgressBar.h
++++ b/CPP/Windows/Control/ProgressBar.h
 @@ -5,7 +5,7 @@
  

  #include "../../Common/MyWindows.h"

@@ -592,49 +141,8 @@ index 741315dd4dd..f18d89c14f0 100755
  

  #include "../Window.h"

  

-diff --git CPP/Windows/Control/PropertyPage.h CPP/Windows/Control/PropertyPage.h
-index 97c87b3b453..551c95994c2 100755
---- CPP/Windows/Control/PropertyPage.h
-+++ CPP/Windows/Control/PropertyPage.h
-@@ -5,7 +5,7 @@
- 

- #include "../../Common/MyWindows.h"

- 

--#include <PrSht.h>

-+#include <prsht.h>

- 

- #include "Dialog.h"

- 

-diff --git CPP/Windows/FileIO.h CPP/Windows/FileIO.h
-index 9146491d236..e11022f82d4 100755
---- CPP/Windows/FileIO.h
-+++ CPP/Windows/FileIO.h
-@@ -17,7 +17,7 @@
- #ifdef _WIN32

- 

- #if defined(_WIN32) && !defined(UNDER_CE)

--#include <WinIoCtl.h>

-+#include <winioctl.h>

- #endif

- 

- #else

-diff --git CPP/Windows/ProcessUtils.h CPP/Windows/ProcessUtils.h
-index 64ebe3775e4..de46c6f52a5 100755
---- CPP/Windows/ProcessUtils.h
-+++ CPP/Windows/ProcessUtils.h
-@@ -3,7 +3,7 @@
- #ifndef __WINDOWS_PROCESS_UTILS_H

- #define __WINDOWS_PROCESS_UTILS_H

- 

--#include <Psapi.h>

-+#include <psapi.h>

- 

- #include "../Common/MyString.h"

- 

-diff --git CPP/Windows/SecurityUtils.h CPP/Windows/SecurityUtils.h
-index de62035ec86..18a083fc580 100755
---- CPP/Windows/SecurityUtils.h
-+++ CPP/Windows/SecurityUtils.h
+--- a/CPP/Windows/SecurityUtils.h
++++ b/CPP/Windows/SecurityUtils.h
 @@ -3,7 +3,7 @@
  #ifndef __WINDOWS_SECURITY_UTILS_H

  #define __WINDOWS_SECURITY_UTILS_H

@@ -644,16 +152,3 @@ index de62035ec86..18a083fc580 100755
  

  #include "Defs.h"

  

-diff --git CPP/Windows/Shell.h CPP/Windows/Shell.h
-index 30388bc5a70..dc3daa5e60b 100755
---- CPP/Windows/Shell.h
-+++ CPP/Windows/Shell.h
-@@ -4,7 +4,7 @@
- #define __WINDOWS_SHELL_H

- 

- #include "../Common/MyWindows.h"

--#include <ShlObj.h>

-+#include <shlobj.h>

- 

- #include "../Common/MyString.h"

- 

diff --git a/nixpkgs/pkgs/tools/archivers/7zz/fix-empty-expr-stmt.patch b/nixpkgs/pkgs/tools/archivers/7zz/fix-empty-expr-stmt.patch
new file mode 100644
index 000000000000..7583482d5d38
--- /dev/null
+++ b/nixpkgs/pkgs/tools/archivers/7zz/fix-empty-expr-stmt.patch
@@ -0,0 +1,184 @@
+diff -Naur a/C/7zCrc.c b/C/7zCrc.c
+--- a/C/7zCrc.c
++++ b/C/7zCrc.c
+@@ -174,7 +174,7 @@
+ UInt32 Z7_FASTCALL CrcUpdateT0_32(UInt32 v, const void *data, size_t size, const UInt32 *table)

+ {

+   const Byte *p = (const Byte *)data;

+-  UNUSED_VAR(table);

++  UNUSED_VAR(table)

+ 

+   for (; size != 0 && ((unsigned)(ptrdiff_t)p & (T0_32_UNROLL_BYTES - 1)) != 0; size--)

+     v = __crc32b(v, *p++);

+@@ -206,7 +206,7 @@
+ UInt32 Z7_FASTCALL CrcUpdateT0_64(UInt32 v, const void *data, size_t size, const UInt32 *table)

+ {

+   const Byte *p = (const Byte *)data;

+-  UNUSED_VAR(table);

++  UNUSED_VAR(table)

+ 

+   for (; size != 0 && ((unsigned)(ptrdiff_t)p & (T0_64_UNROLL_BYTES - 1)) != 0; size--)

+     v = __crc32b(v, *p++);

+diff -Naur a/C/AesOpt.c b/C/AesOpt.c
+--- a/C/AesOpt.c
++++ b/C/AesOpt.c
+@@ -639,7 +639,7 @@
+   const v128 k_z0 = w[2];

+   for (; numBlocks != 0; numBlocks--, data++)

+   {

+-    MM_XOR_m (*data);

++    MM_XOR_m (*data)

+     AES_E_MC_m (k0)

+     AES_E_MC_m (k1)

+     AES_E_MC_m (k2)

+@@ -660,7 +660,7 @@
+       }

+     }

+     AES_E_m  (k_z1)

+-    MM_XOR_m (k_z0);

++    MM_XOR_m (k_z0)

+     *data = m;

+   }

+   *p = m;

+@@ -745,7 +745,7 @@
+     while (w != p);

+     WOP_KEY (AES_D,   1)

+     WOP_KEY (AES_XOR, 0)

+-    MM_XOR (m0, iv);

++    MM_XOR (m0, iv)

+     WOP_M1 (XOR_data_M1)

+     iv = data[NUM_WAYS - 1];

+     WOP (STORE_data)

+@@ -759,14 +759,14 @@
+     AES_D_IMC_m (w[2])

+     do

+     {

+-      AES_D_IMC_m (w[1]);

+-      AES_D_IMC_m (w[0]);

++      AES_D_IMC_m (w[1])

++      AES_D_IMC_m (w[0])

+       w -= 2;

+     }

+     while (w != p);

+-    AES_D_m  (w[1]);

+-    MM_XOR_m (w[0]);

+-    MM_XOR_m (iv);

++    AES_D_m  (w[1])

++    MM_XOR_m (w[0])

++    MM_XOR_m (iv)

+     iv = *data;

+     *data = m;

+   }

+@@ -809,11 +809,11 @@
+   {

+     const v128 *w = p;

+     v128 m;

+-    CTR_START (m, 0);

++    CTR_START (m, 0)

+     do

+     {

+-      AES_E_MC_m (w[0]);

+-      AES_E_MC_m (w[1]);

++      AES_E_MC_m (w[0])

++      AES_E_MC_m (w[1])

+       w += 2;

+     }

+     while (w != wEnd);

+diff -Naur a/C/LzmaEnc.c b/C/LzmaEnc.c
+--- a/C/LzmaEnc.c
++++ b/C/LzmaEnc.c
+@@ -195,11 +195,11 @@
+ unsigned GetPosSlot1(UInt32 pos)

+ {

+   unsigned res;

+-  BSR2_RET(pos, res);

++  BSR2_RET(pos, res)

+   return res;

+ }

+-#define GetPosSlot2(pos, res) { BSR2_RET(pos, res); }

+-#define GetPosSlot(pos, res) { if (pos < 2) res = pos; else BSR2_RET(pos, res); }

++#define GetPosSlot2(pos, res) { BSR2_RET(pos, res) }

++#define GetPosSlot(pos, res) { if (pos < 2) res = pos; else BSR2_RET(pos, res) }

+ 

+ 

+ #else // ! LZMA_LOG_BSR

+diff -Naur a/C/Sha1Opt.c b/C/Sha1Opt.c
+--- a/C/Sha1Opt.c
++++ b/C/Sha1Opt.c
+@@ -300,26 +300,26 @@
+     LOAD_SHUFFLE (m2, 2)

+     LOAD_SHUFFLE (m3, 3)

+                      

+-    T(m0, c0);                                  H(e1); C(e0);

+-    T(m1, c0);  SU0(m0, m1, m2);                H(e0); C(e1);

+-    T(m2, c0);  SU0(m1, m2, m3);  SU1(m0, m3);  H(e1); C(e0);

+-    T(m3, c0);  SU0(m2, m3, m0);  SU1(m1, m0);  H(e0); C(e1);

+-    T(m0, c0);  SU0(m3, m0, m1);  SU1(m2, m1);  H(e1); C(e0);

+-    T(m1, c1);  SU0(m0, m1, m2);  SU1(m3, m2);  H(e0); P(e1);

+-    T(m2, c1);  SU0(m1, m2, m3);  SU1(m0, m3);  H(e1); P(e0);

+-    T(m3, c1);  SU0(m2, m3, m0);  SU1(m1, m0);  H(e0); P(e1);

+-    T(m0, c1);  SU0(m3, m0, m1);  SU1(m2, m1);  H(e1); P(e0);

+-    T(m1, c1);  SU0(m0, m1, m2);  SU1(m3, m2);  H(e0); P(e1);

+-    T(m2, c2);  SU0(m1, m2, m3);  SU1(m0, m3);  H(e1); M(e0);

+-    T(m3, c2);  SU0(m2, m3, m0);  SU1(m1, m0);  H(e0); M(e1);

+-    T(m0, c2);  SU0(m3, m0, m1);  SU1(m2, m1);  H(e1); M(e0);

+-    T(m1, c2);  SU0(m0, m1, m2);  SU1(m3, m2);  H(e0); M(e1);

+-    T(m2, c2);  SU0(m1, m2, m3);  SU1(m0, m3);  H(e1); M(e0);

+-    T(m3, c3);  SU0(m2, m3, m0);  SU1(m1, m0);  H(e0); P(e1);

+-    T(m0, c3);  SU0(m3, m0, m1);  SU1(m2, m1);  H(e1); P(e0);

+-    T(m1, c3);                    SU1(m3, m2);  H(e0); P(e1);

+-    T(m2, c3);                                  H(e1); P(e0);

+-    T(m3, c3);                                  H(e0); P(e1);

++    T(m0, c0);                                H(e1); C(e0)

++    T(m1, c0);  SU0(m0, m1, m2)               H(e0); C(e1)

++    T(m2, c0);  SU0(m1, m2, m3)  SU1(m0, m3)  H(e1); C(e0)

++    T(m3, c0);  SU0(m2, m3, m0)  SU1(m1, m0)  H(e0); C(e1)

++    T(m0, c0);  SU0(m3, m0, m1)  SU1(m2, m1)  H(e1); C(e0)

++    T(m1, c1);  SU0(m0, m1, m2)  SU1(m3, m2)  H(e0); P(e1)

++    T(m2, c1);  SU0(m1, m2, m3)  SU1(m0, m3)  H(e1); P(e0)

++    T(m3, c1);  SU0(m2, m3, m0)  SU1(m1, m0)  H(e0); P(e1)

++    T(m0, c1);  SU0(m3, m0, m1)  SU1(m2, m1)  H(e1); P(e0)

++    T(m1, c1);  SU0(m0, m1, m2)  SU1(m3, m2)  H(e0); P(e1)

++    T(m2, c2);  SU0(m1, m2, m3)  SU1(m0, m3)  H(e1); M(e0)

++    T(m3, c2);  SU0(m2, m3, m0)  SU1(m1, m0)  H(e0); M(e1)

++    T(m0, c2);  SU0(m3, m0, m1)  SU1(m2, m1)  H(e1); M(e0)

++    T(m1, c2);  SU0(m0, m1, m2)  SU1(m3, m2)  H(e0); M(e1)

++    T(m2, c2);  SU0(m1, m2, m3)  SU1(m0, m3)  H(e1); M(e0)

++    T(m3, c3);  SU0(m2, m3, m0)  SU1(m1, m0)  H(e0); P(e1)

++    T(m0, c3);  SU0(m3, m0, m1)  SU1(m2, m1)  H(e1); P(e0)

++    T(m1, c3);                   SU1(m3, m2)  H(e0); P(e1)

++    T(m2, c3);                                H(e1); P(e0)

++    T(m3, c3);                                H(e0); P(e1)

+                                                                                                                      

+     abcd = vaddq_u32(abcd, abcd_save);

+     e0 += e0_save;

+diff -Naur a/C/Sha256Opt.c b/C/Sha256Opt.c
+--- a/C/Sha256Opt.c
++++ b/C/Sha256Opt.c
+@@ -316,10 +316,10 @@
+     LOAD_SHUFFLE (m2, 2)

+     LOAD_SHUFFLE (m3, 3)

+ 

+-    R16 ( 0, NNN, NNN, SM1, NNN, SM1, SM2, SM1, SM2 );

+-    R16 ( 1, SM1, SM2, SM1, SM2, SM1, SM2, SM1, SM2 );

+-    R16 ( 2, SM1, SM2, SM1, SM2, SM1, SM2, SM1, SM2 );

+-    R16 ( 3, SM1, SM2, NNN, SM2, NNN, NNN, NNN, NNN );

++    R16 ( 0, NNN, NNN, SM1, NNN, SM1, SM2, SM1, SM2 )

++    R16 ( 1, SM1, SM2, SM1, SM2, SM1, SM2, SM1, SM2 )

++    R16 ( 2, SM1, SM2, SM1, SM2, SM1, SM2, SM1, SM2 )

++    R16 ( 3, SM1, SM2, NNN, SM2, NNN, NNN, NNN, NNN )

+     

+     state0 = vaddq_u32(state0, state0_save);

+     state1 = vaddq_u32(state1, state1_save);

+diff -Naur a/CPP/Windows/System.h b/CPP/Windows/System.h
+--- a/CPP/Windows/System.h
++++ b/CPP/Windows/System.h
+@@ -105,7 +105,7 @@
+   }

+   

+   void CpuZero() { }

+-  void CpuSet(unsigned cpuIndex) { UNUSED_VAR(cpuIndex); }

++  void CpuSet(unsigned cpuIndex) { UNUSED_VAR(cpuIndex) }

+   int IsCpuSet(unsigned cpuIndex) const { return (cpuIndex < numSysThreads) ? 1 : 0; }

+ 

+   BOOL SetProcAffinity() const

diff --git a/nixpkgs/pkgs/tools/archivers/7zz/update.sh b/nixpkgs/pkgs/tools/archivers/7zz/update.sh
index 1a6d38ea6097..f641cf9ad0c5 100755
--- a/nixpkgs/pkgs/tools/archivers/7zz/update.sh
+++ b/nixpkgs/pkgs/tools/archivers/7zz/update.sh
@@ -8,7 +8,7 @@ DRV_DIR="$PWD"
 OLD_VERSION="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
 # The best_release.json is not always up-to-date
 # In those cases you can force the version by calling `./update.sh <newer_version>`
-NEW_VERSION="${1:-$(curl 'https://sourceforge.net/projects/sevenzip/best_release.json' | jq '.platform_releases.linux.filename' -r | cut -d/ -f3)}"
+NEW_VERSION="${1:-$(curl -H "Accept: application/json" 'https://sourceforge.net/projects/sevenzip/best_release.json' | jq '.platform_releases.linux.filename' -r | cut -d/ -f3)}"
 
 echo "comparing versions $OLD_VERSION => $NEW_VERSION"
 if [[ "$OLD_VERSION" == "$NEW_VERSION" ]]; then
diff --git a/nixpkgs/pkgs/tools/archivers/unzip/default.nix b/nixpkgs/pkgs/tools/archivers/unzip/default.nix
index b0a4484e87f3..ab37ef98c0bd 100644
--- a/nixpkgs/pkgs/tools/archivers/unzip/default.nix
+++ b/nixpkgs/pkgs/tools/archivers/unzip/default.nix
@@ -102,5 +102,6 @@ stdenv.mkDerivation rec {
     description = "An extraction utility for archives compressed in .zip format";
     license = lib.licenses.free; # http://www.info-zip.org/license.html
     platforms = lib.platforms.all;
+    mainProgram = "unzip";
   };
 }
diff --git a/nixpkgs/pkgs/tools/audio/pulsemixer/default.nix b/nixpkgs/pkgs/tools/audio/pulsemixer/default.nix
index e6fc0c03e898..e4204321bc4d 100644
--- a/nixpkgs/pkgs/tools/audio/pulsemixer/default.nix
+++ b/nixpkgs/pkgs/tools/audio/pulsemixer/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = [ maintainers.woffs ];
     platforms = platforms.all;
+    mainProgram = "pulsemixer";
   };
 }
diff --git a/nixpkgs/pkgs/tools/backup/gyb/default.nix b/nixpkgs/pkgs/tools/backup/gyb/default.nix
index 5f69ea016b1d..260ca6eafcd8 100644
--- a/nixpkgs/pkgs/tools/backup/gyb/default.nix
+++ b/nixpkgs/pkgs/tools/backup/gyb/default.nix
@@ -6,14 +6,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gyb";
-  version = "1.72";
+  version = "1.74";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "GAM-team";
     repo = "got-your-back";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-75ZU1qNFdiX9Uhb+tKN0438iHKvY4fuFVGvcgyFFgJo=";
+    sha256 = "sha256-JUI9BIDg7Z6z5ZtwBMsgTbYXp9w0jd1DKFAa1XjeEtQ=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/tools/backup/partclone/default.nix b/nixpkgs/pkgs/tools/backup/partclone/default.nix
index 76c4c89bcebb..016421f113f1 100644
--- a/nixpkgs/pkgs/tools/backup/partclone/default.nix
+++ b/nixpkgs/pkgs/tools/backup/partclone/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "partclone";
-  version = "0.3.24";
+  version = "0.3.25";
 
   src = fetchFromGitHub {
     owner = "Thomas-Tsai";
     repo = "partclone";
     rev = version;
-    sha256 = "sha256-EY5SL8/KITEoOWq2owxQjnemYNsjYqJLLlRVFdYPoVA=";
+    sha256 = "sha256-DLO0mKQ7Ab+4hwRANnipkaCbS7qldGnfTotAYDy//XU=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/tools/filesystems/dysk/default.nix b/nixpkgs/pkgs/tools/filesystems/dysk/default.nix
index fe4e61014a63..2ca03fa9a741 100644
--- a/nixpkgs/pkgs/tools/filesystems/dysk/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/dysk/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dysk";
-  version = "2.7.2";
+  version = "2.8.0";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = "dysk";
     rev = "v${version}";
-    hash = "sha256-3uukeuxB1GjmJ59bkgDEzgG9RMZhmB5TSv3uiXV8GNg=";
+    hash = "sha256-BbL7liiZ1Xcg2Pr2JDnP5DAbjVdDVRs/hndZyIX8jfQ=";
   };
 
-  cargoHash = "sha256-td4B9/DAmASqLGO3PVLLWeO3GeDbLHI7wNcOT1qk20k=";
+  cargoHash = "sha256-vMWr3cV1ttjjwBvgQgi3aCpejr/enoYILVhI4wP9wa0=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/nixpkgs/pkgs/tools/graphics/csv2svg/default.nix b/nixpkgs/pkgs/tools/graphics/csv2svg/default.nix
new file mode 100644
index 000000000000..e8c28cf51a61
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/csv2svg/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, rustPlatform
+, fetchCrate
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "csv2svg";
+  version = "0.1.9";
+
+  src = fetchCrate {
+    inherit pname version;
+    hash = "sha256-3VebLFkeJLK97jqoPXt4Wt6QTR0Zyu+eQV9oaLBSeHE=";
+  };
+
+  cargoHash = "sha256-EIsKb9BzM+H3BO7OpoTmvIvGd578gYSq5vU18BejT0s=";
+
+  meta = with lib; {
+    description = "Take a csv as input and outputs svg";
+    homepage = "https://github.com/Canop/csv2svg";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+    mainProgram = "csv2svg";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix b/nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix
index 6549c0bbade5..1bd0293f39b5 100644
--- a/nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/directx-shader-compiler/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "directx-shader-compiler";
-  version = "1.7.2212.1";
+  version = "1.7.2308";
 
   # Put headers in dev, there are lot of them which aren't necessary for
   # using the compiler binary.
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     owner = "microsoft";
     repo = "DirectXShaderCompiler";
     rev = "v${version}";
-    hash = "sha256-old/vGNoj0mimuvd/RkwNeynBp+gBrkwQ7ah2oUZll0=";
+    hash = "sha256-pfdAD+kRpmqW29Y8jn6+X5Ujy/9cIvisYr0tH1PuxsY=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/tools/graphics/netpbm/default.nix b/nixpkgs/pkgs/tools/graphics/netpbm/default.nix
index 15eda5112c38..973aa41d5ca2 100644
--- a/nixpkgs/pkgs/tools/graphics/netpbm/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/netpbm/default.nix
@@ -20,14 +20,14 @@ stdenv.mkDerivation {
   # Determine version and revision from:
   # https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced
   pname = "netpbm";
-  version = "11.3.2";
+  version = "11.3.4";
 
   outputs = [ "bin" "out" "dev" ];
 
   src = fetchsvn {
     url = "https://svn.code.sf.net/p/netpbm/code/advanced";
-    rev = "4574";
-    sha256 = "fJv+74QN7Jro4vUCcMWL4Yvv1C0KkfiOoNHt6ldGn/s=";
+    rev = "4606";
+    sha256 = "raWpqPlORgL5vBkmHbvj7UCrGjpPLulWjeTuaPnuB98=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix
index 01167b4d007a..9ce0eda43cce 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/default.nix
@@ -43,23 +43,15 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "fcitx5";
-  version = "5.0.23";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    hash = "sha256-zS25XeNtBN7QIi+Re/p1uLoH/Q4xKAsFrEmgk2LYRu8=";
+    hash = "sha256-tnYyHhldPmMZcygpcOcbaYFQbRQjPr/FlvyYfRylTmQ=";
   };
 
-  patches = [
-    # Fix compatiblity with fmt 10.0. Remove with the next release
-    (fetchpatch {
-      url = "https://github.com/fcitx/fcitx5/commit/7fb3a5500270877d93b61b11b2a17b9b8f6a506b.patch";
-      hash = "sha256-Z4Sqdyp/doJPTB+hEUrG9vncUP29L/b0yJ/u5ldpnds=";
-    })
-  ];
-
   prePatch = ''
     ln -s ${enDict} src/modules/spell/$(stripHash ${enDict})
   '';
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix
index eefedd6a8455..1fca5fdc77f9 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-anthy.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-anthy";
-  version = "5.0.14";
+  version = "5.1.0";
 
   src = fetchurl {
     url = "https://download.fcitx-im.org/fcitx5/fcitx5-anthy/${pname}-${version}.tar.xz";
-    sha256 = "sha256-CodNcN9O8i8euGjCfq9m4zVOFgnbje05JUT49rxUp7c=";
+    sha256 = "sha256-tyWxNhCreJaAc+IUH85iayo8OALcY0ytFc7Aa8Ye80M=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix
index b4109e846783..4facccf49fbb 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chewing.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-chewing";
-  version = "5.0.14";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zfaq5pkHcB12iFvXWvvzmX9mpcXAZSri9lVlzfePLAQ=";
+    sha256 = "sha256-Zjwt7JHwCfXlY46qRTXSmXI69fANZNI7DY1ixpMEqPM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix
index 780fb60aa3c4..8077a48dcfd8 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-chinese-addons.nix
@@ -31,13 +31,13 @@ in
 
 mkDerivation rec {
   pname = "fcitx5-chinese-addons";
-  version = "5.0.17";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Licj/sZ2rZablsk/ytCZlkdjSHszr31JURrQkXs1BXE=";
+    sha256 = "sha256-Z5X/yKxj8jX/einrebkP6rSCSrKvaQ7vOlbmT1IKXfY=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix
index bd98019cf203..b2b6716a3b66 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-configtool.nix
@@ -21,13 +21,13 @@
 
 mkDerivation rec {
   pname = "fcitx5-configtool";
-  version = "5.0.17";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-nYHrJBcbaYxZ61OEFfnwTTsZFEBtDJkR0kuYPyTcjio=";
+    sha256 = "sha256-kjoAcoqLJ8XHMI6NUr5DZfltWfX3GPco3VGseze6qbw=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
index 299dd0e1385d..0dfa9f822a29 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-gtk";
-  version = "5.0.23";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-RMi2D9uqGmvyDIB7eRbr52aahCJ5u21jCyZ9hbCDdKY=";
+    sha256 = "sha256-xVBmFFUnlWqviht/KGFTHCd3xCln/6hyBG72tIHqopc=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix
index 18facb5fb31a..84d9c398cdda 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-hangul.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-hangul";
-  version = "5.0.11";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-VA9LDGMJRJDDCxIsx7wpDgdc2V9cuWlydAq5yiIvpxA=";
+    sha256 = "sha256-3cJLF80oAqGSJvPPyKcHxaWysA9RtWYGgptailYd4dk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix
index 3c4bd06cb96f..19336e58d1dd 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-m17n.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-m17n";
-  version = "5.0.11";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-MCSJGZGpnOcZ9ZHlUDOPrbfo61HRM4s2xuj8zblyW/8=";
+    sha256 = "sha256-qo3tS0tjQCD7+CoNvjyvhQPAfa38o7/f/MjqRkIL2R0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
index 24019041eb19..7d627772d970 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "fcitx5-qt";
-  version = "5.0.17";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Pi5Xb7H/h89OcTzYX7X3Xw8FQIczkWd6rMrbwnHr/L4=";
+    sha256 = "sha256-LWOELt1uo5TtM85ppxt6MK7fvUuocHkWXYjUE1yyOV4=";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
index 4249567635cf..665c76561454 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
@@ -1,5 +1,6 @@
-{ lib, stdenv
-, fetchFromGitHub
+{ lib
+, stdenv
+, fetchurl
 , pkg-config
 , cmake
 , extra-cmake-modules
@@ -13,13 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-rime";
-  version = "5.0.16";
+  version = "5.1.1";
 
-  src = fetchFromGitHub {
-    owner = "fcitx";
-    repo = pname;
-    rev = version;
-    sha256 = "sha256-YAunuxdMlv1KOj2/xXstb/Uhm97G9D9rxb35AbNgMaE=";
+  src = fetchurl {
+    url = "https://download.fcitx-im.org/fcitx5/${pname}/${pname}-${version}.tar.xz";
+    hash = "sha256-qo0m/asTranm70PHPLwWCn/jX+FWNEGRKBRNNW+B28A=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix
index 42ffa524a420..6a424c0ef86d 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-skk.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-skk";
-  version = "5.0.15";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-y5GciWJMEFQM8SsqYANXe/SdVq6GEqsfF1yrKKhw0KA=";
+    sha256 = "sha256-N69OyGzJGO27tsR1g06d0EILsX2mpbW/tIgeSLc06OU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix
index 1c3a15d85b7f..38026c0de9f7 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-extra.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-table-extra";
-  version = "5.0.13";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/YIZMSCKJlnPL+pmUWfVf8tINKjXKkGAK7rWQ98RRjQ=";
+    sha256 = "sha256-os2C/6r9hz/3MEAny8Klc01cRGIiKD39rdu56kQDCnQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix
index 061c14065594..b0129a923438 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-table-other";
-  version = "5.0.11";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Km0c6so+Ed/lbK9t54stWjlkK70aEcf7EbQm7msPDKM=";
+    sha256 = "sha256-ymHAKaPmQckxM/XHoDOVSzEWpyQGb7zVG21CDwNfyjg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix
index 1f14fb2eeb47..61f12faf5e64 100644
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/fcitx5-unikey.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-unikey";
-  version = "5.0.13";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "fcitx5-unikey";
     rev = version;
-    sha256 = "sha256-UpCXcgVUGe5/yunLqRNx2H2aLOnD1wJNA8y3q8R4+sY=";
+    sha256 = "sha256-X00/jGtbApWtS9+S6lTXJ0+BK7SUsLA1sKxq0vW1VNE=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/tools/inputmethods/fcitx5/update.py b/nixpkgs/pkgs/tools/inputmethods/fcitx5/update.py
index 6c745ef7dbec..8fa59d2926e2 100755
--- a/nixpkgs/pkgs/tools/inputmethods/fcitx5/update.py
+++ b/nixpkgs/pkgs/tools/inputmethods/fcitx5/update.py
@@ -1,7 +1,6 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -i python3 -p nix-update python3Packages.requests
 
-from nix_prefetch_github import *
 import requests
 import subprocess
 
diff --git a/nixpkgs/pkgs/tools/misc/SP800-90B_EntropyAssessment/default.nix b/nixpkgs/pkgs/tools/misc/SP800-90B_EntropyAssessment/default.nix
new file mode 100644
index 000000000000..dde0bc349248
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/SP800-90B_EntropyAssessment/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, bzip2
+, libdivsufsort
+, jsoncpp
+, openssl
+, mpfr
+}:
+
+stdenv.mkDerivation rec {
+  pname = "SP800-90B_EntropyAssessment";
+  version = "1.1.6";
+
+  src = fetchFromGitHub {
+    owner = "usnistgov";
+    repo = "SP800-90B_EntropyAssessment";
+    rev = "v${version}";
+    hash = "sha256-KZQ7kC0PbBkjLEQZIqYakQ91OvCxruhdfUwiRHtno3w=";
+  };
+
+  buildInputs = [ bzip2 libdivsufsort jsoncpp openssl mpfr ];
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace "-march=native" ""
+  '';
+
+  sourceRoot = "source/cpp";
+
+  makeFlags = [
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
+    "ARCH=${stdenv.hostPlatform.linuxArch}"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp ea_* $out/bin
+    runHook postInstall
+  '';
+
+  meta = {
+    homepage = "https://github.com/usnistgov/SP800-90B_EntropyAssessment";
+    description = "Implementation of min-entropy assessment methods included in Special Publication 800-90B.";
+    platforms = lib.platforms.linux;
+    license = lib.licenses.free; #this software uses the NIST software license
+    maintainers = with lib.maintainers; [ orichter thillux ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/backdown/default.nix b/nixpkgs/pkgs/tools/misc/backdown/default.nix
new file mode 100644
index 000000000000..e578b1ab4295
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/backdown/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "backdown";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "Canop";
+    repo = "backdown";
+    rev = "v${version}";
+    hash = "sha256-w9EdDSGqmHRLXwx5qFo0BngKATKtQsieMt6dPgfOrQ0=";
+  };
+
+  cargoHash = "sha256-BOwhXq/xVuk3KylL3KeIkiIG3SXVASFiYkUgKJhMzuU=";
+
+  meta = with lib; {
+    description = "A file deduplicator";
+    homepage = "https://github.com/Canop/backdown";
+    changelog = "https://github.com/Canop/backdown/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+    mainProgram = "backdown";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/btc-rpc-explorer/default.nix b/nixpkgs/pkgs/tools/misc/btc-rpc-explorer/default.nix
new file mode 100644
index 000000000000..9e548d5f3dfd
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/btc-rpc-explorer/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, pkg-config
+, python3
+, vips
+}:
+
+buildNpmPackage rec {
+  pname = "btc-rpc-explorer";
+  version = "3.4.0";
+
+  src = fetchFromGitHub {
+    owner = "janoside";
+    repo = "btc-rpc-explorer";
+    rev = "v${version}";
+    hash = "sha256-ZGg3jwSl1XyzS9hMa2YqwExhHSNgrsUmSscZtfF2h54=";
+  };
+
+  npmDepsHash = "sha256-9pVjydGaEaHytZqwXv0/kaJAVqlE7zzuTvubBFTkuBg=";
+
+  postPatch = ''
+    ln -s npm-shrinkwrap.json package-lock.json
+  '';
+
+  makeCacheWritable = true;
+
+  nativeBuildInputs = [
+    pkg-config
+    python3
+  ];
+
+  buildInputs = [
+    vips
+  ];
+
+  dontNpmBuild = true;
+
+  meta = {
+    changelog = "https://github.com/janoside/btc-rpc-explorer/blob/${src.rev}/CHANGELOG.md";
+    description = "Database-free, self-hosted Bitcoin explorer, via RPC to Bitcoin Core";
+    homepage = "https://github.com/janoside/btc-rpc-explorer";
+    license = lib.licenses.mit;
+    mainProgram = "btc-rpc-explorer";
+    maintainers = with lib.maintainers; [ d-xo ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
index d37c5bbe5fed..f700f0477333 100644
--- a/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/chezmoi/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.37.0";
+  version = "2.38.0";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    hash = "sha256-AXn2D4vWiFYlmAN2egqKdi5vOYU88FopEGYyDGgy0ig=";
+    hash = "sha256-s8E+Nva/lsZ/jPzDuGRN0P8JOeJPUK6Xj6bHqiozwNA=";
   };
 
-  vendorHash = "sha256-OU1ChDJiIeRjBBKVcxah/cEXScepW0VY9tkNDALT4fI=";
+  vendorHash = "sha256-UFEpP5I++8+F8OTMqm5G6/2Kn31Q2U3+8g0deeLMWDc=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/tools/misc/cloc/default.nix b/nixpkgs/pkgs/tools/misc/cloc/default.nix
index e89e785e9bdc..a8fc4a4f01b8 100644
--- a/nixpkgs/pkgs/tools/misc/cloc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cloc/default.nix
@@ -1,14 +1,15 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages }:
 
-stdenv.mkDerivation rec {
+let version = "1.98";
+in stdenv.mkDerivation {
   pname = "cloc";
-  version = "1.96";
+  inherit version;
 
   src = fetchFromGitHub {
     owner = "AlDanial";
     repo = "cloc";
     rev = "v${version}";
-    sha256 = "sha256-20vL+SX8Tbp6QxErDn76c6sLWnB1IJwHlQX4YAvj+Eg=";
+    sha256 = "sha256-OTzIzLgE9sdbHZUSARSbVrxD95dW8gPiM8tvMvqm1Bg=";
   };
 
   setSourceRoot = ''
@@ -27,6 +28,28 @@ stdenv.mkDerivation rec {
 
   postFixup = "wrapProgram $out/bin/cloc --prefix PERL5LIB : $PERL5LIB";
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    echo -n 'checking --version...'
+    $out/bin/cloc --version | grep '${version}' > /dev/null
+    echo ' ok'
+
+    cat > test.nix <<EOF
+    {a, b}: {
+      test = a
+        + b;
+    }
+    EOF
+
+    echo -n 'checking lines in test.nix...'
+    $out/bin/cloc --quiet --csv test.nix | grep '1,Nix,0,0,4' > /dev/null
+    echo ' ok'
+
+    runHook postInstallCheck
+  '';
+
   meta = {
     description = "A program that counts lines of source code";
     homepage = "https://github.com/AlDanial/cloc";
diff --git a/nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix b/nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix
index 1b33f15ce203..6ee0ca8a8702 100644
--- a/nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix
+++ b/nixpkgs/pkgs/tools/misc/cloud-sql-proxy/default.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "cloud-sql-proxy";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = "cloud-sql-proxy";
     rev = "v${version}";
-    hash = "sha256-/mXaNRTRIBIPUHY/MOHpGmpB8wBp18wwftn/EdmoffQ=";
+    hash = "sha256-YbfN9ZdcxP78/dNaONBhb1UqcZYJcet+lHuKmvXk9MI=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-VadE9E4B8BIIHGl+PN4oDl0H56xE3GQn0MxGw5fGsvM=";
+  vendorHash = "sha256-2Cu9o26R9y2EBUB9kLf98n2AKFOE7NE1NrcMD+8pvRY=";
 
   preCheck = ''
     buildFlagsArray+="-short"
diff --git a/nixpkgs/pkgs/tools/misc/colorpicker/default.nix b/nixpkgs/pkgs/tools/misc/colorpicker/default.nix
index 475041b4f682..8b45da17626c 100644
--- a/nixpkgs/pkgs/tools/misc/colorpicker/default.nix
+++ b/nixpkgs/pkgs/tools/misc/colorpicker/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "colorpicker";
-  version = "unstable-2018-01-14";
+  version = "unstable-2017-09-01";
 
   src = fetchFromGitHub {
-    owner = "Ancurio";
+    owner = "Jack12816";
     repo = "colorpicker";
-    rev = "287676947e6e3b5b0cee784aeb1638cf22f0ce17";
-    sha256 = "1kj1dpb79llrfpszraaz6r7ci114zqi5rmqxwsvq2dnnpjxyi29r";
+    rev = "a4455b92fde1dfbac81e7852f171093932154a30";
+    sha256 = "z2asxTIP8WcsWcePmIg0k4bOF2JwkqOxNqSpQv4/a40=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Click on a pixel on your screen and print its color value in RGB";
-    homepage = "https://github.com/Ancurio/colorpicker";
+    homepage = "https://github.com/Jack12816/colorpicker";
     maintainers = with maintainers; [ jb55 ];
     license = licenses.mit;
     mainProgram = "colorpicker";
diff --git a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
index e736ce1468a9..284570617032 100644
--- a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
+++ b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
@@ -78,11 +78,11 @@
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3.pkgs.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "246";
+  version = "247";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    hash = "sha256-z7wrc8hveKqMJsJMLQXO3z+wcJxpY8QFoYxTBUzfGPg=";
+    hash = "sha256-sbLny1eK/eyCQKeSUyQc3DTvlHeCp8rAgrx681KjvNQ=";
   };
 
   outputs = [
diff --git a/nixpkgs/pkgs/tools/misc/esphome/default.nix b/nixpkgs/pkgs/tools/misc/esphome/default.nix
index 8a3f2579543a..ea6cfdfb282f 100644
--- a/nixpkgs/pkgs/tools/misc/esphome/default.nix
+++ b/nixpkgs/pkgs/tools/misc/esphome/default.nix
@@ -16,14 +16,14 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "2023.8.1";
+  version = "2023.8.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-a85nNUVaa7CbYdI/xM30fp7i1gMRz18Ior4mwseFZqU=";
+    hash = "sha256-KizeBaDw/9XoPwIjjc3VKkiaHTK5VYQXss4cQZZaGzs=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/eza/default.nix b/nixpkgs/pkgs/tools/misc/eza/default.nix
index 715eee9c05d0..8ee47ac4cd70 100644
--- a/nixpkgs/pkgs/tools/misc/eza/default.nix
+++ b/nixpkgs/pkgs/tools/misc/eza/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "eza";
-  version = "0.10.7";
+  version = "0.10.8";
 
   src = fetchFromGitHub {
     owner = "eza-community";
     repo = "eza";
     rev = "v${version}";
-    hash = "sha256-f8js+zToP61lgmxucz2gyh3uRZeZSnoxS4vuqLNVO7c=";
+    hash = "sha256-3g4eauJqnbIqWtDmRvKsDiZh1eAz171FP9idF2nBXLQ=";
   };
 
-  cargoHash = "sha256-G3zNv8pG9uS12PsBug51RaS9Hx0sGHHnVEF4bHb+v18=";
+  cargoHash = "sha256-HS/nmLxr5zvyneiSJk9tPUhszF5vFwSo5HMsRql9I38=";
 
   nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
   buildInputs = [ zlib ]
diff --git a/nixpkgs/pkgs/tools/misc/fastfetch/default.nix b/nixpkgs/pkgs/tools/misc/fastfetch/default.nix
index 722f81cb751c..731cd459d41c 100644
--- a/nixpkgs/pkgs/tools/misc/fastfetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fastfetch/default.nix
@@ -1,11 +1,11 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , chafa
 , cmake
 , dbus
 , dconf
+, ddcutil
 , glib
 , imagemagick_light
 , libglvnd
@@ -42,23 +42,15 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fastfetch";
-  version = "2.0.0";
+  version = "2.0.3";
 
   src = fetchFromGitHub {
     owner = "fastfetch-cli";
     repo = "fastfetch";
     rev = finalAttrs.version;
-    hash = "sha256-mXbkzPlX1OsK+ahUSJWktV5D7Mo2zkhXgXP54QjbIR4=";
+    hash = "sha256-Zh77m1jezjKJPC8Ua3Uv3w7MIeuLJ6U9WBFzT0uuLSo=";
   };
 
-  patches = [
-    # Don't fetch yyjson.
-    (fetchpatch {
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-misc/fastfetch/files/fastfetch-2.0.0-dont-fetch-yyjson.patch";
-      hash = "sha256-mOykwXSuad8BrUBmjX39EmQb0/hnKezgmWe8cpAybsw=";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake
     makeBinaryWrapper
@@ -74,6 +66,7 @@ stdenv.mkDerivation (finalAttrs: {
   ++ lib.optionals stdenv.isLinux [
     dbus
     dconf
+    ddcutil
     glib
     libglvnd
     libpulseaudio
@@ -105,6 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   cmakeFlags = [
     "-DCMAKE_INSTALL_SYSCONFDIR=${placeholder "out"}/etc"
+    "-DENABLE_SYSTEM_YYJSON=YES"
   ];
 
   postInstall = ''
@@ -127,7 +121,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "Like neofetch, but much faster because written in C";
     homepage = "https://github.com/fastfetch-cli/fastfetch";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ gerg-l khaneliman ];
+    maintainers = with lib.maintainers; [ gerg-l khaneliman federicoschonborn ];
     platforms = lib.platforms.all;
     mainProgram = "fastfetch";
   };
diff --git a/nixpkgs/pkgs/tools/misc/findutils/default.nix b/nixpkgs/pkgs/tools/misc/findutils/default.nix
index 62f39492437e..b37eaeaea1be 100644
--- a/nixpkgs/pkgs/tools/misc/findutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/findutils/default.nix
@@ -90,5 +90,7 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.all;
 
     license = lib.licenses.gpl3Plus;
+
+    mainProgram = "find";
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/gaphor/default.nix b/nixpkgs/pkgs/tools/misc/gaphor/default.nix
index a97b887f1caa..48f9fa7a7bba 100644
--- a/nixpkgs/pkgs/tools/misc/gaphor/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gaphor/default.nix
@@ -59,7 +59,7 @@ buildPythonApplication rec {
     desktopName = "Gaphor";
   };
 
-  # We need to wrap it manually to resolve all icons
+  # Disable automatic wrapGAppsHook to prevent double wrapping
   dontWrapGApps = true;
 
   postInstall = ''
@@ -67,10 +67,11 @@ buildPythonApplication rec {
   '';
 
   preFixup = ''
-    wrapProgram $out/bin/gaphor \
-        ''${gappsWrapperArgs[@]} \
-        --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
-        --set GDK_PIXBUF_MODULE_FILE "${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
+      --set GDK_PIXBUF_MODULE_FILE "${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
+    )
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/hyperpotamus/default.nix b/nixpkgs/pkgs/tools/misc/hyperpotamus/default.nix
new file mode 100644
index 000000000000..869b8aea9143
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/hyperpotamus/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "hyperpotamus";
+  version = "0.39.0";
+
+  src = fetchFromGitHub {
+    owner = "pmarkert";
+    repo = "hyperpotamus";
+    rev = "v${version}";
+    hash = "sha256-dExkvObz+PNjqAZnigZHs/DCSHq31jDg9pgFmmtPmWk=";
+  };
+
+  npmDepsHash = "sha256-cH0VEhs4q13gnFKQmmu8fXjueBu/u7xtySE6HTm+bik=";
+
+  dontNpmBuild = true;
+
+  meta = {
+    description = "YAML based HTTP script processing engine";
+    homepage = "https://github.com/pmarkert/hyperpotamus";
+    license = lib.licenses.mit;
+    mainProgram = "hyperpotamus";
+    maintainers = with lib.maintainers; [ onny ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/ollama/default.nix b/nixpkgs/pkgs/tools/misc/ollama/default.nix
index d8463766f823..8de315533746 100644
--- a/nixpkgs/pkgs/tools/misc/ollama/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ollama/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "ollama";
-  version = "0.0.14";
+  version = "0.0.15";
 
   src = fetchFromGitHub {
     owner = "jmorganca";
     repo = "ollama";
     rev = "v${version}";
-    hash = "sha256-QFik6Vlo06s2Nz5tsS3yvm3JYhCTIZHMiphtqz99sTI=";
+    hash = "sha256-p2YLgLyjmf2MPvFue45+wW7kqKpUli9rX3aWNH08cDk=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
@@ -22,7 +22,7 @@ buildGoModule rec {
     MetalKit
   ]);
 
-  vendorHash = "sha256-eAvedN47InwUcsWLtnzxuLnmyeOoxHEDtQy9kjsFJnE=";
+  vendorHash = "sha256-IgEf/WOc1eNGCif1fViIFxbgZAd6mHBqfxcaqH/WvGg=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/nixpkgs/pkgs/tools/misc/pipreqs/default.nix b/nixpkgs/pkgs/tools/misc/pipreqs/default.nix
index 3e22fa839e14..2689581b6c06 100644
--- a/nixpkgs/pkgs/tools/misc/pipreqs/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pipreqs/default.nix
@@ -4,11 +4,11 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "pipreqs";
-  version = "0.4.11";
+  version = "0.4.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c793b4e147ac437871b3a962c5ce467e129c859ece5ba79aca83c20f4d9c3aef";
+    hash = "sha256-oX8WeIC2khvjdTPOTIHdxuIrRlwQeq1VfbQ7Gt1WqZs=";
   };
 
   propagatedBuildInputs = [ yarg docopt ];
diff --git a/nixpkgs/pkgs/tools/misc/pv/default.nix b/nixpkgs/pkgs/tools/misc/pv/default.nix
index 4438662de385..236137ff7937 100644
--- a/nixpkgs/pkgs/tools/misc/pv/default.nix
+++ b/nixpkgs/pkgs/tools/misc/pv/default.nix
@@ -1,31 +1,22 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
   pname = "pv";
-  version = "1.6.20";
+  version = "1.7.24";
 
   src = fetchurl {
-    url = "https://www.ivarch.com/programs/sources/pv-${version}.tar.bz2";
-    sha256 = "00y6zla8h653sn4axgqz7rr0x79vfwl62a7gn6lzn607zwg9acg8";
+    url = "https://www.ivarch.com/programs/sources/pv-${version}.tar.gz";
+    sha256 = "sha256-O/Q8WAnI1QBm6urqWhFfZQPFejjBUZdbcQqivuhXtl4=";
   };
 
-  patches = [
-    # Fix build on aarch64-darwin using patch from Homebrew
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/Homebrew/homebrew-core/0780f1df9fdbd8914ff50ac24eb0ec0d3561c1b7/Formula/pv.rb";
-      sha256 = "001xayskfprri4s2gd3bqwajw6nz6nv0ggb0835par7q7bsd0dzr";
-    })
-  ];
-
   meta = {
-    homepage = "http://www.ivarch.com/programs/pv";
+    homepage = "https://www.ivarch.com/programs/pv.shtml";
     description = "Tool for monitoring the progress of data through a pipeline";
     license = lib.licenses.artistic2;
-    maintainers = with lib.maintainers; [ ];
-    platforms = with lib.platforms; all;
+    maintainers = with lib.maintainers; [ matthiasbeyer ];
+    platforms = lib.platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/starry/default.nix b/nixpkgs/pkgs/tools/misc/starry/default.nix
new file mode 100644
index 000000000000..b2ffe3175bfb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/starry/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, rustPlatform
+, fetchCrate
+, pkg-config
+, openssl
+, stdenv
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "starry";
+  version = "2.0.1";
+
+  src = fetchCrate {
+    inherit pname version;
+    hash = "sha256-CPEMjg70MXlV+ruYnEHpTmqlc27NMTUKTR4/fpQmYcI=";
+  };
+
+  cargoHash = "sha256-d6icXOgju4qEV2+J+G09/xeQMIX3/4XUFmuWfD/Cqhc=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  meta = with lib; {
+    description = "Current stars history tells only half the story";
+    homepage = "https://github.com/Canop/starry";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ figsoda ];
+    mainProgram = "starry";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/tere/default.nix b/nixpkgs/pkgs/tools/misc/tere/default.nix
index 216a0db0c83b..a2a4a506bc0d 100644
--- a/nixpkgs/pkgs/tools/misc/tere/default.nix
+++ b/nixpkgs/pkgs/tools/misc/tere/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tere";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "mgunyho";
     repo = "tere";
     rev = "v${version}";
-    sha256 = "sha256-gEoy7pwZxlCIPTQZVPSo5TIdmSliSSePunXO3hD3Ryo=";
+    sha256 = "sha256-xqbFBRzBfTwSdkC8e85yANdVA45G6E1FYlTXP8QfVIk=";
   };
 
-  cargoSha256 = "sha256-4XvVisRLSHw4jz+nUndWzS1IK2tnzmxdcgqNHHOvkQg=";
+  cargoHash = "sha256-Y2Zgo/VAJxzQd2cXxyiJS5AqcVRClAuUsEogivK3EJw=";
 
   postPatch = ''
     rm .cargo/config.toml;
diff --git a/nixpkgs/pkgs/tools/misc/timetagger_cli/default.nix b/nixpkgs/pkgs/tools/misc/timetagger_cli/default.nix
new file mode 100644
index 000000000000..38b0cc88bb1e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/timetagger_cli/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "timetagger_cli";
+  version = "23.8.3";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "almarklein";
+    repo = "timetagger_cli";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-vOpwMR7/EGf/l5KvlHn7mQ1vGGZ1Whd5x2uxLV9nCbk=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    requests
+    toml
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Track your time from the command-line ";
+    homepage = "https://github.com/almarklein/timetagger_cli";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ matthiasbeyer ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix b/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
index 4ec5052503ea..81610e41cef8 100644
--- a/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/nixpkgs/pkgs/tools/misc/yubikey-manager/default.nix
@@ -8,14 +8,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "yubikey-manager";
-  version = "5.1.1";
+  version = "5.2.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Yubico";
     repo = "yubikey-manager";
     rev = version;
-    hash = "sha256-rF1oOhlZP1EKiqErJ4L/otkoEvW0iA2P4g5MWCKrCO4=";
+    hash = "sha256-33Y2adUuGIDi5gdenkwZJKKKk2NtcHwLzxy1NXhBa9M=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/zotero-translation-server/default.nix b/nixpkgs/pkgs/tools/misc/zotero-translation-server/default.nix
new file mode 100644
index 000000000000..21428cf12458
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/zotero-translation-server/default.nix
@@ -0,0 +1,35 @@
+{ lib, buildNpmPackage, fetchFromGitHub, nodejs }:
+
+buildNpmPackage rec {
+  pname = "zotero-translation-server";
+  version = "unstable-2023-07-13";
+
+  src = fetchFromGitHub {
+    owner = "zotero";
+    repo = "translation-server";
+    rev = "cf96d57f4e2af66fee7df9bad00681b3f4ac7d77";
+    hash = "sha256-GJn7UAl0raVGzplvFzo4A0RUjNbyGt/YI2mt1UZIJv0=";
+    fetchSubmodules = true;
+  };
+
+  npmDepsHash = "sha256-JHoBxUybs1GGRxEVG5GgX2mOCplTgR5dcPjnR42SEbY=";
+
+  makeCacheWritable = true;
+
+  dontNpmBuild = true;
+
+  postInstall = ''
+    mkdir -p $out/bin/ $out/share/zotero-translation-server/
+    makeWrapper ${nodejs}/bin/node $out/bin/translation-server \
+      --add-flags "$out/lib/node_modules/translation-server/src/server.js"
+    ln -s $out/lib/node_modules/translation-server/config $out/share/zotero-translation-server/config
+    ln -s $out/lib/node_modules/translation-server/modules $out/share/zotero-translation-server/modules
+  '';
+
+  meta = with lib; {
+    description = "A Node.js-based server to run Zotero translators";
+    homepage = "https://github.com/zotero/translation-server";
+    license = licenses.agpl3Only;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/chisel/default.nix b/nixpkgs/pkgs/tools/networking/chisel/default.nix
index a6b6d266cb4d..d5a54ba15e92 100644
--- a/nixpkgs/pkgs/tools/networking/chisel/default.nix
+++ b/nixpkgs/pkgs/tools/networking/chisel/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "chisel";
-  version = "1.9.0";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "jpillora";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Rq8IBT29K3QiaYXFaARg5ak9llcNS/9laal/LrHM4zY=";
+    hash = "sha256-hZm0dVDwX6cHiN0TvAcHCWbMAf+k9CCQfC9nlV2vfN4=";
   };
 
   vendorHash = "sha256-i6Fb+jSP6LzZoPTHhjQi3YbPBWY6OmsORV8ATcLrHG0=";
diff --git a/nixpkgs/pkgs/tools/networking/clash/default.nix b/nixpkgs/pkgs/tools/networking/clash/default.nix
index 7eba0e1f2150..6cce7d247a5e 100644
--- a/nixpkgs/pkgs/tools/networking/clash/default.nix
+++ b/nixpkgs/pkgs/tools/networking/clash/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "clash";
-  version = "1.17.0";
+  version = "1.18.0";
 
   src = fetchFromGitHub {
     owner = "Dreamacro";
     repo = pname;
-    rev = "refs/tags/v${version}";
-    hash = "sha256-hUkUfNsThir0txO7cdxJl3sUF8/wHDvDPVspGp5xYUQ=";
+    rev = "v${version}";
+    hash = "sha256-LqjSPlPkR5sB4Z1pmpdE9r66NN7pwgE9GK4r1zSFlxs=";
   };
 
-  vendorHash = "sha256-M2hoorCBdq2nm5Gc5Xm6r7Cg9XUOirDyqTKwrmu121s=";
+  vendorHash = "sha256-EWAbEFYr15RiJk9IXF6KaaX4GaSCa6E4+8rKL4/XG8Y=";
 
   # Do not build testing suit
   excludedPackages = [ "./test" ];
@@ -29,6 +29,10 @@ buildGoModule rec {
     "-X github.com/Dreamacro/clash/constant.Version=${version}"
   ];
 
+  checkFlags = [
+    "-skip=TestParseRule" # Flaky tests
+  ];
+
   passthru.tests.version = testers.testVersion {
     package = clash;
     command = "clash -v";
diff --git a/nixpkgs/pkgs/tools/networking/containerlab/default.nix b/nixpkgs/pkgs/tools/networking/containerlab/default.nix
index c96ec005577b..51879351fd81 100644
--- a/nixpkgs/pkgs/tools/networking/containerlab/default.nix
+++ b/nixpkgs/pkgs/tools/networking/containerlab/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "containerlab";
-  version = "0.44.0";
+  version = "0.44.2";
 
   src = fetchFromGitHub {
     owner = "srl-labs";
     repo = "containerlab";
     rev = "v${version}";
-    hash = "sha256-r3rN1HSNz8aFjMjg/s1YNSgv9/YZZAgjowQXO81eT84=";
+    hash = "sha256-W05FPyBAKnndrELXytrXzpfTcEtq3Q2RDvOQkKMpvwI=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/nixpkgs/pkgs/tools/networking/ddns-go/default.nix b/nixpkgs/pkgs/tools/networking/ddns-go/default.nix
index 10b9beafb7bc..6a711adcd5d6 100644
--- a/nixpkgs/pkgs/tools/networking/ddns-go/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ddns-go/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "ddns-go";
-  version = "5.6.0";
+  version = "5.6.1";
 
   src = fetchFromGitHub {
     owner = "jeessy2";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-w9/5n5QKx+pNiA0wBTjjwllsAvsGUH53buwmx2CIZIg=";
+    hash = "sha256-uVYTAJhTQDNknBZmE8uaX4h5lU7cb/cyzIoTV2iHGJ8=";
   };
 
   vendorHash = "sha256-azsXfWa4w3wZaiy9AKy7UPOybikubcJvLsXthYedmbY=";
diff --git a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
index aaa2ed1459a3..fd1d9606fcf2 100644
--- a/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/dnsproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.52.0";
+  version = "0.54.0";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vHiC7RWPba4LlS0YX088HqS3hLGEt0jHKzL7DcysEkw=";
+    sha256 = "sha256-wA88v8zF5sq3NQwKh8g4k/COviuaegGn6bBTzBMcdGM=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/tools/networking/graphqurl/default.nix b/nixpkgs/pkgs/tools/networking/graphqurl/default.nix
new file mode 100644
index 000000000000..e0b6fa9de9c0
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/graphqurl/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "graphqurl";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "hasura";
+    repo = "graphqurl";
+    rev = "v${version}";
+    hash = "sha256-0dR8lLD0yatAvE3kA90cNOzVRTFpQmzN1l13hdFr3TM=";
+  };
+
+  npmDepsHash = "sha256-2kLmhNFO/ySa6S9rBNYCePmsYXWz006IxiOJ7ZUkgPw=";
+
+  dontNpmBuild = true;
+
+  meta = {
+    description = "CLI and JS library for making GraphQL queries";
+    homepage = "https://github.com/hasura/graphqurl";
+    license = lib.licenses.asl20;
+    mainProgram = "gq";
+    maintainers = with lib.maintainers; [ bbigras ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/minio-client/default.nix b/nixpkgs/pkgs/tools/networking/minio-client/default.nix
index b60fa715004a..b7c084bf776d 100644
--- a/nixpkgs/pkgs/tools/networking/minio-client/default.nix
+++ b/nixpkgs/pkgs/tools/networking/minio-client/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2023-08-08T17-23-59Z";
+  version = "2023-08-15T23-03-09Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-rXYpAidwwd1sa+22r39VAirVCDdhzFRE5qSQNZf65sg=";
+    sha256 = "sha256-vsCbmT6uWy+VA0qx8x9hx3pDSVKiDeXjnnrFRnhm4C8=";
   };
 
-  vendorHash = "sha256-2zBwqwYyE/9R8Ns5kkvu/JxxYyjnEULBnW+ObYnZ40w=";
+  vendorHash = "sha256-xtGXYCmiT7xY9OL8x0tTBP9y8UfzlJ6ZR2DhKOwVgkM=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/tools/networking/narrowlink/Cargo.lock.patch b/nixpkgs/pkgs/tools/networking/narrowlink/Cargo.lock.patch
new file mode 100644
index 000000000000..71e87a95c93d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/narrowlink/Cargo.lock.patch
@@ -0,0 +1,170 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 2d5af9d..920b315 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -952,7 +952,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "narrowlink-agent"
+-version = "0.1.3"
++version = "0.1.4"
+ dependencies = [
+  "clap_lex",
+  "dirs",
+@@ -961,8 +961,8 @@ dependencies = [
+  "futures-util",
+  "hmac",
+  "log",
+- "narrowlink-network",
+- "narrowlink-types",
++ "narrowlink-network 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "narrowlink-types 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "serde",
+  "serde_json",
+  "serde_yaml",
+@@ -976,7 +976,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "narrowlink-client"
+-version = "0.1.3"
++version = "0.1.4"
+ dependencies = [
+  "chrono",
+  "clap_lex",
+@@ -988,8 +988,8 @@ dependencies = [
+  "futures-util",
+  "hmac",
+  "log",
+- "narrowlink-network",
+- "narrowlink-types",
++ "narrowlink-network 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "narrowlink-types 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "rand",
+  "regex",
+  "serde",
+@@ -1006,7 +1006,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "narrowlink-gateway"
+-version = "0.1.3"
++version = "0.1.4"
+ dependencies = [
+  "askama",
+  "async-trait",
+@@ -1016,8 +1016,8 @@ dependencies = [
+  "futures-util",
+  "hyper",
+  "instant-acme",
+- "narrowlink-network",
+- "narrowlink-types",
++ "narrowlink-network 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "narrowlink-types 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "pem 3.0.2",
+  "rcgen",
+  "rustls",
+@@ -1037,7 +1037,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "narrowlink-network"
+-version = "0.1.3"
++version = "0.1.4"
+ dependencies = [
+  "bytes",
+  "chacha20poly1305",
+@@ -1045,7 +1045,30 @@ dependencies = [
+  "futures-util",
+  "hyper",
+  "log",
+- "narrowlink-types",
++ "narrowlink-types 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde",
++ "serde_json",
++ "tokio",
++ "tokio-native-tls",
++ "tokio-rustls",
++ "tokio-tungstenite",
++ "tungstenite",
++ "webpki-roots",
++]
++
++[[package]]
++name = "narrowlink-network"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "53a3e0af078492420b410b56ffeccd77e2c0d5ac31d53cc404e6b2f14ebde31b"
++dependencies = [
++ "bytes",
++ "chacha20poly1305",
++ "env_logger",
++ "futures-util",
++ "hyper",
++ "log",
++ "narrowlink-types 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "serde",
+  "serde_json",
+  "tokio",
+@@ -1058,19 +1081,38 @@ dependencies = [
+ 
+ [[package]]
+ name = "narrowlink-token-generator"
+-version = "0.1.3"
++version = "0.1.4"
+ dependencies = [
+  "clap_lex",
+  "dirs",
+  "jsonwebtoken",
+- "narrowlink-types",
++ "narrowlink-types 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+  "serde",
+  "serde_yaml",
+ ]
+ 
+ [[package]]
+ name = "narrowlink-types"
+-version = "0.1.3"
++version = "0.1.4"
++dependencies = [
++ "chrono",
++ "hmac",
++ "ipnet",
++ "jsonwebtoken",
++ "regex",
++ "serde",
++ "serde_json",
++ "sha3",
++ "uuid",
++ "validator",
++ "wildmatch",
++]
++
++[[package]]
++name = "narrowlink-types"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "06a2e4b95bcc18504b455bff0e8d23321c8fa3bd68526f7bf1567f918f36925f"
+ dependencies = [
+  "chrono",
+  "hmac",
+@@ -1661,18 +1703,18 @@ dependencies = [
+ 
+ [[package]]
+ name = "serde"
+-version = "1.0.185"
++version = "1.0.186"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "be9b6f69f1dfd54c3b568ffa45c310d6973a5e5148fd40cf515acaf38cf5bc31"
++checksum = "9f5db24220c009de9bd45e69fb2938f4b6d2df856aa9304ce377b3180f83b7c1"
+ dependencies = [
+  "serde_derive",
+ ]
+ 
+ [[package]]
+ name = "serde_derive"
+-version = "1.0.185"
++version = "1.0.186"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "dc59dfdcbad1437773485e0367fea4b090a2e0a16d9ffc46af47764536a298ec"
++checksum = "5ad697f7e0b65af4983a4ce8f56ed5b357e8d3c36651bf6a7e13639c17b8e670"
+ dependencies = [
+  "proc-macro2",
+  "quote",
diff --git a/nixpkgs/pkgs/tools/networking/narrowlink/default.nix b/nixpkgs/pkgs/tools/networking/narrowlink/default.nix
new file mode 100644
index 000000000000..68732b518ca9
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/narrowlink/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, openssl
+, stdenv
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "narrowlink";
+  version = "0.1.4";
+
+  src = fetchFromGitHub {
+    owner = "narrowlink";
+    repo = "narrowlink";
+    rev = version;
+    hash = "sha256-vef7ctauSl0xfYNqjvl8wLGbqzzkMItz1O7sT1UZ4b0=";
+  };
+
+  # Cargo.lock is outdated
+  cargoPatches = [ ./Cargo.lock.patch ];
+
+  cargoHash = "sha256-craOunscE6o8PXtZFCYpkFH/amkuLOK7SrV+XHbS2GM=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk_11_0.frameworks.IOKit
+    darwin.apple_sdk_11_0.frameworks.Security
+  ];
+
+  meta = {
+    description = "Narrowlink securely connects devices and services together, even when both nodes are behind separate NAT";
+    homepage = "https://github.com/narrowlink/narrowlink";
+    license = with lib.licenses; [ agpl3Only mpl20 ]; # the gateway component is AGPLv3, the rest is MPLv2
+    maintainers = with lib.maintainers; [ dit7ya ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/networking/ocserv/default.nix b/nixpkgs/pkgs/tools/networking/ocserv/default.nix
index ad58252d6ae9..ec1d3acea005 100644
--- a/nixpkgs/pkgs/tools/networking/ocserv/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ocserv/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ocserv";
-  version = "1.1.7";
+  version = "1.2.0";
 
   src = fetchFromGitLab {
     owner = "openconnect";
     repo = "ocserv";
     rev = version;
-    sha256 = "sha256-30S2puoL+5cBZ5nCKW2zvGPcnFvaKjRZVGKDC3E5XRk=";
+    sha256 = "sha256-EwjP4HKJEPMnn2tnJG7tPgHc49iQQm+V1mKx8CLOSkw=";
   };
 
   nativeBuildInputs = [ autoreconfHook gperf pkg-config ronn ];
diff --git a/nixpkgs/pkgs/tools/networking/opensnitch/daemon.nix b/nixpkgs/pkgs/tools/networking/opensnitch/daemon.nix
index a95b787ef0f5..1d81627bf29c 100644
--- a/nixpkgs/pkgs/tools/networking/opensnitch/daemon.nix
+++ b/nixpkgs/pkgs/tools/networking/opensnitch/daemon.nix
@@ -18,13 +18,13 @@
 
 buildGoModule rec {
   pname = "opensnitch";
-  version = "1.6.2";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "evilsocket";
     repo = "opensnitch";
     rev = "v${version}";
-    hash = "sha256-1ArwbewgZuoDF2lxY720yFQSsTuLR0WkS8vsTCr2FL4=";
+    hash = "sha256-C8Uuz2FC7Zu07ZmFpp+ejpNxkyC3/mM9J2dc5FUKx64=";
   };
 
   modRoot = "daemon";
diff --git a/nixpkgs/pkgs/tools/package-management/deploy-rs/default.nix b/nixpkgs/pkgs/tools/package-management/deploy-rs/default.nix
index 86c0963db178..fbb8a644e35b 100644
--- a/nixpkgs/pkgs/tools/package-management/deploy-rs/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/deploy-rs/default.nix
@@ -29,5 +29,6 @@ rustPlatform.buildRustPackage {
     homepage = "https://github.com/serokell/deploy-rs";
     license = licenses.mpl20;
     maintainers = with maintainers; [ teutat3s ];
+    mainProgram = "deploy";
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/dpkg/default.nix b/nixpkgs/pkgs/tools/package-management/dpkg/default.nix
index 1ee7bc6df964..9e9d76b6a495 100644
--- a/nixpkgs/pkgs/tools/package-management/dpkg/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/dpkg/default.nix
@@ -1,5 +1,19 @@
-{ lib, stdenv, fetchgit, perl, gnutar, zlib, bzip2, xz, zstd
-, libmd, makeWrapper, coreutils, autoreconfHook, pkg-config
+{ lib
+, stdenv
+, fetchgit
+, perl
+, gnutar
+, zlib
+, bzip2
+, xz
+, zstd
+, libmd
+, makeWrapper
+, coreutils
+, autoreconfHook
+, pkg-config
+, diffutils
+, glibc ? !stdenv.isDarwin
 }:
 
 stdenv.mkDerivation rec {
@@ -14,12 +28,11 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--disable-dselect"
+    "--disable-start-stop-daemon"
     "--with-admindir=/var/lib/dpkg"
     "PERL_LIBDIR=$(out)/${perl.libPrefix}"
     "TAR=${gnutar}/bin/tar"
-    (lib.optionalString stdenv.isDarwin "--disable-linker-optimisations")
-    (lib.optionalString stdenv.isDarwin "--disable-start-stop-daemon")
-  ];
+  ] ++ lib.optional stdenv.isDarwin "--disable-linker-optimisations";
 
   enableParallelBuilding = true;
 
@@ -37,7 +50,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  patchPhase = ''
+  postPatch = ''
     patchShebangs .
 
     # Dpkg commands sometimes calls out to shell commands
@@ -52,7 +65,10 @@ stdenv.mkDerivation rec {
        --replace '"debsig-verify"' \"$out/bin/debsig-verify\" \
        --replace '"rm"' \"${coreutils}/bin/rm\" \
        --replace '"cat"' \"${coreutils}/bin/cat\" \
-       --replace '"diff"' \"${coreutils}/bin/diff\"
+       --replace '"diff"' \"${diffutils}/bin/diff\"
+  '' + lib.optionalString (!stdenv.isDarwin) ''
+    substituteInPlace src/main/help.c \
+       --replace '"ldconfig"' \"${glibc.bin}/bin/ldconfig\"
   '';
 
   buildInputs = [ perl zlib bzip2 xz zstd libmd ];
diff --git a/nixpkgs/pkgs/tools/package-management/nix-index/default.nix b/nixpkgs/pkgs/tools/package-management/nix-index/default.nix
index 13e63341670e..35df4f9674d6 100644
--- a/nixpkgs/pkgs/tools/package-management/nix-index/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/nix-index/default.nix
@@ -4,32 +4,32 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nix-index";
-  version = "0.1.6";
+  version = "0.1.7";
 
   src = fetchFromGitHub {
-    owner = "bennofs";
+    owner = "nix-community";
     repo = "nix-index";
     rev = "v${version}";
-    sha256 = "sha256-mdK63qRVvISRbRwfMel4SYucmBxR6RLbM4IFz3K3Pks=";
+    hash = "sha256-WPWd2aMuP4L17UDFz7SI6lqyrCzrPV8c88vGyO6r6jk=";
   };
 
-  cargoHash = "sha256-uIGxCaFj4x1Ck/D2xxOlosJaGSVbOKxbXAEAkkBxyaQ=";
+  cargoHash = "sha256-zZhQ3pOid7BCGzcyCrl6sDm0q6IEVKF7K+d6nVs9flk=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl curl sqlite ]
     ++ lib.optional stdenv.isDarwin Security;
 
   postInstall = ''
-    mkdir -p $out/etc/profile.d
-    cp ./command-not-found.sh $out/etc/profile.d/command-not-found.sh
-    substituteInPlace $out/etc/profile.d/command-not-found.sh \
-      --replace "@out@" "$out"
+    substituteInPlace command-not-found.sh \
+      --subst-var out
+    install -Dm555 command-not-found.sh -t $out/etc/profile.d
   '';
 
   meta = with lib; {
     description = "A files database for nixpkgs";
-    homepage = "https://github.com/bennofs/nix-index";
+    homepage = "https://github.com/nix-community/nix-index";
+    changelog = "https://github.com/nix-community/nix-index/blob/${src.rev}/CHANGELOG.md";
     license = with licenses; [ bsd3 ];
-    maintainers = with maintainers; [ bennofs ncfavier ];
+    maintainers = with maintainers; [ bennofs figsoda ncfavier ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/pdm/default.nix b/nixpkgs/pkgs/tools/package-management/pdm/default.nix
index dba9d11b4729..41b79f1e0173 100644
--- a/nixpkgs/pkgs/tools/package-management/pdm/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/pdm/default.nix
@@ -30,13 +30,13 @@ in
 with python.pkgs;
 buildPythonApplication rec {
   pname = "pdm";
-  version = "2.8.0";
+  version = "2.8.2";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-BgsWKP2kZfLEHgZNISyp66Yww0ajMF4RWuI6TCzwJNo=";
+    hash = "sha256-uUjQC/YgaCsKxMgNIoyzBaKwFQ5JfuaTHaMOPMMFv9w=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/security/cnspec/default.nix b/nixpkgs/pkgs/tools/security/cnspec/default.nix
index 65a3765e200b..8d73e982e197 100644
--- a/nixpkgs/pkgs/tools/security/cnspec/default.nix
+++ b/nixpkgs/pkgs/tools/security/cnspec/default.nix
@@ -5,17 +5,17 @@
 
 buildGoModule rec {
   pname = "cnspec";
-  version = "8.22.1";
+  version = "8.23.2";
 
   src = fetchFromGitHub {
     owner = "mondoohq";
     repo = "cnspec";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xTYPAipdfrwAhtLcLZkClnmB1qRlgfTwt8Qpq6iSZPk=";
+    hash = "sha256-fqbqbKAj7NKtPXbL6iAI4o8Vpr7n6zp1WM72kQXj/H8=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-PE5RLMUi1bqFjUntvUU3dXmygFfzFJF+HerW5A+OktA=";
+  vendorHash = "sha256-+gTIBLNiXqcYXK0WGucwXXCBjkhkr5rrTjGKUuqn+mY=";
 
   subPackages = [
     "apps/cnspec"
diff --git a/nixpkgs/pkgs/tools/security/doppler/default.nix b/nixpkgs/pkgs/tools/security/doppler/default.nix
index ddc4b55432b3..28956edeaa37 100644
--- a/nixpkgs/pkgs/tools/security/doppler/default.nix
+++ b/nixpkgs/pkgs/tools/security/doppler/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.65.1";
+  version = "3.65.2";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-scFjaxUMlKGpO7UQrIS/f1Rsxu4weZ26jRCRmoUBGCs=";
+    sha256 = "sha256-rs+V19YaBvo5U9AAUks/nWl8TYveH8t+/rcQqjtG1gE=";
   };
 
   vendorHash = "sha256-FOmaK6S61fkzybpDx6qfi6m4e2IaqBpavaFhEgIvmqw=";
diff --git a/nixpkgs/pkgs/tools/security/exploitdb/default.nix b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
index 51b999f81480..1ab7fba07084 100644
--- a/nixpkgs/pkgs/tools/security/exploitdb/default.nix
+++ b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2023-08-20";
+  version = "2023-08-24";
 
   src = fetchFromGitLab {
     owner = "exploit-database";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Od8iMbHxmQKyP02piWDkeUfIhkwZLFsm6lpSTztCjmA=";
+    hash = "sha256-iL0RfcTOKQ3c3UErfAE0efi4HXJYHUP6RFcgDzeGJqU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/security/galer/default.nix b/nixpkgs/pkgs/tools/security/galer/default.nix
index d64b47bfdaf6..bfe7cb18d1eb 100644
--- a/nixpkgs/pkgs/tools/security/galer/default.nix
+++ b/nixpkgs/pkgs/tools/security/galer/default.nix
@@ -11,10 +11,10 @@ buildGoModule rec {
     owner = "dwisiswant0";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1923071rk078mqk5mig45kcrr58ni02rby3r298myld7j9gfnylb";
+    hash = "sha256-i3rrXpKnUV9REnn4lQWIFpWc2SzkxVomruiAmcMBQ6Q=";
   };
 
-  vendorSha256 = "0p5b6cp4ccvcjiy3g9brcwb08wxjbrpsza525fmx38wyyi0n0wns";
+  vendorHash = "sha256-2nJgQfSeo9GrK6Kor29esnMEFmd5pTd8lGwzRi4zq1w=";
 
   meta = with lib; {
     description = "Tool to fetch URLs from HTML attributes";
diff --git a/nixpkgs/pkgs/tools/security/gitleaks/default.nix b/nixpkgs/pkgs/tools/security/gitleaks/default.nix
index bee715a8a459..96c4b0f4e155 100644
--- a/nixpkgs/pkgs/tools/security/gitleaks/default.nix
+++ b/nixpkgs/pkgs/tools/security/gitleaks/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "gitleaks";
-  version = "8.17.0";
+  version = "8.18.0";
 
   src = fetchFromGitHub {
     owner = "zricethezav";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-rwTyzXFGn9+2qbWZLhVHGRbHwbTTcosW8TtVKuNlbGI=";
+    hash = "sha256-659wQBv8DuYB4vI+qnBLS9u22kGlg4ne4DyKFoomlOw=";
   };
 
-  vendorHash = "sha256-sLezh1H5mVgoPl8YsKL41xpGWKEBP5nkKQjtPIE5Zm0=";
+  vendorHash = "sha256-PPEEQ2Bt20UK+mQL59jVnX8HtzCsqW4uRwR3mOdhDis=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/tools/security/govulncheck/default.nix b/nixpkgs/pkgs/tools/security/govulncheck/default.nix
index b3493c3a3098..61249d354df1 100644
--- a/nixpkgs/pkgs/tools/security/govulncheck/default.nix
+++ b/nixpkgs/pkgs/tools/security/govulncheck/default.nix
@@ -1,24 +1,32 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
 
 buildGoModule rec {
   pname = "govulncheck";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "vuln";
-    rev = "v${version}";
-    sha256 = "sha256-cewQ03dK/k3mXevE09M01Yox/3ZWP6IrG0H4QsZMzy8=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-cewQ03dK/k3mXevE09M01Yox/3ZWP6IrG0H4QsZMzy8=";
   };
 
-  vendorSha256 = "sha256-r9XshbgVA5rppJF46SFYPad344ZHMLWTHTnL6vbIFH8=";
+  vendorHash = "sha256-r9XshbgVA5rppJF46SFYPad344ZHMLWTHTnL6vbIFH8=";
 
-  subPackages = [ "cmd/govulncheck" ];
+  subPackages = [
+    "cmd/govulncheck"
+  ];
 
   # Vendoring breaks tests
   doCheck = false;
 
-  ldflags = [ "-s" "-w" ];
+  ldflags = [
+    "-s"
+    "-w"
+  ];
 
   meta = with lib; {
     homepage = "https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck";
diff --git a/nixpkgs/pkgs/tools/security/holehe/default.nix b/nixpkgs/pkgs/tools/security/holehe/default.nix
new file mode 100644
index 000000000000..ed8146fec688
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/holehe/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, python3
+, fetchFromGitHub
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "holehe";
+  version = "unstable-2023-05-18";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "megadose";
+    repo = "holehe";
+    rev = "bec2f582c286a4e32de4dfc1f241297f60bd8713";
+    hash = "sha256-dLfuQew6cqb32r9AMubuo51A7TeaIafEdZs0OrQF7Gg=";
+  };
+
+  postPatch = ''
+    # https://github.com/megadose/holehe/pull/178
+    substituteInPlace setup.py \
+      --replace "bs4" "beautifulsoup4"
+  '';
+
+  propagatedBuildInputs = with python3.pkgs; [
+    beautifulsoup4
+    colorama
+    httpx
+    termcolor
+    tqdm
+    trio
+  ];
+
+  # Project has no test
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "holehe"
+  ];
+
+  meta = with lib; {
+    description = "CLI to check if the mail is used on different sites";
+    homepage = "https://github.com/megadose/holehe";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/hstsparser/default.nix b/nixpkgs/pkgs/tools/security/hstsparser/default.nix
new file mode 100644
index 000000000000..8b4e4882f556
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/hstsparser/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, python3
+, fetchFromGitHub
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "hstsparser";
+  version = "1.2.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "thebeanogamer";
+    repo = "hstsparser";
+    rev = "refs/tags/${version}";
+    hash = "sha256-9ZNBzPa4mFXbao73QukEL56sM/3dg4ElOMXgNGTVh1g=";
+  };
+
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    prettytable
+  ];
+
+  pythonImportsCheck = [
+    "hstsparser"
+  ];
+
+  meta = with lib; {
+    description = "Tool to parse Firefox and Chrome HSTS databases into forensic artifacts";
+    homepage = "https://github.com/thebeanogamer/hstsparser";
+    changelog = "https://github.com/thebeanogamer/hstsparser/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/kepler/default.nix b/nixpkgs/pkgs/tools/security/kepler/default.nix
new file mode 100644
index 000000000000..f4a229030f1d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/kepler/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, stdenv
+, darwin
+, fetchFromGitHub
+, openssl
+, pkg-config
+, postgresql
+, rustPlatform
+, zstd
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "kepler";
+  version = "unstable-2023-07-19";
+
+  src = fetchFromGitHub {
+    owner = "Exein-io";
+    repo = "kepler";
+    rev = "9f4f9c617f2477850ed70f1b1d7387807c35d26c";
+    hash = "sha256-jmQ88flSMrS0CB7GNj1Ee60HZgroDKTwLk0i/kg6gVM=";
+  };
+
+  cargoHash = "sha256-+WLb4DsAW6tnO0KdtD9zMnYCEb1t0onZqFhnqhbIStU=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+    postgresql
+    zstd
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  env = {
+    ZSTD_SYS_USE_PKG_CONFIG = true;
+  };
+
+  meta = with lib; {
+    description = "NIST-based CVE lookup store and API powered by Rust";
+    homepage = "https://github.com/Exein-io/kepler";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/nuclei/default.nix b/nixpkgs/pkgs/tools/security/nuclei/default.nix
index 6383d0f51d7c..f4d4a66e04ab 100644
--- a/nixpkgs/pkgs/tools/security/nuclei/default.nix
+++ b/nixpkgs/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "2.9.11";
+  version = "2.9.12";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-OZAHB1QmdZSARHF7Nd8SzmTGfRk4Wi/89nVYjW0Cpso=";
+    hash = "sha256-XLSNBFblgDkGGimwx0KqgHfDOekj7GH81EaKQ106v5U=";
   };
 
-  vendorHash = "sha256-L8EwfyYtsnQChs0KQW2e/tU3zKua1HdDX91YX5ay9qo=";
+  vendorHash = "sha256-/1F2aY3cRLRz06s1KXQ6bt7UgaZgiXEjS/5stGi7xIw=";
 
   modRoot = "./v2";
   subPackages = [
diff --git a/nixpkgs/pkgs/tools/security/plasma-pass/default.nix b/nixpkgs/pkgs/tools/security/plasma-pass/default.nix
index f47cd69d43dd..da276aef50da 100644
--- a/nixpkgs/pkgs/tools/security/plasma-pass/default.nix
+++ b/nixpkgs/pkgs/tools/security/plasma-pass/default.nix
@@ -15,12 +15,7 @@ mkDerivation rec {
     owner = "plasma";
     repo = "plasma-pass";
     sha256 = "sha256-lCNskOXkSIcMPcMnTWE37sDCXfmtP0FhyMzxeF6L0iU=";
-
-    # So the tag is actually "v0.2.1" but the released version is later than
-    # 1.2.0 and the "release" on the gitlab page also says "1.2.1".
-    # I guess they just messed up the tag subject and description.
-    # Maintainer of plasma-pass was notified about this 2023-08-13
-    rev = "v0.2.1";
+    rev = "v${version}";
   };
 
   buildInputs  = [
diff --git a/nixpkgs/pkgs/tools/security/tor/default.nix b/nixpkgs/pkgs/tools/security/tor/default.nix
index 28e38d6ad1c9..0a2074d98436 100644
--- a/nixpkgs/pkgs/tools/security/tor/default.nix
+++ b/nixpkgs/pkgs/tools/security/tor/default.nix
@@ -30,11 +30,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.7.14";
+  version = "0.4.8.4";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "sha256-paxn9kZjgPwF6AQ9AcWB5Oiisi/glDABNHPnEGXmXfg=";
+    sha256 = "sha256-CcHOdKJfw7SMgf8UbL0N1TjLu4/k4pZPwvsrGS9qHSs=";
   };
 
   outputs = [ "out" "geoip" ];
diff --git a/nixpkgs/pkgs/tools/security/trufflehog/default.nix b/nixpkgs/pkgs/tools/security/trufflehog/default.nix
index 9b80c150c1ff..dce1996abb48 100644
--- a/nixpkgs/pkgs/tools/security/trufflehog/default.nix
+++ b/nixpkgs/pkgs/tools/security/trufflehog/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "trufflehog";
-  version = "3.52.1";
+  version = "3.53.0";
 
   src = fetchFromGitHub {
     owner = "trufflesecurity";
     repo = "trufflehog";
     rev = "refs/tags/v${version}";
-    hash = "sha256-T3//AKSgnsdRWEzz+kh8rkHXBnJF9CThXervwAZ7Uog=";
+    hash = "sha256-O1MCl9chqiOGxOUYxaQNs0gXHgVkT8ZgSSTQXj63f90=";
   };
 
   vendorHash = "sha256-RHNt9GxqWb4EDKg5of5s88iUmJPI2w7i5hPoCFMmnew=";
diff --git a/nixpkgs/pkgs/tools/security/wapiti/default.nix b/nixpkgs/pkgs/tools/security/wapiti/default.nix
index 35c69b8efd6c..13a7e55cc3ec 100644
--- a/nixpkgs/pkgs/tools/security/wapiti/default.nix
+++ b/nixpkgs/pkgs/tools/security/wapiti/default.nix
@@ -5,33 +5,47 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "wapiti";
-  version = "3.1.7";
-  format = "setuptools";
+  version = "3.1.8";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "wapiti-scanner";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-muAugc0BgVSER2LSRv7ATbCqpXID8/WH+hfhmtoS36o=";
+    hash = "sha256-2ssbczUa4pTA5Fai+sK1hES8skJMIHxa/R2hNIiEVLs=";
   };
 
+  postPatch = ''
+    # Ignore pinned versions
+    sed -i -e "s/==[0-9.]*//;s/>=[0-9.]*//" pyproject.toml
+
+    # Remove code coverage checking
+    substituteInPlace pyproject.toml \
+      --replace "--cov --cov-report=xml" ""
+  '';
+
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = with python3.pkgs; [
     aiocache
+    aiohttp
     aiosqlite
     arsenic
     beautifulsoup4
-    brotli
     browser-cookie3
-    cryptography
     dnspython
+    h11
     httpcore
     httpx
-    humanize
-    importlib-metadata
+    httpx-ntlm
     loguru
     mako
     markupsafe
     mitmproxy
+    pyasn1
     six
     sqlalchemy
     tld
@@ -39,21 +53,14 @@ python3.pkgs.buildPythonApplication rec {
   ] ++ httpx.optional-dependencies.brotli
   ++ httpx.optional-dependencies.socks;
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = with python3.pkgs; [
     respx
     pytest-asyncio
     pytestCheckHook
   ];
 
-  postPatch = ''
-    # Ignore pinned versions
-    sed -i -e "s/==[0-9.]*//;s/>=[0-9.]*//" setup.py
-    substituteInPlace setup.py \
-      --replace '"pytest-runner"' ""
-    substituteInPlace setup.cfg \
-      --replace " --cov --cov-report=xml" ""
-  '';
-
   preCheck = ''
     export HOME=$(mktemp -d);
   '';
@@ -114,6 +121,7 @@ python3.pkgs.buildPythonApplication rec {
     "test_xxe"
     # Requires a PHP installation
     "test_cookies"
+    "test_fallback_to_html_injection"
     "test_loknop_lfi_to_rce"
     "test_redirect"
     "test_timesql"
@@ -121,6 +129,8 @@ python3.pkgs.buildPythonApplication rec {
     "test_xss_inside_src_iframe"
     # TypeError: Expected bytes or bytes-like object got: <class 'str'>
     "test_persister_upload"
+    # Requires creating a socket to an external URL
+    "test_attack_unifi"
   ];
 
   disabledTestPaths = [
diff --git a/nixpkgs/pkgs/tools/system/acpica-tools/default.nix b/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
index 1fee07c08037..7c41e7c8a518 100644
--- a/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
+++ b/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "acpica-tools";
-  version = "20230331";
+  version = "20230628";
 
   src = fetchurl {
-    url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    hash = "sha256-DF1pXWBaqmFwnzxj9XoambiQIpFyOZhEawgTtXrDEOI=";
+    url = "https://downloadmirror.intel.com/783534/acpica-unix-${version}.tar.gz";
+    hash = "sha256-hodqdF49Ik3P0iLtPeRltHVZ6FgR3y25gg7wmp3/XM4=";
   };
 
   nativeBuildInputs = [ bison flex ];
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.acpica.org/";
     description = "ACPICA Tools";
     license = with licenses; [ iasl gpl2Only bsd3 ];
-    maintainers = with maintainers; [ tadfisher ];
+    maintainers = with maintainers; [ delroth tadfisher ];
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix b/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix
index e9ef13e649a8..fd124d8cf8f5 100644
--- a/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix
+++ b/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "automatic-timezoned";
-  version = "1.0.118";
+  version = "1.0.121";
 
   src = fetchFromGitHub {
     owner = "maxbrunet";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kV66aN/eGrGIX61zcdyow1f/VzrYW0m/TVOx13Jq88E=";
+    sha256 = "sha256-B3Ndu6Zyq7tsVOvQqtnBB7Fs8CbxrogeV5LF20u17IQ=";
   };
 
-  cargoHash = "sha256-705pVGdVixq/Xog8RBktERP8GBLkt8Ch2DozuSngTas=";
+  cargoHash = "sha256-2rVqwmWn59ytLRrMFS1m97CXlJ/FneV7QSMdvqjzmw8=";
 
   meta = with lib; {
     description = "Automatically update system timezone based on location";
diff --git a/nixpkgs/pkgs/tools/system/hddfancontrol/default.nix b/nixpkgs/pkgs/tools/system/hddfancontrol/default.nix
new file mode 100644
index 000000000000..117acd7f7531
--- /dev/null
+++ b/nixpkgs/pkgs/tools/system/hddfancontrol/default.nix
@@ -0,0 +1,34 @@
+{ lib, python3Packages, fetchFromGitHub, hddtemp, hdparm, smartmontools }:
+
+python3Packages.buildPythonPackage rec {
+  pname = "hddfancontrol";
+  version = "1.5.1";
+
+  src = fetchFromGitHub {
+    owner = "desbma";
+    repo = pname;
+    rev = version;
+    sha256 = "0b2grf98qnikayn18xll01dkm5pjpcjxdffgx1nyw9s0gqig8dg0";
+  };
+
+  propagatedBuildInputs = [
+    python3Packages.python-daemon
+    hddtemp
+    hdparm
+    smartmontools
+  ];
+
+  postInstall = ''
+    mkdir -p $out/etc/systemd/system
+    substitute systemd/hddfancontrol.service $out/etc/systemd/system/hddfancontrol.service \
+        --replace /usr/bin/hddfancontrol $out/bin/hddfancontrol
+    sed -i -e '/EnvironmentFile=.*/d' $out/etc/systemd/system/hddfancontrol.service
+  '';
+
+  meta = with lib; {
+    description = "Dynamically control fan speed according to hard drive temperature on Linux";
+    homepage = "https://github.com/desbma/hddfancontrol";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ benley ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/clima/default.nix b/nixpkgs/pkgs/tools/text/clima/default.nix
new file mode 100644
index 000000000000..cfa39590a714
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/clima/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, stdenv
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "clima";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "Canop";
+    repo = "clima";
+    rev = "v${version}";
+    hash = "sha256-CRnAxhkuCTyHR4uQofA51Dm3+YKqm3iwBkFNkbLTv1A=";
+  };
+
+  cargoHash = "sha256-jKY+Ta6lqMBUlqSViKk3W0CiO8oU+ucmleKDYRA54HQ=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  meta = with lib; {
+    description = "A minimal viewer for Termimad";
+    homepage = "https://github.com/Canop/clima";
+    changelog = "https://github.com/Canop/clima/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+    mainProgram = "clima";
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/markdownlint-cli2/default.nix b/nixpkgs/pkgs/tools/text/markdownlint-cli2/default.nix
new file mode 100644
index 000000000000..86e1338a09ef
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/markdownlint-cli2/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "markdownlint-cli2";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "DavidAnson";
+    repo = "markdownlint-cli2";
+    rev = "v${version}";
+    hash = "sha256-qtdR7Rhz+HLZJX82OrN+twOsvFOv99e4BBDVV1UayPI=";
+  };
+
+  npmDepsHash = "sha256-Fx0lDcvzLRVSAX0apKmu1CBfnGmGQR9FQEdhHUtue/c=";
+
+  postPatch = ''
+    ln -s npm-shrinkwrap.json package-lock.json
+  '';
+
+  dontNpmBuild = true;
+
+  meta = {
+    changelog = "https://github.com/DavidAnson/markdownlint-cli2/blob/${src.rev}/CHANGELOG.md";
+    description = "A fast, flexible, configuration-based command-line interface for linting Markdown/CommonMark files with the markdownlint library";
+    homepage = "https://github.com/DavidAnson/markdownlint-cli2";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/text/txr/default.nix b/nixpkgs/pkgs/tools/text/txr/default.nix
index 2b9c306406a8..dceedbdc5101 100644
--- a/nixpkgs/pkgs/tools/text/txr/default.nix
+++ b/nixpkgs/pkgs/tools/text/txr/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "txr";
-  version = "289";
+  version = "291";
 
   src = fetchurl {
     url = "https://www.kylheku.com/cgit/txr/snapshot/txr-${finalAttrs.version}.tar.bz2";
-    hash = "sha256-1m3QXY1qlVMFpehAYifHkDNQ4hAlO45/6+bbpbMAo3M=";
+    hash = "sha256-Btk3PanJa6hyoM+hfQq+EhIMaL2edyhfxx96Kpy+aaA=";
   };
 
   buildInputs = [ libffi ];
diff --git a/nixpkgs/pkgs/tools/text/ugrep/default.nix b/nixpkgs/pkgs/tools/text/ugrep/default.nix
index 354cdc350833..afc986e9c597 100644
--- a/nixpkgs/pkgs/tools/text/ugrep/default.nix
+++ b/nixpkgs/pkgs/tools/text/ugrep/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ugrep";
-  version = "4.0.0";
+  version = "4.0.2";
 
   src = fetchFromGitHub {
     owner = "Genivia";
     repo = "ugrep";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-kRpHJl/ouYgvwFMk6uO4XobyT2kTCH9kLfeF70IqMuc=";
+    hash = "sha256-g+COkAdXc1Z3yrObbeBU1wtu9Tr3mEhxrf6Qmy3JywY=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/text/wrap/default.nix b/nixpkgs/pkgs/tools/text/wrap/default.nix
index 728cad2c3fee..4eebcf60437b 100644
--- a/nixpkgs/pkgs/tools/text/wrap/default.nix
+++ b/nixpkgs/pkgs/tools/text/wrap/default.nix
@@ -8,18 +8,23 @@ buildGoModule rec {
     owner = "Wraparound";
     repo = "wrap";
     rev = "v${version}";
-    sha256 = "0scf7v83p40r9k7k5v41rwiy9yyanfv3jm6jxs9bspxpywgjrk77";
+    hash = "sha256-58wsH/e3X72S7tJUObazyvvkI8+B7DLPTBmQO9A+jmk=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  vendorHash = "sha256-vg61Vypd+mSF9FyLFVpnS5UCTJDoobkDE1Cneg8O0RM=";
 
-  vendorSha256 = null; #vendorSha256 = "";
+  nativeBuildInputs = [ makeWrapper ];
 
   patches = [
     (fetchpatch {
       name = "courier-prime-variants.patch";
       url = "https://github.com/Wraparound/wrap/commit/b72c280b6eddba9ec7b3507c1f143eb28a85c9c1.patch";
-      sha256 = "1d9v0agfd7mgd17k4a8l6vr2kyswyfsyq3933dz56pgs5d3jric5";
+      hash = "sha256-hcUsRyv6XVN+GyMN7LXzXPsp8jYUKTJPaK+e5p4CO7U=";
+    })
+    # Fix build on Go 1.17+
+    (fetchpatch {
+      url = "https://github.com/Wraparound/wrap/commit/a222c18a7e0810486741684781ff6158a359a8ba.patch";
+      hash = "sha256-eIKvA91olfbNJhOhIUu3GOL/rbgX3m6unmU8nRdKbtc=";
     })
   ];
 
@@ -32,6 +37,5 @@ buildGoModule rec {
     homepage = "https://github.com/Wraparound/wrap";
     license = licenses.gpl3Only;
     maintainers = [ maintainers.austinbutler ];
-    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
   };
 }
diff --git a/nixpkgs/pkgs/tools/text/write-good/default.nix b/nixpkgs/pkgs/tools/text/write-good/default.nix
new file mode 100644
index 000000000000..db3e16c23deb
--- /dev/null
+++ b/nixpkgs/pkgs/tools/text/write-good/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "write-good";
+  version = "1.0.8";
+
+  src = fetchFromGitHub {
+    owner = "btford";
+    repo = "write-good";
+    rev = "v${version}";
+    hash = "sha256-cq3cj2BwoQMKqo3iU2l+PR/2bJIFMSTRsDGQJ06GWXk=";
+  };
+
+  npmDepsHash = "sha256-0M9RzyeINmUPYcLy654iI+/ehElKrhIAibpiSqlXD2A=";
+
+  dontNpmBuild = true;
+
+  meta = {
+    description = "Naive linter for English prose";
+    homepage = "https://github.com/btford/write-good";
+    license = lib.licenses.mit;
+    mainProgram = "write-good";
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/typesetting/carbon-now-cli/default.nix b/nixpkgs/pkgs/tools/typesetting/carbon-now-cli/default.nix
new file mode 100644
index 000000000000..7d35283ab74c
--- /dev/null
+++ b/nixpkgs/pkgs/tools/typesetting/carbon-now-cli/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "carbon-now-cli";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "mixn";
+    repo = "carbon-now-cli";
+    rev = "v${version}";
+    hash = "sha256-2fqZdPkVM3qBZKacBv9dX99Q9WnM5m7OpChG2n1TnXg=";
+  };
+
+  npmDepsHash = "sha256-UgrgnaA+GXRQT3dtAoMq6tsZZ2gV1CQNoYG58IuSZUM=";
+
+  postPatch = ''
+    substituteInPlace package.json \
+      --replace "bundle/cli.js" "dist/cli.js" \
+      --replace "trash " "rm -rf " \
+      --replace "npx playwright install --with-deps" "true"
+  '';
+
+  env = {
+    PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = 1;
+  };
+
+  meta = {
+    description = "Beautiful images of your code — from right inside your terminal";
+    homepage = "https://github.com/mixn/carbon-now-cli";
+    license = lib.licenses.mit;
+    mainProgram = "carbon-now";
+    maintainers = with lib.maintainers; [ rmcgibbo ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/typesetting/marp/default.nix b/nixpkgs/pkgs/tools/typesetting/marp/default.nix
new file mode 100644
index 000000000000..574159a76fa1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/typesetting/marp/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchYarnDeps
+, makeWrapper
+, nodejs
+, prefetch-yarn-deps
+, yarn
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "marp-cli";
+  version = "3.2.0";
+
+  src = fetchFromGitHub {
+    owner = "marp-team";
+    repo = "marp-cli";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-bx5mq5KI85qUct/9Hr6mby6dWmRkmpVbiIw+M8PZas8=";
+  };
+
+  offlineCache = fetchYarnDeps {
+    yarnLock = "${finalAttrs.src}/yarn.lock";
+    hash = "sha256-BogCt7ezmWxv2YfhljHYoBf47/FHR0qLZosjnoQhqgs=";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+    nodejs
+    prefetch-yarn-deps
+    yarn
+  ];
+
+  configurePhase = ''
+    runHook preConfigure
+
+    export HOME=$(mktemp -d)
+    yarn config --offline set yarn-offline-mirror $offlineCache
+    fixup-yarn-lock yarn.lock
+    yarn --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive install
+    patchShebangs node_modules
+
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    yarn --offline build
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    yarn --offline --production install
+
+    mkdir -p $out/lib/node_modules/@marp-team/marp-cli
+    cp -r lib node_modules marp-cli.js $out/lib/node_modules/@marp-team/marp-cli/
+
+    makeWrapper "${nodejs}/bin/node" "$out/bin/marp" \
+      --add-flags "$out/lib/node_modules/@marp-team/marp-cli/marp-cli.js"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "About A CLI interface for Marp and Marpit based converters";
+    homepage = "https://github.com/marp-team/marp-cli";
+    license = licenses.mit;
+    maintainers = with maintainers; [ GuillaumeDesforges ];
+    platforms = nodejs.meta.platforms;
+    mainProgram = "marp";
+  };
+})
diff --git a/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix b/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix
index b199bc0a50dd..b57ce3abb168 100644
--- a/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/cri-tools/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "cri-tools";
-  version = "1.27.1";
+  version = "1.28.0";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GcfRnYOMrkMBIc2s6u/kwzh1kCFo2+PQCIcQyXxVdDM=";
+    sha256 = "sha256-inw4bPeObMlwtgFLR/8+tqRKTkcViZeEFZ1MOm0HYI4=";
   };
 
   vendorHash = null;