about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/X11/ckbcomp/default.nix4
-rw-r--r--pkgs/tools/admin/azure-cli/default.nix2
-rw-r--r--pkgs/tools/admin/granted/default.nix4
-rw-r--r--pkgs/tools/admin/qovery-cli/default.nix4
-rw-r--r--pkgs/tools/admin/realvnc-vnc-viewer/darwin.nix11
-rw-r--r--pkgs/tools/admin/realvnc-vnc-viewer/default.nix1
-rw-r--r--pkgs/tools/admin/realvnc-vnc-viewer/linux.nix13
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/spotdl/default.nix54
-rw-r--r--pkgs/tools/backup/pgbackrest/default.nix4
-rw-r--r--pkgs/tools/inputmethods/emote/default.nix62
-rw-r--r--pkgs/tools/misc/barman/default.nix4
-rw-r--r--pkgs/tools/misc/chafa/default.nix4
-rw-r--r--pkgs/tools/misc/copier/default.nix2
-rw-r--r--pkgs/tools/misc/fedifetcher/default.nix6
-rw-r--r--pkgs/tools/misc/fsmon/default.nix4
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/contrib.nix6
-rw-r--r--pkgs/tools/misc/ripdrag/default.nix6
-rw-r--r--pkgs/tools/misc/vivid/default.nix6
-rw-r--r--pkgs/tools/networking/ipfetch/default.nix6
-rw-r--r--pkgs/tools/networking/keepalived/default.nix4
-rw-r--r--pkgs/tools/networking/networkmanager/default.nix4
-rw-r--r--pkgs/tools/networking/networkmanager/openvpn/default.nix81
-rw-r--r--pkgs/tools/networking/shadowsocks-rust/default.nix6
-rw-r--r--pkgs/tools/networking/zerotierone/0001-darwin-disable-link-time-optimization.patch32
-rw-r--r--pkgs/tools/networking/zerotierone/default.nix53
-rw-r--r--pkgs/tools/networking/zrok/default.nix8
-rw-r--r--pkgs/tools/package-management/nix-template/default.nix2
-rw-r--r--pkgs/tools/security/ghidra/build.nix141
-rw-r--r--pkgs/tools/security/notary/default.nix66
-rw-r--r--pkgs/tools/security/notary/no-git-usage.patch15
-rw-r--r--pkgs/tools/security/onlykey-agent/default.nix2
-rw-r--r--pkgs/tools/security/spire/default.nix2
-rw-r--r--pkgs/tools/security/uncover/default.nix6
-rw-r--r--pkgs/tools/text/epub2txt2/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/texlive/build-tex-env.nix7
-rw-r--r--pkgs/tools/video/gopro/default.nix2
-rw-r--r--pkgs/tools/wayland/wayland-proxy-virtwl/default.nix6
38 files changed, 297 insertions, 351 deletions
diff --git a/pkgs/tools/X11/ckbcomp/default.nix b/pkgs/tools/X11/ckbcomp/default.nix
index bbc619bf82979..663717ad83cff 100644
--- a/pkgs/tools/X11/ckbcomp/default.nix
+++ b/pkgs/tools/X11/ckbcomp/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ckbcomp";
-  version = "1.227";
+  version = "1.228";
 
   src = fetchFromGitLab {
     domain = "salsa.debian.org";
     owner = "installer-team";
     repo = "console-setup";
     rev = version;
-    sha256 = "sha256-95En8WDGad6s6PkUbDOs/I+DJ7A7tRyIq+Ets1kDPKM=";
+    sha256 = "sha256-fBDaP7OpQKQV8CIM3s74+E1M6BwsS47Jn2AX8xQK0tI=";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
index d401801a15edf..89bd83d23a1bf 100644
--- a/pkgs/tools/admin/azure-cli/default.nix
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -375,7 +375,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage rec {
     sourceProvenance = [ sourceTypes.fromSource ];
     license = licenses.mit;
     mainProgram = "az";
-    maintainers = with maintainers; [ jonringer ];
+    maintainers = with maintainers; [ katexochen ];
     platforms = platforms.all;
   };
 })
diff --git a/pkgs/tools/admin/granted/default.nix b/pkgs/tools/admin/granted/default.nix
index 4ffb46c52af85..b3b0fd6d14093 100644
--- a/pkgs/tools/admin/granted/default.nix
+++ b/pkgs/tools/admin/granted/default.nix
@@ -12,13 +12,13 @@
 
 buildGoModule rec {
   pname = "granted";
-  version = "0.27.5";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner = "common-fate";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-s7tSSYRWSkNY6sh88XqocTSQ9aS5+O0tqYjyH03NIb0=";
+    sha256 = "sha256-YOEuAjVIOmQdudjPc1ooGWRjm2ADemS7xSntho1k5KA=";
   };
 
   vendorHash = "sha256-/X7kHaBZyDV4IqvKqyR7pAQLgYqIvcvSSh0NdrA5d3I=";
diff --git a/pkgs/tools/admin/qovery-cli/default.nix b/pkgs/tools/admin/qovery-cli/default.nix
index 82a035bc442e0..01b2cc14a9132 100644
--- a/pkgs/tools/admin/qovery-cli/default.nix
+++ b/pkgs/tools/admin/qovery-cli/default.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "qovery-cli";
-  version = "0.94.14";
+  version = "0.94.16";
 
   src = fetchFromGitHub {
     owner = "Qovery";
     repo = "qovery-cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-A2U/NoVbUW0U5/1Q/jJ5MFBrcHB1c23EMAY3bwWZ/R4=";
+    hash = "sha256-oWKE7k/ryEDdz63xeauDGK9y0nz6pri/sOnFTk0qBdM=";
   };
 
   vendorHash = "sha256-qrDadHGhjwsAIfIQIkUeT7Tehv1sTtsfzgPyKxc5zJE=";
diff --git a/pkgs/tools/admin/realvnc-vnc-viewer/darwin.nix b/pkgs/tools/admin/realvnc-vnc-viewer/darwin.nix
index b55ff360c75ef..4bd6869d2def1 100644
--- a/pkgs/tools/admin/realvnc-vnc-viewer/darwin.nix
+++ b/pkgs/tools/admin/realvnc-vnc-viewer/darwin.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenvNoCC
-, requireFile
+, fetchurl
 , undmg
 , pname
 , version
