about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/mopidy/default.nix2
-rw-r--r--pkgs/applications/audio/mopidy/notify.nix29
-rw-r--r--pkgs/applications/audio/termusic/default.nix6
-rw-r--r--pkgs/applications/blockchains/torq/default.nix33
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix10
-rw-r--r--pkgs/applications/editors/o/default.nix22
-rw-r--r--pkgs/applications/graphics/monado/default.nix6
-rw-r--r--pkgs/applications/misc/pwsafe/default.nix27
-rw-r--r--pkgs/applications/networking/browsers/librewolf/src.json10
-rw-r--r--pkgs/applications/networking/cluster/argo-rollouts/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/karmor/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/linkerd/edge.nix6
-rw-r--r--pkgs/applications/networking/datovka/default.nix13
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix10
-rw-r--r--pkgs/applications/science/computer-architecture/qtrvsim/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/patches/ipywidgets-on_submit-deprecationwarning.patch13
-rw-r--r--pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch21
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix31
-rw-r--r--pkgs/applications/version-management/commitizen/default.nix18
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json12
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/video/obs-studio/default.nix7
-rw-r--r--pkgs/applications/video/openshot-qt/default.nix20
-rw-r--r--pkgs/applications/video/openshot-qt/libopenshot.nix4
-rw-r--r--pkgs/desktops/cinnamon/mint-themes/default.nix4
-rw-r--r--pkgs/development/compilers/julia/1.8-bin.nix40
-rw-r--r--pkgs/development/compilers/julia/patches/1.8-bin/0001-allow-skipping-internet-required-tests.patch47
-rw-r--r--pkgs/development/compilers/llvm/10/bintools/default.nix11
-rw-r--r--pkgs/development/compilers/llvm/11/bintools/default.nix11
-rw-r--r--pkgs/development/compilers/llvm/12/bintools/default.nix11
-rw-r--r--pkgs/development/compilers/llvm/13/bintools/default.nix12
-rw-r--r--pkgs/development/compilers/llvm/14/bintools/default.nix12
-rw-r--r--pkgs/development/compilers/llvm/7/bintools/default.nix11
-rw-r--r--pkgs/development/compilers/llvm/8/bintools/default.nix11
-rw-r--r--pkgs/development/compilers/llvm/9/bintools/default.nix11
-rw-r--r--pkgs/development/compilers/llvm/git/bintools/default.nix14
-rw-r--r--pkgs/development/compilers/ocaml/4.02.nix3
-rw-r--r--pkgs/development/compilers/ocaml/4.03.nix3
-rw-r--r--pkgs/development/compilers/ocaml/4.04.nix3
-rw-r--r--pkgs/development/compilers/ocaml/4.05.nix3
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix9
-rw-r--r--pkgs/development/interpreters/perl/default.nix11
-rw-r--r--pkgs/development/interpreters/starlark/default.nix8
-rw-r--r--pkgs/development/libraries/bwidget/default.nix4
-rw-r--r--pkgs/development/libraries/classads/default.nix9
-rw-r--r--pkgs/development/libraries/libadwaita/default.nix5
-rw-r--r--pkgs/development/libraries/libbde/default.nix6
-rw-r--r--pkgs/development/libraries/libcddb/default.nix4
-rw-r--r--pkgs/development/libraries/libdatovka/default.nix42
-rw-r--r--pkgs/development/libraries/libdatovka/libdatovka-deprecated-fn-curl.patch11
-rw-r--r--pkgs/development/libraries/libfabric/default.nix24
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix1
-rw-r--r--pkgs/development/libraries/ogdf/default.nix20
-rw-r--r--pkgs/development/misc/resholve/README.md2
-rw-r--r--pkgs/development/misc/resholve/source.nix4
-rw-r--r--pkgs/development/python-modules/jaraco-test/default.nix18
-rw-r--r--pkgs/development/python-modules/meshcat/default.nix47
-rw-r--r--pkgs/development/python-modules/mistletoe/default.nix20
-rw-r--r--pkgs/development/python-modules/poetry-dynamic-versioning/default.nix3
-rw-r--r--pkgs/development/python-modules/protobuf/default.nix11
-rw-r--r--pkgs/development/python-modules/pyngrok/default.nix28
-rw-r--r--pkgs/development/python-modules/pyskyqremote/default.nix4
-rw-r--r--pkgs/development/python-modules/ttp/default.nix1
-rw-r--r--pkgs/development/tools/datree/default.nix4
-rw-r--r--pkgs/development/tools/language-servers/sumneko-lua-language-server/default.nix4
-rw-r--r--pkgs/development/tools/misc/blackfire/php-probe.nix92
-rw-r--r--pkgs/development/tools/nagelfar/default.nix34
-rw-r--r--pkgs/development/tools/oh-my-posh/default.nix4
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/development/tools/symfony-cli/default.nix6
-rw-r--r--pkgs/development/tools/yamlpath/default.nix4
-rw-r--r--pkgs/development/tools/yq-go/default.nix6
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/misc/fastly/default.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/zen-kernels.nix8
-rw-r--r--pkgs/servers/resgate/default.nix25
-rw-r--r--pkgs/servers/snac2/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/default.nix2
-rw-r--r--pkgs/servers/ursadb/default.nix4
-rw-r--r--pkgs/servers/web-apps/vikunja/api.nix6
-rw-r--r--pkgs/servers/web-apps/vikunja/frontend.nix4
-rw-r--r--pkgs/tools/backup/rustic-rs/default.nix6
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--pkgs/tools/misc/fzf/default.nix2
-rw-r--r--pkgs/tools/misc/gh-dash/default.nix6
-rw-r--r--pkgs/tools/misc/plantuml-server/default.nix4
-rw-r--r--pkgs/tools/misc/qmake2cmake/default.nix40
-rw-r--r--pkgs/tools/misc/qmake2cmake/fix-locations.patch36
-rw-r--r--pkgs/tools/misc/ytfzf/default.nix4
-rw-r--r--pkgs/tools/networking/snowflake/default.nix6
-rw-r--r--pkgs/tools/networking/zerotierone/default.nix3
-rw-r--r--pkgs/tools/security/gotrue/supabase.nix4
-rw-r--r--pkgs/tools/security/nuclei/default.nix6
-rw-r--r--pkgs/tools/security/ripasso/build-on-macos.patch55
-rw-r--r--pkgs/tools/security/ripasso/cursive.nix17
-rw-r--r--pkgs/tools/security/ripasso/fix-tests.patch82
-rw-r--r--pkgs/tools/security/sudo/default.nix4
-rw-r--r--pkgs/tools/system/wslu/default.nix11
-rw-r--r--pkgs/top-level/all-packages.nix16
-rw-r--r--pkgs/top-level/perl-packages.nix12
-rw-r--r--pkgs/top-level/python-packages.nix4
105 files changed, 946 insertions, 434 deletions
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index 05857ce0142be..645817a906166 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -27,6 +27,8 @@ lib.makeScope newScope (self: with self; {
 
   mopidy-musicbox-webclient = callPackage ./musicbox-webclient.nix { };
 
+  mopidy-notify = callPackage ./notify.nix { };
+
   mopidy-podcast = callPackage ./podcast.nix { };
 
   mopidy-scrobbler = callPackage ./scrobbler.nix { };
diff --git a/pkgs/applications/audio/mopidy/notify.nix b/pkgs/applications/audio/mopidy/notify.nix
new file mode 100644
index 0000000000000..6df8e3e45ef9f
--- /dev/null
+++ b/pkgs/applications/audio/mopidy/notify.nix
@@ -0,0 +1,29 @@
+{ lib, pythonPackages, mopidy }:
+
+pythonPackages.buildPythonApplication rec {
+  pname = "Mopidy-Notify";
+  version = "0.2.0";
+
+  src = pythonPackages.fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-lzZupjlS0kbNvsn18serOoMfu0sRb0nRwpowvOPvt/g=";
+  };
+
+  propagatedBuildInputs = [
+    mopidy
+    pythonPackages.pydbus
+  ];
+
+  nativeBuildInputs = [
+    pythonPackages.pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "mopidy_notify" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/phijor/mopidy-notify";
+    description = "Mopidy extension for showing desktop notifications on track change";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ lilyinstarlight ];
+  };
+}
diff --git a/pkgs/applications/audio/termusic/default.nix b/pkgs/applications/audio/termusic/default.nix
index e3219030df5cf..c26ffd7e64af5 100644
--- a/pkgs/applications/audio/termusic/default.nix
+++ b/pkgs/applications/audio/termusic/default.nix
@@ -7,14 +7,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "termusic";
-  version = "0.7.7";
+  version = "0.7.8";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-ynSNgiy8TUxRBDAi4rSPd5ztSLMaaFg1yEMTD1TI3V4=";
+    sha256 = "sha256-1RlG1/2+NuMO9zqFHQaEkEX1YrYYMjnaNprjdl1ZnHQ=";
   };
 
