summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2023-01-25 00:02:20 +0000
committerGitHub <noreply@github.com>2023-01-25 00:02:20 +0000
commitc47e4b69a33fe4c3e26c923bf2cc08d65dcd1d3e (patch)
tree5f3173b32dd8391102c6ceee2cf224393771ac02
parentde7e4a82e44535246fc53a21cf383808b2611784 (diff)
parent000178d44d0cf57116452b16a5a4a8aec8515bdf (diff)
downloadnixpkgs-c47e4b69a33fe4c3e26c923bf2cc08d65dcd1d3e.tar
nixpkgs-c47e4b69a33fe4c3e26c923bf2cc08d65dcd1d3e.tar.gz
nixpkgs-c47e4b69a33fe4c3e26c923bf2cc08d65dcd1d3e.tar.bz2
nixpkgs-c47e4b69a33fe4c3e26c923bf2cc08d65dcd1d3e.tar.lz
nixpkgs-c47e4b69a33fe4c3e26c923bf2cc08d65dcd1d3e.tar.xz
nixpkgs-c47e4b69a33fe4c3e26c923bf2cc08d65dcd1d3e.tar.zst
nixpkgs-c47e4b69a33fe4c3e26c923bf2cc08d65dcd1d3e.zip
Merge master into staging-next
-rw-r--r--nixos/modules/config/no-x-libs.nix3
-rw-r--r--nixos/modules/system/boot/systemd/initrd.nix8
-rw-r--r--pkgs/applications/graphics/potreeconverter/default.nix58
-rw-r--r--pkgs/applications/misc/river-tag-overlay/default.nix30
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix6
-rw-r--r--pkgs/data/fonts/alkalami/default.nix22
-rw-r--r--pkgs/data/fonts/amiri/default.nix25
-rw-r--r--pkgs/data/fonts/ankacoder/condensed.nix24
-rw-r--r--pkgs/data/fonts/anonymous-pro/default.nix25
-rw-r--r--pkgs/data/fonts/baekmuk-ttf/default.nix2
-rw-r--r--pkgs/data/fonts/bakoma-ttf/default.nix2
-rw-r--r--pkgs/data/fonts/caladea/default.nix2
-rw-r--r--pkgs/data/fonts/camingo-code/default.nix27
-rw-r--r--pkgs/data/fonts/cardo/default.nix24
-rw-r--r--pkgs/data/fonts/cm-unicode/default.nix2
-rw-r--r--pkgs/data/fonts/cooper-hewitt/default.nix20
-rw-r--r--pkgs/data/fonts/crimson-pro/default.nix2
-rw-r--r--pkgs/data/fonts/crimson/default.nix2
-rw-r--r--pkgs/data/fonts/culmus/default.nix2
-rw-r--r--pkgs/data/fonts/dm-sans/default.nix25
-rw-r--r--pkgs/data/fonts/fantasque-sans-mono/default.nix26
-rw-r--r--pkgs/data/fonts/fira-go/default.nix26
-rw-r--r--pkgs/data/fonts/garamond-libre/default.nix24
-rw-r--r--pkgs/data/fonts/go-font/default.nix2
-rw-r--r--pkgs/data/fonts/gyre/default.nix2
-rw-r--r--pkgs/data/fonts/hackgen/default.nix24
-rw-r--r--pkgs/data/fonts/hackgen/nerdfont.nix24
-rw-r--r--pkgs/data/fonts/hannom/default.nix2
-rw-r--r--pkgs/data/fonts/helvetica-neue-lt-std/default.nix27
-rw-r--r--pkgs/data/fonts/hermit/default.nix2
-rw-r--r--pkgs/data/fonts/julia-mono/default.nix2
-rw-r--r--pkgs/data/fonts/kacst/default.nix2
-rw-r--r--pkgs/data/fonts/khmeros/default.nix2
-rw-r--r--pkgs/data/fonts/lao/default.nix2
-rw-r--r--pkgs/data/fonts/lklug-sinhala/default.nix2
-rw-r--r--pkgs/data/fonts/lmodern/default.nix2
-rw-r--r--pkgs/data/fonts/luculent/default.nix2
-rw-r--r--pkgs/data/fonts/lxgw-wenkai/default.nix2
-rw-r--r--pkgs/data/fonts/marathi-cursive/default.nix2
-rw-r--r--pkgs/data/fonts/material-design-icons/default.nix2
-rw-r--r--pkgs/data/fonts/nanum/default.nix2
-rw-r--r--pkgs/data/fonts/oldsindhi/default.nix2
-rw-r--r--pkgs/data/fonts/takao/default.nix2
-rw-r--r--pkgs/data/fonts/tibetan-machine/default.nix2
-rw-r--r--pkgs/data/fonts/ttf-bitstream-vera/default.nix2
-rw-r--r--pkgs/data/fonts/u001/default.nix2
-rw-r--r--pkgs/data/fonts/unfonts-core/default.nix2
-rw-r--r--pkgs/data/fonts/vdrsymbols/default.nix2
-rw-r--r--pkgs/data/fonts/wqy-microhei/default.nix2
-rw-r--r--pkgs/data/fonts/wqy-zenhei/default.nix2
-rw-r--r--pkgs/desktops/mate/marco/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/10/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/10/libcxx/default.nix15
-rw-r--r--pkgs/development/compilers/llvm/10/libcxxabi/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/11/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/11/libcxx/default.nix13
-rw-r--r--pkgs/development/compilers/llvm/11/libcxxabi/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/12/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/12/libcxx/default.nix13
-rw-r--r--pkgs/development/compilers/llvm/12/libcxxabi/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/13/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/13/libcxx/default.nix12
-rw-r--r--pkgs/development/compilers/llvm/13/libcxxabi/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/14/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/14/libcxx/default.nix12
-rw-r--r--pkgs/development/compilers/llvm/14/libcxxabi/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/5/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/5/libcxx/default.nix18
-rw-r--r--pkgs/development/compilers/llvm/5/libcxxabi/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/6/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/6/libcxx/default.nix18
-rw-r--r--pkgs/development/compilers/llvm/6/libcxxabi/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/7/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/7/libcxx/default.nix15
-rw-r--r--pkgs/development/compilers/llvm/7/libcxxabi/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/8/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/8/libcxx/default.nix15
-rw-r--r--pkgs/development/compilers/llvm/8/libcxxabi/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/9/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/9/libcxx/default.nix15
-rw-r--r--pkgs/development/compilers/llvm/9/libcxxabi/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/git/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/git/libcxx/default.nix14
-rw-r--r--pkgs/development/compilers/llvm/git/libcxxabi/default.nix4
-rw-r--r--pkgs/development/libraries/intel-media-sdk/default.nix4
-rw-r--r--pkgs/development/libraries/libcxxrt/default.nix34
-rw-r--r--pkgs/development/libraries/ntirpc/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-iot/default.nix4
-rw-r--r--pkgs/development/python-modules/pyro4/default.nix22
-rw-r--r--pkgs/development/python-modules/pyro5/default.nix38
-rw-r--r--pkgs/development/tools/misc/pkgconf/default.nix4
-rw-r--r--pkgs/development/tools/ruff/default.nix6
-rw-r--r--pkgs/os-specific/linux/vmm_clock/default.nix5
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix4
-rw-r--r--pkgs/servers/nfs-ganesha/default.nix4
-rw-r--r--pkgs/stdenv/darwin/default.nix4
-rw-r--r--pkgs/tools/admin/scaleway-cli/default.nix6
-rw-r--r--pkgs/tools/compression/crabz/default.nix6
-rw-r--r--pkgs/tools/misc/fzf/default.nix16
-rw-r--r--pkgs/tools/misc/nurl/default.nix6
-rw-r--r--pkgs/tools/package-management/nix-update/default.nix4
-rw-r--r--pkgs/tools/security/commix/default.nix7
-rw-r--r--pkgs/top-level/all-packages.nix10
103 files changed, 599 insertions, 367 deletions
diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix
index a1257bbdaf6..9542de9fa1f 100644
--- a/nixos/modules/config/no-x-libs.nix
+++ b/nixos/modules/config/no-x-libs.nix
@@ -59,6 +59,9 @@ with lib;
       pinentry = super.pinentry.override { enabledFlavors = [ "curses" "tty" "emacs" ]; withLibsecret = false; };
       qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; };
       qrencode = super.qrencode.overrideAttrs (_: { doCheck = false; });
+      qt5 = super.qt5.overrideScope' (self: super: {
+        qtbase = super.qtbase.override { withGtk3 = false; };
+      });
       stoken = super.stoken.override { withGTK3 = false; };
       # translateManpages -> perlPackages.po4a -> texlive-combined-basic -> texlive-core-big -> libX11
       util-linux = super.util-linux.override { translateManpages = false; };
diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix
index d30f61146e1..620d76aef20 100644
--- a/nixos/modules/system/boot/systemd/initrd.nix
+++ b/nixos/modules/system/boot/systemd/initrd.nix
@@ -343,9 +343,11 @@ in {
     system.build = { inherit initialRamdisk; };
 
     boot.initrd.availableKernelModules = [
-      "autofs4"           # systemd needs this for some features
-      "tpm-tis" "tpm-crb" # systemd-cryptenroll
-    ];
+      # systemd needs this for some features
+      "autofs4"
+      # systemd-cryptenroll
+      "tpm-tis"
+    ] ++ lib.optional (pkgs.stdenv.hostPlatform.system != "riscv64-linux") "tpm-crb";
 
     boot.initrd.systemd = {
       initrdBin = [pkgs.bash pkgs.coreutils cfg.package.kmod cfg.package] ++ config.system.fsPackages;
diff --git a/pkgs/applications/graphics/potreeconverter/default.nix b/pkgs/applications/graphics/potreeconverter/default.nix
new file mode 100644
index 00000000000..07fae114081
--- /dev/null
+++ b/pkgs/applications/graphics/potreeconverter/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, boost
+, tbb
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+  pname = "PotreeConverter";
+  version = "unstable-2022-08-04";
+
+  src = fetchFromGitHub {
+    owner = "potree";
+    repo = "PotreeConverter";
+    rev = "758bbac98a662de5e57d2280675e11cc76241688";
+    sha256 = "sha256-pDdV2/edYhhBWs153hSy1evI3cXD0Xq9nrEsw3JNcH4=";
+  };
+
+  buildInputs = [
+    boost
+    tbb
+  ];
+
+  nativeBuildInputs = [
+    makeWrapper
+    cmake
+  ];
+
+  patchPhase = ''
+    substituteInPlace ./CMakeLists.txt \
+      --replace "find_package(TBB REQUIRED)" ""
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/{bin,lib}
+    mv liblaszip.so $out/lib
+    mv PotreeConverter $out/bin
+    ln -s $out/bin/PotreeConverter $out/bin/potreeconverter
+
+    # Create an empty wrapper, since PotreeConverter segfaults if called via
+    # $PATH rather than absolute path. An empty wrapper forces an absolute path
+    # on each invocation
+    wrapProgram $out/bin/PotreeConverter
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Create multi res point cloud to use with potree";
+    homepage = "https://github.com/potree/PotreeConverter";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ matthewcroughan ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/river-tag-overlay/default.nix b/pkgs/applications/misc/river-tag-overlay/default.nix
new file mode 100644
index 00000000000..4aa2a3c59a9
--- /dev/null
+++ b/pkgs/applications/misc/river-tag-overlay/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, fetchFromSourcehut, nixos, wayland, pixman, pkg-config }:
+
+stdenv.mkDerivation rec {
+  pname = "river-tag-overlay";
+  version = "1.0.0";
+
+  src = fetchFromSourcehut {
+    owner = "~leon_plickat";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-hLyXdLi/ldvwPJ1oQQsH5wgflQJuXu6vhYw/qdKAV9E=";
+  };
+
+  buildInputs = [ pixman wayland ];
+  nativeBuildInputs = [ pkg-config ];
+
+  makeFlags = [
+    "DESTDIR=${placeholder "out"}"
+    "PREFIX="
+  ];
+
+  meta = with lib; {
+    description = "A pop-up showing tag status";
+    homepage = "https://sr.ht/~leon_plickat/river-tag-overlay";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ edrex ];
+    platforms = platforms.linux;
+    broken = stdenv.isAarch64;
+  };
+}
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index fc82fd02615..4efed406319 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -379,11 +379,11 @@ stdenv.mkDerivation {
         echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags
       done
     ''
-    + optionalString (libcxx.isLLVM or false) (''
+    + optionalString (libcxx.isLLVM or false) ''
       echo "-isystem ${lib.getDev libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags
       echo "-stdlib=libc++" >> $out/nix-support/libcxx-ldflags
-      echo "-lc++abi" >> $out/nix-support/libcxx-ldflags
-    '')
+      echo "-l${libcxx.cxxabi.libName}" >> $out/nix-support/libcxx-ldflags
+    ''
 
     ##
     ## Initial CFLAGS
diff --git a/pkgs/data/fonts/alkalami/default.nix b/pkgs/data/fonts/alkalami/default.nix
index b0b2876f5a6..60e31e88c2d 100644
--- a/pkgs/data/fonts/alkalami/default.nix
+++ b/pkgs/data/fonts/alkalami/default.nix
@@ -1,19 +1,23 @@
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-fetchzip rec {
+stdenvNoCC.mkDerivation rec {
   pname = "alkalami";
   version = "2.000";
 
-  url = "https://software.sil.org/downloads/r/alkalami/Alkalami-${version}.zip";
+  src = fetchzip {
+    url = "https://software.sil.org/downloads/r/alkalami/Alkalami-${version}.zip";
+    hash = "sha256-rT0HzTFbooHr+l5BQ9GVYKxxNk7TESdkOQfWBeVpwYI=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  postFetch = ''
-    rm -rf $out/web $out/manifest.json
     mkdir -p $out/share/{doc/${pname},fonts/truetype}
-    mv $out/*.ttf $out/share/fonts/truetype/
-    mv $out/*.txt $out/documentation $out/share/doc/${pname}/
-  '';
+    mv *.ttf $out/share/fonts/truetype/
+    mv *.txt documentation $out/share/doc/${pname}/
 
-  sha256 = "sha256-GjX3YOItLKSMlRjUbBgGp2D7QS/pOJQYuQJzW+iqBNo=";
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://software.sil.org/alkalami/";
diff --git a/pkgs/data/fonts/amiri/default.nix b/pkgs/data/fonts/amiri/default.nix
index 87185e8469f..bfd7c60bf53 100644
--- a/pkgs/data/fonts/amiri/default.nix
+++ b/pkgs/data/fonts/amiri/default.nix
@@ -1,20 +1,23 @@
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "amiri";
   version = "1.000";
 
-in fetchzip rec {
-  name = "Amiri-${version}";
-
-  url = "https://github.com/alif-type/amiri/releases/download/${version}/${name}.zip";
+  src = fetchzip {
+    url = "https://github.com/alif-type/amiri/releases/download/${version}/Amiri-${version}.zip";
+    hash = "sha256-WXxKLYIIKe01WWZrI1aLOv65wRgn7aqHl6Codf4foVw=";
+  };
 
-  sha256 = "sha256-hG6m/zsGoGF5/xhHz9EHVL9Sg9dlQqfXpQ/lqNyI1vU=";
+  installPhase = ''
+    runHook preInstall
 
-  postFetch = ''
     mkdir -p $out/share/fonts/truetype
-    mv $out/*.ttf $out/share/fonts/truetype/
-    mkdir -p $out/share/doc/${name}
-    mv $out/{*.html,*.txt,*.md} $out/share/doc/${name}/
+    mv *.ttf $out/share/fonts/truetype/
+    mkdir -p $out/share/doc/${pname}-${version}
+    mv {*.html,*.txt,*.md} $out/share/doc/${pname}-${version}/
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/data/fonts/ankacoder/condensed.nix b/pkgs/data/fonts/ankacoder/condensed.nix
index 655c780129d..676c3cf8560 100644
--- a/pkgs/data/fonts/ankacoder/condensed.nix
+++ b/pkgs/data/fonts/ankacoder/condensed.nix
@@ -1,17 +1,23 @@
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let version = "1.100"; in
-fetchzip {
-  name = "ankacoder-condensed-${version}";
-  url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/anka-coder-fonts/AnkaCoderCondensed.${version}.zip";
+stdenvNoCC.mkDerivation rec {
+  pname = "ankacoder-condensed";
+  version = "1.100";
+
+  src = fetchzip {
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/anka-coder-fonts/AnkaCoderCondensed.${version}.zip";
+    stripRoot = false;
+    hash = "sha256-NHrkV4Sb7i+DC4e4lToEYzah3pI+sKyYf2rGbhWj7iY=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  postFetch = ''
-    unzip $downloadedFile
     mkdir -p $out/share/fonts/truetype
     cp *.ttf $out/share/fonts/truetype
-  '';
 
-  sha256 = "0i80zpr2y9368rg2i6x8jv0g7d03kdyr5h7w9yz7pjd7i9xd8439";
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "Anka/Coder Condensed font";
diff --git a/pkgs/data/fonts/anonymous-pro/default.nix b/pkgs/data/fonts/anonymous-pro/default.nix
index cb6ec6d8944..f498e2780b3 100644
--- a/pkgs/data/fonts/anonymous-pro/default.nix
+++ b/pkgs/data/fonts/anonymous-pro/default.nix
@@ -1,17 +1,22 @@
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "anonymouspro";
   version = "1.002";
-in fetchzip rec {
-  name = "anonymousPro-${version}";
 
-  url = "http://www.marksimonson.com/assets/content/fonts/AnonymousPro-${version}.zip";
-  postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip -j $downloadedFile \*.ttf                           -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \*.txt                           -d "$out/share/doc/${name}"
+  src = fetchzip {
+    url = "https://www.marksimonson.com/assets/content/fonts/AnonymousPro-${lib.replaceStrings ["."] ["_"] version}.zip";
+    hash = "sha256-FhyzV4By8XKN9EyukAknzml/7lUuV6Evnt6Ht3H6TUU=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm644 *.ttf -t $out/share/fonts/truetype
+    install -Dm644 *.txt -t $out/share/doc/${pname}-${version}
+
+    runHook postInstall
   '';
-  sha256 = "05rgzag38qc77b31sm5i2vwwrxbrvwzfsqh3slv11skx36pz337f";
 
   meta = with lib; {
     homepage = "https://www.marksimonson.com/fonts/view/anonymous-pro";
diff --git a/pkgs/data/fonts/baekmuk-ttf/default.nix b/pkgs/data/fonts/baekmuk-ttf/default.nix
index 6c80c2a02f5..3777f69fa56 100644
--- a/pkgs/data/fonts/baekmuk-ttf/default.nix
+++ b/pkgs/data/fonts/baekmuk-ttf/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-CKt9/7VdWIfMlCzjcPXjO3VqVfu06vC5DyRAcOjVGII=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/bakoma-ttf/default.nix b/pkgs/data/fonts/bakoma-ttf/default.nix
index 38f028cd92e..1d305674e6a 100644
--- a/pkgs/data/fonts/bakoma-ttf/default.nix
+++ b/pkgs/data/fonts/bakoma-ttf/default.nix
@@ -10,8 +10,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-dYaUMneFn1yC5lIMSLQSNmFRW16AdUXGqWBobzAbPsg=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/caladea/default.nix b/pkgs/data/fonts/caladea/default.nix
index d6235d42f7f..bd00e807309 100644
--- a/pkgs/data/fonts/caladea/default.nix
+++ b/pkgs/data/fonts/caladea/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-xI0cL9YTycBslZw02nuDiAWeJAjSuxmEXcPtNfduTQk=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/camingo-code/default.nix b/pkgs/data/fonts/camingo-code/default.nix
index 626ff9f1c0a..c852303021d 100644
--- a/pkgs/data/fonts/camingo-code/default.nix
+++ b/pkgs/data/fonts/camingo-code/default.nix
@@ -1,19 +1,22 @@
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "camingo-code";
   version = "1.0";
-in fetchzip rec {
-  name = "camingo-code-${version}";
 
-  url = "https://github.com/chrissimpkins/codeface/releases/download/font-collection/codeface-fonts.zip";
-  postFetch = ''
-    install -Dm644 $out/camingo-code/*.ttf -t $out/share/fonts/truetype
-    install -Dm644 $out/camingo-code/*.txt -t $out/share/doc/${name}
-    shopt -s extglob dotglob
-    rm -rf $out/!(share)
-    shopt -u extglob dotglob
+  src = fetchzip {
+    url = "https://github.com/chrissimpkins/codeface/releases/download/font-collection/codeface-fonts.zip";
+    hash = "sha256-oo5pWDq6h0bmyGvfF9Bkh7WyjKX4dG8uclfIsWLhDw8=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm644 camingo-code/*.ttf -t $out/share/fonts/truetype
+    install -Dm644 camingo-code/*.txt -t $out/share/doc/${pname}-${version}
+
+    runHook postInstall
   '';
-  sha256 = "sha256-/vDNuR034stmiCZ9jUH5DlTQJn0WccLY5treoziXOJo=";
 
   meta = with lib; {
     homepage = "https://www.myfonts.com/fonts/jan-fromm/camingo-code/";
diff --git a/pkgs/data/fonts/cardo/default.nix b/pkgs/data/fonts/cardo/default.nix
index 21763365de3..c862ea7ce88 100644
--- a/pkgs/data/fonts/cardo/default.nix
+++ b/pkgs/data/fonts/cardo/default.nix
@@ -1,20 +1,22 @@
-{ fetchzip, lib }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation {
+  pname = "cardo";
   version = "1.04";
-in
-fetchzip {
-  name = "cardo-${version}";
 
-  url = "http://scholarsfonts.net/cardo104.zip";
+  src = fetchzip {
+    url = "https://scholarsfonts.net/cardo104.zip";
+    stripRoot = false;
+    hash = "sha256-NU6/H5f0JBlVo3L3uUcl7IvNxPMXD8UQY9k5o2YA5Vo=";
+  };
 
-  hash = "sha256-eBK6+VQpreWA7jIneNXOcKFcT+cJzhoQ9XXyq93SZ8M=";
-  stripRoot = false;
+  installPhase = ''
+    runHook preInstall
 
-  postFetch = ''
     mkdir -p $out/share/fonts/truetype
-    mv $out/*.ttf $out/share/fonts/truetype
-    rm $out/*.pdf
+    mv *.ttf $out/share/fonts/truetype
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/data/fonts/cm-unicode/default.nix b/pkgs/data/fonts/cm-unicode/default.nix
index 7b6a9a1f087..fc59baa5f9d 100644
--- a/pkgs/data/fonts/cm-unicode/default.nix
+++ b/pkgs/data/fonts/cm-unicode/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-VIp+vk1IYbEHW15wMrfGVOPqg1zBZDpgFx+jlypOHCg=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/cooper-hewitt/default.nix b/pkgs/data/fonts/cooper-hewitt/default.nix
index 48c7bc87342..5a3bb59c251 100644
--- a/pkgs/data/fonts/cooper-hewitt/default.nix
+++ b/pkgs/data/fonts/cooper-hewitt/default.nix
@@ -1,18 +1,22 @@
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-fetchzip rec {
+stdenvNoCC.mkDerivation rec {
   pname = "cooper-hewitt";
   version = "unstable-2014-06-09";
 
-  url = "https://web.archive.org/web/20221004145117/https://www.cooperhewitt.org/wp-content/uploads/fonts/CooperHewitt-OTF-public.zip";
+  src = fetchzip {
+    url = "https://web.archive.org/web/20221004145117/https://www.cooperhewitt.org/wp-content/uploads/fonts/CooperHewitt-OTF-public.zip";
+    hash = "sha256-bTlEXQeYNNspvnNdvQhJn6CNBrcSKYWuNWF/N6+3Vb0=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  postFetch = ''
     mkdir -p $out/share/fonts/opentype
-    mv $out/*.otf $out/share/fonts/opentype
-    find $out -maxdepth 1 ! -type d -exec rm {} +
-  '';
+    mv *.otf $out/share/fonts/opentype
 
-  sha256 = "01iwqmjvqkc6fmc2r0486vk06s6f51n9wxzl1pf9z48n0igj4gqd";
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://www.cooperhewitt.org/open-source-at-cooper-hewitt/cooper-hewitt-the-typeface-by-chester-jenkins/";
diff --git a/pkgs/data/fonts/crimson-pro/default.nix b/pkgs/data/fonts/crimson-pro/default.nix
index d07f5c94937..29066b5ec3c 100644
--- a/pkgs/data/fonts/crimson-pro/default.nix
+++ b/pkgs/data/fonts/crimson-pro/default.nix
@@ -13,8 +13,6 @@ stdenv.mkDerivation {
     hash = "sha256-3zFB1AMcC7eNEVA2Mx1OE8rLN9zPzexZ3FtER9wH5ss=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/crimson/default.nix b/pkgs/data/fonts/crimson/default.nix
index 2607f660284..1868c897bd5 100644
--- a/pkgs/data/fonts/crimson/default.nix
+++ b/pkgs/data/fonts/crimson/default.nix
@@ -11,8 +11,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-Wp9L77q93TRmrAr0P4iH9gm0tqFY0X/xSsuFcd19aAE=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/culmus/default.nix b/pkgs/data/fonts/culmus/default.nix
index 8f8cd297484..28a7f4385a0 100644
--- a/pkgs/data/fonts/culmus/default.nix
+++ b/pkgs/data/fonts/culmus/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-wMaHN0LQdUT2us8q1S65yzkpdNVkJ5ONwd+8g5nGTQU=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/dm-sans/default.nix b/pkgs/data/fonts/dm-sans/default.nix
index f7b556fe538..c2d8f33eff6 100644
--- a/pkgs/data/fonts/dm-sans/default.nix
+++ b/pkgs/data/fonts/dm-sans/default.nix
@@ -1,15 +1,22 @@
-{ lib, fetchzip }:
-let version = "1.002"; in
-fetchzip {
-  inherit version;
+{ lib, stdenvNoCC, fetchzip }:
+
+stdenvNoCC.mkDerivation rec {
   pname = "dm-sans";
-  url = "https://github.com/googlefonts/dm-fonts/releases/download/v${version}/DeepMindSans_v${version}.zip";
-  stripRoot = false;
-  hash = "sha256-zyS0gz7CGn39HCiyeN5cAP63v9nG6jffGSsI1vr84EQ=";
+  version = "1.002";
+
+  src = fetchzip {
+    url = "https://github.com/googlefonts/dm-fonts/releases/download/v${version}/DeepMindSans_v${version}.zip";
+    stripRoot = false;
+    hash = "sha256-RSHHxiCac18qqF+hW5M3BbBcra4AQpNLLlUmhiWj9f8=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  postFetch = ''
     mkdir -p $out/share/fonts/truetype
-    mv $out/*.ttf $out/share/fonts/truetype
+    mv *.ttf $out/share/fonts/truetype
+
+    runHook postInstall
   '';
 
   meta = {
diff --git a/pkgs/data/fonts/fantasque-sans-mono/default.nix b/pkgs/data/fonts/fantasque-sans-mono/default.nix
index e8068d7faea..d4d60d95bc9 100644
--- a/pkgs/data/fonts/fantasque-sans-mono/default.nix
+++ b/pkgs/data/fonts/fantasque-sans-mono/default.nix
@@ -1,21 +1,23 @@
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "fantasque-sans-mono";
   version = "1.8.0";
-in
 
-fetchzip rec {
-  name = "fantasque-sans-mono-${version}";
+  src = fetchzip {
+    url = "https://github.com/belluzj/fantasque-sans/releases/download/v${version}/FantasqueSansMono-Normal.zip";
+    stripRoot = false;
+    hash = "sha256-MNXZoDPi24xXHXGVADH16a3vZmFhwX0Htz02+46hWFc=";
+  };
 
-  url = "https://github.com/belluzj/fantasque-sans/releases/download/v${version}/FantasqueSansMono-Normal.zip";
+  installPhase = ''
+    runHook preInstall
 
-  postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip -j $downloadedFile \*.otf    -d $out/share/fonts/opentype
-    unzip -j $downloadedFile README.md -d $out/share/doc/${name}
-  '';
+    install -Dm644 OTF/*.otf -t $out/share/fonts/opentype
+    install -Dm644 README.md -t $out/share/doc/${pname}-${version}
 
-  sha256 = "07y2w6xzkbaj6vr95fvvnmwq1pw9jib4z02xf8937dx812yic9ni";
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/belluzj/fantasque-sans";
diff --git a/pkgs/data/fonts/fira-go/default.nix b/pkgs/data/fonts/fira-go/default.nix
index 2d5952523a6..a850d7d2e97 100644
--- a/pkgs/data/fonts/fira-go/default.nix
+++ b/pkgs/data/fonts/fira-go/default.nix
@@ -1,25 +1,23 @@
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation {
   pname = "fira-go";
   version = "1.001";
-  user = "bBoxType";
-  repo = "FiraGo";
-  rev = "9882ba0851f88ab904dc237f250db1d45641f45d";
-in
-fetchzip {
-  name = "${pname}-${version}";
 
-  url = "https://github.com/${user}/${repo}/archive/${rev}.zip";
+  src = fetchzip {
+    url = "https://github.com/bBoxType/FiraGo/archive/9882ba0851f88ab904dc237f250db1d45641f45d.zip";
+    hash = "sha256-WwgPg7OLrXBjR6oHG5061RO3HeNkj2Izs6ktwIxVw9o=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  postFetch = ''
     mkdir -p $out/share/fonts/opentype
-    mv $out/Fonts/FiraGO_OTF_1001/{Roman,Italic}/*.otf \
+    mv Fonts/FiraGO_OTF_1001/{Roman,Italic}/*.otf \
       $out/share/fonts/opentype
-    rm -r $out/{Fonts,'Technical Report PDF',OFL.txt,README.md,*.pdf}
-  '';
 
-  sha256 = "sha256-MDGRba1eao/yVzSuncJ/nvCG8cpdrI4roVPI1G9qCbU=";
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://bboxtype.com/typefaces/FiraGO";
diff --git a/pkgs/data/fonts/garamond-libre/default.nix b/pkgs/data/fonts/garamond-libre/default.nix
index 202ae2ce41f..bd16afaf189 100644
--- a/pkgs/data/fonts/garamond-libre/default.nix
+++ b/pkgs/data/fonts/garamond-libre/default.nix
@@ -1,20 +1,22 @@
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-fetchzip rec {
+stdenvNoCC.mkDerivation rec {
   pname = "garamond-libre";
   version = "1.4";
 
-  url = "https://github.com/dbenjaminmiller/garamond-libre/releases/download/${version}/garamond-libre_${version}.zip";
-  stripRoot = false;
+  src = fetchzip {
+    url = "https://github.com/dbenjaminmiller/garamond-libre/releases/download/${version}/garamond-libre_${version}.zip";
+    stripRoot = false;
+    hash = "sha256-cD/JMICtb6MPIUcWs2VOTHnb/05ma0/KKtPyR4oJlIc=";
+  };
 
-  postFetch = ''
-    install -Dm644 $out/*.otf -t $out/share/fonts/opentype
-    shopt -s extglob dotglob
-    rm -rf $out/!(share)
-    shopt -u extglob dotglob
-  '';
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "6WiuUe3CHXXL/0G7wURvSIgWPQ4isl50e3OBQ+ui0U4=";
+    install -Dm644 *.otf -t $out/share/fonts/opentype
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/dbenjaminmiller/garamond-libre";
diff --git a/pkgs/data/fonts/go-font/default.nix b/pkgs/data/fonts/go-font/default.nix
index 63b4acc9c31..63d62ec2e82 100644
--- a/pkgs/data/fonts/go-font/default.nix
+++ b/pkgs/data/fonts/go-font/default.nix
@@ -10,8 +10,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-rdzt51wY4b7HEr7W/0Ar/FB0zMyf+nKLsOT+CRSEP3o=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/gyre/default.nix b/pkgs/data/fonts/gyre/default.nix
index aa6e3fde257..254766d1de2 100644
--- a/pkgs/data/fonts/gyre/default.nix
+++ b/pkgs/data/fonts/gyre/default.nix
@@ -10,8 +10,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-+6IufuFf+IoLXoZEPlfHUNgRhKrQNBEZ1OwPD9/uOjg=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/hackgen/default.nix b/pkgs/data/fonts/hackgen/default.nix
index b60ccb87fbb..24c3b7af374 100644
--- a/pkgs/data/fonts/hackgen/default.nix
+++ b/pkgs/data/fonts/hackgen/default.nix
@@ -1,18 +1,20 @@
-{ lib
-, fetchzip
-}:
+{ lib, stdenvNoCC, fetchzip }:
 
-fetchzip rec {
+stdenvNoCC.mkDerivation rec {
   pname = "hackgen-font";
   version = "2.8.0";
 
-  url = "https://github.com/yuru7/HackGen/releases/download/v${version}/HackGen_v${version}.zip";
-  sha256 = "sha256-TLqns6ulovHRKoLHxxwKpj6SqfCq5UDVBf7gUASCGK4=";
-  postFetch = ''
-    install -Dm644 $out/*.ttf -t $out/share/fonts/hackgen
-    shopt -s extglob dotglob
-    rm -rf $out/!(share)
-    shopt -u extglob dotglob
+  src = fetchzip {
+    url = "https://github.com/yuru7/HackGen/releases/download/v${version}/HackGen_v${version}.zip";
+    hash = "sha256-vKbiM3QUryey0m6oilO0lT6+efkCTLCwdtPF7PinkmU=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm644 *.ttf -t $out/share/fonts/hackgen
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/data/fonts/hackgen/nerdfont.nix b/pkgs/data/fonts/hackgen/nerdfont.nix
index f563a2eb479..54bec95c59c 100644
--- a/pkgs/data/fonts/hackgen/nerdfont.nix
+++ b/pkgs/data/fonts/hackgen/nerdfont.nix
@@ -1,18 +1,20 @@
-{ lib
-, fetchzip
-}:
+{ lib, stdenvNoCC, fetchzip }:
 
-fetchzip rec {
+stdenvNoCC.mkDerivation rec {
   pname = "hackgen-nf-font";
   version = "2.8.0";
 
-  url = "https://github.com/yuru7/HackGen/releases/download/v${version}/HackGen_NF_v${version}.zip";
-  sha256 = "sha256-xRFedeavEJY9OZg+gePF5ImpLTYdbSba5Wr9k0ivpkE=";
-  postFetch = ''
-    install -Dm644 $out/*.ttf -t $out/share/fonts/hackgen-nf
-    shopt -s extglob dotglob
-    rm -rf $out/!(share)
-    shopt -u extglob dotglob
+  src = fetchzip {
+    url = "https://github.com/yuru7/HackGen/releases/download/v${version}/HackGen_NF_v${version}.zip";
+    hash = "sha256-RLEq5IoA3gk/IzabV8wdJYj8yMpbWQVz+Qunef6oNOs=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm644 *.ttf -t $out/share/fonts/hackgen-nf
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/data/fonts/hannom/default.nix b/pkgs/data/fonts/hannom/default.nix
index 72ba87fb17f..d91de86c532 100644
--- a/pkgs/data/fonts/hannom/default.nix
+++ b/pkgs/data/fonts/hannom/default.nix
@@ -10,8 +10,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-Oh8V72tYvVA6Sk0f9UTIkRQYjdUbEB/fmCSaRYfyoP8=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/helvetica-neue-lt-std/default.nix b/pkgs/data/fonts/helvetica-neue-lt-std/default.nix
index 7e69ff70d62..61dc6ba14e2 100644
--- a/pkgs/data/fonts/helvetica-neue-lt-std/default.nix
+++ b/pkgs/data/fonts/helvetica-neue-lt-std/default.nix
@@ -1,23 +1,22 @@
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation {
+  name = "helvetica-neue-lt-std";
   version = "2014.08.16"; # date of most recent file in distribution
-in fetchzip {
-  name = "helvetica-neue-lt-std-${version}";
 
-  url = "https://web.archive.org/web/20190823153624/http://ephifonts.com/downloads/helvetica-neue-lt-std.zip";
+  src = fetchzip {
+    url = "https://web.archive.org/web/20190823153624/http://ephifonts.com/downloads/helvetica-neue-lt-std.zip";
+    stripRoot = false;
+    hash = "sha256-ytoTTrnwN1lMw/gTxS4DRAq+tV5WzB2xHP4vVxLZ1ZI=";
+  };
 
-  stripRoot = false;
+  installPhase = ''
+    runHook preInstall
 
-  postFetch = ''
-    mkdir -p $out/share/fonts
-    install -Dm644 $out/'Helvetica Neue LT Std'/*.otf -t $out/share/fonts/opentype
-    shopt -s extglob dotglob
-    rm -rf $out/!(share)
-    shopt -u extglob dotglob
-  '';
+    install -Dm644 'Helvetica Neue LT Std'/*.otf -t $out/share/fonts/opentype
 
-  sha256 = "sha256-gM/QXrKI2xrrCBYt4R+Fk5Tj0AIkrnCP/pwgh0A/MyI=";
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://web.archive.org/web/20190926040940/http://www.ephifonts.com/free-helvetica-font-helvetica-neue-lt-std.html";
diff --git a/pkgs/data/fonts/hermit/default.nix b/pkgs/data/fonts/hermit/default.nix
index 4e12a29ee8a..3ff770522d9 100644
--- a/pkgs/data/fonts/hermit/default.nix
+++ b/pkgs/data/fonts/hermit/default.nix
@@ -10,8 +10,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-RYXZ2yJ8BIxsgeEwhXz7g0NnWG3kMPZoJaOLMUQyWWQ=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/julia-mono/default.nix b/pkgs/data/fonts/julia-mono/default.nix
index 1bdddde0719..47b1afd36fd 100644
--- a/pkgs/data/fonts/julia-mono/default.nix
+++ b/pkgs/data/fonts/julia-mono/default.nix
@@ -10,8 +10,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-mq37L3bhUhdjB8z3I9i8+wyLrMSsu/nZrZXOuqE3JlU=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/kacst/default.nix b/pkgs/data/fonts/kacst/default.nix
index 9d72ca9cdb4..aa5ed8b547d 100644
--- a/pkgs/data/fonts/kacst/default.nix
+++ b/pkgs/data/fonts/kacst/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-byiZzpYiMU6kJs+NSISfHPFzAnJtc8toNIbV/fKiMzg=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/khmeros/default.nix b/pkgs/data/fonts/khmeros/default.nix
index ba27b465bff..5df7c3637be 100644
--- a/pkgs/data/fonts/khmeros/default.nix
+++ b/pkgs/data/fonts/khmeros/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-gBcM9YHSuhbxvwfQTvywH/5kN921GOyvGtkROcmcBiw=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/lao/default.nix b/pkgs/data/fonts/lao/default.nix
index 58b08c654a7..d7d5d3ddd4b 100644
--- a/pkgs/data/fonts/lao/default.nix
+++ b/pkgs/data/fonts/lao/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-DlgdyfhxxzVkNIL+NGsQ+PRlNkCuG3v2OahkIEYx60o=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/lklug-sinhala/default.nix b/pkgs/data/fonts/lklug-sinhala/default.nix
index 6610d6a213e..817dbbb2531 100644
--- a/pkgs/data/fonts/lklug-sinhala/default.nix
+++ b/pkgs/data/fonts/lklug-sinhala/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-oPCCa01PMQcCK5fEILgXjrGzoDg+UvxkqK6AgeQaKio=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/lmodern/default.nix b/pkgs/data/fonts/lmodern/default.nix
index 2df5f65e6c4..85aa7060ea0 100644
--- a/pkgs/data/fonts/lmodern/default.nix
+++ b/pkgs/data/fonts/lmodern/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-xlUuZt6rjW0pX4t6PKWAHkkv3PisGCj7ZwatZPAUNxk=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/luculent/default.nix b/pkgs/data/fonts/luculent/default.nix
index 8dd60f23d0c..1347af957e4 100644
--- a/pkgs/data/fonts/luculent/default.nix
+++ b/pkgs/data/fonts/luculent/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-6NxLnTBnvHmTUTFa2wW0AuKPEbCqzaWQyiFVnF0sBqU=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/lxgw-wenkai/default.nix b/pkgs/data/fonts/lxgw-wenkai/default.nix
index f38991233ae..c16a5f77492 100644
--- a/pkgs/data/fonts/lxgw-wenkai/default.nix
+++ b/pkgs/data/fonts/lxgw-wenkai/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-Nkd0xXYCnR0NZAk/JCxy+zOlxIxD52Px4F9o2L9mgRE=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/marathi-cursive/default.nix b/pkgs/data/fonts/marathi-cursive/default.nix
index 3dfb46fff69..b8dd5492a56 100644
--- a/pkgs/data/fonts/marathi-cursive/default.nix
+++ b/pkgs/data/fonts/marathi-cursive/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-JE9T3UMSYn/JfEWuWHikDJIlt4nZl6GzY98v3vG6di4=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/material-design-icons/default.nix b/pkgs/data/fonts/material-design-icons/default.nix
index fdd85f66e40..49d52ebb779 100644
--- a/pkgs/data/fonts/material-design-icons/default.nix
+++ b/pkgs/data/fonts/material-design-icons/default.nix
@@ -4,8 +4,6 @@ stdenvNoCC.mkDerivation rec {
   pname = "material-design-icons";
   version = "7.1.96";
 
-  dontBuild = true;
-
   src = fetchFromGitHub {
     owner = "Templarian";
     repo = "MaterialDesign-Webfont";
diff --git a/pkgs/data/fonts/nanum/default.nix b/pkgs/data/fonts/nanum/default.nix
index d768c6d96d6..8f432edf419 100644
--- a/pkgs/data/fonts/nanum/default.nix
+++ b/pkgs/data/fonts/nanum/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-GlVXH9YUU3wHMkNoz5miBv7N2oUEbwUXlcVoElQ9++4=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/oldsindhi/default.nix b/pkgs/data/fonts/oldsindhi/default.nix
index 9c805378400..88692d91456 100644
--- a/pkgs/data/fonts/oldsindhi/default.nix
+++ b/pkgs/data/fonts/oldsindhi/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-jOcl+mo6CJ9Lnn3nAUiXXHCJssovVgLoPrbGxj4uzQs=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/takao/default.nix b/pkgs/data/fonts/takao/default.nix
index 349edea60ff..353287d4d77 100644
--- a/pkgs/data/fonts/takao/default.nix
+++ b/pkgs/data/fonts/takao/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-0wjHNv1yStp0q9D0WfwjgUYoUKcCrXA5jFO8PEVgq5k=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/tibetan-machine/default.nix b/pkgs/data/fonts/tibetan-machine/default.nix
index 9fa22c5fa81..4731bfcd365 100644
--- a/pkgs/data/fonts/tibetan-machine/default.nix
+++ b/pkgs/data/fonts/tibetan-machine/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-c/1Sgv7xKHpsJGjY9ZY2qOJHShGHL1robvphFNJOt5w=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/ttf-bitstream-vera/default.nix b/pkgs/data/fonts/ttf-bitstream-vera/default.nix
index 10098d6cf04..e71888969f6 100644
--- a/pkgs/data/fonts/ttf-bitstream-vera/default.nix
+++ b/pkgs/data/fonts/ttf-bitstream-vera/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-21sn33u7MYA269t1rNPpjxvW62YI+3CmfUeM0kPReNw=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/u001/default.nix b/pkgs/data/fonts/u001/default.nix
index fc2f3a48636..c50e972a4d6 100644
--- a/pkgs/data/fonts/u001/default.nix
+++ b/pkgs/data/fonts/u001/default.nix
@@ -10,8 +10,6 @@ stdenvNoCC.mkDerivation rec {
     stripRoot = false;
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/unfonts-core/default.nix b/pkgs/data/fonts/unfonts-core/default.nix
index 7325730e4f2..5756a948f69 100644
--- a/pkgs/data/fonts/unfonts-core/default.nix
+++ b/pkgs/data/fonts/unfonts-core/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-OwpydPmqt+jw8ZOMAacOFYF2bVG0lLoUVoPzesVXkY4=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/vdrsymbols/default.nix b/pkgs/data/fonts/vdrsymbols/default.nix
index de4ef5f36f2..5df82b31cfe 100644
--- a/pkgs/data/fonts/vdrsymbols/default.nix
+++ b/pkgs/data/fonts/vdrsymbols/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-YxB+JcDkta5are+OQyP/WKDL0vllgn0m26bU9mQ3C/Q=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/wqy-microhei/default.nix b/pkgs/data/fonts/wqy-microhei/default.nix
index 80645bf496e..7c410e7d00e 100644
--- a/pkgs/data/fonts/wqy-microhei/default.nix
+++ b/pkgs/data/fonts/wqy-microhei/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-KAKsgCOqNqZupudEWFTjoHjTd///QhaTQb0jeHH3IT4=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/data/fonts/wqy-zenhei/default.nix b/pkgs/data/fonts/wqy-zenhei/default.nix
index 9b0757128cd..a5106b5e6b1 100644
--- a/pkgs/data/fonts/wqy-zenhei/default.nix
+++ b/pkgs/data/fonts/wqy-zenhei/default.nix
@@ -9,8 +9,6 @@ stdenvNoCC.mkDerivation rec {
     hash = "sha256-5LfjBkdb+UJ9F1dXjw5FKJMMhMROqj8WfUxC8RDuddY=";
   };
 
-  dontBuild = true;
-
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index 27e41079243..0012e2501c4 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -9,6 +9,7 @@
 , libgtop
 , libXdamage
 , libXpresent
+, libXres
 , libstartup_notification
 , gnome
 , glib
@@ -20,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "marco";
-  version = "1.26.0";
+  version = "1.26.1";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "01avxrg2fc6grfrp6hl8b0im4scy9xf6011swfrhli87ig6hhg7n";
+    sha256 = "tPpVUL+J1Pnv9a5ufWFQ42YaItUw1q3cZ1e86N0qXT0=";
   };
 
   nativeBuildInputs = [
@@ -40,6 +41,7 @@ stdenv.mkDerivation rec {
     libgtop
     libXdamage
     libXpresent
+    libXres
     libstartup_notification
     gtk3
     gnome.zenity
diff --git a/pkgs/development/compilers/llvm/10/default.nix b/pkgs/development/compilers/llvm/10/default.nix
index 259733ec74f..f4120cb91ca 100644
--- a/pkgs/development/compilers/llvm/10/default.nix
+++ b/pkgs/development/compilers/llvm/10/default.nix
@@ -110,7 +110,7 @@ let
       cc = tools.clang-unwrapped;
       libcxx = targetLlvmLibraries.libcxx;
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ];
       extraBuildCommands = mkExtraBuildCommands cc;
@@ -147,7 +147,7 @@ let
       libcxx = targetLlvmLibraries.libcxx;
       bintools = bintools';
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
         targetLlvmLibraries.libunwind
@@ -157,7 +157,7 @@ let
         echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
       '' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
         echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
+      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
         echo "-lunwind" >> $out/nix-support/cc-ldflags
       '' + lib.optionalString stdenv.targetPlatform.isWasm ''
         echo "-fno-exceptions" >> $out/nix-support/cc-cflags
diff --git a/pkgs/development/compilers/llvm/10/libcxx/default.nix b/pkgs/development/compilers/llvm/10/libcxx/default.nix
index 0c0f535f743..cc029ea657c 100644
--- a/pkgs/development/compilers/llvm/10/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/10/libcxx/default.nix
@@ -1,7 +1,11 @@
-{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version
+{ lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version
+, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
+, libcxxabi, libcxxrt
 , enableShared ? !stdenv.hostPlatform.isStatic
 }:
 
+assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
+
 stdenv.mkDerivation {
   pname = "libcxx";
   inherit version;
@@ -37,13 +41,13 @@ stdenv.mkDerivation {
     ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python3
     ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
 
-  buildInputs = [ libcxxabi ];
+  buildInputs = [ cxxabi ];
 
   cmakeFlags = [
-    "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
     "-DLIBCXX_LIBCPPABI_VERSION=2"
-    "-DLIBCXX_CXX_ABI=libcxxabi"
+    "-DLIBCXX_CXX_ABI=${cxxabi.pname}"
   ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
+    ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib"
     ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
     ++ lib.optionals stdenv.hostPlatform.isWasm [
       "-DLIBCXX_ENABLE_THREADS=OFF"
@@ -60,13 +64,14 @@ stdenv.mkDerivation {
       abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
 
       for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${libcxxabi}/lib/$abiName $file
+        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
       done
     done
   '';
 
   passthru = {
     isLLVM = true;
+    inherit cxxabi;
   };
 
   meta = llvm_meta // {
diff --git a/pkgs/development/compilers/llvm/10/libcxxabi/default.nix b/pkgs/development/compilers/llvm/10/libcxxabi/default.nix
index d62422fc9a1..d59191dfd72 100644
--- a/pkgs/development/compilers/llvm/10/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/10/libcxxabi/default.nix
@@ -67,6 +67,10 @@ stdenv.mkDerivation {
     install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
   '';
 
+  passthru = {
+    libName = "c++abi";
+  };
+
   meta = llvm_meta // {
     homepage = "https://libcxxabi.llvm.org/";
     description = "Provides C++ standard library support";
diff --git a/pkgs/development/compilers/llvm/11/default.nix b/pkgs/development/compilers/llvm/11/default.nix
index 4138a36c391..c950beef0e8 100644
--- a/pkgs/development/compilers/llvm/11/default.nix
+++ b/pkgs/development/compilers/llvm/11/default.nix
@@ -125,7 +125,7 @@ let
       cc = tools.clang-unwrapped;
       libcxx = targetLlvmLibraries.libcxx;
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ];
       extraBuildCommands = mkExtraBuildCommands cc;
@@ -162,7 +162,7 @@ let
       libcxx = targetLlvmLibraries.libcxx;
       bintools = bintools';
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
         targetLlvmLibraries.libunwind
@@ -172,7 +172,7 @@ let
         echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
       '' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
         echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
+      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
         echo "-lunwind" >> $out/nix-support/cc-ldflags
       '' + lib.optionalString stdenv.targetPlatform.isWasm ''
         echo "-fno-exceptions" >> $out/nix-support/cc-cflags
diff --git a/pkgs/development/compilers/llvm/11/libcxx/default.nix b/pkgs/development/compilers/llvm/11/libcxx/default.nix
index 237bbd4e061..3e77e03b124 100644
--- a/pkgs/development/compilers/llvm/11/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/11/libcxx/default.nix
@@ -1,7 +1,11 @@
-{ lib, stdenv, llvm_meta, fetch, fetchpatch, cmake, python3, libcxxabi, llvm, fixDarwinDylibNames, version
+{ lib, stdenv, llvm_meta, fetch, fetchpatch, cmake, python3, llvm, fixDarwinDylibNames, version
+, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
+, libcxxabi, libcxxrt
 , enableShared ? !stdenv.hostPlatform.isStatic
 }:
 
+assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
+
 stdenv.mkDerivation {
   pname = "libcxx";
   inherit version;
@@ -42,10 +46,10 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake python3 ]
     ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  buildInputs = [ libcxxabi ];
+  buildInputs = [ cxxabi ];
 
   cmakeFlags = [
-    "-DLIBCXX_CXX_ABI=libcxxabi"
+    "-DLIBCXX_CXX_ABI=${cxxabi.pname}"
   ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
     ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
     ++ lib.optionals stdenv.hostPlatform.isWasm [
@@ -76,13 +80,14 @@ stdenv.mkDerivation {
       abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
 
       for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${libcxxabi}/lib/$abiName $file
+        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
       done
     done
   '';
 
   passthru = {
     isLLVM = true;
+    inherit cxxabi;
   };
 
   meta = llvm_meta // {
diff --git a/pkgs/development/compilers/llvm/11/libcxxabi/default.nix b/pkgs/development/compilers/llvm/11/libcxxabi/default.nix
index ed0efe28a17..77f7e141188 100644
--- a/pkgs/development/compilers/llvm/11/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/11/libcxxabi/default.nix
@@ -71,6 +71,10 @@ stdenv.mkDerivation {
     install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
   '';
 
+  passthru = {
+    libName = "c++abi";
+  };
+
   meta = llvm_meta // {
     homepage = "https://libcxxabi.llvm.org/";
     description = "Provides C++ standard library support";
diff --git a/pkgs/development/compilers/llvm/12/default.nix b/pkgs/development/compilers/llvm/12/default.nix
index 013d320c80c..da3beccbe32 100644
--- a/pkgs/development/compilers/llvm/12/default.nix
+++ b/pkgs/development/compilers/llvm/12/default.nix
@@ -113,7 +113,7 @@ let
       cc = tools.clang-unwrapped;
       libcxx = targetLlvmLibraries.libcxx;
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ];
       extraBuildCommands = mkExtraBuildCommands cc;
@@ -154,7 +154,7 @@ let
       libcxx = targetLlvmLibraries.libcxx;
       bintools = bintools';
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
         targetLlvmLibraries.libunwind
@@ -164,7 +164,7 @@ let
         echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
       '' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
         echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
+      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
         echo "-lunwind" >> $out/nix-support/cc-ldflags
       '' + lib.optionalString stdenv.targetPlatform.isWasm ''
         echo "-fno-exceptions" >> $out/nix-support/cc-cflags
diff --git a/pkgs/development/compilers/llvm/12/libcxx/default.nix b/pkgs/development/compilers/llvm/12/libcxx/default.nix
index ef90eedb38c..40bff3c1168 100644
--- a/pkgs/development/compilers/llvm/12/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/12/libcxx/default.nix
@@ -1,7 +1,11 @@
-{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, llvm, fixDarwinDylibNames, version
+{ lib, stdenv, llvm_meta, fetch, cmake, python3, llvm, fixDarwinDylibNames, version
+, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
+, libcxxabi, libcxxrt
 , enableShared ? !stdenv.hostPlatform.isStatic
 }:
 
+assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
+
 stdenv.mkDerivation {
   pname = "libcxx";
   inherit version;
@@ -30,10 +34,10 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake python3 ]
     ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  buildInputs = [ libcxxabi ];
+  buildInputs = [ cxxabi ];
 
   cmakeFlags = [
-    "-DLIBCXX_CXX_ABI=libcxxabi"
+    "-DLIBCXX_CXX_ABI=${cxxabi.pname}"
   ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
     ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
     ++ lib.optionals stdenv.hostPlatform.isWasm [
@@ -51,13 +55,14 @@ stdenv.mkDerivation {
       abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
 
       for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${libcxxabi}/lib/$abiName $file
+        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
       done
     done
   '';
 
   passthru = {
     isLLVM = true;
+    inherit cxxabi;
   };
 
   meta = llvm_meta // {
diff --git a/pkgs/development/compilers/llvm/12/libcxxabi/default.nix b/pkgs/development/compilers/llvm/12/libcxxabi/default.nix
index 41c559a52ee..bab39a5272c 100644
--- a/pkgs/development/compilers/llvm/12/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/12/libcxxabi/default.nix
@@ -69,6 +69,10 @@ stdenv.mkDerivation {
     install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
   '';
 
+  passthru = {
+    libName = "c++abi";
+  };
+
   meta = llvm_meta // {
     homepage = "https://libcxxabi.llvm.org/";
     description = "Provides C++ standard library support";
diff --git a/pkgs/development/compilers/llvm/13/default.nix b/pkgs/development/compilers/llvm/13/default.nix
index 40fc5eaa671..3fc459eb7f0 100644
--- a/pkgs/development/compilers/llvm/13/default.nix
+++ b/pkgs/development/compilers/llvm/13/default.nix
@@ -114,7 +114,7 @@ let
       cc = tools.clang-unwrapped;
       libcxx = targetLlvmLibraries.libcxx;
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ];
       extraBuildCommands = mkExtraBuildCommands cc;
@@ -154,7 +154,7 @@ let
       libcxx = targetLlvmLibraries.libcxx;
       bintools = bintools';
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
         targetLlvmLibraries.libunwind
@@ -164,7 +164,7 @@ let
         echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
       '' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
         echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
+      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
         echo "-lunwind" >> $out/nix-support/cc-ldflags
       '' + lib.optionalString stdenv.targetPlatform.isWasm ''
         echo "-fno-exceptions" >> $out/nix-support/cc-cflags
diff --git a/pkgs/development/compilers/llvm/13/libcxx/default.nix b/pkgs/development/compilers/llvm/13/libcxx/default.nix
index f6b76901de3..b18c9da18ff 100644
--- a/pkgs/development/compilers/llvm/13/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/13/libcxx/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv, llvm_meta, src, cmake, python3, fixDarwinDylibNames, version
-, libcxxabi
+, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
+, libcxxabi, libcxxrt
 , enableShared ? !stdenv.hostPlatform.isStatic
 
 # If headersOnly is true, the resulting package would only include the headers.
@@ -10,6 +11,8 @@
 , headersOnly ? false
 }:
 
+assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
+
 stdenv.mkDerivation rec {
   pname = if headersOnly then "cxx-headers" else "libcxx";
   inherit version;
@@ -32,9 +35,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake python3 ]
     ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  buildInputs = lib.optionals (!headersOnly) [ libcxxabi ];
+  buildInputs = lib.optionals (!headersOnly) [ cxxabi ];
 
-  cmakeFlags = [ "-DLIBCXX_CXX_ABI=libcxxabi" ]
+  cmakeFlags = [ "-DLIBCXX_CXX_ABI=${cxxabi.pname}" ]
     ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
     ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
     ++ lib.optionals stdenv.hostPlatform.isWasm [
@@ -55,7 +58,7 @@ stdenv.mkDerivation rec {
       abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
 
       for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${libcxxabi}/lib/$abiName $file
+        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
       done
     done
   '';
@@ -71,6 +74,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     isLLVM = true;
+    inherit cxxabi;
   };
 
   meta = llvm_meta // {
diff --git a/pkgs/development/compilers/llvm/13/libcxxabi/default.nix b/pkgs/development/compilers/llvm/13/libcxxabi/default.nix
index bced2ccb789..06137ab0673 100644
--- a/pkgs/development/compilers/llvm/13/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/13/libcxxabi/default.nix
@@ -66,6 +66,10 @@ stdenv.mkDerivation rec {
     install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
   '';
 
+  passthru = {
+    libName = "c++abi";
+  };
+
   meta = llvm_meta // {
     homepage = "https://libcxxabi.llvm.org/";
     description = "Provides C++ standard library support";
diff --git a/pkgs/development/compilers/llvm/14/default.nix b/pkgs/development/compilers/llvm/14/default.nix
index 8965388ae69..5d14c2f5f93 100644
--- a/pkgs/development/compilers/llvm/14/default.nix
+++ b/pkgs/development/compilers/llvm/14/default.nix
@@ -114,7 +114,7 @@ let
       cc = tools.clang-unwrapped;
       libcxx = targetLlvmLibraries.libcxx;
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ];
       extraBuildCommands = mkExtraBuildCommands cc;
@@ -154,7 +154,7 @@ let
       libcxx = targetLlvmLibraries.libcxx;
       bintools = bintools';
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
         targetLlvmLibraries.libunwind
@@ -167,7 +167,7 @@ let
         ]
         ++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind"
         ++ lib.optional
-          (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false)
+          (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false)
           "-lunwind"
         ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
     };
diff --git a/pkgs/development/compilers/llvm/14/libcxx/default.nix b/pkgs/development/compilers/llvm/14/libcxx/default.nix
index c623d41f92f..3e42a8b1e43 100644
--- a/pkgs/development/compilers/llvm/14/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/14/libcxx/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, llvm_meta
 , monorepoSrc, runCommand
 , cmake, python3, fixDarwinDylibNames, version
-, libcxxabi
+, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
+, libcxxabi, libcxxrt
 , enableShared ? !stdenv.hostPlatform.isStatic
 
 # If headersOnly is true, the resulting package would only include the headers.
@@ -16,6 +17,8 @@ let
   basename = "libcxx";
 in
 
+assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
+
 stdenv.mkDerivation rec {
   pname = basename + lib.optionalString headersOnly "-headers";
   inherit version;
@@ -48,9 +51,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake python3 ]
     ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  buildInputs = lib.optionals (!headersOnly) [ libcxxabi ];
+  buildInputs = lib.optionals (!headersOnly) [ cxxabi ];
 
-  cmakeFlags = [ "-DLIBCXX_CXX_ABI=libcxxabi" ]
+  cmakeFlags = [ "-DLIBCXX_CXX_ABI=${cxxabi.pname}" ]
     ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
     ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
     ++ lib.optionals stdenv.hostPlatform.isWasm [
@@ -71,13 +74,14 @@ stdenv.mkDerivation rec {
       abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
 
       for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${libcxxabi}/lib/$abiName $file
+        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
       done
     done
   '';
 
   passthru = {
     isLLVM = true;
+    inherit cxxabi;
   };
 
   meta = llvm_meta // {
diff --git a/pkgs/development/compilers/llvm/14/libcxxabi/default.nix b/pkgs/development/compilers/llvm/14/libcxxabi/default.nix
index 3be2f964abc..30cc34a8c0e 100644
--- a/pkgs/development/compilers/llvm/14/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/14/libcxxabi/default.nix
@@ -85,6 +85,10 @@ stdenv.mkDerivation rec {
       ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
     '';
 
+  passthru = {
+    libName = "c++abi";
+  };
+
   meta = llvm_meta // {
     homepage = "https://libcxxabi.llvm.org/";
     description = "Provides C++ standard library support";
diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix
index 0dc4151f236..3cfc89dac75 100644
--- a/pkgs/development/compilers/llvm/5/default.nix
+++ b/pkgs/development/compilers/llvm/5/default.nix
@@ -86,7 +86,7 @@ let
       cc = tools.clang-unwrapped;
       libcxx = targetLlvmLibraries.libcxx;
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ];
       extraBuildCommands = mkExtraBuildCommands cc;
diff --git a/pkgs/development/compilers/llvm/5/libcxx/default.nix b/pkgs/development/compilers/llvm/5/libcxx/default.nix
index a5a86fcab4d..073787e92db 100644
--- a/pkgs/development/compilers/llvm/5/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/5/libcxx/default.nix
@@ -1,4 +1,9 @@
-{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version }:
+{ lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version
+, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
+, libcxxabi, libcxxrt
+}:
+
+assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
 
 stdenv.mkDerivation {
   pname = "libcxx";
@@ -33,13 +38,13 @@ stdenv.mkDerivation {
     ++ lib.optional stdenv.hostPlatform.isMusl python3
     ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
 
-  buildInputs = [ libcxxabi ];
+  buildInputs = [ cxxabi ];
 
   cmakeFlags = [
-    "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
     "-DLIBCXX_LIBCPPABI_VERSION=2"
-    "-DLIBCXX_CXX_ABI=libcxxabi"
-  ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1";
+    "-DLIBCXX_CXX_ABI=${cxxabi.pname}"
+  ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1"
+    ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib";
 
   preInstall = lib.optionalString (stdenv.isDarwin) ''
     for file in lib/*.dylib; do
@@ -50,13 +55,14 @@ stdenv.mkDerivation {
       abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
 
       for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${libcxxabi}/lib/$abiName $file
+        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
       done
     done
   '';
 
   passthru = {
     isLLVM = true;
+    inherit cxxabi;
   };
 
   meta = llvm_meta // {
diff --git a/pkgs/development/compilers/llvm/5/libcxxabi/default.nix b/pkgs/development/compilers/llvm/5/libcxxabi/default.nix
index 97077ac7711..cc2ac1beaf0 100644
--- a/pkgs/development/compilers/llvm/5/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/5/libcxxabi/default.nix
@@ -52,6 +52,10 @@ stdenv.mkDerivation {
     install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
   '';
 
+  passthru = {
+    libName = "c++abi";
+  };
+
   meta = llvm_meta // {
     homepage = "https://libcxxabi.llvm.org/";
     description = "Provides C++ standard library support";
diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix
index 55a9adf8a63..a0c4ba72718 100644
--- a/pkgs/development/compilers/llvm/6/default.nix
+++ b/pkgs/development/compilers/llvm/6/default.nix
@@ -87,7 +87,7 @@ let
       cc = tools.clang-unwrapped;
       libcxx = targetLlvmLibraries.libcxx;
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ];
       extraBuildCommands = mkExtraBuildCommands cc;
diff --git a/pkgs/development/compilers/llvm/6/libcxx/default.nix b/pkgs/development/compilers/llvm/6/libcxx/default.nix
index a6e723753ef..0fc31d43cfa 100644
--- a/pkgs/development/compilers/llvm/6/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/6/libcxx/default.nix
@@ -1,4 +1,9 @@
-{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version }:
+{ lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version
+, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
+, libcxxabi, libcxxrt
+}:
+
+assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
 
 stdenv.mkDerivation {
   pname = "libcxx";
@@ -39,13 +44,13 @@ stdenv.mkDerivation {
     ++ lib.optional stdenv.hostPlatform.isMusl python3
     ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
 
-  buildInputs = [ libcxxabi ];
+  buildInputs = [ cxxabi ];
 
   cmakeFlags = [
-    "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
     "-DLIBCXX_LIBCPPABI_VERSION=2"
-    "-DLIBCXX_CXX_ABI=libcxxabi"
-  ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1";
+    "-DLIBCXX_CXX_ABI=${cxxabi.pname}"
+  ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1"
+    ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib";
 
   preInstall = lib.optionalString (stdenv.isDarwin) ''
     for file in lib/*.dylib; do
@@ -56,13 +61,14 @@ stdenv.mkDerivation {
       abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
 
       for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${libcxxabi}/lib/$abiName $file
+        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
       done
     done
   '';
 
   passthru = {
     isLLVM = true;
+    inherit cxxabi;
   };
 
   meta = llvm_meta // {
diff --git a/pkgs/development/compilers/llvm/6/libcxxabi/default.nix b/pkgs/development/compilers/llvm/6/libcxxabi/default.nix
index aea126b31d9..0821dbdae06 100644
--- a/pkgs/development/compilers/llvm/6/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/6/libcxxabi/default.nix
@@ -52,6 +52,10 @@ stdenv.mkDerivation {
     install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
   '';
 
+  passthru = {
+    libName = "c++abi";
+  };
+
   meta = llvm_meta // {
     homepage = "https://libcxxabi.llvm.org/";
     description = "Provides C++ standard library support";
diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix
index d6dfd4dcdde..7ddd14b60d3 100644
--- a/pkgs/development/compilers/llvm/7/default.nix
+++ b/pkgs/development/compilers/llvm/7/default.nix
@@ -117,7 +117,7 @@ let
       cc = tools.clang-unwrapped;
       libcxx = targetLlvmLibraries.libcxx;
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ];
       extraBuildCommands = mkExtraBuildCommands cc;
@@ -154,7 +154,7 @@ let
       libcxx = targetLlvmLibraries.libcxx;
       bintools = bintools';
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
         targetLlvmLibraries.libunwind
@@ -164,7 +164,7 @@ let
         echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
       '' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
         echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
+      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
         echo "-lunwind" >> $out/nix-support/cc-ldflags
       '' + lib.optionalString stdenv.targetPlatform.isWasm ''
         echo "-fno-exceptions" >> $out/nix-support/cc-cflags
diff --git a/pkgs/development/compilers/llvm/7/libcxx/default.nix b/pkgs/development/compilers/llvm/7/libcxx/default.nix
index 145f0df8837..3834e17fb8d 100644
--- a/pkgs/development/compilers/llvm/7/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/7/libcxx/default.nix
@@ -1,7 +1,11 @@
-{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version
+{ lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version
+, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
+, libcxxabi, libcxxrt
 , enableShared ? !stdenv.hostPlatform.isStatic
 }:
 
+assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
+
 stdenv.mkDerivation {
   pname = "libcxx";
   inherit version;
@@ -42,13 +46,13 @@ stdenv.mkDerivation {
     ++ lib.optional stdenv.hostPlatform.isMusl python3
     ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
 
-  buildInputs = [ libcxxabi ];
+  buildInputs = [ cxxabi ];
 
   cmakeFlags = [
-    "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
     "-DLIBCXX_LIBCPPABI_VERSION=2"
-    "-DLIBCXX_CXX_ABI=libcxxabi"
+    "-DLIBCXX_CXX_ABI=${cxxabi.pname}"
   ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1"
+    ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib"
     ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
     ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF" ;
 
@@ -61,13 +65,14 @@ stdenv.mkDerivation {
       abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
 
       for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${libcxxabi}/lib/$abiName $file
+        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
       done
     done
   '';
 
   passthru = {
     isLLVM = true;
+    inherit cxxabi;
   };
 
   meta = llvm_meta // {
diff --git a/pkgs/development/compilers/llvm/7/libcxxabi/default.nix b/pkgs/development/compilers/llvm/7/libcxxabi/default.nix
index d6f90634cd0..c33c61361e2 100644
--- a/pkgs/development/compilers/llvm/7/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/7/libcxxabi/default.nix
@@ -71,6 +71,10 @@ stdenv.mkDerivation {
     install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
   '';
 
+  passthru = {
+    libName = "c++abi";
+  };
+
   meta = llvm_meta // {
     homepage = "https://libcxxabi.llvm.org/";
     description = "Provides C++ standard library support";
diff --git a/pkgs/development/compilers/llvm/8/default.nix b/pkgs/development/compilers/llvm/8/default.nix
index b4f1cbf76c8..29a2ee7ddc1 100644
--- a/pkgs/development/compilers/llvm/8/default.nix
+++ b/pkgs/development/compilers/llvm/8/default.nix
@@ -118,7 +118,7 @@ let
       cc = tools.clang-unwrapped;
       libcxx = targetLlvmLibraries.libcxx;
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ];
       extraBuildCommands = mkExtraBuildCommands cc;
@@ -155,7 +155,7 @@ let
       libcxx = targetLlvmLibraries.libcxx;
       bintools = bintools';
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
         targetLlvmLibraries.libunwind
@@ -165,7 +165,7 @@ let
         echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
       '' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
         echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
+      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
         echo "-lunwind" >> $out/nix-support/cc-ldflags
       '' + lib.optionalString stdenv.targetPlatform.isWasm ''
         echo "-fno-exceptions" >> $out/nix-support/cc-cflags
diff --git a/pkgs/development/compilers/llvm/8/libcxx/default.nix b/pkgs/development/compilers/llvm/8/libcxx/default.nix
index 4a078ac9cda..967d4b748db 100644
--- a/pkgs/development/compilers/llvm/8/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/8/libcxx/default.nix
@@ -1,7 +1,11 @@
-{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version
+{ lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version
+, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
+, libcxxabi, libcxxrt
 , enableShared ? !stdenv.hostPlatform.isStatic
 }:
 
+assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
+
 stdenv.mkDerivation {
   pname = "libcxx";
   inherit version;
@@ -41,13 +45,13 @@ stdenv.mkDerivation {
     ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python3
     ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
 
-  buildInputs = [ libcxxabi ];
+  buildInputs = [ cxxabi ];
 
   cmakeFlags = [
-    "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
     "-DLIBCXX_LIBCPPABI_VERSION=2"
-    "-DLIBCXX_CXX_ABI=libcxxabi"
+    "-DLIBCXX_CXX_ABI=${cxxabi.pname}"
   ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
+    ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib"
     ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
     ++ lib.optionals stdenv.hostPlatform.isWasm [
       "-DLIBCXX_ENABLE_THREADS=OFF"
@@ -64,13 +68,14 @@ stdenv.mkDerivation {
       abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
 
       for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${libcxxabi}/lib/$abiName $file
+        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
       done
     done
   '';
 
   passthru = {
     isLLVM = true;
+    inherit cxxabi;
   };
 
   meta = llvm_meta // {
diff --git a/pkgs/development/compilers/llvm/8/libcxxabi/default.nix b/pkgs/development/compilers/llvm/8/libcxxabi/default.nix
index ab2d46f40a4..ebf8a5c702e 100644
--- a/pkgs/development/compilers/llvm/8/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/8/libcxxabi/default.nix
@@ -67,6 +67,10 @@ stdenv.mkDerivation {
     install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
   '';
 
+  passthru = {
+    libName = "c++abi";
+  };
+
   meta = llvm_meta // {
     homepage = "https://libcxxabi.llvm.org/";
     description = "Provides C++ standard library support";
diff --git a/pkgs/development/compilers/llvm/9/default.nix b/pkgs/development/compilers/llvm/9/default.nix
index 329d4bee4bb..e2191a81e79 100644
--- a/pkgs/development/compilers/llvm/9/default.nix
+++ b/pkgs/development/compilers/llvm/9/default.nix
@@ -118,7 +118,7 @@ let
       cc = tools.clang-unwrapped;
       libcxx = targetLlvmLibraries.libcxx;
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ];
       extraBuildCommands = mkExtraBuildCommands cc;
@@ -155,7 +155,7 @@ let
       libcxx = targetLlvmLibraries.libcxx;
       bintools = bintools';
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
         targetLlvmLibraries.libunwind
@@ -165,7 +165,7 @@ let
         echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
       '' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
         echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false) ''
+      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
         echo "-lunwind" >> $out/nix-support/cc-ldflags
       '' + lib.optionalString stdenv.targetPlatform.isWasm ''
         echo "-fno-exceptions" >> $out/nix-support/cc-cflags
diff --git a/pkgs/development/compilers/llvm/9/libcxx/default.nix b/pkgs/development/compilers/llvm/9/libcxx/default.nix
index 65441c359d6..ec09998ed37 100644
--- a/pkgs/development/compilers/llvm/9/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/9/libcxx/default.nix
@@ -1,7 +1,11 @@
-{ lib, stdenv, llvm_meta, fetch, cmake, python3, libcxxabi, fixDarwinDylibNames, version
+{ lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version
+, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
+, libcxxabi, libcxxrt
 , enableShared ? !stdenv.hostPlatform.isStatic
 }:
 
+assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
+
 stdenv.mkDerivation {
   pname = "libcxx";
   inherit version;
@@ -37,13 +41,13 @@ stdenv.mkDerivation {
     ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python3
     ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
 
-  buildInputs = [ libcxxabi ];
+  buildInputs = [ cxxabi ];
 
   cmakeFlags = [
-    "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
     "-DLIBCXX_LIBCPPABI_VERSION=2"
-    "-DLIBCXX_CXX_ABI=libcxxabi"
+    "-DLIBCXX_CXX_ABI=${cxxabi.pname}"
   ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
+    ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib"
     ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
     ++ lib.optionals stdenv.hostPlatform.isWasm [
       "-DLIBCXX_ENABLE_THREADS=OFF"
@@ -60,13 +64,14 @@ stdenv.mkDerivation {
       abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
 
       for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${libcxxabi}/lib/$abiName $file
+        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
       done
     done
   '';
 
   passthru = {
     isLLVM = true;
+    inherit cxxabi;
   };
 
   meta = llvm_meta // {
diff --git a/pkgs/development/compilers/llvm/9/libcxxabi/default.nix b/pkgs/development/compilers/llvm/9/libcxxabi/default.nix
index cfd1c32abd0..f19bfb157ce 100644
--- a/pkgs/development/compilers/llvm/9/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/9/libcxxabi/default.nix
@@ -67,6 +67,10 @@ stdenv.mkDerivation {
     install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
   '';
 
+  passthru = {
+    libName = "c++abi";
+  };
+
   meta = llvm_meta // {
     homepage = "https://libcxxabi.llvm.org/";
     description = "Provides C++ standard library support";
diff --git a/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix
index 7c48d2042f0..ffbce74a482 100644
--- a/pkgs/development/compilers/llvm/git/default.nix
+++ b/pkgs/development/compilers/llvm/git/default.nix
@@ -113,7 +113,7 @@ let
       cc = tools.clang-unwrapped;
       libcxx = targetLlvmLibraries.libcxx;
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ];
       extraBuildCommands = mkExtraBuildCommands cc;
@@ -153,7 +153,7 @@ let
       libcxx = targetLlvmLibraries.libcxx;
       bintools = bintools';
       extraPackages = [
-        targetLlvmLibraries.libcxxabi
+        libcxx.cxxabi
         targetLlvmLibraries.compiler-rt
       ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
         targetLlvmLibraries.libunwind
@@ -166,7 +166,7 @@ let
         ]
         ++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind"
         ++ lib.optional
-          (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false)
+          (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false)
           "-lunwind"
         ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
     };
diff --git a/pkgs/development/compilers/llvm/git/libcxx/default.nix b/pkgs/development/compilers/llvm/git/libcxx/default.nix
index 95e32041037..a29edb0658d 100644
--- a/pkgs/development/compilers/llvm/git/libcxx/default.nix
+++ b/pkgs/development/compilers/llvm/git/libcxx/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, llvm_meta
 , monorepoSrc, runCommand
 , cmake, python3, fixDarwinDylibNames, version
-, libcxxabi
+, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
+, libcxxabi, libcxxrt
 , enableShared ? !stdenv.hostPlatform.isStatic
 
 # If headersOnly is true, the resulting package would only include the headers.
@@ -16,6 +17,8 @@ let
   basename = "libcxx";
 in
 
+assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
+
 stdenv.mkDerivation rec {
   pname = basename + lib.optionalString headersOnly "-headers";
   inherit version;
@@ -59,12 +62,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake python3 ]
     ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  buildInputs = lib.optionals (!headersOnly) [ libcxxabi ];
+  buildInputs = lib.optionals (!headersOnly) [ cxxabi ];
 
   cmakeFlags = [
     "-DLLVM_ENABLE_RUNTIMES=libcxx"
-    "-DLIBCXX_CXX_ABI=${lib.optionalString (!headersOnly) "system-"}libcxxabi"
-  ] ++ lib.optional (!headersOnly) "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${libcxxabi.dev}/include/c++/v1"
+    "-DLIBCXX_CXX_ABI=${lib.optionalString (!headersOnly) "system-"}${cxxabi.pname}"
+  ] ++ lib.optional (!headersOnly && cxxabi.pname == "libcxxabi") "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi.dev}/include/c++/v1"
     ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
     ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
     ++ lib.optionals stdenv.hostPlatform.isWasm [
@@ -85,13 +88,14 @@ stdenv.mkDerivation rec {
       abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
 
       for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${libcxxabi}/lib/$abiName $file
+        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
       done
     done
   '';
 
   passthru = {
     isLLVM = true;
+    inherit cxxabi;
   };
 
   meta = llvm_meta // {
diff --git a/pkgs/development/compilers/llvm/git/libcxxabi/default.nix b/pkgs/development/compilers/llvm/git/libcxxabi/default.nix
index 804acd6c745..3d5f875637f 100644
--- a/pkgs/development/compilers/llvm/git/libcxxabi/default.nix
+++ b/pkgs/development/compilers/llvm/git/libcxxabi/default.nix
@@ -95,6 +95,10 @@ stdenv.mkDerivation rec {
     install -m 644 ../../${pname}/include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
   '';
 
+  passthru = {
+    libName = "c++abi";
+  };
+
   meta = llvm_meta // {
     homepage = "https://libcxxabi.llvm.org/";
     description = "Provides C++ standard library support";
diff --git a/pkgs/development/libraries/intel-media-sdk/default.nix b/pkgs/development/libraries/intel-media-sdk/default.nix
index 13725d5a812..5e6f628aa68 100644
--- a/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-sdk";
-  version = "22.5.4";
+  version = "22.6.5";
 
   src = fetchFromGitHub {
     owner = "Intel-Media-SDK";
     repo = "MediaSDK";
     rev = "intel-mediasdk-${version}";
-    sha256 = "sha256-f9b0+BWUlekMM0huPdJ5Ms4tYr/ipgfLiQ310FQKAXA=";
+    sha256 = "sha256-W+lDqGZAenhRZ7tf4qfDNik/3rFNDM0DGSK/CdNRb8g=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/libcxxrt/default.nix b/pkgs/development/libraries/libcxxrt/default.nix
new file mode 100644
index 00000000000..e981945ccbd
--- /dev/null
+++ b/pkgs/development/libraries/libcxxrt/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub, cmake, unstableGitUpdater }:
+
+stdenv.mkDerivation {
+  pname = "libcxxrt";
+  version = "unstable-2022-08-08";
+
+  src = fetchFromGitHub {
+    owner = "libcxxrt";
+    repo = "libcxxrt";
+    rev = "a0f7f5c139a7daf71de0de201b6c405d852b1dc1";
+    sha256 = "6ErOhlD6pOudbTkFTlI2hjBuYT3QuzEiL33/mLnw1aI=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  installPhase = ''
+    mkdir -p $out/include $out/lib
+    cp ../src/cxxabi.h $out/include
+    cp lib/libcxxrt${stdenv.hostPlatform.extensions.library} $out/lib
+  '';
+
+  passthru = {
+    libName = "cxxrt";
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/libcxxrt/libcxxrt";
+    description = "Implementation of the Code Sourcery C++ ABI";
+    maintainers = with maintainers; [ qyliss ];
+    platforms = platforms.all;
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/libraries/ntirpc/default.nix b/pkgs/development/libraries/ntirpc/default.nix
index 66002df4905..4526814c378 100644
--- a/pkgs/development/libraries/ntirpc/default.nix
+++ b/pkgs/development/libraries/ntirpc/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ntirpc";
-  version = "4.2";
+  version = "4.3";
 
   src = fetchFromGitHub {
     owner = "nfs-ganesha";
     repo = "ntirpc";
     rev = "v${version}";
-    sha256 = "sha256-rVv5TLxirtmoRJl0+RupbkvzChuSMSGi3NTa0dchZSU=";
+    sha256 = "sha256-P9+t9dTiEKjloulypWPJ4sXWWemq9zPUH/Kctvq1SUQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/google-cloud-iot/default.nix b/pkgs/development/python-modules/google-cloud-iot/default.nix
index a6d4a1cc9ac..f3fdc38124a 100644
--- a/pkgs/development/python-modules/google-cloud-iot/default.nix
+++ b/pkgs/development/python-modules/google-cloud-iot/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-iot";
-  version = "2.8.0";
+  version = "2.8.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-YckGLp3A4rngs/KXOg3/AE4RyboUIoy0NGf44unn/ns=";
+    hash = "sha256-Rh23HbHv1FVmiZtyofv0bktv7tZWN3IS5jQawzbFfRk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyro4/default.nix b/pkgs/development/python-modules/pyro4/default.nix
index 70aaaa7b4cf..7b0c8229c89 100644
--- a/pkgs/development/python-modules/pyro4/default.nix
+++ b/pkgs/development/python-modules/pyro4/default.nix
@@ -1,12 +1,12 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, serpent
-, dill
 , cloudpickle
+, dill
+, fetchPypi
 , msgpack
-, isPy27
 , pytestCheckHook
+, pythonAtLeast
+, serpent
 }:
 
 buildPythonPackage rec {
@@ -14,7 +14,9 @@ buildPythonPackage rec {
   version = "4.82";
   format = "setuptools";
 
-  disabled = isPy27;
+  # No support Python >= 3.11
+  # https://github.com/irmen/Pyro4/issues/246
+  disabled = pythonAtLeast "3.11";
 
   src = fetchPypi {
     pname = "Pyro4";
@@ -37,12 +39,13 @@ buildPythonPackage rec {
   ];
 
   # add testsupport.py to PATH
-  preCheck = "PYTHONPATH=tests/PyroTests:$PYTHONPATH";
-
+  preCheck = ''
+    PYTHONPATH=tests/PyroTests:$PYTHONPATH
+  '';
 
-  pytestFlagsArray = [
+  disabledTestPaths = [
     # ignore network related tests, which fail in sandbox
-    "--ignore=tests/PyroTests/test_naming.py"
+    "tests/PyroTests/test_naming.py"
   ];
 
   disabledTests = [
@@ -61,6 +64,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Distributed object middleware for Python (RPC)";
     homepage = "https://github.com/irmen/Pyro4";
+    changelog = "https://github.com/irmen/Pyro4/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ prusnak ];
   };
diff --git a/pkgs/development/python-modules/pyro5/default.nix b/pkgs/development/python-modules/pyro5/default.nix
index e9695217441..7c469595ab7 100644
--- a/pkgs/development/python-modules/pyro5/default.nix
+++ b/pkgs/development/python-modules/pyro5/default.nix
@@ -1,36 +1,52 @@
-{ buildPythonPackage
-, fetchPypi
-, lib
+{ lib
 , stdenv
+, buildPythonPackage
+, fetchPypi
 , serpent
 , pythonOlder
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
-  pname = "Pyro5";
+  pname = "pyro5";
   version = "5.14";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-ZP3OE3sP5TLohhTSRrfJi74KT0JnhsUkU5rNxeaUCGo=";
+    pname = "Pyro5";
+    inherit version;
+    hash = "sha256-ZP3OE3sP5TLohhTSRrfJi74KT0JnhsUkU5rNxeaUCGo=";
   };
 
-  propagatedBuildInputs = [ serpent ];
+  propagatedBuildInputs = [
+    serpent
+  ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  # ignore network related tests, which fail in sandbox
-  disabledTests = [ "StartNSfunc" "Broadcast" "GetIP" "TestNameServer" "TestBCSetup" ]
-  ++ lib.optionals stdenv.hostPlatform.isDarwin [
+  disabledTests = [
+    # Ignore network related tests, which fail in sandbox
+    "StartNSfunc"
+    "Broadcast"
+    "GetIP"
+    "TestNameServer"
+    "TestBCSetup"
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
     "Socket"
   ];
 
+  pythonImportsCheck = [
+    "Pyro5"
+  ];
+
   meta = with lib; {
     description = "Distributed object middleware for Python (RPC)";
     homepage = "https://github.com/irmen/Pyro5";
+    changelog = "https://github.com/irmen/Pyro5/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/pkgs/development/tools/misc/pkgconf/default.nix b/pkgs/development/tools/misc/pkgconf/default.nix
index 7e7b60de295..b80def83888 100644
--- a/pkgs/development/tools/misc/pkgconf/default.nix
+++ b/pkgs/development/tools/misc/pkgconf/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pkgconf";
-  version = "1.9.3";
+  version = "1.9.4";
 
   src = fetchurl {
     url = "https://distfiles.dereferenced.org/${pname}/${pname}-${version}.tar.xz";
-    hash = "sha256-X7NVtIfVT7bTQeTxjU4vfoE6ZiLPA6noev+mpAVlaZ0=";
+    hash = "sha256-2szxu+WjDRSbVWx9L//+r9dte1FOJJJxq91QFTPB2K4=";
   };
 
   outputs = [ "out" "lib" "dev" "man" "doc" ];
diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix
index 0afcf1abe9e..fe61330c13a 100644
--- a/pkgs/development/tools/ruff/default.nix
+++ b/pkgs/development/tools/ruff/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.0.231";
+  version = "0.0.233";
 
   src = fetchFromGitHub {
     owner = "charliermarsh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BXRM3MS77B39B6ylrkZyLQqndF+DkjJek0u1KfOuazI=";
+    sha256 = "sha256-d+JF5CUswlqx0S3W9W2B2Pgt/hj3hHky1p4OF3eqr84=";
   };
 
-  cargoSha256 = "sha256-HYGFE5WpY0puAmCkvByR1vomuEwA0+L9eetp6FGyPhg=";
+  cargoSha256 = "sha256-ZuBbgf4CYQpN8TgfEnAl54/SnkkbssoCSdB+2ZZPenk=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.CoreServices
diff --git a/pkgs/os-specific/linux/vmm_clock/default.nix b/pkgs/os-specific/linux/vmm_clock/default.nix
index 853e7765ee2..1a10df62d46 100644
--- a/pkgs/os-specific/linux/vmm_clock/default.nix
+++ b/pkgs/os-specific/linux/vmm_clock/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "vmm_clock";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "voutilad";
     repo = "vmm_clock";
     rev = "${version}";
-    sha256 = "0hg7ywznh6v11fywsz6f7w298bxph0wwm046zqaqncjvr4aizla4";
+    hash = "sha256-8z/N/dbkeFd40sH7jatNmSS62B88tC0jVgNljhxslOo=";
   };
 
   hardeningDisable = [ "pic" "format" ];
@@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    broken = kernel.kernelOlder "4.19";
     description =
       "Experimental implementation of a kvmclock-derived clocksource for Linux guests under OpenBSD's hypervisor";
     homepage = "https://github.com/voutilad/vmm_clock";
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index ec8b3e5c6fa..fa20e460554 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "apache-httpd";
-  version = "2.4.54";
+  version = "2.4.55";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "sha256-6zl/7u/MryVPjUXeN2jZ1o6Oc4UcSa/VtxdtHs+Aw0A=";
+    sha256 = "sha256-Eda6GeNsC5PKYuR+b/wtLyiElCaUvODyPznHG9xfaaw=";
   };
 
   # FIXME: -dev depends on -doc
diff --git a/pkgs/servers/nfs-ganesha/default.nix b/pkgs/servers/nfs-ganesha/default.nix
index 2ac109cb0da..560853b5d95 100644
--- a/pkgs/servers/nfs-ganesha/default.nix
+++ b/pkgs/servers/nfs-ganesha/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nfs-ganesha";
-  version = "4.2";
+  version = "4.3";
 
   src = fetchFromGitHub {
     owner = "nfs-ganesha";
     repo = "nfs-ganesha";
     rev = "V${version}";
-    sha256 = "sha256-9Hn1teHo5sHJLYQYM+nAIwq7Gckxl1TCTk/GxLME1qo=";
+    sha256 = "sha256-MafP6kl3SmtT2/vLPDwy8U7+tE6hUBr/lWmiAcjsQNU=";
   };
 
   preConfigure = "cd src";
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index 113aa946276..2ee8c070ae1 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -339,6 +339,7 @@ rec {
           '';
           passthru = {
             isLLVM = true;
+            cxxabi = self."${finalLlvmPackages}".libcxxabi;
           };
         };
 
@@ -348,6 +349,9 @@ rec {
             mkdir -p $out/lib
             ln -s ${bootstrapTools}/lib/libc++abi.dylib $out/lib/libc++abi.dylib
           '';
+          passthru = {
+            libName = "c++abi";
+          };
         };
 
         compiler-rt = stdenv.mkDerivation {
diff --git a/pkgs/tools/admin/scaleway-cli/default.nix b/pkgs/tools/admin/scaleway-cli/default.nix
index b570d7134ed..9c4a215dba8 100644
--- a/pkgs/tools/admin/scaleway-cli/default.nix
+++ b/pkgs/tools/admin/scaleway-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "scaleway-cli";
-  version = "2.9.0";
+  version = "2.10.0";
 
   src = fetchFromGitHub {
     owner = "scaleway";
     repo = "scaleway-cli";
     rev = "v${version}";
-    sha256 = "sha256-Sh7K0PgjX2/vio2E8/qdiP+WC2SoGpS9oU4UizV+sOs=";
+    sha256 = "sha256-Xy4arniOrCln58swFExd0ZoU6wymKYFinReMs7YudeY=";
   };
 
-  vendorHash = "sha256-sYvq502huyCxI4zpPLfPVyyKqTclrfxL9idCGW4Xops=";
+  vendorHash = "sha256-BNiF90jovSyCcRGfv6Kya4fLpqV2VF2Qa3QqdyQio5c=";
 
   ldflags = [
     "-w"
diff --git a/pkgs/tools/compression/crabz/default.nix b/pkgs/tools/compression/crabz/default.nix
index 67c4cffbc33..c4d9e06e4c8 100644
--- a/pkgs/tools/compression/crabz/default.nix
+++ b/pkgs/tools/compression/crabz/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "crabz";
-  version = "0.7.5";
+  version = "0.7.10";
 
   src = fetchFromGitHub {
     owner = "sstadick";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9PZbrdgHX7zOftecvsyVjYUkBlFEt20lYtLSkFcb8dg=";
+    sha256 = "sha256-A1mjnGnFKgCdwr2J0MBUzpL/UI9nOHDxbrZ9UazqZik=";
   };
 
-  cargoSha256 = "sha256-tT6RCL5pOAMZw7cQr0BCAde9Y/1FeBBLXF6uXfM1I0A=";
+  cargoSha256 = "sha256-YxO0YPY82Q6dXOBs2ZoSAv14p67kNsmhGOiwt+voD5I=";
 
   nativeBuildInputs = [ cmake ];
 
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 8e84b5d6fc7..fa6df2cebff 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -2,8 +2,6 @@
 , lib
 , buildGoModule
 , fetchFromGitHub
-, fetchpatch
-, writeText
 , writeShellScriptBin
 , runtimeShell
 , installShellFiles
@@ -26,13 +24,13 @@ let
 in
 buildGoModule rec {
   pname = "fzf";
-  version = "0.36.0";
+  version = "0.37.0";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    hash = "sha256-1PKu8l4Mx17CpePUE0JEnLPNsUdJ0KvW6Lx6VZM27kI=";
+    hash = "sha256-m+tKNz7tUWkm/Vg9DhcfZyaBgZh+Mcf0mRfc5/SW2Os=";
   };
 
   vendorHash = "sha256-MsMwBBualAwJzCrv/WNBJakv6LcKZYsDUqkNmivUMOQ=";
@@ -47,16 +45,6 @@ buildGoModule rec {
     "-s" "-w" "-X main.version=${version} -X main.revision=${src.rev}"
   ];
 
-  patches = [
-    # fix for test failure on 32-bit platforms
-    # can be removed in the next release of fzf
-    # https://github.com/junegunn/fzf/issues/3127
-    (fetchpatch {
-      url = "https://github.com/junegunn/fzf/commit/aa7361337d3f78ae1e32283ba395446025323abb.patch";
-      hash = "sha256-ZmBdJa7eq9f58f2pL7QrtDSApkQJQBH/Em12J5xk3Q4=";
-    })
-  ];
-
   # The vim plugin expects a relative path to the binary; patch it to abspath.
   postPatch = ''
     sed -i -e "s|expand('<sfile>:h:h')|'$out'|" plugin/fzf.vim
diff --git a/pkgs/tools/misc/nurl/default.nix b/pkgs/tools/misc/nurl/default.nix
index ab2b28c52e0..9154c1eabbe 100644
--- a/pkgs/tools/misc/nurl/default.nix
+++ b/pkgs/tools/misc/nurl/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nurl";
-  version = "0.3.5";
+  version = "0.3.6";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nurl";
     rev = "v${version}";
-    hash = "sha256-MPgJIO7pHpXeryJZB/u1iBpBhleKfTWkrArW2L0E4EM=";
+    hash = "sha256-AJHmHTkKHd99GCBlVv2t8Q9kUlCtOcK+ukYzEs5U3S4=";
   };
 
-  cargoSha256 = "sha256-yMWNFY9exmDyqcU2iT9YFAcknYmtbYJ9VhJqlKg+NF4=";
+  cargoSha256 = "sha256-0QUuYNzKN8dbGiJq2JxElR39zIlqvHXjPzT1dGc6cRM=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/package-management/nix-update/default.nix b/pkgs/tools/package-management/nix-update/default.nix
index 792780f9f2f..2e20f1ad3dc 100644
--- a/pkgs/tools/package-management/nix-update/default.nix
+++ b/pkgs/tools/package-management/nix-update/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonApplication rec {
   pname = "nix-update";
-  version = "0.13.0";
+  version = "0.14.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = pname;
     rev = version;
-    sha256 = "sha256-7kIHMGtsbC7CIlJPA7F1HwAXlqHf61mfjvnvA/v1Uno=";
+    sha256 = "sha256-7HZ5LEQAhA1TXQZVfeUGOruwgqJBkSFtmDLR8PLSiOw=";
   };
 
   makeWrapperArgs = [
diff --git a/pkgs/tools/security/commix/default.nix b/pkgs/tools/security/commix/default.nix
index b2632c2d42e..3b2ba60291d 100644
--- a/pkgs/tools/security/commix/default.nix
+++ b/pkgs/tools/security/commix/default.nix
@@ -15,12 +15,19 @@ python3.pkgs.buildPythonApplication rec {
     hash = "sha256-QdhJp7oUqOY8Z36haIrHgP4hVGaFXlOxNVg1ams7uhg=";
   };
 
+  postInstall = ''
+    # Helper files are not handled by setup.py
+    mkdir -p $out/${python3.sitePackages}/src/txt
+    install -vD src/txt/* $out/${python3.sitePackages}/src/txt/
+  '';
+
   # Project has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "Automated Command Injection Exploitation Tool";
     homepage = "https://github.com/commixproject/commix";
+    changelog = "https://github.com/commixproject/commix/releases/tag/v${version}";
     license = with licenses; [ gpl3Plus ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b6da9b2ff5d..ad86773752e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2346,6 +2346,8 @@ with pkgs;
 
   portfolio-filemanager = callPackage ../applications/file-managers/portfolio-filemanager { };
 
+  potreeconverter = callPackage ../applications/graphics/potreeconverter { };
+
   ranger = callPackage ../applications/file-managers/ranger { };
 
   sfm = callPackage ../applications/file-managers/sfm { };
@@ -20697,6 +20699,12 @@ with pkgs;
 
   libcutl = callPackage ../development/libraries/libcutl { };
 
+  libcxxrt = callPackage ../development/libraries/libcxxrt {
+    stdenv = if stdenv.hostPlatform.useLLVM or false
+             then overrideCC stdenv buildPackages.llvmPackages.tools.clangNoLibcxx
+             else stdenv;
+  };
+
   libdaemon = callPackage ../development/libraries/libdaemon { };
 
   libdatovka = callPackage ../development/libraries/libdatovka { };
@@ -31162,6 +31170,8 @@ with pkgs;
 
   pragha = libsForQt5.callPackage ../applications/audio/pragha { };
 
+  river-tag-overlay = callPackage ../applications/misc/river-tag-overlay { };
+
   rofi-mpd = callPackage ../applications/audio/rofi-mpd { };
 
   rofi-bluetooth = callPackage ../applications/misc/rofi-bluetooth { };