@@ -9,17 +9,10 @@
 stdenvNoCC.mkDerivation (finalAttrs: {
   inherit pname version meta;
 
-  src = requireFile rec {
+  src = fetchurl rec {
       name = "VNC-Viewer-${finalAttrs.version}-MacOSX-universal.dmg";
       url = "https://downloads.realvnc.com/download/file/viewer.files/${name}";
       sha256 = "0k72fdnx1zmyi9z5n3lazc7s70gcddxq0s73akp0al0y9hzq9prh";
-      message= ''
-        vnc-viewer can be downloaded from ${url},
-        but the download link require captcha, thus if you wish to use this application,
-        you need to download it manually and use follow command to add downloaded files into nix-store
-
-        $ nix-prefetch-url --type sha256 file:///path/to/${name}
-      '';
   };
   sourceRoot = ".";
 
diff --git a/pkgs/tools/admin/realvnc-vnc-viewer/default.nix b/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
index 38f3986b6a5b7..9776ececcfd24 100644
--- a/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
+++ b/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
@@ -17,7 +17,6 @@ let
     };
     maintainers = with maintainers; [ emilytrau onedragon ];
     platforms = [ "x86_64-linux" ] ++ platforms.darwin;
-    hydraPlatforms = [];
     mainProgram = "vncviewer";
   };
 in
diff --git a/pkgs/tools/admin/realvnc-vnc-viewer/linux.nix b/pkgs/tools/admin/realvnc-vnc-viewer/linux.nix
index 164fe67b6804f..552b1dc035392 100644
--- a/pkgs/tools/admin/realvnc-vnc-viewer/linux.nix
+++ b/pkgs/tools/admin/realvnc-vnc-viewer/linux.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, requireFile
+, fetchurl
 , autoPatchelfHook
 , rpmextract
 , libX11
@@ -13,18 +13,11 @@
 stdenv.mkDerivation (finalAttrs: {
   inherit pname version;
 
-  src = {
-    "x86_64-linux" = requireFile rec {
+  src = rec {
+    "x86_64-linux" = fetchurl rec {
       name = "VNC-Viewer-${finalAttrs.version}-Linux-x64.rpm";
       url = "https://downloads.realvnc.com/download/file/viewer.files/${name}";
       sha256 = "sha256-Ull9iNi8NxB12YwEThWE0P9k1xOV2LZnebuRrVH/zwI=";
-      message= ''
-        vnc-viewer can be downloaded from ${url},
-        but the download link require captcha, thus if you wish to use this application,
-        you need to download it manually and use follow command to add downloaded files into nix-store
-
-        $ nix-prefetch-url --type sha256 file:///path/to/${name}
-      '';
     };
   }.${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index f24acd60185b1..c5979437f4292 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2024.06.03";
+  version = "2024.06.18";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    hash = "sha256-iq/NnXMATYRCjeBlcSvgdCVe2lDz/Tade7GQnlCygGM=";
+    hash = "sha256-QxIbA/rQ4Sk4XFZ1XR3CAOt3L3xwxFFrDQK8B22egwY=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/audio/spotdl/default.nix b/pkgs/tools/audio/spotdl/default.nix
index 84261b04a91c2..3e252f2313b4b 100644
--- a/pkgs/tools/audio/spotdl/default.nix
+++ b/pkgs/tools/audio/spotdl/default.nix
@@ -4,9 +4,7 @@
 , ffmpeg
 }:
 
-let
-  python = python3;
-in python.pkgs.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "spotdl";
   version = "4.2.5";
   pyproject = true;
@@ -18,40 +16,40 @@ in python.pkgs.buildPythonApplication rec {
     hash = "sha256-vxMhFs2mLbVQndlC2UpeDP+M4pwU9Y4cZHbZ8y3vWbI=";
   };
 
-  build-system = with python.pkgs; [
-    poetry-core
-    pythonRelaxDepsHook
-  ];
+  build-system = with python3.pkgs; [ poetry-core ];
+
+  nativeBuildInputs = with python3.pkgs; [ pythonRelaxDepsHook ];
 
   pythonRelaxDeps = true;
 
-  dependencies = with python.pkgs; [
-    spotipy
-    ytmusicapi
-    pytube
-    yt-dlp
-    mutagen
-    rich
+  dependencies = with python3.pkgs; [
+    bandcamp-api
     beautifulsoup4
-    requests
-    rapidfuzz
-    python-slugify
-    uvicorn
-    pydantic
     fastapi
+    mutagen
     platformdirs
+    pydantic
     pykakasi
-    syncedlyrics
+    python-slugify
+    pytube
+    rapidfuzz
+    requests
+    rich
+    setuptools
     soundcloud-v2
-    bandcamp-api
+    spotipy
+    syncedlyrics
+    uvicorn
+    yt-dlp
+    ytmusicapi
   ] ++ python-slugify.optional-dependencies.unidecode;
 
-  nativeCheckInputs = with python.pkgs; [
-    pytestCheckHook
-    pytest-mock
-    pytest-vcr
+  nativeCheckInputs = with python3.pkgs; [
     pyfakefs
+    pytest-mock
     pytest-subprocess
+    pytest-vcr
+    pytestCheckHook
   ];
 
   preCheck = ''
@@ -59,7 +57,7 @@ in python.pkgs.buildPythonApplication rec {
   '';
 
   disabledTestPaths = [
-    # require networking
+    # Tests require networking
     "tests/test_init.py"
     "tests/test_matching.py"
     "tests/providers/lyrics"
@@ -71,7 +69,7 @@ in python.pkgs.buildPythonApplication rec {
   ];
 
   disabledTests = [
-    # require networking
+    # Test require networking
     "test_convert"
     "test_download_ffmpeg"
     "test_download_song"
@@ -88,10 +86,10 @@ in python.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Download your Spotify playlists and songs along with album art and metadata";
-    mainProgram = "spotdl";
     homepage = "https://github.com/spotDL/spotify-downloader";
     changelog = "https://github.com/spotDL/spotify-downloader/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
+    mainProgram = "spotdl";
   };
 }
diff --git a/pkgs/tools/backup/pgbackrest/default.nix b/pkgs/tools/backup/pgbackrest/default.nix
index d76028fd656ab..fcd29ee68eb7f 100644
--- a/pkgs/tools/backup/pgbackrest/default.nix
+++ b/pkgs/tools/backup/pgbackrest/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgbackrest";
-  version = "2.52";
+  version = "2.52.1";
 
   src = fetchFromGitHub {
     owner = "pgbackrest";
     repo = "pgbackrest";
     rev = "release/${version}";
-    sha256 = "sha256-S2KmKPqjZ64RQMJ+vt827AIzaWlnEUoP3Npr2/FIZM8=";
+    sha256 = "sha256-/HRn/QLpo70FUxx+5h9Os3TTqtVlJ7C4fyraGPvoato=";
   };
 
   strictDeps = true;
diff --git a/pkgs/tools/inputmethods/emote/default.nix b/pkgs/tools/inputmethods/emote/default.nix
deleted file mode 100644
index 10e66f1d33b3c..0000000000000
--- a/pkgs/tools/inputmethods/emote/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ lib, fetchFromGitHub, python3Packages, wrapGAppsHook3, gobject-introspection, keybinder3, xdotool }:
-
-python3Packages.buildPythonApplication rec {
-  pname = "emote";
-  version = "4.0.1";
-
-  src = fetchFromGitHub {
-    owner = "tom-james-watson";
-    repo = "Emote";
-    rev = "v${version}";
-    sha256 = "sha256-+GpL4Rp0ECsxXGP9dWZbVNkH7H2GF1brDTLsB+TQY5A=";
-  };
-
-  postPatch = ''
-    sed -i setup.py -e '/==.*/d'
-    substituteInPlace emote/config.py --replace 'os.environ.get("SNAP")' "'$out/share/emote'"
-    substituteInPlace emote/picker.py --replace 'os.environ.get("SNAP_VERSION", "dev build")' "'$version'"
-    substituteInPlace snap/gui/emote.desktop --replace "Icon=\''${SNAP}/usr/share/icons/emote.svg" "Icon=emote.svg"
-  '';
-
-  nativeBuildInputs = [
-    wrapGAppsHook3
-    gobject-introspection
-  ];
-
-  buildInputs = [
-    # used by gobject-introspection's setup-hook and only detected at runtime
-    keybinder3
-  ];
-
-  propagatedBuildInputs = with python3Packages; [
-    dbus-python.out # don't propagate dev output
-    manimpango
-    pygobject3.out # not listed in setup.py, don't propagate dev output
-    setproctitle
-  ];
-
-  postInstall = ''
-    install -D snap/gui/emote.desktop $out/share/applications/emote.desktop
-    install -D snap/gui/emote.svg $out/share/pixmaps/emote.svg
-    install -D -t $out/share/emote/static static/{emojis.csv,logo.svg,style.css}
-  '';
-
-  dontWrapGApps = true;
-  preFixup = ''
-    makeWrapperArgs+=(
-      "''${gappsWrapperArgs[@]}"
-      --prefix PATH : ${lib.makeBinPath [ xdotool ]}
-    )
-  '';
-
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Modern emoji picker for Linux";
-    mainProgram = "emote";
-    homepage = "https://github.com/tom-james-watson/emote";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ emilytrau SuperSandro2000 ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/misc/barman/default.nix b/pkgs/tools/misc/barman/default.nix
index b4bf50437218c..0f6715c8cfae8 100644
--- a/pkgs/tools/misc/barman/default.nix
+++ b/pkgs/tools/misc/barman/default.nix
@@ -6,13 +6,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "barman";
-  version = "3.10.0";
+  version = "3.10.1";
 
   src = fetchFromGitHub {
     owner = "EnterpriseDB";
     repo = pname;
     rev = "refs/tags/release/${version}";
-    hash = "sha256-NcDW1SLeP2BVH+TQp1M03Otg75axSFXfwQzlEJ1JOxo=";
+    hash = "sha256-38r1CwS4BUqhzAUmBvxuqKquGfGlgSekKXe7EbumSe0=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/chafa/default.nix b/pkgs/tools/misc/chafa/default.nix
index 2ba80d7565d38..a5c6cf8b68283 100644
--- a/pkgs/tools/misc/chafa/default.nix
+++ b/pkgs/tools/misc/chafa/default.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.14.0";
+  version = "1.14.1";
   pname = "chafa";
 
   src = fetchFromGitHub {
     owner = "hpjansson";
     repo = "chafa";
     rev = version;
-    sha256 = "sha256-7l8+WD5/5uBXVnhwqiEScIEQ1dg0W2zqqZJ2AeKCZRU=";
+    sha256 = "sha256-25GVRZGrYcQ+uo+S45HvX4jrdHKnYuSkXHQUr9NHdyY=";
   };
 
   nativeBuildInputs = [ autoconf
diff --git a/pkgs/tools/misc/copier/default.nix b/pkgs/tools/misc/copier/default.nix
index 2b1a65cf99ebb..c6238ccb426eb 100644
--- a/pkgs/tools/misc/copier/default.nix
+++ b/pkgs/tools/misc/copier/default.nix
@@ -52,7 +52,7 @@ python3.pkgs.buildPythonApplication rec {
     description = "Library and command-line utility for rendering projects templates";
     homepage = "https://copier.readthedocs.io";
     license = licenses.mit;
-    maintainers = with maintainers; [ jonringer greg ];
+    maintainers = with maintainers; [ greg ];
     mainProgram = "copier";
   };
 }
diff --git a/pkgs/tools/misc/fedifetcher/default.nix b/pkgs/tools/misc/fedifetcher/default.nix
index 579cabc0b0de7..a276c80290843 100644
--- a/pkgs/tools/misc/fedifetcher/default.nix
+++ b/pkgs/tools/misc/fedifetcher/default.nix
@@ -2,14 +2,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "fedifetcher";
-  version = "7.0.4";
+  version = "7.0.5";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "nanos";
     repo = "FediFetcher";
     rev = "refs/tags/v${version}";
-    hash = "sha256-19ZpOpvDj2/qMufH2qPPAj8hRPlViSuC64WqJp6+xSk=";
+    hash = "sha256-60TYgvAvdNI9vVK9gy4n2aYukWCp3UP+8FTywKb07bI=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -35,7 +35,7 @@ python3.pkgs.buildPythonApplication rec {
     '';
     homepage = "https://blog.thms.uk/fedifetcher";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = teams.c3d2.members;
     mainProgram = "fedifetcher";
   };
 }
diff --git a/pkgs/tools/misc/fsmon/default.nix b/pkgs/tools/misc/fsmon/default.nix
index f704de4f65157..5e38561078017 100644
--- a/pkgs/tools/misc/fsmon/default.nix
+++ b/pkgs/tools/misc/fsmon/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fsmon";
-  version = "1.8.5";
+  version = "1.8.6";
 
   src = fetchFromGitHub {
     owner = "nowsecure";
     repo = "fsmon";
     rev = "refs/tags/${version}";
-    hash = "sha256-vAlAnGeFMgLIKaqUusBV7QalYh0+dZdifUvZwebk65U=";
+    hash = "sha256-m0Bu1lT3KH4ytkpEakI7fvRHV1kmgaXS71+wmNGmEl8=";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/misc/opentelemetry-collector/contrib.nix b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
index 7d2c99226690c..b079c6c9bec1e 100644
--- a/pkgs/tools/misc/opentelemetry-collector/contrib.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector-contrib";
-  version = "0.102.0";
+  version = "0.103.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector-contrib";
     rev = "v${version}";
-    sha256 = "sha256-syl4mvh78otLWnDpu/7DHlAq0UqQ+4Alg8tZ16OYBQ4=";
+    sha256 = "sha256-gunTgELRqPxlywQzI/+0UbXkLeCFAYIf+Mc3vN0Z/6U=";
   };
 
   # proxy vendor to avoid hash missmatches between linux and macOS
   proxyVendor = true;
-  vendorHash = "sha256-SEj2waLnThV+anIdtZisJDusTrjObSXNPWIrWoL0gNA=";
+  vendorHash = "sha256-ZIoEeW8/4/SofZV49hDprwNgXG2mNRbRQBqZHmqy1Hk=";
 
   # there is a nested go.mod
   sourceRoot = "${src.name}/cmd/otelcontribcol";
diff --git a/pkgs/tools/misc/ripdrag/default.nix b/pkgs/tools/misc/ripdrag/default.nix
index 4c9650d602796..3eb1e59bd09ee 100644
--- a/pkgs/tools/misc/ripdrag/default.nix
+++ b/pkgs/tools/misc/ripdrag/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ripdrag";
-  version = "0.4.8";
+  version = "0.4.9";
 
   src = fetchFromGitHub {
     owner = "nik012003";
     repo = "ripdrag";
     rev = "v${version}";
-    hash = "sha256-DjLQJUaSwglM9mtgKhG+JZ9vHTTfLXy21YLkZiPfTyE=";
+    hash = "sha256-fsCIyaGCLwf1T8xyVCTjg51TXS8v0l9dBHRB8wdyN5g=";
   };
 
-  cargoHash = "sha256-un7HE91w4p5+2LrjasKC8/q+nGg8F/6+ZACS5X3OJ1Q=";
+  cargoHash = "sha256-ZzD+WkmvZX4YXtOwWHw/7t9N/xgKWrMfCThcYFyHG/g=";
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook4 ];
 
diff --git a/pkgs/tools/misc/vivid/default.nix b/pkgs/tools/misc/vivid/default.nix
index 81c81e6d6f882..4ec34be94f4ea 100644
--- a/pkgs/tools/misc/vivid/default.nix
+++ b/pkgs/tools/misc/vivid/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vivid";
-  version = "0.9.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-zNsNEXj/SaJaYsYvoOGPopLhJDfLIXSs7eeZDdJrHiQ=";
+    hash = "sha256-mxBBfezaMM2dfiXK/s+Htr+i5GJP1xVSXzkmYxEuwNs=";
   };
 
-  cargoHash = "sha256-gtqdQuf3Ybt0PDCQw3gGAzIROq39NJKPIat0lyIPGgg=";
+  cargoHash = "sha256-B1PYLUtBcx35NkU/NR+CmM8bF0hfJWmu11vsovFwR+c=";
 
   meta = with lib; {
     description = "Generator for LS_COLORS with support for multiple color themes";
diff --git a/pkgs/tools/networking/ipfetch/default.nix b/pkgs/tools/networking/ipfetch/default.nix
index 38d1e309bc972..7f86c8a246faf 100644
--- a/pkgs/tools/networking/ipfetch/default.nix
+++ b/pkgs/tools/networking/ipfetch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ipfetch";
-  version = "unstable-2022-03-24";
+  version = "unstable-2024-02-02";
 
   src = fetchFromGitHub {
     owner = "trakBan";
     repo = "ipfetch";
-    rev = "fc295bfda4f9fea6eee9f6f3f2dabc26b6f25be4";
-    sha256 = "sha256-YKQ9pRBj2hgPg2ShCqWGxzHs/n7kNhKRNyElRDwHDBU=";
+    rev = "09b61e0d1d316dbcfab798dd00bc3f9ceb02431d";
+    sha256 = "sha256-RlbNIDRuf4sFS2zw4fIkTu0mB7xgJfPMDIk1I3UYXLk=";
   };
 
   strictDeps = true;
diff --git a/pkgs/tools/networking/keepalived/default.nix b/pkgs/tools/networking/keepalived/default.nix
index 9ffa8d1ee09ea..6b0aa55c81fe1 100644
--- a/pkgs/tools/networking/keepalived/default.nix
+++ b/pkgs/tools/networking/keepalived/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "keepalived";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "acassen";
     repo = "keepalived";
     rev = "v${version}";
-    sha256 = "sha256-FAmHhMBCG9sezCfp+WvY1klta2BvnGjztQ87arvJTE0=";
+    sha256 = "sha256-/fO1Lx+QRW42dJ+tkaRNd7y/91YM+1PO/aKC/lXpt1c=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix
index 22d774f086bcc..381dc1582f925 100644
--- a/pkgs/tools/networking/networkmanager/default.nix
+++ b/pkgs/tools/networking/networkmanager/default.nix
@@ -60,11 +60,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "networkmanager";
-  version = "1.48.0";
+  version = "1.48.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
-    hash = "sha256-/IC5Qt444ylGjm/B37QKrWp40C3fa47DH5rMZGC4cj8=";
+    hash = "sha256-PZBxzGKWTd8OMfXQbwYD4XVouMlRFK4ndwNYGt1ahqE=";
   };
 
   outputs = [ "out" "dev" "devdoc" "man" "doc" ];
diff --git a/pkgs/tools/networking/networkmanager/openvpn/default.nix b/pkgs/tools/networking/networkmanager/openvpn/default.nix
index aeaf57a137a3f..a7d7aa0732a0e 100644
--- a/pkgs/tools/networking/networkmanager/openvpn/default.nix
+++ b/pkgs/tools/networking/networkmanager/openvpn/default.nix
@@ -1,31 +1,32 @@
-{ stdenv
-, lib
-, fetchurl
-, substituteAll
-, openvpn
-, gettext
-, libxml2
-, pkg-config
-, file
-, networkmanager
-, libsecret
-, glib
-, gtk3
-, gtk4
-, withGnome ? true
-, gnome
-, kmod
-, libnma
-, libnma-gtk4
+{
+  stdenv,
+  lib,
+  fetchurl,
+  substituteAll,
+  openvpn,
+  gettext,
+  libxml2,
+  pkg-config,
+  file,
+  networkmanager,
+  libsecret,
+  glib,
+  gtk3,
+  gtk4,
+  withGnome ? true,
+  gnome,
+  kmod,
+  libnma,
+  libnma-gtk4,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "NetworkManager-openvpn";
-  version = "1.10.2";
+  version = "1.12.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/NetworkManager-openvpn/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "YvDyqHgiIbkj8hKsKo67wQAu/WqQ7pRdrUrftW0HbSE=";
+    url = "mirror://gnome/sources/NetworkManager-openvpn/${lib.versions.majorMinor finalAttrs.version}/NetworkManager-openvpn-${finalAttrs.version}.tar.xz";
+    sha256 = "kD/UwK69KqescMnYwr7Y35ImVdItdkUUQDVmrom36IY=";
   };
 
   patches = [
@@ -42,17 +43,19 @@ stdenv.mkDerivation rec {
     libxml2
   ];
 
-  buildInputs = [
-    openvpn
-    networkmanager
-    glib
-  ] ++ lib.optionals withGnome [
-    gtk3
-    gtk4
-    libsecret
-    libnma
-    libnma-gtk4
-  ];
+  buildInputs =
+    [
+      openvpn
+      networkmanager
+      glib
+    ]
+    ++ lib.optionals withGnome [
+      gtk3
+      gtk4
+      libsecret
+      libnma
+      libnma-gtk4
+    ];
 
   configureFlags = [
     "--with-gnome=${if withGnome then "yes" else "no"}"
@@ -63,16 +66,18 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = gnome.updateScript {
-      packageName = pname;
+      packageName = "NetworkManager-openvpn";
       attrPath = "networkmanager-openvpn";
       versionPolicy = "odd-unstable";
     };
     networkManagerPlugin = "VPN/nm-openvpn-service.name";
   };
 
-  meta = with lib; {
+  meta = {
     description = "NetworkManager's OpenVPN plugin";
+    homepage = "https://gitlab.gnome.org/GNOME/NetworkManager-openvpn";
+    changelog = "https://gitlab.gnome.org/GNOME/NetworkManager-openvpn/-/blob/main/NEWS";
     inherit (networkmanager.meta) maintainers platforms;
-    license = licenses.gpl2Plus;
+    license = lib.licenses.gpl2Plus;
   };
-}
+})
diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix
index cc261d1cfdf9f..85dc1c3896ca1 100644
--- a/pkgs/tools/networking/shadowsocks-rust/default.nix
+++ b/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowsocks-rust";
-  version = "1.19.2";
+  version = "1.20.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shadowsocks";
     repo = pname;
-    hash = "sha256-Mru6HUq0er3zIpyaFcbFfyaoYvD+YHgU+kGp9yW5ia0=";
+    hash = "sha256-cPdm8ZtZ4MDbrnTasnF1NANYtVwVcs6MGWFRnpD7Rq0=";
   };
 
-  cargoHash = "sha256-mx//rLIsxrGV1nh8HR/Dg+SPRdSapmvulM1nYuHJzg0=";
+  cargoHash = "sha256-IMT+IuzNV880XIAXv9NGZxqj4VyY8U137nkHL5N8yZc=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
 
diff --git a/pkgs/tools/networking/zerotierone/0001-darwin-disable-link-time-optimization.patch b/pkgs/tools/networking/zerotierone/0001-darwin-disable-link-time-optimization.patch
new file mode 100644
index 0000000000000..475655f94a56a
--- /dev/null
+++ b/pkgs/tools/networking/zerotierone/0001-darwin-disable-link-time-optimization.patch
@@ -0,0 +1,32 @@
+From f71d88a15f537cbc5ea80ad2922c013553a5caab Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
+Date: Fri, 21 Jun 2024 14:43:03 +0200
+Subject: [PATCH 2/2] darwin: disable link-time optimization
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It's not yet clear to me, but in our build we somehow mix objects with
+and without flto.
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ make-mac.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/make-mac.mk b/make-mac.mk
+index 7af200ad..b388c05a 100644
+--- a/make-mac.mk
++++ b/make-mac.mk
+@@ -84,7 +84,7 @@ ifeq ($(ZT_DEBUG),1)
+ node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CFLAGS = -Wall -O2 -g $(INCLUDES) $(DEFS)
+ else
+ 	CFLAGS?=-Ofast -fstack-protector-strong
+-	CFLAGS+=$(ARCH_FLAGS) -Wall -flto -fPIE -mmacosx-version-min=$(MACOS_VERSION_MIN) -DNDEBUG -Wno-unused-private-field $(INCLUDES) $(DEFS)
++	CFLAGS+=$(ARCH_FLAGS) -Wall -fPIE -mmacosx-version-min=$(MACOS_VERSION_MIN) -DNDEBUG -Wno-unused-private-field $(INCLUDES) $(DEFS)
+ 	STRIP=strip
+ 	EXTRA_CARGO_FLAGS=--release
+ 	RUST_VARIANT=release
+-- 
+2.44.1
+
diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix
index fa2c86d6f83a9..6f34be09b871f 100644
--- a/pkgs/tools/networking/zerotierone/default.nix
+++ b/pkgs/tools/networking/zerotierone/default.nix
@@ -10,6 +10,9 @@
 , ronn
 , rustc
 , zlib
+, libiconv
+, darwin
+, fetchpatch
 }:
 
 let
@@ -33,8 +36,17 @@ in stdenv.mkDerivation {
       "rustfsm-0.1.0" = "sha256-q7J9QgN67iuoNhQC8SDVzUkjCNRXGiNCkE8OsQc5+oI=";
     };
   };
+  patches = [
+    # https://github.com/zerotier/ZeroTierOne/pull/2314
+    (fetchpatch {
+      url = "https://github.com/zerotier/ZeroTierOne/commit/f9c6ee0181acb1b77605d9a4e4106ac79aaacca3.patch";
+      hash = "sha256-zw7KmaxiCH99Y0wQtOQM4u0ruxiePhvv/birxMQioJU=";
+    })
+    ./0001-darwin-disable-link-time-optimization.patch
+  ];
   postPatch = "cp ${./Cargo.lock} Cargo.lock";
 
+
   preConfigure = ''
     cmp ./Cargo.lock ./rustybits/Cargo.lock || {
       echo 1>&2 "Please make sure that the derivation's Cargo.lock is identical to ./rustybits/Cargo.lock!"
@@ -57,10 +69,15 @@ in stdenv.mkDerivation {
     cargo
     rustc
   ];
+
   buildInputs = [
     lzo
     openssl
     zlib
+  ] ++ lib.optionals stdenv.isDarwin [
+    libiconv
+    darwin.apple_sdk.frameworks.SystemConfiguration
+    darwin.apple_sdk.frameworks.CoreServices
   ];
 
   enableParallelBuilding = true;
@@ -68,10 +85,25 @@ in stdenv.mkDerivation {
   # Ensure Rust compiles for the right target
   env.CARGO_BUILD_TARGET = stdenv.hostPlatform.rust.rustcTarget;
 
-  # Cargo won't compile to target/release but to target/<RUST_TARGET>/release when a target is
-  # explicitly defined. The build-system however expects target/release. Hence we just symlink from
-  # the latter to the former.
-  preBuild = ''
+  preBuild = if stdenv.isDarwin then ''
+    makeFlagsArray+=("ARCH_FLAGS=") # disable multi-arch build
+    if ! grep -q MACOS_VERSION_MIN=10.13 make-mac.mk; then
+      echo "You may need to update MACOSX_DEPLOYMENT_TARGET to match the value in make-mac.mk"
+      exit 1
+    fi
+    (cd rustybits && MACOSX_DEPLOYMENT_TARGET=10.13 cargo build -p zeroidc --release)
+
+    cp \
+      ./rustybits/target/${stdenv.hostPlatform.rust.rustcTarget}/release/libzeroidc.a \
+      ./rustybits/target
+
+    # zerotier uses the "FORCE" target as a phony target to force rebuilds.
+    # We don't want to rebuild libzeroidc.a as we build want to build this library ourself for a single architecture
+    touch FORCE
+  '' else ''
+    # Cargo won't compile to target/release but to target/<RUST_TARGET>/release when a target is
+    # explicitly defined. The build-system however expects target/release. Hence we just symlink from
+    # the latter to the former.
     mkdir -p rustybits/target/release
     ln -rs \
       ./rustybits/target/${stdenv.hostPlatform.rust.rustcTarget}/release/libzeroidc.a \
@@ -87,7 +119,11 @@ in stdenv.mkDerivation {
     runHook postCheck
   '';
 
-  installFlags = [ "DESTDIR=$$out/upstream" ];
+  installFlags = [
+    # only linux has an install target, we borrow this for macOS as well
+    "-f" "make-linux.mk"
+    "DESTDIR=$$out/upstream"
+  ];
 
   postInstall = ''
     mv $out/upstream/usr/sbin $out/bin
@@ -106,7 +142,10 @@ in stdenv.mkDerivation {
     description = "Create flat virtual Ethernet networks of almost unlimited size";
     homepage = "https://www.zerotier.com";
     license = licenses.bsl11;
-    maintainers = with maintainers; [ sjmackenzie zimbatm ehmry obadz danielfullmer ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [
+      sjmackenzie zimbatm ehmry obadz danielfullmer
+      mic92 # also can test darwin
+    ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/zrok/default.nix b/pkgs/tools/networking/zrok/default.nix
index 5da30808d7b47..e4e5a1a22fda9 100644
--- a/pkgs/tools/networking/zrok/default.nix
+++ b/pkgs/tools/networking/zrok/default.nix
@@ -14,14 +14,14 @@ let
   }.${system} or throwSystem;
 
   hash = {
-    x86_64-linux = "sha256-9r4a9j8d194VpCCuviQGfWCLzGhE9pnAMkgCkSXOAnE=";
-    aarch64-linux = "sha256-be/Yx7BatT1kJLGkCoTMrIP6TJW1FFQnHxUjnK3Hw3A=";
-    armv7l-linux = "sha256-xnQ1FrHkKhY9gEfhXsgbVoRIodL5PlOSNUrUKwVh510=";
+    x86_64-linux = "sha256-1CdYmFKpjc3CAmHwpSJ3IL4ZrJqYo0QZ4a/yRy732IM=";
+    aarch64-linux = "sha256-Du/Kyb4UafEK3ssfWB3w0harAxUIlmsc5SGsxf1Dc18=";
+    armv7l-linux = "sha256-59tQ5sNk0QL1H+BjeiiJItTQUNWCNuWCp0wWe//VEhg=";
   }.${system} or throwSystem;
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "zrok";
-  version = "0.4.30";
+  version = "0.4.32";
 
   src = fetchzip {
     url = "https://github.com/openziti/zrok/releases/download/v${finalAttrs.version}/zrok_${finalAttrs.version}_${plat}.tar.gz";
diff --git a/pkgs/tools/package-management/nix-template/default.nix b/pkgs/tools/package-management/nix-template/default.nix
index e1431532f8577..c98bae7e44d95 100644
--- a/pkgs/tools/package-management/nix-template/default.nix
+++ b/pkgs/tools/package-management/nix-template/default.nix
@@ -46,7 +46,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/jonringer/nix-template/";
     changelog = "https://github.com/jonringer/nix-template/releases/tag/v${version}";
     license = licenses.cc0;
-    maintainers = with maintainers; [ jonringer ];
+    maintainers = with maintainers; [ ];
     mainProgram = "nix-template";
   };
 }
diff --git a/pkgs/tools/security/ghidra/build.nix b/pkgs/tools/security/ghidra/build.nix
index ba23647c9c2db..2a3bb65f8a79b 100644
--- a/pkgs/tools/security/ghidra/build.nix
+++ b/pkgs/tools/security/ghidra/build.nix
@@ -1,25 +1,27 @@
-{ stdenv
-, fetchFromGitHub
-, lib
-, callPackage
-, gradle_7
-, perl
-, makeBinaryWrapper
-, openjdk17
-, unzip
-, makeDesktopItem
-, copyDesktopItems
-, desktopToDarwinBundle
-, icoutils
-, xcbuild
-, protobuf
-, ghidra-extensions
+{
+  stdenv,
+  fetchFromGitHub,
+  lib,
+  callPackage,
+  gradle_7,
+  perl,
+  makeBinaryWrapper,
+  openjdk17,
+  unzip,
+  makeDesktopItem,
+  copyDesktopItems,
+  desktopToDarwinBundle,
+  xcbuild,
+  protobuf,
+  ghidra-extensions,
+  python3,
+  python3Packages,
 }:
 
 let
   pkg_path = "$out/lib/ghidra";
   pname = "ghidra";
-  version = "11.0.3";
+  version = "11.1.1";
 
   releaseName = "NIX";
   distroPrefix = "ghidra_${version}_${releaseName}";
@@ -27,7 +29,7 @@ let
     owner = "NationalSecurityAgency";
     repo = "Ghidra";
     rev = "Ghidra_${version}_build";
-    hash = "sha256-IiLxaJvfJcK275FDZEsUCGp7haJjp8O2fUIoM4F9H30=";
+    hash = "sha256-t96FcAK3JwO66dOf4OhpOfU8CQfAczfF61Cg7m+B3fA=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -76,26 +78,26 @@ let
 
   # Adds a gradle step that downloads all the dependencies to the gradle cache.
   addResolveStep = ''
-    cat >>build.gradle <<HERE
-task resolveDependencies {
-  doLast {
-    project.rootProject.allprojects.each { subProject ->
-      subProject.buildscript.configurations.each { configuration ->
-        resolveConfiguration(subProject, configuration, "buildscript config \''${configuration.name}")
+        cat >>build.gradle <<HERE
+    task resolveDependencies {
+      doLast {
+        project.rootProject.allprojects.each { subProject ->
+          subProject.buildscript.configurations.each { configuration ->
+            resolveConfiguration(subProject, configuration, "buildscript config \''${configuration.name}")
+          }
+          subProject.configurations.each { configuration ->
+            resolveConfiguration(subProject, configuration, "config \''${configuration.name}")
+          }
+        }
       }
-      subProject.configurations.each { configuration ->
-        resolveConfiguration(subProject, configuration, "config \''${configuration.name}")
+    }
+    void resolveConfiguration(subProject, configuration, name) {
+      if (configuration.canBeResolved) {
+        logger.info("Resolving project {} {}", subProject.name, name)
+        configuration.resolve()
       }
     }
-  }
-}
-void resolveConfiguration(subProject, configuration, name) {
-  if (configuration.canBeResolved) {
-    logger.info("Resolving project {} {}", subProject.name, name)
-    configuration.resolve()
-  }
-}
-HERE
+    HERE
   '';
 
   # fake build to pre-download deps into fixed-output derivation
@@ -106,7 +108,10 @@ HERE
 
     postPatch = addResolveStep;
 
-    nativeBuildInputs = [ gradle perl ] ++ lib.optional stdenv.isDarwin xcbuild;
+    nativeBuildInputs = [
+      gradle
+      perl
+    ] ++ lib.optional stdenv.isDarwin xcbuild;
     buildPhase = ''
       runHook preBuild
       export HOME="$NIX_BUILD_TOP/home"
@@ -132,11 +137,23 @@ HERE
     '';
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "sha256-nKfJiGoZlDEpbCmYVKNZXz2PYIosCd4nPFdy3MfprHc=";
+    outputHash = "sha256-66gL4UFlBUo2JIEOXoF6tFvXtBdEX4b2MeSrV1b6Vg4=";
   };
-
-in stdenv.mkDerivation (finalAttrs: {
-  inherit pname version src patches postPatch;
+in
+stdenv.mkDerivation (finalAttrs: {
+  inherit
+    pname
+    version
+    src
+    patches
+    postPatch
+    ;
+
+  # Don't create .orig files if the patch isn't an exact match.
+  patchFlags = [
+    "--no-backup-if-mismatch"
+    "-p1"
+  ];
 
   desktopItems = [
     (makeDesktopItem {
@@ -150,16 +167,20 @@ in stdenv.mkDerivation (finalAttrs: {
     })
   ];
 
-  nativeBuildInputs = [
-    gradle
-    unzip
-    makeBinaryWrapper
-    copyDesktopItems
-    protobuf
-  ] ++ lib.optionals stdenv.isDarwin [
-    xcbuild
-    desktopToDarwinBundle
-  ];
+  nativeBuildInputs =
+    [
+      gradle
+      unzip
+      makeBinaryWrapper
+      copyDesktopItems
+      protobuf
+      python3
+      python3Packages.pip
+    ]
+    ++ lib.optionals stdenv.isDarwin [
+      xcbuild
+      desktopToDarwinBundle
+    ];
 
   dontStrip = true;
 
@@ -211,7 +232,10 @@ in stdenv.mkDerivation (finalAttrs: {
 
   passthru = {
     inherit releaseName distroPrefix;
-    inherit (ghidra-extensions.override { ghidra = finalAttrs.finalPackage; }) buildGhidraExtension buildGhidraScripts;
+    inherit (ghidra-extensions.override { ghidra = finalAttrs.finalPackage; })
+      buildGhidraExtension
+      buildGhidraScripts
+      ;
 
     withExtensions = callPackage ./with-extensions.nix { ghidra = finalAttrs.finalPackage; };
   };
@@ -221,14 +245,21 @@ in stdenv.mkDerivation (finalAttrs: {
     description = "Software reverse engineering (SRE) suite of tools";
     mainProgram = "ghidra";
     homepage = "https://ghidra-sre.org/";
-    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    platforms = [
+      "x86_64-linux"
+      "aarch64-linux"
+      "x86_64-darwin"
+      "aarch64-darwin"
+    ];
     sourceProvenance = with sourceTypes; [
       fromSource
-      binaryBytecode  # deps
+      binaryBytecode # deps
     ];
     license = licenses.asl20;
-    maintainers = with maintainers; [ roblabla vringar ];
+    maintainers = with maintainers; [
+      roblabla
+      vringar
+    ];
     broken = stdenv.isDarwin && stdenv.isx86_64;
   };
-
 })
diff --git a/pkgs/tools/security/notary/default.nix b/pkgs/tools/security/notary/default.nix
deleted file mode 100644
index be147369ffe29..0000000000000
--- a/pkgs/tools/security/notary/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ lib, fetchFromGitHub, buildGoPackage, libtool }:
-
-buildGoPackage rec {
-  pname = "notary";
-  version = "0.6.1";
-  gitcommit = "d6e1431f";
-
-  src = fetchFromGitHub {
-    owner = "theupdateframework";
-    repo = "notary";
-    rev = "v${version}";
-    sha256 = "1ak9dk6vjny5069hp3w36dbjawcnaq82l3i2qvf7mn7zfglbsnf9";
-  };
-
-  patches = [ ./no-git-usage.patch ];
-
-  buildInputs = [ libtool ];
-  buildPhase = ''
-    runHook preBuild
-    cd go/src/github.com/theupdateframework/notary
-    SKIPENVCHECK=1 make client GITCOMMIT=${gitcommit}
-    runHook postBuild
-  '';
-
-  goPackagePath = "github.com/theupdateframework/notary";
-
-  installPhase = ''
-    runHook preInstall
-    install -D bin/notary $out/bin/notary
-    runHook postInstall
-  '';
-
-  #doCheck = true; # broken by tzdata: 2018g -> 2019a
-  checkPhase = ''
-    make test PKGS=github.com/theupdateframework/notary/cmd/notary
-  '';
-
-  meta = with lib; {
-    description = "Project that allows anyone to have trust over arbitrary collections of data";
-    mainProgram = "notary";
-    longDescription = ''
-      The Notary project comprises a server and a client for running and
-      interacting with trusted collections. See the service architecture
-      documentation for more information.
-
-      Notary aims to make the internet more secure by making it easy for people
-      to publish and verify content. We often rely on TLS to secure our
-      communications with a web server which is inherently flawed, as any
-      compromise of the server enables malicious content to be substituted for
-      the legitimate content.
-
-      With Notary, publishers can sign their content offline using keys kept
-      highly secure. Once the publisher is ready to make the content available,
-      they can push their signed trusted collection to a Notary Server.
-
-      Consumers, having acquired the publisher's public key through a secure
-      channel, can then communicate with any notary server or (insecure) mirror,
-      relying only on the publisher's key to determine the validity and
-      integrity of the received content.
-    '';
-    license = licenses.asl20;
-    homepage = "https://github.com/theupdateframework/notary";
-    maintainers = with maintainers; [ vdemeester ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/security/notary/no-git-usage.patch b/pkgs/tools/security/notary/no-git-usage.patch
deleted file mode 100644
index 363eefe36921d..0000000000000
--- a/pkgs/tools/security/notary/no-git-usage.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/Makefile b/Makefile
-index ab794165..0cbd047f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -5,8 +5,8 @@ PREFIX?=$(shell pwd)
- # Add to compile time flags
- NOTARY_PKG := github.com/theupdateframework/notary
- NOTARY_VERSION := $(shell cat NOTARY_VERSION)
--GITCOMMIT := $(shell git rev-parse --short HEAD)
--GITUNTRACKEDCHANGES := $(shell git status --porcelain --untracked-files=no)
-+GITCOMMIT ?= $(shell git rev-parse --short HEAD)
-+GITUNTRACKEDCHANGES :=
- ifneq ($(GITUNTRACKEDCHANGES),)
- GITCOMMIT := $(GITCOMMIT)-dirty
- endif
diff --git a/pkgs/tools/security/onlykey-agent/default.nix b/pkgs/tools/security/onlykey-agent/default.nix
index c88e1d2b064d9..36a1cb2847596 100644
--- a/pkgs/tools/security/onlykey-agent/default.nix
+++ b/pkgs/tools/security/onlykey-agent/default.nix
@@ -52,7 +52,7 @@ python3Packages.buildPythonApplication rec {
     sha256 = "sha256-SbGb7CjcD7cFPvASZtip56B4uxRiFKZBvbsf6sb8fds=";
   };
 
-  propagatedBuildInputs = with python3Packages; [ lib-agent onlykey-cli ];
+  propagatedBuildInputs = with python3Packages; [ lib-agent onlykey-cli setuptools ];
 
   # move the python library into the sitePackages.
   postInstall = ''
diff --git a/pkgs/tools/security/spire/default.nix b/pkgs/tools/security/spire/default.nix
index 861167c15ae82..82e4d3624d1e6 100644
--- a/pkgs/tools/security/spire/default.nix
+++ b/pkgs/tools/security/spire/default.nix
@@ -32,6 +32,6 @@ buildGoModule rec {
     homepage = "https://github.com/spiffe/spire";
     changelog = "https://github.com/spiffe/spire/releases/tag/v${version}";
     license = licenses.asl20;
-    maintainers = with maintainers; [ jonringer fkautz ];
+    maintainers = with maintainers; [ fkautz ];
   };
 }
diff --git a/pkgs/tools/security/uncover/default.nix b/pkgs/tools/security/uncover/default.nix
index 7bb56ce21451e..70dd968456ad2 100644
--- a/pkgs/tools/security/uncover/default.nix
+++ b/pkgs/tools/security/uncover/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "uncover";
-  version = "1.0.8";
+  version = "1.0.9";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-iBZwR4hEd1pmmq4WzY/kfwHmpFj/MG+xGitbIQI8K5I=";
+    hash = "sha256-avGbawIeh7ZUtacRLo/tLz4D6U7JAlu9BXDYu/xvoa0=";
   };
 
-  vendorHash = "sha256-cf9Itdz1hR74TVoFOsOdUcrvEuT57RZn2tgrEXU4c8E=";
+  vendorHash = "sha256-93iXho+WCQyhw9DoLgo9ZKiPrd88D2ibgp1M9uP7bUU=";
 
   meta = with lib; {
     description = "API wrapper to search for exposed hosts";
diff --git a/pkgs/tools/text/epub2txt2/default.nix b/pkgs/tools/text/epub2txt2/default.nix
index 8ccc01d57b5bc..586079473d5eb 100644
--- a/pkgs/tools/text/epub2txt2/default.nix
+++ b/pkgs/tools/text/epub2txt2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "epub2txt2";
-  version = "2.07";
+  version = "2.08";
 
   src = fetchFromGitHub {
     owner = "kevinboone";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-/P81ZXhB0wyRx2bb/CO7+kTTNspYKoGUpBGLb8Yfb5I=";
+    sha256 = "sha256-YFaXkcIdat2cn1ITYFyG1hxbbepqcxvyJ6ZzDo4dVYI=";
   };
 
   makeFlags = [ "CC:=$(CC)" "PREFIX:=$(out)" ];
diff --git a/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix b/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix
index 148e51f55de58..ed0f0fd39377e 100644
--- a/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix
+++ b/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix
@@ -58,13 +58,12 @@ let
     # resolve dependencies of the packages that affect the runtime
     all =
       let
-        # order of packages is irrelevant
-        packages = builtins.sort (a: b: a.pname < b.pname) (ensurePkgSets (requiredTeXPackages tl));
+        packages = ensurePkgSets (requiredTeXPackages tl);
         runtime = builtins.partition
           (p: p.outputSpecified or false -> builtins.elem (p.tlOutputName or p.outputName) [ "out" "tex" "tlpkg" ])
           packages;
         keySet = p: {
-          key = ((p.name or "${p.pname}-${p.version}") + "-" + p.tlOutputName or p.outputName or "");
+          key = p.pname or p.name + lib.optionalString (p.outputSpecified or false) ("-" + p.tlOutputName or p.outputName or "");
           inherit p;
           tlDeps = if p ? tlDeps then ensurePkgSets p.tlDeps else (p.requiredTeXPackages or (_: [ ]) tl);
         };
@@ -211,7 +210,7 @@ let
     __overrideTeXConfig = newArgs:
       let appliedArgs = if builtins.isFunction newArgs then newArgs args else newArgs; in
         self (args // { __fromCombineWrapper = false; } // appliedArgs);
-    withPackages = reqs: self (args // { requiredTeXPackages = ps: requiredTeXPackages ps ++ reqs ps; __fromCombineWrapper = false; });
+    withPackages = reqs: self (args // { requiredTeXPackages = ps: reqs ps ++ requiredTeXPackages ps; __fromCombineWrapper = false; });
   };
 
   # TeXLive::TLOBJ::fmtutil_cnf_lines
diff --git a/pkgs/tools/video/gopro/default.nix b/pkgs/tools/video/gopro/default.nix
index 7f234ae5247ac..292f571611ded 100644
--- a/pkgs/tools/video/gopro/default.nix
+++ b/pkgs/tools/video/gopro/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/KonradIT/gopro-linux";
     platforms = platforms.unix;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ jonringer ];
+    maintainers = with maintainers; [ ];
     mainProgram = "gopro";
   };
 }
diff --git a/pkgs/tools/wayland/wayland-proxy-virtwl/default.nix b/pkgs/tools/wayland/wayland-proxy-virtwl/default.nix
index 6869bfad7641f..cd24af3217c47 100644
--- a/pkgs/tools/wayland/wayland-proxy-virtwl/default.nix
+++ b/pkgs/tools/wayland/wayland-proxy-virtwl/default.nix
@@ -8,13 +8,13 @@
 
 ocamlPackages.buildDunePackage rec {
   pname = "wayland-proxy-virtwl";
-  version = "0-unstable-2024-04-08";
+  version = "0-unstable-2024-06-17";
 
   src = fetchFromGitHub {
     owner = "talex5";
     repo = pname;
-    rev = "57dea8de065f5a155d97a32a929bbb2b1ba6b53a";
-    sha256 = "sha256-mp/Y13MwdKo7f3E9S0Pnvb3Cb4d6szkIQOFteMrVxCk=";
+    rev = "1c0cd6d4f13454f0c72148b4c4a1c1e3b728205e";
+    sha256 = "sha256-E9UTq9sNBdg+ANO8b9Nga/JBD+Tt9O5QV5NQmbY6GLE=";
   };
 
   minimalOCamlVersion = "5.0";