-  cargoHash = "sha256-jD+oJw9xGY9ItYvoIUMwn8HrM72+02wOTeXEJjkZAfk=";
+  cargoHash = "sha256-SYk2SiFbp40/6Z0aBoX4MPnPLHjEfsJKCW4cErm0D78=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ alsa-lib ];
diff --git a/pkgs/applications/blockchains/torq/default.nix b/pkgs/applications/blockchains/torq/default.nix
new file mode 100644
index 0000000000000..b00e39c231001
--- /dev/null
+++ b/pkgs/applications/blockchains/torq/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "torq";
+  version = "0.16.9";
+
+  src = fetchFromGitHub {
+    owner = "lncapital";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-jr4DNjHP8xVtl0Y1egVUmvzLRR6YjyUqvvhOAZNKFu0=";
+  };
+
+  vendorHash = "sha256-HETN2IMnpxnTyg6bQDpoD0saJu+gKocdEf0VzEi12Gs=";
+
+  subPackages = [ "cmd/torq" ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/lncapital/torq/build.Repository=github.com/${src.owner}/${src.repo}"
+    "-X github.com/lncapital/torq/build.overrideBuildVer=${version}"
+  ];
+
+  meta = with lib; {
+    description = "Capital management tool for lightning network nodes";
+    license = licenses.mit;
+    homepage = "https://github.com/lncapital/torq";
+    maintainers = with maintainers; [ mmilata prusnak ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix
index ad12c606abb9d..178fb16751e23 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix
@@ -1,19 +1,17 @@
-{ lib
-, trivial-build
+{ trivialBuild
 , fetchurl
 }:
 
-trivial-build {
-  name = "perl-completion";
+trivialBuild {
+  pname = "perl-completion";
 
   src = fetchurl {
     url = "http://emacswiki.org/emacs/download/perl-completion.el";
     sha256 = "0x6qsgs4hm87k0z9q3g4p6508kc3y123j5jayll3jf3lcl2vm6ks";
   };
 
-  dontUnpack = true;
-
   meta = {
+    broken = true;
     description = "Minor mode provides useful features for editing perl codes";
     homepage = "http://emacswiki.org/emacs/PerlCompletion";
   };
diff --git a/pkgs/applications/editors/o/default.nix b/pkgs/applications/editors/o/default.nix
index 5272ea3a5f1b2..18654f3901e6b 100644
--- a/pkgs/applications/editors/o/default.nix
+++ b/pkgs/applications/editors/o/default.nix
@@ -1,25 +1,29 @@
 { lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles, makeWrapper, pkg-config
-, tcsh
-, withGui ? stdenv.isLinux, vte # vte is broken on darwin
+, withGui ? true, vte
 }:
 
 buildGoModule rec {
   pname = "o";
-  version = "2.57.0";
+  version = "2.58.0";
 
   src = fetchFromGitHub {
     owner = "xyproto";
     repo = "o";
     rev = "v${version}";
-    hash = "sha256-UKFquf5h1e7gRAZgtcTdEpoNv+TOC8BYb2ED26X274s=";
+    hash = "sha256-oYWlciTQ/4mm/gTSQEkD/xPeLfDjIAMksjj1DVodZW4=";
   };
 
-  postPatch = ''
-    substituteInPlace ko/main.cpp --replace '/bin/csh' '${tcsh}/bin/tcsh'
-  '';
-
   vendorSha256 = null;
 
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile \
+      --replace "-Wl,--as-needed" ""
+
+    # Requires impure pbcopy and pbpaste
+    substituteInPlace v2/pbcopy_test.go \
+      --replace TestPBcopy SkipTestPBcopy
+  '';
+
   nativeBuildInputs = [ installShellFiles makeWrapper pkg-config ];
 
   buildInputs = lib.optional withGui vte;
@@ -31,7 +35,7 @@ buildGoModule rec {
     installManPage o.1
   '' + lib.optionalString withGui ''
     make install-gui PREFIX=$out
-    wrapProgram $out/bin/ko --prefix PATH : $out/bin
+    wrapProgram $out/bin/og --prefix PATH : $out/bin
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/graphics/monado/default.nix b/pkgs/applications/graphics/monado/default.nix
index 99e7b042d161e..7a2577e8af50c 100644
--- a/pkgs/applications/graphics/monado/default.nix
+++ b/pkgs/applications/graphics/monado/default.nix
@@ -47,14 +47,14 @@
 
 stdenv.mkDerivation rec {
   pname = "monado";
-  version = "unstable-2022-05-28";
+  version = "unstable-2023-01-14";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "monado";
     repo = "monado";
-    rev = "011bcbdcff227e25507e5f2d81a83a2bbe478856";
-    sha256 = "sha256-8velNKSCZJtKO8ATwXDl1nU8RbxZ8TeyGiUQFOXifuI=";
+    rev = "1ef49b92f2d6cb519039edd7ba7f70e8073fbe88";
+    sha256 = "sha256-zieJmI6BKHpYyCPOOUora9qoWn+NXehbHKvoi4h81UA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/pwsafe/default.nix b/pkgs/applications/misc/pwsafe/default.nix
index b1ce92086c6cd..25b69cf156195 100644
--- a/pkgs/applications/misc/pwsafe/default.nix
+++ b/pkgs/applications/misc/pwsafe/default.nix
@@ -19,9 +19,13 @@
 , curl
 , openssl
 , file
+, darwin
 , gitUpdater
 }:
 
+let
+  inherit (darwin.apple_sdk.frameworks) Cocoa;
+in
 stdenv.mkDerivation rec {
   pname = "pwsafe";
   version = "1.16.0"; # do NOT update to 3.x Windows releases
@@ -33,6 +37,8 @@ stdenv.mkDerivation rec {
     hash = "sha256-5/TOg+hiy22vlPJHheE638abhS3B5Jrul0Umgwu+gi0=";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [
     cmake
     gettext
@@ -42,24 +48,29 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    libXext
-    libXi
-    libXt
-    libXtst
     wxGTK32
     curl
     qrencode
-    libuuid
     openssl
     xercesc
+    file
+  ] ++ lib.optionals stdenv.isLinux [
+    libXext
+    libXi
+    libXt
+    libXtst
+    libuuid
     libyubikey
     yubikey-personalization
-    file
+  ] ++ lib.optionals stdenv.isDarwin [
+    Cocoa
   ];
 
   cmakeFlags = [
     "-DNO_GTEST=ON"
     "-DCMAKE_CXX_FLAGS=-I${yubikey-personalization}/include/ykpers-1"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "-DNO_YUBI=ON"
   ];
 
   postPatch = ''
@@ -79,6 +90,8 @@ stdenv.mkDerivation rec {
     for f in $(grep -Rl /usr/bin/ .) ; do
       substituteInPlace $f --replace /usr/bin/ ""
     done
+  '' + lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/ui/cli/CMakeLists.txt --replace "uuid" ""
   '';
 
   installFlags = [ "PREFIX=${placeholder "out"}" ];
@@ -99,7 +112,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://pwsafe.org/";
     maintainers = with maintainers; [ c0bw3b pjones ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.artistic2;
   };
 }
diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json
index ce91f24637174..fe510c7fb9d48 100644
--- a/pkgs/applications/networking/browsers/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/librewolf/src.json
@@ -1,11 +1,11 @@
 {
-  "packageVersion": "108.0.2-1",
+  "packageVersion": "109.0-1",
   "source": {
-    "rev": "108.0.2-1",
-    "sha256": "0mzar03yq8vphhxhjzr2n4v9jm8z5j5vaxfzby7wf42pw7p0fml6"
+    "rev": "109.0-1",
+    "sha256": "18nd0shx1r2y2gn42sa2jlckcymmnx3fkm4fp58c80gcppslh1fs"
   },
   "firefox": {
-    "version": "108.0.2",
-    "sha512": "f856ef034fa4a526e19968aed092c9ee99e124d2d271ec1c1bbd091d9a03e23293d69c7a9ae17c43258cde7e73c294534b471e36441e576377854f607c9bfa3a"
+    "version": "109.0",
+    "sha512": "9e2b6e20353e414da3d2eb9dcd3d77757664a98a4438a8e84f19a1c7c203e40136b08bf96a458fac05ddc627347217d32f1f6337980c5ca918874993657a58e7"
   }
 }
diff --git a/pkgs/applications/networking/cluster/argo-rollouts/default.nix b/pkgs/applications/networking/cluster/argo-rollouts/default.nix
index 3c309d8e7ce22..266ec0e6a4574 100644
--- a/pkgs/applications/networking/cluster/argo-rollouts/default.nix
+++ b/pkgs/applications/networking/cluster/argo-rollouts/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "argo-rollouts";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-rollouts";
     rev = "v${version}";
-    sha256 = "sha256-hsUpZrtgjP6FaVhw0ijDTlvfz9Ok+A4nyAwi2VNxvEg=";
+    sha256 = "sha256-HdYbrcz1uumwfUleDayc7obv4Grpg3TiUxKr8aF5bXM=";
   };
 
-  vendorSha256 = "sha256-gm96rQdQJGsIcxVgEI7sI7BvEETU/+HsQ6PnDjFXb/0=";
+  vendorHash = "sha256-ZIFZCMyhpfKK/Irq2/MvkXuXX1jExDaSK/nXZgzCZgU=";
 
   # Disable tests since some test fail because of missing test data
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/karmor/default.nix b/pkgs/applications/networking/cluster/karmor/default.nix
index f754de56554c8..bf35eac948d43 100644
--- a/pkgs/applications/networking/cluster/karmor/default.nix
+++ b/pkgs/applications/networking/cluster/karmor/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "karmor";
-  version = "0.11.4";
+  version = "0.11.5";
 
   src = fetchFromGitHub {
     owner = "kubearmor";
     repo = "kubearmor-client";
     rev = "v${version}";
-    hash = "sha256-UN0b4OFyszM6F0vut70pnoxhI8Qf2Ed4/BdBeWLWEOA=";
+    hash = "sha256-xVYhZT4yqbSmxGH5DaarXzrGYMS1BuTaQ2T+huWYLBw=";
   };
 
-  vendorHash = "sha256-eShJFjSmyny8eWmj6G/cXwFkThlXqxeef5tjqe3srxw=";
+  vendorHash = "sha256-rlvAQ99/3+3VotyYAR2TgWG8ZdTKUT2XRv4hTF+QFpI=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/linkerd/edge.nix b/pkgs/applications/networking/cluster/linkerd/edge.nix
index 1cf47d909c3d8..4e31f689dd7de 100644
--- a/pkgs/applications/networking/cluster/linkerd/edge.nix
+++ b/pkgs/applications/networking/cluster/linkerd/edge.nix
@@ -2,7 +2,7 @@
 
 (callPackage ./generic.nix { }) {
   channel = "edge";
-  version = "22.12.1";
-  sha256 = "1ss6rhh71nq89ya8312fgy30pdw9vvnvnc8a7zs8a8yqg6p4x9lp";
-  vendorSha256 = "sha256-V4BQ+7J1T+g5I7SrCexkfe3ngl7Qy3cf0SF+u28QKWE=";
+  version = "23.1.1";
+  sha256 = "159myaz0zh0j8vdknxshyvkl1khxbznvls2mk5wyssxqll8b3j32";
+  vendorSha256 = "sha256-7+ppFmM+NVnMU6pg2FcaSGqcq429EmrPYgAZfHANtEg=";
 }
diff --git a/pkgs/applications/networking/datovka/default.nix b/pkgs/applications/networking/datovka/default.nix
index a48bd4ae44d55..a45fc62cf1f2a 100644
--- a/pkgs/applications/networking/datovka/default.nix
+++ b/pkgs/applications/networking/datovka/default.nix
@@ -2,30 +2,31 @@
 , mkDerivation
 , fetchurl
 , libxml2
-, libisds
+, libdatovka
 , qmake
 , qtbase
+, qtwebsockets
 , qtsvg
 , pkg-config
 }:
 
 mkDerivation rec {
   pname = "datovka";
-  version = "4.15.6";
+  version = "4.21.1";
 
   src = fetchurl {
-    url = "https://secure.nic.cz/files/datove_schranky/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1qs1yd9qqsf56jm9w6sffkqb2l8s3i9qgi2q8vd59ss19ym6yky2";
+    url = "https://gitlab.nic.cz/datovka/datovka/-/archive/v${version}/datovka-v${version}.tar.gz";
+    sha256 = "sha256-mzCtZE4mira/ZeyfujBh+cONq1YbCyLIypiIX0kTVJg=";
   };
 
-  buildInputs = [ libisds qmake qtbase qtsvg libxml2 ];
+  buildInputs = [ libdatovka qmake qtbase qtsvg libxml2 qtwebsockets ];
 
   nativeBuildInputs = [ pkg-config ];
 
   meta = with lib; {
     description = "Client application for operating Czech government-provided Databox infomation system";
     homepage = "https://www.datovka.cz/";
-    license = licenses.lgpl3;
+    license = licenses.gpl3Plus;
     maintainers = [ maintainers.mmahut ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index 362cdbbb0c30f..24500423829f1 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -24,11 +24,11 @@
 
 stdenv.mkDerivation rec {
   pname = "liferea";
-  version = "1.14-RC3";
+  version = "1.14.0";
 
   src = fetchurl {
     url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
-    sha256 = "28xEGjzOKdrTlGF4OBEoDue9VVLrbiVgnoTKICfDp4M=";
+    sha256 = "uC3ksJ4nNXBjQYqNOS4qK6aCK6/Wzf27YXHbM73TpdU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 1b4f12874dbda..76fc70b3bad0f 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchFromGitHub, pkg-config
+{ mkDerivation, lib, stdenv, fetchFromGitHub, pkg-config
 , boost, libtorrent-rasterbar, qtbase, qttools, qtsvg
 , debugSupport ? false
 , guiSupport ? true, dbus ? null # GUI (disable to run headless)
@@ -42,12 +42,18 @@ mkDerivation rec {
 
   qtWrapperArgs = optional trackerSearch "--prefix PATH : ${makeBinPath [ python3 ]}";
 
+  postInstall = lib.optionalString stdenv.isDarwin ''
+    mkdir -p $out/{Applications,bin}
+    cp -R src/qbittorrent.app $out/Applications
+    makeWrapper $out/{Applications/qbittorrent.app/Contents/MacOS,bin}/qbittorrent
+  '';
+
   meta = {
     description = "Featureful free software BitTorrent client";
     homepage    = "https://www.qbittorrent.org/";
     changelog   = "https://github.com/qbittorrent/qBittorrent/blob/release-${version}/Changelog";
     license     = licenses.gpl2Plus;
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
     maintainers = with maintainers; [ Anton-Latukha ];
   };
 }
diff --git a/pkgs/applications/science/computer-architecture/qtrvsim/default.nix b/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
index fc24ec7e1aab2..9b15ef8939c32 100644
--- a/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
+++ b/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "QtRVSim";
-  version = "0.9.4";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner = "cvut";
     repo = "qtrvsim";
     rev = "refs/tags/v${version}";
-    sha256 = "U9jqFdksD1D9+mFoyj57eHCPi8raWKpf6iB+mRXMG8o=";
+    sha256 = "sha256-TKF7nkhnp+JXTD2J/FyVxQoVZgOSKX1IQ/RPqRBOI/4=";
   };
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
diff --git a/pkgs/applications/science/math/sage/patches/ipywidgets-on_submit-deprecationwarning.patch b/pkgs/applications/science/math/sage/patches/ipywidgets-on_submit-deprecationwarning.patch
new file mode 100644
index 0000000000000..b0f3634340f53
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/ipywidgets-on_submit-deprecationwarning.patch
@@ -0,0 +1,13 @@
+diff --git a/src/sage/interacts/library.py b/src/sage/interacts/library.py
+index 06d680109a..139b00bfd1 100644
+--- a/src/sage/interacts/library.py
++++ b/src/sage/interacts/library.py
+@@ -1434,6 +1434,8 @@ def riemann_sum(
+     creates the mathlet::
+ 
+         sage: interacts.calculus.riemann_sum()
++        ...
++        DeprecationWarning: on_submit is deprecated. Instead, set the .continuous_update attribute to False and observe the value changing with: mywidget.observe(callback, 'value').
+         Manual interactive function <function riemann_sum at ...> with 9 widgets
+           title: HTMLText(value='<h2>Riemann integral with random sampling</h2>')
+           f: EvalText(value='x^2+1', description='$f(x)=$', layout=Layout(max_width='41em'))
diff --git a/pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch b/pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch
deleted file mode 100644
index 764ecffa23772..0000000000000
--- a/pkgs/applications/science/math/sage/patches/sphinx-fix-matplotlib-css-perms.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/src/sage_docbuild/ext/multidocs.py b/src/sage_docbuild/ext/multidocs.py
-index f91c7753ca..edeb81ff2e 100644
---- a/src/sage_docbuild/ext/multidocs.py
-+++ b/src/sage_docbuild/ext/multidocs.py
-@@ -284,6 +284,16 @@ def init_subdoc(app):
-         if not app.config.multidoc_first_pass:
-             app.connect('env-updated', fetch_citation)
- 
-+            def fix_matplotlib_css_permissions(app: Sphinx, env):
-+                css_file = os.path.join(app.builder.outdir, '_static', 'plot_directive.css')
-+                try:
-+                    os.chmod(css_file, 0o644)
-+                except:
-+                    pass
-+
-+            # executed after matplotlib's _copy_css_file
-+            app.connect('build-finished', fix_matplotlib_css_permissions, priority=600)
-+
-         # Monkey patch copy_static_files to make a symlink to "../"
-         def link_static_files():
-             """
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index cd553843d69d3..a8cd49819fb10 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -80,10 +80,6 @@ stdenv.mkDerivation rec {
     # Parallelize docubuild using subprocesses, fixing an isolation issue. See
     # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
     ./patches/sphinx-docbuild-subprocesses.patch
-
-    # Docbuilding copies files from the Nix store and expects them to be writable.
-    # Remove when https://github.com/matplotlib/matplotlib/pull/23805 lands.
-    ./patches/sphinx-fix-matplotlib-css-perms.patch
   ];
 
   # Since sage unfortunately does not release bugfix releases, packagers must
@@ -163,6 +159,33 @@ stdenv.mkDerivation rec {
     # conflicts. The patch below contains rebased versions.
     ./patches/pari-2.15.1-upgrade-rebased.patch
 
+    # https://trac.sagemath.org/ticket/34668
+    (fetchSageDiff {
+      name = "matplotlib-3.6-upgrade.patch";
+      base = "9.8.beta2";
+      rev = "5501e0de0dca1cff0355326dd42bd8c7e5749568";
+      sha256 = "sha256-ceJkVaecIsZewN8v/3gPQXFbFjv5Akz6zEFg/ToXdek=";
+    })
+
+    # https://trac.sagemath.org/ticket/34693
+    (fetchSageDiff {
+      name = "matplotlib-3.6-docbuilding.patch";
+      base = "9.8.beta4";
+      rev = "64589686c261d33e6b5aff2589bcae8af004bcc6";
+      sha256 = "sha256-j5AMY1TmhP+HBBBYaFZSkABJ5vtwe6iP2LRfGEgSm8Q=";
+    })
+
+    # https://trac.sagemath.org/ticket/34615
+    (fetchSageDiff {
+      name = "sphinx-5.2-upgrade.patch";
+      base = "9.8.beta1";
+      rev = "8f8af65e54d3a9962cfab40f15dc23f4e955b43f";
+      sha256 = "sha256-yhDdyxnXSSkqLcuOPBWSEBc26rk1Od3gLcWW8S2p8bY=";
+    })
+
+    # temporarily paper over https://github.com/jupyter-widgets/ipywidgets/issues/3669
+    ./patches/ipywidgets-on_submit-deprecationwarning.patch
+
     # Sage uses mixed integer programs (MIPs) to find edge disjoint
     # spanning trees. For some reason, aarch64 glpk takes much longer
     # than x86_64 glpk to solve such MIPs. Since the MIP formulation
diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix
index 69b6c1bdcd16b..7eea1e0eb30e5 100644
--- a/pkgs/applications/version-management/commitizen/default.nix
+++ b/pkgs/applications/version-management/commitizen/default.nix
@@ -1,5 +1,6 @@
 { buildPythonApplication
 , colorama
+, commitizen
 , decli
 , fetchFromGitHub
 , git
@@ -8,13 +9,14 @@
 , packaging
 , poetry-core
 , py
-, pytest-freezegun
+, pytest-freezer
 , pytest-mock
 , pytest-regressions
 , pytestCheckHook
 , pyyaml
 , questionary
 , termcolor
+, testers
 , tomlkit
 , typing-extensions
 , argcomplete
@@ -24,13 +26,13 @@
 
 buildPythonApplication rec {
   pname = "commitizen";
-  version = "2.38.0";
+  version = "2.39.1";
 
   src = fetchFromGitHub {
     owner = "commitizen-tools";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-W+k+hqH0TKQAXf1Em6A1/VdqzJkhYp99I3lbqH6iDDc=";
+    hash = "sha256-QQIYyg2zwV7cfFxGHVsLiTRBgTGs3O7OJcmURvfY3LQ=";
     deepClone = true;
   };
 
@@ -62,7 +64,7 @@ buildPythonApplication rec {
     pre-commit
     py
     pytestCheckHook
-    pytest-freezegun
+    pytest-freezer
     pytest-mock
     pytest-regressions
     argcomplete
@@ -92,7 +94,13 @@ buildPythonApplication rec {
     "test_commitizen_debug_excepthook"
   ];
 
-  passthru.updateScript = nix-update-script { };
+  passthru = {
+    tests.version = testers.testVersion {
+      package = commitizen;
+      command = "cz version";
+    };
+    updateScript = nix-update-script { };
+  };
 
   meta = with lib; {
     description = "Tool to create committing rules for projects, auto bump versions, and generate changelogs";
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index e90213c971a3a..894f14ba440a1 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -15,12 +15,12 @@
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.18.0";
+  version = "1.18.1";
 
   # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://dl.gitea.io/gitea/${version}/gitea-src-${version}.tar.gz";
-    sha256 = "sha256-X0KvIB2JvSoh2MR9FcwKObQzod2GxhKeGqIKU5CKTEM=";
+    sha256 = "sha256-FUliQ77P0WiwB1dWHDY3FjeJdHhUAcs/97JKXBdEdl0=";
   };
 
   patches = [
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index f3409d88ec701..a36dc3bc2503c 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,14 +1,14 @@
 {
-  "version": "15.7.3",
-  "repo_hash": "sha256-uB9LC5S/zxb8fwwvLjKRkZ1DOVKLnjYKAE2LeHXdP5E=",
+  "version": "15.7.5",
+  "repo_hash": "sha256-zo1b82y114NpX43rJAWQmUhORM1kQxyiSnonqPUQJmY=",
   "yarn_hash": "086v3lr4hnz8z8pla1d3mi2smldidmx2z2cmffn830ianpqkk83l",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v15.7.3-ee",
+  "rev": "v15.7.5-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "15.7.3",
-    "GITLAB_PAGES_VERSION": "15.7.3",
+    "GITALY_SERVER_VERSION": "15.7.5",
+    "GITLAB_PAGES_VERSION": "15.7.5",
     "GITLAB_SHELL_VERSION": "14.14.0",
-    "GITLAB_WORKHORSE_VERSION": "15.7.3"
+    "GITLAB_WORKHORSE_VERSION": "15.7.5"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 3cc28e49ba24e..9f217aa65f34c 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -11,7 +11,7 @@ let
     gemdir = ./.;
   };
 
-  version = "15.7.3";
+  version = "15.7.5";
   package_version = "v${lib.versions.major version}";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
 
@@ -22,7 +22,7 @@ let
       owner = "gitlab-org";
       repo = "gitaly";
       rev = "v${version}";
-      sha256 = "sha256-AcEjwq5dcNsPc3wQJNU1oiGAAqWIFNk8868Xw5ZC/g8=";
+      sha256 = "sha256-FT77MUcErc/16tChwyNczCLtADTOEzKKTsTlhLI6aV8=";
     };
 
     vendorSha256 = "sha256-UEEM0mv7d0gmDcsSKbeh4JcTnX4f5oogZnhRpqaNxwY=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 53c9db51a6df0..b164076c28b69 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "15.7.3";
+  version = "15.7.5";
 
   src = fetchFromGitLab {
     owner = data.owner;
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index fb4ffe93a9e84..fa6167b9c1184 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -38,10 +38,10 @@
 , libdrm
 , libajantv2
 , librist
+, libva
 , srt
 , qtwayland
 , wrapQtAppsHook
-, ...
 }:
 
 let
@@ -50,13 +50,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "obs-studio";
-  version = "28.1.2";
+  version = "29.0.0";
 
   src = fetchFromGitHub {
     owner = "obsproject";
     repo = "obs-studio";
     rev = version;
-    sha256 = "sha256-M5UEOtdzXBVY0UGfwWx3MsM28bJ1EcVPl8acWXWV0lg=";
+    sha256 = "sha256-c+G02k4AACaYfa5Zhsanr6AU3vNbopDMcYtuny/d25Y=";
     fetchSubmodules = true;
   };
 
@@ -96,6 +96,7 @@ stdenv.mkDerivation rec {
     pciutils
     libajantv2
     librist
+    libva
     srt
     qtwayland
   ]
diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix
index 5d8b68200ded6..02270cd75e06e 100644
--- a/pkgs/applications/video/openshot-qt/default.nix
+++ b/pkgs/applications/video/openshot-qt/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivationWith python3.pkgs.buildPythonApplication rec {
   pname = "openshot-qt";
-  version = "2.6.1";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "openshot-qt";
     rev = "v${version}";
-    hash = "sha256-29fAg4SDoAFzv6q43Dcs2HdaeKZfPEzlGqCcICiPSF0=";
+    hash = "sha256-h4R2txi038m6tzdKYiXIB8CiqWt2MFFRNerp1CFP5as=";
   };
 
   nativeBuildInputs = [
@@ -45,22 +45,6 @@ mkDerivationWith python3.pkgs.buildPythonApplication rec {
     export HOME=$(mktemp -d)
   '';
 
-  # Following Arch PKGBUILD for Python 3.10 compatibility
-  # https://github.com/OpenShot/openshot-qt/issues/4608
-  # https://github.com/archlinux/svntogit-community/commits/packages/openshot/trunk
-  patches = [
-    (fetchpatch {
-      name = "video-widget.patch";
-      url = "https://github.com/OpenShot/openshot-qt/commit/9748a13268d66a5949aebc970637b5903756d018.patch";
-      hash = "sha256-QwLtcooDJeYWDp80a1dUFo2so/zEWqqsq5IgkXWX324=";
-    })
-    (fetchpatch {
-      name = "python-3.10-int.patch";
-      url = "https://github.com/OpenShot/openshot-qt/commit/fff785eb1e3e0c30ed6ca57e2d1933aaa807ae22.patch";
-      hash = "sha256-ee/s7rhF71ot5oPkGK+j59mL1B3e72xoH27KFoDL8s8=";
-    })
-  ];
-
   doCheck = false;
 
   dontWrapGApps = true;
diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/applications/video/openshot-qt/libopenshot.nix
index 22ed82fd3d0b7..4214bed7167f4 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot.nix
+++ b/pkgs/applications/video/openshot-qt/libopenshot.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libopenshot";
-  version = "0.2.7";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "libopenshot";
     rev = "v${version}";
-    sha256 = "sha256-aF8wrPxFIjCy5gw72e/WyL/Wcx9tUGDkrqHS+ZDVK0U=";
+    sha256 = "sha256-qe866gFhcbd7yCNXDiZ9Aj0TAiWoJ+r7C5BjtWBKSGA=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/cinnamon/mint-themes/default.nix b/pkgs/desktops/cinnamon/mint-themes/default.nix
index 4b71c1a7f3321..4fa869a5ef319 100644
--- a/pkgs/desktops/cinnamon/mint-themes/default.nix
+++ b/pkgs/desktops/cinnamon/mint-themes/default.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mint-themes";
-  version = "2.0.8";
+  version = "2.0.9";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-4aBFK3cxcUfzaTIBAsZ+l4rvdF2AV+oPMB8oP8/KcvI=";
+    hash = "sha256-FvX4r7AZgSq52T9CKE9RagsKgQXExTYPptQBXadA3eI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/julia/1.8-bin.nix b/pkgs/development/compilers/julia/1.8-bin.nix
index 01806fc208a1d..198eeb4455482 100644
--- a/pkgs/development/compilers/julia/1.8-bin.nix
+++ b/pkgs/development/compilers/julia/1.8-bin.nix
@@ -1,5 +1,23 @@
 { autoPatchelfHook, fetchurl, lib, stdenv }:
 
+let
+  skip_tests = [
+    # Test flaky on ofborg
+    "channels"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # Test flaky on ofborg
+    "FileWatching"
+    # Test requires pbcopy
+    "InteractiveUtils"
+    # Test requires network access
+    "Sockets"
+  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
+    # Test Failed at $out/share/julia/stdlib/v1.8/LinearAlgebra/test/blas.jl:702
+    "LinearAlgebra/blas"
+    # Test Failed at $out/share/julia/test/misc.jl:724
+    "misc"
+  ];
+in
 stdenv.mkDerivation rec {
   pname = "julia-bin";
   version = "1.8.5";
@@ -13,8 +31,21 @@ stdenv.mkDerivation rec {
       url = "https://julialang-s3.julialang.org/bin/linux/aarch64/${lib.versions.majorMinor version}/julia-${version}-linux-aarch64.tar.gz";
       sha256 = "sha256-ofY3tExx6pvJbXw+80dyTAVKHlInuYCt6/wzWZ5RU6Q=";
     };
+    x86_64-darwin = fetchurl {
+      url = "https://julialang-s3.julialang.org/bin/mac/x64/${lib.versions.majorMinor version}/julia-${version}-mac64.tar.gz";
+      sha256 = "sha256-oahZ7af7QaC1VGczmhHDwcDfeLJ9HhYOgLxnWLPY2uA=";
+    };
+    aarch64-darwin = fetchurl {
+      url = "https://julialang-s3.julialang.org/bin/mac/aarch64/${lib.versions.majorMinor version}/julia-${version}-macaarch64.tar.gz";
+      sha256 = "sha256-6oXgSJw2MkxNpiFjqhuC/PL1L3LRc+590hOjqSmSyrc=";
+    };
   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
+  patches = [
+    # https://github.com/JuliaLang/julia/commit/f5eeba35d9bf20de251bb9160cc935c71e8b19ba
+    ./patches/1.8-bin/0001-allow-skipping-internet-required-tests.patch
+  ];
+
   postPatch = ''
     # Julia fails to pick up our Certification Authority root certificates, but
     # it provides its own so we can simply disable the test. Patching in the
@@ -24,7 +55,7 @@ stdenv.mkDerivation rec {
         '@test_skip ca_roots_path() != bundled_ca_roots()'
   '';
 
-  nativeBuildInputs = [ autoPatchelfHook ];
+  nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
 
   installPhase = ''
     runHook preInstall
@@ -48,7 +79,8 @@ stdenv.mkDerivation rec {
       --check-bounds=yes \
       --startup-file=no \
       --depwarn=error \
-      $out/share/julia/test/runtests.jl
+      $out/share/julia/test/runtests.jl \
+      --skip internet_required ${toString skip_tests}
     runHook postInstallCheck
   '';
 
@@ -57,8 +89,8 @@ stdenv.mkDerivation rec {
     homepage = "https://julialang.org";
     # Bundled and linked with various GPL code, although Julia itself is MIT.
     license = lib.licenses.gpl2Plus;
-    maintainers = with lib.maintainers; [ ninjin raskin nickcao ];
-    platforms = [ "x86_64-linux" "aarch64-linux" ];
+    maintainers = with lib.maintainers; [ ninjin raskin nickcao wegank ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
     mainProgram = "julia";
   };
 }
diff --git a/pkgs/development/compilers/julia/patches/1.8-bin/0001-allow-skipping-internet-required-tests.patch b/pkgs/development/compilers/julia/patches/1.8-bin/0001-allow-skipping-internet-required-tests.patch
new file mode 100644
index 0000000000000..ab256f54848e7
--- /dev/null
+++ b/pkgs/development/compilers/julia/patches/1.8-bin/0001-allow-skipping-internet-required-tests.patch
@@ -0,0 +1,47 @@
+--- a/share/julia/test/choosetests.jl
++++ b/share/julia/test/choosetests.jl
+@@ -31,6 +31,19 @@ const TESTNAMES = [
+         "smallarrayshrink", "opaque_closure", "filesystem", "download",
+ ]
+ 
++
++const INTERNET_REQUIRED_LIST = [
++    "Artifacts",
++    "Downloads",
++    "LazyArtifacts",
++    "LibCURL",
++    "LibGit2",
++    "Pkg",
++    "download",
++]
++
++const NETWORK_REQUIRED_LIST = vcat(INTERNET_REQUIRED_LIST, ["Sockets"])
++
+ """
+ `(; tests, net_on, exit_on_error, seed) = choosetests(choices)` selects a set of tests to be
+ run. `choices` should be a vector of test names; if empty or set to
+@@ -147,6 +160,7 @@ function choosetests(choices = [])
+     filtertests!(tests, "compiler/EscapeAnalysis", [
+         "compiler/EscapeAnalysis/local", "compiler/EscapeAnalysis/interprocedural"])
+     filtertests!(tests, "stdlib", STDLIBS)
++    filtertests!(tests, "internet_required", INTERNET_REQUIRED_LIST)
+     # do ambiguous first to avoid failing if ambiguities are introduced by other tests
+     filtertests!(tests, "ambiguous")
+ 
+@@ -157,15 +171,7 @@ function choosetests(choices = [])
+         filter!(x -> (x != "Profile"), tests)
+     end
+ 
+-    net_required_for = [
+-        "Artifacts",
+-        "Downloads",
+-        "LazyArtifacts",
+-        "LibCURL",
+-        "LibGit2",
+-        "Sockets",
+-        "download",
+-    ]
++    net_required_for = filter!(in(tests), NETWORK_REQUIRED_LIST)
+     net_on = true
+     JULIA_TEST_NETWORKING_AVAILABLE = get(ENV, "JULIA_TEST_NETWORKING_AVAILABLE", "") |>
+                                       strip |>
diff --git a/pkgs/development/compilers/llvm/10/bintools/default.nix b/pkgs/development/compilers/llvm/10/bintools/default.nix
index 53f7941e33699..a9d4f5fffc097 100644
--- a/pkgs/development/compilers/llvm/10/bintools/default.nix
+++ b/pkgs/development/compilers/llvm/10/bintools/default.nix
@@ -15,15 +15,18 @@ in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
    done
 
    ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
-   ln -s ${llvm}/bin/llvm-as $out/bin/${prefix}as
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
+   ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
    ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
    ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
    ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
+   ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
    ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
-   ln -s ${llvm}/bin/llvm-ranlib $out/bin/${prefix}ranlib
-   ln -s ${llvm}/bin/llvm-readelf $out/bin/${prefix}readelf
+   ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
    ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
-   ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip
+   ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
+   ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
 
    ln -s ${lld}/bin/lld $out/bin/${prefix}ld
 ''
diff --git a/pkgs/development/compilers/llvm/11/bintools/default.nix b/pkgs/development/compilers/llvm/11/bintools/default.nix
index 53f7941e33699..a9d4f5fffc097 100644
--- a/pkgs/development/compilers/llvm/11/bintools/default.nix
+++ b/pkgs/development/compilers/llvm/11/bintools/default.nix
@@ -15,15 +15,18 @@ in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
    done
 
    ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
-   ln -s ${llvm}/bin/llvm-as $out/bin/${prefix}as
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
+   ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
    ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
    ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
    ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
+   ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
    ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
-   ln -s ${llvm}/bin/llvm-ranlib $out/bin/${prefix}ranlib
-   ln -s ${llvm}/bin/llvm-readelf $out/bin/${prefix}readelf
+   ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
    ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
-   ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip
+   ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
+   ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
 
    ln -s ${lld}/bin/lld $out/bin/${prefix}ld
 ''
diff --git a/pkgs/development/compilers/llvm/12/bintools/default.nix b/pkgs/development/compilers/llvm/12/bintools/default.nix
index 53f7941e33699..a9d4f5fffc097 100644
--- a/pkgs/development/compilers/llvm/12/bintools/default.nix
+++ b/pkgs/development/compilers/llvm/12/bintools/default.nix
@@ -15,15 +15,18 @@ in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
    done
 
    ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
-   ln -s ${llvm}/bin/llvm-as $out/bin/${prefix}as
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
+   ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
    ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
    ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
    ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
+   ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
    ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
-   ln -s ${llvm}/bin/llvm-ranlib $out/bin/${prefix}ranlib
-   ln -s ${llvm}/bin/llvm-readelf $out/bin/${prefix}readelf
+   ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
    ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
-   ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip
+   ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
+   ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
 
    ln -s ${lld}/bin/lld $out/bin/${prefix}ld
 ''
diff --git a/pkgs/development/compilers/llvm/13/bintools/default.nix b/pkgs/development/compilers/llvm/13/bintools/default.nix
index 53f7941e33699..13223f051be7c 100644
--- a/pkgs/development/compilers/llvm/13/bintools/default.nix
+++ b/pkgs/development/compilers/llvm/13/bintools/default.nix
@@ -15,15 +15,19 @@ in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
    done
 
    ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
-   ln -s ${llvm}/bin/llvm-as $out/bin/${prefix}as
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
+   ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
    ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
    ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
    ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
+   ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
    ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
-   ln -s ${llvm}/bin/llvm-ranlib $out/bin/${prefix}ranlib
-   ln -s ${llvm}/bin/llvm-readelf $out/bin/${prefix}readelf
+   ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres
+   ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
    ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
-   ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip
+   ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
+   ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
 
    ln -s ${lld}/bin/lld $out/bin/${prefix}ld
 ''
diff --git a/pkgs/development/compilers/llvm/14/bintools/default.nix b/pkgs/development/compilers/llvm/14/bintools/default.nix
index 53f7941e33699..13223f051be7c 100644
--- a/pkgs/development/compilers/llvm/14/bintools/default.nix
+++ b/pkgs/development/compilers/llvm/14/bintools/default.nix
@@ -15,15 +15,19 @@ in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
    done
 
    ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
-   ln -s ${llvm}/bin/llvm-as $out/bin/${prefix}as
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
+   ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
    ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
    ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
    ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
+   ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
    ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
-   ln -s ${llvm}/bin/llvm-ranlib $out/bin/${prefix}ranlib
-   ln -s ${llvm}/bin/llvm-readelf $out/bin/${prefix}readelf
+   ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres
+   ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
    ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
-   ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip
+   ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
+   ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
 
    ln -s ${lld}/bin/lld $out/bin/${prefix}ld
 ''
diff --git a/pkgs/development/compilers/llvm/7/bintools/default.nix b/pkgs/development/compilers/llvm/7/bintools/default.nix
index 53f7941e33699..a9d4f5fffc097 100644
--- a/pkgs/development/compilers/llvm/7/bintools/default.nix
+++ b/pkgs/development/compilers/llvm/7/bintools/default.nix
@@ -15,15 +15,18 @@ in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
    done
 
    ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
-   ln -s ${llvm}/bin/llvm-as $out/bin/${prefix}as
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
+   ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
    ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
    ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
    ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
+   ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
    ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
-   ln -s ${llvm}/bin/llvm-ranlib $out/bin/${prefix}ranlib
-   ln -s ${llvm}/bin/llvm-readelf $out/bin/${prefix}readelf
+   ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
    ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
-   ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip
+   ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
+   ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
 
    ln -s ${lld}/bin/lld $out/bin/${prefix}ld
 ''
diff --git a/pkgs/development/compilers/llvm/8/bintools/default.nix b/pkgs/development/compilers/llvm/8/bintools/default.nix
index 53f7941e33699..a9d4f5fffc097 100644
--- a/pkgs/development/compilers/llvm/8/bintools/default.nix
+++ b/pkgs/development/compilers/llvm/8/bintools/default.nix
@@ -15,15 +15,18 @@ in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
    done
 
    ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
-   ln -s ${llvm}/bin/llvm-as $out/bin/${prefix}as
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
+   ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
    ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
    ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
    ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
+   ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
    ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
-   ln -s ${llvm}/bin/llvm-ranlib $out/bin/${prefix}ranlib
-   ln -s ${llvm}/bin/llvm-readelf $out/bin/${prefix}readelf
+   ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
    ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
-   ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip
+   ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
+   ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
 
    ln -s ${lld}/bin/lld $out/bin/${prefix}ld
 ''
diff --git a/pkgs/development/compilers/llvm/9/bintools/default.nix b/pkgs/development/compilers/llvm/9/bintools/default.nix
index 53f7941e33699..a9d4f5fffc097 100644
--- a/pkgs/development/compilers/llvm/9/bintools/default.nix
+++ b/pkgs/development/compilers/llvm/9/bintools/default.nix
@@ -15,15 +15,18 @@ in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
    done
 
    ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
-   ln -s ${llvm}/bin/llvm-as $out/bin/${prefix}as
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
+   ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
    ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
    ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
    ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
+   ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
    ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
-   ln -s ${llvm}/bin/llvm-ranlib $out/bin/${prefix}ranlib
-   ln -s ${llvm}/bin/llvm-readelf $out/bin/${prefix}readelf
+   ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
    ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
-   ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip
+   ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
+   ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
 
    ln -s ${lld}/bin/lld $out/bin/${prefix}ld
 ''
diff --git a/pkgs/development/compilers/llvm/git/bintools/default.nix b/pkgs/development/compilers/llvm/git/bintools/default.nix
index 53f7941e33699..6a12d776aca12 100644
--- a/pkgs/development/compilers/llvm/git/bintools/default.nix
+++ b/pkgs/development/compilers/llvm/git/bintools/default.nix
@@ -15,15 +15,21 @@ in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
    done
 
    ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar
-   ln -s ${llvm}/bin/llvm-as $out/bin/${prefix}as
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool
+   ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib
+   ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt
+   ln -s ${llvm}/bin/llvm-debuginfod $out/bin/${prefix}debuginfod
+   ln -s ${llvm}/bin/llvm-debuginfod-find $out/bin/${prefix}debuginfod-find
    ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp
    ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm
    ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy
+   ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip
    ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump
-   ln -s ${llvm}/bin/llvm-ranlib $out/bin/${prefix}ranlib
-   ln -s ${llvm}/bin/llvm-readelf $out/bin/${prefix}readelf
+   ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres
+   ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf
    ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size
-   ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip
+   ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings
+   ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line
 
    ln -s ${lld}/bin/lld $out/bin/${prefix}ld
 ''
diff --git a/pkgs/development/compilers/ocaml/4.02.nix b/pkgs/development/compilers/ocaml/4.02.nix
index 42b9e21108d8c..59836955f4419 100644
--- a/pkgs/development/compilers/ocaml/4.02.nix
+++ b/pkgs/development/compilers/ocaml/4.02.nix
@@ -8,6 +8,9 @@ import ./generic.nix {
     # Compatibility with Glibc 2.34
     { url = "https://github.com/ocaml/ocaml/commit/9de2b77472aee18a94b41cff70caee27fb901225.patch";
       sha256 = "sha256:12sw512kpwk0xf2g6j0h5vqgd8xcmgrvgyilx6fxbd6bnfv1yib9"; }
+    # Compatibility with Binutils 2.29
+    { url = "https://github.com/ocaml/ocaml/commit/bcc7a767279ff70518b3f4219cc0b9bffec7dd43.patch";
+      sha256 = "sha256-z3xrqN6bh/EW9dkPg6Hz8mT79DFm26yGRoPbE+RMYi0="; }
   ];
   sha256 = "1qwwvy8nzd87hk8rd9sm667nppakiapnx4ypdwcrlnav2dz6kil3";
 
diff --git a/pkgs/development/compilers/ocaml/4.03.nix b/pkgs/development/compilers/ocaml/4.03.nix
index ea0a23502fed5..8c561c553295b 100644
--- a/pkgs/development/compilers/ocaml/4.03.nix
+++ b/pkgs/development/compilers/ocaml/4.03.nix
@@ -8,6 +8,9 @@ import ./generic.nix {
     # Compatibility with Glibc 2.34
     { url = "https://github.com/ocaml/ocaml/commit/a8b2cc3b40f5269ce8525164ec2a63b35722b22b.patch";
       sha256 = "sha256:1rrknmrk86xrj2k3hznnjk1gwnliyqh125zabg1hvy6dlvml9b0x"; }
+    # Compatibility with Binutils 2.29
+    { url = "https://github.com/ocaml/ocaml/commit/c204f07bfb20174f9e1c9ff586fb7b2f42b8bf18.patch";
+      sha256 = "sha256-AAXyMZ7ujO67SGz+tGXKZkVcINAwvccHlFHmKnUt848="; }
   ];
 
   # Workaround build failure on -fno-common toolchains like upstream
diff --git a/pkgs/development/compilers/ocaml/4.04.nix b/pkgs/development/compilers/ocaml/4.04.nix
index 6d92ba1877067..9651650d0d69d 100644
--- a/pkgs/development/compilers/ocaml/4.04.nix
+++ b/pkgs/development/compilers/ocaml/4.04.nix
@@ -11,6 +11,9 @@ import ./generic.nix {
     # Compatibility with Glibc 2.34
     { url = "https://github.com/ocaml/ocaml/commit/6bcff7e6ce1a43e088469278eb3a9341e6a2ca5b.patch";
       sha256 = "sha256:1hd45f7mwwrrym2y4dbcwklpv0g94avbz7qrn81l7w8mrrj3bngi"; }
+    # Compatibility with Binutils 2.29
+    { url = "https://github.com/ocaml/ocaml/commit/db11f141a0e35c7fbaec419a33c4c39d199e2635.patch";
+      sha256 = "sha256-oIwmbXOCzDGyASpbQ7hd7SCs4YHjd9hBBksJ74V3GiY="; }
   ];
 
   # Workaround build failure on -fno-common toolchains like upstream
diff --git a/pkgs/development/compilers/ocaml/4.05.nix b/pkgs/development/compilers/ocaml/4.05.nix
index 332aa73990094..aabd1b2f69a5d 100644
--- a/pkgs/development/compilers/ocaml/4.05.nix
+++ b/pkgs/development/compilers/ocaml/4.05.nix
@@ -11,6 +11,9 @@ import ./generic.nix {
     # Compatibility with Glibc 2.34
     { url = "https://github.com/ocaml/ocaml/commit/50c2d1275e537906ea144bd557fde31e0bf16e5f.patch";
       sha256 = "sha256:0ck9b2dpgg5k2p9ndbgniql24h35pn1bbpxjvk69j715lswzy4mh"; }
+    # Compatibility with Binutils 2.29
+    { url = "https://github.com/ocaml/ocaml/commit/b00000c6679804731692362b0baac27fa3fddfd5.patch";
+      sha256 = "sha256-CuEXGK3EsOevyUrc9TmSZo9DVBwjunQX7mKnDVHFpkY="; }
   ];
 
   # Workaround build failure on -fno-common toolchains like upstream
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index 44886770cad8f..d3c15b8aa4e20 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -138,7 +138,7 @@ stdenv.mkDerivation (args // {
     '';
 
     platforms = with platforms; linux ++ darwin;
-    broken = stdenv.isAarch64 && lib.versionOlder version (if stdenv.isDarwin then "4.10" else "4.06");
+    broken = stdenv.isAarch64 && lib.versionOlder version (if stdenv.isDarwin then "4.10" else "4.02");
   };
 
 })
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 94d94f180c8c0..ec9b70f4a0cee 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -474,6 +474,15 @@ self: super: {
   # https://github.com/kkardzis/curlhs/issues/6
   curlhs = dontCheck super.curlhs;
 
+  # curl 7.87.0 introduces a preprocessor typechecker of sorts which fails on
+  # incorrect usages of curl_easy_getopt and similar functions. Presumably
+  # because the wrappers in curlc.c don't use static values for the different
+  # arguments to curl_easy_getinfo, it complains and needs to be disabled.
+  # https://github.com/GaloisInc/curl/issues/28
+  curl = appendConfigureFlags [
+    "--ghc-option=-DCURL_DISABLE_TYPECHECK"
+  ] super.curl;
+
   # https://github.com/hvr/token-bucket/issues/3
   token-bucket = dontCheck super.token-bucket;
 
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 4d95ebf2052bf..ce7947a842ca6 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -36,7 +36,16 @@ let
       optional crossCompiling "mini";
     setOutputFlags = false;
 
-    propagatedBuildInputs = lib.optional enableCrypt libxcrypt;
+    # On FreeBSD, if Perl is built with threads support, having
+    # libxcrypt available will result in a build failure, because
+    # perl.h will get conflicting definitions of struct crypt_data
+    # from libc's unistd.h and libxcrypt's crypt.h.
+    #
+    # FreeBSD Ports has the same issue building the perl port if
+    # the libxcrypt port has been installed.
+    #
+    # Without libxcrypt, Perl will still find FreeBSD's crypt functions.
+    propagatedBuildInputs = lib.optional (enableCrypt && !stdenv.isFreeBSD) libxcrypt;
 
     disallowedReferences = [ stdenv.cc ];
 
diff --git a/pkgs/development/interpreters/starlark/default.nix b/pkgs/development/interpreters/starlark/default.nix
index 2b9932716c21e..7ab100bbbdfa1 100644
--- a/pkgs/development/interpreters/starlark/default.nix
+++ b/pkgs/development/interpreters/starlark/default.nix
@@ -1,16 +1,16 @@
 { stdenv, lib, fetchFromGitHub, buildGoModule, fetchpatch }:
 buildGoModule rec {
   pname = "starlark";
-  version = "unstable-2022-08-17";
+  version = "unstable-2023-01-12";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "starlark-go";
-    rev = "f738f5508c12fe5a9fae44bbdf07a94ddcf5030e";
-    sha256 = "sha256-nkQxwdP/lXEq5iiGy17mUTSMG6XiKAUJYfMDgbr10yM=";
+    rev = "fae38c8a6d89dc410be86b76dfff475b29dba878";
+    hash = "sha256-7J2bYA84asWvwSOYEr+K9ZuR2ytR9XhGaSEJKxHimYI=";
   };
 
-  vendorSha256 = "sha256-Kcjtaef//7LmUAIViyKv3gTK7kjynwJ6DwgGJ+pdbfM=";
+  vendorHash = "sha256-AvZh7IqRRAAOG10rLodHLNSuTIQHXPTJkRXsAhZGNe0=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/development/libraries/bwidget/default.nix b/pkgs/development/libraries/bwidget/default.nix
index b73c11893edf8..9c1b8ac81cf08 100644
--- a/pkgs/development/libraries/bwidget/default.nix
+++ b/pkgs/development/libraries/bwidget/default.nix
@@ -2,11 +2,11 @@
 
 tcl.mkTclDerivation rec {
   pname = "bwidget";
-  version = "1.9.14";
+  version = "1.9.16";
 
   src = fetchurl {
     url = "mirror://sourceforge/tcllib/bwidget-${version}.tar.gz";
-    sha256 = "0wm6hk3rnqhnn2cyw24drqwbfnysp6jyfi8lc1vih5k704a955lf";
+    sha256 = "sha256-v+ADY3S4QpPSNiCn9t2oZXGBPQx63+2YPB8zflzoGuA=";
   };
 
   dontBuild = true;
diff --git a/pkgs/development/libraries/classads/default.nix b/pkgs/development/libraries/classads/default.nix
index d2fcafc3f8128..1a05eededc7c5 100644
--- a/pkgs/development/libraries/classads/default.nix
+++ b/pkgs/development/libraries/classads/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pcre }:
+{ lib, stdenv, fetchurl, autoreconfHook, pcre }:
 
 stdenv.mkDerivation rec {
   pname = "classads";
@@ -9,18 +9,21 @@ stdenv.mkDerivation rec {
     sha256 = "1czgj53gnfkq3ncwlsrwnr4y91wgz35sbicgkp4npfrajqizxqnd";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   buildInputs = [ pcre ];
 
   configureFlags = [
     "--enable-namespace" "--enable-flexible-member"
   ];
 
+  # error: use of undeclared identifier 'finite'; did you mean 'isfinite'?
+  NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) "-Dfinite=isfinite";
+
   meta = {
     homepage = "http://www.cs.wisc.edu/condor/classad/";
     description = "The Classified Advertisements library provides a generic means for matching resources";
     license = lib.licenses.asl20;
     platforms = lib.platforms.unix;
-    # never built on aarch64-darwin since first introduction in nixpkgs
-    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 }
diff --git a/pkgs/development/libraries/libadwaita/default.nix b/pkgs/development/libraries/libadwaita/default.nix
index c60390f4f4e7c..1c621690589b6 100644
--- a/pkgs/development/libraries/libadwaita/default.nix
+++ b/pkgs/development/libraries/libadwaita/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libadwaita";
-  version = "1.2.0";
+  version = "1.2.1";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "devdoc"; # demo app
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "libadwaita";
     rev = version;
-    hash = "sha256-3lH7Vi9M8k+GSrCpvruRpLrIpMoOakKbcJlaAc/FK+U=";
+    hash = "sha256-FJmH/DTTn01UlATgxC0d7vrpVLwAot6Y4cZralQz2nU=";
   };
 
   depsBuildBuild = [
@@ -109,6 +109,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
+    changelog = "https://gitlab.gnome.org/GNOME/libadwaita/-/blob/${src.rev}/NEWS";
     description = "Library to help with developing UI for mobile devices using GTK/GNOME";
     homepage = "https://gitlab.gnome.org/GNOME/libadwaita";
     license = licenses.lgpl21Plus;
diff --git a/pkgs/development/libraries/libbde/default.nix b/pkgs/development/libraries/libbde/default.nix
index d6d1724ccabb4..4bef9748701c2 100644
--- a/pkgs/development/libraries/libbde/default.nix
+++ b/pkgs/development/libraries/libbde/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libbde";
-  version = "20220121";
+  version = "20221031";
 
   src = fetchurl {
     url = "https://github.com/libyal/libbde/releases/download/${version}/${pname}-alpha-${version}.tar.gz";
-    sha256 = "sha256-dnSMuTm/nMiZ6t2rbhDqGpp/e9xt5Msz2In8eiuTjC8=";
+    sha256 = "sha256-uMbwofboePCFWlxEOdRbZK7uZuj0MZC/qusWuu0Bm7g=";
   };
 
   buildInputs = [ fuse ncurses python3 ];
@@ -25,7 +25,5 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl3;
     maintainers = with maintainers; [ eliasp ];
     platforms = platforms.all;
-    # never built on aarch64-darwin since first introduction in nixpkgs
-    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 }
diff --git a/pkgs/development/libraries/libcddb/default.nix b/pkgs/development/libraries/libcddb/default.nix
index 4848f5fcc2659..79c11d75db1da 100644
--- a/pkgs/development/libraries/libcddb/default.nix
+++ b/pkgs/development/libraries/libcddb/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0fr21a7vprdyy1bq6s99m0x420c9jm5fipsd63pqv8qyfkhhxkim";
   };
 
-  buildInputs = lib.optional stdenv.isDarwin libiconv;
+  buildInputs = [ libiconv ];
 
   configureFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "ac_cv_func_malloc_0_nonnull=yes"
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     homepage = "http://libcddb.sourceforge.net/";
     license = licenses.lgpl2Plus;
     mainProgram = "cddb_query";
-    platforms = platforms.linux ++ platforms.darwin;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libdatovka/default.nix b/pkgs/development/libraries/libdatovka/default.nix
new file mode 100644
index 0000000000000..aca25f73eddb2
--- /dev/null
+++ b/pkgs/development/libraries/libdatovka/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, autoreconfHook
+, pkg-config
+, fetchurl
+, expat
+, gpgme
+, libgcrypt
+, libxml2
+, libxslt
+, gnutls
+, curl
+, docbook_xsl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libdatovka";
+  version = "0.2.1";
+
+  src = fetchurl {
+    url = "https://gitlab.nic.cz/datovka/libdatovka/-/archive/v${version}/libdatovka-v${version}.tar.gz";
+    sha256 = "sha256-687d8ZD9zfMeo62YWCW5Kc0CXkKClxtbbwXR51pPwBE=";
+  };
+
+  patches = [
+    ./libdatovka-deprecated-fn-curl.patch
+  ];
+
+  configureFlags = [
+    "--with-docbook-xsl-stylesheets=${docbook_xsl}/xml/xsl/docbook"
+  ];
+
+  buildInputs = [ pkg-config autoreconfHook expat gpgme libgcrypt libxml2 libxslt gnutls curl docbook_xsl ];
+
+  meta = with lib; {
+    description = "Client library for accessing SOAP services of Czech government-provided Databox infomation system";
+    homepage = "https://gitlab.nic.cz/datovka/libdatovka";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.ovlach ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libdatovka/libdatovka-deprecated-fn-curl.patch b/pkgs/development/libraries/libdatovka/libdatovka-deprecated-fn-curl.patch
new file mode 100644
index 0000000000000..b63f850c7d710
--- /dev/null
+++ b/pkgs/development/libraries/libdatovka/libdatovka-deprecated-fn-curl.patch
@@ -0,0 +1,11 @@
+--- libdatovka-v0.2.1/configure.ac	2021-11-03 13:33:03.000000000 +0100
++++ libdatovka-v0.2.1-patched/configure.ac	2023-01-18 11:44:25.647566474 +0100
+@@ -46,6 +46,8 @@
+                 [Define if you want include debugging code])
+       )
+ 
++CFLAGS="${CFLAGS} -Wno-error=deprecated-declarations"
++
+ AC_CHECK_DECL([_WIN32])
+ AM_CONDITIONAL([WIN32], [test "$ac_cv_have_decl__WIN32" = "yes"])
+ 
diff --git a/pkgs/development/libraries/libfabric/default.nix b/pkgs/development/libraries/libfabric/default.nix
index baa33a51eef95..35ad72f8c7e99 100644
--- a/pkgs/development/libraries/libfabric/default.nix
+++ b/pkgs/development/libraries/libfabric/default.nix
@@ -1,9 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, libpsm2
-, enablePsm2 ? (stdenv.isx86_64 && stdenv.isLinux) }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, autoreconfHook
+, enablePsm2 ? (stdenv.isx86_64 && stdenv.isLinux)
+, libpsm2
+, enableOpx ? (stdenv.isx86_64 && stdenv.isLinux)
+, libuuid
+, numactl
+}:
 
 stdenv.mkDerivation rec {
   pname = "libfabric";
-  version = "1.15.1";
+  version = "1.17.0";
 
   enableParallelBuilding = true;
 
@@ -11,14 +20,17 @@ stdenv.mkDerivation rec {
     owner = "ofiwg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-uL3L9k9yqdZXQmR1zi8OEIGLAZ8cf7EBnlDhetaMA08=";
+    sha256 = "sha256-tXfAn8hkasA2UuA4/8dOE3EcORyJo/A33TtSNdzDXD8=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
 
-  buildInputs = lib.optional enablePsm2 libpsm2;
+  buildInputs = lib.optionals enableOpx [ libuuid numactl ] ++ lib.optional enablePsm2 [ libpsm2 ];
 
-  configureFlags = [ (if enablePsm2 then "--enable-psm2=${libpsm2}" else "--disable-psm2") ];
+  configureFlags = [
+    (if enablePsm2 then "--enable-psm2=${libpsm2}" else "--disable-psm2")
+    (if enableOpx then "--enable-opx" else "--disable-opx")
+  ];
 
   meta = with lib; {
     homepage = "https://ofiwg.github.io/libfabric/";
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index d4812c6f08233..5efd3a5c3c7ae 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -49,7 +49,6 @@ in stdenv.mkDerivation {
   ];
 
   meta = with lib; {
-    broken = stdenv.isDarwin;
     homepage = "https://libtorrent.org/";
     description = "A C++ BitTorrent implementation focusing on efficiency and scalability";
     license = licenses.bsd3;
diff --git a/pkgs/development/libraries/ogdf/default.nix b/pkgs/development/libraries/ogdf/default.nix
index bee64afd2900c..e88fc796ba773 100644
--- a/pkgs/development/libraries/ogdf/default.nix
+++ b/pkgs/development/libraries/ogdf/default.nix
@@ -2,31 +2,29 @@
 
 stdenv.mkDerivation rec {
   pname = "ogdf";
-  version = "2020.02";
+  version = "2022.02";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "catalpa-202002";
-    sha256 = "0drrs8zh1097i5c60z9g658vs9k1iinkav8crlwk722ihfm1vxqd";
+    rev = "dogwood-202202";
+    sha256 = "sha256-zkQ6sS0EUmiigv3T7To+tG3XbFbR3XEbFo15oQ0bWf0=";
   };
 
   nativeBuildInputs = [ cmake doxygen ];
 
-  cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-fPIC" ];
-
-  # Without disabling hardening for format, the build fails with
-  # the following error.
-  #> /build/source/src/coin/CoinUtils/CoinMessageHandler.cpp:766:35: error: format not a string literal and no format arguments [-Werror=format-security]
-  #> 766 |      sprintf(messageOut_,format_+2);
-  hardeningDisable = [ "format" ];
+  cmakeFlags = [
+    "-DCMAKE_CXX_FLAGS=-fPIC"
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DOGDF_WARNING_ERRORS=OFF"
+  ];
 
   meta = with lib; {
     description = "Open Graph Drawing Framework/Open Graph algorithms and Data structure Framework";
     homepage = "http://www.ogdf.net";
     license = licenses.gpl2;
     maintainers = [ maintainers.ianwookim ];
-    platforms = platforms.i686 ++ platforms.x86_64;
+    platforms = platforms.all;
     longDescription = ''
       OGDF stands both for Open Graph Drawing Framework (the original name) and
       Open Graph algorithms and Data structures Framework.
diff --git a/pkgs/development/misc/resholve/README.md b/pkgs/development/misc/resholve/README.md
index c1e3b64afc8e7..b2480d4b098f0 100644
--- a/pkgs/development/misc/resholve/README.md
+++ b/pkgs/development/misc/resholve/README.md
@@ -192,7 +192,7 @@ handle any potential problems it encounters with directives. There are currently
    - dynamic (variable) arguments to commands known to accept/run other commands
 
 > NOTE: resholve has a (growing) number of directives detailed in `man resholve`
-> via `nixpkgs.resholve`.
+> via `nixpkgs.resholve` (though protections against run-time use of python2 in nixpkgs mean you'll have to set `NIXPKGS_ALLOW_INSECURE=1` to pull resholve into nix-shell).
 
 Each of these 3 types is represented by its own attrset, where you can think
 of the key as a scope. The value should be:
diff --git a/pkgs/development/misc/resholve/source.nix b/pkgs/development/misc/resholve/source.nix
index c09d19aa0dae2..d8f7578f68b46 100644
--- a/pkgs/development/misc/resholve/source.nix
+++ b/pkgs/development/misc/resholve/source.nix
@@ -3,7 +3,7 @@
 }:
 
 rec {
-  version = "0.8.4";
+  version = "0.8.5";
   rSrc =
     # local build -> `make ci`; `make clean` to restore
     # return to remote source
@@ -14,6 +14,6 @@ rec {
         owner = "abathur";
         repo = "resholve";
         rev = "v${version}";
-        hash = "sha256-K63d4Hs+q3N7A7TBQGgBYCNvZTMKTh89Q7PeFJMsU8o=";
+        hash = "sha256-DX1xe3YC0PlhwbjsvbmUzNjrwhxFpbZW87WWbKcD0us=";
       };
 }
diff --git a/pkgs/development/python-modules/jaraco-test/default.nix b/pkgs/development/python-modules/jaraco-test/default.nix
index 86aca734e1143..5a6807e80da1e 100644
--- a/pkgs/development/python-modules/jaraco-test/default.nix
+++ b/pkgs/development/python-modules/jaraco-test/default.nix
@@ -14,16 +14,15 @@
 
 buildPythonPackage rec {
   pname = "jaraco-test";
-  version = "5.2.0";
+  version = "5.3.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
-  format = "pyproject";
-
   src = fetchPypi {
     pname = "jaraco.test";
     inherit version;
-    sha256 = "sha256-K1OYx58TriCKoGfdLlEw3ArC699DR5w9r7bxLz2bdIs=";
+    hash = "sha256-f2f8xTlTgXGCPlqp+dA04ulRLOTzVNEb39hNtytGHUA=";
   };
 
   nativeBuildInputs = [
@@ -43,12 +42,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "jaraco.test" ];
+  pythonImportsCheck = [
+    "jaraco.test"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Testing support by jaraco";
     homepage = "https://github.com/jaraco/jaraco.test";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ dotlambda ];
+    changelog = "https://github.com/jaraco/jaraco.test/blob/v${version}/CHANGES.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/meshcat/default.nix b/pkgs/development/python-modules/meshcat/default.nix
new file mode 100644
index 0000000000000..932d9a2390a3f
--- /dev/null
+++ b/pkgs/development/python-modules/meshcat/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ipython
+, u-msgpack-python
+, numpy
+, tornado
+, pyzmq
+, pyngrok
+, pillow
+}:
+
+buildPythonPackage rec {
+  pname = "meshcat";
+  version = "0.3.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-LP4XzeT+hdByo94Bip2r9WJvgMJV//LOY7JqSNJIStk=";
+  };
+
+  postPatch = ''
+    sed -i '/PYTHONPATH/d' src/meshcat/servers/zmqserver.py
+  '';
+
+  propagatedBuildInputs = [
+    ipython
+    u-msgpack-python
+    numpy
+    tornado
+    pyzmq
+    pyngrok
+    pillow
+  ];
+
+  pythonImportsCheck = [ "meshcat" ];
+
+  # requires a running MeshCat viewer
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/rdeits/meshcat-python";
+    description = "WebGL-based 3D visualizer for Python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wegank ];
+  };
+}
diff --git a/pkgs/development/python-modules/mistletoe/default.nix b/pkgs/development/python-modules/mistletoe/default.nix
index 0f5c064a58f9e..bd352fd414259 100644
--- a/pkgs/development/python-modules/mistletoe/default.nix
+++ b/pkgs/development/python-modules/mistletoe/default.nix
@@ -1,21 +1,29 @@
 { lib
-, isPy3k
 , fetchPypi
-, buildPythonPackage }:
+, buildPythonPackage
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "mistletoe";
-  version = "0.9.0";
-  disabled = !isPy3k;
+  version = "1.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-PLlteCJtCPDTvwnvyvMw0jkCSSAG4YssBlWOi4a/f68=";
+    hash = "sha256-+g6cV+IFDP1orjBOT5xeHmk1dMxf2DI9szRSlJ1oJmE=";
   };
 
+  pythonImportsCheck = [
+    "mistletoe"
+  ];
+
   meta = with lib; {
-    description = "A fast, extensible Markdown parser in pure Python.";
+    description = "Fast and extensible Markdown parser";
     homepage = "https://github.com/miyuchina/mistletoe";
+    changelog = "https://github.com/miyuchina/mistletoe/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ eadwu ];
   };
diff --git a/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix b/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
index e42228eb3b4e2..05a464d149995 100644
--- a/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
+++ b/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
@@ -43,6 +43,8 @@ buildPythonPackage rec {
     # these require .git, but leaveDotGit = true doesn't help
     "test__get_version__defaults"
     "test__get_version__format_jinja"
+    # these expect to be able to run the poetry cli which fails in test hook
+    "test_integration"
   ];
 
   pythonImportsCheck = [
@@ -52,6 +54,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Plugin for Poetry to enable dynamic versioning based on VCS tags";
     homepage = "https://github.com/mtkennerly/poetry-dynamic-versioning";
+    changelog = "https://github.com/mtkennerly/poetry-dynamic-versioning/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ cpcloud ];
   };
diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix
index cd1fb4806f185..8df8bb7c4a7d1 100644
--- a/pkgs/development/python-modules/protobuf/default.nix
+++ b/pkgs/development/python-modules/protobuf/default.nix
@@ -3,6 +3,8 @@
 , buildPythonPackage
 , protobuf
 , isPyPy
+, fetchpatch
+, pythonAtLeast
 }:
 
 let
@@ -23,6 +25,15 @@ buildPythonPackage {
 
   sourceRoot = "source/python";
 
+  patches = lib.optionals (pythonAtLeast "3.11") [
+    (fetchpatch {
+      url = "https://github.com/protocolbuffers/protobuf/commit/da973aff2adab60a9e516d3202c111dbdde1a50f.patch";
+      stripLen = 2;
+      extraPrefix = "";
+      hash = "sha256-a/12C6yIe1tEKjsMxcfDAQ4JHolA8CzkN7sNG8ZspPs=";
+    })
+  ];
+
   prePatch = ''
     if [[ "$(<../version.json)" != *'"python": "'"$version"'"'* ]]; then
       echo "Python library version mismatch. Derivation version: $version, actual: $(<../version.json)"
diff --git a/pkgs/development/python-modules/pyngrok/default.nix b/pkgs/development/python-modules/pyngrok/default.nix
new file mode 100644
index 0000000000000..db4ec105d87c0
--- /dev/null
+++ b/pkgs/development/python-modules/pyngrok/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "pyngrok";
+  version = "5.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-dws4Z4LzgkkOGTS5LZn/MU8ZKr70n4PWocezsDhxeT4=";
+  };
+
+  propagatedBuildInputs = [
+    pyyaml
+  ];
+
+  pythonImportsCheck = [ "pyngrok" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/alexdlaird/pyngrok";
+    description = "A Python wrapper for ngrok";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wegank ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyskyqremote/default.nix b/pkgs/development/python-modules/pyskyqremote/default.nix
index b2b030e995cd1..b8adb278d57dd 100644
--- a/pkgs/development/python-modules/pyskyqremote/default.nix
+++ b/pkgs/development/python-modules/pyskyqremote/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyskyqremote";
-  version = "0.3.23";
+  version = "0.3.24";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "RogerSelwyn";
     repo = "skyq_remote";
     rev = "refs/tags/${version}";
-    hash = "sha256-mzXgoZ+wXSL/fkjaXg7td+/49dW6We8UDZZURZqjy5M=";
+    hash = "sha256-XKfxjxSQUjSFQNt4LgOIXOE3M2oyVfsb68z35a1B3DY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ttp/default.nix b/pkgs/development/python-modules/ttp/default.nix
index 0301a86731651..46daca68a65ed 100644
--- a/pkgs/development/python-modules/ttp/default.nix
+++ b/pkgs/development/python-modules/ttp/default.nix
@@ -62,6 +62,7 @@ buildPythonPackage rec {
     "test/pytest/test_N2G_formatter.py"
     # missing test file
     "test/pytest/test_extend_tag.py"
+    "test/pytest/test_ttp_parser_methods.py"
   ];
 
   disabledTests = [
diff --git a/pkgs/development/tools/datree/default.nix b/pkgs/development/tools/datree/default.nix
index 14925b929683f..572a9c46be61f 100644
--- a/pkgs/development/tools/datree/default.nix
+++ b/pkgs/development/tools/datree/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "datree";
-  version = "1.8.12";
+  version = "1.8.14";
 
   src = fetchFromGitHub {
     owner = "datreeio";
     repo = "datree";
     rev = "refs/tags/${version}";
-    hash = "sha256-xuaiho5hKSFcwCj2P5QGyvGmPUbcErIbVkkX5kGii8E=";
+    hash = "sha256-VBFVoBPKT+yUELhKvMUvCAcjamhwvOAKYfO5iFnngjM=";
   };
 
   vendorHash = "sha256-mkVguYzjNGgFUdATjGfenCx3h97LS3SEOkYo3CuP9fA=";
diff --git a/pkgs/development/tools/language-servers/sumneko-lua-language-server/default.nix b/pkgs/development/tools/language-servers/sumneko-lua-language-server/default.nix
index bd9e704eef329..9a372b1c6d7a4 100644
--- a/pkgs/development/tools/language-servers/sumneko-lua-language-server/default.nix
+++ b/pkgs/development/tools/language-servers/sumneko-lua-language-server/default.nix
@@ -4,13 +4,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "sumneko-lua-language-server";
-  version = "3.6.4";
+  version = "3.6.5";
 
   src = fetchFromGitHub {
     owner = "sumneko";
     repo = "lua-language-server";
     rev = version;
-    sha256 = "sha256-46Fni1SWsbYnPdntgq6mgqkZ8DCKXGBhTBzSAD2EG5M=";
+    sha256 = "sha256-4/RRE9IB/qy8YszPzEvrBVLi1X0XCNh+lJYwMXTTD1I=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/misc/blackfire/php-probe.nix b/pkgs/development/tools/misc/blackfire/php-probe.nix
index 3e1fd733ceb92..dd1aeab81d163 100644
--- a/pkgs/development/tools/misc/blackfire/php-probe.nix
+++ b/pkgs/development/tools/misc/blackfire/php-probe.nix
@@ -12,59 +12,48 @@
 
 let
   phpMajor = lib.versions.majorMinor php.version;
-  soFile = {
-    "7.4" = "blackfire-20190902";
-    "8.0" = "blackfire-20200930";
-    "8.1" = "blackfire-20210902";
-  }.${phpMajor} or (throw "Unsupported PHP version.");
 
-  version = "1.84.0";
+  version = "1.86.3";
 
   hashes = {
     "x86_64-linux" = {
       system = "amd64";
-      sha256 = "4tAqe1ev2s4ZwzPptgXuVL4ZXF37ieGyonBxOFMUKTs=";
+      sha256 = {
+        "8.0" = "Vl16ssG+47CvGNTQBR6aNkEzoSor7B8F71TSN3x2bm0=";
+        "8.1" = "27yLfDJYTQ3Izr8M6XFEsEWb7WDmuKjKCdSCPfL9HUw=";
+        "8.2" = "tnxlB+Tq8qeRoHjBNl/CMI0UZb02ayssiRJSMZaTwWI=";
+      };
     };
     "i686-linux" = {
       system = "i386";
-      sha256 = "OPvn1zcBJDfUu7m3evRayVZNuZJ/KLblm6u4P0z0CvU=";
+      sha256 = {
+        "8.0" = "NF5R470FC/nrAvk57Y3wStT4EQrWCvntniD9rD1Fv/Y=";
+        "8.1" = "aAl+oX0QfL6wStUrrhB44JHqAvA4ZLbc3dQyRHJbcNU=";
+        "8.2" = "SWAC9XlJs1vNWnDWeuXHPOMQoA5kCqiSrWxNpRcXHns=";
+      };
     };
     "aarch64-linux" = {
       system = "arm64";
-      sha256 = "5P6tVYshPsR4Xl8sCYFuNIRf8LvE6PxWpynP3ZzoP0s=";
+      sha256 = {
+        "8.0" = "jrTCMkJWzPzzJU7eET+VCwKaiRPqcQKPPIJZrLAuJ6s=";
+        "8.1" = "WjomQa3+27mW8tR5u++LyVDtyNa7Bj8uS3FHsmdsafo=";
+        "8.2" = "3SGtZkKosxKsJ/qTlP7BFpnroOTRaWFsvDHq1fK1UBE=";
+      };
     };
     "aarch64-darwin" = {
       system = "arm64";
       sha256 = {
-        "7.4" = {
-          normal = "wNv5LiCbkiyPQFH1jr4Aw4kjHnpqxPa427H4nzNkE8A=";
-          zts = "FmvzFtukFZPqOz6wkFEtXrb+H8A9bb6ZqeEN9jjtwOQ=";
-        };
-        "8.0" = {
-          normal = "tEGMtQf/K5x+dTEd067nhalezmWLKf1A4hM7HM1iwNE=";
-          zts = "ivbcoqM2U4Zh86+AAml8bHQEn1731A9XsCqW8ai6oKg=";
-        };
-        "8.1" = {
-          normal = "9GFqlGS2qZWSUoOyYb86RyFdUx2AkQlcq6N2cWHFQ2s=";
-          zts = "KnxJUxenPxPw0Mo6GdtyLpPN06/K0cSHk2cf7Akf3BE=";
-        };
+        "8.0" = "MDPgDfIOfjr/VMGrxj7159xJl6P3jPYgoNOkISZBmX4=";
+        "8.1" = "zV5gjpA9tNGo/p/Is8n8WfGyIdb/IQDbfH1KuD8S4s8=";
+        "8.2" = "+zwX3r9X/avQvcmNtt5RT3smY+4yfXFo8XPCiV9xWT4=";
       };
     };
     "x86_64-darwin" = {
       system = "amd64";
       sha256 = {
-        "7.4" = {
-          normal = "s6aS3INNzOMIV0qW5ROrjX68obnixsOZ4ktnDb/3dGo=";
-          zts = "4OdHSLLMo9tSVQnaTYfzogeloYPvHxbHhQgACo2V7zA=";
-        };
-        "8.0" = {
-          normal = "JZ6ITbzW7nHmJEQv2KXKPjU9wkY7mH6+tFRJFhJw7ug=";
-          zts = "x/uP64Ec2tvUylmnWfxsqJMUNlVsFnrxK3CWHdXfgus=";
-        };
-        "8.1" = {
-          normal = "foK+vRwM6PHgToYiPVZIXde18jYJ3bV0Gz23bNS1UYg=";
-          zts = "LhaaUhOSnAPqHn7LqPgq2UOkS/MoY3CHcpGoFeh+hyo=";
-        };
+        "8.0" = "wEsbQrowYgOlbWUkv+yPtPliC9b/iIUXBsvrCXCL6aM=";
+        "8.1" = "zl7OX3LlBLxn0oLYlNbVavxL4rho4LS3EZmAB2x6zZs=";
+        "8.2" = "fYGIDxNeBx+HyPx9lhfNZgKUeMJwZ4KvUcJ4jtwH5nQ=";
       };
     };
   };
@@ -73,22 +62,16 @@ let
     {
       system,
       phpMajor,
-      ztsSupport,
     }:
 
     let
       isLinux = builtins.match ".+-linux" system != null;
     in
-    assert !isLinux -> (phpMajor != null && ztsSupport != null);
+    assert !isLinux -> (phpMajor != null);
     fetchurl {
       url =
-        if isLinux
-        then "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-php_${version}_${hashes.${system}.system}.deb"
-        else "https://packages.blackfire.io/homebrew/blackfire-php_${version}-darwin_${hashes.${system}.system}-php${builtins.replaceStrings ["."] [""] phpMajor}${lib.optionalString ztsSupport "-zts"}.tar.gz";
-      sha256 =
-        if isLinux
-        then hashes.${system}.sha256
-        else hashes.${system}.sha256.${phpMajor}.${if ztsSupport then "zts" else "normal"};
+        "https://packages.blackfire.io/binaries/blackfire-php/${version}/blackfire-php-${if isLinux then "linux" else "darwin"}_${hashes.${system}.system}-php-${builtins.replaceStrings [ "." ] [ "" ] phpMajor}.so";
+      sha256 = hashes.${system}.sha256.${phpMajor};
     };
 self = stdenv.mkDerivation rec {
   pname = "php-blackfire";
@@ -98,33 +81,21 @@ self = stdenv.mkDerivation rec {
   src = makeSource {
     system = stdenv.hostPlatform.system;
     inherit phpMajor;
-    inherit (php) ztsSupport;
+    inherit (php);
   };
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [
-    dpkg
     autoPatchelfHook
   ];
 
-  setSourceRoot = if stdenv.isDarwin then "sourceRoot=`pwd`" else null;
-
-  unpackPhase = if stdenv.isLinux then ''
-    runHook preUnpack
-    dpkg-deb -x $src pkg
-    sourceRoot=pkg
+  setSourceRoot = "sourceRoot=`pwd`";
 
-    runHook postUnpack
-  '' else null;
+  dontUnpack = true;
 
   installPhase = ''
     runHook preInstall
 
-    if ${ lib.boolToString stdenv.isLinux }
-    then
-        install -D usr/lib/blackfire-php/*/${soFile}${lib.optionalString php.ztsSupport "-zts"}.so $out/lib/php/extensions/blackfire.so
-    else
-        install -D blackfire.so $out/lib/php/extensions/blackfire.so
-    fi
+    install -D ${src} $out/lib/php/extensions/blackfire.so
 
     runHook postInstall
   '';
@@ -168,11 +139,6 @@ self = stdenv.mkDerivation rec {
               if builtins.length rest == 0
               then null
               else builtins.head rest;
-            ztsSupport =
-              if builtins.length rest == 0
-              then null
-              else
-                builtins.head (builtins.tail rest) == "zts";
           };
 
           createUpdateable =
diff --git a/pkgs/development/tools/nagelfar/default.nix b/pkgs/development/tools/nagelfar/default.nix
new file mode 100644
index 0000000000000..e770d162dc47b
--- /dev/null
+++ b/pkgs/development/tools/nagelfar/default.nix
@@ -0,0 +1,34 @@
+{ lib, fetchzip, tcl, tcllib, tk, }:
+
+tcl.mkTclDerivation {
+  pname = "nagelfar";
+  version = "1.3.3";
+
+  src = fetchzip {
+    url = "https://sourceforge.net/projects/nagelfar/files/Rel_133/nagelfar133.tar.gz";
+    sha256 = "sha256-bdH53LSOKMwq53obVQitl7bpaSpwvMce8oJgg/GKrg0=";
+  };
+
+  buildInputs = [
+    tcl
+    tcllib
+    tk
+  ];
+
+  installPhase = ''
+    install -Dm 755 $src/nagelfar.tcl $out/bin/nagelfar
+  '';
+
+  meta = with lib; {
+    homepage = "https://nagelfar.sourceforge.net/";
+    description = "A static syntax checker (linter) for Tcl";
+    longDescription = ''
+      Provides static syntax checking, code coverage instrumentation,
+      and is very extendable through its syntax database and plugins.
+    '';
+    mainProgram = "nagelfar";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.nat-418 ];
+  };
+}
diff --git a/pkgs/development/tools/oh-my-posh/default.nix b/pkgs/development/tools/oh-my-posh/default.nix
index 0a69028e6bede..e1676cf568056 100644
--- a/pkgs/development/tools/oh-my-posh/default.nix
+++ b/pkgs/development/tools/oh-my-posh/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "oh-my-posh";
-  version = "13.0.0";
+  version = "13.1.2";
 
   src = fetchFromGitHub {
     owner = "jandedobbeleer";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-xsB7olfsrcgjxqNPOGiV9umtXoTtaM5E+/LTQEVLzZM=";
+    hash = "sha256-/of1jeyHdVyXJ5O8aAN/InaJ5CtCPVFUTk96Q9n5Gr4=";
   };
 
   vendorHash = "sha256-WiH4qu8DODEhAkxUm6VDcBwFyQO7kNjaiaWPDHCHj9E=";
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 82e9770c9c031..05d20447dc593 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -12,14 +12,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2023-01-09";
-  cargoSha256 = "sha256-O9Z2nVzVdWl04c1+fChygCfFyHZVQIdVXy/aC1eqHCw=";
+  version = "2023-01-16";
+  cargoSha256 = "sha256-M0AwSksEUKVw+Eo+D7BnkoKycNRQDOnemIgremXp5fs=";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-hanikqugN4HgdGxFOgOzT53phb60GfZr3o/ljD96HSM=";
+    sha256 = "sha256-m+EVsqnYIDdabuIs7K+e343RZ7V3mQHijoYuHWS7Dj4=";
   };
 
   auditable = true; # TODO: remove when this is the default
diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix
index ac541d8992511..8de028a4add90 100644
--- a/pkgs/development/tools/symfony-cli/default.nix
+++ b/pkgs/development/tools/symfony-cli/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "symfony-cli";
-  version = "5.4.20";
-  vendorSha256 = "sha256-P5KEliTqj9kGYffhl014QK6qPY9gLG+bViOz4dtsQwA=";
+  version = "5.4.21";
+  vendorHash = "sha256-P5KEliTqj9kGYffhl014QK6qPY9gLG+bViOz4dtsQwA=";
 
   src = fetchFromGitHub {
     owner = "symfony-cli";
     repo = "symfony-cli";
     rev = "v${version}";
-    sha256 = "sha256-qtC7cNKKDxw/5umhRe1kAzl9SIHbTbxgW4fMuP37OjY=";
+    sha256 = "sha256-lNEd5mj5K8MhlLkrRiFnEqVLnS+4mx7FNAtYuF5jdC0=";
   };
 
   ldflags = [
diff --git a/pkgs/development/tools/yamlpath/default.nix b/pkgs/development/tools/yamlpath/default.nix
index 55e86e42da4a2..43434c65c4068 100644
--- a/pkgs/development/tools/yamlpath/default.nix
+++ b/pkgs/development/tools/yamlpath/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "yamlpath";
-  version = "3.6.9";
+  version = "3.7.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "wwkimball";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-0r1jlDWlYPIjUEudHbwt324rt0H8K3PUb7RILoxNNnw=";
+    sha256 = "sha256-07WP3VoWtcUwqkJOC9FcYxV0832DH6KPcGIDAn1QEYc=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index e07899633d7ab..98deb602199fd 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.30.6";
+  version = "4.30.8";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    sha256 = "sha256-2vG5rdrvpRV7yZtAKnwTQ9+s6Ddz3DrxCY7HhQ6LegU=";
+    sha256 = "sha256-x0vdPi8/Iciy+22SPBpktgkQCMxd5PT674OsWaLi+Q0=";
   };
 
-  vendorSha256 = "sha256-s1c4E5bPal1YWCFIHy5CQSpGNbfM5lx2/Ri5linpTiw=";
+  vendorHash = "sha256-VEVy8iVnUUpjTmCj7uIMcz0jaG9XGuxA3U02QfIwsYs=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 65098f631a544..c97bfd090987e 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.0.447";
+  version = "0.0.450";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-JJk3lNNRzIrU/z45ePUin10gEW5KLvcPRy+NzcMHYRs=";
+    sha256 = "sha256-UfqjrWzpi1axud4MkrJxIwq1vzqHZ0qAvI1kNh/tywY=";
   };
 
-  vendorHash = "sha256-xmad9HdcWr4BiMMfdO6Ua1nqpFCsFoLvtDfcKiRZYVM=";
+  vendorHash = "sha256-ljyaF6Yz3bz5vjwZfDgYBb3o2l90YnV5DgolaDH3B9o=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/misc/fastly/default.nix b/pkgs/misc/fastly/default.nix
index 0a888acd9bb8e..60e5a72e37ebe 100644
--- a/pkgs/misc/fastly/default.nix
+++ b/pkgs/misc/fastly/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "fastly";
-  version = "4.6.1";
+  version = "4.6.2";
 
   src = fetchFromGitHub {
     owner = "fastly";
     repo = "cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-r8k8fB40WQoLWtw+6RCsAOSKDJhN967uNAwbT137rQs=";
+    hash = "sha256-E91Vg/dPJQwBZar7Wo5IeMlFoI/jwz7ALtv67DW1Rsk=";
     # The git commit is part of the `fastly version` original output;
     # leave that output the same in nixpkgs. Use the `.git` directory
     # to retrieve the commit SHA, and remove the directory afterwards,
@@ -31,7 +31,7 @@ buildGoModule rec {
     "cmd/fastly"
   ];
 
-  vendorHash = "sha256-lfypuPCLBBekFWwocdFLUw5sONCBM8clnwHVAebAkZ8=";
+  vendorHash = "sha256-Gyc0c3RntrWFEqk+AixvXSRRqjr7SEYGeqIJ/ysoFgs=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index 4c72a78133a7e..a5376d56418df 100644
--- a/pkgs/os-specific/linux/kernel/zen-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix
@@ -4,16 +4,16 @@ let
   # comments with variant added for update script
   # ./update-zen.py zen
   zenVariant = {
-    version = "6.1.3"; #zen
+    version = "6.1.6"; #zen
     suffix = "zen1"; #zen
-    sha256 = "JOOw24CroRTOaWqdGaiZBDMk0ITmIsZKXZV3KeoqGMw="; #zen
+    sha256 = "14f24w8cww1096lawrk0absx6sqy4mm0f2wpsijgjx4br2ln7p4r"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
-    version = "6.1.3"; #lqx
+    version = "6.1.6"; #lqx
     suffix = "lqx1"; #lqx
-    sha256 = "0vp6skhw4wsxk2nl3m8y975a9bx78h5wl574wsfgnc5nvzmh250l"; #lqx
+    sha256 = "0w1ckias1j1baidyw1a6kq1za7i3ig0w1phkb4s7sw9p7bnhbrx1"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
diff --git a/pkgs/servers/resgate/default.nix b/pkgs/servers/resgate/default.nix
new file mode 100644
index 0000000000000..1650dcd81955a
--- /dev/null
+++ b/pkgs/servers/resgate/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "resgate";
+  version = "1.7.5";
+
+  src = fetchFromGitHub {
+    owner = "resgateio";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-CAK2BjHa/l4cAWUKL0hGjqKi/Cdg+/K/MlnDreB69YE=";
+  };
+
+  vendorHash = "sha256-6uLCZvvQ8lRug6TlavQ1t73RqJlLCRxTwUhMp3OMMB0=";
+
+  meta = with lib; {
+    description = "A Realtime API Gateway used with NATS to build REST, real time, and RPC APIs";
+    homepage = "https://resgate.io";
+    license = licenses.mit;
+    maintainers = with maintainers; [ farcaller ];
+  };
+}
diff --git a/pkgs/servers/snac2/default.nix b/pkgs/servers/snac2/default.nix
index 2e4a54ff481ec..0957df8681a6d 100644
--- a/pkgs/servers/snac2/default.nix
+++ b/pkgs/servers/snac2/default.nix
@@ -7,14 +7,14 @@
 
 stdenv.mkDerivation rec {
   pname = "snac2";
-  version = "2.12";
+  version = "2.15";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "grunfink";
     repo = pname;
     rev = version;
-    hash = "sha256-mSk4qWte3Lksb0fxUfVZGT34eWsS4VfUlGN5yt4/pgs=";
+    hash = "sha256-aK98nolgf/pju6jPZell1qLZMxArDna4FMqf3THGV1I=";
   };
 
   buildInputs = [ curl openssl ];
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index 0d544ac17b229..93df798c8bcb6 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -7,7 +7,7 @@ let
       , pkg-config, libxml2, tzdata, libkrb5
 
       # This is important to obtain a version of `libpq` that does not depend on systemd.
-      , enableSystemd ? !stdenv.isDarwin && !stdenv.hostPlatform.isStatic
+      , enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd && !stdenv.hostPlatform.isStatic
       , gssSupport ? with stdenv.hostPlatform; !isWindows && !isStatic
 
       # for postgresql.pkgs
diff --git a/pkgs/servers/ursadb/default.nix b/pkgs/servers/ursadb/default.nix
index ab5dfe5e99f66..c79156a8f3c2c 100644
--- a/pkgs/servers/ursadb/default.nix
+++ b/pkgs/servers/ursadb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ursadb";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
     repo = "ursadb";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-JssL1Yd+2CPy9fDPJnstiRucdy6TyUdb0Q6xa160CLM=";
+    hash = "sha256-5kVci9o1jUDpbTgMuach8AjXCKhTglcgsywHt3yoo2Y=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/web-apps/vikunja/api.nix b/pkgs/servers/web-apps/vikunja/api.nix
index fddfa33ca6015..829ad9442f0c7 100644
--- a/pkgs/servers/web-apps/vikunja/api.nix
+++ b/pkgs/servers/web-apps/vikunja/api.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "vikunja-api";
-  version = "0.19.2";
+  version = "0.20.1";
 
   src = fetchFromGitea {
     domain = "kolaente.dev";
     owner = "vikunja";
     repo = "api";
     rev = "v${version}";
-    sha256 = "sha256-KI/RgtyjO+LdsoZ0JMo7xHeINpUAd5nDvd/WiWYEA6c=";
+    sha256 = "sha256-KBUN/vBm2st5mfqmrwUv8w4QcgSKerfY51LQbWRn7To=";
   };
 
   nativeBuildInputs =
@@ -24,7 +24,7 @@ buildGoModule rec {
         '';
       in [ fakeGit mage ];
 
-  vendorSha256 = "sha256-ZEmZeIB+uL1/JWEfBd7gZuGNF95pdiJfu5+FY2+sL64=";
+  vendorSha256 = "sha256-ke4jhOhD24zSpQI1nxKoJ05yN/SfCku+wiNuDKr78rw=";
 
   # checks need to be disabled because of needed internet for some checks
   doCheck = false;
diff --git a/pkgs/servers/web-apps/vikunja/frontend.nix b/pkgs/servers/web-apps/vikunja/frontend.nix
index 96a948a301c0f..6cbca199ea621 100644
--- a/pkgs/servers/web-apps/vikunja/frontend.nix
+++ b/pkgs/servers/web-apps/vikunja/frontend.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "vikunja-frontend";
-  version = "0.19.1";
+  version = "0.20.2";
   src = fetchurl {
     url = "https://dl.vikunja.io/frontend/${pname}-${version}.zip";
-    sha256 = "sha256-Kf55M1m/NBQhgaul/4seDMdPFU8jhgOwTNAzdgVg2OQ=";
+    sha256 = "sha256-7WvitR40eJPPdqwZm8C7spvEIdFIY3SGc/w4VY7spgk=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/tools/backup/rustic-rs/default.nix b/pkgs/tools/backup/rustic-rs/default.nix
index ffa4f4c555e1d..29793f1a63df4 100644
--- a/pkgs/tools/backup/rustic-rs/default.nix
+++ b/pkgs/tools/backup/rustic-rs/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rustic-rs";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "rustic-rs";
     repo = "rustic";
     rev = "v${version}";
-    hash = "sha256-2WU7tgt7F1sjUmT8gKE2di0hMD8nOvDwoQN87FCVZEc=";
+    hash = "sha256-xNevH/a1i5nrwv3bQVbr5JCuOKPu/hmQ8UZMZXBAiFw=";
   };
 
-  cargoHash = "sha256-z1Zdzh6NsSIxOvDTzMbMPRCBl/MCxN2aaEejdxPtbSI=";
+  cargoHash = "sha256-DaMtLtsGm3Vy3l7GtfcWclTiuSezQp6Lw8GbZt7Vdto=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 4ef7f685b77fa..0c5f59824bede 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.29.1";
+  version = "2.29.2";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    hash = "sha256-fiBnX+y6/w4cbosspzmLf2+tTu8ZsYSJonNSy3kVx08=";
+    hash = "sha256-dbs1NMgLACbpjKBU3u+Sqczv2PgoLTH7mMIyAcHkMZQ=";
   };
 
-  vendorHash = "sha256-cSwbQWWjMuTuCvIYfTeZV+wd18eDLn7bZNEtyaFQHBg=";
+  vendorHash = "sha256-0heLEQFKxKxeNZGBd3GcTsOfhmDyxZRynVrAkF6vHvk=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 7f909b490daac..6a29151a51785 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -17,7 +17,7 @@ let
   # on Linux, wrap perl in the bash completion scripts with the glibc locales,
   # so that using the shell completion (ctrl+r, etc) doesn't result in ugly
   # warnings on non-nixos machines
-  ourPerl = if stdenv.isDarwin then perl else (
+  ourPerl = if !stdenv.isLinux then perl else (
     writeShellScriptBin "perl" ''
       export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
       exec ${perl}/bin/perl "$@"
diff --git a/pkgs/tools/misc/gh-dash/default.nix b/pkgs/tools/misc/gh-dash/default.nix
index 1bd0fcc29812a..c690df170b84a 100644
--- a/pkgs/tools/misc/gh-dash/default.nix
+++ b/pkgs/tools/misc/gh-dash/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gh-dash";
-  version = "3.5.1";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "dlvhdr";
     repo = "gh-dash";
     rev = "v${version}";
-    sha256 = "sha256-MGdo145qdm/uOiVJfuxy1vblgJjPGQWf3i58xpAWIkQ=";
+    sha256 = "sha256-pQd41uQdfkbqIjdUIwUnKS/Qso495Ips8P2CXPd8JRU=";
   };
 
-  vendorSha256 = "sha256-66GxD48fCWUWMyZ3GiivWNtz0mgI4JHMcvNwHGFTRfU=";
+  vendorHash = "sha256-66GxD48fCWUWMyZ3GiivWNtz0mgI4JHMcvNwHGFTRfU=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/tools/misc/plantuml-server/default.nix b/pkgs/tools/misc/plantuml-server/default.nix
index 67ef1498f8f3a..ddbb7708ec8b4 100644
--- a/pkgs/tools/misc/plantuml-server/default.nix
+++ b/pkgs/tools/misc/plantuml-server/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchurl }:
 
 let
-  version = "1.2022.14";
+  version = "1.2023.0";
 in
 stdenv.mkDerivation rec {
   pname = "plantuml-server";
   inherit version;
   src = fetchurl {
     url = "https://github.com/plantuml/plantuml-server/releases/download/v${version}/plantuml-v${version}.war";
-    sha256 = "sha256-Gy7KIdsL38USYqpPJ1Rjg0RyEdgsnD9lk/m7hSCBYLo=";
+    sha256 = "sha256-FYyP6CZb+uarXlGEAPyt6KKvciZ5XsfjilDW0JObpDw=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/tools/misc/qmake2cmake/default.nix b/pkgs/tools/misc/qmake2cmake/default.nix
new file mode 100644
index 0000000000000..f9ff0dc6a7a12
--- /dev/null
+++ b/pkgs/tools/misc/qmake2cmake/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchgit
+, packaging
+, portalocker
+, sympy
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "qmake2cmake";
+  version = "1.0.2";
+
+  src = fetchgit {
+    url = "https://codereview.qt-project.org/qt/qmake2cmake";
+    rev = "v${version}";
+    hash = "sha256-Ibi7tIaMI44POfoRfKsgTMR3u+Li5UzeHBUNylnc9dw=";
+  };
+
+  patches = [
+    ./fix-locations.patch
+  ];
+
+  propagatedBuildInputs = [
+    packaging
+    portalocker
+    sympy
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Tool to convert qmake .pro files to CMakeLists.txt";
+    homepage = "https://wiki.qt.io/Qmake2cmake";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ wegank ];
+  };
+}
diff --git a/pkgs/tools/misc/qmake2cmake/fix-locations.patch b/pkgs/tools/misc/qmake2cmake/fix-locations.patch
new file mode 100644
index 0000000000000..44741c0e70811
--- /dev/null
+++ b/pkgs/tools/misc/qmake2cmake/fix-locations.patch
@@ -0,0 +1,36 @@
+diff --git a/src/qmake2cmake/condition_simplifier_cache.py b/src/qmake2cmake/condition_simplifier_cache.py
+index 86c8e83..9d1ac00 100755
+--- a/src/qmake2cmake/condition_simplifier_cache.py
++++ b/src/qmake2cmake/condition_simplifier_cache.py
+@@ -29,8 +29,7 @@ def get_current_file_path() -> str:
+ 
+ 
+ def get_cache_location() -> str:
+-    this_file = get_current_file_path()
+-    dir_path = os.path.dirname(this_file)
++    dir_path = os.getcwd()
+     cache_path = os.path.join(dir_path, ".pro2cmake_cache", "cache.json")
+     return cache_path
+ 
+diff --git a/src/qmake2cmake/run_pro2cmake.py b/src/qmake2cmake/run_pro2cmake.py
+index fd3e11a..bdbadb0 100755
+--- a/src/qmake2cmake/run_pro2cmake.py
++++ b/src/qmake2cmake/run_pro2cmake.py
+@@ -194,7 +194,6 @@ def run(all_files: typing.List[str], pro2cmake: str, args: argparse.Namespace) -
+     ) -> typing.Tuple[int, str, str]:
+         filename, index, total = data
+         pro2cmake_args = []
+-        pro2cmake_args.append(sys.executable)
+         pro2cmake_args.append(pro2cmake)
+         if args.min_qt_version:
+             pro2cmake_args += ["--min-qt-version", args.min_qt_version]
+@@ -257,8 +256,7 @@ def run(all_files: typing.List[str], pro2cmake: str, args: argparse.Namespace) -
+ def main() -> None:
+     args = parse_command_line()
+ 
+-    script_path = os.path.dirname(os.path.abspath(__file__))
+-    pro2cmake = os.path.join(script_path, "pro2cmake.py")
++    pro2cmake = os.path.join(os.path.dirname(sys.argv[0]), "qmake2cmake")
+     base_path = args.path
+ 
+     all_files = find_all_pro_files(base_path, args)
diff --git a/pkgs/tools/misc/ytfzf/default.nix b/pkgs/tools/misc/ytfzf/default.nix
index 5b43cdb731e91..cf3133b9b03f4 100644
--- a/pkgs/tools/misc/ytfzf/default.nix
+++ b/pkgs/tools/misc/ytfzf/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ytfzf";
-  version = "2.5.3";
+  version = "2.5.4";
 
   src = fetchFromGitHub {
     owner = "pystardust";
     repo = "ytfzf";
     rev = "v${version}";
-    hash = "sha256-01F3JSpA/SjAZWmXPftT/EvGlLVM3U/zLyABREgePi8=";
+    hash = "sha256-AouOckRrPdIzwfn6s7GXu3U9PrihcyPpt6Xb41dq1zg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/snowflake/default.nix b/pkgs/tools/networking/snowflake/default.nix
index e84c238ec27e0..999d30bd92933 100644
--- a/pkgs/tools/networking/snowflake/default.nix
+++ b/pkgs/tools/networking/snowflake/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "snowflake";
-  version = "2.4.3";
+  version = "2.5.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.torproject.org";
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "anti-censorship/pluggable-transports";
     repo = "snowflake";
     rev = "v${version}";
-    sha256 = "sha256-hfB4mVakUmXH6Ac9ALZhriUtjz/RJ3RXwn50q9EWT+A=";
+    sha256 = "sha256-7iwRbik3hUj6Zv3tqLKqhGUIag6OnWRhpWqW6NTI+FU=";
   };
 
-  vendorHash = "sha256-66GqvwHPkMii5oXZV36ayYYkW1oaq5qTjkEA5BeS/5U=";
+  vendorHash = "sha256-wHLYVf8QurMbmdLNkTFGgmncOJlJHZF8PwYTUniXOGY=";
 
   meta = with lib; {
     description = "System to defeat internet censorship";
diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix
index 10dc8a2a266fb..8c81e39b14264 100644
--- a/pkgs/tools/networking/zerotierone/default.nix
+++ b/pkgs/tools/networking/zerotierone/default.nix
@@ -79,6 +79,9 @@ replace-with = "vendored-sources"' >> ./zeroidc/.cargo/config.toml
 
   outputs = [ "out" "man" ];
 
+  # https://github.com/NixOS/nixpkgs/issues/201254
+  NIX_LDFLAGS = lib.optionalString (stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU) "-lgcc";
+
   meta = with lib; {
     description = "Create flat virtual Ethernet networks of almost unlimited size";
     homepage = "https://www.zerotier.com";
diff --git a/pkgs/tools/security/gotrue/supabase.nix b/pkgs/tools/security/gotrue/supabase.nix
index 65ef828c1346a..64e454b22d5e8 100644
--- a/pkgs/tools/security/gotrue/supabase.nix
+++ b/pkgs/tools/security/gotrue/supabase.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gotrue";
-  version = "2.40.2";
+  version = "2.41.0";
 
   src = fetchFromGitHub {
     owner = "supabase";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-y2YQDgILH9JRsSjVaGDtwKXdWhTF/Idq6TPytnxsPyE=";
+    hash = "sha256-LqVFKpDlUqkjurFmeZ2YCuF3W1V3R5Dnw/5k1O0qjSc=";
   };
 
   vendorHash = "sha256-3dXfg9tblPx9V5LzzVm3UtCwGcPIAm2MaKm9JQi69mU=";
diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix
index 05014d5c6e59b..de0e4be7bffc5 100644
--- a/pkgs/tools/security/nuclei/default.nix
+++ b/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "2.8.6";
+  version = "2.8.7";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-hK5l/uDZ0KbpPH14wkFuZL72ssmawINhX3ICgGItx4U=";
+    hash = "sha256-kEc56cT8EgrQ8qHRHcVjf8L+DwFeK4UDEXhGqs24lJM=";
   };
 
-  vendorHash = "sha256-GqOuEEYHJRzxPb/i4w913srRv1ckHI0WVNR20eJqE7Q=";
+  vendorHash = "sha256-cEgJOL4qpbxdWBwGzVviI/+3Exe746Mu749vtrSjOVU=";
 
   modRoot = "./v2";
   subPackages = [
diff --git a/pkgs/tools/security/ripasso/build-on-macos.patch b/pkgs/tools/security/ripasso/build-on-macos.patch
new file mode 100644
index 0000000000000..0c9aa02b9dff0
--- /dev/null
+++ b/pkgs/tools/security/ripasso/build-on-macos.patch
@@ -0,0 +1,55 @@
+diff --git a/cursive/Cargo.toml b/cursive/Cargo.toml
+index 8cc0c1e..815c170 100644
+--- a/cursive/Cargo.toml
++++ b/cursive/Cargo.toml
+@@ -20,8 +20,9 @@ gettext = "0.4.0"
+ lazy_static = "1.4.0"
+ toml = "0.5.9"
+ term_size = "0.3.2"
+-wl-clipboard-rs = "0.7.0"
+ hex = "0.4.3"
++[target.'cfg(target_os = "linux")'.dependencies]
++wl-clipboard-rs = "0.7.0"
+ 
+ [dependencies.config]
+ version = "0.11.0"
+diff --git a/cursive/src/helpers.rs b/cursive/src/helpers.rs
+index 7c2f733..9d63760 100644
+--- a/cursive/src/helpers.rs
++++ b/cursive/src/helpers.rs
+@@ -23,6 +23,7 @@ use cursive::{
+ };
+ use pass::Result;
+ use ripasso::{crypto::CryptoImpl, pass};
++#[cfg(target_os = "linux")]
+ use wl_clipboard_rs::copy::{MimeType, Options, Source};
+ 
+ /// Displays an error in a cursive dialog
+@@ -48,7 +49,8 @@ pub fn errorbox(ui: &mut Cursive, err: &pass::Error) {
+ 
+ /// Copies content to the clipboard.
+ /// It first tries to copy to a wayland clipboard, and if that's not availible due to that the
+-/// user runs x11/mac/windows we instead try the more generic clipboard crate.
++/// user runs x11 we instead try the more generic clipboard crate.
++#[cfg(target_os = "linux")]
+ pub fn set_clipboard(content: String) -> Result<()> {
+     let opts = Options::new();
+     let result = opts.copy(
+@@ -62,6 +64,17 @@ pub fn set_clipboard(content: String) -> Result<()> {
+     Ok(())
+ }
+ 
++/// Copies content to the clipboard.
++/// It first tries to copy to a wayland clipboard, and if that's not availible due to that the
++/// user runs mac/windows we instead try the more generic clipboard crate.
++#[cfg(not(target_os = "linux"))]
++pub fn set_clipboard(content: String) -> Result<()> {
++    let mut ctx = clipboard::ClipboardContext::new()?;
++    ctx.set_contents(content)?;
++
++    Ok(())
++}
++
+ pub fn get_value_from_input(s: &mut Cursive, input_name: &str) -> Option<std::rc::Rc<String>> {
+     let mut password = None;
+     s.call_on_name(input_name, |e: &mut EditView| {
diff --git a/pkgs/tools/security/ripasso/cursive.nix b/pkgs/tools/security/ripasso/cursive.nix
index 1a2ed13746118..22d5009deda91 100644
--- a/pkgs/tools/security/ripasso/cursive.nix
+++ b/pkgs/tools/security/ripasso/cursive.nix
@@ -1,26 +1,29 @@
-{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, ncurses, python3, openssl, libgpg-error, gpgme, xorg, AppKit, Security, installShellFiles }:
+{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, python3, openssl, libgpg-error, gpgme, xorg, nettle, llvmPackages, clang, AppKit, Security, installShellFiles }:
 
 with rustPlatform;
 buildRustPackage rec {
-  version = "0.5.2";
+  version = "0.6.2";
   pname = "ripasso-cursive";
 
   src = fetchFromGitHub {
     owner = "cortex";
     repo = "ripasso";
     rev  = "release-${version}";
-    sha256 = "sha256-De/xCDzdRHCslD0j6vT8bwjcMTf5R8KZ32aaB3i+Nig=";
+    sha256 = "sha256-OKFgBfm4d9IqSJFjg+J1XdsgQrfuIaoRIhVJQeZ+558=";
   };
 
-  patches = [ ./fix-tests.patch ];
+  patches = [ ./fix-tests.patch ./build-on-macos.patch ];
 
-  cargoSha256 = "sha256-ZmHzxHV4uIxPlLkkOLJApPNLo0GGVj9EopoIwi/j6DE=";
+  # Needed so bindgen can find libclang.so
+  LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
+
+  cargoSha256 = "sha256-cAhLI5IES6FM3/rjHjokLq5pCoA08K/8lpdAeSNrTFs=";
 
   cargoBuildFlags = [ "-p ripasso-cursive" ];
 
-  nativeBuildInputs = [ pkg-config gpgme python3 installShellFiles ];
+  nativeBuildInputs = [ pkg-config gpgme python3 installShellFiles clang ];
   buildInputs = [
-    ncurses openssl libgpg-error gpgme xorg.libxcb
+    openssl libgpg-error gpgme xorg.libxcb nettle
   ] ++ lib.optionals stdenv.isDarwin [ AppKit Security ];
 
   preCheck = ''
diff --git a/pkgs/tools/security/ripasso/fix-tests.patch b/pkgs/tools/security/ripasso/fix-tests.patch
index 85b1714e5c295..dbb4b2dfd318f 100644
--- a/pkgs/tools/security/ripasso/fix-tests.patch
+++ b/pkgs/tools/security/ripasso/fix-tests.patch
@@ -1,82 +1,12 @@
---- a/src/pass/test.rs
-+++ a/src/pass/test.rs
-@@ -83,6 +83,7 @@
+diff --git a/src/tests/test_helpers.rs b/src/tests/test_helpers.rs
+index 73e4175..d2ed70b 100644
+--- a/src/tests/test_helpers.rs
++++ b/src/tests/test_helpers.rs
+@@ -53,6 +53,7 @@ fn get_testres_path() -> PathBuf {
      base_path.pop();
      base_path.pop();
      base_path.pop();
 +    base_path.pop();
      base_path.push("testres");
  
-     let home: PathBuf = base_path.clone();
-@@ -114,6 +115,7 @@
-     base_path.pop();
-     base_path.pop();
-     base_path.pop();
-+    base_path.pop();
-     base_path.push("testres");
- 
-     let home: PathBuf = base_path.clone();
-@@ -144,6 +146,7 @@
-     base_path.pop();
-     base_path.pop();
-     base_path.pop();
-+    base_path.pop();
-     base_path.push("testres");
- 
-     let home: PathBuf = base_path.clone();
-@@ -185,6 +188,7 @@
-     base_path.pop();
-     base_path.pop();
-     base_path.pop();
-+    base_path.pop();
-     base_path.push("testres");
- 
-     let home: PathBuf = base_path.clone();
-@@ -220,6 +224,7 @@
-     base_path.pop();
-     base_path.pop();
-     base_path.pop();
-+    base_path.pop();
-     base_path.push("testres");
- 
-     let home: PathBuf = base_path.clone();
-@@ -267,6 +272,7 @@
-     base_path.pop();
-     base_path.pop();
-     base_path.pop();
-+    base_path.pop();
-     base_path.push("testres");
- 
-     let home: PathBuf = base_path.clone();
-@@ -298,6 +304,7 @@
-     base_path.pop();
-     base_path.pop();
-     base_path.pop();
-+    base_path.pop();
-     base_path.push("testres");
- 
-     let home: PathBuf = base_path.clone();
-@@ -337,6 +344,7 @@
-     base_path.pop();
-     base_path.pop();
-     base_path.pop();
-+    base_path.pop();
-     base_path.push("testres");
- 
-     let home: PathBuf = base_path.clone();
-@@ -828,6 +836,7 @@
-     base_path.pop();
-     base_path.pop();
-     base_path.pop();
-+    base_path.pop();
-     base_path.push("testres");
- 
-     let home: PathBuf = base_path.clone();
-@@ -860,6 +869,7 @@
-     base_path.pop();
-     base_path.pop();
-     base_path.pop();
-+    base_path.pop();
-     base_path.pop();
-     base_path.push("testres");
- 
+     base_path
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index eb55297f643b7..d3885acee0181 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sudo";
-  version = "1.9.12p1";
+  version = "1.9.12p2";
 
   src = fetchurl {
     url = "https://www.sudo.ws/dist/${pname}-${version}.tar.gz";
-    hash = "sha256-R1oYqOs9qLKRfOqwY6a69R6gkSjDxH4+DjOrdJe6t9g=";
+    hash = "sha256-uaCxrg8d3Zvn8+r+cL4F7oH1cvb1NmMsRM1BAbsqhTk=";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/system/wslu/default.nix b/pkgs/tools/system/wslu/default.nix
index 596c722bb3df3..f765da194c0e5 100644
--- a/pkgs/tools/system/wslu/default.nix
+++ b/pkgs/tools/system/wslu/default.nix
@@ -5,19 +5,22 @@
 
 stdenv.mkDerivation rec {
   pname = "wslu";
-  version = "4.1.0";
+  version = "4.1.1";
 
   src = fetchFromGitHub {
     owner = "wslutilities";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-DlWI+rHj1vSJzJ8VJnUfoPH6t4LQhqxJgRKqz41fVmY=";
+    hash = "sha256-yhugh836BoSISbTu19ubLOrz5X31Opu5QtCR0DXrbWc=";
   };
 
-  makeFlags = [ "DESTDIR=$(out)" ];
+  makeFlags = [
+    "DESTDIR=$(out)"
+    "PREFIX="
+  ];
 
   meta = with lib; {
-    description = "A collection of utilities for Windows 10 Linux Subsystems";
+    description = "A collection of utilities for Windows Subsystem for Linux";
     homepage = "https://github.com/wslutilities/wslu";
     changelog = "https://github.com/wslutilities/wslu/releases/tag/v${version}";
     license = licenses.gpl3Plus;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7b005def9fdad..85283beb7067a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9023,6 +9023,8 @@ with pkgs;
     pythonPackages = python3Packages;
   };
 
+  nagelfar = callPackage ../development/tools/nagelfar { };
+
   nats-top = callPackage ../tools/system/nats-top { };
 
   natscli = callPackage ../tools/system/natscli { };
@@ -20602,6 +20604,8 @@ with pkgs;
 
   libdaemon = callPackage ../development/libraries/libdaemon { };
 
+  libdatovka = callPackage ../development/libraries/libdatovka { };
+
   libdatrie = callPackage ../development/libraries/libdatrie { };
 
   libdazzle = callPackage ../development/libraries/libdazzle { };
@@ -21473,6 +21477,7 @@ with pkgs;
   libtomcrypt = callPackage ../development/libraries/libtomcrypt { };
 
   libtorrent-rasterbar-2_0_x = callPackage ../development/libraries/libtorrent-rasterbar {
+    stdenv = if stdenv.isDarwin then llvmPackages_14.stdenv else stdenv;
     inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
     python = python3;
   };
@@ -26348,7 +26353,9 @@ with pkgs;
   };
 
 
-  udev = systemd; # TODO: change to systemdMinimal
+  udev =
+    if (with stdenv.hostPlatform; isLinux && isStatic) then libudev-zero
+    else systemd; # TODO: change to systemdMinimal
 
   systemd-wait = callPackage ../os-specific/linux/systemd-wait { };
 
@@ -30968,6 +30975,7 @@ with pkgs;
     mopidy-mpris
     mopidy-muse
     mopidy-musicbox-webclient
+    mopidy-notify
     mopidy-podcast
     mopidy-scrobbler
     mopidy-somafm
@@ -34196,6 +34204,8 @@ with pkgs;
 
   tessera = callPackage ../applications/blockchains/tessera { };
 
+  torq = callPackage ../applications/blockchains/torq { };
+
   vertcoin  = libsForQt5.callPackage ../applications/blockchains/vertcoin {
     boost = boost17x;
     withGui = true;
@@ -37593,6 +37603,8 @@ with pkgs;
 
   qMasterPassword = qt6Packages.callPackage ../applications/misc/qMasterPassword { };
 
+  qmake2cmake = python3Packages.callPackage ../tools/misc/qmake2cmake { };
+
   qtrvsim = libsForQt5.callPackage ../applications/science/computer-architecture/qtrvsim { };
 
   qdl = callPackage ../tools/misc/qdl { };
@@ -38607,4 +38619,6 @@ with pkgs;
   tubekit = callPackage ../applications/networking/cluster/tubekit/wrapper.nix { };
 
   tubekit-unwrapped = callPackage ../applications/networking/cluster/tubekit { };
+
+  resgate = callPackage ../servers/resgate { };
 }
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 58940bb1e5aeb..b2ef4f4e5771a 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -22778,10 +22778,10 @@ let
 
   TclpTk = buildPerlPackage {
     pname = "Tcl-pTk";
-    version = "1.09";
+    version = "1.10";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/C/CA/CAC/Tcl-pTk-1.09.tar.gz";
-      hash = "sha256-LR+YBlKS9+W7mBBy9/EkAOjxGVVe4MC5zToPr/pXl24=";
+      url = "mirror://cpan/authors/id/C/CA/CAC/Tcl-pTk-1.10.tar.gz";
+      hash = "sha256-sMb4KXzTL7KhkF17OSbWMb8p+iM/jYTNHtb+2J85/QQ=";
     };
     propagatedBuildInputs = [
       ClassISA
@@ -26186,10 +26186,10 @@ let
 
   Tk = buildPerlPackage {
     pname = "Tk";
-    version = "804.035";
+    version = "804.036";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SR/SREZIC/Tk-804.035.tar.gz";
-      hash = "sha256-TSuAKRum3jTY7IhqCFptvSt5C5JgNaCH6ZAlYUxf/dQ=";
+      url = "mirror://cpan/authors/id/S/SR/SREZIC/Tk-804.036.tar.gz";
+      hash = "sha256-Mqpycaa9/twzMBGbOCXa3dCqS1yTb4StdOq7kyogCl4=";
     };
     makeMakerFlags = [ "X11INC=${pkgs.xorg.libX11.dev}/include" "X11LIB=${pkgs.xorg.libX11.out}/lib" ];
     buildInputs = [ pkgs.xorg.libX11 pkgs.libpng ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 05fd665705dde..dc3b5b1ddf13b 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5785,6 +5785,8 @@ self: super: with self; {
 
   mesa = callPackage ../development/python-modules/mesa { };
 
+  meshcat = callPackage ../development/python-modules/meshcat { };
+
   meshio = callPackage ../development/python-modules/meshio { };
 
   meshlabxml = callPackage ../development/python-modules/meshlabxml { };
@@ -7170,6 +7172,8 @@ self: super: with self; {
 
   pylddwrap = callPackage ../development/python-modules/pylddwrap { };
 
+  pyngrok = callPackage ../development/python-modules/pyngrok { };
+
   pynndescent = callPackage ../development/python-modules/pynndescent { };
 
   pynobo = callPackage ../development/python-modules/pynobo { };