about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/languages-frameworks/go.section.md4
-rw-r--r--nixos/doc/manual/release-notes/rl-2311.section.md2
-rw-r--r--nixos/tests/installed-tests/default.nix1
-rw-r--r--nixos/tests/installed-tests/upower.nix9
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix18
-rwxr-xr-xpkgs/applications/networking/cluster/k3s/update-script.sh2
-rw-r--r--pkgs/applications/networking/cluster/kfctl/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/kubemqctl/default.nix2
-rwxr-xr-xpkgs/applications/networking/cluster/terraform-providers/update-provider2
-rw-r--r--pkgs/applications/system/mgmt/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix3
-rw-r--r--pkgs/applications/version-management/forgejo/default.nix2
-rw-r--r--pkgs/applications/version-management/git-hound/default.nix2
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix6
-rw-r--r--pkgs/applications/version-management/sourcehut/fix-gqlgen-trimpath.nix2
-rw-r--r--pkgs/applications/virtualization/singularity/generic.nix2
-rw-r--r--pkgs/applications/virtualization/singularity/packages.nix4
-rwxr-xr-xpkgs/build-support/buildenv/builder.pl2
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git1
-rw-r--r--pkgs/build-support/go/module.nix12
-rw-r--r--pkgs/development/compilers/gcc/10/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/11/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/12/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/13/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/8/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/9/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/builder.sh9
-rw-r--r--pkgs/development/compilers/go/1.20.nix4
-rw-r--r--pkgs/development/compilers/rust/1_70.nix5
-rw-r--r--pkgs/development/compilers/rust/default.nix7
-rw-r--r--pkgs/development/compilers/vala/default.nix14
-rw-r--r--pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch19
-rw-r--r--pkgs/development/compilers/vala/disable-graphviz-0.56.8.patch173
-rw-r--r--pkgs/development/compilers/vala/gvc-compat.patch19
-rw-r--r--pkgs/development/interpreters/perl/intepreter.nix6
-rw-r--r--pkgs/development/interpreters/ruby/rubygems/default.nix4
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix9
-rw-r--r--pkgs/development/libraries/db/db-4.8.nix7
-rw-r--r--pkgs/development/libraries/db/db-5.3.nix7
-rw-r--r--pkgs/development/libraries/db/db-6.0.nix7
-rw-r--r--pkgs/development/libraries/db/db-6.2.nix7
-rw-r--r--pkgs/development/libraries/db/generic.nix11
-rw-r--r--pkgs/development/libraries/gjs/default.nix4
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix4
-rw-r--r--pkgs/development/libraries/glib/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix5
-rw-r--r--pkgs/development/libraries/gupnp-av/default.nix4
-rw-r--r--pkgs/development/libraries/gupnp/1.6.nix14
-rw-r--r--pkgs/development/libraries/gupnp/default.nix8
-rw-r--r--pkgs/development/libraries/iso-codes/default.nix4
-rw-r--r--pkgs/development/libraries/libassuan/default.nix4
-rw-r--r--pkgs/development/libraries/libdc1394/default.nix4
-rw-r--r--pkgs/development/libraries/libde265/default.nix22
-rw-r--r--pkgs/development/libraries/libgudev/default.nix46
-rw-r--r--pkgs/development/libraries/libnftnl/default.nix4
-rw-r--r--pkgs/development/libraries/libopus/default.nix2
-rw-r--r--pkgs/development/libraries/libopus/test-timeout.patch16
-rw-r--r--pkgs/development/libraries/libqmi/default.nix14
-rw-r--r--pkgs/development/libraries/librdf/raptor2.nix7
-rw-r--r--pkgs/development/libraries/librsvg/default.nix27
-rw-r--r--pkgs/development/libraries/libva/default.nix4
-rw-r--r--pkgs/development/libraries/libxcrypt/default.nix4
-rw-r--r--pkgs/development/libraries/libxml2/default.nix19
-rw-r--r--pkgs/development/libraries/libxml2/utf8-xmlErrorFuncHandler.patch30
-rw-r--r--pkgs/development/libraries/libxslt/default.nix4
-rw-r--r--pkgs/development/libraries/mutest/default.nix16
-rw-r--r--pkgs/development/libraries/ncurses/default.nix7
-rw-r--r--pkgs/development/libraries/openexr/default.nix4
-rw-r--r--pkgs/development/libraries/openldap/default.nix7
-rw-r--r--pkgs/development/libraries/openssl/3.0/CVE-2023-2975.patch54
-rw-r--r--pkgs/development/libraries/openssl/default.nix3
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix4
-rw-r--r--pkgs/development/libraries/tracker/default.nix4
-rw-r--r--pkgs/development/libraries/umockdev/default.nix26
-rw-r--r--pkgs/development/libraries/wayland/protocols.nix4
-rw-r--r--pkgs/development/libraries/wildmidi/default.nix34
-rw-r--r--pkgs/development/lua-modules/lib.nix8
-rw-r--r--pkgs/development/python-modules/Cython/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohttp/default.nix6
-rw-r--r--pkgs/development/python-modules/certifi/default.nix4
-rw-r--r--pkgs/development/python-modules/constantly/default.nix50
-rw-r--r--pkgs/development/python-modules/exceptiongroup/default.nix10
-rw-r--r--pkgs/development/python-modules/importlib-metadata/default.nix6
-rw-r--r--pkgs/development/python-modules/numpy/default.nix14
-rw-r--r--pkgs/development/python-modules/orjson/default.nix6
-rw-r--r--pkgs/development/python-modules/pillow/default.nix13
-rw-r--r--pkgs/development/python-modules/protobuf/default.nix26
-rw-r--r--pkgs/development/python-modules/pytest-timeout/default.nix2
-rw-r--r--pkgs/development/python-modules/pyudev/default.nix4
-rw-r--r--pkgs/development/python-modules/requests-mock/default.nix29
-rw-r--r--pkgs/development/python-modules/sh/default.nix7
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix6
-rw-r--r--pkgs/development/python-modules/yapf/default.nix19
-rw-r--r--pkgs/development/python-modules/yarl/default.nix8
-rw-r--r--pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--pkgs/development/tools/kcli/default.nix2
-rw-r--r--pkgs/development/tools/misc/itstool/default.nix26
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix2
-rw-r--r--pkgs/os-specific/darwin/rewrite-tbd/default.nix8
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix4
-rw-r--r--pkgs/os-specific/linux/libbpf/default.nix4
-rw-r--r--pkgs/os-specific/linux/nftables/default.nix19
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix11
-rw-r--r--pkgs/os-specific/linux/upower/default.nix93
-rw-r--r--pkgs/os-specific/linux/upower/installed-tests-path.patch56
-rwxr-xr-xpkgs/servers/authelia/update.sh2
-rw-r--r--pkgs/servers/dns/ncdns/default.nix2
-rw-r--r--pkgs/servers/gobetween/default.nix2
-rwxr-xr-xpkgs/servers/memos/update.sh2
-rw-r--r--pkgs/servers/monitoring/alertmanager-bot/default.nix2
-rwxr-xr-xpkgs/servers/monitoring/grafana/update.sh2
-rw-r--r--pkgs/stdenv/native/default.nix7
-rw-r--r--pkgs/tools/networking/curl/default.nix4
-rw-r--r--pkgs/tools/networking/mozillavpn/default.nix6
-rw-r--r--pkgs/tools/networking/networkmanager/default.nix11
-rw-r--r--pkgs/tools/networking/openresolv/default.nix4
-rw-r--r--pkgs/tools/networking/waitron/default.nix2
-rw-r--r--pkgs/tools/security/deepsea/default.nix2
-rw-r--r--pkgs/tools/security/shhgit/default.nix2
-rw-r--r--pkgs/tools/security/ssb/default.nix2
-rw-r--r--pkgs/tools/security/stoken/default.nix42
-rw-r--r--pkgs/tools/text/wrap/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix6
-rw-r--r--pkgs/top-level/lua-packages.nix4
-rw-r--r--pkgs/top-level/perl-packages.nix10
129 files changed, 918 insertions, 504 deletions
diff --git a/doc/languages-frameworks/go.section.md b/doc/languages-frameworks/go.section.md
index cf1808414234..7fd38a7d21c5 100644
--- a/doc/languages-frameworks/go.section.md
+++ b/doc/languages-frameworks/go.section.md
@@ -20,7 +20,7 @@ In the following is an example expression using `buildGoModule`, the following a
 
   To obtain the actual hash, set `vendorHash = lib.fakeSha256;` and run the build ([more details here](#sec-source-hashes)).
 - `proxyVendor`: Fetches (go mod download) and proxies the vendor directory. This is useful if your code depends on c code and go mod tidy does not include the needed sources to build or if any dependency has case-insensitive conflicts which will produce platform-dependent `vendorHash` checksums.
-- `modPostBuild`: Shell commands to run after the build of the go-modules executes `go mod vendor`, and before calculating fixed output derivation's `vendorHash` (or `vendorSha256`). Note that if you change this attribute, you need to update `vendorHash` (or `vendorSha256`) attribute.
+- `modPostBuild`: Shell commands to run after the build of the goModules executes `go mod vendor`, and before calculating fixed output derivation's `vendorHash` (or `vendorSha256`). Note that if you change this attribute, you need to update `vendorHash` (or `vendorSha256`) attribute.
 
 ```nix
 pet = buildGoModule rec {
@@ -115,7 +115,7 @@ done
 
 ## Attributes used by the builders {#ssec-go-common-attributes}
 
-Many attributes [controlling the build phase](#variables-controlling-the-build-phase) are respected by both `buildGoModule` and `buildGoPackage`. Note that `buildGoModule` reads the following attributes also when building the `vendor/` go-modules fixed output derivation as well:
+Many attributes [controlling the build phase](#variables-controlling-the-build-phase) are respected by both `buildGoModule` and `buildGoPackage`. Note that `buildGoModule` reads the following attributes also when building the `vendor/` goModules fixed output derivation as well:
 
 - [`sourceRoot`](#var-stdenv-sourceRoot)
 - [`prePatch`](#var-stdenv-prePatch)
diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md
index 5ccaa92914e1..4f486b4214ef 100644
--- a/nixos/doc/manual/release-notes/rl-2311.section.md
+++ b/nixos/doc/manual/release-notes/rl-2311.section.md
@@ -110,6 +110,8 @@
 
 - DocBook option documentation is no longer supported, all module documentation now uses markdown.
 
+- `buildGoModule` `go-modules` attrs have been renamed to `goModules`.
+
 - `services.fail2ban.jails` can now be configured with attribute sets defining settings and filters instead of lines. The stringed options `daemonConfig` and `extraSettings` have respectively been replaced by `daemonSettings` and `jails.DEFAULT.settings` which use attribute sets.
 
 - The module [services.ankisyncd](#opt-services.ankisyncd.package) has been switched to [anki-sync-server-rs](https://github.com/ankicommunity/anki-sync-server-rs) from the old python version, which was difficult to update, had not been updated in a while, and did not support recent versions of anki.
diff --git a/nixos/tests/installed-tests/default.nix b/nixos/tests/installed-tests/default.nix
index 78a6325a245e..e87edb2007e9 100644
--- a/nixos/tests/installed-tests/default.nix
+++ b/nixos/tests/installed-tests/default.nix
@@ -107,5 +107,6 @@ in
   malcontent = callInstalledTest ./malcontent.nix {};
   ostree = callInstalledTest ./ostree.nix {};
   pipewire = callInstalledTest ./pipewire.nix {};
+  upower = callInstalledTest ./upower.nix {};
   xdg-desktop-portal = callInstalledTest ./xdg-desktop-portal.nix {};
 }
diff --git a/nixos/tests/installed-tests/upower.nix b/nixos/tests/installed-tests/upower.nix
new file mode 100644
index 000000000000..a8e777a55527
--- /dev/null
+++ b/nixos/tests/installed-tests/upower.nix
@@ -0,0 +1,9 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.upower;
+
+  testConfig = {
+    services.upower.enable = true;
+  };
+}
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index 41ee34847a84..503e72dfe0e3 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -1,19 +1,29 @@
-{ stdenv, lib, fetchFromGitHub, buildPackages, pkg-config, cmake
+{ stdenv, lib, fetchFromGitHub, fetchpatch, buildPackages, pkg-config, cmake
 , alsa-lib, glib, libjack2, libsndfile, libpulseaudio
 , AppKit, AudioUnit, CoreAudio, CoreMIDI, CoreServices
 }:
 
 stdenv.mkDerivation rec {
   pname = "fluidsynth";
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "FluidSynth";
     repo = "fluidsynth";
     rev = "v${version}";
-    sha256 = "sha256-BSJu3jB7b5G2ThXBUHUNnBGl55EXe3nIzdBdgfOWDSM=";
+    sha256 = "sha256-RqhlpvMbRSwdcY2uuFAdJnihN3aObcLVMuvCZ294dgo=";
   };
 
+  patches = [
+    # Fixes bad CMAKE_INSTALL_PREFIX + CMAKE_INSTALL_LIBDIR concatenation for Darwin install name dir
+    # Remove when PR merged & in release
+    (fetchpatch {
+      name = "0001-Fix-incorrect-way-of-turning-CMAKE_INSTALL_LIBDIR-absolute.patch";
+      url = "https://github.com/FluidSynth/fluidsynth/pull/1261/commits/03cd38dd909fc24aa39553d869afbb4024416de8.patch";
+      hash = "sha256-nV+MbFttnbNBO4zWnPLpnnEuoiESkV9BGFlUS9tQQfk=";
+    })
+  ];
+
   outputs = [ "out" "dev" "man" ];
 
   nativeBuildInputs = [ buildPackages.stdenv.cc pkg-config cmake ];
@@ -24,8 +34,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-Denable-framework=off"
-    # set CMAKE_INSTALL_NAME_DIR to correct value on darwin
-    "-DCMAKE_INSTALL_LIBDIR=lib"
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/cluster/k3s/update-script.sh b/pkgs/applications/networking/cluster/k3s/update-script.sh
index 3d10acb83c10..d1dad25b07a4 100755
--- a/pkgs/applications/networking/cluster/k3s/update-script.sh
+++ b/pkgs/applications/networking/cluster/k3s/update-script.sh
@@ -114,7 +114,7 @@ cat >versions.nix <<EOF
 EOF
 
 set +e
-K3S_VENDOR_SHA256=$(nix-prefetch -I nixpkgs=${NIXPKGS_ROOT} "{ sha256 }: (import ${NIXPKGS_ROOT}. {}).k3s_1_${MINOR_VERSION}.go-modules.overrideAttrs (_: { vendorSha256 = sha256; })")
+K3S_VENDOR_SHA256=$(nix-prefetch -I nixpkgs=${NIXPKGS_ROOT} "{ sha256 }: (import ${NIXPKGS_ROOT}. {}).k3s_1_${MINOR_VERSION}.goModules.overrideAttrs (_: { vendorSha256 = sha256; })")
 set -e
 
 if [ -n "${K3S_VENDOR_SHA256:-}" ]; then
diff --git a/pkgs/applications/networking/cluster/kfctl/default.nix b/pkgs/applications/networking/cluster/kfctl/default.nix
index 2b2909ff6600..efb36b00c6c2 100644
--- a/pkgs/applications/networking/cluster/kfctl/default.nix
+++ b/pkgs/applications/networking/cluster/kfctl/default.nix
@@ -28,6 +28,6 @@ buildGoModule rec {
     homepage = "https://github.com/kubeflow/kfctl";
     license = licenses.asl20;
     maintainers = with maintainers; [ mvnetbiz ];
-    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubemqctl/default.nix b/pkgs/applications/networking/cluster/kubemqctl/default.nix
index 1712a018cbe2..1f7d691f0cc6 100644
--- a/pkgs/applications/networking/cluster/kubemqctl/default.nix
+++ b/pkgs/applications/networking/cluster/kubemqctl/default.nix
@@ -21,6 +21,6 @@ buildGoModule rec {
     description = "Kubemqctl is a command line interface (CLI) for Kubemq Kubernetes Message Broker.";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ brianmcgee ];
-    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
   };
 }
diff --git a/pkgs/applications/networking/cluster/terraform-providers/update-provider b/pkgs/applications/networking/cluster/terraform-providers/update-provider
index 8c6d0b07e862..4d380a141b8f 100755
--- a/pkgs/applications/networking/cluster/terraform-providers/update-provider
+++ b/pkgs/applications/networking/cluster/terraform-providers/update-provider
@@ -151,7 +151,7 @@ update_attr hash "${hash}"
 old_vendor_hash="$(read_attr vendorHash)"
 if [[ ${old_vendor_hash} != null ]]; then
   echo_provider "calculating vendorHash"
-  vendorHash=$(generate_hash go-modules)
+  vendorHash=$(generate_hash goModules)
   update_attr vendorHash "${vendorHash}"
 fi
 
diff --git a/pkgs/applications/system/mgmt/default.nix b/pkgs/applications/system/mgmt/default.nix
index 0bc65dc95052..8a8396630815 100644
--- a/pkgs/applications/system/mgmt/default.nix
+++ b/pkgs/applications/system/mgmt/default.nix
@@ -20,7 +20,7 @@ buildGoModule rec {
     hash = "sha256-jurZvEtiaTjWeDkmCJDIFlTzR5EVglfoDxkFgOilo8s=";
   };
 
-  # patching must be done in prebuild, so it is shared with go-modules
+  # patching must be done in prebuild, so it is shared with goModules
   # see https://github.com/NixOS/nixpkgs/issues/208036
   preBuild = ''
     for file in `find -name Makefile -type f`; do
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index ecd0169acff8..478bed96921d 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -43,7 +43,7 @@ buildPythonApplication rec {
     pname = "kitty-go-modules";
     inherit src version;
     vendorHash = "sha256-jk2EcYVuhV/UQfHAIfpnn8ZIZnwjA/o8YRXmpoC85Vc=";
-  }).go-modules;
+  }).goModules;
 
   buildInputs = [
     harfbuzz
@@ -229,7 +229,6 @@ buildPythonApplication rec {
   '';
 
   passthru = {
-    go-modules = goModules; # allow for updateScript to handle vendorHash
     tests.test = nixosTests.terminal-emulators.kitty;
     updateScript = nix-update-script {};
   };
diff --git a/pkgs/applications/version-management/forgejo/default.nix b/pkgs/applications/version-management/forgejo/default.nix
index b571d0a48dba..bb4a9e01297c 100644
--- a/pkgs/applications/version-management/forgejo/default.nix
+++ b/pkgs/applications/version-management/forgejo/default.nix
@@ -88,7 +88,7 @@ buildGoModule rec {
       --prefix PATH : ${lib.makeBinPath [ bash git gzip openssh ]}
   '';
 
-  # $data is not available in go-modules.drv and preBuild isn't needed
+  # $data is not available in goModules.drv and preBuild isn't needed
   overrideModAttrs = (_: {
     postPatch = null;
     preBuild = null;
diff --git a/pkgs/applications/version-management/git-hound/default.nix b/pkgs/applications/version-management/git-hound/default.nix
index 463d550cbcab..d2be44bc1a2f 100644
--- a/pkgs/applications/version-management/git-hound/default.nix
+++ b/pkgs/applications/version-management/git-hound/default.nix
@@ -26,6 +26,6 @@ buildGoModule rec {
     homepage = "https://github.com/tillson/git-hound";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
-    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
   };
 }
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index c5dd09eb1970..258bc5d71ddc 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -21,11 +21,11 @@ let
 
   self = python3Packages.buildPythonApplication rec {
     pname = "mercurial${lib.optionalString fullBuild "-full"}";
-    version = "6.4.5";
+    version = "6.5";
 
     src = fetchurl {
       url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-      sha256 = "sha256-sLSwC4smOci+OHOUeW8EJb6zOTFN9+cpN/jd0qQbG4o=";
+      sha256 = "sha256-pWA9DTlev2f+XSeruzvTf8wBhx7POUx5NnLSweaL5+c=";
     };
 
     format = "other";
@@ -35,7 +35,7 @@ let
     cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
       inherit src;
       name = "mercurial-${version}";
-      sha256 = "sha256-shB2MRGATTg4l6pJ9FVYfBtnrX/eEHRvPhc8GZTA9ns=";
+      sha256 = "sha256-umjOU3OmTdPmLS4IWncqmKxSa6J4KXwTlGhylFt6TQo=";
       sourceRoot = "mercurial-${version}/rust";
     } else null;
     cargoRoot = if rustSupport then "rust" else null;
diff --git a/pkgs/applications/version-management/sourcehut/fix-gqlgen-trimpath.nix b/pkgs/applications/version-management/sourcehut/fix-gqlgen-trimpath.nix
index 629d767a1caf..4327e395d533 100644
--- a/pkgs/applications/version-management/sourcehut/fix-gqlgen-trimpath.nix
+++ b/pkgs/applications/version-management/sourcehut/fix-gqlgen-trimpath.nix
@@ -3,7 +3,7 @@
 }:
 {
   overrideModAttrs = (_: {
-    # No need to workaround -trimpath: it's not used in go-modules,
+    # No need to workaround -trimpath: it's not used in goModules,
     # but do download `go generate`'s dependencies nonetheless.
     preBuild = ''
       go generate ./loaders
diff --git a/pkgs/applications/virtualization/singularity/generic.nix b/pkgs/applications/virtualization/singularity/generic.nix
index 8da3610ac065..2e4d589d158e 100644
--- a/pkgs/applications/virtualization/singularity/generic.nix
+++ b/pkgs/applications/virtualization/singularity/generic.nix
@@ -93,7 +93,7 @@ in
   inherit pname version src;
 
   # Override vendorHash with the output got from
-  # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).go-modules"
+  # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).goModules"
   # or with `null` when using vendored source tarball.
   inherit vendorHash deleteVendor proxyVendor;
 
diff --git a/pkgs/applications/virtualization/singularity/packages.nix b/pkgs/applications/virtualization/singularity/packages.nix
index 73bed19fb734..a2b47562f8b3 100644
--- a/pkgs/applications/virtualization/singularity/packages.nix
+++ b/pkgs/applications/virtualization/singularity/packages.nix
@@ -18,7 +18,7 @@ let
       };
 
       # Update by running
-      # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).go-modules"
+      # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).goModules"
       # at the root directory of the Nixpkgs repository
       vendorHash = "sha256-PfFubgR/W1WBXIsRO+Kg7hA6ebeAcRiJlTlAZbnl19A=";
 
@@ -49,7 +49,7 @@ let
       };
 
       # Update by running
-      # nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).go-modules"
+      # nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules"
       # at the root directory of the Nixpkgs repository
       vendorHash = "sha256-mBhlH6LSmcJuc6HbU/3Q9ii7vJkW9jcikBWCl8oeMOk=";
 
diff --git a/pkgs/build-support/buildenv/builder.pl b/pkgs/build-support/buildenv/builder.pl
index ebd6026b2597..975e76df05c0 100755
--- a/pkgs/build-support/buildenv/builder.pl
+++ b/pkgs/build-support/buildenv/builder.pl
@@ -126,7 +126,7 @@ sub findFiles {
     return if
         $relName eq "/propagated-build-inputs" ||
         $relName eq "/nix-support" ||
-        $relName =~ /info\/dir/ ||
+        $relName =~ /info\/dir$/ ||
         ( $relName =~ /^\/share\/mime\// && !( $relName =~ /^\/share\/mime\/packages/ ) ) ||
         $baseName eq "perllocal.pod" ||
         $baseName eq "log" ||
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index ae2e3600800b..79ab699bcc25 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -390,6 +390,7 @@ print_results() {
   "date": "$(json_escape "$commitDateStrict8601")",
   "path": "$(json_escape "$finalPath")",
   "$(json_escape "$hashType")": "$(json_escape "$hash")",
+  "hash": "$(nix-hash --to-sri --type $hashType $hash)",
   "fetchLFS": $([[ -n "$fetchLFS" ]] && echo true || echo false),
   "fetchSubmodules": $([[ -n "$fetchSubmodules" ]] && echo true || echo false),
   "deepClone": $([[ -n "$deepClone" ]] && echo true || echo false),
diff --git a/pkgs/build-support/go/module.nix b/pkgs/build-support/go/module.nix
index 61abd040a46f..ced7873e6a2b 100644
--- a/pkgs/build-support/go/module.nix
+++ b/pkgs/build-support/go/module.nix
@@ -6,7 +6,7 @@
 , passthru ? { }
 , patches ? [ ]
 
-  # A function to override the go-modules derivation
+  # A function to override the goModules derivation
 , overrideModAttrs ? (_oldAttrs: { })
 
   # path to go.mod and go.sum directory
@@ -52,9 +52,9 @@ assert (args' ? vendorHash && args' ? vendorSha256) -> throw "both `vendorHash`
 let
   args = removeAttrs args' [ "overrideModAttrs" "vendorSha256" "vendorHash" ];
 
-  go-modules = if (vendorHash == null) then "" else
+  goModules = if (vendorHash == null) then "" else
   (stdenv.mkDerivation {
-    name = "${name}-go-modules";
+    name = "${name}-goModules";
 
     nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ go git cacert ];
 
@@ -163,10 +163,10 @@ let
       cd "$modRoot"
     '' + lib.optionalString (vendorHash != null) ''
       ${if proxyVendor then ''
-        export GOPROXY=file://${go-modules}
+        export GOPROXY=file://${goModules}
       '' else ''
         rm -rf vendor
-        cp -r --reflink=auto ${go-modules} vendor
+        cp -r --reflink=auto ${goModules} vendor
       ''}
     '' + ''
 
@@ -288,7 +288,7 @@ let
 
     disallowedReferences = lib.optional (!allowGoReference) go;
 
-    passthru = passthru // { inherit go go-modules vendorHash; } // { inherit (args') vendorSha256; };
+    passthru = passthru // { inherit go goModules vendorHash; } // { inherit (args') vendorSha256; };
 
     meta = {
       # Add default meta information
diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix
index 739b6d2e2c1d..c61093c67c03 100644
--- a/pkgs/development/compilers/gcc/10/default.nix
+++ b/pkgs/development/compilers/gcc/10/default.nix
@@ -214,10 +214,7 @@ lib.pipe (stdenv.mkDerivation ({
             )
           '';
 
-  # kludge to prevent a mass-rebuild; will be removed in a PR sent to staging
-  crossStageStatic = withoutTargetLibc;
-
-  inherit noSysDirs staticCompiler
+  inherit noSysDirs staticCompiler withoutTargetLibc
     libcCross crossMingw;
 
   inherit (callFile ../common/dependencies.nix { })
diff --git a/pkgs/development/compilers/gcc/11/default.nix b/pkgs/development/compilers/gcc/11/default.nix
index 362bdf019394..92abdebe49b3 100644
--- a/pkgs/development/compilers/gcc/11/default.nix
+++ b/pkgs/development/compilers/gcc/11/default.nix
@@ -228,10 +228,7 @@ lib.pipe (stdenv.mkDerivation ({
             )
           '';
 
-  # kludge to prevent a mass-rebuild; will be removed in a PR sent to staging
-  crossStageStatic = withoutTargetLibc;
-
-  inherit noSysDirs staticCompiler
+  inherit noSysDirs staticCompiler withoutTargetLibc
     libcCross crossMingw;
 
   inherit (callFile ../common/dependencies.nix { })
diff --git a/pkgs/development/compilers/gcc/12/default.nix b/pkgs/development/compilers/gcc/12/default.nix
index ebc1796ec385..9665c2a9fe85 100644
--- a/pkgs/development/compilers/gcc/12/default.nix
+++ b/pkgs/development/compilers/gcc/12/default.nix
@@ -271,10 +271,7 @@ lib.pipe (stdenv.mkDerivation ({
             )
           '';
 
-  # kludge to prevent a mass-rebuild; will be removed in a PR sent to staging
-  crossStageStatic = withoutTargetLibc;
-
-  inherit noSysDirs staticCompiler
+  inherit noSysDirs staticCompiler withoutTargetLibc
     libcCross crossMingw;
 
   inherit (callFile ../common/dependencies.nix { }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
diff --git a/pkgs/development/compilers/gcc/13/default.nix b/pkgs/development/compilers/gcc/13/default.nix
index 5fb78cfd7b40..1b73c251ce6f 100644
--- a/pkgs/development/compilers/gcc/13/default.nix
+++ b/pkgs/development/compilers/gcc/13/default.nix
@@ -265,10 +265,7 @@ lib.pipe (stdenv.mkDerivation ({
             )
           '';
 
-  # kludge to prevent a mass-rebuild; will be removed in a PR sent to staging
-  crossStageStatic = withoutTargetLibc;
-
-  inherit noSysDirs staticCompiler
+  inherit noSysDirs staticCompiler withoutTargetLibc
     libcCross crossMingw;
 
   inherit (callFile ../common/dependencies.nix { }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 3625257efe9a..fa856eff96e5 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -232,10 +232,7 @@ lib.pipe (stdenv.mkDerivation ({
         ''
     else null;
 
-  # kludge to prevent a mass-rebuild; will be removed in a PR sent to staging
-  crossStageStatic = withoutTargetLibc;
-
-  inherit noSysDirs staticCompiler langJava
+  inherit noSysDirs staticCompiler langJava withoutTargetLibc
     libcCross crossMingw;
 
   inherit (callFile ../common/dependencies.nix { })
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index e433e66b9f69..bab79f968db3 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -253,10 +253,7 @@ lib.pipe (stdenv.mkDerivation ({
         ''
     else null;
 
-  # kludge to prevent a mass-rebuild; will be removed in a PR sent to staging
-  crossStageStatic = withoutTargetLibc;
-
-  inherit noSysDirs staticCompiler langJava
+  inherit noSysDirs staticCompiler langJava withoutTargetLibc
     libcCross crossMingw;
 
   inherit (callFile ../common/dependencies.nix { })
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index f64963b906cf..f443babb4b70 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -269,10 +269,7 @@ lib.pipe (stdenv.mkDerivation ({
         ))
     );
 
-  # kludge to prevent a mass-rebuild; will be removed in a PR sent to staging
-  crossStageStatic = withoutTargetLibc;
-
-  inherit noSysDirs staticCompiler langJava
+  inherit noSysDirs staticCompiler langJava withoutTargetLibc
     libcCross crossMingw;
 
   inherit (callFile ../common/dependencies.nix { })
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index 90785143f05e..5b6ea7ead50a 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -218,10 +218,7 @@ lib.pipe (stdenv.mkDerivation ({
         )
       '';
 
-  # kludge to prevent a mass-rebuild; will be removed in a PR sent to staging
-  crossStageStatic = withoutTargetLibc;
-
-  inherit noSysDirs staticCompiler
+  inherit noSysDirs staticCompiler withoutTargetLibc
     libcCross crossMingw;
 
   inherit (callFile ../common/dependencies.nix { })
diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix
index 29f0a88c9551..f903e264b0af 100644
--- a/pkgs/development/compilers/gcc/8/default.nix
+++ b/pkgs/development/compilers/gcc/8/default.nix
@@ -199,10 +199,7 @@ lib.pipe (stdenv.mkDerivation ({
             )
           '';
 
-  # kludge to prevent a mass-rebuild; will be removed in a PR sent to staging
-  crossStageStatic = withoutTargetLibc;
-
-  inherit noSysDirs staticCompiler
+  inherit noSysDirs staticCompiler withoutTargetLibc
     libcCross crossMingw;
 
   inherit (callFile ../common/dependencies.nix { })
diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix
index 29e4117fc6a7..289212a13635 100644
--- a/pkgs/development/compilers/gcc/9/default.nix
+++ b/pkgs/development/compilers/gcc/9/default.nix
@@ -213,10 +213,7 @@ lib.pipe (stdenv.mkDerivation ({
           )
         '';
 
-  # kludge to prevent a mass-rebuild; will be removed in a PR sent to staging
-  crossStageStatic = withoutTargetLibc;
-
-  inherit noSysDirs staticCompiler
+  inherit noSysDirs staticCompiler withoutTargetLibc
     libcCross crossMingw;
 
   inherit (callFile ../common/dependencies.nix { })
diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh
index 5147df1e4cc0..d9016c45e579 100644
--- a/pkgs/development/compilers/gcc/builder.sh
+++ b/pkgs/development/compilers/gcc/builder.sh
@@ -135,7 +135,7 @@ if test "$noSysDirs" = "1"; then
         )
     fi
 
-    if test "$crossStageStatic" == 1; then
+    if test "$withoutTargetLibc" == 1; then
         # We don't want the gcc build to assume there will be a libc providing
         # limits.h in this stage
         makeFlagsArray+=(
@@ -167,7 +167,7 @@ preConfigure() {
         rm -Rf zlib
     fi
 
-    if test -n "$crossMingw" -a -n "$crossStageStatic"; then
+    if test -n "$crossMingw" -a -n "$withoutTargetLibc"; then
         mkdir -p ../mingw
         # --with-build-sysroot expects that:
         cp -R $libcCross/include ../mingw
@@ -185,8 +185,9 @@ preConfigure() {
 
 
 postConfigure() {
-    # Don't store the configure flags in the resulting executables.
-    sed -e '/TOPLEVEL_CONFIGURE_ARGUMENTS=/d' -i Makefile
+    # Avoid store paths when embedding ./configure flags into gcc.
+    # Mangled arguments are still useful when reporting bugs upstream.
+    sed -e "/TOPLEVEL_CONFIGURE_ARGUMENTS=/ s|$NIX_STORE/[a-z0-9]\{32\}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" -i Makefile
 }
 
 
diff --git a/pkgs/development/compilers/go/1.20.nix b/pkgs/development/compilers/go/1.20.nix
index 7eb40c23691e..18fa8db98792 100644
--- a/pkgs/development/compilers/go/1.20.nix
+++ b/pkgs/development/compilers/go/1.20.nix
@@ -46,11 +46,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.20.5";
+  version = "1.20.6";
 
   src = fetchurl {
     url = "https://go.dev/dl/go${version}.src.tar.gz";
-    hash = "sha256-mhXBM7os+v55ZS9IFbYufPwmf2jfG5RUxqsqPKi5aog=";
+    hash = "sha256-Yu5bxvtVuLro9wXgy434bWRTYmtOz5MnnihnCS4Lf3A=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/compilers/rust/1_70.nix b/pkgs/development/compilers/rust/1_70.nix
index 8c91ed01009d..2a22c4643e55 100644
--- a/pkgs/development/compilers/rust/1_70.nix
+++ b/pkgs/development/compilers/rust/1_70.nix
@@ -15,7 +15,6 @@
 , CoreFoundation, Security, SystemConfiguration
 , pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost
 , makeRustPlatform
-, llvmPackages_11
 , llvmPackages_16, llvm_16
 } @ args:
 
@@ -27,8 +26,6 @@ import ./default.nix {
   llvmSharedForHost = pkgsBuildHost.llvmPackages_16.libllvm.override { enableSharedLibraries = true; };
   llvmSharedForTarget = pkgsBuildTarget.llvmPackages_16.libllvm.override { enableSharedLibraries = true; };
 
-  llvmBootstrapForDarwin = llvmPackages_11;
-
   # For use at runtime
   llvmShared = llvm_16.override { enableSharedLibraries = true; };
 
@@ -60,4 +57,4 @@ import ./default.nix {
   rustcPatches = [ ];
 }
 
-(builtins.removeAttrs args [ "pkgsBuildHost" "llvmPackages_11" "llvmPackages_16" "llvm_16"])
+(builtins.removeAttrs args [ "pkgsBuildTarget" "pkgsBuildBuild" "pkgsBuildHost" "llvmPackages_16" "llvm_16"])
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index 0324aca1e4ec..35f5ab79c106 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -5,7 +5,6 @@
 , bootstrapHashes
 , selectRustPackage
 , rustcPatches ? []
-, llvmBootstrapForDarwin
 , llvmShared
 , llvmSharedForBuild
 , llvmSharedForHost
@@ -16,7 +15,6 @@
 , buildPackages
 , newScope, callPackage
 , CoreFoundation, Security, SystemConfiguration
-, pkgsBuildTarget, pkgsBuildBuild
 , makeRustPlatform
 }:
 
@@ -69,11 +67,6 @@ in
 
         # Use boot package set to break cycle
         inherit (bootstrapRustPackages) cargo rustc;
-      } // lib.optionalAttrs (stdenv.cc.isClang && stdenv.hostPlatform == stdenv.buildPlatform) {
-        stdenv = llvmBootstrapForDarwin.stdenv;
-        pkgsBuildBuild = pkgsBuildBuild // { targetPackages.stdenv = llvmBootstrapForDarwin.stdenv; };
-        pkgsBuildHost = pkgsBuildBuild // { targetPackages.stdenv = llvmBootstrapForDarwin.stdenv; };
-        pkgsBuildTarget = pkgsBuildTarget // { targetPackages.stdenv = llvmBootstrapForDarwin.stdenv; };
       });
       rustfmt = self.callPackage ./rustfmt.nix {
         inherit Security;
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 9588e718b3e6..9ad5d3b4a340 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -10,17 +10,15 @@ let
     withGraphviz ? false
   }:
   let
-    # Patches from the openembedded-core project to build vala without graphviz
-    # support. We need to apply an additional patch to allow building when the
-    # header file isn't available at all, but that patch (./gvc-compat.patch)
-    # can be shared between all versions of Vala so far.
+    # Build vala (valadoc) without graphviz support. Inspired from the openembedded-core project.
+    # https://github.com/openembedded/openembedded-core/blob/a5440d4288e09d3e/meta/recipes-devtools/vala/vala/disable-graphviz.patch
     graphvizPatch =
       {
         "0.48" = ./disable-graphviz-0.46.1.patch;
 
         "0.54" = ./disable-graphviz-0.46.1.patch;
 
-        "0.56" = ./disable-graphviz-0.46.1.patch;
+        "0.56" = ./disable-graphviz-0.56.8.patch;
 
       }.${lib.versions.majorMinor version} or (throw "no graphviz patch for this version of vala");
 
@@ -47,7 +45,7 @@ let
     # If we're disabling graphviz, apply the patches and corresponding
     # configure flag. We also need to override the path to the valac compiler
     # so that it can be used to regenerate documentation.
-    patches        = lib.optionals disableGraphviz [ graphvizPatch ./gvc-compat.patch ];
+    patches        = lib.optionals disableGraphviz [ graphvizPatch ];
     configureFlags = lib.optional  disableGraphviz "--disable-graphviz";
     # when cross-compiling ./compiler/valac is valac for host
     # so add the build vala in nativeBuildInputs
@@ -103,8 +101,8 @@ in rec {
   };
 
   vala_0_56 = generic {
-    version = "0.56.7";
-    sha256 = "PTnHWW1fqa6L/q5HZmn4EfcFe397kwhHiie2hEPYsAM=";
+    version = "0.56.9";
+    sha256 = "VVeMfE8Ges4CjlQYBq8kD4CEy2/wzFVMqorAjL+Lzi8=";
   };
 
   vala = vala_0_56;
diff --git a/pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch b/pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch
index 8c3e54b6a959..7c2ded4c8eda 100644
--- a/pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch
+++ b/pkgs/development/compilers/vala/disable-graphviz-0.46.1.patch
@@ -259,3 +259,22 @@ index 5aa4afdea..e79b0b8f5 100644
  
  		return this;
  	}
+diff --git i/libvaladoc/Makefile.am w/libvaladoc/Makefile.am
+index 8dc398cf1..a5d8a45b4 100644
+--- i/libvaladoc/Makefile.am
++++ w/libvaladoc/Makefile.am
+@@ -176,9 +176,13 @@ endif
+ libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \
+ 	libvaladoc.vala.stamp \
+ 	$(libvaladoc_la_VALASOURCES:.vala=.c) \
+-	gvc-compat.c \
+ 	$(NULL)
+ 
++if ENABLE_GRAPHVIZ
++libvaladoc@PACKAGE_SUFFIX@_la_SOURCES += \
++	gvc-compat.c
++endif
++
+ valadoc@PACKAGE_SUFFIX@.vapi valadoc.h: libvaladoc.vala.stamp
+ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES)
+ 	$(VALA_V)$(VALAC) \
diff --git a/pkgs/development/compilers/vala/disable-graphviz-0.56.8.patch b/pkgs/development/compilers/vala/disable-graphviz-0.56.8.patch
new file mode 100644
index 000000000000..37c5ba504e5d
--- /dev/null
+++ b/pkgs/development/compilers/vala/disable-graphviz-0.56.8.patch
@@ -0,0 +1,173 @@
+diff --git a/configure.ac b/configure.ac
+index 088e8f3b5..bded3c54c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -196,13 +196,15 @@ AC_SUBST(GMODULE_LIBS)
+ 
+ AC_ARG_WITH(cgraph, AS_HELP_STRING([--with-cgraph], [Required flag for cross-compilation to define capability of graphviz]), [], with_cgraph=check)
+ AC_ARG_ENABLE(valadoc, AS_HELP_STRING([--disable-valadoc], [Disable valadoc]), enable_valadoc=$enableval, enable_valadoc=yes)
++AC_ARG_ENABLE(graphviz, AS_HELP_STRING([--disable-graphviz], [Disable graphviz usage for valadoc]), enable_graphviz=$enableval, enable_graphviz=yes)
+ AS_IF([test "$VALAC" != :], [FOUND_VALAC_VERION=`$VALAC --version | sed 's/Vala  *//'`
+ 	AS_VERSION_COMPARE(["$FOUND_VALAC_VERION"], ["$VALAC_VALADOC_REQUIRED"], [
+ 		AC_MSG_WARN([Force disable build of valadoc, valac >= $VALAC_VALADOC_REQUIRED is required])
+ 		enable_valadoc=no
+ 	])
+ ])
+-if test x$enable_valadoc = xyes; then
++if test x$enable_valadoc = xyes && test x$enable_graphviz = xyes; then
++	VALAFLAGS="$VALAFLAGS -D HAVE_GRAPHVIZ"
+ 	PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED)
+ 	AC_MSG_CHECKING([for CGRAPH])
+ 	cgraph_tmp_LIBADD="$LIBADD"
+@@ -244,6 +246,7 @@ if test x$enable_valadoc = xyes; then
+ fi
+ AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes")
+ AM_CONDITIONAL(ENABLE_VALADOC, test x$enable_valadoc = xyes)
++AM_CONDITIONAL(ENABLE_GRAPHVIZ, test x$enable_graphviz = xyes)
+ 
+ AC_PATH_PROG([G_IR_COMPILER], [g-ir-compiler], :)
+ AM_CONDITIONAL(HAVE_G_IR_COMPILER, test "$G_IR_COMPILER" != :)
+diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am
+index dad9a9e99..e23266606 100644
+--- a/libvaladoc/Makefile.am
++++ b/libvaladoc/Makefile.am
+@@ -119,10 +119,6 @@ libvaladoc_la_VALASOURCES = \
+ 	content/tablerow.vala \
+ 	content/taglet.vala \
+ 	content/text.vala \
+-	charts/chart.vala \
+-	charts/chartfactory.vala \
+-	charts/hierarchychart.vala \
+-	charts/simplechartfactory.vala \
+ 	parser/manyrule.vala \
+ 	parser/oneofrule.vala \
+ 	parser/optionalrule.vala \
+@@ -149,19 +145,34 @@ libvaladoc_la_VALASOURCES = \
+ 	highlighter/codetoken.vala \
+ 	highlighter/highlighter.vala \
+ 	html/basicdoclet.vala \
+-	html/htmlchartfactory.vala \
+ 	html/linkhelper.vala \
+ 	html/cssclassresolver.vala \
+ 	html/htmlmarkupwriter.vala \
+ 	html/htmlrenderer.vala \
+ 	$(NULL)
+ 
++if ENABLE_GRAPHVIZ
++libvaladoc_la_VALASOURCES += \
++	charts/chart.vala \
++	charts/chartfactory.vala \
++	charts/hierarchychart.vala \
++	charts/simplechartfactory.vala \
++	html/htmlchartfactory.vala \
++	$(NULL)
++endif
++
+ libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \
+ 	libvaladoc.vala.stamp \
+ 	$(libvaladoc_la_VALASOURCES:.vala=.c) \
+-	gvc-compat.c \
+ 	$(NULL)
+ 
++if ENABLE_GRAPHVIZ
++libvaladoc@PACKAGE_SUFFIX@_la_SOURCES += \
++	gvc-compat.c
++
++LIBGVC_PKG = --vapidir $(top_srcdir)/vapi --pkg libgvc
++endif
++
+ valadoc@PACKAGE_SUFFIX@.vapi valadoc.h: libvaladoc.vala.stamp
+ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES)
+ 	$(VALA_V)$(VALAC) \
+@@ -174,7 +185,7 @@ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES)
+ 		--library valadoc \
+ 		--vapi valadoc@PACKAGE_SUFFIX@.vapi \
+ 		--vapidir $(top_srcdir)/vapi --pkg gmodule-2.0 \
+-		--vapidir $(top_srcdir)/vapi --pkg libgvc \
++		$(LIBGVC_PKG) \
+ 		--vapidir $(top_srcdir)/gee --pkg gee \
+ 		--vapidir $(top_srcdir)/vala --pkg vala \
+ 		--vapidir $(top_srcdir)/ccode --pkg ccode \
+@@ -206,6 +217,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc
+ 
+ valadoc@PACKAGE_SUFFIX@.pc: valadoc.pc
+ 	cp $< $@
++if !ENABLE_GRAPHVIZ
++	sed -i "s/libgvc //g" $@
++endif
+ 
+ vapidir = $(datadir)/vala/vapi
+ dist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.vapi
+@@ -213,6 +227,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps
+ 
+ valadoc@PACKAGE_SUFFIX@.deps: valadoc.deps
+ 	cp $< $@
++if !ENABLE_GRAPHVIZ
++	sed -i "s/libgvc//g" $@
++endif
+ 
+ EXTRA_DIST = \
+ 	$(libvaladoc_la_VALASOURCES) \
+diff --git a/libvaladoc/html/basicdoclet.vala b/libvaladoc/html/basicdoclet.vala
+index f4999efd4..03871d687 100644
+--- a/libvaladoc/html/basicdoclet.vala
++++ b/libvaladoc/html/basicdoclet.vala
+@@ -46,7 +46,11 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ 	protected HtmlRenderer _renderer;
+ 	protected Html.MarkupWriter writer;
+ 	protected Html.CssClassResolver cssresolver;
++#if HAVE_GRAPHVIZ
+ 	protected Charts.Factory image_factory;
++#else
++	protected void* image_factory;
++#endif
+ 	protected ErrorReporter reporter;
+ 	protected string package_list_link = "../index.html";
+ 
+@@ -120,7 +124,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ 		this.linker = new LinkHelper ();
+ 
+ 		_renderer = new HtmlRenderer (settings, this.linker, this.cssresolver);
++#if HAVE_GRAPHVIZ
+ 		this.image_factory = new SimpleChartFactory (settings, linker);
++#endif
+ 	}
+ 
+ 
+@@ -1028,6 +1034,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ 	}
+ 
+ 	protected void write_image_block (Api.Node element) {
++#if HAVE_GRAPHVIZ
+ 		if (element is Class || element is Interface || element is Struct) {
+ 			unowned string format = (settings.use_svg_images ? "svg" : "png");
+ 			var chart = new Charts.Hierarchy (image_factory, element);
+@@ -1047,6 +1054,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
+ 									   this.get_img_path_html (element, format)});
+ 			writer.add_usemap (chart);
+ 		}
++#endif
+ 	}
+ 
+ 	public void write_namespace_content (Namespace node, Api.Node? parent) {
+diff --git a/libvaladoc/html/htmlmarkupwriter.vala b/libvaladoc/html/htmlmarkupwriter.vala
+index 5aa4afdea..e79b0b8f5 100644
+--- a/libvaladoc/html/htmlmarkupwriter.vala
++++ b/libvaladoc/html/htmlmarkupwriter.vala
+@@ -51,12 +51,16 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter {
+ 		}
+ 	}
+ 
++#if HAVE_GRAPHVIZ
+ 	public unowned MarkupWriter add_usemap (Charts.Chart chart) {
+ 		string? buf = (string?) chart.write_buffer ("cmapx");
+ 		if (buf != null) {
+ 			raw_text ("\n");
+ 			raw_text ((!) buf);
+ 		}
++#else
++	public unowned MarkupWriter add_usemap (void* chart) {
++#endif
+ 
+ 		return this;
+ 	}
diff --git a/pkgs/development/compilers/vala/gvc-compat.patch b/pkgs/development/compilers/vala/gvc-compat.patch
deleted file mode 100644
index 8c0d25098f14..000000000000
--- a/pkgs/development/compilers/vala/gvc-compat.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git i/libvaladoc/Makefile.am w/libvaladoc/Makefile.am
-index 8dc398cf1..a5d8a45b4 100644
---- i/libvaladoc/Makefile.am
-+++ w/libvaladoc/Makefile.am
-@@ -176,9 +176,13 @@ endif
- libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \
- 	libvaladoc.vala.stamp \
- 	$(libvaladoc_la_VALASOURCES:.vala=.c) \
--	gvc-compat.c \
- 	$(NULL)
- 
-+if ENABLE_GRAPHVIZ
-+libvaladoc@PACKAGE_SUFFIX@_la_SOURCES += \
-+	gvc-compat.c
-+endif
-+
- valadoc@PACKAGE_SUFFIX@.vapi valadoc.h: libvaladoc.vala.stamp
- libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES)
- 	$(VALA_V)$(VALAC) \
diff --git a/pkgs/development/interpreters/perl/intepreter.nix b/pkgs/development/interpreters/perl/intepreter.nix
index be869c2a4e3f..6d543e7d8407 100644
--- a/pkgs/development/interpreters/perl/intepreter.nix
+++ b/pkgs/development/interpreters/perl/intepreter.nix
@@ -195,9 +195,11 @@ stdenv.mkDerivation (rec {
       substituteInPlace "$out"/lib/perl5/*/*/Config_heavy.pl \
         --replace "${libcInc}" /no-such-path \
         --replace "${
-            if stdenv.hasCC then stdenv.cc.cc else "/no-such-path"
+            if stdenv.hasCC then stdenv.cc else "/no-such-path"
           }" /no-such-path \
-        --replace "${stdenv.cc}" /no-such-path \
+        --replace "${
+            if stdenv.hasCC && stdenv.cc.cc != null then stdenv.cc.cc else "/no-such-path"
+        }" /no-such-path \
         --replace "$man" /no-such-path
     '' + lib.optionalString crossCompiling
       ''
diff --git a/pkgs/development/interpreters/ruby/rubygems/default.nix b/pkgs/development/interpreters/ruby/rubygems/default.nix
index 54293b376883..e99155f0f3a7 100644
--- a/pkgs/development/interpreters/ruby/rubygems/default.nix
+++ b/pkgs/development/interpreters/ruby/rubygems/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rubygems";
-  version = "3.4.16";
+  version = "3.4.17";
 
   src = fetchurl {
     url = "https://rubygems.org/rubygems/rubygems-${version}.tgz";
-    hash = "sha256-T58wDLMOCPPwoPuXdZvpXeF7yERXvW1lPxVqe8zFs6M=";
+    hash = "sha256-SvqqlGPiqHeZQ0Mvulbgc5bM7E1O3HK7BtnbiscG0vE=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index cf6cf4f93b1d..d4c3cd394ce6 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -32,6 +33,14 @@ stdenv.mkDerivation rec {
     sha256 = "NzFt9DypmJzlOdVM9CmnaMKLs4oLNJUL6t0EIYJ+31U=";
   };
 
+  patches = [
+    # Fix implicit declaration of `strcasecmp`, which is an error on clang 16.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/at-spi2-core/-/merge_requests/147.patch";
+      hash = "sha256-UU2n//Z9F1SyUGyuDKsiwZDyThsp/tJprz/zolDDTyw=";
+    })
+  ];
+
   nativeBuildInputs = [
     glib
     meson
diff --git a/pkgs/development/libraries/db/db-4.8.nix b/pkgs/development/libraries/db/db-4.8.nix
index 9f2a916317e4..81705374381e 100644
--- a/pkgs/development/libraries/db/db-4.8.nix
+++ b/pkgs/development/libraries/db/db-4.8.nix
@@ -3,8 +3,11 @@
 import ./generic.nix (args // {
   version = "4.8.30";
   sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0";
-  extraPatches = [ ./clang-4.8.patch ./CVE-2017-10140-4.8-cwd-db_config.patch ]
-    ++ lib.optionals stdenv.isDarwin [ ./darwin-mutexes-4.8.patch ];
+  extraPatches = [
+    ./clang-4.8.patch
+    ./CVE-2017-10140-4.8-cwd-db_config.patch
+    ./darwin-mutexes-4.8.patch
+  ];
 
   drvArgs.hardeningDisable = [ "format" ];
   drvArgs.doCheck = false;
diff --git a/pkgs/development/libraries/db/db-5.3.nix b/pkgs/development/libraries/db/db-5.3.nix
index 3fd08c510c27..2362cc9eecb0 100644
--- a/pkgs/development/libraries/db/db-5.3.nix
+++ b/pkgs/development/libraries/db/db-5.3.nix
@@ -3,6 +3,9 @@
 import ./generic.nix (args // {
   version = "5.3.28";
   sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0";
-  extraPatches = [ ./clang-5.3.patch ./CVE-2017-10140-cwd-db_config.patch ]
-    ++ lib.optionals stdenv.isDarwin [ ./darwin-mutexes.patch ];
+  extraPatches = [
+    ./clang-5.3.patch
+    ./CVE-2017-10140-cwd-db_config.patch
+    ./darwin-mutexes.patch
+  ];
 })
diff --git a/pkgs/development/libraries/db/db-6.0.nix b/pkgs/development/libraries/db/db-6.0.nix
index a9b748e34905..94c8d8976131 100644
--- a/pkgs/development/libraries/db/db-6.0.nix
+++ b/pkgs/development/libraries/db/db-6.0.nix
@@ -4,6 +4,9 @@ import ./generic.nix (args // {
   version = "6.0.20";
   sha256 = "00r2aaglq625y8r9xd5vw2y070plp88f1mb2gbq3kqsl7128lsl0";
   license = lib.licenses.agpl3;
-  extraPatches = [ ./clang-6.0.patch ./CVE-2017-10140-cwd-db_config.patch ]
-    ++ lib.optionals stdenv.isDarwin [ ./darwin-mutexes.patch ];
+  extraPatches = [
+    ./clang-6.0.patch
+    ./CVE-2017-10140-cwd-db_config.patch
+    ./darwin-mutexes.patch
+  ];
 })
diff --git a/pkgs/development/libraries/db/db-6.2.nix b/pkgs/development/libraries/db/db-6.2.nix
index 4b3a3c6129a7..e526555b06e1 100644
--- a/pkgs/development/libraries/db/db-6.2.nix
+++ b/pkgs/development/libraries/db/db-6.2.nix
@@ -4,6 +4,9 @@ import ./generic.nix (args // {
   version = "6.2.23";
   sha256 = "1isxx4jfmnh913jzhp8hhfngbk6dsg46f4kjpvvc56maj64jqqa7";
   license = lib.licenses.agpl3;
-  extraPatches = [ ./clang-6.0.patch ./CVE-2017-10140-cwd-db_config.patch ]
-    ++ lib.optionals stdenv.isDarwin [ ./darwin-mutexes.patch ];
+  extraPatches = [
+    ./clang-6.0.patch
+    ./CVE-2017-10140-cwd-db_config.patch
+    ./darwin-mutexes.patch
+  ];
 })
diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix
index 5bd5ed44b343..d715c1ffc8b1 100644
--- a/pkgs/development/libraries/db/generic.nix
+++ b/pkgs/development/libraries/db/generic.nix
@@ -10,9 +10,6 @@
 , drvArgs ? {}
 }:
 
-let
-  shouldReconfigure = stdenv.cc.isClang;
-in
 stdenv.mkDerivation (rec {
   pname = "db";
   inherit version;
@@ -24,16 +21,16 @@ stdenv.mkDerivation (rec {
 
   # The provided configure script features `main` returning implicit `int`, which causes
   # configure checks to work incorrectly with clang 16.
-  nativeBuildInputs = lib.optionals stdenv.cc.isClang [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook ];
 
   patches = extraPatches;
 
   outputs = [ "bin" "out" "dev" ];
 
   # Required when regenerated the configure script to make sure the vendored macros are found.
-  autoreconfFlags = lib.optionalString shouldReconfigure [ "-fi" "-Iaclocal" "-Iaclocal_java" ];
+  autoreconfFlags = [ "-fi" "-Iaclocal" "-Iaclocal_java" ];
 
-  preAutoreconf = lib.optionalString shouldReconfigure ''
+  preAutoreconf = ''
     pushd dist
     # Upstream’s `dist/s_config` cats everything into `aclocal.m4`, but that doesn’t work with
     # autoreconfHook, so cat `config.m4` to another file. Otherwise, it won’t be found by `aclocal`.
@@ -43,7 +40,7 @@ stdenv.mkDerivation (rec {
   # This isn’t pretty. The version information is kept separate from the configure script.
   # After the configure script is regenerated, the version information has to be replaced with the
   # contents of `dist/RELEASE`.
-  postAutoreconf = lib.optionalString shouldReconfigure ''
+  postAutoreconf = ''
     (
       declare -a vars=(
         "DB_VERSION_FAMILY"
diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix
index 3db1a36e3f3c..55425c6aa7f2 100644
--- a/pkgs/development/libraries/gjs/default.nix
+++ b/pkgs/development/libraries/gjs/default.nix
@@ -31,13 +31,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "gjs";
-  version = "1.76.0";
+  version = "1.76.2";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-pj8VaWSxNgU+q1HqATEU59fBk7dRjSjAQLawLDyTOm0=";
+    sha256 = "sha256-99jJ1lPqb9eK/kpQcg4EaqK/wHj9pjXdEwZ90ZnGJdQ=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index 35091bcbcfcd..8b7c18cf1335 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glib-networking";
-  version = "2.76.0";
+  version = "2.76.1";
 
   outputs = [ "out" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "FJoFoXnmKaU4viVmKqMktJnXxFScUVHbU3PngKG/G5o=";
+    sha256 = "XGmKmZTd5R79+xAmpWaYoiHWJQ6J3FDrzd2nuBSApCs=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index c3955bc10e30..8a1ba46f50eb 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -56,11 +56,11 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "glib";
-  version = "2.76.3";
+  version = "2.76.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${lib.versions.majorMinor finalAttrs.version}/glib-${finalAttrs.version}.tar.xz";
-    sha256 = "wL5ETkA9fDGE0fOU+J8LZEcQtekzG1T6TotQN4E60yo=";
+    sha256 = "WloZHJaDbhZqd3H36myisAacYDx9o8uhzTjRaUo5Xdo=";
   };
 
   patches = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 3aebf03b8ce0..f10d90a0454b 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -192,6 +192,7 @@ stdenv.mkDerivation rec {
     libfreeaptx
     zxing-cpp
     usrsctp
+    wildmidi
   ] ++ lib.optionals opencvSupport [
     opencv4
   ] ++ lib.optionals enableZbar [
@@ -212,9 +213,6 @@ stdenv.mkDerivation rec {
     wayland
     wayland-protocols
   ] ++ lib.optionals (!stdenv.isDarwin) [
-    # wildmidi requires apple's OpenAL
-    # TODO: package apple's OpenAL, fix wildmidi, include on Darwin
-    wildmidi
     # TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
     mjpegtools
 
@@ -318,7 +316,6 @@ stdenv.mkDerivation rec {
     "-Duvch264=disabled" # requires gudev
     "-Dv4l2codecs=disabled" # requires gudev
     "-Dladspa=disabled" # requires lrdf
-    "-Dwildmidi=disabled" # see dependencies above
   ] ++ lib.optionals (!stdenv.isLinux || !stdenv.isx86_64) [
     "-Dqsv=disabled" # Linux (and Windows) x86 only
   ] ++ lib.optionals (!gst-plugins-base.glEnabled) [
diff --git a/pkgs/development/libraries/gupnp-av/default.nix b/pkgs/development/libraries/gupnp-av/default.nix
index 1627e66d278e..c43f69fd97b5 100644
--- a/pkgs/development/libraries/gupnp-av/default.nix
+++ b/pkgs/development/libraries/gupnp-av/default.nix
@@ -41,6 +41,10 @@ stdenv.mkDerivation rec {
     libxml2
   ];
 
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error=deprecated-declarations"
+  ];
+
   mesonFlags = [
     "-Dgtk_doc=true"
   ];
diff --git a/pkgs/development/libraries/gupnp/1.6.nix b/pkgs/development/libraries/gupnp/1.6.nix
index 2b3cd2566b5b..da830a6366c9 100644
--- a/pkgs/development/libraries/gupnp/1.6.nix
+++ b/pkgs/development/libraries/gupnp/1.6.nix
@@ -1,6 +1,5 @@
 { stdenv
 , lib
-, fetchpatch
 , fetchurl
 , meson
 , ninja
@@ -17,24 +16,15 @@
 
 stdenv.mkDerivation rec {
   pname = "gupnp";
-  version = "1.6.3";
+  version = "1.6.4";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-T09Biwe4EWTfH3q2EuKOTAFsLQhbik85+XlF+LFe4kg=";
+    sha256 = "sha256-1sPQNYOET6UqvgAwQxhgB/DIQUX+OwD6slmVvtqb5Vo=";
   };
 
-  patches = [
-    (fetchpatch {
-      # https://gitlab.gnome.org/GNOME/gupnp/-/merge_requests/32
-      name = "gi-docgen-as-native-dep.patch";
-      url = "https://gitlab.gnome.org/GNOME/gupnp/-/commit/11d4a33cff1f5d8b8ad4b80c4506246a9e0dff8f.diff";
-      hash = "sha256-+p4vzUG2v+7mxtQ5AUcEI7SW0cDX6XlzqlyegF+I1Go=";
-    })
-  ];
-
   depsBuildBuild = [
     pkg-config
   ];
diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix
index bebf109d2778..4bff529a5156 100644
--- a/pkgs/development/libraries/gupnp/default.nix
+++ b/pkgs/development/libraries/gupnp/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchurl
+, fetchpatch2
 , meson
 , ninja
 , pkg-config
@@ -33,6 +34,13 @@ stdenv.mkDerivation rec {
   patches = [
     # Bring .pc file in line with our patched pkg-config.
     ./0001-pkg-config-Declare-header-dependencies-as-public.patch
+
+    # Fix build against libxml2 2.11
+    # https://gitlab.gnome.org/GNOME/gupnp/-/merge_requests/34
+    (fetchpatch2 {
+      url = "https://gitlab.gnome.org/GNOME/gupnp/-/commit/bc56f02b0f89e96f2bd74af811903d9931965f58.patch";
+      hash = "sha256-KCHlq7Es+WLIWKgIgGVTaHarVQIiZPEi5r6nMAhXTgY=";
+    })
   ];
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/iso-codes/default.nix b/pkgs/development/libraries/iso-codes/default.nix
index aca509b3b036..f5a4c46f5791 100644
--- a/pkgs/development/libraries/iso-codes/default.nix
+++ b/pkgs/development/libraries/iso-codes/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iso-codes";
-  version = "4.11.0";
+  version = "4.15.0";
 
   src = fetchurl {
     url = "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/v${version}/${pname}-v${version}.tar.gz";
-    sha256 = "sha256-QI95nfQTVGj6fKNetrBcQAS+pEPYHKWLibLkgkAagrs=";
+    sha256 = "sha256-uDtUudfdbrh3OAs+xG83CwXa8sv6ExxhLwNZjWVMDvg=";
   };
 
   nativeBuildInputs = [ gettext python3 ];
diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix
index a807226f75ab..60c13040ae5e 100644
--- a/pkgs/development/libraries/libassuan/default.nix
+++ b/pkgs/development/libraries/libassuan/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libassuan";
-  version = "2.5.5";
+  version = "2.5.6";
 
   src = fetchurl {
     url = "mirror://gnupg/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-jowvzJgvnKZ9y7HZXi3HRrFzmkZovCCzo8W+Yy7bNOQ=";
+    sha256 = "sha256-6f0nIY1TlJBOTjl4j5sXQnEcPmtBaJoxqjOAvVqk9CY=";
   };
 
   outputs = [ "out" "dev" "info" ];
diff --git a/pkgs/development/libraries/libdc1394/default.nix b/pkgs/development/libraries/libdc1394/default.nix
index 379f5397ec04..9ca5581b3bff 100644
--- a/pkgs/development/libraries/libdc1394/default.nix
+++ b/pkgs/development/libraries/libdc1394/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdc1394";
-  version = "2.2.6";
+  version = "2.2.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/libdc1394/${pname}-${version}.tar.gz";
-    sha256 = "1v8gq54n1pg8izn7s15yylwjf8r1l1dmzbm2yvf6pv2fmb4mz41b";
+    sha256 = "sha256-U3zreN087ycaGD9KF2GR0c7PhfAlUg5r03WLDhnmYJ8=";
   };
 
   buildInputs = [ libusb1 ]
diff --git a/pkgs/development/libraries/libde265/default.nix b/pkgs/development/libraries/libde265/default.nix
index c7a5a85ae6b6..9c1a10f9f5b1 100644
--- a/pkgs/development/libraries/libde265/default.nix
+++ b/pkgs/development/libraries/libde265/default.nix
@@ -1,13 +1,12 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , autoreconfHook
 , pkg-config
 
 , callPackage
 
-# for passthru.tests
+  # for passthru.tests
 , imagemagick
 , libheif
 , imlib2Full
@@ -15,29 +14,16 @@
 }:
 
 stdenv.mkDerivation (finalAttrs: rec {
-  version = "1.0.11";
+  version = "1.0.12";
   pname = "libde265";
 
   src = fetchFromGitHub {
     owner = "strukturag";
     repo = "libde265";
-    rev = "v${version}";
-    sha256 = "sha256-0aRUh5h49fnjBjy42A5fWYHnhnQ4CFoeSIXZilZewW8=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-pl1r3n4T4FcJ4My/wCE54R2fmTdrlJOvgb2U0MZf1BI=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2023-27102.patch";
-      url = "https://github.com/strukturag/libde265/commit/0b1752abff97cb542941d317a0d18aa50cb199b1.patch";
-      sha256 = "sha256-q0NKuk2r5RQT9MJpRO3CTPj6VqYRBnffs9yZ+GM+lNc=";
-    })
-    (fetchpatch {
-      name = "CVE-2023-27103.patch";
-      url = "https://github.com/strukturag/libde265/commit/d6bf73e765b7a23627bfd7a8645c143fd9097995.patch";
-      sha256 = "sha256-vxciVzSuVCVDpdz+TKg2tMWp2ArubYji5GLaR9VP4F0=";
-    })
-  ];
-
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libgudev/default.nix b/pkgs/development/libraries/libgudev/default.nix
index 59df64e63558..845caf57caa9 100644
--- a/pkgs/development/libraries/libgudev/default.nix
+++ b/pkgs/development/libraries/libgudev/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , pkg-config
 , meson
@@ -9,42 +10,23 @@
 , vala
 , gobject-introspection
 , fetchpatch
+, glibcLocales
+, umockdev
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "libgudev";
-  version = "237";
+  version = "238";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1al6nr492nzbm8ql02xhzwci2kwb1advnkaky3j9636jf08v41hd";
+    url = "mirror://gnome/sources/libgudev/${lib.versions.majorMinor finalAttrs.version}/libgudev-${finalAttrs.version}.tar.xz";
+    hash = "sha256-YSZqsa/J1z28YKiyr3PpnS/f9H2ZVE0IV2Dk+mZ7XdE=";
   };
 
-  patches = [
-    # https://gitlab.gnome.org/GNOME/libgudev/-/merge_requests/27
-    (fetchpatch {
-      name = "gir-dep";
-      url = "https://gitlab.gnome.org/GNOME/libgudev/-/commit/6bdde16a0cfde462502fce1d9a7eb6ec33f388bb.diff";
-      sha256 = "sha256-bDtLUxOLEgyJURshqEQC4YCBTUVzQQP4qoWL786b3Z8=";
-    })
-    (fetchpatch {
-      name = "vapi-dep";
-      url = "https://gitlab.gnome.org/GNOME/libgudev/-/commit/d1f6457910842ba869c9871e7a2131fbe0d6b6be.diff";
-      sha256 = "sha256-/PY8ziZST/vQvksJm69a3O6/YesknIxCDvj0z40piik=";
-    })
-    (fetchpatch {
-      name = "gtk-doc-dep";
-      url = "https://gitlab.gnome.org/GNOME/libgudev/-/commit/34336cbadbcaac8b9b029f730eed0bdf4c633617.diff";
-      sha256 = "sha256-Bk05xe69LGqWH1uhLMZhwbVMSsCTyBrrOvqWic2TTd4=";
-    })
-  ];
-
   strictDeps = true;
 
-  depsBuildBuild = [ pkg-config ];
-
   nativeBuildInputs = [
     pkg-config
     meson
@@ -59,14 +41,16 @@ stdenv.mkDerivation rec {
     glib
   ];
 
-  mesonFlags = [
-    # There's a dependency cycle with umockdev and the tests fail to LD_PRELOAD anyway
-    "-Dtests=disabled"
+  checkInputs = [
+    glibcLocales
+    umockdev
   ];
 
+  doCheck = true;
+
   passthru = {
     updateScript = gnome.updateScript {
-      packageName = pname;
+      packageName = "libgudev";
       versionPolicy = "none";
     };
   };
@@ -78,4 +62,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.lgpl2Plus;
   };
-}
+})
diff --git a/pkgs/development/libraries/libnftnl/default.nix b/pkgs/development/libraries/libnftnl/default.nix
index afbfa5349522..747c8893eb0f 100644
--- a/pkgs/development/libraries/libnftnl/default.nix
+++ b/pkgs/development/libraries/libnftnl/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, pkg-config, libmnl }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.5";
+  version = "1.2.6";
   pname = "libnftnl";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/${pname}/files/${pname}-${version}.tar.xz";
-    hash = "sha256-lm3gqBIMilPbhZiJdJNov7LLoMTwtMGjDSZOzMRfEiY=";
+    hash = "sha256-zurqLNkhR9oZ8To1p/GkvCdn/4l+g45LR5z1S1nHd/Q=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/libraries/libopus/default.nix b/pkgs/development/libraries/libopus/default.nix
index 679de601aa79..b2b095f5607e 100644
--- a/pkgs/development/libraries/libopus/default.nix
+++ b/pkgs/development/libraries/libopus/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./fix-pkg-config-paths.patch
+    # Some tests time out easily on slower machines
+    ./test-timeout.patch
     # Fix meson build for arm64. Remove with next release
     # https://gitlab.xiph.org/xiph/opus/-/merge_requests/59
     (fetchpatch {
diff --git a/pkgs/development/libraries/libopus/test-timeout.patch b/pkgs/development/libraries/libopus/test-timeout.patch
new file mode 100644
index 000000000000..e20f12cc1d54
--- /dev/null
+++ b/pkgs/development/libraries/libopus/test-timeout.patch
@@ -0,0 +1,16 @@
+diff --git a/tests/meson.build b/tests/meson.build
+index 5f3ac9d..74b2de7 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -1,8 +1,8 @@
+ # Tests that link to libopus
+ opus_tests = [
+-  ['test_opus_api'],
+-  ['test_opus_decode', [], 60],
+-  ['test_opus_encode', 'opus_encode_regressions.c', 120],
++  ['test_opus_api', [], 60],
++  ['test_opus_decode', [], 120],
++  ['test_opus_encode', 'opus_encode_regressions.c', 240],
+   ['test_opus_padding'],
+   ['test_opus_projection'],
+ ]
diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix
index e2c7fcea1953..62aa346e002a 100644
--- a/pkgs/development/libraries/libqmi/default.nix
+++ b/pkgs/development/libraries/libqmi/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitLab
-, fetchpatch2
 , meson
 , ninja
 , pkg-config
@@ -24,7 +23,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libqmi";
-  version = "1.32.2";
+  version = "1.32.4";
 
   outputs = [ "out" "dev" ]
     ++ lib.optional withIntrospection "devdoc";
@@ -34,18 +33,9 @@ stdenv.mkDerivation rec {
     owner = "mobile-broadband";
     repo = "libqmi";
     rev = version;
-    hash = "sha256-XIbeWgkPiJL8hN8Rb6KFt5Q5sG3KsiEQr0EnhwmI6h8=";
+    hash = "sha256-cczGvoD+2+G6uiAt0Iv1BO4/FqzO9bkqhFsEwOfp7qw=";
   };
 
-  patches = [
-    # Fix pkg-config file missing qrtr in Requires.
-    # https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/issues/99
-    (fetchpatch2 {
-      url = "https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/commit/7d08150910974c6bd2c29f887c2c6d4a3526e085.patch";
-      hash = "sha256-LFrlm2ZqLqewLGO2FxL5kFYbZ7HaxdxvVHsFHYSgZ4Y=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/development/libraries/librdf/raptor2.nix b/pkgs/development/libraries/librdf/raptor2.nix
index b085e080803b..4503a0cc43ed 100644
--- a/pkgs/development/libraries/librdf/raptor2.nix
+++ b/pkgs/development/libraries/librdf/raptor2.nix
@@ -35,6 +35,13 @@ stdenv.mkDerivation rec {
       url = "https://github.com/dajobe/raptor/commit/fa1ef9a27d8762f5588ac2e92554a188e73dee9f.diff";
       sha256 = "sha256-zXIbrYGgC9oTpiD0WUikT4vRdc9b6bsyfnDkwUSlqao=";
     })
+    # pull upstream fix for libxml2-2.11 API compatibility:
+    #   https://github.com/dajobe/raptor/pull/58
+    (fetchpatch {
+      name = "libxml2-2.11.patch";
+      url = "https://github.com/dajobe/raptor/commit/4dbc4c1da2a033c497d84a1291c46f416a9cac51.patch";
+      hash = "sha256-fHfvncGymzMtxjwtakCNSr/Lem12UPIHAAcAac648w4=";
+    })
   ];
 
   nativeBuildInputs = [ pkg-config cmake perl bison flex ];
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 57ed620fbf8d..9520dda51c48 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -30,30 +30,32 @@
 , nix
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "librsvg";
-  version = "2.55.1";
+  version = "2.56.2";
 
   outputs = [ "out" "dev" ] ++ lib.optionals withIntrospection [
     "devdoc"
   ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "a69IqdOlb9E7v7ufH3Z1myQLcKH6Ig/SOEdNZqkm+Yw=";
+    url = "mirror://gnome/sources/librsvg/${lib.versions.majorMinor finalAttrs.version}/librsvg-${finalAttrs.version}.tar.xz";
+    sha256 = "PsPE2Pc+C6S5EwAmlp6DccCStzQpjTbi/bPrSvzsEgA=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
-    inherit src;
-    name = "${pname}-${version}";
-    hash = "sha256-nRmOB9Jo+mmB0+wXrQvoII4e0ucV7bNCDeuk6CbcPdk=";
+    inherit (finalAttrs) src;
+    name = "librsvg-deps-${finalAttrs.version}";
+    hash = "sha256-GIEpZ5YMvmYQLcaLXseXQ6gIF7ICtUKq28JCVJ3PEYk=";
     # TODO: move this to fetchCargoTarball
     dontConfigure = true;
   };
 
   strictDeps = true;
 
-  depsBuildBuild = [ pkg-config ];
+  depsBuildBuild = [
+    pkg-config
+  ];
 
   nativeBuildInputs = [
     gdk-pixbuf
@@ -137,6 +139,13 @@ stdenv.mkDerivation rec {
     # Merge gdkpixbuf and librsvg loaders
     cat ${lib.getLib gdk-pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache $GDK_PIXBUF/loaders.cache > $GDK_PIXBUF/loaders.cache.tmp
     mv $GDK_PIXBUF/loaders.cache.tmp $GDK_PIXBUF/loaders.cache
+
+    mkdir -p "$out/share/bash-completion/completions/"
+    $out/bin/rsvg-convert --completion bash > "$out/share/bash-completion/completions/rsvg-convert"
+    mkdir -p "$out/share/zsh/site-functions/"
+    $out/bin/rsvg-convert --completion zsh > "$out/share/zsh/site-functions/_rsvg-convert"
+    mkdir -p "$out/share/fish/vendor_completions.d/"
+    $out/bin/rsvg-convert --completion fish > "$out/share/fish/vendor_completions.d/rsvg-convert.fish"
   '';
 
   postFixup = lib.optionalString withIntrospection ''
@@ -189,4 +198,4 @@ stdenv.mkDerivation rec {
     mainProgram = "rsvg-convert";
     platforms = platforms.unix;
   };
-}
+})
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index 8d602a8c70b1..7796ec251582 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libva" + lib.optionalString minimal "-minimal";
-  version = "2.18.0";
+  version = "2.19.0";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "libva";
     rev    = version;
-    sha256 = "sha256-VD+CTF0QLfzrUr4uFiyDlZux3MqsyyuJF/cXuhOFzwo=";
+    sha256 = "sha256-M6mAHvGl4d9EqdkDBSxSbpZUCUcrkpnf+hfo16L3eHs=";
   };
 
   outputs = [ "dev" "out" ];
diff --git a/pkgs/development/libraries/libxcrypt/default.nix b/pkgs/development/libraries/libxcrypt/default.nix
index e45e36b0b5fb..d45155e80029 100644
--- a/pkgs/development/libraries/libxcrypt/default.nix
+++ b/pkgs/development/libraries/libxcrypt/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libxcrypt";
-  version = "4.4.35";
+  version = "4.4.36";
 
   src = fetchurl {
     url = "https://github.com/besser82/libxcrypt/releases/download/v${finalAttrs.version}/libxcrypt-${finalAttrs.version}.tar.xz";
-    hash = "sha256-qMk1UFtV8d8NF/i/1ZRox8Zwmh0xgxsPjj4EWrj9RV0=";
+    hash = "sha256-5eH0yu4KAd4q7ibjE4gH1tPKK45nKHlm0f79ZeH9iUM=";
   };
 
   outputs = [
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index a5eafa0fdecb..d670f8e96984 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -34,7 +34,7 @@ in
 let
 libxml = stdenv.mkDerivation rec {
   pname = "libxml2";
-  version = "2.10.4";
+  version = "2.11.4";
 
   outputs = [ "bin" "dev" "out" "doc" ]
     ++ lib.optional pythonSupport "py"
@@ -43,24 +43,9 @@ libxml = stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/libxml2/${lib.versions.majorMinor version}/libxml2-${version}.tar.xz";
-    sha256 = "7QyRxYRQCPGTZznk7uIDVTHByUdCxlQfRO5m2IWUjUU=";
+    sha256 = "c34df4qz8TlynKE6JJT9F78w3bS3pCfPM2JSyrV/V/c=";
   };
 
-  patches = [
-    # Upstream bugs:
-    #   https://bugzilla.gnome.org/show_bug.cgi?id=789714
-    #   https://gitlab.gnome.org/GNOME/libxml2/issues/64
-    # Patch from https://bugzilla.opensuse.org/show_bug.cgi?id=1065270 ,
-    # but only the UTF-8 part.
-    # Can also be mitigated by fixing malformed XML inputs, such as in
-    # https://gitlab.gnome.org/GNOME/gnumeric/merge_requests/3 .
-    # Other discussion:
-    #   https://github.com/itstool/itstool/issues/22
-    #   https://github.com/NixOS/nixpkgs/pull/63174
-    #   https://github.com/NixOS/nixpkgs/pull/72342
-    ./utf8-xmlErrorFuncHandler.patch
-  ];
-
   strictDeps = true;
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libxml2/utf8-xmlErrorFuncHandler.patch b/pkgs/development/libraries/libxml2/utf8-xmlErrorFuncHandler.patch
deleted file mode 100644
index 9f4c99b09341..000000000000
--- a/pkgs/development/libraries/libxml2/utf8-xmlErrorFuncHandler.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Index: libxml2-2.9.5/python/libxml.c
-===================================================================
---- libxml2-2.9.5.orig/python/libxml.c
-+++ libxml2-2.9.5/python/libxml.c
-@@ -1620,6 +1620,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
-     PyObject *message;
-     PyObject *result;
-     char str[1000];
-+    unsigned char *ptr = (unsigned char *)str;
- 
- #ifdef DEBUG_ERROR
-     printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg);
-@@ -1636,10 +1637,16 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
- 	    str[999] = 0;
-         va_end(ap);
- 
-+#if PY_MAJOR_VERSION >= 3
-+        /* Ensure the error string doesn't start at UTF8 continuation. */
-+        while (*ptr && (*ptr & 0xc0) == 0x80)
-+            ptr++;
-+#endif
-+
-         list = PyTuple_New(2);
-         PyTuple_SetItem(list, 0, libxml_xmlPythonErrorFuncCtxt);
-         Py_XINCREF(libxml_xmlPythonErrorFuncCtxt);
--        message = libxml_charPtrConstWrap(str);
-+        message = libxml_charPtrConstWrap(ptr);
-         PyTuple_SetItem(list, 1, message);
-         result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list);
-         Py_XDECREF(list);
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index 054e0c4b9fda..3a5c89557459 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -17,14 +17,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libxslt";
-  version = "1.1.37";
+  version = "1.1.38";
 
   outputs = [ "bin" "dev" "out" "doc" "devdoc" ] ++ lib.optional pythonSupport "py";
   outputMan = "bin";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Oksn3IAnzNYUZyWVAzbx7FIJKPMg8UTrX6eZCuYSOrQ=";
+    sha256 = "HzJFBCWBmgmsr/Krelp/ii7HlW5QXXvutF6EPQ4eyrE=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/mutest/default.nix b/pkgs/development/libraries/mutest/default.nix
index f2d3a5595530..f8e02b65774c 100644
--- a/pkgs/development/libraries/mutest/default.nix
+++ b/pkgs/development/libraries/mutest/default.nix
@@ -1,20 +1,22 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitHub
 , meson
 , ninja
+, unstableGitUpdater
 }:
 
 stdenv.mkDerivation {
   pname = "mutest";
-  version = "unstable-2019-08-26";
+  version = "0-unstable-2023-02-24";
 
   outputs = [ "out" "dev" ];
 
   src = fetchFromGitHub {
     owner = "ebassi";
     repo = "mutest";
-    rev = "e6246c9ae4f36ffe8c021f0a80438f6c7a6efa3a";
-    sha256 = "0gdqwq6fvk06wld4rhnw5752hahrvhd69zrci045x25rwx90x26q";
+    rev = "18a20071773f7c4b75e82a931ef9b916b273b3e5";
+    sha256 = "z0kASte0/I48Fgxhblu24MjGHidWomhfFOhfStGtPn4=";
   };
 
   nativeBuildInputs = [
@@ -24,8 +26,12 @@ stdenv.mkDerivation {
 
   doCheck = true;
 
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
   meta = with lib; {
-    homepage = "https://ebassi.github.io/mutest/mutest.md.html";
+    homepage = "https://github.com/ebassi/mutest";
     description = "A BDD testing framework for C, inspired by Mocha";
     license = licenses.mit;
     maintainers = with maintainers; [ jtojnar ];
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index c79f1c908993..cb8333704ff1 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -139,6 +139,13 @@ stdenv.mkDerivation (finalAttrs: {
       done
     done
 
+    # add pkg-config aliases for libraries that are built-in to libncurses(w)
+    for library in tinfo tic; do
+      for suffix in "" w; do
+        ln -svf ncurses$suffix.pc $dev/lib/pkgconfig/$library$suffix.pc
+      done
+    done
+
     # move some utilities to $bin
     # these programs are used at runtime and don't really belong in $dev
     moveToOutput "bin/clear" "$out"
diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix
index 048d91432b53..1a135fa6d4a8 100644
--- a/pkgs/development/libraries/openexr/default.nix
+++ b/pkgs/development/libraries/openexr/default.nix
@@ -41,11 +41,13 @@ stdenv.mkDerivation rec {
     ./gcc-13.patch
   ];
 
-  # tests are determined to use /var/tmp on unix
   postPatch = ''
+    # tests are determined to use /var/tmp on unix
     find . -name tmpDir.h | while read -r f ; do
       substituteInPlace $f --replace '/var/tmp' "$TMPDIR"
     done
+    # On slower machines this test can take more than the default 1500 seconds
+    echo 'set_tests_properties(OpenEXR.IlmImf PROPERTIES TIMEOUT 3000)' >> OpenEXR/IlmImfTest/CMakeLists.txt
   '';
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index 0f659654e243..eded5f1b5b96 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -1,11 +1,9 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 
 # dependencies
 , cyrus_sasl
-, db
 , groff
 , libsodium
 , libtool
@@ -19,11 +17,11 @@
 
 stdenv.mkDerivation rec {
   pname = "openldap";
-  version = "2.6.4";
+  version = "2.6.5";
 
   src = fetchurl {
     url = "https://www.openldap.org/software/download/OpenLDAP/openldap-release/${pname}-${version}.tgz";
-    hash = "sha256-1RcE5QF4QwwGzz2KoXTaZrrfVZdHpH2SC7VLLUqkCZE=";
+    hash = "sha256-Lieo1PTCr4/oQLVzJxwgqhY+JJh/l2UhRkQpD1vrONk=";
   };
 
   # TODO: separate "out" and "bin"
@@ -46,7 +44,6 @@ stdenv.mkDerivation rec {
     (cyrus_sasl.override {
       inherit openssl;
     })
-    db
     libsodium
     libtool
     openssl
diff --git a/pkgs/development/libraries/openssl/3.0/CVE-2023-2975.patch b/pkgs/development/libraries/openssl/3.0/CVE-2023-2975.patch
new file mode 100644
index 000000000000..d1622977b64d
--- /dev/null
+++ b/pkgs/development/libraries/openssl/3.0/CVE-2023-2975.patch
@@ -0,0 +1,54 @@
+From 6a83f0c958811f07e0d11dfc6b5a6a98edfd5bdc Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tomas@openssl.org>
+Date: Tue, 4 Jul 2023 17:30:35 +0200
+Subject: [PATCH] Do not ignore empty associated data with AES-SIV mode
+
+The AES-SIV mode allows for multiple associated data items
+authenticated separately with any of these being 0 length.
+
+The provided implementation ignores such empty associated data
+which is incorrect in regards to the RFC 5297 and is also
+a security issue because such empty associated data then become
+unauthenticated if an application expects to authenticate them.
+
+Fixes CVE-2023-2975
+
+Reviewed-by: Matt Caswell <matt@openssl.org>
+Reviewed-by: Paul Dale <pauli@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/21384)
+
+(cherry picked from commit c426c281cfc23ab182f7d7d7a35229e7db1494d9)
+---
+ .../implementations/ciphers/cipher_aes_siv.c   | 18 +++++++++++-------
+ 1 file changed, 11 insertions(+), 7 deletions(-)
+
+diff --git a/providers/implementations/ciphers/cipher_aes_siv.c b/providers/implementations/ciphers/cipher_aes_siv.c
+index 45010b90db2a..b396c8651a32 100644
+--- a/providers/implementations/ciphers/cipher_aes_siv.c
++++ b/providers/implementations/ciphers/cipher_aes_siv.c
+@@ -120,14 +120,18 @@ static int siv_cipher(void *vctx, unsigned char *out, size_t *outl,
+     if (!ossl_prov_is_running())
+         return 0;
+ 
+-    if (inl == 0) {
+-        *outl = 0;
+-        return 1;
+-    }
++    /* Ignore just empty encryption/decryption call and not AAD. */
++    if (out != NULL) {
++        if (inl == 0) {
++            if (outl != NULL)
++                *outl = 0;
++            return 1;
++        }
+ 
+-    if (outsize < inl) {
+-        ERR_raise(ERR_LIB_PROV, PROV_R_OUTPUT_BUFFER_TOO_SMALL);
+-        return 0;
++        if (outsize < inl) {
++            ERR_raise(ERR_LIB_PROV, PROV_R_OUTPUT_BUFFER_TOO_SMALL);
++            return 0;
++        }
+     }
+ 
+     if (ctx->hw->cipher(ctx, out, in, inl) <= 0)
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 548b5ee1f2c6..1ab55e5fcaf5 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -251,6 +251,9 @@ in {
       # This patch disables build-time detection.
       ./3.0/openssl-disable-kernel-detection.patch
 
+      # https://www.openssl.org/news/secadv/20230714.txt
+      ./3.0/CVE-2023-2975.patch
+
       (if stdenv.hostPlatform.isDarwin
        then ./use-etc-ssl-certs-darwin.patch
        else ./use-etc-ssl-certs.patch)
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index 1f2646a03638..7f545958e71b 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "p11-kit";
-  version = "0.24.1";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
     repo = pname;
     rev = version;
-    hash = "sha256-1QIMEGBZsqLYU3v5ZswD5K9VcIGLBovJlC10lBHhH7c=";
+    hash = "sha256-paLiRYgYshuedgDgW2nEsv4/Loq6qFyQMjfBJwqtHzw=";
   };
 
   outputs = [ "out" "bin" "dev"];
diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix
index 1df7553e6c69..25049440c6ca 100644
--- a/pkgs/development/libraries/tracker/default.nix
+++ b/pkgs/development/libraries/tracker/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tracker";
-  version = "3.5.1";
+  version = "3.5.3";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "+XLVCse6/czxE7HrmdyuNUBGhameVb/vFvOsg7Tel00=";
+    sha256 = "FGbIsIl75dngVth+EK1YkntYgDPwGvLxplaokhw6KO4=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
index b40f465546d9..cb1a8dccffd1 100644
--- a/pkgs/development/libraries/umockdev/default.nix
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -18,14 +18,14 @@
 , which
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "umockdev";
   version = "0.17.17";
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
 
   src = fetchurl {
-    url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz";
+    url = "https://github.com/martinpitt/umockdev/releases/download/${finalAttrs.version}/umockdev-${finalAttrs.version}.tar.xz";
     sha256 = "sha256-IOYhseRYsyADz+qZc5tngkuGZShUqLzjPiYSTjR/32w=";
   };
 
@@ -50,10 +50,13 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     systemd
-    libgudev
     libpcap
   ];
 
+  checkInputs = lib.optionals finalAttrs.passthru.withGudev [
+    libgudev
+  ];
+
   nativeCheckInputs = [
     python3
     which
@@ -81,12 +84,25 @@ stdenv.mkDerivation rec {
     ln -s "$PWD/libumockdev-preload.so.0" "$out/lib/libumockdev-preload.so.0"
   '';
 
+  passthru = {
+    # libgudev is needed for an optional test but it itself relies on umockdev for testing.
+    withGudev = false;
+
+    tests = {
+      withGudev = finalAttrs.finalPackage.overrideAttrs (attrs: {
+        passthru = attrs.passthru // {
+          withGudev = true;
+        };
+      });
+    };
+  };
+
   meta = with lib; {
     homepage = "https://github.com/martinpitt/umockdev";
-    changelog = "https://github.com/martinpitt/umockdev/releases/tag/${version}";
+    changelog = "https://github.com/martinpitt/umockdev/releases/tag/${finalAttrs.version}";
     description = "Mock hardware devices for creating unit tests";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ flokli ];
     platforms = with platforms; linux;
   };
-}
+})
diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix
index 429fae7feb36..dc53bbb54d2a 100644
--- a/pkgs/development/libraries/wayland/protocols.nix
+++ b/pkgs/development/libraries/wayland/protocols.nix
@@ -6,14 +6,14 @@
 
 stdenv.mkDerivation rec {
   pname = "wayland-protocols";
-  version = "1.31";
+  version = "1.32";
 
   # https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/48
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform && stdenv.targetPlatform.linker == "bfd" && wayland.withLibraries;
 
   src = fetchurl {
     url = "https://gitlab.freedesktop.org/wayland/${pname}/-/releases/${version}/downloads/${pname}-${version}.tar.xz";
-    hash = "sha256-oH+nIu2HZ27AINhncUvJovJMRk2nORLzlwbu71IZ4jg=";
+    hash = "sha256-dFl5nTQMgpa2le+FfAfd7yTFoJsJq2p097kmQNKxuhE=";
   };
 
   postPatch = lib.optionalString doCheck ''
diff --git a/pkgs/development/libraries/wildmidi/default.nix b/pkgs/development/libraries/wildmidi/default.nix
index 8877365e1dd6..23dc8dc3b053 100644
--- a/pkgs/development/libraries/wildmidi/default.nix
+++ b/pkgs/development/libraries/wildmidi/default.nix
@@ -1,5 +1,8 @@
-{ lib, stdenv, fetchFromGitHub, cmake, alsa-lib, freepats }:
+{ lib, stdenv, fetchFromGitHub, writeTextFile, cmake, alsa-lib, OpenAL, freepats }:
 
+let
+  defaultCfgPath = "${placeholder "out"}/etc/wildmidi/wildmidi.cfg";
+in
 stdenv.mkDerivation rec {
   pname = "wildmidi";
   version = "0.4.5";
@@ -13,21 +16,34 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ alsa-lib stdenv.cc.libc/*couldn't find libm*/ ];
+  buildInputs = lib.optionals stdenv.buildPlatform.isLinux [
+    alsa-lib stdenv.cc.libc/*couldn't find libm*/
+  ] ++ lib.optionals stdenv.buildPlatform.isDarwin [
+    OpenAL
+  ];
 
   preConfigure = ''
-    substituteInPlace CMakeLists.txt \
-      --replace /etc/wildmidi $out/etc
     # https://github.com/Mindwerks/wildmidi/issues/236
     substituteInPlace src/wildmidi.pc.in \
       --replace '$'{exec_prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ \
       --replace '$'{exec_prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@
   '';
 
-  postInstall = ''
-    mkdir "$out"/etc
-    echo "dir ${freepats}" > "$out"/etc/wildmidi.cfg
-    echo "source ${freepats}/freepats.cfg" >> "$out"/etc/wildmidi.cfg
+  cmakeFlags = [
+    "-DWILDMIDI_CFG=${defaultCfgPath}"
+  ];
+
+  postInstall = let
+    defaultCfg = writeTextFile {
+      name = "wildmidi.cfg";
+      text = ''
+        dir ${freepats}
+        source ${freepats}/freepats.cfg
+      '';
+    };
+  in ''
+    mkdir -p "$(dirname ${defaultCfgPath})"
+    ln -s ${defaultCfg} ${defaultCfgPath}
   '';
 
   meta = with lib; {
@@ -39,7 +55,7 @@ stdenv.mkDerivation rec {
     homepage = "https://wildmidi.sourceforge.net/";
     # The library is LGPLv3, the wildmidi executable is GPLv3
     license = licenses.lgpl3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/lua-modules/lib.nix b/pkgs/development/lua-modules/lib.nix
index bdf363fb4799..7c7ffcccf263 100644
--- a/pkgs/development/lua-modules/lib.nix
+++ b/pkgs/development/lua-modules/lib.nix
@@ -89,7 +89,13 @@ rec {
     , rocksSubdir
     }: let
       rocksTrees = lib.imap0
-        (i: dep: { name = "dep-${toString i}"; root = "${dep}"; rocks_dir = "${dep}/${dep.rocksSubdir}"; })
+        (i: dep: {
+          name = "dep-${toString i}";
+          root = "${dep}";
+          # packages built by buildLuaPackage or luarocks doesn't contain rocksSubdir
+          # hence a default here
+          rocks_dir = if dep ? rocksSubdir then "${dep}/${dep.rocksSubdir}" else "${dep.pname}-${dep.version}-rocks";
+        })
         requiredLuaRocks;
 
       # Explicitly point luarocks to the relevant locations for multiple-output
diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix
index 4f4cfea37c34..c2bb5811336d 100644
--- a/pkgs/development/python-modules/Cython/default.nix
+++ b/pkgs/development/python-modules/Cython/default.nix
@@ -24,12 +24,12 @@ let
 
 in buildPythonPackage rec {
   pname = "cython";
-  version = "0.29.34";
+  version = "0.29.36";
 
   src = fetchPypi {
     pname = "Cython";
     inherit version;
-    hash = "sha256-GQloj117Uhpgw5bSC7qeR6Gy0nhL+whUAeHh59KaKag=";
+    hash = "sha256-QcDP0tdU44PJ7rle/8mqSrhH0Ml0cHfd18Dctow7wB8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index 75449c9f625c..92f1fbd53828 100644
--- a/pkgs/development/python-modules/aiohttp/default.nix
+++ b/pkgs/development/python-modules/aiohttp/default.nix
@@ -48,6 +48,12 @@ buildPythonPackage rec {
       url = "https://github.com/aio-libs/aiohttp/commit/5718879cdb6a98bf48810a994b78bc02abaf3e07.patch";
       hash = "sha256-4UynkTZOzWzusQ2+MPZszhFA8I/PJNLeT/hHF/fASy8=";
     })
+    (fetchpatch {
+      # https://github.com/aio-libs/aiohttp/pull/7260
+      # Merged upstream, should likely be dropped post-3.8.4
+      url = "https://github.com/aio-libs/aiohttp/commit/7dcc235cafe0c4521bbbf92f76aecc82fee33e8b.patch";
+      hash = "sha256-ZzhlE50bmA+e2XX2RH1FuWQHZIAa6Dk/hZjxPoX5t4g=";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/certifi/default.nix b/pkgs/development/python-modules/certifi/default.nix
index 93c3ac801a57..af6570c63d50 100644
--- a/pkgs/development/python-modules/certifi/default.nix
+++ b/pkgs/development/python-modules/certifi/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "certifi";
-  version = "2022.12.07";
+  version = "2023.05.07";
 
   disabled = pythonOlder "3.6";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python-certifi";
     rev = version;
-    hash = "sha256-r6TJ6YGL0cygz+F6g6wiqBfBa/QKhynZ92C6lHTZ2rI=";
+    hash = "sha256-KXm0CtuZJL9VgFeY+DV0rdjaKqPQCqcoGPCkeGieTX8=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/constantly/default.nix b/pkgs/development/python-modules/constantly/default.nix
index b75eca716365..b88163506476 100644
--- a/pkgs/development/python-modules/constantly/default.nix
+++ b/pkgs/development/python-modules/constantly/default.nix
@@ -1,20 +1,36 @@
-{ lib, buildPythonPackage, fetchPypi
-}:
-buildPythonPackage rec {
-  pname = "constantly";
-  version = "15.1.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0dgwdla5kfpqz83hfril716inm41hgn9skxskvi77605jbmp4qsq";
-  };
+{ lib, buildPythonPackage, fetchFromGitHub, twisted }:
+
+let
+  self = buildPythonPackage rec {
+    pname = "constantly";
+    version = "15.1.0";
+
+    src = fetchFromGitHub {
+      owner = "twisted";
+      repo = "constantly";
+      rev = version;
+      hash = "sha256-0RPK5Vy0b6V4ubvm+vfNOAua7Qpa6j+G+QNExFuHgUU=";
+    };
+
+    # would create dependency loop with twisted
+    doCheck = false;
+
+    nativeCheckInputs = [ twisted ];
+
+    checkPhase = ''
+      trial constantly
+    '';
+
+    pythonImportsCheck = [ "constantly" ];
 
-  pythonImportsCheck = [ "constantly" ];
+    passthru.tests.constantly = self.overrideAttrs (_: { doInstallCheck = true; });
 
-  meta = with lib; {
-    homepage = "https://github.com/twisted/constantly";
-    description = "symbolic constant support";
-    license = licenses.mit;
-    maintainers = [ ];
+    meta = with lib; {
+      homepage = "https://github.com/twisted/constantly";
+      description = "symbolic constant support";
+      license = licenses.mit;
+      maintainers = [ ];
+    };
   };
-}
+in
+self
diff --git a/pkgs/development/python-modules/exceptiongroup/default.nix b/pkgs/development/python-modules/exceptiongroup/default.nix
index e6f40fa90ebd..61eef0a05abe 100644
--- a/pkgs/development/python-modules/exceptiongroup/default.nix
+++ b/pkgs/development/python-modules/exceptiongroup/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "exceptiongroup";
-  version = "1.1.0";
+  version = "1.1.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "agronholm";
     repo = "exceptiongroup";
     rev = version;
-    hash = "sha256-XQcYYz4MOxWj9QlgM6KuwBaCHjYzGRkQw3cN5WBSnAo=";
+    hash = "sha256-19taP6adzmO4zH2As1OTXeYNFj6KwjhxBr09X+SrZRk=";
   };
 
   nativeBuildInputs = [
@@ -33,12 +33,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = if (pythonAtLeast "3.11") then [
-    # regression in 3.11.4
-    # https://github.com/agronholm/exceptiongroup/issues/64
-    "test_catch_handler_raises"
-  ] else null;
-
   pythonImportsCheck = [
     "exceptiongroup"
   ];
diff --git a/pkgs/development/python-modules/importlib-metadata/default.nix b/pkgs/development/python-modules/importlib-metadata/default.nix
index bb9a8990868a..b4c20163cb7a 100644
--- a/pkgs/development/python-modules/importlib-metadata/default.nix
+++ b/pkgs/development/python-modules/importlib-metadata/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "importlib-metadata";
-  version = "6.0.0";
+  version = "6.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "importlib_metadata";
     inherit version;
-    hash = "sha256-41S+3rYO+mr/3MiuEhtzVEp6p0FW0EcxGUj21xHNN40=";
+    hash = "sha256-26zniS2MDErBrQlmYiMvgx1OZPTEVFvVMBaj6dRlR0M=";
   };
 
   nativeBuildInputs = [
@@ -45,6 +45,6 @@ buildPythonPackage rec {
     description = "Read metadata from Python packages";
     homepage = "https://importlib-metadata.readthedocs.io/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ fab ];
+    maintainers = with maintainers; [ fab AndersonTorres ];
   };
 }
diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix
index d96d2c13515e..b52d127f6cd0 100644
--- a/pkgs/development/python-modules/numpy/default.nix
+++ b/pkgs/development/python-modules/numpy/default.nix
@@ -18,7 +18,7 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 let
   cfg = writeTextFile {
     name = "site.cfg";
-    text = (lib.generators.toINI {} {
+    text = lib.generators.toINI {} {
       ${blas.implementation} = {
         include_dirs = "${lib.getDev blas}/include:${lib.getDev lapack}/include";
         library_dirs = "${blas}/lib:${lapack}/lib";
@@ -35,7 +35,7 @@ let
         library_dirs = "${blas}/lib";
         runtime_library_dirs = "${blas}/lib";
       };
-    });
+    };
   };
 in buildPythonPackage rec {
   pname = "numpy";
@@ -56,6 +56,14 @@ in buildPythonPackage rec {
     ./numpy-distutils-C++.patch
   ];
 
+  postPatch = ''
+    # fails with multiple errors because we are not using the pinned setuptools version
+    # see https://github.com/numpy/numpy/blob/v1.25.0/pyproject.toml#L7
+    #   error: option --single-version-externally-managed not recognized
+    #   TypeError: dist must be a Distribution instance
+    rm numpy/core/tests/test_cython.py
+  '';
+
   nativeBuildInputs = [ gfortran cython ];
   buildInputs = [ blas lapack ];
 
@@ -83,7 +91,7 @@ in buildPythonPackage rec {
   checkPhase = ''
     runHook preCheck
     pushd "$out"
-    ${python.interpreter} -c 'import numpy; numpy.test("fast", verbose=10)'
+    ${python.interpreter} -c 'import numpy, sys; sys.exit(numpy.test("fast", verbose=10) is False)'
     popd
     runHook postCheck
   '';
diff --git a/pkgs/development/python-modules/orjson/default.nix b/pkgs/development/python-modules/orjson/default.nix
index dc081c385d6c..bdcd70526869 100644
--- a/pkgs/development/python-modules/orjson/default.nix
+++ b/pkgs/development/python-modules/orjson/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "orjson";
-  version = "3.8.11";
+  version = "3.9.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,13 +25,13 @@ buildPythonPackage rec {
     owner = "ijl";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-TFoagWUtd/nJceNaptgPp4aTR/tBCmxpiZIVJwOlia4=";
+    hash = "sha256-uEwlrWPQbctCMiIz4fdXe2GDr2SSHaMzmYzzrECerxg=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-/x+0/I3WFxPwVu2LliTgr42SuJX7VjOLe/SGai5OgAw=";
+    hash = "sha256-U/WenkO7ecZQOGEppBlLtlXGtbpbS7e+Ic1hg/AnKSk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix
index 6dc894c0a4ca..8ff50ab9886b 100644
--- a/pkgs/development/python-modules/pillow/default.nix
+++ b/pkgs/development/python-modules/pillow/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
+, fetchpatch
 , isPyPy
 , defusedxml, olefile, freetype, libjpeg, zlib, libtiff, libwebp, libxcrypt, tcl, lcms2, tk, libX11
 , libxcb, openjpeg, libimagequant, pyroma, numpy, pytestCheckHook
@@ -12,7 +13,7 @@
 
 import ./generic.nix (rec {
   pname = "pillow";
-  version = "9.4.0";
+  version = "9.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,9 +21,17 @@ import ./generic.nix (rec {
   src = fetchPypi {
     pname = "Pillow";
     inherit version;
-    hash = "sha256-ocLXeARI65P7zDeJvzkWqlcg2ULjeUX0BWaAMX8c0j4=";
+    hash = "sha256-v1SEedM2cm16Ds6252fhefveN4M65CeUYCYxoHDWMPE=";
   };
 
+  patches = [
+    (fetchpatch {
+      # Fixed type handling for include and lib directories; Remove with 10.0.0
+      url = "https://github.com/python-pillow/Pillow/commit/0ec0a89ead648793812e11739e2a5d70738c6be5.patch";
+      hash = "sha256-m5R5fLflnbJXbRxFlTjT2X3nKdC05tippMoJUDsJmy0=";
+    })
+  ];
+
   passthru.tests = {
     inherit imageio matplotlib pilkit pydicom reportlab;
   };
diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix
index 1aaeca9c6413..0012633d0ebb 100644
--- a/pkgs/development/python-modules/protobuf/default.nix
+++ b/pkgs/development/python-modules/protobuf/default.nix
@@ -1,10 +1,12 @@
 { buildPackages
-, lib
 , buildPythonPackage
-, protobuf
-, isPyPy
 , fetchpatch
+, isPyPy
+, lib
+, protobuf
+, pytestCheckHook
 , pythonAtLeast
+, tzdata
 }:
 
 let
@@ -21,8 +23,6 @@ buildPythonPackage {
     then "${toString (lib.toInt versionMajor + 1)}.${versionMinor}.${versionPatch}"
     else protobuf.version;
 
-  disabled = isPyPy;
-
   sourceRoot = "source/python";
 
   patches = lib.optionals (pythonAtLeast "3.11") [
@@ -41,6 +41,8 @@ buildPythonPackage {
     fi
   '';
 
+  nativeBuildInputs = lib.optional isPyPy tzdata;
+
   buildInputs = [ protobuf ];
 
   propagatedNativeBuildInputs = [
@@ -50,6 +52,20 @@ buildPythonPackage {
 
   setupPyGlobalFlags = [ "--cpp_implementation" ];
 
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = lib.optionals isPyPy [
+    # error message differs
+    "testInvalidTimestamp"
+    # requires tracemalloc which pypy does not implement
+    # https://foss.heptapod.net/pypy/pypy/-/issues/3048
+    "testUnknownFieldsNoMemoryLeak"
+    # assertion is not raised for some reason
+    "testStrictUtf8Check"
+  ];
+
   pythonImportsCheck = [
     "google.protobuf"
     "google.protobuf.internal._api_implementation" # Verify that --cpp_implementation worked
diff --git a/pkgs/development/python-modules/pytest-timeout/default.nix b/pkgs/development/python-modules/pytest-timeout/default.nix
index d87b861688d2..9064b4283ba8 100644
--- a/pkgs/development/python-modules/pytest-timeout/default.nix
+++ b/pkgs/development/python-modules/pytest-timeout/default.nix
@@ -4,7 +4,6 @@
 , pytest
 , pytestCheckHook
 , pexpect
-, pytest-cov
 }:
 
 buildPythonPackage rec {
@@ -24,7 +23,6 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pexpect
-    pytest-cov
   ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/pyudev/default.nix b/pkgs/development/python-modules/pyudev/default.nix
index 24f3b89a86f9..29b1e5f8d530 100644
--- a/pkgs/development/python-modules/pyudev/default.nix
+++ b/pkgs/development/python-modules/pyudev/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "pyudev";
-  version = "0.24.0";
+  version = "0.24.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sqOv4cmep1H4KWZSVX6sVZh02iobHsBiUXhwbsWjRfM=";
+    hash = "sha256-deVNNyGPWsRbDaHw/ZzF5SajysPvHPrUEM96sziwFHE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/requests-mock/default.nix b/pkgs/development/python-modules/requests-mock/default.nix
index 031bf93faa6f..4e72ce67364a 100644
--- a/pkgs/development/python-modules/requests-mock/default.nix
+++ b/pkgs/development/python-modules/requests-mock/default.nix
@@ -1,33 +1,40 @@
-{ lib, buildPythonPackage, fetchPypi, python
-, mock
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fixtures
 , purl
+, pytestCheckHook
+, python
 , requests
+, requests-futures
 , six
-, testrepository
 , testtools
-, pytest
 }:
 
 buildPythonPackage rec {
   pname = "requests-mock";
-  version = "1.10.0";
+  version = "1.11.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WcnDJBmp+xroPsJC2Y6InEW9fXpl1IN1zCQ+wIRBZYs=";
+    hash = "sha256-7xC1crSJpfKOCbcIaXIIxKOyuJ74Cp8BWENA6jV+w8Q=";
   };
 
-  patchPhase = ''
-    sed -i 's@python@${python.interpreter}@' .testr.conf
-  '';
-
   propagatedBuildInputs = [ requests six ];
 
-  nativeCheckInputs = [ mock purl testrepository testtools pytest ];
+  nativeCheckInputs = [
+    fixtures
+    purl
+    pytestCheckHook
+    requests-futures
+    testtools
+  ];
 
   meta = with lib; {
     description = "Mock out responses from the requests package";
     homepage = "https://requests-mock.readthedocs.io";
+    changelog = "https://github.com/jamielennox/requests-mock/releases/tag/${version}";
     license = licenses.asl20;
     maintainers = [ ];
   };
diff --git a/pkgs/development/python-modules/sh/default.nix b/pkgs/development/python-modules/sh/default.nix
index 069afeca9b21..20e4d95928ea 100644
--- a/pkgs/development/python-modules/sh/default.nix
+++ b/pkgs/development/python-modules/sh/default.nix
@@ -3,10 +3,6 @@
 , buildPythonPackage
 , fetchFromGitHub
 , poetry-core
-, python
-, lsof
-, glibcLocales
-, coreutils
 , pytestCheckHook
  }:
 
@@ -47,6 +43,9 @@ buildPythonPackage rec {
     "test_unicode_path"
     # fails to import itself after modifying the environment
     "test_environment"
+    # timing sensitive through usage of sleep(1) and signal handling
+    # https://github.com/amoffat/sh/issues/684
+    "test_general_signal"
   ] ++ lib.optionals stdenv.isDarwin [
     # Disable tests that fail on Darwin sandbox
     "test_background_exception"
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index 9b15ae3ddf34..5ef275606185 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -1,7 +1,6 @@
 { lib
 , isPyPy
 , pythonOlder
-, fetchPypi
 , fetchFromGitHub
 , buildPythonPackage
 
@@ -41,7 +40,7 @@
 
 buildPythonPackage rec {
   pname = "SQLAlchemy";
-  version = "2.0.17";
+  version = "2.0.18";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -50,7 +49,7 @@ buildPythonPackage rec {
     owner = "sqlalchemy";
     repo = "sqlalchemy";
     rev = "refs/tags/rel_${lib.replaceStrings [ "." ] [ "_" ] version}";
-    hash = "sha256-thwPqyxhojyHZpo7LK6nl69Z1B1Z6+WR1dAdlVrgiaY=";
+    hash = "sha256-juZIFlmgwGFFhv+3DsMx6k1QRcGLQyTOwR5Hii8A68c=";
   };
 
   nativeBuildInputs =[
@@ -143,6 +142,7 @@ buildPythonPackage rec {
   disabledTestPaths = [
     # typing correctness, not interesting
     "test/ext/mypy"
+    "test/typing"
     # slow and high memory usage, not interesting
     "test/aaa_profiling"
   ];
diff --git a/pkgs/development/python-modules/yapf/default.nix b/pkgs/development/python-modules/yapf/default.nix
index f5cba78a2026..6e402627245b 100644
--- a/pkgs/development/python-modules/yapf/default.nix
+++ b/pkgs/development/python-modules/yapf/default.nix
@@ -3,25 +3,34 @@
 , fetchPypi
 , isPyPy
 , nose
+, importlib-metadata
+, platformdirs
+, tomli
 }:
 
 buildPythonPackage rec {
   pname = "yapf";
-  version = "0.32.0";
+  version = "0.40.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-o/UIXTfvfj4ATEup+bPkDFT/GQHNER8FFFrjE6fGfRs=";
+    hash = "sha256-lYWH61yOxshgEZqcJdAq3fMKRPdaoVKkIg0w5WqYA3w=";
   };
 
   # nose is unavailable on pypy
   doCheck = !isPyPy;
 
+  propagatedBuildInputs = [
+    importlib-metadata
+    platformdirs
+    tomli
+  ];
+
   nativeCheckInputs = [
     nose
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/google/yapf";
     description = "Yet Another Python Formatter";
     longDescription = ''
@@ -44,7 +53,7 @@ buildPythonPackage rec {
       that a programmer would write if they were following the style guide. It
       takes away some of the drudgery of maintaining your code.
     '';
-    license = licenses.asl20;
-    maintainers = with maintainers; [ AndersonTorres siddharthist ];
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ AndersonTorres siddharthist ];
   };
 }
diff --git a/pkgs/development/python-modules/yarl/default.nix b/pkgs/development/python-modules/yarl/default.nix
index b17b845f3340..c4d8dac9995c 100644
--- a/pkgs/development/python-modules/yarl/default.nix
+++ b/pkgs/development/python-modules/yarl/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "yarl";
-  version = "1.8.2";
+  version = "1.9.2";
 
   disabled = pythonOlder "3.7";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-SdQ0AsbjATrQl4YCv2v1MoU1xI0ZIwS5G5ejxnkLFWI=";
+    hash = "sha256-BKudS59YfAbYAcKr/pMXt3zfmWxlqQ1ehOzEUBCCNXE=";
   };
 
   patches = [
@@ -51,10 +51,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = lib.optionals (pythonAtLeast "3.11") [
-    "test_not_a_scheme2"
-  ];
-
   postCheck = ''
     popd
   '';
diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix
index bcfd2ff6c49d..da157c30a150 100644
--- a/pkgs/development/ruby-modules/bundler/default.nix
+++ b/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "2.4.16";
-  source.sha256 = "sha256-FjRuBn1YnZUgCoDzPFEbMLii6JASiFJbLTKS4hdenWk=";
+  version = "2.4.17";
+  source.sha256 = "sha256-2EV6XnbJ0VPUuw/R/9Kj9Y+/CQyzRIub16Ah0T8ORK0=";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/pkgs/development/tools/kcli/default.nix b/pkgs/development/tools/kcli/default.nix
index 605022ffc12d..77c773cea1b9 100644
--- a/pkgs/development/tools/kcli/default.nix
+++ b/pkgs/development/tools/kcli/default.nix
@@ -20,6 +20,6 @@ buildGoModule rec {
     homepage = "https://github.com/cswank/kcli";
     license = licenses.mit;
     maintainers = with maintainers; [ cswank ];
-    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
   };
 }
diff --git a/pkgs/development/tools/misc/itstool/default.nix b/pkgs/development/tools/misc/itstool/default.nix
index d4950caaa9d8..0f2633d71e6f 100644
--- a/pkgs/development/tools/misc/itstool/default.nix
+++ b/pkgs/development/tools/misc/itstool/default.nix
@@ -1,19 +1,33 @@
-{ stdenv, lib, fetchurl, python3 }:
+{ stdenv
+, lib
+, fetchurl
+, python3
+}:
 
 stdenv.mkDerivation rec {
   pname = "itstool";
-  version = "2.0.6";
+  version = "2.0.7";
 
   src = fetchurl {
     url = "http://files.itstool.org/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "1acjgf8zlyk7qckdk19iqaca4jcmywd7vxjbcs1mm6kaf8icqcv2";
+    hash = "sha256-a5p80poSu5VZj1dQ6HY87niDahogf4W3TYsydbJ+h8o=";
   };
 
   strictDeps = true;
 
-  nativeBuildInputs = [ python3 python3.pkgs.wrapPython ];
-  buildInputs = [ python3 python3.pkgs.libxml2 ];
-  pythonPath = [ python3.pkgs.libxml2 ];
+  nativeBuildInputs = [
+    python3
+    python3.pkgs.wrapPython
+  ];
+
+  buildInputs = [
+    python3
+    python3.pkgs.libxml2
+  ];
+
+  pythonPath = [
+    python3.pkgs.libxml2
+  ];
 
   postFixup = ''
     wrapPythonPrograms
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index 24b47119dc61..f359ed9c1684 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -25,6 +25,8 @@ let
 
       doCheck = true;
 
+      enableParallelBuilding = true;
+
       meta = with lib; {
         homepage = "https://www.colm.net/open-source/ragel/";
         description = "State machine compiler";
diff --git a/pkgs/os-specific/darwin/rewrite-tbd/default.nix b/pkgs/os-specific/darwin/rewrite-tbd/default.nix
index 5cf63754dfbb..7a5467dc92a4 100644
--- a/pkgs/os-specific/darwin/rewrite-tbd/default.nix
+++ b/pkgs/os-specific/darwin/rewrite-tbd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "rewrite-tbd";
-  version = "20201114";
+  version = "unstable-2023-03-27";
 
   src = fetchFromGitHub {
     owner = "thefloweringash";
     repo = "rewrite-tbd";
-    rev = "988f29c6ccbca9b883966225263d8d78676da6a3";
-    sha256 = "08sk91zwj6n9x2ymwid2k7y0rwv5b7p6h1b25ipx1dv0i43p6v1a";
+    rev = "d7852691762635028d237b7d00c3dc6a6613de79";
+    hash = "sha256-syxioFiGvEv4Ypk5hlIjLQth5YmdFdr+NC+aXSXzG4k=";
   };
 
   # Nix takes care of these paths. Avoiding the use of `pkg-config` prevents an infinite recursion.
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     homepage = "https://github.com/thefloweringash/rewrite-tbd/";
     description = "Rewrite filepath in .tbd to Nix applicable format";
-    platforms = platforms.darwin;
+    platforms = platforms.unix;
     license = licenses.mit;
   };
 }
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index 08b0cd5e5c18..af8cbf0aa829 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hwdata";
-  version = "0.371";
+  version = "0.372";
 
   src = fetchFromGitHub {
     owner = "vcrhonek";
     repo = "hwdata";
     rev = "v${version}";
-    sha256 = "sha256-bK61nvuzm8LTotVSBtGyBMELZPqoENkPM4NKtgEx9qw=";
+    hash = "sha256-XC0U5UsOjTveRj1b0e1TBlYv/tKebSOu/YEGt/rmAHw=";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/libbpf/default.nix b/pkgs/os-specific/linux/libbpf/default.nix
index be1a1453e871..51f6ea471a6a 100644
--- a/pkgs/os-specific/linux/libbpf/default.nix
+++ b/pkgs/os-specific/linux/libbpf/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libbpf";
-  version = "1.2.0";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "libbpf";
     repo = "libbpf";
     rev = "v${version}";
-    sha256 = "sha256-NimK4pdYcai21hZHdP1mBX1MOlNY61iDJ+PDYwpRuVE=";
+    sha256 = "sha256-SDDdz2HKEfzHloLkb0sv5ldTo+1yJDVc9O7nj4Cjznk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix
index 26c7b6a9ea34..f91dc84d2187 100644
--- a/pkgs/os-specific/linux/nftables/default.nix
+++ b/pkgs/os-specific/linux/nftables/default.nix
@@ -4,17 +4,18 @@
 , gmp, jansson, libedit
 , autoreconfHook
 , withDebugSymbols ? false
-, withPython ? false , python3
-, withXtables ? true , iptables
+, withPython ? false, python3
+, withXtables ? true, iptables
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.7";
+  version = "1.0.8";
   pname = "nftables";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/nftables/files/${pname}-${version}.tar.xz";
-    hash = "sha256-wSrJQf/5ra7fFzZ9XOITeJuYoNMUJ3vCKz1x4QiR9BI=";
+    hash = "sha256-k3N0DeQagtvJiBjgpGoHP664qNBon6T6GnQ5nDK/PVA=";
   };
 
   nativeBuildInputs = [
@@ -27,7 +28,10 @@ stdenv.mkDerivation rec {
     libmnl libnftnl libpcap
     gmp jansson libedit
   ] ++ lib.optional withXtables iptables
-    ++ lib.optional withPython python3;
+    ++ lib.optionals withPython [
+      python3
+      python3.pkgs.setuptools
+    ];
 
   configureFlags = [
     "--with-json"
@@ -37,6 +41,11 @@ stdenv.mkDerivation rec {
     ++ lib.optional withPython "--enable-python"
     ++ lib.optional withXtables "--with-xtables";
 
+  passthru.tests = {
+    inherit (nixosTests) firewall-nftables lxd-nftables;
+    nat = { inherit (nixosTests.nat.nftables) firewall standalone; };
+  };
+
   meta = with lib; {
     description = "The project that aims to replace the existing {ip,ip6,arp,eb}tables framework";
     homepage = "https://netfilter.org/projects/nftables/";
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 53244a5a9147..db140e7d0c9d 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -145,7 +145,7 @@ assert withUkify -> withEfi;
 let
   wantCurl = withRemote || withImportd;
   wantGcrypt = withResolved || withImportd;
-  version = "253.5";
+  version = "253.6";
 
   # Bump this variable on every (major) version change. See below (in the meson options list) for why.
   # command:
@@ -162,7 +162,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "systemd";
     repo = "systemd-stable";
     rev = "v${version}";
-    hash = "sha256-B3A9AvpfZ8SYsiZvHnWO4RHs1/6EdczWF2NmrSqxQ7c=";
+    hash = "sha256-LZs6QuBe23W643bTuz+MD2pzHiapsBJBHoFXi/QjzG4=";
   };
 
   # On major changes, or when otherwise required, you *must* reformat the patches,
@@ -190,13 +190,6 @@ stdenv.mkDerivation (finalAttrs: {
     ./0017-core-don-t-taint-on-unmerged-usr.patch
     ./0018-tpm2_context_init-fix-driver-name-checking.patch
     ./0019-bootctl-also-print-efi-files-not-owned-by-systemd-in.patch
-
-    # https://github.com/systemd/systemd/pull/28000
-    (fetchpatch {
-      name = "fix-service-exit";
-      url = "https://github.com/systemd/systemd/commit/5f7f82ba625ee48d662c1f0286f44b8b0918d05d.patch";
-      sha256 = "sha256-pFRXpZjeVl5ZG/mOjHEuMg9zXq4Orwvdp+/LYTbR09I=";
-    })
   ] ++ lib.optional stdenv.hostPlatform.isMusl (
     let
       oe-core = fetchzip {
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index 9973b1ac5a8a..8772c081e037 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitLab
 , fetchpatch
+, makeWrapper
 , pkg-config
 , rsync
 , libxslt
@@ -23,27 +24,31 @@
 , useIMobileDevice ? true
 , libimobiledevice
 , withDocs ? (stdenv.buildPlatform == stdenv.hostPlatform)
+, nixosTests
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "upower";
-  version = "1.90.0";
+  version = "1.90.2";
 
-  outputs = [ "out" "dev" ]
+  outputs = [ "out" "dev" "installedTests" ]
     ++ lib.optionals withDocs [ "devdoc" ];
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "upower";
     repo = "upower";
-    rev = "v${version}";
-    hash = "sha256-+C/4dDg6WTLpBgkpNyxjthSdqYdaTLC8vG6jG1LNJ7w=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-7WzMAJuf1czU8ZalsEU/NwCXYqTGvcqEqxFt5ocgt48=";
   };
 
-  # Remove when this is fixed upstream:
-  # https://gitlab.freedesktop.org/upower/upower/-/issues/214
-  patches = lib.optional (stdenv.hostPlatform.system == "i686-linux")
-    ./i686-test-remove-battery-check.patch;
+  patches = lib.optionals (stdenv.hostPlatform.system == "i686-linux") [
+    # Remove when this is fixed upstream:
+    # https://gitlab.freedesktop.org/upower/upower/-/issues/214
+    ./i686-test-remove-battery-check.patch
+  ] ++ [
+    ./installed-tests-path.patch
+  ];
 
   strictDeps = true;
 
@@ -60,6 +65,7 @@ stdenv.mkDerivation rec {
     gettext
     gobject-introspection
     libxslt
+    makeWrapper
     pkg-config
     rsync
   ];
@@ -71,6 +77,14 @@ stdenv.mkDerivation rec {
     systemd
     # Duplicate from nativeCheckInputs until https://github.com/NixOS/nixpkgs/issues/161570 is solved
     umockdev
+
+    # For installed tests.
+    (python3.withPackages (pp: [
+      pp.dbus-python
+      pp.python-dbusmock
+      pp.pygobject3
+      pp.packaging
+    ]))
   ] ++ lib.optionals useIMobileDevice [
     libimobiledevice
   ];
@@ -98,6 +112,7 @@ stdenv.mkDerivation rec {
     "-Dudevhwdbdir=${placeholder "out"}/lib/udev/hwdb.d"
     "-Dintrospection=${if (stdenv.buildPlatform == stdenv.hostPlatform) then "auto" else "disabled"}"
     "-Dgtk-doc=${lib.boolToString withDocs}"
+    "-Dinstalled_test_prefix=${placeholder "installedTests"}"
   ];
 
   doCheck = true;
@@ -105,6 +120,9 @@ stdenv.mkDerivation rec {
   postPatch = ''
     patchShebangs src/linux/integration-test.py
     patchShebangs src/linux/unittest_inspector.py
+
+    substituteInPlace src/linux/integration-test.py \
+      --replace "/usr/share/dbus-1" "$out/share/dbus-1"
   '';
 
   preCheck = ''
@@ -126,35 +144,62 @@ stdenv.mkDerivation rec {
     runHook postCheck
   '';
 
+  postCheck = ''
+    # Undo patchShebangs from postPatch so that it can be replaced with runtime shebang
+    # unittest_inspector.py intentionally not reverted because it would trigger
+    # meson rebuild during install and it is not used at runtime anyway.
+    sed -Ei 's~#!.+/bin/python3~#!/usr/bin/python3~' \
+      ../src/linux/integration-test.py
+  '';
+
   postInstall = ''
     # Move stuff from DESTDIR to proper location.
     # We use rsync to merge the directories.
     for dir in etc var; do
-        rsync --archive "${DESTDIR}/$dir" "$out"
-        rm --recursive "${DESTDIR}/$dir"
+        rsync --archive "$DESTDIR/$dir" "$out"
+        rm --recursive "$DESTDIR/$dir"
     done
-    for o in out dev; do
-        rsync --archive "${DESTDIR}/''${!o}" "$(dirname "''${!o}")"
-        rm --recursive "${DESTDIR}/''${!o}"
+    for o in out dev installedTests; do
+        rsync --archive "$DESTDIR/''${!o}" "$(dirname "''${!o}")"
+        rm --recursive "$DESTDIR/''${!o}"
     done
     # Ensure the DESTDIR is removed.
-    rmdir "${DESTDIR}/nix/store" "${DESTDIR}/nix" "${DESTDIR}"
+    rmdir "$DESTDIR/nix/store" "$DESTDIR/nix" "$DESTDIR"
   '';
 
-  # HACK: We want to install configuration files to $out/etc
-  # but upower should read them from /etc on a NixOS system.
-  # With autotools, it was possible to override Make variables
-  # at install time but Meson does not support this
-  # so we need to convince it to install all files to a temporary
-  # location using DESTDIR and then move it to proper one in postInstall.
-  DESTDIR = "${placeholder "out"}/dest";
+  postFixup = ''
+    wrapProgram "$installedTests/libexec/upower/integration-test.py" \
+      --prefix GI_TYPELIB_PATH : "${lib.makeSearchPath "lib/girepository-1.0" [
+        "$out"
+        umockdev.out
+      ]}" \
+      --prefix PATH : "${lib.makeBinPath [
+        umockdev
+      ]}"
+  '';
+
+  env = {
+    # HACK: We want to install configuration files to $out/etc
+    # but upower should read them from /etc on a NixOS system.
+    # With autotools, it was possible to override Make variables
+    # at install time but Meson does not support this
+    # so we need to convince it to install all files to a temporary
+    # location using DESTDIR and then move it to proper one in postInstall.
+    DESTDIR = "${placeholder "out"}/dest";
+  };
+
+  passthru = {
+    tests = {
+      installedTests = nixosTests.installed-tests.upower;
+    };
+  };
 
   meta = with lib; {
     homepage = "https://upower.freedesktop.org/";
-    changelog = "https://gitlab.freedesktop.org/upower/upower/-/blob/v${version}/NEWS";
+    changelog = "https://gitlab.freedesktop.org/upower/upower/-/blob/v${finalAttrs.version}/NEWS";
     description = "A D-Bus service for power management";
     maintainers = teams.freedesktop.members;
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
   };
-}
+})
diff --git a/pkgs/os-specific/linux/upower/installed-tests-path.patch b/pkgs/os-specific/linux/upower/installed-tests-path.patch
new file mode 100644
index 000000000000..367f3eab096b
--- /dev/null
+++ b/pkgs/os-specific/linux/upower/installed-tests-path.patch
@@ -0,0 +1,56 @@
+diff --git a/meson_options.txt b/meson_options.txt
+index eec3659..f064a1b 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -6,6 +6,10 @@ option('gtk-doc',
+        type : 'boolean',
+        value : 'true',
+        description : 'Build developer documentation')
++option('installed_test_prefix',
++       type: 'string',
++       value: '',
++       description: 'Prefix for installed tests')
+ option('introspection',
+        type : 'feature',
+        value : 'auto',
+diff --git a/src/meson.build b/src/meson.build
+index a2352ac..c1f25ac 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -85,6 +85,7 @@ install_subdir('does-not-exist', install_dir: historydir, strip_directory : true
+ 
+ cdata = configuration_data()
+ cdata.set('libexecdir', get_option('prefix') / get_option('libexecdir'))
++cdata.set('installed_test_bindir', get_option('installed_test_prefix') / 'libexec' / 'upower')
+ cdata.set('historydir', historydir)
+ 
+ configure_file(
+@@ -147,16 +148,16 @@ if os_backend == 'linux' and gobject_introspection.found()
+         'linux/integration-test.py',
+         'linux/output_checker.py',
+       ],
+-      install_dir: get_option('prefix') / get_option('libexecdir') / 'upower'
++      install_dir: get_option('installed_test_prefix') / 'libexec' / 'upower'
+     )
+     install_subdir('linux/tests/',
+-      install_dir: get_option('prefix') / get_option('libexecdir') / 'upower'
++      install_dir: get_option('installed_test_prefix') / 'libexec' / 'upower'
+     )
+ 
+     configure_file(
+       input: 'upower-integration.test.in',
+       output: 'upower-integration.test',
+-      install_dir: get_option('datadir') / 'installed-tests' / 'upower',
++      install_dir: get_option('installed_test_prefix') / 'share' / 'installed-tests' / 'upower',
+       configuration: cdata
+     )
+ endif
+diff --git a/src/upower-integration.test.in b/src/upower-integration.test.in
+index 151ded0..b0a9bec 100644
+--- a/src/upower-integration.test.in
++++ b/src/upower-integration.test.in
+@@ -1,3 +1,3 @@
+ [Test]
+ Type=session
+-Exec=@libexecdir@/upower/integration-test.py
++Exec=@installed_test_bindir@/integration-test.py
diff --git a/pkgs/servers/authelia/update.sh b/pkgs/servers/authelia/update.sh
index dd2435453c2a..c51272ea9193 100755
--- a/pkgs/servers/authelia/update.sh
+++ b/pkgs/servers/authelia/update.sh
@@ -80,6 +80,6 @@ clean_up
 OLD_GO_VENDOR_HASH="$(instantiateClean authelia.vendorHash)"
 echo "Old go vendor hash $OLD_GO_VENDOR_HASH"
 replace "$OLD_GO_VENDOR_HASH" "$TMP_HASH" "$DRV_DIR/sources.nix"
-NEW_GO_VENDOR_HASH="$(fetchNewSha authelia.go-modules)"
+NEW_GO_VENDOR_HASH="$(fetchNewSha authelia.goModules)"
 echo "New go vendor hash $NEW_GO_VENDOR_HASH"
 replace "$TMP_HASH" "$NEW_GO_VENDOR_HASH" "$DRV_DIR/sources.nix"
diff --git a/pkgs/servers/dns/ncdns/default.nix b/pkgs/servers/dns/ncdns/default.nix
index 5af71a9a4136..85c9dddf16dd 100644
--- a/pkgs/servers/dns/ncdns/default.nix
+++ b/pkgs/servers/dns/ncdns/default.nix
@@ -37,7 +37,7 @@ buildGoModule {
 
   vendorSha256 = "sha256-ENtTnDsz5WhRz1kiqnWQ5vyEpZtgi7ZeYvksffgW78k=";
 
-  # Override the go-modules fetcher derivation to apply
+  # Override the goModules fetcher derivation to apply
   # upstream's patch of the crypto/x509 library.
   modBuildPhase = ''
     go mod init github.com/namecoin/x509-compressed
diff --git a/pkgs/servers/gobetween/default.nix b/pkgs/servers/gobetween/default.nix
index 224eca352bb9..290d1db26087 100644
--- a/pkgs/servers/gobetween/default.nix
+++ b/pkgs/servers/gobetween/default.nix
@@ -35,6 +35,6 @@ buildGoModule rec {
     homepage = "https://gobetween.io";
     license = licenses.mit;
     maintainers = with maintainers; [ tomberek ];
-    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
   };
 }
diff --git a/pkgs/servers/memos/update.sh b/pkgs/servers/memos/update.sh
index cc600e2f0281..e9f83576cd8d 100755
--- a/pkgs/servers/memos/update.sh
+++ b/pkgs/servers/memos/update.sh
@@ -13,7 +13,7 @@ fi
 
 extractVendorHash() {
   original="${1?original hash missing}"
-  result="$(nix-build -A memos.go-modules 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true)"
+  result="$(nix-build -A memos.goModules 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true)"
   [ -z "$result" ] && { echo "$original"; } || { echo "$result"; }
 }
 
diff --git a/pkgs/servers/monitoring/alertmanager-bot/default.nix b/pkgs/servers/monitoring/alertmanager-bot/default.nix
index de12c0336c77..beb2bf08d4b5 100644
--- a/pkgs/servers/monitoring/alertmanager-bot/default.nix
+++ b/pkgs/servers/monitoring/alertmanager-bot/default.nix
@@ -30,6 +30,6 @@ buildGoModule rec {
     homepage = "https://github.com/metalmatze/alertmanager-bot";
     license = licenses.mit;
     maintainers = with maintainers; [ mmahut ];
-    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
   };
 }
diff --git a/pkgs/servers/monitoring/grafana/update.sh b/pkgs/servers/monitoring/grafana/update.sh
index 8fce84333885..9a19485e37a4 100755
--- a/pkgs/servers/monitoring/grafana/update.sh
+++ b/pkgs/servers/monitoring/grafana/update.sh
@@ -16,7 +16,7 @@ replaceHash() {
 }
 extractVendorHash() {
   original="${1?original hash missing}"
-  result="$(nix-build -A grafana.go-modules 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true)"
+  result="$(nix-build -A grafana.goModules 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true)"
   [ -z "$result" ] && { echo "$original"; } || { echo "$result"; }
 }
 
diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix
index bae4ff2c93b2..de447f4e7567 100644
--- a/pkgs/stdenv/native/default.nix
+++ b/pkgs/stdenv/native/default.nix
@@ -152,7 +152,10 @@ in
     inherit config overlays;
     stdenv = makeStdenv {
       inherit (prevStage) cc fetchurl;
-    } // { inherit (prevStage) fetchurl; };
+      overrides = prev: final: { inherit (prevStage) fetchurl; };
+    } // {
+      inherit (prevStage) fetchurl;
+    };
   })
 
   # Using that, build a stdenv that adds the ‘xz’ command (which most systems
@@ -162,7 +165,7 @@ in
     stdenv = makeStdenv {
       inherit (prevStage.stdenv) cc fetchurl;
       extraPath = [ prevStage.xz ];
-      overrides = self: super: { inherit (prevStage) xz; };
+      overrides = self: super: { inherit (prevStage) fetchurl xz; };
       extraNativeBuildInputs = if localSystem.isLinux then [ prevStage.patchelf ] else [];
     };
   })
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 5ff2aef0b833..fd5ad84abf69 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -47,14 +47,14 @@ assert !((lib.count (x: x) [ gnutlsSupport opensslSupport wolfsslSupport rustlsS
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "curl";
-  version = "8.1.1";
+  version = "8.1.2";
 
   src = fetchurl {
     urls = [
       "https://curl.haxx.se/download/curl-${finalAttrs.version}.tar.bz2"
       "https://github.com/curl/curl/releases/download/curl-${finalAttrs.version}/curl-${finalAttrs.version}.tar.bz2"
     ];
-    hash = "sha256-UdKvcieZE7XUyrH+Hzi5RM9wkEyIvuJGtb1XWETnA1o=";
+    hash = "sha256-tUl00y/WEKys6S498fZDFEAVrGWEfwoEH9wX229D8kM=";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/mozillavpn/default.nix b/pkgs/tools/networking/mozillavpn/default.nix
index 92cb1e553f84..078bd8e316d2 100644
--- a/pkgs/tools/networking/mozillavpn/default.nix
+++ b/pkgs/tools/networking/mozillavpn/default.nix
@@ -46,11 +46,11 @@ let
     })
   ];
 
-  netfilter-go-modules = (buildGoModule {
+  netfilter-goModules = (buildGoModule {
     inherit pname version src patches;
     modRoot = "linux/netfilter";
     vendorHash = "sha256-Cmo0wnl0z5r1paaEf1MhCPbInWeoMhGjnxCxGh0cyO8=";
-  }).go-modules;
+  }).goModules;
 
   extensionBridgeDeps = rustPlatform.fetchCargoTarball {
     inherit src patches;
@@ -132,7 +132,7 @@ stdenv.mkDerivation {
     substituteInPlace extension/CMakeLists.txt \
       --replace '/etc' "$out/etc"
 
-    ln -s '${netfilter-go-modules}' linux/netfilter/vendor
+    ln -s '${netfilter-goModules}' linux/netfilter/vendor
 
     pushd extension/bridge
     cargoDepsCopy="$extensionBridgeDepsCopy" cargoSetupPostPatchHook
diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix
index a5cdc383f9ad..ab747df01f86 100644
--- a/pkgs/tools/networking/networkmanager/default.nix
+++ b/pkgs/tools/networking/networkmanager/default.nix
@@ -4,7 +4,6 @@
 , substituteAll
 , gettext
 , pkg-config
-, fetchpatch
 , dbus
 , gnome
 , systemd
@@ -58,11 +57,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "networkmanager";
-  version = "1.42.6";
+  version = "1.42.8";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
-    sha256 = "sha256-jDiKw3daxrzrYF+uIb4sPiYcr+YGeZSonw36RhDtAnk=";
+    sha256 = "sha256-AzfnWD0uxa3iui6MYl0vCe7M2h0ig27imqcpJdOZw1M=";
   };
 
   outputs = [ "out" "dev" "devdoc" "man" "doc" ];
@@ -126,12 +125,6 @@ stdenv.mkDerivation rec {
     # Meson does not support using different directories during build and
     # for installation like Autotools did with flags passed to make install.
     ./fix-install-paths.patch
-
-    # Support for building with ppp 2.5.0
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/5df19f5b26c5921a401e63fb329e844a02d6b1f2.diff";
-      hash = "sha256-BDm0P2U4HENAtq7OowWVDxqALNbG0nr9k/CLdE61Sck=";
-    })
   ];
 
   buildInputs = [
diff --git a/pkgs/tools/networking/openresolv/default.nix b/pkgs/tools/networking/openresolv/default.nix
index eb97e24b1f7c..e937c6bcdf60 100644
--- a/pkgs/tools/networking/openresolv/default.nix
+++ b/pkgs/tools/networking/openresolv/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openresolv";
-  version = "3.12.0";
+  version = "3.13.2";
 
   src = fetchFromGitHub {
     owner = "NetworkConfiguration";
     repo = "openresolv";
     rev = "v${version}";
-    sha256 = "sha256-lEyqOf2NGWnH44pDVNVSWZeuhXx7z0ru4KuXu2RuyIg=";
+    sha256 = "sha256-rpfzAIzuiO+QTFhN+tHND+OQOyX/GUPvLLX3CSSwqA4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/waitron/default.nix b/pkgs/tools/networking/waitron/default.nix
index bc52bb33e370..c316e98317e7 100644
--- a/pkgs/tools/networking/waitron/default.nix
+++ b/pkgs/tools/networking/waitron/default.nix
@@ -34,6 +34,6 @@ buildGoModule rec {
     license =  licenses.asl20;
     maintainers = with maintainers; [ guibert ];
     platforms = platforms.linux;
-    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
   };
 }
diff --git a/pkgs/tools/security/deepsea/default.nix b/pkgs/tools/security/deepsea/default.nix
index bfe004d2d9b1..0befd62e2212 100644
--- a/pkgs/tools/security/deepsea/default.nix
+++ b/pkgs/tools/security/deepsea/default.nix
@@ -26,6 +26,6 @@ buildGoModule rec {
     homepage = "https://github.com/dsnezhkov/deepsea";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
-    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
   };
 }
diff --git a/pkgs/tools/security/shhgit/default.nix b/pkgs/tools/security/shhgit/default.nix
index fa714622fe97..48b9c144a820 100644
--- a/pkgs/tools/security/shhgit/default.nix
+++ b/pkgs/tools/security/shhgit/default.nix
@@ -22,6 +22,6 @@ buildGoModule rec {
     homepage = "https://github.com/eth0izzle/shhgit";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
-    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
   };
 }
diff --git a/pkgs/tools/security/ssb/default.nix b/pkgs/tools/security/ssb/default.nix
index a461fad2fd8c..aed2dd79aeb3 100644
--- a/pkgs/tools/security/ssb/default.nix
+++ b/pkgs/tools/security/ssb/default.nix
@@ -21,6 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/kitabisa/ssb";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
-    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
   };
 }
diff --git a/pkgs/tools/security/stoken/default.nix b/pkgs/tools/security/stoken/default.nix
index 04e47dcb8409..526caf44d679 100644
--- a/pkgs/tools/security/stoken/default.nix
+++ b/pkgs/tools/security/stoken/default.nix
@@ -1,30 +1,38 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config
-, libxml2, nettle
-, withGTK3 ? true, gtk3 }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, libxml2
+, nettle
+, withGTK3 ? true
+, gtk3
+}:
 
 stdenv.mkDerivation rec {
   pname = "stoken";
-  version = "0.92";
+  version = "0.93";
+
   src = fetchFromGitHub {
     owner = "cernekee";
-    repo = pname;
+    repo = "stoken";
     rev = "v${version}";
-    sha256 = "0q7cv8vy5b2cslm57maqb6jsm7s4rwacjyv6gplwp26yhm38hw7y";
+    hash = "sha256-8N7TXdBu37eXWIKCBdaXVW0pvN094oRWrdlcy9raddI=";
   };
 
-  preConfigure = ''
-    aclocal
-    libtoolize --automake --copy
-    autoheader
-    automake --add-missing --copy
-    autoconf
-  '';
-
   strictDeps = true;
-  nativeBuildInputs = [ pkg-config autoconf automake libtool ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
   buildInputs = [
-    libxml2 nettle
-  ] ++ lib.optional withGTK3 gtk3;
+    libxml2
+    nettle
+  ] ++ lib.optionals withGTK3 [
+    gtk3
+  ];
 
   meta = with lib; {
     description = "Software Token for Linux/UNIX";
diff --git a/pkgs/tools/text/wrap/default.nix b/pkgs/tools/text/wrap/default.nix
index aeafda70a2d6..728cad2c3fee 100644
--- a/pkgs/tools/text/wrap/default.nix
+++ b/pkgs/tools/text/wrap/default.nix
@@ -32,6 +32,6 @@ buildGoModule rec {
     homepage = "https://github.com/Wraparound/wrap";
     license = licenses.gpl3Only;
     maintainers = [ maintainers.austinbutler ];
-    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.go-modules --check
+    broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1a27f9e0bfbe..e594a60fb85a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -20343,7 +20343,7 @@ with pkgs;
     boost182
   ;
 
-  boost = boost179;
+  boost = boost181;
 
   boost_process = callPackage ../development/libraries/boost-process { };
 
@@ -25185,7 +25185,9 @@ with pkgs;
 
   whereami = callPackage ../development/libraries/whereami { };
 
-  wildmidi = callPackage ../development/libraries/wildmidi { };
+  wildmidi = callPackage ../development/libraries/wildmidi {
+    inherit (darwin.apple_sdk.frameworks) OpenAL;
+  };
 
   wiredtiger = callPackage ../development/libraries/wiredtiger { };
 
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index f2780bb9e637..a35f692a9359 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -54,10 +54,10 @@ rec {
     inherit (pkgs.buildPackages) makeSetupHook makeWrapper;
   };
 
-  luarocks = callPackage ../development/tools/misc/luarocks/default.nix { };
+  luarocks = toLuaModule (callPackage ../development/tools/misc/luarocks/default.nix { });
 
   # a fork of luarocks used to generate nix lua derivations from rockspecs
-  luarocks-nix = callPackage ../development/tools/misc/luarocks/luarocks-nix.nix { };
+  luarocks-nix = toLuaModule (callPackage ../development/tools/misc/luarocks/luarocks-nix.nix { });
 
  lua-resty-core = callPackage ({ fetchFromGitHub }: buildLuaPackage rec {
     pname = "lua-resty-core";
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 2217a2d544f6..8193fd271b1d 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -27608,14 +27608,18 @@ with self; {
 
   XMLLibXML = buildPerlPackage {
     pname = "XML-LibXML";
-    version = "2.0207";
+    version = "2.0208";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0207.tar.gz";
-      hash = "sha256-kDQ2yYWYdb71WTJDquhc7TKa0PtLV7v0WXXjJUfFDBU=";
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0208.tar.gz";
+      hash = "sha256-DABrA7+NDrUx+1a9o64VdUylbYiN17noBauesZ1f1lM=";
     };
     SKIP_SAX_INSTALL = 1;
     buildInputs = [ AlienBuild AlienLibxml2 ]
       ++ lib.optionals stdenv.isDarwin (with pkgs; [ libiconv zlib ]);
+    # Remove test that fails after LibXML 2.11 upgrade
+    postPatch = ''
+      rm t/35huge_mode.t
+    '';
     propagatedBuildInputs = [ XMLSAX ];
     meta = {
       description = "Perl Binding for libxml2";