about summary refs log tree commit diff
path: root/nixpkgs
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-11-19 17:14:52 +0100
committerAlyssa Ross <hi@alyssa.is>2023-11-19 17:14:52 +0100
commitf4d4283e3992c3f559831b1c030cd1fda6d45f98 (patch)
treec2cc63060849298d9a8e7a329010bb0fc4abb219 /nixpkgs
parentdac53cd746c10feddd48d4a1981235a653d7d32a (diff)
parent0ace63bed8f561e4cc5b1c8fa5fee6be61fbcf8b (diff)
downloadnixlib-f4d4283e3992c3f559831b1c030cd1fda6d45f98.tar
nixlib-f4d4283e3992c3f559831b1c030cd1fda6d45f98.tar.gz
nixlib-f4d4283e3992c3f559831b1c030cd1fda6d45f98.tar.bz2
nixlib-f4d4283e3992c3f559831b1c030cd1fda6d45f98.tar.lz
nixlib-f4d4283e3992c3f559831b1c030cd1fda6d45f98.tar.xz
nixlib-f4d4283e3992c3f559831b1c030cd1fda6d45f98.tar.zst
nixlib-f4d4283e3992c3f559831b1c030cd1fda6d45f98.zip
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs into HEAD
Diffstat (limited to 'nixpkgs')
-rw-r--r--nixpkgs/.github/CODEOWNERS14
-rw-r--r--nixpkgs/lib/path/tests/default.nix9
-rw-r--r--nixpkgs/lib/tests/nix-for-tests.nix17
-rw-r--r--nixpkgs/lib/tests/release.nix5
-rw-r--r--nixpkgs/maintainers/maintainer-list.nix73
-rw-r--r--nixpkgs/maintainers/team-list.nix2
-rw-r--r--nixpkgs/nixos/doc/manual/release-notes/rl-2311.section.md12
-rw-r--r--nixpkgs/nixos/lib/systemd-network-units.nix6
-rw-r--r--nixpkgs/nixos/modules/config/stevenblack.nix2
-rw-r--r--nixpkgs/nixos/modules/module-list.nix2
-rw-r--r--nixpkgs/nixos/modules/services/audio/slimserver.nix2
-rw-r--r--nixpkgs/nixos/modules/services/databases/postgresql.md119
-rw-r--r--nixpkgs/nixos/modules/services/databases/postgresql.nix58
-rw-r--r--nixpkgs/nixos/modules/services/development/zammad.nix4
-rw-r--r--nixpkgs/nixos/modules/services/finance/odoo.nix2
-rw-r--r--nixpkgs/nixos/modules/services/mail/listmonk.nix2
-rw-r--r--nixpkgs/nixos/modules/services/mail/roundcube.nix14
-rw-r--r--nixpkgs/nixos/modules/services/mail/sympa.nix10
-rw-r--r--nixpkgs/nixos/modules/services/matrix/matrix-sliding-sync.nix4
-rw-r--r--nixpkgs/nixos/modules/services/matrix/mautrix-facebook.nix4
-rw-r--r--nixpkgs/nixos/modules/services/misc/atuin.nix4
-rw-r--r--nixpkgs/nixos/modules/services/misc/forgejo.md79
-rw-r--r--nixpkgs/nixos/modules/services/misc/forgejo.nix22
-rw-r--r--nixpkgs/nixos/modules/services/misc/gitea.nix10
-rw-r--r--nixpkgs/nixos/modules/services/misc/redmine.nix4
-rw-r--r--nixpkgs/nixos/modules/services/misc/sourcehut/service.nix10
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/zabbix-proxy.nix4
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/mullvad-vpn.nix4
-rw-r--r--nixpkgs/nixos/modules/services/networking/syncthing.nix4
-rw-r--r--nixpkgs/nixos/modules/services/search/kibana.nix213
-rw-r--r--nixpkgs/nixos/modules/services/security/hockeypuck.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/code-server.nix259
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/coder.nix10
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/gotosocial.nix4
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/invidious.nix15
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/jitsi-meet.nix178
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/lemmy.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/mastodon.nix6
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/mediawiki.nix4
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/miniflux.nix17
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/mobilizon.nix13
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/moodle.nix4
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/netbox.nix4
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/nextcloud.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/onlyoffice.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/outline.nix2
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/peering-manager.nix4
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/pixelfed.nix1
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/tt-rss.nix13
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/hydron.nix2
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py19
-rw-r--r--nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix2
-rw-r--r--nixpkgs/nixos/modules/system/boot/networkd.nix38
-rw-r--r--nixpkgs/nixos/modules/tasks/filesystems/bcachefs.nix41
-rw-r--r--nixpkgs/nixos/modules/virtualisation/google-compute-image.nix5
-rw-r--r--nixpkgs/nixos/tests/all-tests.nix2
-rw-r--r--nixpkgs/nixos/tests/code-server.nix22
-rw-r--r--nixpkgs/nixos/tests/dex-oidc.nix2
-rw-r--r--nixpkgs/nixos/tests/elk.nix14
-rw-r--r--nixpkgs/nixos/tests/ferretdb.nix2
-rw-r--r--nixpkgs/nixos/tests/freshrss-pgsql.nix4
-rw-r--r--nixpkgs/nixos/tests/grafana/basic.nix2
-rw-r--r--nixpkgs/nixos/tests/hockeypuck.nix2
-rw-r--r--nixpkgs/nixos/tests/home-assistant.nix12
-rw-r--r--nixpkgs/nixos/tests/installer.nix62
-rw-r--r--nixpkgs/nixos/tests/invidious.nix3
-rw-r--r--nixpkgs/nixos/tests/paperless.nix2
-rw-r--r--nixpkgs/nixos/tests/pgadmin4.nix8
-rw-r--r--nixpkgs/nixos/tests/pgbouncer.nix10
-rw-r--r--nixpkgs/nixos/tests/powerdns-admin.nix4
-rw-r--r--nixpkgs/nixos/tests/sftpgo.nix2
-rw-r--r--nixpkgs/nixos/tests/slimserver.nix47
-rw-r--r--nixpkgs/nixos/tests/systemd-boot.nix45
-rw-r--r--nixpkgs/nixos/tests/tandoor-recipes.nix23
-rw-r--r--nixpkgs/nixos/tests/vikunja.nix2
-rw-r--r--nixpkgs/nixos/tests/wiki-js.nix5
-rw-r--r--nixpkgs/pkgs/applications/audio/aucatctl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/audacity/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/ledfx/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/reaper/default.nix35
-rwxr-xr-xnixpkgs/pkgs/applications/audio/reaper/updater.sh16
-rw-r--r--nixpkgs/pkgs/applications/audio/squeezelite/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/backup/proxmox-backup-client/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/blockchains/erigon/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/editors/cudatext/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/editors/cudatext/proc_globdata.patch30
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/make-emacs.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/helix/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/editors/molsketch/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/ox/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/editors/standardnotes/src.json10
-rw-r--r--nixpkgs/pkgs/applications/editors/texstudio/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix4
-rw-r--r--nixpkgs/pkgs/applications/emulators/firebird-emu/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/base.nix11
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat-pre8.18.patch12
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch13
-rw-r--r--nixpkgs/pkgs/applications/emulators/wine/sources.nix18
-rw-r--r--nixpkgs/pkgs/applications/graphics/gimp/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/gscreenshot/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/hydrus/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/tesseract/tesseract5.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/1password-gui/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/1password/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/blender/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/blender/libdecor.patch34
-rw-r--r--nixpkgs/pkgs/applications/misc/flavours/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/misc/kile-wl/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/llpp/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/misc/mupdf/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/synergy/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/tiramisu/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/ulauncher/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/upwork/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix16
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/calico/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kluctl/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubefirst/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/rke/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tfautomv/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/session-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix3
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix46
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/mailspring/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mullvad/mullvad.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/newsreaders/pan/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/onionshare/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/rustdesk/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/office/timeular/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/freedv/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/radio/uhd/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/science/biology/flywheel-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/electronics/picoscope/sources.json78
-rw-r--r--nixpkgs/pkgs/applications/science/math/eigenmath/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/contour/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/terminal-emulators/rio/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitlab/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gql/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/video/bilibili/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/davinci-resolve/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/showmethekey/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/docker/compose.nix6
-rw-r--r--nixpkgs/pkgs/applications/virtualization/ecs-agent/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/nixpacks/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/virtualization/rust-hypervisor-firmware/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/virtualization/singularity/packages.nix6
-rw-r--r--nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/e16/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/leftwm/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/window-managers/lemonbar/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/lemonbar/xft.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/neocomp/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/river/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix14
-rw-r--r--nixpkgs/pkgs/build-support/node/build-npm-package/default.nix12
-rw-r--r--nixpkgs/pkgs/by-name/ap/apache-users/optional-args.patch24
-rw-r--r--nixpkgs/pkgs/by-name/ap/apache-users/package.nix43
-rw-r--r--nixpkgs/pkgs/by-name/bm/bmake/package.nix2
-rw-r--r--nixpkgs/pkgs/by-name/br/braa/package.nix32
-rw-r--r--nixpkgs/pkgs/by-name/co/cockpit/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/cy/cyme/package.nix6
-rw-r--r--nixpkgs/pkgs/by-name/de/devdash/package.nix52
-rw-r--r--nixpkgs/pkgs/by-name/dx/dxvk_1/package.nix16
-rw-r--r--nixpkgs/pkgs/by-name/dx/dxvk_2/package.nix17
-rw-r--r--nixpkgs/pkgs/by-name/ek/eksctl/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/fr/free42/package.nix (renamed from nixpkgs/pkgs/applications/misc/free42/default.nix)79
-rw-r--r--nixpkgs/pkgs/by-name/hi/hifile/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/ho/hof/package.nix40
-rw-r--r--nixpkgs/pkgs/by-name/me/mermaid-cli/package.nix2
-rw-r--r--nixpkgs/pkgs/by-name/ni/nix-web/package.nix48
-rw-r--r--nixpkgs/pkgs/by-name/no/nom/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/nw/nwg-drawer/package.nix (renamed from nixpkgs/pkgs/applications/misc/nwg-drawer/default.nix)41
-rw-r--r--nixpkgs/pkgs/by-name/of/offpunk/package.nix (renamed from nixpkgs/pkgs/applications/networking/browsers/offpunk/default.nix)34
-rw-r--r--nixpkgs/pkgs/by-name/op/openai-triton-llvm/package.nix127
-rw-r--r--nixpkgs/pkgs/by-name/po/polybar/package.nix2
-rw-r--r--nixpkgs/pkgs/by-name/py/pyprland/package.nix4
-rw-r--r--nixpkgs/pkgs/by-name/si/signaturepdf/package.nix58
-rw-r--r--nixpkgs/pkgs/by-name/so/soundfont-arachno/package.nix27
-rw-r--r--nixpkgs/pkgs/by-name/su/supersonic/package.nix10
-rw-r--r--nixpkgs/pkgs/by-name/sw/sway-audio-idle-inhibit/package.nix39
-rw-r--r--nixpkgs/pkgs/by-name/sw/sway-overfocus/package.nix30
-rw-r--r--nixpkgs/pkgs/by-name/wo/wordlists/package.nix57
-rw-r--r--nixpkgs/pkgs/data/fonts/curie/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/edwin/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/open-fonts/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/scientifica/default.nix2
-rw-r--r--nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix2
-rw-r--r--nixpkgs/pkgs/data/icons/phinger-cursors/default.nix2
-rw-r--r--nixpkgs/pkgs/data/misc/clash-geoip/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/onestepback/default.nix16
-rw-r--r--nixpkgs/pkgs/data/themes/yaru/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/deepin/go-package/deepin-desktop-schemas/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/discover.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/node-composition.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/factor-lang/adjust-paths-in-unit-tests.patch11
-rw-r--r--nixpkgs/pkgs/development/compilers/factor-lang/factor99.nix (renamed from nixpkgs/pkgs/development/compilers/factor-lang/factor98.nix)10
-rw-r--r--nixpkgs/pkgs/development/compilers/factor-lang/scope.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/factor-lang/staging-command-line-0.99-pre.patch (renamed from nixpkgs/pkgs/development/compilers/factor-lang/staging-command-line-0.98-pre.patch)6
-rw-r--r--nixpkgs/pkgs/development/compilers/factor-lang/workdir-0.98-pre.patch24
-rw-r--r--nixpkgs/pkgs/development/compilers/factor-lang/workdir-0.99-pre.patch13
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/clang/LLVMgold-path.patch14
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix127
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/clang/gnu-install-dirs.patch242
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/armv7l.patch23
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/codesign.patch155
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch10
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix112
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/gnu-install-dirs.patch103
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/sys-ustat.patch58
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/default.nix140
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/libcxx/default.nix79
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/libcxx/gnu-install-dirs.patch72
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/libcxxabi/default.nix70
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/libcxxabi/gnu-install-dirs.patch28
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/lld/default.nix46
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/lld/gnu-install-dirs.patch68
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/lldb/default.nix88
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/lldb/gnu-install-dirs.patch76
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix283
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/llvm/fix-gcc9.patch33
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs-polly.patch106
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs.patch386
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/openmp/default.nix37
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/7/lldb/default.nix6
-rw-r--r--nixpkgs/pkgs/development/coq-modules/ITree/default.nix3
-rw-r--r--nixpkgs/pkgs/development/coq-modules/coqprime/default.nix3
-rw-r--r--nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix4
-rw-r--r--nixpkgs/pkgs/development/embedded/blisp/default.nix3
-rw-r--r--nixpkgs/pkgs/development/embedded/elf2uf2-rs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml1
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml3
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/generic-builder.nix4
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix29
-rw-r--r--nixpkgs/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/cel-go/default.nix12
-rw-r--r--nixpkgs/pkgs/development/interpreters/cel-go/go-mod-tidy.patch52
-rw-r--r--nixpkgs/pkgs/development/interpreters/expr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts_py2.py30
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/hooks/default.nix11
-rw-r--r--nixpkgs/pkgs/development/interpreters/rakudo/zef.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/ruby/default.nix18
-rw-r--r--nixpkgs/pkgs/development/interpreters/tinyscheme/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/SDL2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ada/xmlada/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/zita-resampler/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/audio/zix/default.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/blst/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/cctz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/duckdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/imgui/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libaom/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libcef/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libepc/default.nix37
-rw-r--r--nixpkgs/pkgs/development/libraries/libepc/no-avahi-ui.patch36
-rw-r--r--nixpkgs/pkgs/development/libraries/libfprint-2-tod1-elan/default.nix53
-rw-r--r--nixpkgs/pkgs/development/libraries/librttopo/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libsodium/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libspatialindex/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/libspatialite/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libusb1/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libusbsio/default.nix33
-rw-r--r--nixpkgs/pkgs/development/libraries/mtxclient/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/multipart-parser-c/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/ntl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/oneDNN/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/protobuf/generic.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/relibc/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/zn_poly/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/shapelib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/simdjson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/startup-notification/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/tk/generic.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/tracker-miners/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/v8/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/vapoursynth/plugin-interface.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/wayland/protocols.nix2
-rw-r--r--nixpkgs/pkgs/development/misc/newlib/default.nix1
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cooltt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/perl-modules/CSSDOM-replace-apostrophe.patch1412
-rw-r--r--nixpkgs/pkgs/development/python-modules/acquire/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/bbox/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/bork/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/brian2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/brian2/numpy1.24.patch18
-rw-r--r--nixpkgs/pkgs/development/python-modules/circus/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dasbus/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-fat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-sql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/distlib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-hijack/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/echo/default.nix63
-rw-r--r--nixpkgs/pkgs/development/python-modules/fast-histogram/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/flow-record/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/geomet/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/glances-api/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/glueviz/default.nix87
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-org-policy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hcloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hledger-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/iceportal/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/imgtool/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxlib/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/lightning-utilities/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/linknlink/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch34
-rw-r--r--nixpkgs/pkgs/development/python-modules/llm/default.nix107
-rw-r--r--nixpkgs/pkgs/development/python-modules/md-toc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/meraki/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mido/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mitmproxy-macos/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mopeka-iot-ble/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpl-scatter-density/default.nix67
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpv/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/msprime/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/mysql-connector/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/oca-port/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai-whisper/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/opensensemap-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oslo-log/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/owslib/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pvextractor/default.nix61
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygobject-stubs/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyproj/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-ldap/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyudev/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scs/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/shapely/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/siobrultech-protocols/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqids/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stripe/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/succulent/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/syrupy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/testpath/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/testrail-api/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/torch/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/towncrier/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/trainer/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/wakeonlan/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/web-cache/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/xlsxwriter/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/xnd/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/algolia-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/checkov/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/snyk/default.nix3
-rw-r--r--nixpkgs/pkgs/development/tools/api-linter/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ats-acc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/azcopy/default.nix20
-rw-r--r--nixpkgs/pkgs/development/tools/azure-functions-core-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/azure-static-sites-client/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/azure-static-sites-client/versions.json48
-rw-r--r--nixpkgs/pkgs/development/tools/bazelisk/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/bearer/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/biome/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/buildah/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix7
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/darklua/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/database/sqlcmd/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/devbox/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/faas-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/fsautocomplete/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/fsautocomplete/deps.nix50
-rw-r--r--nixpkgs/pkgs/development/tools/fusee-launcher/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/github/bump/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/kafkactl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/ko/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/kubepug/default.nix14
-rw-r--r--nixpkgs/pkgs/development/tools/kubepug/skip-external-network-tests.patch12
-rw-r--r--nixpkgs/pkgs/development/tools/language-servers/zls/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/complgen/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/cvise/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/misc/hydra/crypt-passphrase-argon2-fix-output-len.patch28
-rw-r--r--nixpkgs/pkgs/development/tools/misc/hydra/unstable.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix60
-rw-r--r--nixpkgs/pkgs/development/tools/misc/kibana/disable-nodejs-version-check-7.patch19
-rw-r--r--nixpkgs/pkgs/development/tools/misc/sccache/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/ruff/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-dist/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-leptos/Cargo.lock2
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-leptos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-llvm-cov/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-nextest/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-semver-checks/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-show-asm/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-zigbuild/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/humility/Cargo.lock2400
-rw-r--r--nixpkgs/pkgs/development/tools/rust/humility/default.nix17
-rw-r--r--nixpkgs/pkgs/development/tools/unityhub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/bun/default.nix10
-rw-r--r--nixpkgs/pkgs/development/web/deno/default.nix9
-rw-r--r--nixpkgs/pkgs/development/web/flyctl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/web/mailcatcher/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v14.nix26
-rw-r--r--nixpkgs/pkgs/development/web/nodejs/v16.nix35
-rw-r--r--nixpkgs/pkgs/development/web/playwright-test/default.nix2
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/common.nix2
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/games/enigma/default.nix2
-rw-r--r--nixpkgs/pkgs/games/itch/default.nix19
-rw-r--r--nixpkgs/pkgs/games/scummvm/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/cups/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/brother/dcp375cw/default.nix97
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/brother/mfc465cncupswrapper/default.nix82
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/brother/mfc465cnlpr/default.nix67
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/canon/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/fastly/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/i3a/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix1
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/moltenvk/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/skhd/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/checksec/0002-don-t-sanatize-the-environment.patch25
-rw-r--r--nixpkgs/pkgs/os-specific/linux/checksec/default.nix62
-rw-r--r--nixpkgs/pkgs/os-specific/linux/criu/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/cryptodev/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nmon/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/rtl8812au/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/uhk-agent/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/xf86-input-wacom/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/bloat/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/code-server/build-vscode-nogit.patch20
-rw-r--r--nixpkgs/pkgs/servers/code-server/default.nix327
-rw-r--r--nixpkgs/pkgs/servers/code-server/playwright.patch10
-rw-r--r--nixpkgs/pkgs/servers/code-server/remove-node-download.patch28
-rw-r--r--nixpkgs/pkgs/servers/dante/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/dendrite/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/dns/knot-resolver/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/http/unit/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/jitsi-excalidraw/default.nix40
-rw-r--r--nixpkgs/pkgs/servers/mail/mailpit/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/default.nix3
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/microbin/default.nix47
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/uptime-kuma/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/mpd/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/mx-puppet-discord/node-composition.nix2
-rw-r--r--nixpkgs/pkgs/servers/networkaudiod/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/packages/26.json78
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/packages/27.json78
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/packages/nextcloud-apps.json2
-rw-r--r--nixpkgs/pkgs/servers/nosql/arangodb/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/nosql/ferretdb/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/owntracks-recorder/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/slimserver/default.nix112
-rw-r--r--nixpkgs/pkgs/servers/snappymail/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/dolt/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix2
-rw-r--r--nixpkgs/pkgs/servers/static-web-server/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/unifi/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/web-apps/wordpress/packages/plugins.json20
-rw-r--r--nixpkgs/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json1
-rw-r--r--nixpkgs/pkgs/shells/fish/plugins/done.nix10
-rw-r--r--nixpkgs/pkgs/shells/fish/plugins/github-copilot-cli-fish.nix4
-rw-r--r--nixpkgs/pkgs/shells/hilbish/default.nix2
-rw-r--r--nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix2
-rw-r--r--nixpkgs/pkgs/shells/zsh/zsh-prezto/default.nix6
-rw-r--r--nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix22
-rw-r--r--nixpkgs/pkgs/test/cross/default.nix3
-rw-r--r--nixpkgs/pkgs/test/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/X11/srandrd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/awscli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/copilot-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/scalr-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/audio/tts/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/bluetooth/bluetuith/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/compression/zfp/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix42
-rw-r--r--nixpkgs/pkgs/tools/games/pocket-updater-utility/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/lsix/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/graphics/xcolor/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/zbar/0.23.92-CVE-2023-40889.patch17
-rw-r--r--nixpkgs/pkgs/tools/graphics/zbar/0.23.92-CVE-2023-40890.patch26
-rw-r--r--nixpkgs/pkgs/tools/graphics/zbar/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/bfetch/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/bootspec/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/diffoscope/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/elfcat/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/entr/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/esphome/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/fend/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/fetchutils/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/fzf/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/gh-actions-cache/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/graylog/5.1.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/ripdrag/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/rlwrap/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/sacad/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/sharedown/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/shim/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/vector/Cargo.lock2
-rw-r--r--nixpkgs/pkgs/tools/misc/vector/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/vtm/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/wasm-tools/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/crackle/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/hp2p/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/networking/hp2p/python3.patch120
-rw-r--r--nixpkgs/pkgs/tools/networking/mdk4/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/networkmanager/applet/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/norouter/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/redfang/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/rosenpass/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/package-management/dpkg/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/package-management/xbps/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/security/chain-bench/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/cmospwd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch227
-rw-r--r--nixpkgs/pkgs/tools/security/ghidra/build.nix39
-rw-r--r--nixpkgs/pkgs/tools/security/gitleaks/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock6
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/metasploit/gemset.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/nitrokey-app2/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/nuclei/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/sequoia-sqop/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/nsc/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/system/zps/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/zram-generator/Cargo.lock28
-rw-r--r--nixpkgs/pkgs/tools/text/difftastic/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/text/invoice2data/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/text/mdbook/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/text/vale/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/video/blackmagic-desktop-video/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/virtualization/govc/default.nix4
-rw-r--r--nixpkgs/pkgs/top-level/aliases.nix8
-rw-r--r--nixpkgs/pkgs/top-level/all-packages.nix85
-rw-r--r--nixpkgs/pkgs/top-level/linux-kernels.nix2
-rw-r--r--nixpkgs/pkgs/top-level/perl-packages.nix105
-rw-r--r--nixpkgs/pkgs/top-level/pkg-config/pkg-config-data.json5
-rw-r--r--nixpkgs/pkgs/top-level/python-packages.nix27
-rw-r--r--nixpkgs/pkgs/top-level/release.nix18
582 files changed, 8109 insertions, 6101 deletions
diff --git a/nixpkgs/.github/CODEOWNERS b/nixpkgs/.github/CODEOWNERS
index 47069c9a7945..3c300d00c6ba 100644
--- a/nixpkgs/.github/CODEOWNERS
+++ b/nixpkgs/.github/CODEOWNERS
@@ -118,13 +118,13 @@
 /pkgs/development/interpreters/python/hooks                 @FRidh @jonringer
 
 # Haskell
-/doc/languages-frameworks/haskell.section.md  @cdepillabout @sternenseemann @maralorn
-/maintainers/scripts/haskell                  @cdepillabout @sternenseemann @maralorn
-/pkgs/development/compilers/ghc               @cdepillabout @sternenseemann @maralorn
-/pkgs/development/haskell-modules             @cdepillabout @sternenseemann @maralorn
-/pkgs/test/haskell                            @cdepillabout @sternenseemann @maralorn
-/pkgs/top-level/release-haskell.nix           @cdepillabout @sternenseemann @maralorn
-/pkgs/top-level/haskell-packages.nix          @cdepillabout @sternenseemann @maralorn
+/doc/languages-frameworks/haskell.section.md  @cdepillabout @sternenseemann @maralorn @ncfavier
+/maintainers/scripts/haskell                  @cdepillabout @sternenseemann @maralorn @ncfavier
+/pkgs/development/compilers/ghc               @cdepillabout @sternenseemann @maralorn @ncfavier
+/pkgs/development/haskell-modules             @cdepillabout @sternenseemann @maralorn @ncfavier
+/pkgs/test/haskell                            @cdepillabout @sternenseemann @maralorn @ncfavier
+/pkgs/top-level/release-haskell.nix           @cdepillabout @sternenseemann @maralorn @ncfavier
+/pkgs/top-level/haskell-packages.nix          @cdepillabout @sternenseemann @maralorn @ncfavier
 
 # Perl
 /pkgs/development/interpreters/perl @stigtsp @zakame @dasJ
diff --git a/nixpkgs/lib/path/tests/default.nix b/nixpkgs/lib/path/tests/default.nix
index 50d40cdfa476..93aea798acca 100644
--- a/nixpkgs/lib/path/tests/default.nix
+++ b/nixpkgs/lib/path/tests/default.nix
@@ -6,16 +6,19 @@
     overlays = [];
     inherit system;
   },
+  nixVersions ? import ../../tests/nix-for-tests.nix { inherit pkgs; },
   libpath ? ../..,
   # Random seed
   seed ? null,
 }:
+
 pkgs.runCommand "lib-path-tests" {
-  nativeBuildInputs = with pkgs; [
-    nix
+  nativeBuildInputs = [
+    nixVersions.stable
+  ] ++ (with pkgs; [
     jq
     bc
-  ];
+  ]);
 } ''
   # Needed to make Nix evaluation work
   export TEST_ROOT=$(pwd)/test-tmp
diff --git a/nixpkgs/lib/tests/nix-for-tests.nix b/nixpkgs/lib/tests/nix-for-tests.nix
new file mode 100644
index 000000000000..69dedece3874
--- /dev/null
+++ b/nixpkgs/lib/tests/nix-for-tests.nix
@@ -0,0 +1,17 @@
+{ pkgs
+}:
+
+# The aws-sdk-cpp tests are flaky.  Since pull requests to staging
+# cause nix to be rebuilt, this means that staging PRs end up
+# getting false CI failures due to whatever is flaky in the AWS
+# SDK tests.  Since none of our CI needs to (or should be able to)
+# contact AWS S3, let's just omit it all from the Nix that runs
+# CI.  Bonus: the tests build way faster.
+#
+# See also: https://github.com/NixOS/nix/issues/7582
+
+builtins.mapAttrs (_: pkg:
+  if builtins.isAttrs pkg
+  then pkg.override { withAWS = false; }
+  else pkg)
+  pkgs.nixVersions
diff --git a/nixpkgs/lib/tests/release.nix b/nixpkgs/lib/tests/release.nix
index 6e5b07117367..843180490bb2 100644
--- a/nixpkgs/lib/tests/release.nix
+++ b/nixpkgs/lib/tests/release.nix
@@ -1,8 +1,9 @@
 { # The pkgs used for dependencies for the testing itself
   # Don't test properties of pkgs.lib, but rather the lib in the parent directory
   pkgs ? import ../.. {} // { lib = throw "pkgs.lib accessed, but the lib tests should use nixpkgs' lib path directly!"; },
-  nix ? pkgs.nix,
-  nixVersions ? [ pkgs.nixVersions.minimum nix pkgs.nixVersions.unstable ],
+  nix ? pkgs-nixVersions.stable,
+  nixVersions ? [ pkgs-nixVersions.minimum nix pkgs-nixVersions.unstable ],
+  pkgs-nixVersions ? import ./nix-for-tests.nix { inherit pkgs; },
 }:
 
 let
diff --git a/nixpkgs/maintainers/maintainer-list.nix b/nixpkgs/maintainers/maintainer-list.nix
index 4a75aed9a611..5df00f2371f4 100644
--- a/nixpkgs/maintainers/maintainer-list.nix
+++ b/nixpkgs/maintainers/maintainer-list.nix
@@ -1225,6 +1225,11 @@
     githubId = 81317317;
     name = "Anna Aurora";
   };
+  a-n-n-a-l-e-e = {
+    github = "a-n-n-a-l-e-e";
+    githubId = 150648636;
+    name = "annalee";
+  };
   anoa = {
     matrix = "@andrewm:amorgan.xyz";
     email = "andrew@amorgan.xyz";
@@ -2477,6 +2482,12 @@
     githubId = 50839;
     name = "Brian Jones";
   };
+  boltzmannrain = {
+    email = "boltzmannrain@gmail.com";
+    github = "boltzmannrain";
+    githubId = 150560585;
+    name = "Dmitry Ivankov";
+  };
   booklearner = {
     name = "booklearner";
     email = "booklearner@proton.me";
@@ -2545,6 +2556,12 @@
     githubId = 4621;
     name = "Brad Ediger";
   };
+  brahyerr = {
+    name = "Bryant Pham";
+    email = "bp@1829847@gmail.com";
+    github = "brahyerr";
+    githubId = 120991075;
+  };
   brainrape = {
     email = "martonboros@gmail.com";
     github = "brainrake";
@@ -2676,6 +2693,12 @@
     githubId = 61636;
     name = "Brad Langhorst";
   };
+  bycEEE = {
+    email = "bycEEE@gmail.com";
+    github = "bycEEE";
+    githubId = 8891115;
+    name = "Brian Choy";
+  };
   bzizou = {
     email = "Bruno@bzizou.net";
     github = "bzizou";
@@ -5997,13 +6020,6 @@
     githubId = 92793;
     name = "Friedrich von Never";
   };
-  fortuneteller2k = {
-    email = "lythe1107@gmail.com";
-    matrix = "@fortuneteller2k:matrix.org";
-    github = "fortuneteller2k";
-    githubId = 20619776;
-    name = "fortuneteller2k";
-  };
   fpletz = {
     email = "fpletz@fnordicwalking.de";
     github = "fpletz";
@@ -7794,6 +7810,12 @@
     githubId = 4458;
     name = "Ivan Kozik";
   };
+  ivan770 = {
+    email = "ivan@ivan770.me";
+    github = "ivan770";
+    githubId = 14003886;
+    name = "Ivan Leshchenko";
+  };
   ivan-babrou = {
     email = "nixpkgs@ivan.computer";
     name = "Ivan Babrou";
@@ -10969,6 +10991,12 @@
     githubId = 1651325;
     name = "maralorn";
   };
+  marcovergueira = {
+    email = "vergueira.marco@gmail.com";
+    github = "marcovergueira";
+    githubId = 929114;
+    name = "Marco Vergueira";
+  };
   marcus7070 = {
     email = "marcus@geosol.com.au";
     github = "marcus7070";
@@ -12089,6 +12117,13 @@
     github = "ribosomerocker";
     githubId = 46468162;
   };
+  moni = {
+    email = "lythe1107@gmail.com";
+    matrix = "@fortuneteller2k:matrix.org";
+    github = "moni";
+    githubId = 20619776;
+    name = "moni";
+  };
   monsieurp = {
     email = "monsieurp@gentoo.org";
     github = "monsieurp";
@@ -12752,6 +12787,12 @@
     githubId = 13920346;
     name = "Sébastien Iooss";
   };
+  netthier = {
+    email = "netthier@proton.me";
+    name = "nett_hier";
+    github = "netthier";
+    githubId = 66856670;
+  };
   networkexception = {
     name = "networkException";
     email = "nix@nwex.de";
@@ -14029,6 +14070,12 @@
     githubId = 301903;
     name = "Chip Collier";
   };
+  phrogg = {
+    name = "Phil Roggenbuck";
+    email = "nixpkgs@phrogg.de";
+    github = "phrogg";
+    githubId = 1367949;
+  };
   phryneas = {
     email = "mail@lenzw.de";
     github = "phryneas";
@@ -14684,6 +14731,12 @@
       fingerprint = "3586 3350 BFEA C101 DB1A 4AF0 1F81 112D 62A9 ADCE";
     }];
   };
+  qdlmcfresh = {
+    name = "Philipp Urlbauer";
+    email = "qdlmcfresh@gmail.com";
+    github = "qdlmcfresh";
+    githubId = 10837173;
+  };
   qjoly = {
     email = "github@thoughtless.eu";
     github = "qjoly";
@@ -14798,6 +14851,12 @@
     githubId = 1016742;
     name = "Rafael García";
   };
+  rafaelrc = {
+    email = "contact@rafaelrc.com";
+    name = "Rafael Carvalho";
+    github = "rafaelrc7";
+    githubId = 5376043;
+  };
   ragge = {
     email = "r.dahlen@gmail.com";
     github = "ragnard";
diff --git a/nixpkgs/maintainers/team-list.nix b/nixpkgs/maintainers/team-list.nix
index 3ad43f2a34e4..db66b8fe8689 100644
--- a/nixpkgs/maintainers/team-list.nix
+++ b/nixpkgs/maintainers/team-list.nix
@@ -398,6 +398,7 @@ with lib.maintainers; {
       cdepillabout
       expipiplus1
       maralorn
+      ncfavier
       sternenseemann
     ];
     githubTeams = [
@@ -916,7 +917,6 @@ with lib.maintainers; {
 
   tts = {
     members = [
-      hexa
       mic92
     ];
     scope = "coqui-ai TTS (formerly Mozilla TTS) and leaf packages";
diff --git a/nixpkgs/nixos/doc/manual/release-notes/rl-2311.section.md b/nixpkgs/nixos/doc/manual/release-notes/rl-2311.section.md
index 5cb5fec2305e..e2853569423d 100644
--- a/nixpkgs/nixos/doc/manual/release-notes/rl-2311.section.md
+++ b/nixpkgs/nixos/doc/manual/release-notes/rl-2311.section.md
@@ -30,6 +30,9 @@
 
 [`sudo-rs`]: https://github.com/memorysafety/sudo-rs/
 
+- `linuxPackages_testing_bcachefs` is now soft-deprecated by `linuxPackages_testing`.
+  - Please consider changing your NixOS configuration's `boot.kernelPackages` to `linuxPackages_testing` until a stable kernel with bcachefs support is released.
+
 - All [ROCm](https://rocm.docs.amd.com/en/latest/) packages have been updated to 5.7.0.
   - [ROCm](https://rocm.docs.amd.com/en/latest/) package attribute sets are versioned: `rocmPackages` -> `rocmPackages_5`.
 
@@ -104,6 +107,8 @@
 
 - [eris-server](https://codeberg.org/eris/eris-go). [ERIS](https://eris.codeberg.page/) is an encoding for immutable storage and this server provides block exchange as well as content decoding over HTTP and through a FUSE file-system. Available as [services.eris-server](#opt-services.eris-server.enable).
 
+- [forgejo](https://forgejo.org/), a git forge. Previously deployed as a drop-in replacement package in the [gitea module](#opt-services.gitea.package). Available as [services.forgejo](#opt-services.forgejo.enable). See migration instructions in the [NixOS manual](#module-forgejo) on how to migrate your forgejo instance using [`services.gitea.package = pkgs.forgejo`](#opt-services.gitea.package) to [`services.forgejo`](#opt-services.forgejo.enable).
+
 - hardware/infiniband.nix adds infiniband subnet manager support using an [opensm](https://github.com/linux-rdma/opensm) systemd-template service, instantiated on card guids. The module also adds kernel modules and cli tooling to help administrators debug and measure performance. Available as [hardware.infiniband.enable](#opt-hardware.infiniband.enable).
 
 - [zwave-js](https://github.com/zwave-js/zwave-js-server), a small server wrapper around Z-Wave JS to access it via a WebSocket. Available as [services.zwave-js](#opt-services.zwave-js.enable).
@@ -143,6 +148,9 @@
 
 ## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
 
+- `services.postgresql.ensurePermissions` has been deprecated in favor of `services.postgresql.ensureUsers.*.ensureDBOwnership` which simplifies the setup of database owned by a certain system user
+  in local database contexts (which make use of peer authentication via UNIX sockets), migration guidelines were provided in the NixOS manual, please refer to them if you are affected by a PostgreSQL 15 changing the way `GRANT ALL PRIVILEGES` is working. `services.postgresql.ensurePermissions` will be removed in 24.05. All NixOS modules were migrated using one of the strategy, e.g. `ensureDBOwnership` or `postStart`. More about this situation can be learnt in https://github.com/NixOS/nixpkgs/pull/266270.
+
 - `network-online.target` has been fixed to no longer time out for systems with `networking.useDHCP = true` and `networking.useNetworkd = true`.
   Workarounds for this can be removed.
 
@@ -545,6 +553,10 @@ The module update takes care of the new config syntax and the data itself (user
 
 ## Nixpkgs internals {#sec-release-23.11-nixpkgs-internals}
 
+- Node.js v14, v16 has been removed as they were end of life. Any dependent packages that contributors were not able to reasonably upgrade were dropped after a month of notice to their maintainers, were **removed**.
+  - This includes VSCode Server.
+  - This includes Kibana 7 as the ELK stack is unmaintained in nixpkgs and is marked for slow removal.
+
 - The use of `sourceRoot = "source";`, `sourceRoot = "source/subdir";`, and similar lines in package derivations using the default `unpackPhase` is deprecated as it requires `unpackPhase` to always produce a directory named "source". Use `sourceRoot = src.name`, `sourceRoot = "${src.name}/subdir";`, or `setSourceRoot = "sourceRoot=$(echo */subdir)";` or similar instead.
 
 - The `django` alias in the python package set was upgraded to Django 4.x.
diff --git a/nixpkgs/nixos/lib/systemd-network-units.nix b/nixpkgs/nixos/lib/systemd-network-units.nix
index 8bda1a8bfdcf..1d5f823f3678 100644
--- a/nixpkgs/nixos/lib/systemd-network-units.nix
+++ b/nixpkgs/nixos/lib/systemd-network-units.nix
@@ -23,6 +23,12 @@ in {
     '' + optionalString (def.vlanConfig != { }) ''
       [VLAN]
       ${attrsToSection def.vlanConfig}
+    '' + optionalString (def.ipvlanConfig != { }) ''
+      [IPVLAN]
+      ${attrsToSection def.ipvlanConfig}
+    '' + optionalString (def.ipvtapConfig != { }) ''
+      [IPVTAP]
+      ${attrsToSection def.ipvtapConfig}
     '' + optionalString (def.macvlanConfig != { }) ''
       [MACVLAN]
       ${attrsToSection def.macvlanConfig}
diff --git a/nixpkgs/nixos/modules/config/stevenblack.nix b/nixpkgs/nixos/modules/config/stevenblack.nix
index 30ef7ff259f0..7e6235169847 100644
--- a/nixpkgs/nixos/modules/config/stevenblack.nix
+++ b/nixpkgs/nixos/modules/config/stevenblack.nix
@@ -30,5 +30,5 @@ in
       ++ optionals (activatedHosts == [ ]) [ "${pkgs.stevenblack-blocklist}/hosts" ];
   };
 
-  meta.maintainers = [ maintainers.fortuneteller2k maintainers.artturin ];
+  meta.maintainers = [ maintainers.moni maintainers.artturin ];
 }
diff --git a/nixpkgs/nixos/modules/module-list.nix b/nixpkgs/nixos/modules/module-list.nix
index 16728ba18df8..b6519d17b9a4 100644
--- a/nixpkgs/nixos/modules/module-list.nix
+++ b/nixpkgs/nixos/modules/module-list.nix
@@ -1148,7 +1148,6 @@
   ./services/search/elasticsearch-curator.nix
   ./services/search/elasticsearch.nix
   ./services/search/hound.nix
-  ./services/search/kibana.nix
   ./services/search/meilisearch.nix
   ./services/search/opensearch.nix
   ./services/search/qdrant.nix
@@ -1242,7 +1241,6 @@
   ./services/web-apps/changedetection-io.nix
   ./services/web-apps/chatgpt-retrieval-plugin.nix
   ./services/web-apps/cloudlog.nix
-  ./services/web-apps/code-server.nix
   ./services/web-apps/convos.nix
   ./services/web-apps/dex.nix
   ./services/web-apps/discourse.nix
diff --git a/nixpkgs/nixos/modules/services/audio/slimserver.nix b/nixpkgs/nixos/modules/services/audio/slimserver.nix
index 9fbc68b71364..cdd9d551c501 100644
--- a/nixpkgs/nixos/modules/services/audio/slimserver.nix
+++ b/nixpkgs/nixos/modules/services/audio/slimserver.nix
@@ -54,7 +54,7 @@ in {
       serviceConfig = {
         User = "slimserver";
         # Issue 40589: Disable broken image/video support (audio still works!)
-        ExecStart = "${cfg.package}/slimserver.pl --logdir ${cfg.dataDir}/logs --prefsdir ${cfg.dataDir}/prefs --cachedir ${cfg.dataDir}/cache --noimage --novideo";
+        ExecStart = "${lib.getExe cfg.package} --logdir ${cfg.dataDir}/logs --prefsdir ${cfg.dataDir}/prefs --cachedir ${cfg.dataDir}/cache --noimage --novideo";
       };
     };
 
diff --git a/nixpkgs/nixos/modules/services/databases/postgresql.md b/nixpkgs/nixos/modules/services/databases/postgresql.md
index d65d9616e2f2..e5e0b7efec29 100644
--- a/nixpkgs/nixos/modules/services/databases/postgresql.md
+++ b/nixpkgs/nixos/modules/services/databases/postgresql.md
@@ -39,6 +39,125 @@ By default, PostgreSQL stores its databases in {file}`/var/lib/postgresql/$psqlS
 services.postgresql.dataDir = "/data/postgresql";
 ```
 
+## Initializing {#module-services-postgres-initializing}
+
+As of NixOS 23.11,
+`services.postgresql.ensureUsers.*.ensurePermissions` has been
+deprecated, after a change to default permissions in PostgreSQL 15
+invalidated most of its previous use cases:
+
+- In psql < 15, `ALL PRIVILEGES` used to include `CREATE TABLE`, where
+  in psql >= 15 that would be a separate permission
+- psql >= 15 instead gives only the database owner create permissions
+- Even on psql < 15 (or databases migrated to >= 15), it is
+  recommended to manually assign permissions along these lines
+  - https://www.postgresql.org/docs/release/15.0/
+  - https://www.postgresql.org/docs/15/ddl-schemas.html#DDL-SCHEMAS-PRIV
+
+### Assigning ownership {#module-services-postgres-initializing-ownership}
+
+Usually, the database owner should be a database user of the same
+name. This can be done with
+`services.postgresql.ensureUsers.*.ensureDBOwnership = true;`.
+
+If the database user name equals the connecting system user name,
+postgres by default will accept a passwordless connection via unix
+domain socket. This makes it possible to run many postgres-backed
+services without creating any database secrets at all
+
+### Assigning extra permissions {#module-services-postgres-initializing-extra-permissions}
+
+For many cases, it will be enough to have the database user be the
+owner. Until `services.postgresql.ensureUsers.*.ensurePermissions` has
+been re-thought, if more users need access to the database, please use
+one of the following approaches:
+
+**WARNING:** `services.postgresql.initialScript` is not recommended
+for `ensurePermissions` replacement, as that is *only run on first
+start of PostgreSQL*.
+
+**NOTE:** all of these methods may be obsoleted, when `ensure*` is
+reworked, but it is expected that they will stay viable for running
+database migrations.
+
+**NOTE:** please make sure that any added migrations are idempotent (re-runnable).
+
+#### as superuser {#module-services-postgres-initializing-extra-permissions-superuser}
+
+**Advantage:** compatible with postgres < 15, because it's run
+as the database superuser `postgres`.
+
+##### in database `postStart` {#module-services-postgres-initializing-extra-permissions-superuser-post-start}
+
+**Disadvantage:** need to take care of ordering yourself. In this
+example, `mkAfter` ensures that permissions are assigned after any
+databases from `ensureDatabases` and `extraUser1` from `ensureUsers`
+are already created.
+
+```nix
+    systemd.services.postgresql.postStart = lib.mkAfter ''
+      $PSQL service1 -c 'GRANT SELECT ON ALL TABLES IN SCHEMA public TO "extraUser1"'
+      $PSQL service1 -c 'GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO "extraUser1"'
+      # ....
+    '';
+```
+
+##### in intermediate oneshot service {#module-services-postgres-initializing-extra-permissions-superuser-oneshot}
+
+```nix
+    systemd.services."migrate-service1-db1" = {
+      serviceConfig.Type = "oneshot";
+      requiredBy = "service1.service";
+      before = "service1.service";
+      after = "postgresql.service";
+      serviceConfig.User = "postgres";
+      environment.PSQL = "psql --port=${toString services.postgresql.port}";
+      path = [ postgresql ];
+      script = ''
+        $PSQL service1 -c 'GRANT SELECT ON ALL TABLES IN SCHEMA public TO "extraUser1"'
+        $PSQL service1 -c 'GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO "extraUser1"'
+        # ....
+      '';
+    };
+```
+
+#### as service user {#module-services-postgres-initializing-extra-permissions-service-user}
+
+**Advantage:** re-uses systemd's dependency ordering;
+
+**Disadvantage:** relies on service user having grant permission. To be combined with `ensureDBOwnership`.
+
+##### in service `preStart` {#module-services-postgres-initializing-extra-permissions-service-user-pre-start}
+
+```nix
+    environment.PSQL = "psql --port=${toString services.postgresql.port}";
+    path = [ postgresql ];
+    systemd.services."service1".preStart = ''
+      $PSQL -c 'GRANT SELECT ON ALL TABLES IN SCHEMA public TO "extraUser1"'
+      $PSQL -c 'GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO "extraUser1"'
+      # ....
+    '';
+```
+
+##### in intermediate oneshot service {#module-services-postgres-initializing-extra-permissions-service-user-oneshot}
+
+```nix
+    systemd.services."migrate-service1-db1" = {
+      serviceConfig.Type = "oneshot";
+      requiredBy = "service1.service";
+      before = "service1.service";
+      after = "postgresql.service";
+      serviceConfig.User = "service1";
+      environment.PSQL = "psql --port=${toString services.postgresql.port}";
+      path = [ postgresql ];
+      script = ''
+        $PSQL -c 'GRANT SELECT ON ALL TABLES IN SCHEMA public TO "extraUser1"'
+        $PSQL -c 'GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO "extraUser1"'
+        # ....
+      '';
+    };
+```
+
 ## Upgrading {#module-services-postgres-upgrading}
 
 ::: {.note}
diff --git a/nixpkgs/nixos/modules/services/databases/postgresql.nix b/nixpkgs/nixos/modules/services/databases/postgresql.nix
index af4db5c9611f..a9067d5974a9 100644
--- a/nixpkgs/nixos/modules/services/databases/postgresql.nix
+++ b/nixpkgs/nixos/modules/services/databases/postgresql.nix
@@ -168,7 +168,12 @@ in
             ensurePermissions = mkOption {
               type = types.attrsOf types.str;
               default = {};
+              visible = false; # This option has been deprecated.
               description = lib.mdDoc ''
+                This option is DEPRECATED and should not be used in nixpkgs anymore,
+                use `ensureDBOwnership` instead. It can also break with newer
+                versions of PostgreSQL (≥ 15).
+
                 Permissions to ensure for the user, specified as an attribute set.
                 The attribute names specify the database and tables to grant the permissions for.
                 The attribute values specify the permissions to grant. You may specify one or
@@ -187,6 +192,16 @@ in
               '';
             };
 
+            ensureDBOwnership = mkOption {
+              type = types.bool;
+              default = false;
+              description = mdDoc ''
+                Grants the user ownership to a database with the same name.
+                This database must be defined manually in
+                [](#opt-services.postgresql.ensureDatabases).
+              '';
+            };
+
             ensureClauses = mkOption {
               description = lib.mdDoc ''
                 An attrset of clauses to grant to the user. Under the hood this uses the
@@ -338,26 +353,21 @@ in
         });
         default = [];
         description = lib.mdDoc ''
-          Ensures that the specified users exist and have at least the ensured permissions.
+          Ensures that the specified users exist.
           The PostgreSQL users will be identified using peer authentication. This authenticates the Unix user with the
           same name only, and that without the need for a password.
-          This option will never delete existing users or remove permissions, especially not when the value of this
-          option is changed. This means that users created and permissions assigned once through this option or
-          otherwise have to be removed manually.
+          This option will never delete existing users or remove DB ownership of databases
+          once granted with `ensureDBOwnership = true;`. This means that this must be
+          cleaned up manually when changing after changing the config in here.
         '';
         example = literalExpression ''
           [
             {
               name = "nextcloud";
-              ensurePermissions = {
-                "DATABASE nextcloud" = "ALL PRIVILEGES";
-              };
             }
             {
               name = "superuser";
-              ensurePermissions = {
-                "ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES";
-              };
+              ensureDBOwnership = true;
             }
           ]
         '';
@@ -445,6 +455,27 @@ in
 
   config = mkIf cfg.enable {
 
+    assertions = map ({ name, ensureDBOwnership, ... }: {
+      assertion = ensureDBOwnership -> builtins.elem name cfg.ensureDatabases;
+      message = ''
+        For each database user defined with `services.postgresql.ensureUsers` and
+        `ensureDBOwnership = true;`, a database with the same name must be defined
+        in `services.postgresql.ensureDatabases`.
+
+        Offender: ${name} has not been found among databases.
+      '';
+    }) cfg.ensureUsers;
+    # `ensurePermissions` is now deprecated, let's avoid it.
+    warnings = lib.optional (any ({ ensurePermissions, ... }: ensurePermissions != {}) cfg.ensureUsers) "
+      `services.postgresql.*.ensurePermissions` is used in your expressions,
+      this option is known to be broken with newer PostgreSQL versions,
+      consider migrating to `services.postgresql.*.ensureDBOwnership` or
+      consult the release notes or manual for more migration guidelines.
+
+      This option will be removed in NixOS 24.05 unless it sees significant
+      maintenance improvements.
+    ";
+
     services.postgresql.settings =
       {
         hba_file = "${pkgs.writeText "pg_hba.conf" cfg.authentication}";
@@ -556,12 +587,15 @@ in
             ${
               concatMapStrings
               (user:
-                let
+              let
                   userPermissions = concatStringsSep "\n"
                     (mapAttrsToList
                       (database: permission: ''$PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"' '')
                       user.ensurePermissions
                     );
+                  dbOwnershipStmt = optionalString
+                    user.ensureDBOwnership
+                    ''$PSQL -tAc 'ALTER DATABASE "${user.name}" OWNER TO "${user.name}";' '';
 
                   filteredClauses = filterAttrs (name: value: value != null) user.ensureClauses;
 
@@ -572,6 +606,8 @@ in
                   $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"'
                   ${userPermissions}
                   ${userClauses}
+
+                  ${dbOwnershipStmt}
                 ''
               )
               cfg.ensureUsers
diff --git a/nixpkgs/nixos/modules/services/development/zammad.nix b/nixpkgs/nixos/modules/services/development/zammad.nix
index 7dd143eebf12..d24ed24ef395 100644
--- a/nixpkgs/nixos/modules/services/development/zammad.nix
+++ b/nixpkgs/nixos/modules/services/development/zammad.nix
@@ -204,7 +204,7 @@ in
 
     assertions = [
       {
-        assertion = cfg.database.createLocally -> cfg.database.user == "zammad";
+        assertion = cfg.database.createLocally -> cfg.database.user == "zammad" && cfg.database.name == "zammad";
         message = "services.zammad.database.user must be set to \"zammad\" if services.zammad.database.createLocally is set to true";
       }
       {
@@ -231,7 +231,7 @@ in
       ensureUsers = [
         {
           name = cfg.database.user;
-          ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; };
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/services/finance/odoo.nix b/nixpkgs/nixos/modules/services/finance/odoo.nix
index eec7c4e30cc4..b8574ed09af9 100644
--- a/nixpkgs/nixos/modules/services/finance/odoo.nix
+++ b/nixpkgs/nixos/modules/services/finance/odoo.nix
@@ -121,7 +121,7 @@ in
       ensureDatabases = [ "odoo" ];
       ensureUsers = [{
         name = "odoo";
-        ensurePermissions = { "DATABASE odoo" = "ALL PRIVILEGES"; };
+        ensureDBOwnership = true;
       }];
     };
   });
diff --git a/nixpkgs/nixos/modules/services/mail/listmonk.nix b/nixpkgs/nixos/modules/services/mail/listmonk.nix
index 11b2a5186229..cea1bc956081 100644
--- a/nixpkgs/nixos/modules/services/mail/listmonk.nix
+++ b/nixpkgs/nixos/modules/services/mail/listmonk.nix
@@ -168,7 +168,7 @@ in {
 
       ensureUsers = [{
         name = "listmonk";
-        ensurePermissions = { "DATABASE listmonk" = "ALL PRIVILEGES"; };
+        ensureDBOwnership = true;
       }];
 
       ensureDatabases = [ "listmonk" ];
diff --git a/nixpkgs/nixos/modules/services/mail/roundcube.nix b/nixpkgs/nixos/modules/services/mail/roundcube.nix
index 22a4e3c451ab..4e29f567ed92 100644
--- a/nixpkgs/nixos/modules/services/mail/roundcube.nix
+++ b/nixpkgs/nixos/modules/services/mail/roundcube.nix
@@ -179,14 +179,22 @@ in
       };
     };
 
+    assertions = [
+      {
+        assertion = localDB -> cfg.database.username == cfg.database.dbname;
+        message = ''
+          When setting up a DB and its owner user, the owner and the DB name must be
+          equal!
+        '';
+      }
+    ];
+
     services.postgresql = mkIf localDB {
       enable = true;
       ensureDatabases = [ cfg.database.dbname ];
       ensureUsers = [ {
         name = cfg.database.username;
-        ensurePermissions = {
-          "DATABASE ${cfg.database.username}" = "ALL PRIVILEGES";
-        };
+        ensureDBOwnership = true;
       } ];
     };
 
diff --git a/nixpkgs/nixos/modules/services/mail/sympa.nix b/nixpkgs/nixos/modules/services/mail/sympa.nix
index 7a5047b2bea5..04ae46f66eea 100644
--- a/nixpkgs/nixos/modules/services/mail/sympa.nix
+++ b/nixpkgs/nixos/modules/services/mail/sympa.nix
@@ -218,7 +218,7 @@ in
         default = null;
         example = "/run/keys/sympa-dbpassword";
         description = lib.mdDoc ''
-          A file containing the password for {option}`services.sympa.database.user`.
+          A file containing the password for {option}`services.sympa.database.name`.
         '';
       };
 
@@ -342,6 +342,7 @@ in
 
       db_type = cfg.database.type;
       db_name = cfg.database.name;
+      db_user = cfg.database.name;
     }
     // (optionalAttrs (cfg.database.host != null) {
       db_host = cfg.database.host;
@@ -355,9 +356,6 @@ in
     // (optionalAttrs (cfg.database.port != null) {
       db_port = cfg.database.port;
     })
-    // (optionalAttrs (cfg.database.user != null) {
-      db_user = cfg.database.user;
-    })
     // (optionalAttrs (cfg.mta.type == "postfix") {
       sendmail_aliases = "${dataDir}/sympa_transport";
       aliases_program  = "${pkgs.postfix}/bin/postmap";
@@ -393,7 +391,7 @@ in
     users.groups.${group} = {};
 
     assertions = [
-      { assertion = cfg.database.createLocally -> cfg.database.user == user;
+      { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.name == cfg.database.user;
         message = "services.sympa.database.user must be set to ${user} if services.sympa.database.createLocally is set to true";
       }
       { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
@@ -579,7 +577,7 @@ in
       ensureDatabases = [ cfg.database.name ];
       ensureUsers = [
         { name = cfg.database.user;
-          ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; };
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/services/matrix/matrix-sliding-sync.nix b/nixpkgs/nixos/modules/services/matrix/matrix-sliding-sync.nix
index 9807cde40919..84bb38f35aeb 100644
--- a/nixpkgs/nixos/modules/services/matrix/matrix-sliding-sync.nix
+++ b/nixpkgs/nixos/modules/services/matrix/matrix-sliding-sync.nix
@@ -74,9 +74,9 @@ in
     services.postgresql = lib.optionalAttrs cfg.createDatabase {
       enable = true;
       ensureDatabases = [ "matrix-sliding-sync" ];
-      ensureUsers = [ rec {
+      ensureUsers = [ {
         name = "matrix-sliding-sync";
-        ensurePermissions."DATABASE \"${name}\"" = "ALL PRIVILEGES";
+        ensureDBOwnership = true;
       } ];
     };
 
diff --git a/nixpkgs/nixos/modules/services/matrix/mautrix-facebook.nix b/nixpkgs/nixos/modules/services/matrix/mautrix-facebook.nix
index 671040500df8..d7cf024bb807 100644
--- a/nixpkgs/nixos/modules/services/matrix/mautrix-facebook.nix
+++ b/nixpkgs/nixos/modules/services/matrix/mautrix-facebook.nix
@@ -135,9 +135,7 @@ in {
       ensureDatabases = ["mautrix-facebook"];
       ensureUsers = [{
         name = "mautrix-facebook";
-        ensurePermissions = {
-          "DATABASE \"mautrix-facebook\"" = "ALL PRIVILEGES";
-        };
+        ensureDBOwnership = true;
       }];
     };
 
diff --git a/nixpkgs/nixos/modules/services/misc/atuin.nix b/nixpkgs/nixos/modules/services/misc/atuin.nix
index 8d2c1b5242ff..2d6ffc510ce5 100644
--- a/nixpkgs/nixos/modules/services/misc/atuin.nix
+++ b/nixpkgs/nixos/modules/services/misc/atuin.nix
@@ -73,9 +73,7 @@ in
       enable = true;
       ensureUsers = [{
         name = "atuin";
-        ensurePermissions = {
-          "DATABASE atuin" = "ALL PRIVILEGES";
-        };
+        ensureDBOwnership = true;
       }];
       ensureDatabases = [ "atuin" ];
     };
diff --git a/nixpkgs/nixos/modules/services/misc/forgejo.md b/nixpkgs/nixos/modules/services/misc/forgejo.md
new file mode 100644
index 000000000000..3df8bc20976a
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/misc/forgejo.md
@@ -0,0 +1,79 @@
+# Forgejo {#module-forgejo}
+
+Forgejo is a soft-fork of gitea, with strong community focus, as well
+as on self-hosting and federation. [Codeberg](https://codeberg.org) is
+deployed from it.
+
+See [upstream docs](https://forgejo.org/docs/latest/).
+
+The method of choice for running forgejo is using [`services.forgejo`](#opt-services.forgejo.enable).
+
+::: {.warning}
+Running forgejo using `services.gitea.package = pkgs.forgejo` is no longer
+recommended.
+If you experience issues with your instance using `services.gitea`,
+**DO NOT** report them to the `services.gitea` module maintainers.
+**DO** report them to the `services.forgejo` module maintainers instead.
+:::
+
+## Migration from Gitea {#module-forgejo-migration-gitea}
+
+::: {.note}
+Migrating is, while not strictly necessary at this point, highly recommended.
+Both modules and projects are likely to divide further with each release.
+Which might lead to an even more involved migration.
+:::
+
+### Full-Migration {#module-forgejo-migration-gitea-default}
+
+This will migrate the state directory (data), rename and chown the database and
+delete the gitea user.
+
+::: {.note}
+This will also change the git remote ssh-url user from `gitea@` to `forgejo@`,
+when using the host's openssh server (default) instead of the integrated one.
+:::
+
+Instructions for PostgreSQL (default). Adapt accordingly for other databases:
+
+```sh
+systemctl stop gitea
+mv /var/lib/gitea /var/lib/forgejo
+runuser -u postgres -- psql -c '
+  ALTER USER gitea RENAME TO forgejo;
+  ALTER DATABASE gitea RENAME TO forgejo;
+'
+nixos-rebuild switch
+systemctl stop forgejo
+chown -R forgejo:forgejo /var/lib/forgejo
+systemctl restart forgejo
+```
+
+### Alternatively, keeping the gitea user {#module-forgejo-migration-gitea-impersonate}
+
+Alternatively, instead of renaming the database, copying the state folder and
+changing the user, the forgejo module can be set up to re-use the old storage
+locations and database, instead of having to copy or rename them.
+Make sure to disable `services.gitea`, when doing this.
+
+```nix
+services.gitea.enable = false;
+
+services.forgejo = {
+  enable = true;
+  user = "gitea";
+  group = "gitea";
+  stateDir = "/var/lib/gitea";
+  database.name = "gitea";
+  database.user = "gitea";
+};
+
+users.users.gitea = {
+  home = "/var/lib/gitea";
+  useDefaultShell = true;
+  group = "gitea";
+  isSystemUser = true;
+};
+
+users.groups.gitea = {};
+```
diff --git a/nixpkgs/nixos/modules/services/misc/forgejo.nix b/nixpkgs/nixos/modules/services/misc/forgejo.nix
index 90b5f16f4189..454febda5893 100644
--- a/nixpkgs/nixos/modules/services/misc/forgejo.nix
+++ b/nixpkgs/nixos/modules/services/misc/forgejo.nix
@@ -357,6 +357,14 @@ in
         assertion = cfg.database.createDatabase -> useSqlite || cfg.database.user == cfg.user;
         message = "services.forgejo.database.user must match services.forgejo.user if the database is to be automatically provisioned";
       }
+      { assertion = cfg.database.createDatabase && usePostgresql -> cfg.database.user == cfg.database.name;
+        message = ''
+          When creating a database via NixOS, the db user and db name must be equal!
+          If you already have an existing DB+user and this assertion is new, you can safely set
+          `services.forgejo.createDatabase` to `false` because removal of `ensureUsers`
+          and `ensureDatabases` doesn't have any effect.
+        '';
+      }
     ];
 
     services.forgejo.settings = {
@@ -423,22 +431,11 @@ in
       ensureUsers = [
         {
           name = cfg.database.user;
-          ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; };
+          ensureDBOwnership = true;
         }
       ];
     };
 
-    # Work around 'pq: permission denied for schema public' with postgres v15, until a
-    # solution for `services.postgresql.ensureUsers` is found.
-    # See https://github.com/NixOS/nixpkgs/issues/216989
-    systemd.services.postgresql.postStart = lib.mkIf (
-      usePostgresql
-      && cfg.database.createDatabase
-      && lib.strings.versionAtLeast config.services.postgresql.package.version "15.0"
-    ) (lib.mkAfter ''
-      $PSQL -tAc 'ALTER DATABASE "${cfg.database.name}" OWNER TO "${cfg.database.user}";'
-    '');
-
     services.mysql = optionalAttrs (useMysql && cfg.database.createDatabase) {
       enable = mkDefault true;
       package = mkDefault pkgs.mariadb;
@@ -677,5 +674,6 @@ in
     };
   };
 
+  meta.doc = ./forgejo.md;
   meta.maintainers = with lib.maintainers; [ bendlas emilylange ];
 }
diff --git a/nixpkgs/nixos/modules/services/misc/gitea.nix b/nixpkgs/nixos/modules/services/misc/gitea.nix
index 3f690f85d623..be528a298991 100644
--- a/nixpkgs/nixos/modules/services/misc/gitea.nix
+++ b/nixpkgs/nixos/modules/services/misc/gitea.nix
@@ -394,6 +394,14 @@ in
       { assertion = cfg.database.createDatabase -> useSqlite || cfg.database.user == cfg.user;
         message = "services.gitea.database.user must match services.gitea.user if the database is to be automatically provisioned";
       }
+      { assertion = cfg.database.createDatabase && usePostgresql -> cfg.database.user == cfg.database.name;
+        message = ''
+          When creating a database via NixOS, the db user and db name must be equal!
+          If you already have an existing DB+user and this assertion is new, you can safely set
+          `services.gitea.createDatabase` to `false` because removal of `ensureUsers`
+          and `ensureDatabases` doesn't have any effect.
+        '';
+      }
     ];
 
     services.gitea.settings = {
@@ -461,7 +469,7 @@ in
       ensureDatabases = [ cfg.database.name ];
       ensureUsers = [
         { name = cfg.database.user;
-          ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; };
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/services/misc/redmine.nix b/nixpkgs/nixos/modules/services/misc/redmine.nix
index a296fd3816bb..20fa71507b6b 100644
--- a/nixpkgs/nixos/modules/services/misc/redmine.nix
+++ b/nixpkgs/nixos/modules/services/misc/redmine.nix
@@ -267,7 +267,7 @@ in
       { assertion = cfg.database.passwordFile != null || cfg.database.socket != null;
         message = "one of services.redmine.database.socket or services.redmine.database.passwordFile must be set";
       }
-      { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user;
+      { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user && cfg.database.user == cfg.database.name;
         message = "services.redmine.database.user must be set to ${cfg.user} if services.redmine.database.createLocally is set true";
       }
       { assertion = cfg.database.createLocally -> cfg.database.socket != null;
@@ -315,7 +315,7 @@ in
       ensureDatabases = [ cfg.database.name ];
       ensureUsers = [
         { name = cfg.database.user;
-          ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; };
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/services/misc/sourcehut/service.nix b/nixpkgs/nixos/modules/services/misc/sourcehut/service.nix
index 18c2f5effc5a..f08d5eb46871 100644
--- a/nixpkgs/nixos/modules/services/misc/sourcehut/service.nix
+++ b/nixpkgs/nixos/modules/services/misc/sourcehut/service.nix
@@ -249,10 +249,13 @@ in
       ensureDatabases = [ srvCfg.postgresql.database ];
       ensureUsers = map (name: {
           inherit name;
-          ensurePermissions = { "DATABASE \"${srvCfg.postgresql.database}\"" = "ALL PRIVILEGES"; };
+          # We don't use it because we have a special default database name with dots.
+          # TODO(for maintainers of sourcehut): migrate away from custom preStart script.
+          ensureDBOwnership = false;
         }) [srvCfg.user];
     };
 
+
     services.sourcehut.settings = mkMerge [
       {
         "${srv}.sr.ht".origin = mkDefault "https://${srv}.${cfg.settings."sr.ht".global-domain}";
@@ -378,10 +381,11 @@ in
         extraService
       ])) extraServices)
 
-      # Work around 'pq: permission denied for schema public' with postgres v15, until a
-      # solution for `services.postgresql.ensureUsers` is found.
+      # Work around 'pq: permission denied for schema public' with postgres v15.
       # See https://github.com/NixOS/nixpkgs/issues/216989
       # Workaround taken from nixos/forgejo: https://github.com/NixOS/nixpkgs/pull/262741
+      # TODO(to maintainers of sourcehut): please migrate away from this workaround
+      # by migrating away from database name defaults with dots.
       (lib.mkIf (
           cfg.postgresql.enable
           && lib.strings.versionAtLeast config.services.postgresql.package.version "15.0"
diff --git a/nixpkgs/nixos/modules/services/monitoring/zabbix-proxy.nix b/nixpkgs/nixos/modules/services/monitoring/zabbix-proxy.nix
index 85da416ba6c3..503e81b48a58 100644
--- a/nixpkgs/nixos/modules/services/monitoring/zabbix-proxy.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/zabbix-proxy.nix
@@ -203,7 +203,7 @@ in
       { assertion = !config.services.zabbixServer.enable;
         message = "Please choose one of services.zabbixServer or services.zabbixProxy.";
       }
-      { assertion = cfg.database.createLocally -> cfg.database.user == user;
+      { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.name == cfg.database.user;
         message = "services.zabbixProxy.database.user must be set to ${user} if services.zabbixProxy.database.createLocally is set true";
       }
       { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
@@ -252,7 +252,7 @@ in
       ensureDatabases = [ cfg.database.name ];
       ensureUsers = [
         { name = cfg.database.user;
-          ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; };
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix b/nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix
index 2b50280e3969..0607188d2131 100644
--- a/nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix
+++ b/nixpkgs/nixos/modules/services/monitoring/zabbix-server.nix
@@ -191,7 +191,7 @@ in
   config = mkIf cfg.enable {
 
     assertions = [
-      { assertion = cfg.database.createLocally -> cfg.database.user == user;
+      { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.user == cfg.database.name;
         message = "services.zabbixServer.database.user must be set to ${user} if services.zabbixServer.database.createLocally is set true";
       }
       { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
@@ -240,7 +240,7 @@ in
       ensureDatabases = [ cfg.database.name ];
       ensureUsers = [
         { name = cfg.database.user;
-          ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; };
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/services/networking/mullvad-vpn.nix b/nixpkgs/nixos/modules/services/networking/mullvad-vpn.nix
index 99ffbf56ccb0..8c7d5237971f 100644
--- a/nixpkgs/nixos/modules/services/networking/mullvad-vpn.nix
+++ b/nixpkgs/nixos/modules/services/networking/mullvad-vpn.nix
@@ -65,7 +65,9 @@ with lib;
         pkgs.iproute2
         # Needed for ping
         "/run/wrappers"
-      ];
+        # See https://github.com/NixOS/nixpkgs/issues/262681
+      ] ++ (lib.optional config.networking.resolvconf.enable
+        config.networking.resolvconf.package);
       startLimitBurst = 5;
       startLimitIntervalSec = 20;
       serviceConfig = {
diff --git a/nixpkgs/nixos/modules/services/networking/syncthing.nix b/nixpkgs/nixos/modules/services/networking/syncthing.nix
index bdcdaf056d03..6d9af6141f12 100644
--- a/nixpkgs/nixos/modules/services/networking/syncthing.nix
+++ b/nixpkgs/nixos/modules/services/networking/syncthing.nix
@@ -666,7 +666,9 @@ in {
             ${cfg.package}/bin/syncthing \
               -no-browser \
               -gui-address=${if isUnixGui then "unix://" else ""}${cfg.guiAddress} \
-              -home=${cfg.configDir} ${escapeShellArgs cfg.extraFlags}
+              -config=${cfg.configDir} \
+              -data=${cfg.dataDir} \
+              ${escapeShellArgs cfg.extraFlags}
           '';
           MemoryDenyWriteExecute = true;
           NoNewPrivileges = true;
diff --git a/nixpkgs/nixos/modules/services/search/kibana.nix b/nixpkgs/nixos/modules/services/search/kibana.nix
deleted file mode 100644
index a5e132d5c38d..000000000000
--- a/nixpkgs/nixos/modules/services/search/kibana.nix
+++ /dev/null
@@ -1,213 +0,0 @@
-{ config, lib, options, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.kibana;
-  opt = options.services.kibana;
-
-  ge7 = builtins.compareVersions cfg.package.version "7" >= 0;
-  lt6_6 = builtins.compareVersions cfg.package.version "6.6" < 0;
-
-  cfgFile = pkgs.writeText "kibana.json" (builtins.toJSON (
-    (filterAttrsRecursive (n: v: v != null && v != []) ({
-      server.host = cfg.listenAddress;
-      server.port = cfg.port;
-      server.ssl.certificate = cfg.cert;
-      server.ssl.key = cfg.key;
-
-      kibana.index = cfg.index;
-      kibana.defaultAppId = cfg.defaultAppId;
-
-      elasticsearch.url = cfg.elasticsearch.url;
-      elasticsearch.hosts = cfg.elasticsearch.hosts;
-      elasticsearch.username = cfg.elasticsearch.username;
-      elasticsearch.password = cfg.elasticsearch.password;
-
-      elasticsearch.ssl.certificate = cfg.elasticsearch.cert;
-      elasticsearch.ssl.key = cfg.elasticsearch.key;
-      elasticsearch.ssl.certificateAuthorities = cfg.elasticsearch.certificateAuthorities;
-    } // cfg.extraConf)
-  )));
-
-in {
-  options.services.kibana = {
-    enable = mkEnableOption (lib.mdDoc "kibana service");
-
-    listenAddress = mkOption {
-      description = lib.mdDoc "Kibana listening host";
-      default = "127.0.0.1";
-      type = types.str;
-    };
-
-    port = mkOption {
-      description = lib.mdDoc "Kibana listening port";
-      default = 5601;
-      type = types.port;
-    };
-
-    cert = mkOption {
-      description = lib.mdDoc "Kibana ssl certificate.";
-      default = null;
-      type = types.nullOr types.path;
-    };
-
-    key = mkOption {
-      description = lib.mdDoc "Kibana ssl key.";
-      default = null;
-      type = types.nullOr types.path;
-    };
-
-    index = mkOption {
-      description = lib.mdDoc "Elasticsearch index to use for saving kibana config.";
-      default = ".kibana";
-      type = types.str;
-    };
-
-    defaultAppId = mkOption {
-      description = lib.mdDoc "Elasticsearch default application id.";
-      default = "discover";
-      type = types.str;
-    };
-
-    elasticsearch = {
-      url = mkOption {
-        description = lib.mdDoc ''
-          Elasticsearch url.
-
-          Defaults to `"http://localhost:9200"`.
-
-          Don't set this when using Kibana >= 7.0.0 because it will result in a
-          configuration error. Use {option}`services.kibana.elasticsearch.hosts`
-          instead.
-        '';
-        default = null;
-        type = types.nullOr types.str;
-      };
-
-      hosts = mkOption {
-        description = lib.mdDoc ''
-          The URLs of the Elasticsearch instances to use for all your queries.
-          All nodes listed here must be on the same cluster.
-
-          Defaults to `[ "http://localhost:9200" ]`.
-
-          This option is only valid when using kibana >= 6.6.
-        '';
-        default = null;
-        type = types.nullOr (types.listOf types.str);
-      };
-
-      username = mkOption {
-        description = lib.mdDoc "Username for elasticsearch basic auth.";
-        default = null;
-        type = types.nullOr types.str;
-      };
-
-      password = mkOption {
-        description = lib.mdDoc "Password for elasticsearch basic auth.";
-        default = null;
-        type = types.nullOr types.str;
-      };
-
-      ca = mkOption {
-        description = lib.mdDoc ''
-          CA file to auth against elasticsearch.
-
-          It's recommended to use the {option}`certificateAuthorities` option
-          when using kibana-5.4 or newer.
-        '';
-        default = null;
-        type = types.nullOr types.path;
-      };
-
-      certificateAuthorities = mkOption {
-        description = lib.mdDoc ''
-          CA files to auth against elasticsearch.
-
-          Please use the {option}`ca` option when using kibana \< 5.4
-          because those old versions don't support setting multiple CA's.
-
-          This defaults to the singleton list [ca] when the {option}`ca` option is defined.
-        '';
-        default = lib.optional (cfg.elasticsearch.ca != null) ca;
-        defaultText = literalExpression ''
-          lib.optional (config.${opt.elasticsearch.ca} != null) ca
-        '';
-        type = types.listOf types.path;
-      };
-
-      cert = mkOption {
-        description = lib.mdDoc "Certificate file to auth against elasticsearch.";
-        default = null;
-        type = types.nullOr types.path;
-      };
-
-      key = mkOption {
-        description = lib.mdDoc "Key file to auth against elasticsearch.";
-        default = null;
-        type = types.nullOr types.path;
-      };
-    };
-
-    package = mkOption {
-      description = lib.mdDoc "Kibana package to use";
-      default = pkgs.kibana;
-      defaultText = literalExpression "pkgs.kibana";
-      type = types.package;
-    };
-
-    dataDir = mkOption {
-      description = lib.mdDoc "Kibana data directory";
-      default = "/var/lib/kibana";
-      type = types.path;
-    };
-
-    extraConf = mkOption {
-      description = lib.mdDoc "Kibana extra configuration";
-      default = {};
-      type = types.attrs;
-    };
-  };
-
-  config = mkIf (cfg.enable) {
-    assertions = [
-      {
-        assertion = ge7 -> cfg.elasticsearch.url == null;
-        message =
-          "The option services.kibana.elasticsearch.url has been removed when using kibana >= 7.0.0. " +
-          "Please use option services.kibana.elasticsearch.hosts instead.";
-      }
-      {
-        assertion = lt6_6 -> cfg.elasticsearch.hosts == null;
-        message =
-          "The option services.kibana.elasticsearch.hosts is only valid for kibana >= 6.6.";
-      }
-    ];
-    systemd.services.kibana = {
-      description = "Kibana Service";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" "elasticsearch.service" ];
-      environment = { BABEL_CACHE_PATH = "${cfg.dataDir}/.babelcache.json"; };
-      serviceConfig = {
-        ExecStart =
-          "${cfg.package}/bin/kibana" +
-          " --config ${cfgFile}" +
-          " --path.data ${cfg.dataDir}";
-        User = "kibana";
-        WorkingDirectory = cfg.dataDir;
-      };
-    };
-
-    environment.systemPackages = [ cfg.package ];
-
-    users.users.kibana = {
-      isSystemUser = true;
-      description = "Kibana service user";
-      home = cfg.dataDir;
-      createHome = true;
-      group = "kibana";
-    };
-    users.groups.kibana = {};
-  };
-}
diff --git a/nixpkgs/nixos/modules/services/security/hockeypuck.nix b/nixpkgs/nixos/modules/services/security/hockeypuck.nix
index 127134bc5dba..56c13d791920 100644
--- a/nixpkgs/nixos/modules/services/security/hockeypuck.nix
+++ b/nixpkgs/nixos/modules/services/security/hockeypuck.nix
@@ -55,7 +55,7 @@ in {
             ensureDatabases = [ "hockeypuck" ];
             ensureUsers = [{
               name = "hockeypuck";
-              ensurePermissions."DATABASE hockeypuck" = "ALL PRIVILEGES";
+              ensureDBOwnership = true;
             }];
           };
         ```
diff --git a/nixpkgs/nixos/modules/services/web-apps/code-server.nix b/nixpkgs/nixos/modules/services/web-apps/code-server.nix
deleted file mode 100644
index 11601f6c3044..000000000000
--- a/nixpkgs/nixos/modules/services/web-apps/code-server.nix
+++ /dev/null
@@ -1,259 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-let
-  cfg = config.services.code-server;
-  defaultUser = "code-server";
-  defaultGroup = defaultUser;
-in {
-  options = {
-    services.code-server = {
-      enable = lib.mkEnableOption (lib.mdDoc "code-server");
-
-      package = lib.mkPackageOptionMD pkgs "code-server" {
-        example = ''
-          pkgs.vscode-with-extensions.override {
-            vscode = pkgs.code-server;
-            vscodeExtensions = with pkgs.vscode-extensions; [
-              bbenoist.nix
-              dracula-theme.theme-dracula
-            ];
-          }
-        '';
-      };
-
-      extraPackages = lib.mkOption {
-        default = [ ];
-        description = lib.mdDoc ''
-          Additional packages to add to the code-server {env}`PATH`.
-        '';
-        example = lib.literalExpression "[ pkgs.go ]";
-        type = lib.types.listOf lib.types.package;
-      };
-
-      extraEnvironment = lib.mkOption {
-        type = lib.types.attrsOf lib.types.str;
-        description = lib.mdDoc ''
-          Additional environment variables to pass to code-server.
-        '';
-        default = { };
-        example = { PKG_CONFIG_PATH = "/run/current-system/sw/lib/pkgconfig"; };
-      };
-
-      extraArguments = lib.mkOption {
-        default = [ ];
-        description = lib.mdDoc ''
-          Additional arguments to pass to code-server.
-        '';
-        example = lib.literalExpression ''[ "--log=info" ]'';
-        type = lib.types.listOf lib.types.str;
-      };
-
-      host = lib.mkOption {
-        default = "localhost";
-        description = lib.mdDoc ''
-          The host name or IP address the server should listen to.
-        '';
-        type = lib.types.str;
-      };
-
-      port = lib.mkOption {
-        default = 4444;
-        description = lib.mdDoc ''
-          The port the server should listen to.
-        '';
-        type = lib.types.port;
-      };
-
-      auth = lib.mkOption {
-        default = "password";
-        description = lib.mdDoc ''
-          The type of authentication to use.
-        '';
-        type = lib.types.enum [ "none" "password" ];
-      };
-
-      hashedPassword = lib.mkOption {
-        default = "";
-        description = lib.mdDoc ''
-          Create the password with: `echo -n 'thisismypassword' | npx argon2-cli -e`.
-        '';
-        type = lib.types.str;
-      };
-
-      user = lib.mkOption {
-        default = defaultUser;
-        example = "yourUser";
-        description = lib.mdDoc ''
-          The user to run code-server as.
-          By default, a user named `${defaultUser}` will be created.
-        '';
-        type = lib.types.str;
-      };
-
-      group = lib.mkOption {
-        default = defaultGroup;
-        example = "yourGroup";
-        description = lib.mdDoc ''
-          The group to run code-server under.
-          By default, a group named `${defaultGroup}` will be created.
-        '';
-        type = lib.types.str;
-      };
-
-      extraGroups = lib.mkOption {
-        default = [ ];
-        description = lib.mdDoc ''
-          An array of additional groups for the `${defaultUser}` user.
-        '';
-        example = [ "docker" ];
-        type = lib.types.listOf lib.types.str;
-      };
-
-      socket = lib.mkOption {
-        default = null;
-        example = "/run/code-server/socket";
-        description = lib.mdDoc ''
-          Path to a socket (bind-addr will be ignored).
-        '';
-        type = lib.types.nullOr lib.types.str;
-      };
-
-      socketMode = lib.mkOption {
-        default = null;
-        description = lib.mdDoc ''
-           File mode of the socket.
-        '';
-        type = lib.types.nullOr lib.types.str;
-      };
-
-      userDataDir = lib.mkOption {
-        default = null;
-        description = lib.mdDoc ''
-          Path to the user data directory.
-        '';
-        type = lib.types.nullOr lib.types.str;
-      };
-
-      extensionsDir = lib.mkOption {
-        default = null;
-        description = lib.mdDoc ''
-          Path to the extensions directory.
-        '';
-        type = lib.types.nullOr lib.types.str;
-      };
-
-      proxyDomain = lib.mkOption {
-        default = null;
-        example = "code-server.lan";
-        description = lib.mdDoc ''
-          Domain used for proxying ports.
-        '';
-        type = lib.types.nullOr lib.types.str;
-      };
-
-      disableTelemetry = lib.mkOption {
-        default = false;
-        example = true;
-        description = lib.mdDoc ''
-          Disable telemetry.
-        '';
-        type = lib.types.bool;
-      };
-
-      disableUpdateCheck = lib.mkOption {
-        default = false;
-        example = true;
-        description = lib.mdDoc ''
-          Disable update check.
-          Without this flag, code-server checks every 6 hours against the latest github release and
-          then notifies you once every week that a new release is available.
-        '';
-        type = lib.types.bool;
-      };
-
-      disableFileDownloads = lib.mkOption {
-        default = false;
-        example = true;
-        description = lib.mdDoc ''
-          Disable file downloads from Code.
-        '';
-        type = lib.types.bool;
-      };
-
-      disableWorkspaceTrust = lib.mkOption {
-        default = false;
-        example = true;
-        description = lib.mdDoc ''
-          Disable Workspace Trust feature.
-        '';
-        type = lib.types.bool;
-      };
-
-      disableGettingStartedOverride = lib.mkOption {
-        default = false;
-        example = true;
-        description = lib.mdDoc ''
-          Disable the coder/coder override in the Help: Getting Started page.
-        '';
-        type = lib.types.bool;
-      };
-
-    };
-  };
-
-  config = lib.mkIf cfg.enable {
-    systemd.services.code-server = {
-      description = "Code server";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network-online.target" ];
-      path = cfg.extraPackages;
-      environment = {
-        HASHED_PASSWORD = cfg.hashedPassword;
-      } // cfg.extraEnvironment;
-      serviceConfig = {
-        ExecStart = ''
-          ${lib.getExe cfg.package} \
-            --auth=${cfg.auth} \
-            --bind-addr=${cfg.host}:${toString cfg.port} \
-          '' + lib.optionalString (cfg.socket != null) ''
-            --socket=${cfg.socket} \
-          '' + lib.optionalString (cfg.userDataDir != null) ''
-            --user-data-dir=${cfg.userDataDir} \
-          '' + lib.optionalString (cfg.extensionsDir != null) ''
-            --extensions-dir=${cfg.extensionsDir} \
-          '' + lib.optionalString (cfg.disableTelemetry == true) ''
-            --disable-telemetry \
-          '' + lib.optionalString (cfg.disableUpdateCheck == true) ''
-            --disable-update-check \
-          '' + lib.optionalString (cfg.disableFileDownloads == true) ''
-            --disable-file-downloads \
-          '' + lib.optionalString (cfg.disableWorkspaceTrust == true) ''
-            --disable-workspace-trust \
-          '' + lib.optionalString (cfg.disableGettingStartedOverride == true) ''
-            --disable-getting-started-override \
-          '' + lib.escapeShellArgs cfg.extraArguments;
-        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-        RuntimeDirectory = cfg.user;
-        User = cfg.user;
-        Group = cfg.group;
-        Restart = "on-failure";
-      };
-    };
-
-    users.users."${cfg.user}" = lib.mkMerge [
-      (lib.mkIf (cfg.user == defaultUser) {
-        isNormalUser = true;
-        description = "code-server user";
-        inherit (cfg) group;
-      })
-      {
-        packages = cfg.extraPackages;
-        inherit (cfg) extraGroups;
-      }
-    ];
-
-    users.groups."${defaultGroup}" = lib.mkIf (cfg.group == defaultGroup) { };
-  };
-
-  meta.maintainers = [ lib.maintainers.stackshadow ];
-}
diff --git a/nixpkgs/nixos/modules/services/web-apps/coder.nix b/nixpkgs/nixos/modules/services/web-apps/coder.nix
index 469a29bc3aa8..f65211308c40 100644
--- a/nixpkgs/nixos/modules/services/web-apps/coder.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/coder.nix
@@ -149,8 +149,8 @@ in {
 
   config = mkIf cfg.enable {
     assertions = [
-      { assertion = cfg.database.createLocally -> cfg.database.username == name;
-        message = "services.coder.database.username must be set to ${user} if services.coder.database.createLocally is set true";
+      { assertion = cfg.database.createLocally -> cfg.database.username == name && cfg.database.database == cfg.database.username;
+        message = "services.coder.database.username must be set to ${name} if services.coder.database.createLocally is set true";
       }
     ];
 
@@ -193,10 +193,8 @@ in {
         cfg.database.database
       ];
       ensureUsers = [{
-        name = cfg.database.username;
-        ensurePermissions = {
-          "DATABASE \"${cfg.database.database}\"" = "ALL PRIVILEGES";
-        };
+        name = cfg.user;
+        ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/services/web-apps/gotosocial.nix b/nixpkgs/nixos/modules/services/web-apps/gotosocial.nix
index f7ae018d5b7c..9c21719a5759 100644
--- a/nixpkgs/nixos/modules/services/web-apps/gotosocial.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/gotosocial.nix
@@ -128,9 +128,7 @@ in
       ensureUsers = [
         {
           name = "gotosocial";
-          ensurePermissions = {
-            "DATABASE gotosocial" = "ALL PRIVILEGES";
-          };
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/services/web-apps/invidious.nix b/nixpkgs/nixos/modules/services/web-apps/invidious.nix
index 5603ef7392e8..e4fbc6fd9368 100644
--- a/nixpkgs/nixos/modules/services/web-apps/invidious.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/invidious.nix
@@ -109,15 +109,17 @@ let
     # Default to using the local database if we create it
     services.invidious.database.host = lib.mkDefault null;
 
+
+    # TODO(raitobezarius to maintainers of invidious): I strongly advise to clean up the kemal specific
+    # thing for 24.05 and use `ensureDBOwnership`.
+    # See https://github.com/NixOS/nixpkgs/issues/216989
+    systemd.services.postgresql.postStart = lib.mkAfter ''
+      $PSQL -tAc 'ALTER DATABASE "${cfg.settings.db.dbname}" OWNER TO "${cfg.settings.db.user}";'
+    '';
     services.postgresql = {
       enable = true;
+      ensureUsers = lib.singleton { name = cfg.settings.db.user; ensureDBOwnership = false; };
       ensureDatabases = lib.singleton cfg.settings.db.dbname;
-      ensureUsers = lib.singleton {
-        name = cfg.settings.db.user;
-        ensurePermissions = {
-          "DATABASE ${cfg.settings.db.dbname}" = "ALL PRIVILEGES";
-        };
-      };
       # This is only needed because the unix user invidious isn't the same as
       # the database user. This tells postgres to map one to the other.
       identMap = ''
@@ -136,6 +138,7 @@ let
       documentation = [ "https://docs.invidious.io/Database-Information-and-Maintenance.md" ];
       startAt = lib.mkDefault "weekly";
       path = [ config.services.postgresql.package ];
+      after = [ "postgresql.service" ];
       script = ''
         psql ${cfg.settings.db.dbname} ${cfg.settings.db.user} -c "DELETE FROM nonces * WHERE expire < current_timestamp"
         psql ${cfg.settings.db.dbname} ${cfg.settings.db.user} -c "TRUNCATE TABLE videos"
diff --git a/nixpkgs/nixos/modules/services/web-apps/jitsi-meet.nix b/nixpkgs/nixos/modules/services/web-apps/jitsi-meet.nix
index 21416be35877..c0f9d785eea2 100644
--- a/nixpkgs/nixos/modules/services/web-apps/jitsi-meet.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/jitsi-meet.nix
@@ -169,6 +169,15 @@ in
         off if you want to configure it manually.
       '';
     };
+
+    excalidraw.enable = mkEnableOption (lib.mdDoc "Excalidraw collaboration backend for Jitsi");
+    excalidraw.port = mkOption {
+      type = types.port;
+      default = 3002;
+      description = lib.mdDoc ''The port which the Excalidraw backend for Jitsi should listen to.'';
+    };
+
+    secureDomain.enable = mkEnableOption (lib.mdDoc "Authenticated room creation");
   };
 
   config = mkIf cfg.enable {
@@ -192,41 +201,118 @@ in
           roomLocking = false;
           roomDefaultPublicJids = true;
           extraConfig = ''
+            restrict_room_creation = true
+            storage = "memory"
+            admins = { "focus@auth.${cfg.hostName}" }
+          '';
+        }
+        {
+          domain = "breakout.${cfg.hostName}";
+          name = "Jitsi Meet Breakout MUC";
+          roomLocking = false;
+          roomDefaultPublicJids = true;
+          extraConfig = ''
+            restrict_room_creation = true
             storage = "memory"
+            admins = { "focus@auth.${cfg.hostName}" }
           '';
         }
         {
-          domain = "internal.${cfg.hostName}";
+          domain = "internal.auth.${cfg.hostName}";
           name = "Jitsi Meet Videobridge MUC";
+          roomLocking = false;
+          roomDefaultPublicJids = true;
           extraConfig = ''
             storage = "memory"
             admins = { "focus@auth.${cfg.hostName}", "jvb@auth.${cfg.hostName}" }
           '';
           #-- muc_room_cache_size = 1000
         }
+        {
+          domain = "lobby.${cfg.hostName}";
+          name = "Jitsi Meet Lobby MUC";
+          roomLocking = false;
+          roomDefaultPublicJids = true;
+          extraConfig = ''
+            restrict_room_creation = true
+            storage = "memory"
+          '';
+        }
+      ];
+      extraModules = [
+        "pubsub"
+        "smacks"
+        "speakerstats"
+        "external_services"
+        "conference_duration"
+        "end_conference"
+        "muc_lobby_rooms"
+        "muc_breakout_rooms"
+        "av_moderation"
+        "muc_hide_all"
+        "muc_meeting_id"
+        "muc_domain_mapper"
+        "muc_rate_limit"
+        "limits_exception"
+        "persistent_lobby"
+        "room_metadata"
       ];
-      extraModules = [ "pubsub" "smacks" ];
       extraPluginPaths = [ "${pkgs.jitsi-meet-prosody}/share/prosody-plugins" ];
-      extraConfig = lib.mkMerge [ (mkAfter ''
-        Component "focus.${cfg.hostName}" "client_proxy"
-          target_address = "focus@auth.${cfg.hostName}"
+      extraConfig = lib.mkMerge [
+        (mkAfter ''
+          Component "focus.${cfg.hostName}" "client_proxy"
+            target_address = "focus@auth.${cfg.hostName}"
+
+          Component "speakerstats.${cfg.hostName}" "speakerstats_component"
+            muc_component = "conference.${cfg.hostName}"
+
+          Component "conferenceduration.${cfg.hostName}" "conference_duration_component"
+            muc_component = "conference.${cfg.hostName}"
+
+          Component "endconference.${cfg.hostName}" "end_conference"
+            muc_component = "conference.${cfg.hostName}"
+
+          Component "avmoderation.${cfg.hostName}" "av_moderation_component"
+            muc_component = "conference.${cfg.hostName}"
+
+          Component "metadata.${cfg.hostName}" "room_metadata_component"
+            muc_component = "conference.${cfg.hostName}"
+            breakout_rooms_component = "breakout.${cfg.hostName}"
         '')
         (mkBefore ''
+          muc_mapper_domain_base = "${cfg.hostName}"
+
           cross_domain_websocket = true;
           consider_websocket_secure = true;
+
+          unlimited_jids = {
+            "focus@auth.${cfg.hostName}",
+            "jvb@auth.${cfg.hostName}"
+          }
         '')
       ];
       virtualHosts.${cfg.hostName} = {
         enabled = true;
         domain = cfg.hostName;
         extraConfig = ''
-          authentication = "anonymous"
+          authentication = ${if cfg.secureDomain.enable then "\"internal_hashed\"" else "\"jitsi-anonymous\""}
           c2s_require_encryption = false
           admins = { "focus@auth.${cfg.hostName}" }
           smacks_max_unacked_stanzas = 5
           smacks_hibernation_time = 60
           smacks_max_hibernated_sessions = 1
           smacks_max_old_sessions = 1
+
+          av_moderation_component = "avmoderation.${cfg.hostName}"
+          speakerstats_component = "speakerstats.${cfg.hostName}"
+          conference_duration_component = "conferenceduration.${cfg.hostName}"
+          end_conference_component = "endconference.${cfg.hostName}"
+
+          c2s_require_encryption = false
+          lobby_muc = "lobby.${cfg.hostName}"
+          breakout_rooms_muc = "breakout.${cfg.hostName}"
+          room_metadata_component = "metadata.${cfg.hostName}"
+          main_muc = "conference.${cfg.hostName}"
         '';
         ssl = {
           cert = "/var/lib/jitsi-meet/jitsi-meet.crt";
@@ -237,7 +323,7 @@ in
         enabled = true;
         domain = "auth.${cfg.hostName}";
         extraConfig = ''
-          authentication = "internal_plain"
+          authentication = "internal_hashed"
         '';
         ssl = {
           cert = "/var/lib/jitsi-meet/jitsi-meet.crt";
@@ -252,6 +338,14 @@ in
           c2s_require_encryption = false
         '';
       };
+      virtualHosts."guest.${cfg.hostName}" = {
+        enabled = true;
+        domain = "guest.${cfg.hostName}";
+        extraConfig = ''
+          authentication = "anonymous"
+          c2s_require_encryption = false
+        '';
+      };
     };
     systemd.services.prosody = mkIf cfg.prosody.enable {
       preStart = let
@@ -270,7 +364,7 @@ in
       reloadIfChanged = true;
     };
 
-    users.groups.jitsi-meet = {};
+    users.groups.jitsi-meet = { };
     systemd.tmpfiles.rules = [
       "d '/var/lib/jitsi-meet' 0750 root jitsi-meet - -"
     ];
@@ -317,6 +411,20 @@ in
       '';
     };
 
+    systemd.services.jitsi-excalidraw = mkIf cfg.excalidraw.enable {
+      description = "Excalidraw collaboration backend for Jitsi";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      environment.PORT = toString cfg.excalidraw.port;
+
+      serviceConfig = {
+        Type = "simple";
+        ExecStart = "${pkgs.jitsi-excalidraw}/bin/jitsi-excalidraw-backend";
+        Restart = "on-failure";
+        Group = "jitsi-meet";
+      };
+    };
+
     services.nginx = mkIf cfg.nginx.enable {
       enable = mkDefault true;
       virtualHosts.${cfg.hostName} = {
@@ -345,12 +453,23 @@ in
         locations."=/external_api.js" = mkDefault {
           alias = "${pkgs.jitsi-meet}/libs/external_api.min.js";
         };
+        locations."=/_api/room-info" = {
+          proxyPass = "http://localhost:5280/room-info";
+          extraConfig = ''
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header Host $host;
+          '';
+        };
         locations."=/config.js" = mkDefault {
           alias = overrideJs "${pkgs.jitsi-meet}/config.js" "config" (recursiveUpdate defaultCfg cfg.config) cfg.extraConfig;
         };
         locations."=/interface_config.js" = mkDefault {
           alias = overrideJs "${pkgs.jitsi-meet}/interface_config.js" "interfaceConfig" cfg.interfaceConfig "";
         };
+        locations."/socket.io/" = mkIf cfg.excalidraw.enable {
+          proxyPass = "http://127.0.0.1:${toString cfg.excalidraw.port}";
+          proxyWebsockets = true;
+        };
       };
     };
 
@@ -359,7 +478,7 @@ in
       virtualHosts.${cfg.hostName} = {
         extraConfig =
         let
-          templatedJitsiMeet = pkgs.runCommand "templated-jitsi-meet" {} ''
+          templatedJitsiMeet = pkgs.runCommand "templated-jitsi-meet" { } ''
             cp -R ${pkgs.jitsi-meet}/* .
             for file in *.html **/*.html ; do
               ${pkgs.sd}/bin/sd '<!--#include virtual="(.*)" -->' '{{ include "$1" }}' $file
@@ -390,13 +509,24 @@ in
       };
     };
 
+    services.jitsi-meet.config = recursiveUpdate
+      (mkIf cfg.excalidraw.enable {
+        whiteboard = {
+          enabled = true;
+          collabServerBaseUrl = "https://${cfg.hostName}";
+        };
+      })
+      (mkIf cfg.secureDomain.enable {
+        hosts.anonymousdomain = "guest.${cfg.hostName}";
+      });
+
     services.jitsi-videobridge = mkIf cfg.videobridge.enable {
       enable = true;
       xmppConfigs."localhost" = {
         userName = "jvb";
         domain = "auth.${cfg.hostName}";
         passwordFile = "/var/lib/jitsi-meet/videobridge-secret";
-        mucJids = "jvbbrewery@internal.${cfg.hostName}";
+        mucJids = "jvbbrewery@internal.auth.${cfg.hostName}";
         disableCertificateVerification = true;
       };
     };
@@ -409,17 +539,27 @@ in
       userName = "focus";
       userPasswordFile = "/var/lib/jitsi-meet/jicofo-user-secret";
       componentPasswordFile = "/var/lib/jitsi-meet/jicofo-component-secret";
-      bridgeMuc = "jvbbrewery@internal.${cfg.hostName}";
+      bridgeMuc = "jvbbrewery@internal.auth.${cfg.hostName}";
       config = mkMerge [{
         jicofo.xmpp.service.disable-certificate-verification = true;
         jicofo.xmpp.client.disable-certificate-verification = true;
-      #} (lib.mkIf cfg.jibri.enable {
-       } (lib.mkIf (config.services.jibri.enable || cfg.jibri.enable) {
-         jicofo.jibri = {
-           brewery-jid = "JibriBrewery@internal.${cfg.hostName}";
-           pending-timeout = "90";
-         };
-      })];
+      }
+        (lib.mkIf (config.services.jibri.enable || cfg.jibri.enable) {
+          jicofo.jibri = {
+            brewery-jid = "JibriBrewery@internal.auth.${cfg.hostName}";
+            pending-timeout = "90";
+          };
+        })
+        (lib.mkIf cfg.secureDomain.enable {
+          jicofo = {
+            authentication = {
+              enabled = "true";
+              type = "XMPP";
+              login-url = cfg.hostName;
+            };
+            xmpp.client.client-proxy = "focus.${cfg.hostName}";
+          };
+        })];
     };
 
     services.jibri = mkIf cfg.jibri.enable {
@@ -430,7 +570,7 @@ in
         xmppDomain = cfg.hostName;
 
         control.muc = {
-          domain = "internal.${cfg.hostName}";
+          domain = "internal.auth.${cfg.hostName}";
           roomName = "JibriBrewery";
           nickname = "jibri";
         };
diff --git a/nixpkgs/nixos/modules/services/web-apps/lemmy.nix b/nixpkgs/nixos/modules/services/web-apps/lemmy.nix
index 20d9dcb7c266..32389f7a59dd 100644
--- a/nixpkgs/nixos/modules/services/web-apps/lemmy.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/lemmy.nix
@@ -146,7 +146,7 @@ in
         ensureDatabases = [ cfg.settings.database.database ];
         ensureUsers = [{
           name = cfg.settings.database.user;
-          ensurePermissions."DATABASE ${cfg.settings.database.database}" = "ALL PRIVILEGES";
+          ensureDBOwnership = true;
         }];
       };
 
diff --git a/nixpkgs/nixos/modules/services/web-apps/mastodon.nix b/nixpkgs/nixos/modules/services/web-apps/mastodon.nix
index d861f9e251be..8686506b1c28 100644
--- a/nixpkgs/nixos/modules/services/web-apps/mastodon.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/mastodon.nix
@@ -612,7 +612,7 @@ in {
   config = lib.mkIf cfg.enable (lib.mkMerge [{
     assertions = [
       {
-        assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.database.user);
+        assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.database.user && cfg.database.user == cfg.database.name);
         message = ''
           For local automatic database provisioning (services.mastodon.database.createLocally == true) with peer
             authentication (services.mastodon.database.host == "/run/postgresql") to work services.mastodon.user
@@ -845,8 +845,8 @@ in {
       enable = true;
       ensureUsers = [
         {
-          name = cfg.database.user;
-          ensurePermissions."DATABASE ${cfg.database.name}" = "ALL PRIVILEGES";
+          name = cfg.database.name;
+          ensureDBOwnership = true;
         }
       ];
       ensureDatabases = [ cfg.database.name ];
diff --git a/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix b/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix
index 8b494b7c1208..ce7bcd94b3f0 100644
--- a/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix
@@ -454,7 +454,7 @@ in
       { assertion = cfg.database.createLocally -> (cfg.database.type == "mysql" || cfg.database.type == "postgres");
         message = "services.mediawiki.createLocally is currently only supported for database type 'mysql' and 'postgres'";
       }
-      { assertion = cfg.database.createLocally -> cfg.database.user == user;
+      { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.name == cfg.database.user;
         message = "services.mediawiki.database.user must be set to ${user} if services.mediawiki.database.createLocally is set true";
       }
       { assertion = cfg.database.createLocally -> cfg.database.socket != null;
@@ -486,7 +486,7 @@ in
       ensureDatabases = [ cfg.database.name ];
       ensureUsers = [{
         name = cfg.database.user;
-        ensurePermissions = { "DATABASE \"${cfg.database.name}\"" = "ALL PRIVILEGES"; };
+        ensureDBOwnership = true;
       }];
     };
 
diff --git a/nixpkgs/nixos/modules/services/web-apps/miniflux.nix b/nixpkgs/nixos/modules/services/web-apps/miniflux.nix
index 3374c746ad3d..5c8c93c13c43 100644
--- a/nixpkgs/nixos/modules/services/web-apps/miniflux.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/miniflux.nix
@@ -6,13 +6,10 @@ let
 
   defaultAddress = "localhost:8080";
 
-  dbUser = "miniflux";
-  dbName = "miniflux";
-
   pgbin = "${config.services.postgresql.package}/bin";
   preStart = pkgs.writeScript "miniflux-pre-start" ''
     #!${pkgs.runtimeShell}
-    ${pgbin}/psql "${dbName}" -c "CREATE EXTENSION IF NOT EXISTS hstore"
+    ${pgbin}/psql "miniflux" -c "CREATE EXTENSION IF NOT EXISTS hstore"
   '';
 in
 
@@ -62,7 +59,7 @@ in
 
     services.miniflux.config =  {
       LISTEN_ADDR = mkDefault defaultAddress;
-      DATABASE_URL = "user=${dbUser} host=/run/postgresql dbname=${dbName}";
+      DATABASE_URL = "user=miniflux host=/run/postgresql dbname=miniflux";
       RUN_MIGRATIONS = "1";
       CREATE_ADMIN = "1";
     };
@@ -70,12 +67,10 @@ in
     services.postgresql = {
       enable = true;
       ensureUsers = [ {
-        name = dbUser;
-        ensurePermissions = {
-          "DATABASE ${dbName}" = "ALL PRIVILEGES";
-        };
+        name = "miniflux";
+        ensureDBOwnership = true;
       } ];
-      ensureDatabases = [ dbName ];
+      ensureDatabases = [ "miniflux" ];
     };
 
     systemd.services.miniflux-dbsetup = {
@@ -97,7 +92,7 @@ in
 
       serviceConfig = {
         ExecStart = "${cfg.package}/bin/miniflux";
-        User = dbUser;
+        User = "miniflux";
         DynamicUser = true;
         RuntimeDirectory = "miniflux";
         RuntimeDirectoryMode = "0700";
diff --git a/nixpkgs/nixos/modules/services/web-apps/mobilizon.nix b/nixpkgs/nixos/modules/services/web-apps/mobilizon.nix
index 343c5cead2b1..bb4319b51a2f 100644
--- a/nixpkgs/nixos/modules/services/web-apps/mobilizon.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/mobilizon.nix
@@ -347,12 +347,18 @@ in
 
       # Taken from here:
       # https://framagit.org/framasoft/mobilizon/-/blob/1.1.0/priv/templates/setup_db.eex
+      # TODO(to maintainers of mobilizon): the owner database alteration is necessary
+      # as PostgreSQL 15 changed their behaviors w.r.t. to privileges.
+      # See https://github.com/NixOS/nixpkgs/issues/216989 to get rid
+      # of that workaround.
       script =
         ''
           psql "${repoSettings.database}" -c "\
             CREATE EXTENSION IF NOT EXISTS postgis; \
             CREATE EXTENSION IF NOT EXISTS pg_trgm; \
             CREATE EXTENSION IF NOT EXISTS unaccent;"
+          psql -tAc 'ALTER DATABASE "${repoSettings.database}" OWNER TO "${dbUser}";'
+
         '';
 
       serviceConfig = {
@@ -372,9 +378,10 @@ in
       ensureUsers = [
         {
           name = dbUser;
-          ensurePermissions = {
-            "DATABASE \"${repoSettings.database}\"" = "ALL PRIVILEGES";
-          };
+          # Given that `dbUser` is potentially arbitrarily custom, we will perform
+          # manual fixups in mobilizon-postgres.
+          # TODO(to maintainers of mobilizon): Feel free to simplify your setup by using `ensureDBOwnership`.
+          ensureDBOwnership = false;
         }
       ];
       extraPlugins = with postgresql.pkgs; [ postgis ];
diff --git a/nixpkgs/nixos/modules/services/web-apps/moodle.nix b/nixpkgs/nixos/modules/services/web-apps/moodle.nix
index b617e9a59379..04ae6bd7f175 100644
--- a/nixpkgs/nixos/modules/services/web-apps/moodle.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/moodle.nix
@@ -194,7 +194,7 @@ in
   config = mkIf cfg.enable {
 
     assertions = [
-      { assertion = cfg.database.createLocally -> cfg.database.user == user;
+      { assertion = cfg.database.createLocally -> cfg.database.user == user && cfg.database.user == cfg.database.name;
         message = "services.moodle.database.user must be set to ${user} if services.moodle.database.createLocally is set true";
       }
       { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
@@ -220,7 +220,7 @@ in
       ensureDatabases = [ cfg.database.name ];
       ensureUsers = [
         { name = cfg.database.user;
-          ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; };
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/services/web-apps/netbox.nix b/nixpkgs/nixos/modules/services/web-apps/netbox.nix
index 8ba1852848e5..3b9434e3d345 100644
--- a/nixpkgs/nixos/modules/services/web-apps/netbox.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/netbox.nix
@@ -257,9 +257,7 @@ in {
       ensureUsers = [
         {
           name = "netbox";
-          ensurePermissions = {
-            "DATABASE netbox" = "ALL PRIVILEGES";
-          };
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix b/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
index f9713cac47e9..f1ac3770d403 100644
--- a/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
@@ -1042,7 +1042,7 @@ in {
         ensureDatabases = [ cfg.config.dbname ];
         ensureUsers = [{
           name = cfg.config.dbuser;
-          ensurePermissions = { "DATABASE ${cfg.config.dbname}" = "ALL PRIVILEGES"; };
+          ensureDBOwnership = true;
         }];
       };
 
diff --git a/nixpkgs/nixos/modules/services/web-apps/onlyoffice.nix b/nixpkgs/nixos/modules/services/web-apps/onlyoffice.nix
index 3494f2fa21f0..f958566b91f0 100644
--- a/nixpkgs/nixos/modules/services/web-apps/onlyoffice.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/onlyoffice.nix
@@ -198,7 +198,7 @@ in
         ensureDatabases = [ "onlyoffice" ];
         ensureUsers = [{
           name = "onlyoffice";
-          ensurePermissions = { "DATABASE \"onlyoffice\"" = "ALL PRIVILEGES"; };
+          ensureDBOwnership = true;
         }];
       };
     };
diff --git a/nixpkgs/nixos/modules/services/web-apps/outline.nix b/nixpkgs/nixos/modules/services/web-apps/outline.nix
index 0e3bd07c1fc1..d97b45d62418 100644
--- a/nixpkgs/nixos/modules/services/web-apps/outline.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/outline.nix
@@ -581,7 +581,7 @@ in
       enable = true;
       ensureUsers = [{
         name = "outline";
-        ensurePermissions."DATABASE outline" = "ALL PRIVILEGES";
+        ensureDBOwnership = true;
       }];
       ensureDatabases = [ "outline" ];
     };
diff --git a/nixpkgs/nixos/modules/services/web-apps/peering-manager.nix b/nixpkgs/nixos/modules/services/web-apps/peering-manager.nix
index 7012df6dffbf..d6f6077268d4 100644
--- a/nixpkgs/nixos/modules/services/web-apps/peering-manager.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/peering-manager.nix
@@ -186,9 +186,7 @@ in {
       ensureUsers = [
         {
           name = "peering-manager";
-          ensurePermissions = {
-            "DATABASE \"peering-manager\"" = "ALL PRIVILEGES";
-          };
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/services/web-apps/pixelfed.nix b/nixpkgs/nixos/modules/services/web-apps/pixelfed.nix
index 159fb52476aa..b0a25dcce9ef 100644
--- a/nixpkgs/nixos/modules/services/web-apps/pixelfed.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/pixelfed.nix
@@ -271,7 +271,6 @@ in {
         ensureDatabases = [ cfg.database.name ];
         ensureUsers = [{
           name = user;
-          ensurePermissions = { };
         }];
       };
 
diff --git a/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix b/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix
index 7b2e3be4295e..a8fb37d2c5ec 100644
--- a/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix
@@ -529,6 +529,15 @@ let
         assertion = cfg.database.password != null -> cfg.database.passwordFile == null;
         message = "Cannot set both password and passwordFile";
       }
+      {
+        assertion = cfg.database.createLocally -> cfg.database.name == cfg.user && cfg.database.user == cfg.user;
+        message = ''
+          When creating a database via NixOS, the db user and db name must be equal!
+          If you already have an existing DB+user and this assertion is new, you can safely set
+          `services.tt-rss.database.createLocally` to `false` because removal of `ensureUsers`
+          and `ensureDatabases` doesn't have any effect.
+        '';
+      }
     ];
 
     services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") {
@@ -632,8 +641,8 @@ let
       enable = mkDefault true;
       ensureDatabases = [ cfg.database.name ];
       ensureUsers = [
-        { name = cfg.user;
-          ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; };
+        { name = cfg.database.user;
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/services/web-servers/hydron.nix b/nixpkgs/nixos/modules/services/web-servers/hydron.nix
index 4434965b217a..9d30fdc0caab 100644
--- a/nixpkgs/nixos/modules/services/web-servers/hydron.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/hydron.nix
@@ -93,7 +93,7 @@ in with lib; {
       ensureDatabases = [ "hydron" ];
       ensureUsers = [
         { name = "hydron";
-          ensurePermissions = { "DATABASE hydron" = "ALL PRIVILEGES"; };
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index 96b42066b223..e2e7ffe59dcd 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -88,9 +88,20 @@ def write_loader_conf(profile: str | None, generation: int, specialisation: str
 
 
 def get_bootspec(profile: str | None, generation: int) -> BootSpec:
-    boot_json_path = os.path.realpath("%s/%s" % (system_dir(profile, generation, None), "boot.json"))
-    boot_json_f = open(boot_json_path, 'r')
-    bootspec_json = json.load(boot_json_f)
+    system_directory = system_dir(profile, generation, None)
+    boot_json_path = os.path.realpath("%s/%s" % (system_directory, "boot.json"))
+    if os.path.isfile(boot_json_path):
+        boot_json_f = open(boot_json_path, 'r')
+        bootspec_json = json.load(boot_json_f)
+    else:
+        boot_json_str = subprocess.check_output([
+        "@bootspecTools@/bin/synthesize",
+        "--version",
+        "1",
+        system_directory,
+        "/dev/stdout"],
+        universal_newlines=True)
+        bootspec_json = json.loads(boot_json_str)
     return bootspec_from_json(bootspec_json)
 
 def bootspec_from_json(bootspec_json: Dict) -> BootSpec:
@@ -266,7 +277,7 @@ def install_bootloader(args: argparse.Namespace) -> None:
 
         if installed_version < available_version:
             print("updating systemd-boot from %s to %s" % (installed_version, available_version))
-            subprocess.check_call(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@", "update"])
+            subprocess.check_call(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@"] + bootctl_flags + ["update"])
 
     os.makedirs("@efiSysMountPoint@/efi/nixos", exist_ok=True)
     os.makedirs("@efiSysMountPoint@/loader/entries", exist_ok=True)
diff --git a/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
index 1086ab80b14f..9d55c21077d1 100644
--- a/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
+++ b/nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
@@ -16,6 +16,8 @@ let
 
     systemd = config.systemd.package;
 
+    bootspecTools = pkgs.bootspec;
+
     nix = config.nix.package.out;
 
     timeout = optionalString (config.boot.loader.timeout != null) config.boot.loader.timeout;
diff --git a/nixpkgs/nixos/modules/system/boot/networkd.nix b/nixpkgs/nixos/modules/system/boot/networkd.nix
index b7ced5b0d346..33261021480f 100644
--- a/nixpkgs/nixos/modules/system/boot/networkd.nix
+++ b/nixpkgs/nixos/modules/system/boot/networkd.nix
@@ -122,6 +122,16 @@ let
         (assertValueOneOf "PacketInfo" boolValues)
         (assertValueOneOf "VNetHeader" boolValues)
       ];
+
+      # See https://www.freedesktop.org/software/systemd/man/latest/systemd.netdev.html#%5BIPVTAP%5D%20Section%20Options
+      ipVlanVtapChecks = [
+        (assertOnlyFields [
+          "Mode"
+          "Flags"
+        ])
+        (assertValueOneOf "Mode" ["L2" "L3" "L3S" ])
+        (assertValueOneOf "Flags" ["private" "vepa" "bridge" ])
+      ];
     in {
 
       sectionNetdev = checkUnitConfig "Netdev" [
@@ -146,6 +156,7 @@ let
           "ip6gretap"
           "ipip"
           "ipvlan"
+          "ipvtap"
           "macvlan"
           "macvtap"
           "sit"
@@ -191,6 +202,10 @@ let
         (assertValueOneOf "ReorderHeader" boolValues)
       ];
 
+      sectionIPVLAN = checkUnitConfig "IPVLAN" ipVlanVtapChecks;
+
+      sectionIPVTAP = checkUnitConfig "IPVTAP" ipVlanVtapChecks;
+
       sectionMACVLAN = checkUnitConfig "MACVLAN" [
         (assertOnlyFields [
           "Mode"
@@ -615,6 +630,7 @@ let
           "VRF"
           "VLAN"
           "IPVLAN"
+          "IPVTAP"
           "MACVLAN"
           "MACVTAP"
           "VXLAN"
@@ -1277,6 +1293,7 @@ let
           "FirewallMark"
           "Wash"
           "SplitGSO"
+          "AckFilter"
         ])
         (assertValueOneOf "AutoRateIngress" boolValues)
         (assertInt "OverheadBytes")
@@ -1309,6 +1326,7 @@ let
         (assertRange "FirewallMark" 1 4294967295)
         (assertValueOneOf "Wash" boolValues)
         (assertValueOneOf "SplitGSO" boolValues)
+        (assertValueOneOf "AckFilter" (boolValues ++ ["aggressive"]))
       ];
 
       sectionControlledDelay = checkUnitConfig "ControlledDelay" [
@@ -1623,6 +1641,26 @@ let
       '';
     };
 
+    ipvlanConfig = mkOption {
+      default = {};
+      example = { Mode = "L2"; Flags = "private"; };
+      type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionIPVLAN;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the `[IPVLAN]` section of the unit.
+        See {manpage}`systemd.netdev(5)` for details.
+      '';
+    };
+
+    ipvtapConfig = mkOption {
+      default = {};
+      example = { Mode = "L3"; Flags = "vepa"; };
+      type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionIPVTAP;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the `[IPVTAP]` section of the unit.
+        See {manpage}`systemd.netdev(5)` for details.
+      '';
+    };
+
     macvlanConfig = mkOption {
       default = {};
       example = { Mode = "private"; };
diff --git a/nixpkgs/nixos/modules/tasks/filesystems/bcachefs.nix b/nixpkgs/nixos/modules/tasks/filesystems/bcachefs.nix
index af7ba7aa6a0f..d144ce62dc27 100644
--- a/nixpkgs/nixos/modules/tasks/filesystems/bcachefs.nix
+++ b/nixpkgs/nixos/modules/tasks/filesystems/bcachefs.nix
@@ -1,10 +1,8 @@
 { config, lib, pkgs, utils, ... }:
 
-with lib;
-
 let
 
-  bootFs = filterAttrs (n: fs: (fs.fsType == "bcachefs") && (utils.fsNeededForBoot fs)) config.fileSystems;
+  bootFs = lib.filterAttrs (n: fs: (fs.fsType == "bcachefs") && (utils.fsNeededForBoot fs)) config.fileSystems;
 
   commonFunctions = ''
     prompt() {
@@ -56,7 +54,7 @@ let
   # remove this adaptation when bcachefs implements mounting by filesystem uuid
   # also, implement automatic waiting for the constituent devices when that happens
   # bcachefs does not support mounting devices with colons in the path, ergo we don't (see #49671)
-  firstDevice = fs: head (splitString ":" fs.device);
+  firstDevice = fs: lib.head (lib.splitString ":" fs.device);
 
   openCommand = name: fs: ''
     tryUnlock ${name} ${firstDevice fs}
@@ -90,22 +88,45 @@ let
     };
   };
 
+  assertions = [
+    {
+      assertion = let
+        kernel = config.boot.kernelPackages.kernel;
+      in (
+        kernel.kernelAtLeast "6.7" || (
+          lib.elem (kernel.structuredExtraConfig.BCACHEFS_FS or null) [
+            lib.kernel.module
+            lib.kernel.yes
+            lib.kernel.option.yes
+          ]
+        )
+      );
+
+      message = "Linux 6.7-rc1 at minimum or a custom linux kernel with bcachefs support is required";
+    }
+  ];
 in
 
 {
-  config = mkIf (elem "bcachefs" config.boot.supportedFilesystems) (mkMerge [
+  config = lib.mkIf (lib.elem "bcachefs" config.boot.supportedFilesystems) (lib.mkMerge [
     {
+      inherit assertions;
       # needed for systemd-remount-fs
       system.fsPackages = [ pkgs.bcachefs-tools ];
 
-      # use kernel package with bcachefs support until it's in mainline
-      # TODO replace with requireKernelConfig
-      boot.kernelPackages = pkgs.linuxPackages_testing_bcachefs;
+      # FIXME: Replace this with `linuxPackages_testing` after NixOS 23.11 is released
+      # FIXME: Replace this with `linuxPackages_latest` when 6.7 is released, remove this line when the LTS version is at least 6.7
+      boot.kernelPackages = lib.mkDefault (
+        # FIXME: Remove warning after NixOS 23.11 is released
+        lib.warn "Please upgrade to Linux 6.7-rc1 or later: 'linuxPackages_testing_bcachefs' is deprecated. Use 'boot.kernelPackages = pkgs.linuxPackages_testing;' to silence this warning"
+        pkgs.linuxPackages_testing_bcachefs
+      );
 
       systemd.services = lib.mapAttrs' (mkUnits "") (lib.filterAttrs (n: fs: (fs.fsType == "bcachefs") && (!utils.fsNeededForBoot fs)) config.fileSystems);
     }
 
-    (mkIf ((elem "bcachefs" config.boot.initrd.supportedFilesystems) || (bootFs != {})) {
+    (lib.mkIf ((lib.elem "bcachefs" config.boot.initrd.supportedFilesystems) || (bootFs != {})) {
+      inherit assertions;
       # chacha20 and poly1305 are required only for decryption attempts
       boot.initrd.availableKernelModules = [ "bcachefs" "sha256" "chacha20" "poly1305" ];
       boot.initrd.systemd.extraBin = {
@@ -121,7 +142,7 @@ in
         $out/bin/bcachefs version
       '';
 
-      boot.initrd.postDeviceCommands = lib.mkIf (!config.boot.initrd.systemd.enable) (commonFunctions + concatStrings (mapAttrsToList openCommand bootFs));
+      boot.initrd.postDeviceCommands = lib.mkIf (!config.boot.initrd.systemd.enable) (commonFunctions + lib.concatStrings (lib.mapAttrsToList openCommand bootFs));
 
       boot.initrd.systemd.services = lib.mapAttrs' (mkUnits "/sysroot") bootFs;
     })
diff --git a/nixpkgs/nixos/modules/virtualisation/google-compute-image.nix b/nixpkgs/nixos/modules/virtualisation/google-compute-image.nix
index dcdd1b59eef5..e4a18fd81d71 100644
--- a/nixpkgs/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixpkgs/nixos/modules/virtualisation/google-compute-image.nix
@@ -56,6 +56,11 @@ in
       efiInstallAsRemovable = true;
     };
 
+    fileSystems."/boot" = mkIf cfg.efi {
+      device = "/dev/disk/by-label/ESP";
+      fsType = "vfat";
+    };
+
     system.build.googleComputeImage = import ../../lib/make-disk-image.nix {
       name = "google-compute-image";
       postVM = ''
diff --git a/nixpkgs/nixos/tests/all-tests.nix b/nixpkgs/nixos/tests/all-tests.nix
index 6c127efa4cea..325e99c97749 100644
--- a/nixpkgs/nixos/tests/all-tests.nix
+++ b/nixpkgs/nixos/tests/all-tests.nix
@@ -192,7 +192,6 @@ in {
   cntr = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cntr.nix {};
   cockpit = handleTest ./cockpit.nix {};
   cockroachdb = handleTestOn ["x86_64-linux"] ./cockroachdb.nix {};
-  code-server = handleTest ./code-server.nix {};
   coder = handleTest ./coder.nix {};
   collectd = handleTest ./collectd.nix {};
   connman = handleTest ./connman.nix {};
@@ -750,6 +749,7 @@ in {
   signal-desktop = handleTest ./signal-desktop.nix {};
   simple = handleTest ./simple.nix {};
   sing-box = handleTest ./sing-box.nix {};
+  slimserver = handleTest ./slimserver.nix {};
   slurm = handleTest ./slurm.nix {};
   smokeping = handleTest ./smokeping.nix {};
   snapcast = handleTest ./snapcast.nix {};
diff --git a/nixpkgs/nixos/tests/code-server.nix b/nixpkgs/nixos/tests/code-server.nix
deleted file mode 100644
index 7d523dfc617e..000000000000
--- a/nixpkgs/nixos/tests/code-server.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-import ./make-test-python.nix ({pkgs, lib, ...}:
-{
-  name = "code-server";
-
-  nodes = {
-    machine = {pkgs, ...}: {
-      services.code-server = {
-        enable = true;
-        auth = "none";
-      };
-    };
-  };
-
-  testScript = ''
-    start_all()
-    machine.wait_for_unit("code-server.service")
-    machine.wait_for_open_port(4444)
-    machine.succeed("curl -k --fail http://localhost:4444", timeout=10)
-  '';
-
-  meta.maintainers = [ lib.maintainers.drupol ];
-})
diff --git a/nixpkgs/nixos/tests/dex-oidc.nix b/nixpkgs/nixos/tests/dex-oidc.nix
index 37275a97ef0f..e54ae18ca937 100644
--- a/nixpkgs/nixos/tests/dex-oidc.nix
+++ b/nixpkgs/nixos/tests/dex-oidc.nix
@@ -49,7 +49,7 @@ import ./make-test-python.nix ({ lib, ... }: {
       ensureUsers = [
         {
           name = "dex";
-          ensurePermissions = { "DATABASE dex" = "ALL PRIVILEGES"; };
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/nixos/tests/elk.nix b/nixpkgs/nixos/tests/elk.nix
index 0122bc440361..900ea6320100 100644
--- a/nixpkgs/nixos/tests/elk.nix
+++ b/nixpkgs/nixos/tests/elk.nix
@@ -119,11 +119,6 @@ let
                 package = elk.elasticsearch;
               };
 
-              kibana = {
-                enable = true;
-                package = elk.kibana;
-              };
-
               elasticsearch-curator = {
                 enable = true;
                 actionYAML = ''
@@ -217,13 +212,6 @@ let
           one.wait_until_succeeds("cat /tmp/logstash.out | grep flowers")
           one.wait_until_succeeds("cat /tmp/logstash.out | grep -v dragons")
 
-      with subtest("Kibana is healthy"):
-          one.wait_for_unit("kibana.service")
-          one.wait_until_succeeds(
-              "curl --silent --show-error --fail-with-body 'http://localhost:5601/api/status'"
-              + " | jq -es 'if . == [] then null else .[] | .status.overall.state == \"green\" end'"
-          )
-
       with subtest("Metricbeat is running"):
           one.wait_for_unit("metricbeat.service")
 
@@ -274,7 +262,6 @@ in {
   #   name = "elk-7";
   #   elasticsearch = pkgs.elasticsearch7-oss;
   #   logstash      = pkgs.logstash7-oss;
-  #   kibana        = pkgs.kibana7-oss;
   #   filebeat      = pkgs.filebeat7;
   #   metricbeat    = pkgs.metricbeat7;
   # };
@@ -282,7 +269,6 @@ in {
     ELK-7 = mkElkTest "elk-7" {
       elasticsearch = pkgs.elasticsearch7;
       logstash      = pkgs.logstash7;
-      kibana        = pkgs.kibana7;
       filebeat      = pkgs.filebeat7;
       metricbeat    = pkgs.metricbeat7;
     };
diff --git a/nixpkgs/nixos/tests/ferretdb.nix b/nixpkgs/nixos/tests/ferretdb.nix
index 9ad7397ade80..7251198af77d 100644
--- a/nixpkgs/nixos/tests/ferretdb.nix
+++ b/nixpkgs/nixos/tests/ferretdb.nix
@@ -39,7 +39,7 @@ with import ../lib/testing-python.nix { inherit system; };
             ensureDatabases = [ "ferretdb" ];
             ensureUsers = [{
               name = "ferretdb";
-              ensurePermissions."DATABASE ferretdb" = "ALL PRIVILEGES";
+              ensureDBOwnership = true;
             }];
           };
 
diff --git a/nixpkgs/nixos/tests/freshrss-pgsql.nix b/nixpkgs/nixos/tests/freshrss-pgsql.nix
index 055bd51ed43d..c685f4a8159b 100644
--- a/nixpkgs/nixos/tests/freshrss-pgsql.nix
+++ b/nixpkgs/nixos/tests/freshrss-pgsql.nix
@@ -22,9 +22,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
       ensureUsers = [
         {
           name = "freshrss";
-          ensurePermissions = {
-            "DATABASE freshrss" = "ALL PRIVILEGES";
-          };
+          ensureDBOwnership = true;
         }
       ];
       initialScript = pkgs.writeText "postgresql-password" ''
diff --git a/nixpkgs/nixos/tests/grafana/basic.nix b/nixpkgs/nixos/tests/grafana/basic.nix
index 8bf4caad7fbf..dd389bc8a3d1 100644
--- a/nixpkgs/nixos/tests/grafana/basic.nix
+++ b/nixpkgs/nixos/tests/grafana/basic.nix
@@ -55,7 +55,7 @@ let
         ensureDatabases = [ "grafana" ];
         ensureUsers = [{
           name = "grafana";
-          ensurePermissions."DATABASE grafana" = "ALL PRIVILEGES";
+          ensureDBOwnership = true;
         }];
       };
       systemd.services.grafana.after = [ "postgresql.service" ];
diff --git a/nixpkgs/nixos/tests/hockeypuck.nix b/nixpkgs/nixos/tests/hockeypuck.nix
index 2b9dba8720ab..675d6b226ad2 100644
--- a/nixpkgs/nixos/tests/hockeypuck.nix
+++ b/nixpkgs/nixos/tests/hockeypuck.nix
@@ -35,7 +35,7 @@ in {
       ensureDatabases = [ "hockeypuck" ];
       ensureUsers = [{
         name = "hockeypuck";
-        ensurePermissions."DATABASE hockeypuck" = "ALL PRIVILEGES";
+        ensureDBOwnership = true;
       }];
     };
   };
diff --git a/nixpkgs/nixos/tests/home-assistant.nix b/nixpkgs/nixos/tests/home-assistant.nix
index e97e8a467b18..e1588088ba19 100644
--- a/nixpkgs/nixos/tests/home-assistant.nix
+++ b/nixpkgs/nixos/tests/home-assistant.nix
@@ -9,13 +9,11 @@ in {
   nodes.hass = { pkgs, ... }: {
     services.postgresql = {
       enable = true;
-
-      # FIXME: hack for https://github.com/NixOS/nixpkgs/issues/216989
-      # Should be replaced with ensureUsers again when a solution for that is found
-      initialScript = pkgs.writeText "hass-setup-db.sql" ''
-        CREATE ROLE hass WITH LOGIN;
-        CREATE DATABASE hass WITH OWNER hass;
-      '';
+      ensureDatabases = [ "hass" ];
+      ensureUsers = [{
+        name = "hass";
+        ensureDBOwnership = true;
+      }];
     };
 
     services.home-assistant = {
diff --git a/nixpkgs/nixos/tests/installer.nix b/nixpkgs/nixos/tests/installer.nix
index 1baa4396424f..e9ec28749850 100644
--- a/nixpkgs/nixos/tests/installer.nix
+++ b/nixpkgs/nixos/tests/installer.nix
@@ -991,6 +991,68 @@ in {
     '';
   };
 
+  bcachefsLinuxTesting = makeInstallerTest "bcachefs-linux-testing" {
+    extraInstallerConfig = {
+      imports = [ no-zfs-module ];
+
+      boot = {
+        supportedFilesystems = [ "bcachefs" ];
+        kernelPackages = pkgs.linuxPackages_testing;
+      };
+    };
+
+    extraConfig = ''
+      boot.kernelPackages = pkgs.linuxPackages_testing;
+    '';
+
+    createPartitions = ''
+      machine.succeed(
+        "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
+        + " mkpart primary ext2 1M 100MB"          # /boot
+        + " mkpart primary linux-swap 100M 1024M"  # swap
+        + " mkpart primary 1024M -1s",             # /
+        "udevadm settle",
+        "mkswap /dev/vda2 -L swap",
+        "swapon -L swap",
+        "mkfs.bcachefs -L root /dev/vda3",
+        "mount -t bcachefs /dev/vda3 /mnt",
+        "mkfs.ext3 -L boot /dev/vda1",
+        "mkdir -p /mnt/boot",
+        "mount /dev/vda1 /mnt/boot",
+      )
+    '';
+  };
+
+  bcachefsUpgradeToLinuxTesting = makeInstallerTest "bcachefs-upgrade-to-linux-testing" {
+    extraInstallerConfig = {
+      imports = [ no-zfs-module ];
+      boot.supportedFilesystems = [ "bcachefs" ];
+      # We don't have network access in the VM, we need this for `nixos-install`
+      system.extraDependencies = [ pkgs.linux_testing ];
+    };
+
+    extraConfig = ''
+      boot.kernelPackages = pkgs.linuxPackages_testing;
+    '';
+
+    createPartitions = ''
+      machine.succeed(
+        "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
+        + " mkpart primary ext2 1M 100MB"          # /boot
+        + " mkpart primary linux-swap 100M 1024M"  # swap
+        + " mkpart primary 1024M -1s",             # /
+        "udevadm settle",
+        "mkswap /dev/vda2 -L swap",
+        "swapon -L swap",
+        "mkfs.bcachefs -L root /dev/vda3",
+        "mount -t bcachefs /dev/vda3 /mnt",
+        "mkfs.ext3 -L boot /dev/vda1",
+        "mkdir -p /mnt/boot",
+        "mount /dev/vda1 /mnt/boot",
+      )
+    '';
+  };
+
   # Test using labels to identify volumes in grub
   simpleLabels = makeInstallerTest "simpleLabels" {
     createPartitions = ''
diff --git a/nixpkgs/nixos/tests/invidious.nix b/nixpkgs/nixos/tests/invidious.nix
index 582d1550fff1..701e8e5e7a3f 100644
--- a/nixpkgs/nixos/tests/invidious.nix
+++ b/nixpkgs/nixos/tests/invidious.nix
@@ -44,8 +44,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
             enable = true;
             initialScript = pkgs.writeText "init-postgres-with-password" ''
               CREATE USER kemal WITH PASSWORD 'correct horse battery staple';
-              CREATE DATABASE invidious;
-              GRANT ALL PRIVILEGES ON DATABASE invidious TO kemal;
+              CREATE DATABASE invidious OWNER kemal;
             '';
           };
       };
diff --git a/nixpkgs/nixos/tests/paperless.nix b/nixpkgs/nixos/tests/paperless.nix
index 22409e899236..6a51cc522bdc 100644
--- a/nixpkgs/nixos/tests/paperless.nix
+++ b/nixpkgs/nixos/tests/paperless.nix
@@ -17,7 +17,7 @@ import ./make-test-python.nix ({ lib, ... }: {
         ensureDatabases = [ "paperless" ];
         ensureUsers = [
           { name = config.services.paperless.user;
-            ensurePermissions = { "DATABASE \"paperless\"" = "ALL PRIVILEGES"; };
+            ensureDBOwnership = true;
           }
         ];
       };
diff --git a/nixpkgs/nixos/tests/pgadmin4.nix b/nixpkgs/nixos/tests/pgadmin4.nix
index cb8de87c9ee3..3ee7ed19fa1c 100644
--- a/nixpkgs/nixos/tests/pgadmin4.nix
+++ b/nixpkgs/nixos/tests/pgadmin4.nix
@@ -19,14 +19,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
       authentication = ''
         host    all             all             localhost               trust
       '';
-      ensureUsers = [
-        {
-          name = "postgres";
-          ensurePermissions = {
-            "DATABASE \"postgres\"" = "ALL PRIVILEGES";
-          };
-        }
-      ];
     };
 
     services.pgadmin = {
diff --git a/nixpkgs/nixos/tests/pgbouncer.nix b/nixpkgs/nixos/tests/pgbouncer.nix
index 1e72327d4200..bb5afd35ee28 100644
--- a/nixpkgs/nixos/tests/pgbouncer.nix
+++ b/nixpkgs/nixos/tests/pgbouncer.nix
@@ -17,7 +17,8 @@ in
 
       systemd.services.postgresql = {
         postStart = ''
-            ${pkgs.postgresql}/bin/psql -U postgres -c "ALTER ROLE testuser WITH LOGIN PASSWORD 'testpass'";
+          ${pkgs.postgresql}/bin/psql -U postgres -c "ALTER ROLE testuser WITH LOGIN PASSWORD 'testpass'";
+          ${pkgs.postgresql}/bin/psql -U postgres -c "ALTER DATABASE testdb OWNER TO testuser;";
         '';
       };
 
@@ -28,9 +29,6 @@ in
           ensureUsers = [
           {
             name = "testuser";
-            ensurePermissions = {
-              "DATABASE testdb" = "ALL PRIVILEGES";
-            };
           }];
           authentication = ''
             local testdb testuser scram-sha-256
@@ -40,7 +38,7 @@ in
         pgbouncer = {
           enable = true;
           listenAddress = "localhost";
-          databases = { testdb = "host=/run/postgresql/ port=5432 auth_user=testuser dbname=testdb"; };
+          databases = { test = "host=/run/postgresql/ port=5432 auth_user=testuser dbname=testdb"; };
           authType = "scram-sha-256";
           authFile = testAuthFile;
         };
@@ -55,7 +53,7 @@ in
 
     # Test if we can make a query through PgBouncer
     one.wait_until_succeeds(
-        "psql 'postgres://testuser:testpass@localhost:6432/testdb' -c 'SELECT 1;'"
+        "psql 'postgres://testuser:testpass@localhost:6432/test' -c 'SELECT 1;'"
     )
   '';
 })
diff --git a/nixpkgs/nixos/tests/powerdns-admin.nix b/nixpkgs/nixos/tests/powerdns-admin.nix
index d7bacb24eec5..d326d74a9826 100644
--- a/nixpkgs/nixos/tests/powerdns-admin.nix
+++ b/nixpkgs/nixos/tests/powerdns-admin.nix
@@ -87,9 +87,7 @@ let
           ensureUsers = [
             {
               name = "powerdnsadmin";
-              ensurePermissions = {
-                "DATABASE powerdnsadmin" = "ALL PRIVILEGES";
-              };
+              ensureDBOwnership = true;
             }
           ];
         };
diff --git a/nixpkgs/nixos/tests/sftpgo.nix b/nixpkgs/nixos/tests/sftpgo.nix
index db0098d2ac48..a5bb1981d2c3 100644
--- a/nixpkgs/nixos/tests/sftpgo.nix
+++ b/nixpkgs/nixos/tests/sftpgo.nix
@@ -156,7 +156,7 @@ in
         ensureDatabases = [ "sftpgo" ];
         ensureUsers = [{
           name = "sftpgo";
-          ensurePermissions."DATABASE sftpgo" = "ALL PRIVILEGES";
+          ensureDBOwnership = true;
         }];
       };
 
diff --git a/nixpkgs/nixos/tests/slimserver.nix b/nixpkgs/nixos/tests/slimserver.nix
new file mode 100644
index 000000000000..c3f7b6fde4de
--- /dev/null
+++ b/nixpkgs/nixos/tests/slimserver.nix
@@ -0,0 +1,47 @@
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "slimserver";
+  meta.maintainers = with pkgs.lib.maintainers; [ adamcstephens ];
+
+  nodes.machine = { ... }: {
+    services.slimserver.enable = true;
+    services.squeezelite = {
+      enable = true;
+      extraArguments = "-s 127.0.0.1 -d slimproto=info";
+    };
+    sound.enable = true;
+    boot.initrd.kernelModules = ["snd-dummy"];
+  };
+
+  testScript =
+    ''
+      import json
+      rpc_get_player = {
+          "id": 1,
+          "method": "slim.request",
+          "params":[0,["player", "id", "0", "?"]]
+      }
+
+      with subtest("slimserver is started"):
+          machine.wait_for_unit("slimserver.service")
+          # give slimserver a moment to report errors
+          machine.sleep(2)
+
+      with subtest('slimserver module errors are not reported'):
+          machine.fail("journalctl -u slimserver.service | grep 'throw_exception'")
+          machine.fail("journalctl -u slimserver.service | grep 'not installed'")
+          machine.fail("journalctl -u slimserver.service | grep 'not found'")
+          machine.fail("journalctl -u slimserver.service | grep 'The following CPAN modules were found but cannot work with Logitech Media Server'")
+          machine.fail("journalctl -u slimserver.service | grep 'please use the buildme.sh'")
+
+      with subtest('slimserver is ready'):
+          machine.wait_for_open_port(9000)
+          machine.wait_until_succeeds("journalctl -u slimserver.service | grep 'Completed dbOptimize Scan'")
+
+      with subtest("squeezelite player successfully connects to slimserver"):
+          machine.wait_for_unit("squeezelite.service")
+          machine.wait_until_succeeds("journalctl -u squeezelite.service | grep 'slimproto:937 connected'")
+          player_mac = machine.wait_until_succeeds("journalctl -eu squeezelite.service | grep 'sendHELO:148 mac:'").strip().split(" ")[-1]
+          player_id = machine.succeed(f"curl http://localhost:9000/jsonrpc.js -g -X POST -d '{json.dumps(rpc_get_player)}'")
+          assert player_mac == json.loads(player_id)["result"]["_id"], "squeezelite player not found"
+    '';
+})
diff --git a/nixpkgs/nixos/tests/systemd-boot.nix b/nixpkgs/nixos/tests/systemd-boot.nix
index 13007d0d80d8..256a18532b0a 100644
--- a/nixpkgs/nixos/tests/systemd-boot.nix
+++ b/nixpkgs/nixos/tests/systemd-boot.nix
@@ -252,6 +252,35 @@ in
     '';
   };
 
+  garbage-collect-entry = makeTest {
+    name = "systemd-boot-switch-test";
+    meta.maintainers = with pkgs.lib.maintainers; [ julienmalka ];
+
+    nodes = {
+      inherit common;
+      machine = { pkgs, nodes, ... }: {
+        imports = [ common ];
+
+        # These are configs for different nodes, but we'll use them here in `machine`
+        system.extraDependencies = [
+          nodes.common.system.build.toplevel
+        ];
+      };
+    };
+
+    testScript = { nodes, ... }:
+      let
+        baseSystem = nodes.common.system.build.toplevel;
+      in
+      ''
+        machine.succeed("nix-env -p /nix/var/nix/profiles/system --set ${baseSystem}")
+        machine.succeed("nix-env -p /nix/var/nix/profiles/system --delete-generations 1")
+        machine.succeed("${baseSystem}/bin/switch-to-configuration boot")
+        machine.fail("test -e /boot/loader/entries/nixos-generation-1.conf")
+        machine.succeed("test -e /boot/loader/entries/nixos-generation-2.conf")
+      '';
+  };
+
   # Some UEFI firmwares fail on large reads. Now that systemd-boot loads initrd
   # itself, systems with such firmware won't boot without this fix
   uefiLargeFileWorkaround = makeTest {
@@ -277,4 +306,20 @@ in
       machine.wait_for_unit("multi-user.target")
     '';
   };
+
+  no-bootspec = makeTest
+    {
+      name = "systemd-boot-no-bootspec";
+      meta.maintainers = with pkgs.lib.maintainers; [ julienmalka ];
+
+      nodes.machine = {
+        imports = [ common ];
+        boot.bootspec.enable = false;
+      };
+
+      testScript = ''
+        machine.start()
+        machine.wait_for_unit("multi-user.target")
+      '';
+    };
 }
diff --git a/nixpkgs/nixos/tests/tandoor-recipes.nix b/nixpkgs/nixos/tests/tandoor-recipes.nix
index f3369da99a05..18beaac6f062 100644
--- a/nixpkgs/nixos/tests/tandoor-recipes.nix
+++ b/nixpkgs/nixos/tests/tandoor-recipes.nix
@@ -5,6 +5,29 @@ import ./make-test-python.nix ({ lib, ... }: {
   nodes.machine = { pkgs, ... }: {
     services.tandoor-recipes = {
       enable = true;
+      extraConfig = {
+        DB_ENGINE = "django.db.backends.postgresql";
+        POSTGRES_HOST = "/run/postgresql";
+        POSTGRES_USER = "tandoor_recipes";
+        POSTGRES_DB = "tandoor_recipes";
+      };
+    };
+
+    services.postgresql = {
+      enable = true;
+      ensureDatabases = [ "tandoor_recipes" ];
+      ensureUsers = [
+        {
+          name = "tandoor_recipes";
+          ensureDBOwnership = true;
+        }
+      ];
+    };
+
+    systemd.services = {
+      tandoor-recipes = {
+        after = [ "postgresql.service" ];
+      };
     };
   };
 
diff --git a/nixpkgs/nixos/tests/vikunja.nix b/nixpkgs/nixos/tests/vikunja.nix
index 2660aa9767ca..60fd5ce13854 100644
--- a/nixpkgs/nixos/tests/vikunja.nix
+++ b/nixpkgs/nixos/tests/vikunja.nix
@@ -33,7 +33,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
         ensureDatabases = [ "vikunja-api" ];
         ensureUsers = [
           { name = "vikunja-api";
-            ensurePermissions = { "DATABASE \"vikunja-api\"" = "ALL PRIVILEGES"; };
+            ensureDBOwnership = true;
           }
         ];
       };
diff --git a/nixpkgs/nixos/tests/wiki-js.nix b/nixpkgs/nixos/tests/wiki-js.nix
index fd054a9c5909..8b3c51935a6c 100644
--- a/nixpkgs/nixos/tests/wiki-js.nix
+++ b/nixpkgs/nixos/tests/wiki-js.nix
@@ -10,14 +10,15 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
       enable = true;
       settings.db.host = "/run/postgresql";
       settings.db.user = "wiki-js";
+      settings.db.db = "wiki-js";
       settings.logLevel = "debug";
     };
     services.postgresql = {
       enable = true;
-      ensureDatabases = [ "wiki" ];
+      ensureDatabases = [ "wiki-js" ];
       ensureUsers = [
         { name = "wiki-js";
-          ensurePermissions."DATABASE wiki" = "ALL PRIVILEGES";
+          ensureDBOwnership = true;
         }
       ];
     };
diff --git a/nixpkgs/pkgs/applications/audio/aucatctl/default.nix b/nixpkgs/pkgs/applications/audio/aucatctl/default.nix
index cf53a20700a5..d3f814a7db89 100644
--- a/nixpkgs/pkgs/applications/audio/aucatctl/default.nix
+++ b/nixpkgs/pkgs/applications/audio/aucatctl/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation (finalAttrs: {
   };
 
   buildInputs = [ sndio ]
-    ++ lib.optional (!stdenv.isDarwin && !stdenv.targetPlatform.isBSD)
+    ++ lib.optional (!stdenv.isDarwin && !stdenv.hostPlatform.isBSD)
     libbsd;
 
   outputs = [ "out" "man" ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: {
   preBuild = ''
     makeFlagsArray+=("PREFIX=$out")
   '' + lib.optionalString
-    (!stdenv.isDarwin && !stdenv.targetPlatform.isBSD) ''
+    (!stdenv.isDarwin && !stdenv.hostPlatform.isBSD) ''
       makeFlagsArray+=(LDADD="-lsndio -lbsd")
 
       # Fix warning about implicit declaration of function 'strlcpy'
diff --git a/nixpkgs/pkgs/applications/audio/audacity/default.nix b/nixpkgs/pkgs/applications/audio/audacity/default.nix
index 16bc4fe78891..05094d655b9d 100644
--- a/nixpkgs/pkgs/applications/audio/audacity/default.nix
+++ b/nixpkgs/pkgs/applications/audio/audacity/default.nix
@@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
   '' + lib.optionalString stdenv.isLinux ''
     substituteInPlace libraries/lib-files/FileNames.cpp \
       --replace /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h
-  '' + lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.targetPlatform.darwinMinVersion "11.0") ''
+  '' + lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "11.0") ''
     sed -z -i "s/NSAppearanceName.*systemAppearance//" src/AudacityApp.mm
   '';
 
diff --git a/nixpkgs/pkgs/applications/audio/ledfx/default.nix b/nixpkgs/pkgs/applications/audio/ledfx/default.nix
index 004823ee52d7..d0cafaaf7f02 100644
--- a/nixpkgs/pkgs/applications/audio/ledfx/default.nix
+++ b/nixpkgs/pkgs/applications/audio/ledfx/default.nix
@@ -5,12 +5,12 @@
 
 python3.pkgs.buildPythonPackage rec {
   pname = "ledfx";
-  version = "2.0.69";
+  version = "2.0.78";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-gkO6XYiPMkU/zRLvc0yd3jJXVcAgAkR1W1ELTSN461o=";
+    hash = "sha256-IalfA/nfQrnE90ycOnPEZ4A/L8rwi08ECNA/8YxeAgQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/audio/reaper/default.nix b/nixpkgs/pkgs/applications/audio/reaper/default.nix
index b5cf860ad9b7..dcbb7586eebe 100644
--- a/nixpkgs/pkgs/applications/audio/reaper/default.nix
+++ b/nixpkgs/pkgs/applications/audio/reaper/default.nix
@@ -2,6 +2,7 @@
 , fetchurl
 , autoPatchelfHook
 , makeWrapper
+, undmg
 
 , alsa-lib
 , curl
@@ -14,14 +15,16 @@
 , xdotool
 , which
 
-, jackSupport ? true
+, jackSupport ? stdenv.isLinux
 , jackLibrary
-, pulseaudioSupport ? config.pulseaudio or true
+, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux
 , libpulseaudio
 }:
 
 let
-  url_for_platform = version: arch: "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_${arch}.tar.xz";
+  url_for_platform = version: arch: if stdenv.isDarwin
+    then "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_universal.dmg"
+    else "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_${arch}.tar.xz";
 in
 stdenv.mkDerivation rec {
   pname = "reaper";
@@ -29,26 +32,32 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = url_for_platform version stdenv.hostPlatform.qemuArch;
-    hash = {
+    hash = if stdenv.isDarwin then "sha256-jaT+3cIFVfBopgeeTkpNs9rFX50unlPJogdhkI9bsWU=" else {
       x86_64-linux = "sha256-P/PnbJPr4ErDz5ho1/dLERhqkKjdetHzKpCpfVZAYb0=";
       aarch64-linux = "sha256-PdnBVlHwoEEv2SPq/p5oyiOlduCEqL35gAY+QIJU1Ys=";
     }.${stdenv.hostPlatform.system};
   };
 
   nativeBuildInputs = [
-    autoPatchelfHook
     makeWrapper
-    xdg-utils # Required for desktop integration
+  ] ++ lib.optionals stdenv.isLinux [
     which
+    autoPatchelfHook
+    xdg-utils # Required for desktop integration
+  ] ++ lib.optionals stdenv.isDarwin [
+    undmg
   ];
 
+  sourceRoot = lib.optionalString stdenv.isDarwin "Reaper.app";
+
   buildInputs = [
-    alsa-lib
     stdenv.cc.cc.lib # reaper and libSwell need libstdc++.so.6
+  ] ++ lib.optionals stdenv.isLinux [
     gtk3
+    alsa-lib
   ];
 
-  runtimeDependencies = [
+  runtimeDependencies = lib.optionals stdenv.isLinux [
     gtk3 # libSwell needs libgdk-3.so.0
   ]
   ++ lib.optional jackSupport jackLibrary
@@ -56,7 +65,13 @@ stdenv.mkDerivation rec {
 
   dontBuild = true;
 
-  installPhase = ''
+  installPhase = if stdenv.isDarwin then ''
+    runHook preInstall
+    mkdir -p "$out/Applications/Reaper.app"
+    cp -r * "$out/Applications/Reaper.app/"
+    makeWrapper "$out/Applications/Reaper.app/Contents/MacOS/REAPER" "$out/bin/reaper"
+    runHook postInstall
+  '' else ''
     runHook preInstall
 
     HOME="$out/share" XDG_DATA_HOME="$out/share" ./install-reaper.sh \
@@ -89,7 +104,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.reaper.fm/";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
-    platforms = [ "x86_64-linux" "aarch64-linux" ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
     maintainers = with maintainers; [ jfrankenau ilian orivej uniquepointer viraptor ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/audio/reaper/updater.sh b/nixpkgs/pkgs/applications/audio/reaper/updater.sh
index 750bea346bbc..31832f7173c6 100755
--- a/nixpkgs/pkgs/applications/audio/reaper/updater.sh
+++ b/nixpkgs/pkgs/applications/audio/reaper/updater.sh
@@ -5,7 +5,7 @@ set -euo pipefail
 
 reaper_ver=$(curl -Ls https://www.reaper.fm/download.php | grep -o 'Version [0-9]\.[0-9]*' | head -n1 | cut -d' ' -f2)
 
-function set_hash_for_arch() {
+function set_hash_for_linux() {
   local arch=$1
   pkg_hash=$(nix-prefetch-url https://www.reaper.fm/files/${reaper_ver%.*}.x/reaper${reaper_ver/./}_linux_$arch.tar.xz)
   pkg_hash=$(nix hash to-sri "sha256:$pkg_hash")
@@ -14,5 +14,15 @@ function set_hash_for_arch() {
   update-source-version reaper "${reaper_ver}" "$pkg_hash" --system=$arch-linux
 }
 
-set_hash_for_arch aarch64
-set_hash_for_arch x86_64
+function set_hash_for_darwin() {
+  local arch=$1
+  pkg_hash=$(nix-prefetch-url https://www.reaper.fm/files/${reaper_ver%.*}.x/reaper${reaper_ver/./}_universal.dmg)
+  pkg_hash=$(nix hash to-sri "sha256:$pkg_hash")
+  # reset the version so the second architecture update doesn't get ignored
+  update-source-version reaper 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" --system=$arch-darwin
+  update-source-version reaper "${reaper_ver}" "$pkg_hash" --system=$arch-darwin
+}
+
+set_hash_for_linux aarch64
+set_hash_for_linux x86_64
+set_hash_for_darwin aarch64
diff --git a/nixpkgs/pkgs/applications/audio/squeezelite/default.nix b/nixpkgs/pkgs/applications/audio/squeezelite/default.nix
index da126de3fc43..0f3b8be11c08 100644
--- a/nixpkgs/pkgs/applications/audio/squeezelite/default.nix
+++ b/nixpkgs/pkgs/applications/audio/squeezelite/default.nix
@@ -22,6 +22,7 @@
 , openssl
 , portaudioSupport ? stdenv.isDarwin
 , portaudio
+, slimserver
 , AudioToolbox
 , AudioUnit
 , Carbon
@@ -95,7 +96,10 @@ stdenv.mkDerivation {
     runHook postInstall
   '';
 
-  passthru.updateScript = ./update.sh;
+  passthru = {
+    inherit (slimserver) tests;
+    updateScript = ./update.sh;
+  };
 
   meta = with lib; {
     description = "Lightweight headless squeezebox client emulator";
diff --git a/nixpkgs/pkgs/applications/backup/proxmox-backup-client/default.nix b/nixpkgs/pkgs/applications/backup/proxmox-backup-client/default.nix
index 49ad9cccc9ce..8e6da71a1ead 100644
--- a/nixpkgs/pkgs/applications/backup/proxmox-backup-client/default.nix
+++ b/nixpkgs/pkgs/applications/backup/proxmox-backup-client/default.nix
@@ -88,7 +88,7 @@ rustPlatform.buildRustPackage {
   postBuild = ''
     make -C docs \
       DEB_VERSION=${version} DEB_VERSION_UPSTREAM=${version} \
-      RUSTC_TARGET=${stdenv.targetPlatform.config} \
+      RUSTC_TARGET=${stdenv.hostPlatform.config} \
       BUILD_MODE=release \
       proxmox-backup-client.1 pxar.1
   '';
diff --git a/nixpkgs/pkgs/applications/blockchains/erigon/default.nix b/nixpkgs/pkgs/applications/blockchains/erigon/default.nix
index 86c0d53fcf82..d73a916b0de3 100644
--- a/nixpkgs/pkgs/applications/blockchains/erigon/default.nix
+++ b/nixpkgs/pkgs/applications/blockchains/erigon/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "erigon";
-  version = "2.53.1";
+  version = "2.54.0";
 in
 buildGoModule {
   inherit pname version;
@@ -11,11 +11,11 @@ buildGoModule {
     owner = "ledgerwatch";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Gsrt/+6fhpwg3DzPtXPj9T9VPaMIaRcYBdWuFOotsbA=";
+    hash = "sha256-1kgbIg/3SvVT83UfwAYUixs1RQk4PP1quiOcI1mzbZ0=";
     fetchSubmodules = true;
   };
 
-  vendorHash = "sha256-zsLPqcLCZSnhlFWvNXZJwlfS+NsaTS07TmWd+x4ZPXA=";
+  vendorHash = "sha256-Gr9mrME8/ZDxp2ORKessNhfguklDf+jC4RSpzLOSBhQ=";
   proxyVendor = true;
 
   # Build errors in mdbx when format hardening is enabled:
diff --git a/nixpkgs/pkgs/applications/editors/cudatext/default.nix b/nixpkgs/pkgs/applications/editors/cudatext/default.nix
index 84df7d5b0c27..ad67837b3892 100644
--- a/nixpkgs/pkgs/applications/editors/cudatext/default.nix
+++ b/nixpkgs/pkgs/applications/editors/cudatext/default.nix
@@ -38,20 +38,21 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.201.0";
+  version = "1.201.0.2";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    hash = "sha256-Do2JPNZtoi7zbUnJomQAZ8zR/WPB6+G051xZWmeUBP4=";
+    hash = "sha256-ke7i0eeZHEsVhtzaS0AeLQOrYE1F+ppCwjR2TWeJQPA=";
   };
 
+  patches = [ ./proc_globdata.patch ];
+
   postPatch = ''
     substituteInPlace app/proc_globdata.pas \
-      --replace "/usr/share/cudatext" "$out/share/cudatext" \
-      --replace "libpython3.so" "${python3}/lib/libpython${python3.pythonVersion}.so" \
-      --replace "AllowProgramUpdates:= true;" "AllowProgramUpdates:= false;"
+      --subst-var out \
+      --subst-var-by python3 ${python3}
   '';
 
   nativeBuildInputs = [ lazarus fpc ]
diff --git a/nixpkgs/pkgs/applications/editors/cudatext/proc_globdata.patch b/nixpkgs/pkgs/applications/editors/cudatext/proc_globdata.patch
new file mode 100644
index 000000000000..b89476bb5fcb
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/cudatext/proc_globdata.patch
@@ -0,0 +1,30 @@
+diff --git i/app/proc_globdata.pas w/app/proc_globdata.pas
+index d161b09c7..0fcfbdc09 100644
+--- i/app/proc_globdata.pas
++++ w/app/proc_globdata.pas
+@@ -1342,6 +1342,7 @@ begin
+ 
+   {$ifdef unix}
+   for Dir in [
++              '@python3@/lib',
+               '/usr/lib64',
+               '/usr/lib',
+               '/usr/lib/x86_64-linux-gnu'
+@@ -1364,7 +1365,7 @@ var
+ function GetDirPrecopy: string;
+ begin
+   {$ifdef linux}
+-  exit('/usr/share/cudatext');
++  exit('@out@/share/cudatext');
+   {$endif}
+ 
+   {$ifdef darwin}
+@@ -2056,7 +2057,7 @@ begin
+     FindWrapAtEdge_Delay:= 350;
+     FindWrapAtEdge_ThemeItem:= ''; //'EdMarkedRangeBg';
+ 
+-    AllowProgramUpdates:= true;
++    AllowProgramUpdates:= false;
+     EscapeClose:= false;
+     EscapeCloseConsole:= true;
+     EscapeCloseFinder:= true;
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix
index 82f1c6bfaaae..ff5cce83103e 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix
@@ -65,7 +65,7 @@ self: let
       });
 
       xeft = super.xeft.overrideAttrs (old: let
-        libExt = pkgs.stdenv.targetPlatform.extensions.sharedLibrary;
+        libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary;
       in {
         dontUnpack = false;
 
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
index 2808ec7fcc0f..84c991ad17c2 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
@@ -118,7 +118,7 @@ self: let
       });
 
       jinx = super.jinx.overrideAttrs (old: let
-        libExt = pkgs.stdenv.targetPlatform.extensions.sharedLibrary;
+        libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary;
       in {
         dontUnpack = false;
 
@@ -159,7 +159,7 @@ self: let
       );
 
       xeft = super.xeft.overrideAttrs (old: let
-        libExt = pkgs.stdenv.targetPlatform.extensions.sharedLibrary;
+        libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary;
       in {
         dontUnpack = false;
 
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index ccde3ca0303b..117adcd47a9c 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -23,6 +23,8 @@ in
 
   ebuild-mode = callPackage ./manual-packages/ebuild-mode { };
 
+  el-easydraw = callPackage ./manual-packages/el-easydraw { };
+
   elisp-ffi = callPackage ./manual-packages/elisp-ffi { };
 
   emacspeak = callPackage ./manual-packages/emacspeak { };
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/default.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/default.nix
new file mode 100644
index 000000000000..608777208bb6
--- /dev/null
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, melpaBuild
+, fetchFromGitHub
+, writeText
+, unstableGitUpdater
+, gzip
+}:
+
+let
+  rev = "de68851724072c6695e675f090b33a8abec040c9";
+in
+melpaBuild {
+  pname = "edraw";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "misohena";
+    repo = "el-easydraw";
+    inherit rev;
+    hash = "sha256-l9i+HCRKnKiDqID+bfAOPE7LpVBZp1AOPkceX8KbDXM=";
+  };
+
+  commit = rev;
+
+  packageRequires = [ gzip ];
+
+  recipe = writeText "recipe" ''
+    (edraw
+      :repo "misohena/el-easydraw"
+      :fetcher github
+      :files
+      ("*.el"
+       "msg"))
+  '';
+
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = {
+    homepage = "https://github.com/misohena/el-easydraw";
+    description = "Embedded drawing tool for Emacs";
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ brahyerr ];
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
index c2754d7fc30f..cd45cfc78727 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
@@ -315,7 +315,7 @@ let
         ivy-rtags = fix-rtags super.ivy-rtags;
 
         jinx = super.jinx.overrideAttrs (old: let
-          libExt = pkgs.stdenv.targetPlatform.extensions.sharedLibrary;
+          libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary;
         in {
           nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
             pkgs.pkg-config
diff --git a/nixpkgs/pkgs/applications/editors/emacs/make-emacs.nix b/nixpkgs/pkgs/applications/editors/emacs/make-emacs.nix
index c5cc91c1268d..789420fdfc6e 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/make-emacs.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs/make-emacs.nix
@@ -90,6 +90,7 @@
 , withXinput2 ? withX && lib.versionAtLeast version "29"
 , withXwidgets ? !stdenv.isDarwin && !noGui && (withGTK3 || withPgtk)
 , withSmallJaDic ? false
+, withCompressInstall ? true
 
 # Options
 , siteStart ? ./site-start.el
@@ -339,6 +340,7 @@ mkDerivation (finalAttrs: {
   ++ lib.optional withXinput2 "--with-xinput2"
   ++ lib.optional withXwidgets "--with-xwidgets"
   ++ lib.optional withSmallJaDic "--with-small-ja-dic"
+  ++ lib.optional (!withCompressInstall) "--without-compress-install"
   ;
 
   env = lib.optionalAttrs withNativeCompilation {
diff --git a/nixpkgs/pkgs/applications/editors/helix/default.nix b/nixpkgs/pkgs/applications/editors/helix/default.nix
index 7d3b964fb15c..323218f9437b 100644
--- a/nixpkgs/pkgs/applications/editors/helix/default.nix
+++ b/nixpkgs/pkgs/applications/editors/helix/default.nix
@@ -12,6 +12,17 @@ rustPlatform.buildRustPackage rec {
     stripRoot = false;
   };
 
+  patches = [
+    # Fixes implicit int error in rescript grammar when building with clang 16.
+    # https://github.com/nkrkv/tree-sitter-rescript/pull/227.
+    (fetchpatch {
+      url = "https://github.com/nkrkv/tree-sitter-rescript/commit/ea93cbf7d9c52f925ed296b4714737e8088f3a19.patch";
+      hash = "sha256-gpGPiy+yEs+dMJEnE5O3WC7iSB/6PLJYBYRcdTx//+o=";
+      extraPrefix = "runtime/grammars/sources/rescript/";
+      stripLen = 1;
+    })
+  ];
+
   cargoHash = "sha256-B8RO6BADDbPchowSfNVgviGvVgH23iF42DdhEBKBQzs=";
 
   nativeBuildInputs = [ git installShellFiles makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/editors/molsketch/default.nix b/nixpkgs/pkgs/applications/editors/molsketch/default.nix
index 55db4096ce15..aa336ce45e21 100644
--- a/nixpkgs/pkgs/applications/editors/molsketch/default.nix
+++ b/nixpkgs/pkgs/applications/editors/molsketch/default.nix
@@ -48,6 +48,6 @@ mkDerivation rec {
     description = "2D molecule editor";
     homepage = "https://sourceforge.net/projects/molsketch/";
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.fortuneteller2k ];
+    maintainers = [ maintainers.moni ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/ox/default.nix b/nixpkgs/pkgs/applications/editors/ox/default.nix
index 882291264007..2e67e83e972b 100644
--- a/nixpkgs/pkgs/applications/editors/ox/default.nix
+++ b/nixpkgs/pkgs/applications/editors/ox/default.nix
@@ -18,6 +18,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/curlpipe/ox";
     changelog = "https://github.com/curlpipe/ox/releases/tag/${version}";
     license = licenses.gpl2Only;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/editors/standardnotes/src.json b/nixpkgs/pkgs/applications/editors/standardnotes/src.json
index 16598d02485c..62e1ae0d9525 100644
--- a/nixpkgs/pkgs/applications/editors/standardnotes/src.json
+++ b/nixpkgs/pkgs/applications/editors/standardnotes/src.json
@@ -1,13 +1,13 @@
 {
-  "version": "3.178.4",
+  "version": "3.181.23",
   "deb": {
     "x86_64-linux": {
-      "url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.178.4/standard-notes-3.178.4-linux-amd64.deb",
-      "hash": "sha512-6er/a9PqhKU4aagAxsbVdoXbRBNUr3Fa8BPWfuQ74Q4ai+iYlPjd4q50cTJQ4wJ5ucGyopgBEJq4/xYNunw6Ig=="
+      "url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.181.23/standard-notes-3.181.23-linux-amd64.deb",
+      "hash": "sha512-zWjST3guI0qifvZIwSLJ0nIpU12Mu3+m25Xdoqv0BQC7tscChEdCGUAJRUKHEf0b8l4uvp8qBGHiBOfbrIi//w=="
     },
     "aarch64-linux": {
-      "url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.178.4/standard-notes-3.178.4-linux-arm64.deb",
-      "hash": "sha512-lvvXCK3XOIH9HS1EU5eVBo4W8VoE4iM1Ve1XkZ/CysYBYLaXojXyybeN5Iw1Rmuk3trq/7RebjkNx/rxhsU0LQ=="
+      "url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.181.23/standard-notes-3.181.23-linux-arm64.deb",
+      "hash": "sha512-7R5Ym44mrVgUiqdt6NL8F9uUUOroQRxwn30xKThyIQm2HGRUJivRfOws98El9zV8bKG1khk4DZaMiLQSMjrtaQ=="
     }
   }
 }
diff --git a/nixpkgs/pkgs/applications/editors/texstudio/default.nix b/nixpkgs/pkgs/applications/editors/texstudio/default.nix
index b9a386684f9e..1f66a581dbe5 100644
--- a/nixpkgs/pkgs/applications/editors/texstudio/default.nix
+++ b/nixpkgs/pkgs/applications/editors/texstudio/default.nix
@@ -1,4 +1,5 @@
 { stdenv, lib, fetchFromGitHub, cmake, qtbase, qttools, qtsvg, qt5compat, quazip
+, qtwayland
 , hunspell
 , wrapQtAppsHook, poppler, zlib, pkg-config }:
 
@@ -27,8 +28,16 @@ stdenv.mkDerivation (finalAttrs: {
     qttools
     quazip
     zlib
+  ] ++ lib.optionals stdenv.isLinux [
+    qtwayland
   ];
 
+  postInstall = lib.optionalString stdenv.isDarwin ''
+    mkdir -p "$out/Applications"
+    mv "$out/bin/texstudio.app" "$out/Applications"
+    rm -d "$out/bin"
+  '';
+
   meta = with lib; {
     description = "TeX and LaTeX editor";
     longDescription=''
@@ -39,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://texstudio.org";
     changelog = "https://github.com/texstudio-org/texstudio/blob/${version}/utilities/manual/CHANGELOG.txt";
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ ajs124 cfouche ];
   };
 })
diff --git a/nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix b/nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix
index ea1e3f8da7bd..a27f8650f425 100644
--- a/nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/nixpkgs/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -847,6 +847,10 @@ self: super: {
     dependencies = with self; [ plenary-nvim ];
   };
 
+  neotest = super.neorg.overrideAttrs {
+    dependencies = with self; [ plenary-nvim ];
+  };
+
   neo-tree-nvim = super.neo-tree-nvim.overrideAttrs {
     dependencies = with self; [ plenary-nvim nui-nvim ];
   };
diff --git a/nixpkgs/pkgs/applications/emulators/firebird-emu/default.nix b/nixpkgs/pkgs/applications/emulators/firebird-emu/default.nix
index d117a93fba4a..9fd990146161 100644
--- a/nixpkgs/pkgs/applications/emulators/firebird-emu/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/firebird-emu/default.nix
@@ -1,6 +1,13 @@
-{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase, qtdeclarative }:
-
-mkDerivation rec {
+{ stdenv
+, lib
+, fetchFromGitHub
+, qmake
+, qtbase
+, qtdeclarative
+, qtquickcontrols
+, wrapQtAppsHook
+}:
+stdenv.mkDerivation rec {
   pname = "firebird-emu";
   version = "1.6";
 
@@ -12,16 +19,23 @@ mkDerivation rec {
     hash = "sha256-ZptjlnOiF+hKuKYvBFJL95H5YQuR99d4biOco/MVEmE=";
   };
 
-  nativeBuildInputs = [ qmake ];
+  # work around https://github.com/NixOS/nixpkgs/issues/19098
+  env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && stdenv.isDarwin) "-fno-lto";
+
+  nativeBuildInputs = [ wrapQtAppsHook qmake ];
+
+  buildInputs = [ qtbase qtdeclarative qtquickcontrols ];
 
-  buildInputs = [ qtbase qtdeclarative ];
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir $out/Applications
+    mv $out/bin/${pname}.app $out/Applications/
+  '';
 
   meta = {
     homepage = "https://github.com/nspire-emus/firebird";
     description = "Third-party multi-platform emulator of the ARM-based TI-Nspire™ calculators";
     license = lib.licenses.gpl3;
     maintainers = with lib.maintainers; [ pneumaticat ];
-    # Only tested on Linux, but likely possible to build on, e.g. macOS
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix b/nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix
index 1b95dec89fac..f69a9c3206cd 100644
--- a/nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix
+++ b/nixpkgs/pkgs/applications/emulators/kega-fusion/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, lib, writeText, fetchurl, upx, libGLU, glib, gtk2, alsa-lib, libSM, libX11, gdk-pixbuf, pango, libXinerama, mpg123, runtimeShell }:
+{ stdenv, lib, writeText, fetchurl, upx, libGL, libGLU, glib, gtk2, alsa-lib, libSM, libX11, gdk-pixbuf, pango, libXinerama, mpg123, runtimeShell }:
 
 let
-  libPath = lib.makeLibraryPath [ stdenv.cc.cc libGLU glib gtk2 alsa-lib libSM libX11 gdk-pixbuf pango libXinerama ];
+  libPath = lib.makeLibraryPath [ stdenv.cc.cc libGL libGLU glib gtk2 alsa-lib libSM libX11 gdk-pixbuf pango libXinerama ];
 
 in stdenv.mkDerivation {
   pname = "kega-fusion";
diff --git a/nixpkgs/pkgs/applications/emulators/wine/base.nix b/nixpkgs/pkgs/applications/emulators/wine/base.nix
index 2e84a8f2091c..68814ca5ba58 100644
--- a/nixpkgs/pkgs/applications/emulators/wine/base.nix
+++ b/nixpkgs/pkgs/applications/emulators/wine/base.nix
@@ -37,8 +37,11 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
     # The Wine preloader must _not_ be linked to any system libraries, but `NIX_LDFLAGS` will link
     # to libintl, libiconv, and CoreFoundation no matter what. Delete the one that was built and
     # rebuild it with empty NIX_LDFLAGS.
-    rm loader/wine64-preloader
-    make loader/wine64-preloader NIX_LDFLAGS="" NIX_LDFLAGS_${stdenv.cc.suffixSalt}=""
+    for preloader in wine-preloader wine64-preloader; do
+      rm loader/$preloader &> /dev/null \
+      && ( echo "Relinking loader/$preloader"; make loader/$preloader NIX_LDFLAGS="" NIX_LDFLAGS_${stdenv.cc.suffixSalt}="" ) \
+      || echo "loader/$preloader not built, skipping relink."
+    done
   '';
 }) // rec {
   inherit version src;
@@ -109,7 +112,8 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
       # uses property syntax in one place. The first patch is necessary only with older
       # versions of Wine. The second is needed on all versions of Wine.
       (lib.optional (lib.versionOlder version "8.12") ./darwin-metal-compat-pre8.12.patch)
-      ./darwin-metal-compat.patch
+      (lib.optional (lib.versionOlder version "8.18") ./darwin-metal-compat-pre8.18.patch)
+      (lib.optional (lib.versionAtLeast version "8.18") ./darwin-metal-compat.patch)
       # Wine requires `qos.h`, which is not included by default on the 10.12 SDK in nixpkgs.
       ./darwin-qos.patch
     ]
@@ -203,6 +207,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
       fromSource
       binaryNativeCode  # mono, gecko
     ];
+    broken = stdenv.isDarwin && !supportFlags.mingwSupport;
     description = if supportFlags.waylandSupport then "An Open Source implementation of the Windows API on top of OpenGL and Unix (with experimental Wayland support)" else "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
     platforms = if supportFlags.waylandSupport then (lib.remove "x86_64-darwin" prevPlatforms) else prevPlatforms;
     maintainers = with lib.maintainers; [ avnik raskin bendlas jmc-figueira reckenrode ];
diff --git a/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat-pre8.18.patch b/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat-pre8.18.patch
new file mode 100644
index 000000000000..181b2a0d1a47
--- /dev/null
+++ b/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat-pre8.18.patch
@@ -0,0 +1,12 @@
+diff --git a/dlls/winemac.drv/cocoa_display.m b/dlls/winemac.drv/cocoa_display.m
+--- a/dlls/winemac.drv/cocoa_display.m
++++ b/dlls/winemac.drv/cocoa_display.m
+@@ -354,7 +354,7 @@ static int macdrv_get_gpu_info_from_display_id_using_metal(struct macdrv_gpu* gp
+ 
+     device = [CGDirectDisplayCopyCurrentMetalDevice(display_id) autorelease];
+     if (device && [device respondsToSelector:@selector(registryID)])
+-        ret = macdrv_get_gpu_info_from_registry_id(gpu, device.registryID);
++        ret = macdrv_get_gpu_info_from_registry_id(gpu, [device registryID]);
+ 
+ done:
+     [pool release];
diff --git a/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch b/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch
index 181b2a0d1a47..8176be8ef383 100644
--- a/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch
+++ b/nixpkgs/pkgs/applications/emulators/wine/darwin-metal-compat.patch
@@ -1,12 +1,13 @@
 diff --git a/dlls/winemac.drv/cocoa_display.m b/dlls/winemac.drv/cocoa_display.m
+index fbbe16efcbf..2db375ff3d5 100644
 --- a/dlls/winemac.drv/cocoa_display.m
 +++ b/dlls/winemac.drv/cocoa_display.m
-@@ -354,7 +354,7 @@ static int macdrv_get_gpu_info_from_display_id_using_metal(struct macdrv_gpu* gp
+@@ -387,7 +387,7 @@ static int macdrv_get_gpu_info_from_display_id_using_metal(struct macdrv_gpu* gp
  
      device = [CGDirectDisplayCopyCurrentMetalDevice(display_id) autorelease];
      if (device && [device respondsToSelector:@selector(registryID)])
--        ret = macdrv_get_gpu_info_from_registry_id(gpu, device.registryID);
-+        ret = macdrv_get_gpu_info_from_registry_id(gpu, [device registryID]);
- 
- done:
-     [pool release];
+-        return macdrv_get_gpu_info_from_registry_id(gpu, device.registryID);
++        return macdrv_get_gpu_info_from_registry_id(gpu, [device registryID]);
+     else
+         return -1;
+ }
diff --git a/nixpkgs/pkgs/applications/emulators/wine/sources.nix b/nixpkgs/pkgs/applications/emulators/wine/sources.nix
index 813d032bf964..1bd1d6a8214d 100644
--- a/nixpkgs/pkgs/applications/emulators/wine/sources.nix
+++ b/nixpkgs/pkgs/applications/emulators/wine/sources.nix
@@ -69,9 +69,9 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the hash for staging as well.
-    version = "8.17";
+    version = "8.20";
     url = "https://dl.winehq.org/wine/source/8.x/wine-${version}.tar.xz";
-    hash = "sha256-8BeFvTFix05l3rE6oK3XEeN8SERUcZvt0OjCsaNGm34=";
+    hash = "sha256-SNa3a9ZDBaICBX+8GdkiwfSWJfbRqYJZJ8ChhXJzmYI=";
     inherit (stable) patches;
 
     ## see http://wiki.winehq.org/Gecko
@@ -88,9 +88,9 @@ in rec {
 
     ## see http://wiki.winehq.org/Mono
     mono = fetchurl rec {
-      version = "8.0.0";
+      version = "8.1.0";
       url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi";
-      hash = "sha256-dbP0XcodyJhX/p6TLaeHEPZMxtSe8asMcjoXcIW0cRs=";
+      hash = "sha256-DtPsUzrvebLzEhVZMc97EIAAmsDFtMK8/rZ4rJSOCBA=";
     };
 
     updateScript = writeShellScript "update-wine-unstable" ''
@@ -116,8 +116,8 @@ in rec {
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
-    version = "8.17.1";
-    hash = "sha256-h36NDFYsI0y8TG41IH10IdF4QEuBkBewQ3knZ9iwDpg=";
+    version = "8.20";
+    hash = "sha256-CiWTXjUR1+GY+MO7djHfVUH71zSo3lpH9IaqS5zCeJ8=";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
@@ -127,12 +127,12 @@ in rec {
 
   wayland = fetchFromGitLab {
     # https://gitlab.collabora.com/alf/wine/-/tree/wayland
-    version = "8.0";
-    hash = "sha256-whRnm21UyKZ4AQufNmctzivISVobnCeidmpYz65vlyk=";
+    version = "8.2";
+    hash = "sha256-Eb2SFBIeQQ3cVZkUQcwNT5mcYe0ShFxBdMc3BlqkwTo=";
     domain = "gitlab.collabora.com";
     owner = "alf";
     repo = "wine";
-    rev = "2f80bd757739f2dd8da41abceae6b87d2c568152";
+    rev = "b2547ddf9e08cafce98cf7734d5c4ec926ef3536";
 
     inherit (unstable) gecko32 gecko64;
 
diff --git a/nixpkgs/pkgs/applications/graphics/gimp/default.nix b/nixpkgs/pkgs/applications/graphics/gimp/default.nix
index 5e1fbe375876..f3587cf2ea5d 100644
--- a/nixpkgs/pkgs/applications/graphics/gimp/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gimp/default.nix
@@ -56,13 +56,13 @@ let
   python = python2.withPackages (pp: [ pp.pygtk ]);
 in stdenv.mkDerivation (finalAttrs: {
   pname = "gimp";
-  version = "2.10.34";
+  version = "2.10.36";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "http://download.gimp.org/pub/gimp/v${lib.versions.majorMinor finalAttrs.version}/gimp-${finalAttrs.version}.tar.bz2";
-    sha256 = "hABGQtNRs5ikKTzX/TWSBEqUTwW7UoUO5gaPJHxleqM=";
+    sha256 = "sha256-PTvDxppL2zrqm6LVOF7ZjqA5U/OFeq/R1pdgEe1827I=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/graphics/gscreenshot/default.nix b/nixpkgs/pkgs/applications/graphics/gscreenshot/default.nix
index 9cc53a9c521a..dc077e63e302 100644
--- a/nixpkgs/pkgs/applications/graphics/gscreenshot/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/gscreenshot/default.nix
@@ -18,13 +18,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gscreenshot";
-  version = "3.4.1";
+  version = "3.4.2";
 
   src = fetchFromGitHub {
     owner = "thenaterhood";
     repo = "${pname}";
     rev = "v${version}";
-    sha256 = "sLJ+Fk+ePrmJeSllGd30uEQ/uFDl5CIob//1cDLKZHg=";
+    sha256 = "sha256-Ha9PTvr6XNGhe4I0ZUwrdbsNHWhz+Ubw2gp+ctLTO64=";
   };
 
   # needed for wrapGAppsHook to function
diff --git a/nixpkgs/pkgs/applications/graphics/hydrus/default.nix b/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
index 0f96680bb073..8bddaa96abd5 100644
--- a/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
+++ b/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
@@ -12,14 +12,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "hydrus";
-  version = "551";
+  version = "552";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "hydrusnetwork";
     repo = "hydrus";
     rev = "refs/tags/v${version}";
-    hash = "sha256-P/U44ndfucbRnwGLdSnnA0VE4K40zPz3wtNpQj8rh5Q=";
+    hash = "sha256-MaS9WxYlbQ7V/2mrETKS0UyWb5IzCrSwDcp4UlVS3zk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/graphics/tesseract/tesseract5.nix b/nixpkgs/pkgs/applications/graphics/tesseract/tesseract5.nix
index 46e83d77ca9a..791ce9ad9a63 100644
--- a/nixpkgs/pkgs/applications/graphics/tesseract/tesseract5.nix
+++ b/nixpkgs/pkgs/applications/graphics/tesseract/tesseract5.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, autoconf-archive, pkg-config
-, leptonica, libpng, libtiff, icu, pango, opencl-headers, fetchpatch
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config
+, curl, leptonica, libarchive, libpng, libtiff, icu, pango, opencl-headers, fetchpatch
 , Accelerate, CoreGraphics, CoreVideo
 }:
 
@@ -19,11 +19,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkg-config
     autoreconfHook
-    autoconf-archive
   ];
 
   buildInputs = [
+    curl
     leptonica
+    libarchive
     libpng
     libtiff
     icu
diff --git a/nixpkgs/pkgs/applications/misc/1password-gui/default.nix b/nixpkgs/pkgs/applications/misc/1password-gui/default.nix
index 5d5c981526d9..2a46cfd50035 100644
--- a/nixpkgs/pkgs/applications/misc/1password-gui/default.nix
+++ b/nixpkgs/pkgs/applications/misc/1password-gui/default.nix
@@ -9,25 +9,25 @@
 let
 
   pname = "1password";
-  version = if channel == "stable" then "8.10.18" else "8.10.20-1.BETA";
+  version = if channel == "stable" then "8.10.20" else "8.10.20-1.BETA";
 
   sources = {
     stable = {
       x86_64-linux = {
         url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
-        hash = "sha256-3oK8Jzz4+TY4IW8oAenzHo7KQeP58iZ+on5PNliBn7I=";
+        hash = "sha256-KOKqI64uI454ryLy/zdD0jxgY3GekBFoh028ftt1Twg=";
       };
       aarch64-linux = {
         url = "https://downloads.1password.com/linux/tar/stable/aarch64/1password-${version}.arm64.tar.gz";
-        hash = "sha256-OsmgHPlAt9K7ytXMM8BANGcKcD3U1OLd2MLfOS4lc6Q=";
+        hash = "sha256-8MDJFG5d81Alxs1hqLw7DP+Pte+haGKfiZ/erGvks5A=";
       };
       x86_64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
-        hash = "sha256-wozym2QOLLUf4F+MwdIZfwN+VHkNewB+ZJZEkVNnb/c=";
+        hash = "sha256-T+f19Q/pzsC6lh8OF/w/pzRLBfAdlk1gwQz8funkx8Q=";
       };
       aarch64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
-        hash = "sha256-v1FZIsvFyIx81BORgDtZBP9jTRY6/0p537trOGf8mcM=";
+        hash = "sha256-kmal5wfqCKAlg7c+xVHM39qrucr+Kaxr4pNBYwKfs5g=";
       };
     };
     beta = {
diff --git a/nixpkgs/pkgs/applications/misc/1password/default.nix b/nixpkgs/pkgs/applications/misc/1password/default.nix
index 89ff023f86fe..9030421dbee4 100644
--- a/nixpkgs/pkgs/applications/misc/1password/default.nix
+++ b/nixpkgs/pkgs/applications/misc/1password/default.nix
@@ -12,12 +12,12 @@ let
     if extension == "zip" then fetchzip args else fetchurl args;
 
   pname = "1password-cli";
-  version = "2.22.0";
+  version = "2.23.0";
   sources = rec {
-    aarch64-linux = fetch "linux_arm64" "sha256-MWNbwCJ5ltAV1qmy8LPYkb6VTH0UVi2S5QEZZfpcnGM=" "zip";
-    i686-linux = fetch "linux_386" "sha256-lqwEm7fCiM2WNZvlAt/HeqI2zxnal/OMbTMGvvmXkvY=" "zip";
-    x86_64-linux = fetch "linux_amd64" "sha256-GfQ441a5mIgCTtxnk6L9UXodNGXek7f/jxJXWYJUb+0=" "zip";
-    aarch64-darwin = fetch "apple_universal" "sha256-yF0dy4MUgvSJUremXFfxCIHcGmYrCcjofcv1sBD9qyI=" "pkg";
+    aarch64-linux = fetch "linux_arm64" "sha256-WBUHS1qoKHGJb6ktw8BD3V0H0419BO3EyTh675UnZRA=" "zip";
+    i686-linux = fetch "linux_386" "sha256-pulMvdE8COwRBk3IBBXqYPk2+A1XuCN9TxtGqm1HFeM=" "zip";
+    x86_64-linux = fetch "linux_amd64" "sha256-w0ieg9MxjmkABc4LRZIGyfDjbOter0pKRigLZBhosz4=" "zip";
+    aarch64-darwin = fetch "apple_universal" "sha256-fRkvkLnhr0oZCcCGhQd53Oj8uTxsgaSUkxD7p7CPOwI=" "pkg";
     x86_64-darwin = aarch64-darwin;
   };
   platforms = builtins.attrNames sources;
diff --git a/nixpkgs/pkgs/applications/misc/blender/default.nix b/nixpkgs/pkgs/applications/misc/blender/default.nix
index 7a6db59bf66d..24ea7287160b 100644
--- a/nixpkgs/pkgs/applications/misc/blender/default.nix
+++ b/nixpkgs/pkgs/applications/misc/blender/default.nix
@@ -3,7 +3,7 @@
 , libjpeg, libpng, libsamplerate, libsndfile
 , libtiff, libwebp, libGLU, libGL, openal, opencolorio, openexr, openimagedenoise, openimageio, openjpeg, python310Packages
 , openvdb, libXxf86vm, tbb, alembic
-, zlib, zstd, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
+, zlib, zstd, fftw, fftwFloat, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
 , jackaudioSupport ? false, libjack2
 , cudaSupport ? config.cudaSupport, cudaPackages ? { }
 , hipSupport ? false, rocmPackages # comes with a significantly larger closure size
@@ -30,15 +30,19 @@ let
     url = "https://developer.download.nvidia.com/redist/optix/v7.3/OptiX-7.3.0-Include.zip";
     sha256 = "0max1j4822mchj0xpz9lqzh91zkmvsn4py0r174cvqfz8z8ykjk8";
   };
+  libdecor' = libdecor.overrideAttrs (old: {
+    # Blender uses private APIs, need to patch to expose them
+    patches = (old.patches or [ ]) ++ [ ./libdecor.patch ];
+  });
 
 in
 stdenv.mkDerivation (finalAttrs: rec {
   pname = "blender";
-  version = "3.6.5";
+  version = "4.0.1";
 
   src = fetchurl {
     url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
-    hash = "sha256-QAHA/pn22HLsfH6VX4Sp7r25raFxAPS1Gergjez38kM=";
+    hash = "sha256-/jLU0noX5RxhQ+26G16nGFylm65Lzfm9s11oCWCC43Q=";
   };
 
   patches = [
@@ -53,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: rec {
   buildInputs =
     [ boost ffmpeg gettext glew ilmbase
       freetype libjpeg libpng libsamplerate libsndfile libtiff libwebp
-      opencolorio openexr openimageio openjpeg python zlib zstd fftw jemalloc
+      opencolorio openexr openimageio openjpeg python zlib zstd fftw fftwFloat jemalloc
       alembic
       (opensubdiv.override { inherit cudaSupport; })
       tbb
@@ -65,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: rec {
       openpgl
     ]
     ++ lib.optionals waylandSupport [
-      wayland wayland-protocols libffi libdecor libxkbcommon dbus
+      wayland wayland-protocols libffi libdecor' libxkbcommon dbus
     ]
     ++ lib.optionals (!stdenv.isAarch64) [
       openimagedenoise
diff --git a/nixpkgs/pkgs/applications/misc/blender/libdecor.patch b/nixpkgs/pkgs/applications/misc/blender/libdecor.patch
new file mode 100644
index 000000000000..73c32f983cc2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/blender/libdecor.patch
@@ -0,0 +1,34 @@
+diff --git a/src/libdecor-plugin.h b/src/libdecor-plugin.h
+index ba80ce6..59199dd 100644
+--- a/src/libdecor-plugin.h
++++ b/src/libdecor-plugin.h
+@@ -132,12 +132,6 @@ struct libdecor_plugin_interface {
+ struct wl_surface *
+ libdecor_frame_get_wl_surface(struct libdecor_frame *frame);
+ 
+-int
+-libdecor_frame_get_content_width(struct libdecor_frame *frame);
+-
+-int
+-libdecor_frame_get_content_height(struct libdecor_frame *frame);
+-
+ enum libdecor_window_state
+ libdecor_frame_get_window_state(struct libdecor_frame *frame);
+ 
+diff --git a/src/libdecor.h b/src/libdecor.h
+index af67e2f..b5eba41 100644
+--- a/src/libdecor.h
++++ b/src/libdecor.h
+@@ -532,6 +532,12 @@ bool
+ libdecor_configuration_get_window_state(struct libdecor_configuration *configuration,
+ 					enum libdecor_window_state *window_state);
+ 
++int
++libdecor_frame_get_content_width(struct libdecor_frame *frame);
++
++int
++libdecor_frame_get_content_height(struct libdecor_frame *frame);
++
+ #ifdef __cplusplus
+ }
+ #endif
diff --git a/nixpkgs/pkgs/applications/misc/flavours/default.nix b/nixpkgs/pkgs/applications/misc/flavours/default.nix
index ed7fb7870822..db625793adc7 100644
--- a/nixpkgs/pkgs/applications/misc/flavours/default.nix
+++ b/nixpkgs/pkgs/applications/misc/flavours/default.nix
@@ -29,6 +29,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/Misterio77/flavours";
     changelog = "https://github.com/Misterio77/flavours/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ fortuneteller2k misterio77 ];
+    maintainers = with maintainers; [ moni misterio77 ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix b/nixpkgs/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix
index cbcb88b9d1a8..2690db2d9fbf 100644
--- a/nixpkgs/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix
+++ b/nixpkgs/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix
@@ -18,17 +18,10 @@ let
       maintainers = with maintainers; [ mjanczyk svsdep mgregoire ];
     };
 
-    pluginFilename = "KeePassRPC.plgx";
-
-    unpackCmd = ''
-      mkdir deps/
-      cp -p $src deps/$pluginFilename
-    '';
-    sourceRoot = "deps";
-
+    dontUnpack = true;
     installPhase = ''
       mkdir -p $out/lib/dotnet/keepass/
-      cp $pluginFilename $out/lib/dotnet/keepass/$pluginFilename
+      cp $src $out/lib/dotnet/keepass/
     '';
   };
 in
diff --git a/nixpkgs/pkgs/applications/misc/kile-wl/default.nix b/nixpkgs/pkgs/applications/misc/kile-wl/default.nix
index 33423f474af3..842499f845a6 100644
--- a/nixpkgs/pkgs/applications/misc/kile-wl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kile-wl/default.nix
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://gitlab.com/snakedye/kile";
     license = licenses.mit;
     platforms = platforms.linux; # It's meant for river, a wayland compositor
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
     mainProgram = "kile";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/llpp/default.nix b/nixpkgs/pkgs/applications/misc/llpp/default.nix
index 38da8824cb0d..d7db123ef4e3 100644
--- a/nixpkgs/pkgs/applications/misc/llpp/default.nix
+++ b/nixpkgs/pkgs/applications/misc/llpp/default.nix
@@ -1,27 +1,19 @@
 { stdenv, lib, substituteAll, makeWrapper, fetchFromGitHub, fetchpatch, ocaml, pkg-config, mupdf, libX11, jbig2dec, openjpeg, libjpeg , lcms2, harfbuzz,
-libGLU, libGL, gumbo, freetype, zlib, xclip, inotify-tools, procps }:
+libGLU, libGL, gumbo, freetype, zlib, xclip, inotify-tools, procps, darwin }:
 
 assert lib.versionAtLeast (lib.getVersion ocaml) "4.07";
 
 stdenv.mkDerivation rec {
   pname = "llpp";
-  version = "41";
+  version = "42";
 
   src = fetchFromGitHub {
     owner = "criticic";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Doj0zLYI1pi7eK01+29xFLYPtc8+fWzj10292+PmToE=";
+    hash = "sha256-B/jKvBtBwMOErUVmGFGXXIT8FzMl1DFidfDCHIH41TU=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "system-makedeps-and-ocaml5.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/system-makedeps-and-ocaml5.patch?h=llpp&id=32955e115f914bb96348d288f9af9c6e3e80a02b";
-      hash = "sha256-3rcPsR+M8Jx7M8GHUIsw0WNBvp6aE7BcPr4yk2vT9Ik=";
-    })
-  ];
-
   postPatch = ''
     sed -i "2d;s/ver=.*/ver=${version}/" build.bash
   '';
@@ -29,7 +21,9 @@ stdenv.mkDerivation rec {
   strictDeps = true;
 
   nativeBuildInputs = [ makeWrapper ocaml pkg-config ];
-  buildInputs = [ mupdf libX11 libGLU libGL freetype zlib gumbo jbig2dec openjpeg libjpeg lcms2 harfbuzz ];
+  buildInputs = [ mupdf libX11 freetype zlib gumbo jbig2dec openjpeg libjpeg lcms2 harfbuzz ]
+    ++ lib.optionals stdenv.isLinux [ libGLU libGL ]
+    ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.OpenGL darwin.apple_sdk.frameworks.Cocoa ];
 
   dontStrip = true;
 
@@ -46,7 +40,7 @@ stdenv.mkDerivation rec {
     install -d $out/bin
     install build/llpp $out/bin
     install misc/llpp.inotify $out/bin/llpp.inotify
-
+  '' + lib.optionalString stdenv.isLinux ''
     wrapProgram $out/bin/llpp \
         --prefix PATH ":" "${xclip}/bin"
 
@@ -59,7 +53,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://repo.or.cz/w/llpp.git";
     description = "A MuPDF based PDF pager written in OCaml";
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ pSub ];
     license = licenses.gpl3;
   };
diff --git a/nixpkgs/pkgs/applications/misc/mupdf/default.nix b/nixpkgs/pkgs/applications/misc/mupdf/default.nix
index 438134981499..db08bd5c14ce 100644
--- a/nixpkgs/pkgs/applications/misc/mupdf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mupdf/default.nix
@@ -7,6 +7,7 @@
 , desktopToDarwinBundle
 , buildPackages
 , pkg-config
+, fixDarwinDylibNames
 , freetype
 , harfbuzz
 , openjpeg
@@ -99,10 +100,9 @@ stdenv.mkDerivation rec {
     ++ lib.optional (enableGL || enableX11) copyDesktopItems
     ++ lib.optionals (enableCxx || enablePython) [ python3 python3.pkgs.setuptools python3.pkgs.libclang ]
     ++ lib.optionals (enablePython) [ which swig ]
-    ++ lib.optional stdenv.isDarwin desktopToDarwinBundle;
+    ++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle fixDarwinDylibNames xcbuild ];
 
   buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg gumbo ]
-    ++ lib.optional stdenv.isDarwin xcbuild
     ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
     ++ lib.optionals enableCurl [ curl openssl ]
     ++ lib.optionals enableGL (
diff --git a/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix b/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix
index b9ac311bcea7..6d0b4ec0e1d7 100644
--- a/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix
+++ b/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix
@@ -21,6 +21,9 @@ buildGoModule rec {
   # used at runtime, but not installed by default
   postInstall = ''
     cp -r ${src}/jsHelper $out/bin/jsHelper
+    cp -r ${src}/CustomApps $out/bin/CustomApps
+    cp -r ${src}/Extensions $out/bin/Extensions
+    cp -r ${src}/Themes $out/bin/Themes
   '';
 
   doInstallCheck = true;
diff --git a/nixpkgs/pkgs/applications/misc/synergy/default.nix b/nixpkgs/pkgs/applications/misc/synergy/default.nix
index 17692a22b7b9..2fe734fde00e 100644
--- a/nixpkgs/pkgs/applications/misc/synergy/default.nix
+++ b/nixpkgs/pkgs/applications/misc/synergy/default.nix
@@ -104,7 +104,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = lib.optional (!withGUI) "-DSYNERGY_BUILD_LEGACY_GUI=OFF"
     # NSFilenamesPboardType is deprecated in 10.14+
-    ++ lib.optional stdenv.isDarwin "-DCMAKE_OSX_DEPLOYMENT_TARGET=${if stdenv.isAarch64 then "10.13" else stdenv.targetPlatform.darwinSdkVersion}";
+    ++ lib.optional stdenv.isDarwin "-DCMAKE_OSX_DEPLOYMENT_TARGET=${if stdenv.isAarch64 then "10.13" else stdenv.hostPlatform.darwinSdkVersion}";
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/applications/misc/tiramisu/default.nix b/nixpkgs/pkgs/applications/misc/tiramisu/default.nix
index 8d1e1910cbc9..3e8f101f871e 100644
--- a/nixpkgs/pkgs/applications/misc/tiramisu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tiramisu/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/Sweets/tiramisu";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ wishfort36 fortuneteller2k ];
+    maintainers = with maintainers; [ wishfort36 moni ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ulauncher/default.nix b/nixpkgs/pkgs/applications/misc/ulauncher/default.nix
index 96f033744e6b..232a4456e60e 100644
--- a/nixpkgs/pkgs/applications/misc/ulauncher/default.nix
+++ b/nixpkgs/pkgs/applications/misc/ulauncher/default.nix
@@ -21,11 +21,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ulauncher";
-  version = "5.15.4";
+  version = "5.15.6";
 
   src = fetchurl {
     url = "https://github.com/Ulauncher/Ulauncher/releases/download/${version}/ulauncher_${version}.tar.gz";
-    sha256 = "sha256-5pEpYnJFHQKEfTve07ngFVDAOM9+kwrx6hc30gEwsko=";
+    sha256 = "sha256-WOWDekh9rcXeiN/ejiYC4BELhJwd98GkmyDOLN26ayU=";
   };
 
   nativeBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/applications/misc/upwork/default.nix b/nixpkgs/pkgs/applications/misc/upwork/default.nix
index 2c36b3411cdd..e1cf49f61aec 100644
--- a/nixpkgs/pkgs/applications/misc/upwork/default.nix
+++ b/nixpkgs/pkgs/applications/misc/upwork/default.nix
@@ -6,12 +6,12 @@
 
 stdenv.mkDerivation rec {
   pname = "upwork";
-  version = "5.8.0.31";
+  version = "5.8.0.33";
 
   src = requireFile {
     name = "${pname}_${version}_amd64.deb";
     url = "https://www.upwork.com/ab/downloads/os/linux/";
-    sha256 = "sha256-tQV6v0U6xxqBl7nQaBhXSrc9iv+7SPHfABTiJJQDnPI=";
+    sha256 = "sha256-MU0usTAfNNMN8OYmS6dWU6Xk2o5dg5J0V7OQiv3dLug=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 4714704c0e79..d11dce5a1051 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -15,9 +15,9 @@
         version = "2023-09-12";
       };
     };
-    hash = "sha256-UR8EowMYZ668qQ/6C9C/M+0HSguyUGKVhY46FTG+ShA=";
-    hash_deb_amd64 = "sha256-PIBWkCwU/7N242wR/WmpJDDJKLDGk/sJxPxa05bOQSE=";
-    version = "119.0.6045.123";
+    hash = "sha256-8xPm3vNF0HjfL7ewTz7iz7GMfiJi6mhMK1YSC7VeoSM=";
+    hash_deb_amd64 = "sha256-xAm7bPsnnJD7UWNTtHKMv5enHo3rM9w0M81QPqZVlP4=";
+    version = "119.0.6045.159";
   };
   ungoogled-chromium = {
     deps = {
@@ -28,12 +28,12 @@
         version = "2023-09-12";
       };
       ungoogled-patches = {
-        hash = "sha256-4EbfM62KuG8nHrYWwp183V5G9ac7FICjpyJahnKbQjE=";
-        rev = "119.0.6045.123-1";
+        hash = "sha256-kgUrYXy2avfwfRckSYI6YPMW1uuvl2Osg4Vr9Q1ksMc=";
+        rev = "119.0.6045.159-1";
       };
     };
-    hash = "sha256-UR8EowMYZ668qQ/6C9C/M+0HSguyUGKVhY46FTG+ShA=";
-    hash_deb_amd64 = "sha256-PIBWkCwU/7N242wR/WmpJDDJKLDGk/sJxPxa05bOQSE=";
-    version = "119.0.6045.123";
+    hash = "sha256-8xPm3vNF0HjfL7ewTz7iz7GMfiJi6mhMK1YSC7VeoSM=";
+    hash_deb_amd64 = "sha256-xAm7bPsnnJD7UWNTtHKMv5enHo3rM9w0M81QPqZVlP4=";
+    version = "119.0.6045.159";
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix b/nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix
index 7c1beb43dca2..fa5fad4934c1 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/vieb/default.nix
@@ -58,7 +58,7 @@ buildNpmPackage rec {
     homepage = "https://vieb.dev/";
     changelog = "https://github.com/Jelmerro/Vieb/releases/tag/${version}";
     description = "Vim Inspired Electron Browser";
-    maintainers = with maintainers; [ gebner fortuneteller2k tejing ];
+    maintainers = with maintainers; [ gebner tejing ];
     platforms = platforms.unix;
     license = licenses.gpl3Plus;
   };
diff --git a/nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix b/nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix
index 2e2ca3341d83..9c5225eb1b4b 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/arkade/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "arkade";
-  version = "0.10.13";
+  version = "0.10.15";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "arkade";
     rev = version;
-    hash = "sha256-DhMoNI1eRzP9FK752Z8sAcuj5dpu2vRqXRv4tbSYmLE=";
+    hash = "sha256-1r/f3CoTaOA2ZfM9UBGftZDZdCL9JIrs6SvaSO8BI6w=";
   };
 
   CGO_ENABLED = 0;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/calico/default.nix b/nixpkgs/pkgs/applications/networking/cluster/calico/default.nix
index 29428d8360ea..b1ca2a74542b 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/calico/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/calico/default.nix
@@ -2,16 +2,16 @@
 
 builtins.mapAttrs (pname: { doCheck ? true, mainProgram ? pname, subPackages }: buildGoModule rec {
   inherit pname;
-  version = "3.26.3";
+  version = "3.26.4";
 
   src = fetchFromGitHub {
     owner = "projectcalico";
     repo = "calico";
     rev = "v${version}";
-    hash = "sha256-KbtQ5oMZ1ygYwbaKpyAKTprPZ6+ikDbGLafwOShVd6w=";
+    hash = "sha256-idpvGgtvjtLuW+eQIldWihqgzWIFEM0bK0Ux61dD//w=";
   };
 
-  vendorHash = "sha256-1PBdDpc/cvI5uN6/msxXoMXbx7Osgq12W1VqtZ7XtGE=";
+  vendorHash = "sha256-Dl0YLXrw/roKLmp8cZUa1v2n/UwzOGoL0AN8fNVMknU=";
 
   inherit doCheck subPackages;
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix b/nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix
index 8e1c1c14fd16..0a7f5178ef19 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/cilium/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cilium-cli";
-  version = "0.15.11";
+  version = "0.15.12";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-czU5o6QS4MsXyyedQ0nzwDiCQacHcDsbm2iDk7nU+Y8=";
+    hash = "sha256-Js//4dB8b3w9AOvMhXt91G87FzQ8jHq3W3pJHzLbluA=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix
index 8396889f532b..5d2804251146 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/cmctl/default.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "cmctl";
-  version = "1.13.1";
+  version = "1.13.2";
 
   src = fetchFromGitHub {
     owner = "cert-manager";
     repo = "cert-manager";
     rev = "v${version}";
-    hash = "sha256-l0D7uVoYTwiVI+b8yYpsJk/eAG5XYidR9CaQ595aTjw=";
+    hash = "sha256-TfFdHKXbbi0yqvyQjZArY9GbkwjUq1Z00UuNAldyDuc=";
   };
 
   sourceRoot = "${src.name}/cmd/ctl";
 
-  vendorHash = "sha256-3Ws2ObyBVYog7oVqHeEgIeWeRQpV1Z+Clilp8wI/PUA=";
+  vendorHash = "sha256-63XxGvVsIRDpQ0ri6VkjciyD+k7eEMBcg0w8NU8ypYs=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kluctl/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kluctl/default.nix
index 2f6939347729..99e311ff3e20 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kluctl/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kluctl/default.nix
@@ -33,6 +33,6 @@ buildGoModule rec {
     description = "The missing glue to put together large Kubernetes deployments";
     homepage = "https://kluctl.io/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ sikmir ];
+    maintainers = with maintainers; [ sikmir netthier ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubefirst/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubefirst/default.nix
index 8c15855576b8..ab2eb86164aa 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubefirst/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubefirst/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubefirst";
-  version = "2.3.0";
+  version = "2.3.5";
 
   src = fetchFromGitHub {
     owner = "kubefirst";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-5znZMr0Dj6kpKJbypICN5+Fv/+3FgTLBok3YMrWaHdo=";
+    hash = "sha256-RqysUaHLgTNuTeLt5xsD06Qxv5qsGTPE0H7r4RqPf30=";
   };
 
-  vendorHash = "sha256-/iAGUnIMH2+IrvvXig56SpZ0eTfVwaCgGMUDp5/MtEo=";
+  vendorHash = "sha256-IH43F809dr6LGb87pqW2G9xrJLsQcHfjOm5PUj8r4Qo=";
 
   ldflags = [ "-s" "-w" "-X github.com/kubefirst/runtime/configs.K1Version=v${version}"];
 
diff --git a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
index ac142ca3597e..f67d650e77a5 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -20,13 +20,13 @@
 
 buildGoModule rec {
   pname = "kubernetes";
-  version = "1.28.3";
+  version = "1.28.4";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    hash = "sha256-lb9FAk3b6J92viyHzLCzbYRxhQS94/FQvDr1m1kdTq8=";
+    hash = "sha256-aaGcAIyy0hFJGFfOq5FaF0qAlygXcs2WcwgvMe5dkbo=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/applications/networking/cluster/rke/default.nix b/nixpkgs/pkgs/applications/networking/cluster/rke/default.nix
index 8021d55156a6..f5b60daeac2d 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/rke/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/rke/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "rke";
-  version = "1.4.10";
+  version = "1.4.11";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-rr6CN5ik4vuLNqzNPvISfRfOjTcD48pSre2K6xr6xSk=";
+    hash = "sha256-bsvAyyf/ITIm8pxVF61idM91Ztd/2ufH2lBHR6a7lCQ=";
   };
 
   vendorHash = "sha256-3bivFrn2xDyILD1ugSr7IehhNq4vkqShFQI3sbeY0iY=";
diff --git a/nixpkgs/pkgs/applications/networking/cluster/tfautomv/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tfautomv/default.nix
index 7409ec8ea446..358dfd0a39fd 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tfautomv/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/tfautomv/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "tfautomv";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "busser";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-A1/sf+QjxQ8S2Cqmw9mD0r4aqA2Ssopeni0YNLND9L8=";
+    hash = "sha256-irB0Kfd8eqIKq0ooJRxB0X4t2/1aFCNYRwaG6lAw3ic=";
   };
 
-  vendorHash = "sha256-zAshnSqZT9lx9EWvJsMwi6rqvhUWJ/3uJnk+44TGzlU=";
+  vendorHash = "sha256-Wc5hpiHL5I01IodcHX0IzeKfthkFS7SuUxmaxOU6WkA=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
index 1862cf6e04a7..6a5cdfd152de 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -1,14 +1,14 @@
 { branch ? "stable", callPackage, fetchurl, lib, stdenv }:
 let
   versions = if stdenv.isLinux then {
-    stable = "0.0.33";
-    ptb = "0.0.53";
-    canary = "0.0.173";
-    development = "0.0.1";
+    stable = "0.0.35";
+    ptb = "0.0.56";
+    canary = "0.0.184";
+    development = "0.0.0";
   } else {
-    stable = "0.0.282";
-    ptb = "0.0.84";
-    canary = "0.0.329";
+    stable = "0.0.284";
+    ptb = "0.0.87";
+    canary = "0.0.340";
     development = "0.0.2";
   };
   version = versions.${branch};
@@ -16,33 +16,33 @@ let
     x86_64-linux = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
-        hash = "sha256-UVgufPNIS7fa3VDzjCWwgK3xxmqNivq461qWLgirClc=";
+        hash = "sha256-VcSRV9LDiUXduRt20kVeAnwinl6FmACQgn//W6eFyys=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
-        hash = "sha256-g2NhwkfNi5Yf+n9vHq/MJ0kylPF3MPocgF/zYfCvoZM=";
+        hash = "sha256-RDXApmhlu2aQTjWVXMyRp0CL29btsQufIPuxjjtJGIU=";
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-        hash = "sha256-YFjGUAaZMy1JhtKhAqLbfYTKQSgS9TKWqR078cERNUI=";
+        hash = "sha256-Pu0kei/ls9yrDEpRQcgDAaEkRbYkFmp/jTwOkljoy18=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
-        hash = "sha256-ogLOZZ9pTXB01TqdnmdORIzZ8GbGzskUzbG4E68gZwY=";
+        hash = "sha256-/+9NyreRkXu2++uhwCh3/C1Cos39hfzB0Yjf0Otg9pk=";
       };
     };
     x86_64-darwin = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
-        hash = "sha256-3WeC+4W9+tpXNXqETorQfnE1HZWCqRkBqW0JM7whRCw=";
+        hash = "sha256-TTzhc6P0hFG9BFMviNx8CCg1cVEKDiB3gtb8oR/slNA=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
-        hash = "sha256-e2gvjXUw0Yx8UY6utg1SdX8/buewuVYPl5I8fS3QtrI=";
+        hash = "sha256-cl6+kTth/7j+HJHPU4Oy1N5EnmMbpdvltKzrU1by+Ik=";
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
-        hash = "sha256-B4LPFts+sx8GpZp9iRbwapUYrK4c9unH+mAoODGqDgU=";
+        hash = "sha256-LfixXyCoTnifw2GVAnCDnBla757JyGzbvUJwY4UhgGI=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/session-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
index 7989713d4a3d..214551cf237c 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
@@ -8,12 +8,12 @@
 }:
 
 let
-  version = "1.11.3";
+  version = "1.11.4";
   pname = "session-desktop";
 
   src = fetchurl {
     url = "https://github.com/oxen-io/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage";
-    hash = "sha256-HdgW7Ls0h75BXKXGzzf37K9w4bgkfA9eAUEmBrSDT+U=";
+    hash = "sha256-fSa113BYpTZ4jvxroQsoslAkWfQr4/ROkgVOFyiVsKQ=";
   };
   appimage = appimageTools.wrapType2 {
     inherit version pname src;
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index a18afedaecdc..0e66707349db 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -1,12 +1,12 @@
 { callPackage }: builtins.mapAttrs (pname: attrs: callPackage ./generic.nix (attrs // { inherit pname; })) {
   signal-desktop = {
     dir = "Signal";
-    version = "6.38.0";
-    hash = "sha256-y2mwO7Qc01vuIeJUcAxYDD97DXOwXCd8wNZmkG4maF0=";
+    version = "6.39.0";
+    hash = "sha256-cG8ZFWpx92haTgMkpMMcFDV0OB7lmU540g9fNj4ofy8=";
   };
   signal-desktop-beta = {
     dir = "Signal Beta";
-    version = "6.39.0-beta.2";
-    hash = "sha256-1+1wvkMtEovBBs2bS9zUV5kpSxkPy0EqBAU01el8uko=";
+    version = "6.40.0-beta.1";
+    hash = "sha256-daXh1Uh2lHw0NA/j7qhQK7nrVljbr/fP2iLjcqnuvns=";
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
index 38719920d8a2..aec46a8c0f6b 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
@@ -15,6 +15,7 @@
 , at-spi2-atk
 , cairo
 , pango
+, pipewire
 , gdk-pixbuf
 , glib
 , freetype
@@ -150,7 +151,7 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     gappsWrapperArgs+=(
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc ] }"
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc pipewire ] }"
       # Currently crashes see https://github.com/NixOS/nixpkgs/issues/222043
       #--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
       --suffix PATH : ${lib.makeBinPath [ xdg-utils ]}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index 266c843931b6..5d5c8301378d 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -7,7 +7,7 @@ let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.106.0.212";
+  version = "8.108.0.205";
 
   rpath = lib.makeLibraryPath [
     alsa-lib
@@ -68,7 +68,7 @@ let
           "https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
           "https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
         ];
-        sha256 = "sha256-TlqhCj5nyL8SEo3M6ahPLYOTDrEjHvxtu1qFSR8LtkM=";
+        sha256 = "sha256-9V+/tTFco69NkCeswbGobr3ZxcS3q+Zd7fiei4N8uTY=";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
index b5879ffe5b46..694021d0f7fe 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
@@ -82,15 +82,15 @@ stdenv.mkDerivation {
     })
   ];
 
-  postPatch = lib.optionalString stdenv.isLinux ''
+  postPatch = ''
+    rm -r src/third_party/libsrtp
+    cp -r --no-preserve=mode ${libsrtp} src/third_party/libsrtp
+  '' + lib.optionalString stdenv.isLinux ''
     substituteInPlace src/modules/desktop_capture/linux/egl_dmabuf.cc \
       --replace '"libEGL.so.1"' '"${libGL}/lib/libEGL.so.1"' \
       --replace '"libGL.so.1"' '"${libGL}/lib/libGL.so.1"' \
       --replace '"libgbm.so.1"' '"${mesa}/lib/libgbm.so.1"' \
       --replace '"libdrm.so.2"' '"${libdrm}/lib/libdrm.so.2"'
-
-    rm -r src/third_party/libsrtp
-    cp -r --no-preserve=mode ${libsrtp} src/third_party/libsrtp
   '';
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix
index c5a07a89c35e..a9becb9d8c90 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/afew/default.nix
@@ -1,40 +1,48 @@
-{ lib, python3Packages, fetchPypi, notmuch }:
+{ lib, python3Packages, fetchPypi, pkgs }:
 
 python3Packages.buildPythonApplication rec {
   pname = "afew";
   version = "3.0.1";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "0wpfqbqjlfb9z0hafvdhkm7qw56cr9kfy6n8vb0q42dwlghpz1ff";
   };
 
-  nativeBuildInputs = with python3Packages; [ sphinx setuptools-scm ];
-
-  propagatedBuildInputs = with python3Packages; [
-    python3Packages.setuptools python3Packages.notmuch chardet dkimpy
+  nativeBuildInputs = with python3Packages; [
+    sphinxHook
+    setuptools
+    setuptools-scm
   ];
 
-  nativeCheckInputs = with python3Packages; [
-    freezegun notmuch
+  sphinxBuilders = [
+    "html"
+    "man"
   ];
 
-  makeWrapperArgs = [
-    ''--prefix PATH ':' "${notmuch}/bin"''
+  propagatedBuildInputs = with python3Packages; [
+    chardet
+    dkimpy
+    notmuch
   ];
 
-  outputs = [ "out" "doc" ];
+  nativeCheckInputs = [
+    pkgs.notmuch
+  ] ++ (with python3Packages; [
+    freezegun
+    pytestCheckHook
+  ]);
 
-  postBuild =  ''
-    ${python3Packages.python.pythonOnBuildForHost.interpreter} setup.py build_sphinx -b html,man
-  '';
-
-  postInstall = ''
-    install -D -v -t $out/share/man/man1 build/sphinx/man/*
-    mkdir -p $out/share/doc/afew
-    cp -R build/sphinx/html/* $out/share/doc/afew
-  '';
+  makeWrapperArgs = [
+    ''--prefix PATH ':' "${pkgs.notmuch}/bin"''
+  ];
 
+  outputs = [
+    "out"
+    "doc"
+    "man"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/afewmail/afew";
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/mailspring/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/mailspring/default.nix
index 4f61935faac1..702e92c04c32 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/mailspring/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/mailspring/default.nix
@@ -22,11 +22,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mailspring";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchurl {
     url = "https://github.com/Foundry376/Mailspring/releases/download/${version}/mailspring-${version}-amd64.deb";
-    hash = "sha256-aAqkltVxIlGwRVGM+1QkrVgfnitl+D3Xb0qi0o8ow+Q=";
+    hash = "sha256-6dTAPetJgYrvIEtu+2QxcBOeYFZfN/dFhM0CZFzcC/E=";
   };
 
   nativeBuildInputs = [
@@ -57,6 +57,7 @@ stdenv.mkDerivation rec {
     openssl
     (lib.getLib udev)
     libappindicator
+    libsecret
   ];
 
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
index 44eba5bc021e..0d0be882f430 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
@@ -3,12 +3,12 @@ electron, libsecret }:
 
 stdenv.mkDerivation rec {
   pname = "tutanota-desktop";
-  version = "3.118.13";
+  version = "3.118.27";
 
   src = fetchurl {
     url = "https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${version}/${pname}-${version}-unpacked-linux.tar.gz";
     name = "tutanota-desktop-${version}.tar.gz";
-    hash = "sha256-3kpfF/XG7w6qUooS5UsntMKnggG1LhmV9f+R35kkmb0=";
+    hash = "sha256-z2Ir8O7IDiE7cYuLshpMQMnOJanaECUvKlUEyPayIPo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/mullvad/mullvad.nix b/nixpkgs/pkgs/applications/networking/mullvad/mullvad.nix
index 71a53aa3344b..0904fd5c7580 100644
--- a/nixpkgs/pkgs/applications/networking/mullvad/mullvad.nix
+++ b/nixpkgs/pkgs/applications/networking/mullvad/mullvad.nix
@@ -51,7 +51,7 @@ rustPlatform.buildRustPackage rec {
 
   # talpid-core wants libwg.a in build/lib/{triple}
   preBuild = ''
-    dest=build/lib/${stdenv.targetPlatform.config}
+    dest=build/lib/${stdenv.hostPlatform.config}
     mkdir -p $dest
     ln -s ${libwg}/lib/libwg.a $dest
   '';
diff --git a/nixpkgs/pkgs/applications/networking/newsreaders/pan/default.nix b/nixpkgs/pkgs/applications/networking/newsreaders/pan/default.nix
index 839766e2ac7b..82f8ec4d55b1 100644
--- a/nixpkgs/pkgs/applications/networking/newsreaders/pan/default.nix
+++ b/nixpkgs/pkgs/applications/networking/newsreaders/pan/default.nix
@@ -22,14 +22,14 @@
 
 stdenv.mkDerivation rec {
   pname = "pan";
-  version = "0.154";
+  version = "0.155";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-o+JFUraSoQ0HDmldHvTX+X7rl2L4n4lJmI4UFZrsfkQ=";
+    hash = "sha256-DsoTqZLcZOc3HlpCC8rmu/rcFeHkb9IWd4PSLwxKqJI=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config gettext intltool itstool libxml2 makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/networking/onionshare/default.nix b/nixpkgs/pkgs/applications/networking/onionshare/default.nix
index b9c88bf3bdc1..d1aef5180837 100644
--- a/nixpkgs/pkgs/applications/networking/onionshare/default.nix
+++ b/nixpkgs/pkgs/applications/networking/onionshare/default.nix
@@ -8,6 +8,8 @@
 , flask
 , flask-httpauth
 , flask-socketio
+, gevent-socketio
+, gevent-websocket
 , cepa
 , psutil
 , pyqt5
@@ -80,6 +82,8 @@ rec {
       flask
       flask-httpauth
       flask-socketio
+      gevent-socketio
+      gevent-websocket
       cepa
       psutil
       pycrypto
diff --git a/nixpkgs/pkgs/applications/networking/remote/rustdesk/default.nix b/nixpkgs/pkgs/applications/networking/remote/rustdesk/default.nix
index 2a06e3f9da56..a4b7cf7ccb4a 100644
--- a/nixpkgs/pkgs/applications/networking/remote/rustdesk/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/rustdesk/default.nix
@@ -11,6 +11,7 @@
 , glib
 , gst_all_1
 , gtk3
+, libayatana-appindicator
 , libgit2
 , libpulseaudio
 , libsodium
@@ -145,6 +146,10 @@ rustPlatform.buildRustPackage rec {
     install -Dm0644 $src/res/logo.svg $out/share/icons/hicolor/scalable/apps/rustdesk.svg
   '';
 
+  postFixup = ''
+    patchelf --add-rpath "${libayatana-appindicator}/lib" "$out/lib/rustdesk/rustdesk"
+  '';
+
   env = {
     SODIUM_USE_PKG_CONFIG = true;
     ZSTD_SYS_USE_PKG_CONFIG = true;
diff --git a/nixpkgs/pkgs/applications/office/timeular/default.nix b/nixpkgs/pkgs/applications/office/timeular/default.nix
index c576319643f5..824a20a31329 100644
--- a/nixpkgs/pkgs/applications/office/timeular/default.nix
+++ b/nixpkgs/pkgs/applications/office/timeular/default.nix
@@ -5,12 +5,12 @@
 }:
 
 let
-  version = "6.5.0";
+  version = "6.6.0";
   pname = "timeular";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
-    sha256 = "sha256-RO8PhEjvDye6p6vgqNexIJ1ymTlVtF8yWQAUbJGaZYk=";
+    sha256 = "sha256-RmWRNKy2w3BM/ipQyFpkNC3+XXsJXjN6VYWNo8OKpy0=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/nixpkgs/pkgs/applications/radio/freedv/default.nix b/nixpkgs/pkgs/applications/radio/freedv/default.nix
index 66a932b9c99d..a337470664af 100644
--- a/nixpkgs/pkgs/applications/radio/freedv/default.nix
+++ b/nixpkgs/pkgs/applications/radio/freedv/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "freedv";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = "drowe67";
     repo = "freedv-gui";
     rev = "v${version}";
-    hash = "sha256-3SQ3a1gg4/cXy8BJXazTgh6nkS/KQpM0fCA6JcbHOPc=";
+    hash = "sha256-uCWdDmHzNx1vkZFttQZLD4YfXoXz5VZQfir9sGOoDhw=";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
       --replace "-Wl,-ld_classic" ""
     substituteInPlace src/CMakeLists.txt \
       --replace "\''${CMAKE_SOURCE_DIR}/macdylibbundler/dylibbundler" "dylibbundler"
-    sed -i "/hdiutil/d" src/CMakeLists.txt
+    sed -i "/codesign/d;/hdiutil/d" src/CMakeLists.txt
   '';
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/radio/uhd/default.nix b/nixpkgs/pkgs/applications/radio/uhd/default.nix
index 6a196cdea350..c3f7b58fa1ba 100644
--- a/nixpkgs/pkgs/applications/radio/uhd/default.nix
+++ b/nixpkgs/pkgs/applications/radio/uhd/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
   #
   #     nix-shell maintainers/scripts/update.nix --argstr package uhd --argstr commit true
   #
-  version = "4.5.0.0";
+  version = "4.6.0.0";
 
   outputs = [ "out" "dev" ];
 
@@ -63,14 +63,14 @@ stdenv.mkDerivation (finalAttrs: {
     rev = "v${finalAttrs.version}";
     # The updateScript relies on the `src` using `hash`, and not `sha256. To
     # update the correct hash for the `src` vs the `uhdImagesSrc`
-    hash = "sha256-0EqMBaQiNr8PE542YNkPvX3o1HhnhrO0Kz1euphY6Ps=";
+    hash = "sha256-9ZGt0ZrGbprCmpAuOue6pg2gliu4MvlRFHGxyMJeKAc=";
   };
   # Firmware images are downloaded (pre-built) from the respective release on Github
   uhdImagesSrc = fetchurl {
     url = "https://github.com/EttusResearch/uhd/releases/download/v${finalAttrs.version}/uhd-images_${finalAttrs.version}.tar.xz";
     # Please don't convert this to a hash, in base64, see comment near src's
     # hash.
-    sha256 = "13cn41wv7vldk4vx7vy3jbb3wb3a5vpfg3ay893klpi6vzxc1dly";
+    sha256 = "17g503mhndaabrdl7qai3rdbafr8xx8awsyr7h2bdzwzprzmh4m3";
   };
   passthru = {
     updateScript = [
@@ -141,7 +141,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   postPhases = [ "installFirmware" "removeInstalledTests" ]
-    ++ optionals (enableUtils && stdenv.targetPlatform.isLinux) [ "moveUdevRules" ]
+    ++ optionals (enableUtils && stdenv.hostPlatform.isLinux) [ "moveUdevRules" ]
   ;
 
   # UHD expects images in `$CMAKE_INSTALL_PREFIX/share/uhd/images`
diff --git a/nixpkgs/pkgs/applications/science/biology/flywheel-cli/default.nix b/nixpkgs/pkgs/applications/science/biology/flywheel-cli/default.nix
index 7d74b51f6066..254a3c011d27 100644
--- a/nixpkgs/pkgs/applications/science/biology/flywheel-cli/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/flywheel-cli/default.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  inherit (stdenv.targetPlatform) system;
+  inherit (stdenv.hostPlatform) system;
   throwSystem = throw "Unsupported system: ${system}";
 
   os = {
diff --git a/nixpkgs/pkgs/applications/science/electronics/picoscope/sources.json b/nixpkgs/pkgs/applications/science/electronics/picoscope/sources.json
index 15a748dc7cee..6b1d81978b9d 100644
--- a/nixpkgs/pkgs/applications/science/electronics/picoscope/sources.json
+++ b/nixpkgs/pkgs/applications/science/electronics/picoscope/sources.json
@@ -1,69 +1,69 @@
 {
   "x86_64-linux": {
     "libpicocv": {
-      "sha256": "feddc1cb9082005e80c4e2c2732ee4c537915c463ea327aa53a642aab95b8691",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libpicocv/libpicocv_1.1.33-beta2r167_amd64.deb",
-      "version": "1.1.33-beta2r167"
+      "sha256": "c0c5bec33c2c7fdd0f26b035ed942175f87012e33d6764c3abf1da31b5626037",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libpicocv/libpicocv_1.1.34-beta2r172_amd64.deb",
+      "version": "1.1.34-beta2r172"
     },
     "libpicoipp": {
-      "sha256": "2d749b8fd5dbd811c270e4aa78c5ee9cd33832b90d089ae386b0f85aed2d0204",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libpicoipp/libpicoipp_1.4.0-4r136_amd64.deb",
-      "version": "1.4.0-4r136"
+      "sha256": "4a84f0af7f4e8cba91fad620eac0cd23c36b2fdda4637904be564286b10ffe1d",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libpicoipp/libpicoipp_1.4.0-4r161_amd64.deb",
+      "version": "1.4.0-4r161"
     },
     "libps2000": {
-      "sha256": "d306890d1e87651ae83ef00143c8e62b82fae2be39886b6884408751cb910fa4",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps2000/libps2000_3.0.89-3r3163_amd64.deb",
-      "version": "3.0.89-3r3163"
+      "sha256": "473b065e79a7414c1e2b8c8468c8d2654333ac28f3a8c33b535626b33c60d2ca",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps2000/libps2000_3.0.127-3r5552_amd64.deb",
+      "version": "3.0.127-3r5552"
     },
     "libps2000a": {
-      "sha256": "38391dfbe6c6c04ba5b5c99bd53404d5342e40c9eca703e3d95cbc6302114270",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps2000a/libps2000a_2.1.89-5r3163_amd64.deb",
-      "version": "2.1.89-5r3163"
+      "sha256": "8eba0052f9c7ef327710f2fba5aa11bec0c20225b39d77bb7b69cf80055c039c",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps2000a/libps2000a_2.1.127-5r5552_amd64.deb",
+      "version": "2.1.127-5r5552"
     },
     "libps3000": {
-      "sha256": "39b4b56a839eb5d7abcf1de2bab472c2de2d8aa5ffc3ba445e99d5aa8178ba07",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps3000/libps3000_4.0.89-3r3163_amd64.deb",
-      "version": "4.0.89-3r3163"
+      "sha256": "4e786036b8de0dd0f922aed947f30a53d31bed46b2df5132e8c9480c8a5d93e9",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps3000/libps3000_4.0.127-3r5552_amd64.deb",
+      "version": "4.0.127-3r5552"
     },
     "libps3000a": {
-      "sha256": "ea96735b90d02c72c9c7b517413fed0d366ac634100e22467a39c780985669e4",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps3000a/libps3000a_2.1.89-6r3163_amd64.deb",
-      "version": "2.1.89-6r3163"
+      "sha256": "d2bb1e5bb151b0953ed30ca5421bb93d05dab898c33cdc89927e943ea991867a",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps3000a/libps3000a_2.1.127-6r5552_amd64.deb",
+      "version": "2.1.127-6r5552"
     },
     "libps4000": {
-      "sha256": "7177cd4debf811fa7d7105703a4fc546fe1a79fc3275e3f36326b014c1334f55",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps4000/libps4000_2.1.89-2r3163_amd64.deb",
-      "version": "2.1.89-2r3163"
+      "sha256": "4c127e67949835b5ab5c5c8caa55f73c69df354d761aa53d6df99c8f8ac39009",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps4000/libps4000_2.1.127-2r5552_amd64.deb",
+      "version": "2.1.127-2r5552"
     },
     "libps4000a": {
-      "sha256": "ebe94d6d9f349e5082dcbed55d059ac77c0129b967467786d1cef3f662ebac99",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps4000a/libps4000a_2.1.89-2r3163_amd64.deb",
-      "version": "2.1.89-2r3163"
+      "sha256": "26df82bc946e5bb30d599c4c365247bdbaa01e830d4d00630b46a6abcc1eef04",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps4000a/libps4000a_2.1.127-2r5552_amd64.deb",
+      "version": "2.1.127-2r5552"
     },
     "libps5000": {
-      "sha256": "732164658acb4bdfdbf3fc785419ea6a4944ed2892be9dde134b345a976c3318",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps5000/libps5000_2.1.89-3r3163_amd64.deb",
-      "version": "2.1.89-3r3163"
+      "sha256": "106ef17862e98c3621f95c377f271c843664f481f84ef918d9eadd013561cd1b",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps5000/libps5000_2.1.127-3r5552_amd64.deb",
+      "version": "2.1.127-3r5552"
     },
     "libps5000a": {
-      "sha256": "3438f51c8646e3ac5a479c88aa7a89b3dfcce2090720317b4efb8db538372cdb",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps5000a/libps5000a_2.1.89-5r3163_amd64.deb",
-      "version": "2.1.89-5r3163"
+      "sha256": "fe9def134ef9df6654485911f14ece7b2ee3d79113aeee7826dd6e36bb5de3b4",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps5000a/libps5000a_2.1.127-5r5552_amd64.deb",
+      "version": "2.1.127-5r5552"
     },
     "libps6000": {
-      "sha256": "fe4165ab0d323728b473347b61439b074486809d673e47f169d0062cf917191c",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps6000/libps6000_2.1.89-6r3163_amd64.deb",
-      "version": "2.1.89-6r3163"
+      "sha256": "9b08c5b7fb2d34b0e2e98f2e0452a59105f612cd445a9e45d3cac14d931d18f2",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps6000/libps6000_2.1.127-6r5552_amd64.deb",
+      "version": "2.1.127-6r5552"
     },
     "libps6000a": {
-      "sha256": "0552811f92a015ef47b09947631f5f5d8c30b122425de083bea79df88957a9c7",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps6000a/libps6000a_1.0.89-0r3163_amd64.deb",
-      "version": "1.0.89-0r3163"
+      "sha256": "2a23ccad72b9be83b87d449b6bb8ded23fd29c85ec9f78a45b6d45b38ccf335b",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/libp/libps6000a/libps6000a_1.0.127-0r5552_amd64.deb",
+      "version": "1.0.127-0r5552"
     },
     "picoscope": {
-      "sha256": "b060edb02bc2de5d10a45d31d4b7f9c767d18511e2f65a1ebdd70cc3e8780262",
-      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/p/picoscope/picoscope_7.0.100-1r11387_amd64.deb",
-      "version": "7.0.100-1r11387"
+      "sha256": "d95f269171da7273b596dae95452789e889f12ef0f15c3baea26dd1b3a8117fc",
+      "url": "https://labs.picotech.com/rc/picoscope7/debian/pool/main/p/picoscope/picoscope_7.1.17-1r17318_amd64.deb",
+      "version": "7.1.17-1r17318"
     }
   }
 }
diff --git a/nixpkgs/pkgs/applications/science/math/eigenmath/default.nix b/nixpkgs/pkgs/applications/science/math/eigenmath/default.nix
index 603a3c4f60bf..1e80d9a06eba 100644
--- a/nixpkgs/pkgs/applications/science/math/eigenmath/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/eigenmath/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "eigenmath";
-  version = "unstable-2023-10-26";
+  version = "unstable-2023-11-17";
 
   src = fetchFromGitHub {
     owner = "georgeweigt";
     repo = pname;
-    rev = "043895fbaed27a4baace7c7c0c1f69ea5a9f3d1a";
-    hash = "sha256-roPyRaT89I3HbyvBK/owiigMus1EeKEhhKHFsgfzp10=";
+    rev = "b0d822f10243ad5b1c88efb5a82b43a0bbf1bfbc";
+    hash = "sha256-eJ/EmzV5UZGxwZNIna/XXkYY+vkLc610KcywBFPRfyM=";
   };
 
   checkPhase = let emulator = stdenv.hostPlatform.emulator buildPackages; in ''
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/contour/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/contour/default.nix
index 9c44946f3826..1a036106c6df 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/contour/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/contour/default.nix
@@ -103,7 +103,7 @@ mkDerivation rec {
     homepage = "https://github.com/contour-terminal/contour";
     changelog = "https://github.com/contour-terminal/contour/raw/v${version}/Changelog.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rio/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rio/default.nix
index afd3205343e5..950d2f8f401e 100644
--- a/nixpkgs/pkgs/applications/terminal-emulators/rio/default.nix
+++ b/nixpkgs/pkgs/applications/terminal-emulators/rio/default.nix
@@ -1,4 +1,6 @@
 { lib
+, stdenv
+, darwin
 , fetchFromGitHub
 , rustPlatform
 , nixosTests
@@ -14,18 +16,21 @@
 , vulkan-loader
 , libxkbcommon
 
-, withX11 ? true
+, withX11 ? !stdenv.isDarwin
 , libX11
 , libXcursor
 , libXi
 , libXrandr
 , libxcb
 
-, withWayland ? true
+, withWayland ? !stdenv.isDarwin
 , wayland
 }:
 let
-  rlinkLibs = [
+  rlinkLibs = if stdenv.isDarwin then [
+    darwin.libobjc
+    darwin.apple_sdk.frameworks.AppKit
+  ] else [
     (lib.getLib gcc-unwrapped)
     fontconfig
     libGL
@@ -55,9 +60,10 @@ rustPlatform.buildRustPackage rec {
   cargoHash = "sha256-XD+/DaaJEJ9jHZITTUma/wfsbduPUTc/SralPOx46Yo=";
 
   nativeBuildInputs = [
-    autoPatchelfHook
     ncurses
+  ] ++ lib.optionals stdenv.isLinux [
     pkg-config
+    autoPatchelfHook
   ];
 
   runtimeDependencies = rlinkLibs;
@@ -67,10 +73,9 @@ rustPlatform.buildRustPackage rec {
   outputs = [ "out" "terminfo" ];
 
   buildNoDefaultFeatures = true;
-  buildFeatures = [
-    (lib.optionalString withX11 "x11")
-    (lib.optionalString withWayland "wayland")
-  ];
+  buildFeatures = [ ]
+    ++ lib.optional withX11 "x11"
+    ++ lib.optional withWayland "wayland";
 
   checkFlags = [
     # Fail to run in sandbox environment.
@@ -86,6 +91,11 @@ rustPlatform.buildRustPackage rec {
     tic -xe rio,rio-direct -o "$terminfo/share/terminfo" misc/rio.terminfo
     mkdir -p $out/nix-support
     echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
+  '' + lib.optionalString stdenv.isDarwin ''
+    mkdir $out/Applications/
+    mv misc/osx/Rio.app/ $out/Applications/
+    mkdir $out/Applications/Rio.app/Contents/MacOS/
+    ln -s $out/bin/rio $out/Applications/Rio.app/Contents/MacOS/
   '';
 
   passthru = {
diff --git a/nixpkgs/pkgs/applications/version-management/gitlab/default.nix b/nixpkgs/pkgs/applications/version-management/gitlab/default.nix
index bc5d3aa8b33d..c3e715ad46fe 100644
--- a/nixpkgs/pkgs/applications/version-management/gitlab/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitlab/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, fetchpatch, fetchFromGitLab, bundlerEnv
-, ruby_3_0, tzdata, git, nettools, nixosTests, nodejs, openssl
+, ruby_3_2, tzdata, git, nettools, nixosTests, nodejs, openssl
 , gitlabEnterprise ? false, callPackage, yarn
 , fixup_yarn_lock, replace, file, cacert, fetchYarnDeps, makeWrapper, pkg-config
 }:
@@ -17,7 +17,7 @@ let
 
   rubyEnv = bundlerEnv rec {
     name = "gitlab-env-${version}";
-    ruby = ruby_3_0;
+    ruby = ruby_3_2;
     gemdir = ./rubyEnv;
     gemset =
       let x = import (gemdir + "/gemset.nix") src;
diff --git a/nixpkgs/pkgs/applications/version-management/gql/default.nix b/nixpkgs/pkgs/applications/version-management/gql/default.nix
index 40b8a9b207c7..60a093e1c80b 100644
--- a/nixpkgs/pkgs/applications/version-management/gql/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gql/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gql";
-  version = "0.7.2";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "AmrDeveloper";
     repo = "GQL";
     rev = version;
-    hash = "sha256-XqS2oG3/dPHBC/sWN9B7BliSv4IJ1iskrQRTh8vQNd4=";
+    hash = "sha256-+f/OMU8fwwnlm8zTyE5XyIzfFwIB917tH9jaqSW8Skg=";
   };
 
-  cargoHash = "sha256-0mUkXez+5Z8UGKMrUUjt+aF4zv3EJKgnFoQ068gTlX0=";
+  cargoHash = "sha256-A3o9OE8VO7z04WmbZL2rvlZRN/ZHOIGklKZQgiFSfxE=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/applications/video/bilibili/default.nix b/nixpkgs/pkgs/applications/video/bilibili/default.nix
index a4fe95709928..9a507e93ab65 100644
--- a/nixpkgs/pkgs/applications/video/bilibili/default.nix
+++ b/nixpkgs/pkgs/applications/video/bilibili/default.nix
@@ -7,10 +7,10 @@
 
 stdenv.mkDerivation rec {
   pname = "bilibili";
-  version = "1.12.1-2";
+  version = "1.12.3-1";
   src = fetchurl {
     url = "https://github.com/msojocs/bilibili-linux/releases/download/v${version}/io.github.msojocs.bilibili_${version}_amd64.deb";
-    hash = "sha256-vYoVHVT/Deooxq/0WVzPebR68N9KBJfgLU30lJPB89M=";
+    hash = "sha256-F2y5daIdNJZGNjOctN9iA6kHSRVSMWK8s80X+kXxzb4=";
   };
 
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/applications/video/davinci-resolve/default.nix b/nixpkgs/pkgs/applications/video/davinci-resolve/default.nix
index 2c168912253f..99694efda1d3 100644
--- a/nixpkgs/pkgs/applications/video/davinci-resolve/default.nix
+++ b/nixpkgs/pkgs/applications/video/davinci-resolve/default.nix
@@ -62,7 +62,7 @@ let
           SITEURL = "https://www.blackmagicdesign.com/api/register/us/download/${DOWNLOADID}";
 
           USERAGENT = builtins.concatStringsSep " " [
-            "User-Agent: Mozilla/5.0 (X11; Linux ${stdenv.targetPlatform.linuxArch})"
+            "User-Agent: Mozilla/5.0 (X11; Linux ${stdenv.hostPlatform.linuxArch})"
             "AppleWebKit/537.36 (KHTML, like Gecko)"
             "Chrome/77.0.3865.75"
             "Safari/537.36"
diff --git a/nixpkgs/pkgs/applications/video/showmethekey/default.nix b/nixpkgs/pkgs/applications/video/showmethekey/default.nix
index 6a403e25c644..cd61cfc9d0d4 100644
--- a/nixpkgs/pkgs/applications/video/showmethekey/default.nix
+++ b/nixpkgs/pkgs/applications/video/showmethekey/default.nix
@@ -7,19 +7,20 @@
 , json-glib
 , libinput
 , gtk4
+, libadwaita
 , wrapGAppsHook4
 , libxkbcommon
 , pkg-config
 }:
 stdenv.mkDerivation rec {
   pname = "showmethekey";
-  version = "1.8.1";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "AlynxZhou";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-IfegYHHFbZbMTA8JWXAun9Gl3BpykH/5RqUIrlYlLhk=";
+    hash = "sha256-eeObomb4Gv/vpvViHsi3+O0JR/rYamrlZNZaXKL6KJw=";
   };
 
   nativeBuildInputs = [
@@ -32,6 +33,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk4
+    libadwaita
     libevdev
     libinput
     libxkbcommon
diff --git a/nixpkgs/pkgs/applications/virtualization/containerd/default.nix b/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
index 3ff03781732b..82e814610dce 100644
--- a/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/containerd/default.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.7.8";
+  version = "1.7.9";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    hash = "sha256-p16qHJD0i0ZNEFGEbfmbxiedX9/uHkZxhCeB3x/5iLM=";
+    hash = "sha256-/kCnzOL8CJuJJglHzmev3alt8cMwTUbIiZhNft9zwps=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/applications/virtualization/docker/compose.nix b/nixpkgs/pkgs/applications/virtualization/docker/compose.nix
index 1864d167978a..bd8dbab4cfca 100644
--- a/nixpkgs/pkgs/applications/virtualization/docker/compose.nix
+++ b/nixpkgs/pkgs/applications/virtualization/docker/compose.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-compose";
-  version = "2.23.0";
+  version = "2.23.1";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    hash = "sha256-17TlUQNv/L+LZYF8vub2nI5TVF66OqTA8PrjEYjkz5o=";
+    hash = "sha256-g8XaMvKt3tR7a7kq+n4ueDXx9iWuAu02ONb73W23ZGY=";
   };
 
   postPatch = ''
@@ -16,7 +16,7 @@ buildGoModule rec {
     rm -rf e2e/
   '';
 
-  vendorHash = "sha256-zBogjMaVkLum1rQVEd+Rw8lRCNC/Dhi7cuz4YH3eCcg=";
+  vendorHash = "sha256-BeW39XN1CvPCCq4otX+Il2dGGcjGrTMzc4iSXmQZFmw=";
 
   ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
diff --git a/nixpkgs/pkgs/applications/virtualization/ecs-agent/default.nix b/nixpkgs/pkgs/applications/virtualization/ecs-agent/default.nix
index 34cb0cc757cb..8a0161476863 100644
--- a/nixpkgs/pkgs/applications/virtualization/ecs-agent/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/ecs-agent/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "amazon-ecs-agent";
-  version = "1.78.0";
+  version = "1.78.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "aws";
     repo = pname;
-    hash = "sha256-/FppBl25AgwZhNcwWmUc0ThaTm1U4lhaoCTTJ/R/srI=";
+    hash = "sha256-8/hHv5veTQXNg8c5oew+5FWLAQkytTD2+Gdb30sY9lo=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/applications/virtualization/nixpacks/default.nix b/nixpkgs/pkgs/applications/virtualization/nixpacks/default.nix
index 9c19818b2f66..e35a5d16a49d 100644
--- a/nixpkgs/pkgs/applications/virtualization/nixpacks/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/nixpacks/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nixpacks";
-  version = "1.18.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "railwayapp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GmIrz23z/vV6Ut31pajUmPfT9V37Ajs5JaIMD1Ociu8=";
+    sha256 = "sha256-yeZGhE+ImWXW3HPpAo+E1GOSEwPr7yK78XVmCocGqH4=";
   };
 
-  cargoHash = "sha256-AwDaIHuD/0H/SkhxT/V0/4K/5yp+s5DI34e8JQgajgc=";
+  cargoHash = "sha256-xqKYd80PCM7Rnj+9dV2XjigE4sweOnL4HfOQiOYzCEQ=";
 
   # skip test due FHS dependency
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/virtualization/rust-hypervisor-firmware/default.nix b/nixpkgs/pkgs/applications/virtualization/rust-hypervisor-firmware/default.nix
index ddb06a97f162..67ea1e07b908 100644
--- a/nixpkgs/pkgs/applications/virtualization/rust-hypervisor-firmware/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/rust-hypervisor-firmware/default.nix
@@ -1,14 +1,13 @@
 { lib
 , fetchFromGitHub
 , hostPlatform
-, targetPlatform
 , cargo
 , rustc
 , lld
 }:
 
 let
-  arch = targetPlatform.qemuArch;
+  arch = hostPlatform.qemuArch;
 
   target = ./. + "/${arch}-unknown-none.json";
 
diff --git a/nixpkgs/pkgs/applications/virtualization/singularity/packages.nix b/nixpkgs/pkgs/applications/virtualization/singularity/packages.nix
index 99ab52dece28..8a86f06785b4 100644
--- a/nixpkgs/pkgs/applications/virtualization/singularity/packages.nix
+++ b/nixpkgs/pkgs/applications/virtualization/singularity/packages.nix
@@ -38,20 +38,20 @@ let
   singularity = callPackage
     (import ./generic.nix rec {
       pname = "singularity-ce";
-      version = "4.0.1";
+      version = "4.0.2";
       projectName = "singularity";
 
       src = fetchFromGitHub {
         owner = "sylabs";
         repo = "singularity";
         rev = "refs/tags/v${version}";
-        hash = "sha256-rdpIAiLh4mlSu+1UUDN79gIzxy5X5wOB5XOW9oBm+HU=";
+        hash = "sha256-R+vAKYR4lJmC7PIITYyg4UeGYjGXoPqqUai3HmPzwG0=";
       };
 
       # Update by running
       # nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules"
       # at the root directory of the Nixpkgs repository
-      vendorHash = "sha256-kV4Yu9MBoF8spJroWqLOUt2v8YV79AoNUG9hYgPgXRc=";
+      vendorHash = "sha256-z3VozeMpaqh4ddZxB3xqo25Gm+8JYeIwASOq+Mmerr4=";
 
       # Do not build conmon and squashfuse from the Git submodule sources,
       # Use Nixpkgs provided version
diff --git a/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix b/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix
index 63a5e8613e18..1f07da0a7bc4 100644
--- a/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/cagebreak/default.nix
@@ -6,6 +6,7 @@
 , libevdev
 , libinput
 , libxkbcommon
+, xcbutilwm
 , makeWrapper
 , mesa
 , meson
@@ -24,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cagebreak";
-  version = "1.9.1";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "project-repo";
     repo = pname;
     rev = version;
-    hash = "sha256-pU1QHYOqnkb3L4iSKbZY9Vo60Z6EaX9mp2Nw48NSPic=";
+    hash = "sha256-cJEJ8V9lDbNb07eY3nWmNcT7ULGlcmOeyb9UDOLGWfI=";
   };
 
   nativeBuildInputs = [
@@ -48,6 +49,7 @@ stdenv.mkDerivation rec {
     libevdev
     libinput
     libxkbcommon
+    xcbutilwm
     mesa # for libEGL headers
     pango
     pixman
@@ -69,6 +71,8 @@ stdenv.mkDerivation rec {
 
     # Patch cagebreak to read its default configuration from $out/share/cagebreak
     sed -i "s|/etc/xdg/cagebreak|$out/share/cagebreak|" meson.build cagebreak.c
+    substituteInPlace meson.build \
+      --replace "/usr/share/licenses" "$out/share/licenses"
   '';
 
   postFixup = lib.optionalString withXwayland ''
diff --git a/nixpkgs/pkgs/applications/window-managers/e16/default.nix b/nixpkgs/pkgs/applications/window-managers/e16/default.nix
index 2f9475054c35..d47b63dda4d0 100644
--- a/nixpkgs/pkgs/applications/window-managers/e16/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/e16/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "e16";
-  version = "1.0.28";
+  version = "1.0.29";
 
   src = fetchurl {
     url = "mirror://sourceforge/enlightenment/e16-${version}.tar.xz";
-    hash = "sha256-k3W2IoBc75DNQ2QSjChsC/yVRO/aZT3E31Tl/njgH30=";
+    hash = "sha256-LvLiw6+hduAl8dNBTtBwqvgKBRwojBUd5tNm1hZl5Hs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
index 91a13df5c21e..bbf1cefacd4c 100644
--- a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
@@ -1,4 +1,9 @@
-{ stdenv, lib, fetchFromGitHub, rustPlatform, libX11, libXinerama }:
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, libX11
+, libXinerama
+}:
 
 let
   rpathLibs = [ libXinerama libX11 ];
@@ -6,16 +11,16 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "leftwm";
-  version = "0.4.2";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "leftwm";
     repo = "leftwm";
-    rev = version;
-    sha256 = "sha256-SjEp0gQHwq3Omhx/EPnyLeQJ50Ov0rHDxmYVWBwIDBs=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-wn5DurPWFwSUtc5naEL4lBSQpKWTJkugpN9mKx+Ed2Y=";
   };
 
-  cargoSha256 = "sha256-kdGqnfzO+Ev9QeZcZqISPTehEXZzCWT5S8p6JbTBreE=";
+  cargoHash = "sha256-TylRxdpAVuGtZ3Lm8je6FZ0JUwetBi6mOGRoT2M3Jyk=";
 
   buildInputs = rpathLibs;
 
@@ -23,16 +28,18 @@ rustPlatform.buildRustPackage rec {
     for p in $out/bin/left*; do
       patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}" $p
     done
+
+    install -D -m 0555 leftwm/doc/leftwm.1 $out/share/man/man1/leftwm.1
   '';
 
   dontPatchELF = true;
 
-  meta = with lib; {
+  meta = {
     description = "A tiling window manager for the adventurer";
     homepage = "https://github.com/leftwm/leftwm";
-    license = licenses.mit;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ yanganto ];
-    changelog = "https://github.com/leftwm/leftwm/blob/${version}/CHANGELOG";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ yanganto ];
+    changelog = "https://github.com/leftwm/leftwm/blob/${version}/CHANGELOG.md";
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/lemonbar/default.nix b/nixpkgs/pkgs/applications/window-managers/lemonbar/default.nix
index 8f553eb4b554..0d8436dcb3ed 100644
--- a/nixpkgs/pkgs/applications/window-managers/lemonbar/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/lemonbar/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A lightweight xcb based bar";
     homepage = "https://github.com/LemonBoy/bar";
-    maintainers = with maintainers; [ meisternu fortuneteller2k ];
+    maintainers = with maintainers; [ meisternu moni ];
     license = licenses.mit;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/window-managers/lemonbar/xft.nix b/nixpkgs/pkgs/applications/window-managers/lemonbar/xft.nix
index 54e7820ec4c2..8d009a3458b3 100644
--- a/nixpkgs/pkgs/applications/window-managers/lemonbar/xft.nix
+++ b/nixpkgs/pkgs/applications/window-managers/lemonbar/xft.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/drscream/lemonbar-xft";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/applications/window-managers/neocomp/default.nix b/nixpkgs/pkgs/applications/window-managers/neocomp/default.nix
index e878f4f088e8..36e6322462da 100644
--- a/nixpkgs/pkgs/applications/window-managers/neocomp/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/neocomp/default.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage        = "https://github.com/DelusionalLogic/NeoComp";
     license         = licenses.gpl3Only;
-    maintainers     = with maintainers; [ twey fortuneteller2k ];
+    maintainers     = with maintainers; [ twey moni ];
     platforms       = platforms.linux;
     description     = "A fork of Compton, a compositor for X11";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/window-managers/river/default.nix b/nixpkgs/pkgs/applications/window-managers/river/default.nix
index 453dcf14d82e..e149bdd65218 100644
--- a/nixpkgs/pkgs/applications/window-managers/river/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/river/default.nix
@@ -83,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [
       adamcstephens
-      fortuneteller2k
+      moni
       rodrgz
     ];
     mainProgram = "river";
diff --git a/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix b/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
index 21a7daa1fa34..7510e1e9582b 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix
@@ -17,22 +17,22 @@ with lib;
 
 let
   sway = sway-unwrapped.overrideAttrs (oa: { inherit isNixOS enableXWayland; });
-  baseWrapper = writeShellScriptBin "sway" ''
+  baseWrapper = writeShellScriptBin sway.meta.mainProgram ''
      set -o errexit
      if [ ! "$_SWAY_WRAPPER_ALREADY_EXECUTED" ]; then
-       export XDG_CURRENT_DESKTOP=sway
+       export XDG_CURRENT_DESKTOP=${sway.meta.mainProgram}
        ${extraSessionCommands}
        export _SWAY_WRAPPER_ALREADY_EXECUTED=1
      fi
      if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then
        export DBUS_SESSION_BUS_ADDRESS
-       exec ${sway}/bin/sway "$@"
+       exec ${lib.getExe sway} "$@"
      else
-       exec ${lib.optionalString dbusSupport "${dbus}/bin/dbus-run-session"} ${sway}/bin/sway "$@"
+       exec ${lib.optionalString dbusSupport "${dbus}/bin/dbus-run-session"} ${lib.getExe sway} "$@"
      fi
    '';
 in symlinkJoin {
-  name = "sway-${sway.version}";
+  name = "${sway.meta.mainProgram}-${sway.version}";
 
   paths = (optional withBaseWrapper baseWrapper)
     ++ [ sway ];
@@ -49,14 +49,14 @@ in symlinkJoin {
   postBuild = ''
     ${optionalString withGtkWrapper "gappsWrapperArgsHook"}
 
-    wrapProgram $out/bin/sway \
+    wrapProgram $out/bin/${sway.meta.mainProgram} \
       ${optionalString withGtkWrapper ''"''${gappsWrapperArgs[@]}"''} \
       ${optionalString (extraOptions != []) "${concatMapStrings (x: " --add-flags " + x) extraOptions}"}
   '';
 
   passthru = {
     inherit (sway.passthru) tests;
-    providedSessions = [ "sway" ];
+    providedSessions = [ sway.meta.mainProgram ];
   };
 
   inherit (sway) meta;
diff --git a/nixpkgs/pkgs/build-support/node/build-npm-package/default.nix b/nixpkgs/pkgs/build-support/node/build-npm-package/default.nix
index 2aefab8ac7ad..eecea8b76758 100644
--- a/nixpkgs/pkgs/build-support/node/build-npm-package/default.nix
+++ b/nixpkgs/pkgs/build-support/node/build-npm-package/default.nix
@@ -1,4 +1,10 @@
-{ lib, stdenv, fetchNpmDeps, buildPackages, nodejs } @ topLevelArgs:
+{ lib
+, stdenv
+, fetchNpmDeps
+, buildPackages
+, nodejs
+, darwin
+} @ topLevelArgs:
 
 { name ? "${args.pname}-${args.version}"
 , src ? null
@@ -54,7 +60,9 @@ in
 stdenv.mkDerivation (args // {
   inherit npmDeps npmBuildScript;
 
-  nativeBuildInputs = nativeBuildInputs ++ [ nodejs npmConfigHook npmBuildHook npmInstallHook ];
+  nativeBuildInputs = nativeBuildInputs
+    ++ [ nodejs npmConfigHook npmBuildHook npmInstallHook nodejs.python ]
+    ++ lib.optionals stdenv.isDarwin [ darwin.cctools ];
   buildInputs = buildInputs ++ [ nodejs ];
 
   strictDeps = true;
diff --git a/nixpkgs/pkgs/by-name/ap/apache-users/optional-args.patch b/nixpkgs/pkgs/by-name/ap/apache-users/optional-args.patch
new file mode 100644
index 000000000000..7b921a21ce0c
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ap/apache-users/optional-args.patch
@@ -0,0 +1,24 @@
+--- a/apache2.1.pl
++++ b/apache2.1.pl
+@@ -63,10 +63,10 @@ getopt ("h: l: p: e: s: t:" ,\%opts);
+ use LWP;
+ 
+ 
+-if (!(exists $opts{h})||!(exists $opts{p})||!(exists $opts{l})||!(exists $opts{e})){ &usage;}
++if (!(exists $opts{h})){ &usage;}
+ 
+ sub usage{
+-print "\nUSAGE: apache.pl [-h 1.2.3.4] [-l names] [-p 80] [-s (SSL Support 1=true 0=false)] [-e 403 (http code)] [-t threads]\n\n ";
++print "\nUSAGE: apache-users -h 1.2.3.4 [-l names] [-p 80] [-s (SSL Support 1=true 0=false)] [-e 403 (http code)] [-t threads]\n\n ";
+ exit 1;	
+ };
+ 
+@@ -75,7 +75,7 @@ if (exists $opts{h}){
+ }
+ if (exists $opts{l}){ 
+     $list=$opts{l};
+-}else {$list="names";}
++}else {$list="@out@/share/apache-users/names";}
+ if (exists $opts{p}){ 
+      $port=$opts{p};
+ }else{$port=80;}
diff --git a/nixpkgs/pkgs/by-name/ap/apache-users/package.nix b/nixpkgs/pkgs/by-name/ap/apache-users/package.nix
new file mode 100644
index 000000000000..8780a13a3f8a
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ap/apache-users/package.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchurl
+, perl
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "apache-users";
+  version = "2.1";
+
+  src = fetchurl {
+    url = "https://labs.portcullis.co.uk/download/apache_users-${finalAttrs.version}.tar.gz";
+    hash = "sha256-rylW4F8Si6KKYxaxEJlVFnbLqfqS6ytMPfHpc8MgriA=";
+  };
+
+  # Allow optional arguments where defaults are provided
+  patches = [ ./optional-args.patch ];
+
+  postPatch = ''
+    substituteAllInPlace apache${finalAttrs.version}.pl
+  '';
+
+  buildInputs = [
+    (perl.withPackages (p: [ p.ParallelForkManager p.LWP ]))
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D apache${finalAttrs.version}.pl $out/bin/apache-users
+    install -Dm444 names $out/share/apache-users/names
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Username Enumeration through Apache UserDir";
+    homepage = "https://labs.portcullis.co.uk/downloads/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ emilytrau ];
+    mainProgram = "apache-users";
+  };
+})
diff --git a/nixpkgs/pkgs/by-name/bm/bmake/package.nix b/nixpkgs/pkgs/by-name/bm/bmake/package.nix
index 2626c45f0215..1272e1d0173a 100644
--- a/nixpkgs/pkgs/by-name/bm/bmake/package.nix
+++ b/nixpkgs/pkgs/by-name/bm/bmake/package.nix
@@ -111,7 +111,7 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = with lib.maintainers; [ thoughtpolice AndersonTorres ];
     platforms = lib.platforms.unix;
     # ofborg: x86_64-linux builds the musl package, aarch64-linux doesn't
-    broken = stdenv.targetPlatform.isMusl && stdenv.buildPlatform.isAarch64;
+    broken = stdenv.hostPlatform.isMusl && stdenv.buildPlatform.isAarch64;
   };
 })
 # TODO: report the quirks and patches to bmake devteam (especially the Musl one)
diff --git a/nixpkgs/pkgs/by-name/br/braa/package.nix b/nixpkgs/pkgs/by-name/br/braa/package.nix
new file mode 100644
index 000000000000..380a829f8119
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/br/braa/package.nix
@@ -0,0 +1,32 @@
+{
+  lib,
+  stdenv,
+  fetchzip,
+  zlib,
+}:
+stdenv.mkDerivation rec {
+  pname = "braa";
+  version = "0.82";
+
+  src = fetchzip {
+    url = "http://s-tech.elsat.net.pl/${pname}/${pname}-${version}.tar.gz";
+    hash = "sha256-GS3kk432BdGx/sLzzjXvotD9Qn4S3U4XtMmM0fWMhGA=";
+  };
+
+  buildInputs = [zlib];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 braa $out/bin/braa
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A mass snmp scanner";
+    homepage = "http://s-tech.elsat.net.pl";
+    license = licenses.gpl2Only;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [bycEEE];
+    mainProgram = "braa";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/co/cockpit/package.nix b/nixpkgs/pkgs/by-name/co/cockpit/package.nix
index 48bcff3f32a9..87858931d806 100644
--- a/nixpkgs/pkgs/by-name/co/cockpit/package.nix
+++ b/nixpkgs/pkgs/by-name/co/cockpit/package.nix
@@ -45,13 +45,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "cockpit";
-  version = "303";
+  version = "305";
 
   src = fetchFromGitHub {
     owner = "cockpit-project";
     repo = "cockpit";
     rev = "refs/tags/${version}";
-    hash = "sha256-1VPnmb4VDSwzdXtk2YZVHH4qFJSe2OPzsmzVD/NkbYg=";
+    hash = "sha256-fCVnggso/wAvci9sLRVvwEsvZ+CeEfLBDnPPcAy/wGo=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/by-name/cy/cyme/package.nix b/nixpkgs/pkgs/by-name/cy/cyme/package.nix
index 3e32c22d2e41..bcb06b8ed208 100644
--- a/nixpkgs/pkgs/by-name/cy/cyme/package.nix
+++ b/nixpkgs/pkgs/by-name/cy/cyme/package.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cyme";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "tuna-f1sh";
     repo = "cyme";
     rev = "v${version}";
-    hash = "sha256-UXh97pHJ9wa/xSslHLB7WVDwLKJYvLPgmPX8RvKrsTI=";
+    hash = "sha256-Y5TcRcbqarcKRDWCI36YhbLJFU+yrpAE3vRGArbfr0U=";
   };
 
-  cargoHash = "sha256-hSd53K50Y4K/fYGfsT2fHUaipVSpeYN6/EOFlv4ocuE=";
+  cargoHash = "sha256-ycFNNTZ7AU4WRnf1+RJB7KxQKVdJbubB28tS/GyU0bI=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/by-name/de/devdash/package.nix b/nixpkgs/pkgs/by-name/de/devdash/package.nix
new file mode 100644
index 000000000000..210a016277f6
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/de/devdash/package.nix
@@ -0,0 +1,52 @@
+{
+  lib
+, buildGoModule
+, fetchFromGitHub
+, nix-update-script
+, coreutils
+}:
+
+buildGoModule rec {
+  pname = "devdash";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "Phantas0s";
+    repo = "devdash";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-RUPpgMVl9Cm8uhztdfKnuQ6KdMn9m9PewlT59NnTSiY=";
+  };
+
+  vendorHash = "sha256-xuc8rAkyCInNFxs5itwabqBe4CPg/sAuhcTJsapx7Q8=";
+
+  ldflags = [
+    "-s -w"
+    "-X github.com/Phantas0s/devdash/cmd.current=${version}"
+    "-X github.com/Phantas0s/devdash/cmd.buildDate=1970-01-01-00:00:01"
+  ];
+
+  patchPhase = ''
+    runHook prePatch
+
+    shopt -s globstar
+    substituteInPlace **/*.go --replace '"/bin/' '"/usr/bin/env '
+    shopt -u globstar
+
+    runHook postPatch
+  '';
+
+  runtimeDependencies = [
+    coreutils
+  ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Highly configurable terminal dashboard for developers and creators";
+    homepage = "https://github.com/Phantas0s/devdash";
+    changelog = "https://github.com/Phantas0s/devdash/blob/v${version}/CHANGELOG.md";
+    maintainers = with lib.maintainers; [ h7x4 ];
+    license = lib.licenses.asl20;
+    mainProgram = "devdash";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/dx/dxvk_1/package.nix b/nixpkgs/pkgs/by-name/dx/dxvk_1/package.nix
index 44a39eeaba25..a02680d77eec 100644
--- a/nixpkgs/pkgs/by-name/dx/dxvk_1/package.nix
+++ b/nixpkgs/pkgs/by-name/dx/dxvk_1/package.nix
@@ -9,9 +9,6 @@
 , enableMoltenVKCompat ? false
 }:
 
-let
-  isCross = stdenv.hostPlatform != stdenv.targetPlatform;
-in
 stdenv.mkDerivation (finalAttrs:  {
   pname = "dxvk";
   version = "1.10.3";
@@ -36,15 +33,10 @@ stdenv.mkDerivation (finalAttrs:  {
   nativeBuildInputs = [ glslang meson ninja ];
   buildInputs = [ windows.pthreads ];
 
-  mesonFlags =
-    let
-      arch = if stdenv.is32bit then "32" else "64";
-    in
-    [
-      "--buildtype" "release"
-      "--prefix" "${placeholder "out"}"
-    ]
-    ++ lib.optionals isCross [ "--cross-file" "build-win${arch}.txt" ];
+  mesonFlags = [
+    "--buildtype" "release"
+    "--prefix" "${placeholder "out"}"
+  ];
 
   meta = {
     description = "A Vulkan-based translation layer for Direct3D 9/10/11";
diff --git a/nixpkgs/pkgs/by-name/dx/dxvk_2/package.nix b/nixpkgs/pkgs/by-name/dx/dxvk_2/package.nix
index e1fa64ffee05..8c589fd72587 100644
--- a/nixpkgs/pkgs/by-name/dx/dxvk_2/package.nix
+++ b/nixpkgs/pkgs/by-name/dx/dxvk_2/package.nix
@@ -19,7 +19,6 @@
 assert !sdl2Support || !glfwSupport;
 
 let
-  isCross = stdenv.hostPlatform != stdenv.targetPlatform;
   isWindows = stdenv.hostPlatform.uname.system == "Windows";
 in
 stdenv.mkDerivation (finalAttrs:  {
@@ -51,18 +50,12 @@ stdenv.mkDerivation (finalAttrs:  {
     mkdir -p include/spirv/include include/vulkan/include
   '';
 
-  mesonFlags =
-    let
-      arch = if stdenv.is32bit then "32" else "64";
-    in
-    [
-      "--buildtype" "release"
-      "--prefix" "${placeholder "out"}"
-    ]
-    ++ lib.optionals isCross [ "--cross-file" "build-win${arch}.txt" ]
-    ++ lib.optional glfwSupport "-Ddxvk_native_wsi=glfw";
+  mesonFlags = [
+    "--buildtype" "release"
+    "--prefix" "${placeholder "out"}"
+  ] ++ lib.optional glfwSupport "-Ddxvk_native_wsi=glfw";
 
-  doCheck = !isCross;
+  doCheck = true;
 
   passthru.updateScript = gitUpdater { rev-prefix = "v"; };
 
diff --git a/nixpkgs/pkgs/by-name/ek/eksctl/package.nix b/nixpkgs/pkgs/by-name/ek/eksctl/package.nix
index a670490ef0ad..28ebab5239a6 100644
--- a/nixpkgs/pkgs/by-name/ek/eksctl/package.nix
+++ b/nixpkgs/pkgs/by-name/ek/eksctl/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.163.0";
+  version = "0.164.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    hash = "sha256-rpyLjoHMSgEHTILeEQpUKD7BOJHn/uT3GK6Fquirzdk=";
+    hash = "sha256-ENlMcwk4bMbIzV353vt+EG776+/ajrg5la3JeA81QS4=";
   };
 
   vendorHash = "sha256-NOhssVWEkvoXpmnsCVVT7Li0ePGWDSGIlB2MyFtMnpI=";
diff --git a/nixpkgs/pkgs/applications/misc/free42/default.nix b/nixpkgs/pkgs/by-name/fr/free42/package.nix
index dd8405772caf..d821bbf628f9 100644
--- a/nixpkgs/pkgs/applications/misc/free42/default.nix
+++ b/nixpkgs/pkgs/by-name/fr/free42/package.nix
@@ -1,22 +1,22 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, makeDesktopItem
+, alsa-lib
 , copyDesktopItems
-, pkg-config
 , gtk3
-, alsa-lib
+, makeDesktopItem
+, pkg-config
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "free42";
-  version = "3.0.21";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "thomasokken";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-zRO0buYfKtybUisWZJRkvLJVLJYZwLcDnT04rnQWy+s=";
+    repo = "free42";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-v3nZMjV9KnoTefeu2jl3k1B7efnJnNVOAfDVLyce6QI=";
   };
 
   nativeBuildInputs = [
@@ -35,6 +35,27 @@ stdenv.mkDerivation rec {
 
   dontConfigure = true;
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "com.thomasokken.free42bin";
+      desktopName = "Free42Bin";
+      genericName = "Calculator";
+      exec = "free42bin";
+      type = "Application";
+      comment = finalAttrs.meta.description;
+      categories = [ "Utility" "Calculator" ];
+    })
+    (makeDesktopItem {
+      name = "com.thomasokken.free42dec";
+      desktopName = "Free42Dec";
+      genericName = "Calculator";
+      exec = "free42dec";
+      type = "Application";
+      comment = finalAttrs.meta.description;
+      categories = [ "Utility" "Calculator" ];
+    })
+  ];
+
   buildPhase = ''
     runHook preBuild
 
@@ -50,48 +71,28 @@ stdenv.mkDerivation rec {
     runHook preInstall
 
     install --directory $out/bin \
-                        $out/share/doc/${pname} \
-                        $out/share/${pname}/skins \
+                        $out/share/doc/free42 \
+                        $out/share/free42/skins \
                         $out/share/icons/hicolor/48x48/apps \
                         $out/share/icons/hicolor/128x128/apps
 
     install -m755 gtk/free42dec gtk/free42bin $out/bin
-    install -m644 gtk/README $out/share/doc/${pname}/README-GTK
-    install -m644 README $out/share/doc/${pname}/README
+    install -m644 gtk/README $out/share/doc/free42/README-GTK
+    install -m644 README $out/share/doc/free42/README
 
     install -m644 gtk/icon-48x48.xpm $out/share/icons/hicolor/48x48/apps
     install -m644 gtk/icon-128x128.xpm $out/share/icons/hicolor/128x128/apps
-    install -m644 skins/* $out/share/${pname}/skins
+    install -m644 skins/* $out/share/free42/skins
 
     runHook postInstall
   '';
 
-  desktopItems = [
-    (makeDesktopItem {
-      name = "com.thomasokken.free42bin";
-      desktopName = "Free42Bin";
-      genericName = "Calculator";
-      exec = "free42bin";
-      type = "Application";
-      comment = meta.description;
-      categories = [ "Utility" "Calculator" ];
-    })
-    (makeDesktopItem {
-      name = "com.thomasokken.free42dec";
-      desktopName = "Free42Dec";
-      genericName = "Calculator";
-      exec = "free42dec";
-      type = "Application";
-      comment = meta.description;
-      categories = [ "Utility" "Calculator" ];
-    })
-  ];
-
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/thomasokken/free42";
     description = "A software clone of HP-42S Calculator";
-    license = licenses.gpl2Only;
-    maintainers = with maintainers; [ AndersonTorres plabadens ];
-    platforms = with platforms; unix;
+    license = with lib.licenses; [ gpl2Only ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    mainProgram = "free42dec";
+    platforms = with lib.platforms; unix;
   };
-}
+})
diff --git a/nixpkgs/pkgs/by-name/hi/hifile/package.nix b/nixpkgs/pkgs/by-name/hi/hifile/package.nix
index bf2bda5100dc..8c8f9707a7d3 100644
--- a/nixpkgs/pkgs/by-name/hi/hifile/package.nix
+++ b/nixpkgs/pkgs/by-name/hi/hifile/package.nix
@@ -1,12 +1,12 @@
 { lib, appimageTools, fetchurl }:
 
 let
-  version = "0.9.9.5";
+  version = "0.9.9.6";
   pname = "hifile";
 
   src = fetchurl {
     url = "https://www.hifile.app/files/HiFile-${version}.AppImage";
-    hash = "sha256-Ks/NLPm5loo9q8pT0LdtfcrC38203beNE74sbEpyuJM=";
+    hash = "sha256-qfBV4w4nChH2wUAHdcUFwVs+3OeqcKqMJ8WUucn31q4=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/nixpkgs/pkgs/by-name/ho/hof/package.nix b/nixpkgs/pkgs/by-name/ho/hof/package.nix
new file mode 100644
index 000000000000..d5ca54ea5beb
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ho/hof/package.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
+
+buildGoModule rec {
+  pname = "hof";
+  version = "0.6.9-beta.1";
+
+  src = fetchFromGitHub {
+    owner = "hofstadter-io";
+    repo = "hof";
+    rev = "v${version}";
+    hash = "sha256-4yVP6DRHrsp52VxBhr7qppPhInYEsvPbIfxxQcRwHTw=";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  vendorHash = "sha256-cDUcYwcxPn+9TEP5lhVJXofijCZX94Is+Qt41PqUgjI=";
+
+  subPackages = [ "./cmd/hof/main.go" ];
+
+  postInstall = ''
+    mv $out/bin/main $out/bin/hof
+    local INSTALL="$out/bin/hof"
+    installShellCompletion --cmd hof \
+      --bash <($out/bin/hof completion bash) \
+      --fish <($out/bin/hof completion fish) \
+      --zsh <($out/bin/hof completion zsh)
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/hofstadter-io/hof";
+    description = "Framework that joins data models, schemas, code generation, and a task engine. Language and technology agnostic";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jfvillablanca ];
+    mainProgram = "hof";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/me/mermaid-cli/package.nix b/nixpkgs/pkgs/by-name/me/mermaid-cli/package.nix
index a42fe9754ff5..a45930287a50 100644
--- a/nixpkgs/pkgs/by-name/me/mermaid-cli/package.nix
+++ b/nixpkgs/pkgs/by-name/me/mermaid-cli/package.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     cp -r . "$out/lib/node_modules/@mermaid-js/mermaid-cli"
 
     makeWrapper "${nodejs}/bin/node" "$out/bin/mmdc" \
-  '' + lib.optionalString (lib.meta.availableOn stdenv.targetPlatform chromium) ''
+  '' + lib.optionalString (lib.meta.availableOn stdenv.hostPlatform chromium) ''
       --set PUPPETEER_EXECUTABLE_PATH '${lib.getExe chromium}' \
   '' + ''
       --add-flags "$out/lib/node_modules/@mermaid-js/mermaid-cli/src/cli.js"
diff --git a/nixpkgs/pkgs/by-name/ni/nix-web/package.nix b/nixpkgs/pkgs/by-name/ni/nix-web/package.nix
new file mode 100644
index 000000000000..e41e760a2939
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ni/nix-web/package.nix
@@ -0,0 +1,48 @@
+{ lib
+, rustPlatform
+, fetchFromGitea
+, pkg-config
+, openssl
+, nix
+}:
+
+let
+  cargoFlags = [ "-p" "nix-web" ];
+in
+rustPlatform.buildRustPackage rec {
+  pname = "nix-web";
+  version = "0.1.0";
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "gorgon";
+    repo = "gorgon";
+    rev = "nix-web-v${version}";
+    hash = "sha256-+IDvoMRuMt1nS69yFhPPVs+s6Dj0dgXVdjjd9f3+spk=";
+  };
+  cargoHash = "sha256-uVBfIw++MRxgVAC+KzGVuMZra8oktUfHcZQk90FF1a8=";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ openssl ];
+
+  postPatch = ''
+    substituteInPlace nix-web/nix-web.service \
+      --replace 'ExecStart=nix-web' "ExecStart=$out/bin/nix-web"
+  '';
+  postInstall = ''
+    install -m 644 -D nix-web/nix-web.service $out/lib/systemd/system/nix-web.service
+  '';
+
+  cargoBuildFlags = cargoFlags;
+  cargoTestFlags = cargoFlags;
+
+  NIX_WEB_BUILD_NIX_CLI_PATH = "${nix}/bin/nix";
+
+  meta = with lib; {
+    description = "Web interface for the Nix store";
+    homepage = "https://codeberg.org/gorgon/gorgon/src/branch/main/nix-web";
+    license = licenses.eupl12;
+    maintainers = with maintainers; [ embr ];
+    mainProgram = "nix-web";
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/no/nom/package.nix b/nixpkgs/pkgs/by-name/no/nom/package.nix
index 258e1b44c378..fde0f3378c39 100644
--- a/nixpkgs/pkgs/by-name/no/nom/package.nix
+++ b/nixpkgs/pkgs/by-name/no/nom/package.nix
@@ -4,13 +4,13 @@
 }:
 buildGoModule rec {
   pname = "nom";
-  version = "2.0.2";
+  version = "2.0.5";
 
   src = fetchFromGitHub {
     owner = "guyfedwards";
     repo = "nom";
     rev = "v${version}";
-    hash = "sha256-6tk8NRuBbRMoaz3CmUUOC6thxIgjk/MWl50+YgQ6l5o=";
+    hash = "sha256-mYE8cu7qHRyG/pZSr4u6tMEF3ZM5Qz+CX+oLf/chwl4=";
   };
 
   vendorHash = "sha256-fP6yxfIQoVaBC9hYcrCyo3YP3ntEVDbDTwKMO9TdyDI=";
diff --git a/nixpkgs/pkgs/applications/misc/nwg-drawer/default.nix b/nixpkgs/pkgs/by-name/nw/nwg-drawer/package.nix
index 6e7af27f3b13..debff8429d88 100644
--- a/nixpkgs/pkgs/applications/misc/nwg-drawer/default.nix
+++ b/nixpkgs/pkgs/by-name/nw/nwg-drawer/package.nix
@@ -1,31 +1,44 @@
 { lib
 , buildGoModule
-, fetchFromGitHub
 , cairo
+, fetchFromGitHub
 , gobject-introspection
-, gtk3
 , gtk-layer-shell
+, gtk3
 , pkg-config
 , wrapGAppsHook
-, xdg-utils }:
+, xdg-utils
+}:
 
-buildGoModule rec {
+let
   pname = "nwg-drawer";
-  version = "0.3.9";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
-    repo = pname;
+    repo = "nwg-drawer";
     rev = "v${version}";
-    sha256 = "sha256-RCryDei8Tw1f+7y8iIDC3mASv5nwq4qrWRc4CudS/Cg=";
+    hash = "sha256-2/YI91Rcm+N8tNoKBRIDAQ3T2M6T7+kWngbCzyaXOCc=";
   };
 
-  vendorHash = "sha256-YwXX3srQdCicJlstodqOsL+dwBNVyJx/SwC2dMOUBh4=";
+  vendorHash = "sha256-8s8+ukMQpciQmKt77fNE7r+3cm/UDxO8VtkrNYdKhM8=";
+in
+buildGoModule {
+  inherit pname version src vendorHash;
+
+  nativeBuildInputs = [
+    gobject-introspection
+    pkg-config
+    wrapGAppsHook
+  ];
 
-  buildInputs = [ cairo gtk3 gtk-layer-shell ];
-  nativeBuildInputs = [ pkg-config wrapGAppsHook gobject-introspection ];
+  buildInputs = [
+    cairo
+    gtk-layer-shell
+    gtk3
+  ];
 
-  doCheck = false;
+  doCheck = false; # Too slow
 
   preInstall = ''
     mkdir -p $out/share/nwg-drawer
@@ -43,9 +56,9 @@ buildGoModule rec {
   meta = with lib; {
     description = "Application drawer for sway Wayland compositor";
     homepage = "https://github.com/nwg-piotr/nwg-drawer";
-    license = licenses.mit;
-    platforms = platforms.linux;
+    license = with lib.licenses; [ mit ];
     mainProgram = "nwg-drawer";
-    maintainers = with maintainers; [ plabadens ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = with lib.platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/networking/browsers/offpunk/default.nix b/nixpkgs/pkgs/by-name/of/offpunk/package.nix
index e1b4fdcfa205..e0814a43ef8a 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/offpunk/default.nix
+++ b/nixpkgs/pkgs/by-name/of/offpunk/package.nix
@@ -1,14 +1,15 @@
-{
-  fetchFromSourcehut,
-  installShellFiles,
-  less,
-  lib,
-  offpunk,
-  python3Packages,
-  testers,
-  timg,
-  xdg-utils,
-  xsel,
+{ fetchFromSourcehut
+, file
+, installShellFiles
+, less
+, lib
+, offpunk
+, python3Packages
+, testers
+, timg
+, xdg-utils
+, xsel
+,
 }:
 
 let
@@ -23,6 +24,7 @@ let
     setproctitle
   ];
   otherDependencies = [
+    file
     less
     timg
     xdg-utils
@@ -31,7 +33,7 @@ let
 in
 python3Packages.buildPythonPackage rec {
   pname = "offpunk";
-  version = "1.10";
+  version = "2.0";
   format = "pyproject";
 
   disabled = python3Packages.pythonOlder "3.7";
@@ -40,23 +42,21 @@ python3Packages.buildPythonPackage rec {
     owner = "~lioploum";
     repo = "offpunk";
     rev = "v${version}";
-    hash = "sha256-+jGKPPnKZHn+l6VAwuae6kICwR7ymkYJjsM2OHQAEmU=";
+    hash = "sha256-6ftc2goCNgvXf5kszvjeSHn24Hn73jq26Irl5jiN6pk=";
   };
 
-  nativeBuildInputs = [ python3Packages.flit-core installShellFiles ];
+  nativeBuildInputs = [ python3Packages.hatchling installShellFiles ];
   propagatedBuildInputs = otherDependencies ++ pythonDependencies;
 
   postInstall = ''
     installManPage man/*.1
   '';
 
-  passthru.tests.version = testers.testVersion { package = offpunk; };
-
   meta = with lib; {
     description = "An Offline-First browser for the smolnet ";
     homepage = src.meta.homepage;
     maintainers = with maintainers; [ DamienCassou ];
     platforms = platforms.linux;
-    license = licenses.bsd2;
+    license = licenses.agpl3Plus;
   };
 }
diff --git a/nixpkgs/pkgs/by-name/op/openai-triton-llvm/package.nix b/nixpkgs/pkgs/by-name/op/openai-triton-llvm/package.nix
index 2fb56d0a6352..5744cfa10c11 100644
--- a/nixpkgs/pkgs/by-name/op/openai-triton-llvm/package.nix
+++ b/nixpkgs/pkgs/by-name/op/openai-triton-llvm/package.nix
@@ -1,27 +1,49 @@
-{ config
-, lib
+{ lib
 , stdenv
 , fetchFromGitHub
+, pkgsBuildBuild
 , pkg-config
 , cmake
 , ninja
 , git
-, doxygen
-, sphinx
 , libxml2
 , libxcrypt
 , libedit
 , libffi
+, libpfm
 , mpfr
 , zlib
 , ncurses
+, doxygen
+, sphinx
+, which
+, sysctl
 , python3Packages
 , buildDocs ? true
 , buildMan ? true
 , buildTests ? true
+, llvmTargetsToBuild ? [ "NATIVE" ] # "NATIVE" resolves into x86 or aarch64 depending on stdenv
+, llvmProjectsToBuild ? [ "llvm" "mlir" ]
 }:
 
-stdenv.mkDerivation (finalAttrs: {
+let
+  llvmNativeTarget =
+    if stdenv.hostPlatform.isx86_64 then "X86"
+    else if stdenv.hostPlatform.isAarch64 then "AArch64"
+    else throw "Currently unsupported LLVM platform '${stdenv.hostPlatform.config}'";
+
+  inferNativeTarget = t: if t == "NATIVE" then llvmNativeTarget else t;
+  llvmTargetsToBuild' = [ "AMDGPU" "NVPTX" ] ++ builtins.map inferNativeTarget llvmTargetsToBuild;
+
+  # This LLVM version can't seem to find pygments/pyyaml,
+  # but a later update will likely fix this (openai-triton-2.1.0)
+  python =
+    if buildTests
+    then python3Packages.python.withPackages (p: with p; [ psutil pygments pyyaml ])
+    else python3Packages.python;
+
+  isNative = stdenv.hostPlatform == stdenv.buildPlatform;
+in stdenv.mkDerivation (finalAttrs: {
   pname = "openai-triton-llvm";
   version = "14.0.6-f28c006a5895";
 
@@ -33,7 +55,8 @@ stdenv.mkDerivation (finalAttrs: {
     "man"
   ];
 
-  # See https://github.com/openai/triton/blob/main/python/setup.py and https://github.com/ptillet/triton-llvm-releases/releases
+  # See https://github.com/openai/triton/blob/main/python/setup.py
+  # and https://github.com/ptillet/triton-llvm-releases/releases
   src = fetchFromGitHub {
     owner = "llvm";
     repo = "llvm-project";
@@ -46,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
     cmake
     ninja
     git
-    python3Packages.python
+    python
   ] ++ lib.optionals (buildDocs || buildMan) [
     doxygen
     sphinx
@@ -58,6 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
     libxcrypt
     libedit
     libffi
+    libpfm
     mpfr
   ];
 
@@ -69,37 +93,55 @@ stdenv.mkDerivation (finalAttrs: {
   sourceRoot = "${finalAttrs.src.name}/llvm";
 
   cmakeFlags = [
-    "-DLLVM_TARGETS_TO_BUILD=${
-      let
-        # Targets can be found in
-        # https://github.com/llvm/llvm-project/tree/f28c006a5895fc0e329fe15fead81e37457cb1d1/clang/lib/Basic/Targets
-        # NOTE: Unsure of how "host" would function, especially given that we might be cross-compiling.
-        llvmTargets = [ "AMDGPU" "NVPTX" ]
-        ++ lib.optionals stdenv.isAarch64 [ "AArch64" ]
-        ++ lib.optionals stdenv.isx86_64 [ "X86" ];
-      in
-      lib.concatStringsSep ";" llvmTargets
-    }"
-    "-DLLVM_ENABLE_PROJECTS=llvm;mlir"
-    "-DLLVM_INSTALL_UTILS=ON"
-  ] ++ lib.optionals (buildDocs || buildMan) [
-    "-DLLVM_INCLUDE_DOCS=ON"
-    "-DMLIR_INCLUDE_DOCS=ON"
-    "-DLLVM_BUILD_DOCS=ON"
-    # "-DLLVM_ENABLE_DOXYGEN=ON" Way too slow, only uses one core
-    "-DLLVM_ENABLE_SPHINX=ON"
-    "-DSPHINX_OUTPUT_HTML=ON"
-    "-DSPHINX_OUTPUT_MAN=ON"
-    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-  ] ++ lib.optionals buildTests [
-    "-DLLVM_INCLUDE_TESTS=ON"
-    "-DMLIR_INCLUDE_TESTS=ON"
-    "-DLLVM_BUILD_TESTS=ON"
-  ];
+    (lib.cmakeFeature "LLVM_TARGETS_TO_BUILD" (lib.concatStringsSep ";" llvmTargetsToBuild'))
+    (lib.cmakeFeature "LLVM_ENABLE_PROJECTS" (lib.concatStringsSep ";" llvmProjectsToBuild))
+    (lib.cmakeFeature "LLVM_HOST_TRIPLE" stdenv.hostPlatform.config)
+    (lib.cmakeFeature "LLVM_DEFAULT_TARGET_TRIPLE" stdenv.hostPlatform.config)
+    (lib.cmakeBool "LLVM_INSTALL_UTILS" true)
+    (lib.cmakeBool "LLVM_INCLUDE_DOCS" (buildDocs || buildMan))
+    (lib.cmakeBool "MLIR_INCLUDE_DOCS" (buildDocs || buildMan))
+    (lib.cmakeBool "LLVM_BUILD_DOCS" (buildDocs || buildMan))
+    # Way too slow, only uses one core
+    # (lib.cmakeBool "LLVM_ENABLE_DOXYGEN" (buildDocs || buildMan))
+    (lib.cmakeBool "LLVM_ENABLE_SPHINX" (buildDocs || buildMan))
+    (lib.cmakeBool "SPHINX_OUTPUT_HTML" buildDocs)
+    (lib.cmakeBool "SPHINX_OUTPUT_MAN" buildMan)
+    (lib.cmakeBool "SPHINX_WARNINGS_AS_ERRORS" false)
+    (lib.cmakeBool "LLVM_INCLUDE_TESTS" buildTests)
+    (lib.cmakeBool "MLIR_INCLUDE_TESTS" buildTests)
+    (lib.cmakeBool "LLVM_BUILD_TESTS" buildTests)
+  # Cross compilation code taken/modified from LLVM 16 derivation
+  ] ++ lib.optionals (!isNative) (let
+    nativeToolchainFlags = let
+      nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc;
+      nativeBintools = nativeCC.bintools.bintools;
+    in [
+      (lib.cmakeFeature "CMAKE_C_COMPILER" "${nativeCC}/bin/${nativeCC.targetPrefix}cc")
+      (lib.cmakeFeature "CMAKE_CXX_COMPILER" "${nativeCC}/bin/${nativeCC.targetPrefix}c++")
+      (lib.cmakeFeature "CMAKE_AR" "${nativeBintools}/bin/${nativeBintools.targetPrefix}ar")
+      (lib.cmakeFeature "CMAKE_STRIP" "${nativeBintools}/bin/${nativeBintools.targetPrefix}strip")
+      (lib.cmakeFeature "CMAKE_RANLIB" "${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib")
+    ];
+
+    # We need to repass the custom GNUInstallDirs values, otherwise CMake
+    # will choose them for us, leading to wrong results in llvm-config-native
+    nativeInstallFlags = [
+      (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "out"))
+      (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "${placeholder "out"}/bin")
+      (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "${placeholder "out"}/include")
+      (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "${placeholder "out"}/lib")
+      (lib.cmakeFeature "CMAKE_INSTALL_LIBEXECDIR" "${placeholder "out"}/libexec")
+    ];
+  in [
+    (lib.cmakeBool "CMAKE_CROSSCOMPILING" true)
+    (lib.cmakeFeature "CROSS_TOOLCHAIN_FLAGS_NATIVE" (lib.concatStringsSep ";"
+      (lib.concatLists [ nativeToolchainFlags nativeInstallFlags ])))
+  ]);
 
   postPatch = ''
     # `CMake Error: cannot write to file "/build/source/llvm/build/lib/cmake/mlir/MLIRTargets.cmake": Permission denied`
     chmod +w -R ../mlir
+    patchShebangs ../mlir/test/mlir-reduce
 
     # FileSystem permissions tests fail with various special bits
     rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test
@@ -107,9 +149,21 @@ stdenv.mkDerivation (finalAttrs: {
 
     substituteInPlace unittests/Support/CMakeLists.txt \
       --replace "Path.cpp" ""
+  '' + lib.optionalString stdenv.isAarch64 ''
+    # Not sure why this fails
+    rm test/tools/llvm-exegesis/AArch64/latency-by-opcode-name.s
+  '';
+
+  postInstall = lib.optionalString (!isNative) ''
+    cp -a NATIVE/bin/llvm-config $out/bin/llvm-config-native
   '';
 
   doCheck = buildTests;
+
+  nativeCheckInputs = [ which ]
+    ++ lib.optionals stdenv.isDarwin [ sysctl ];
+
+  checkTarget = "check-all";
   requiredSystemFeatures = [ "big-parallel" ];
 
   meta = with lib; {
@@ -117,9 +171,6 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/llvm/llvm-project";
     license = with licenses; [ ncsa ];
     maintainers = with maintainers; [ SomeoneSerge Madouura ];
-    platforms = platforms.linux;
-    # Consider the derivation broken if we're not building for CUDA or ROCm, or if we're building for aarch64
-    # and ROCm is enabled. See https://github.com/RadeonOpenCompute/ROCm/issues/1831#issuecomment-1278205344.
-    broken = stdenv.isAarch64 && !config.cudaSupport;
+    platforms = with platforms; aarch64 ++ x86;
   };
 })
diff --git a/nixpkgs/pkgs/by-name/po/polybar/package.nix b/nixpkgs/pkgs/by-name/po/polybar/package.nix
index 67b05b8f4b67..ee649f396fa3 100644
--- a/nixpkgs/pkgs/by-name/po/polybar/package.nix
+++ b/nixpkgs/pkgs/by-name/po/polybar/package.nix
@@ -110,7 +110,7 @@ stdenv.mkDerivation (finalAttrs: {
       having a black belt in shell scripting.
     '';
     license = licenses.mit;
-    maintainers = with maintainers; [ afldcr Br1ght0ne fortuneteller2k ckie ];
+    maintainers = with maintainers; [ afldcr Br1ght0ne moni ckie ];
     platforms = platforms.linux;
   };
 })
diff --git a/nixpkgs/pkgs/by-name/py/pyprland/package.nix b/nixpkgs/pkgs/by-name/py/pyprland/package.nix
index 751dbbd61e05..51bf39609590 100644
--- a/nixpkgs/pkgs/by-name/py/pyprland/package.nix
+++ b/nixpkgs/pkgs/by-name/py/pyprland/package.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pyprland";
-  version = "1.5.3";
+  version = "1.6.0";
   format = "pyproject";
 
   disabled = python3Packages.pythonOlder "3.10";
@@ -11,7 +11,7 @@ python3Packages.buildPythonApplication rec {
     owner = "hyprland-community";
     repo = "pyprland";
     rev = version;
-    hash = "sha256-PmE52pbEhc4+SkuyEeVUZoMVcbgK6CYA8HNwYPpgaIw=";
+    hash = "sha256-QbbBpaBIlU4IoU/NM7igDap8TxOKePQ8JI3ZlH944Bs=";
   };
 
   nativeBuildInputs = with python3Packages; [ poetry-core ];
diff --git a/nixpkgs/pkgs/by-name/si/signaturepdf/package.nix b/nixpkgs/pkgs/by-name/si/signaturepdf/package.nix
new file mode 100644
index 000000000000..be7c2fdd308b
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/si/signaturepdf/package.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, php
+, makeWrapper
+, imagemagick
+, librsvg
+, potrace
+, pdftk
+, ghostscript
+}:
+
+stdenv.mkDerivation rec {
+  pname = "signaturepdf";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "24eme";
+    repo = "${pname}";
+    rev = "v${version}";
+    hash = "sha256-7yhvTxpjxHcmRxTE7avM+dN+yz9iVr8Ea/e2yfkBURA=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/signaturepdf $out/bin
+
+    cp --target-directory=$out/share/signaturepdf --recursive \
+      app.php config locale public templates vendor
+
+    makeWrapper ${lib.getExe php} $out/bin/signaturepdf \
+      --inherit-argv0 \
+      --chdir $out/share/signaturepdf \
+      --prefix PATH : ${lib.makeBinPath [ imagemagick librsvg potrace pdftk ghostscript ]} \
+      --run 'port=$1' \
+      --run '[ $# -ge 1 ] || ( echo "Usage $0 <port> -d upload_max_filesize=24M -d post_max_size=24M -d max_file_uploads=201" >&2 && exit 1 )' \
+      --run 'shift' \
+      --run 'echo "You may now open a web browser on http://localhost:$port"' \
+      --add-flags '-S "localhost:$port" -t public'
+
+    runHook preInstall
+  '';
+
+  meta = with lib; {
+    description = "Web software for signing PDFs and also organize pages, edit metadata and compress pdf";
+    homepage = "https://pdf.24eme.fr/";
+    changelog =
+      "https://github.com/24eme/signaturepdf/releases/tag/v${version}";
+    license = licenses.agpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ DamienCassou ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/so/soundfont-arachno/package.nix b/nixpkgs/pkgs/by-name/so/soundfont-arachno/package.nix
new file mode 100644
index 000000000000..1bfcad7fdc40
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/so/soundfont-arachno/package.nix
@@ -0,0 +1,27 @@
+{ lib, stdenvNoCC, fetchzip }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "soundfont-arachno";
+  version = "1.0";
+
+  src = fetchzip {
+    # Linked on http://www.arachnosoft.com/main/download.php?id=soundfont-sf2:
+    url = "https://www.dropbox.com/s/2rnpya9ecb9m4jh/arachno-soundfont-${builtins.replaceStrings ["."] [""] version}-sf2.zip";
+    hash = "sha256-Z5ETe0AKPCi4KlM2xOlNcyQn1xvCuor3S/tcrF+AwNQ=";
+    stripRoot = false;
+  };
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm444 Arachno*.sf2 $out/share/soundfonts/arachno.sf2
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "General MIDI-compliant bank, aimed at enhancing the realism of your MIDI files and arrangements";
+    homepage = "http://www.arachnosoft.com/main/soundfont.php";
+    license = licenses.unfree;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ mrtnvgr ];
+  };
+}
diff --git a/nixpkgs/pkgs/by-name/su/supersonic/package.nix b/nixpkgs/pkgs/by-name/su/supersonic/package.nix
index f329dcfa794c..6989e86a3729 100644
--- a/nixpkgs/pkgs/by-name/su/supersonic/package.nix
+++ b/nixpkgs/pkgs/by-name/su/supersonic/package.nix
@@ -11,7 +11,7 @@
 , wayland-protocols
 , libxkbcommon
 , libglvnd
-, mpv
+, mpv-unwrapped
 , darwin
 , waylandSupport ? false
 }:
@@ -20,16 +20,16 @@ assert waylandSupport -> stdenv.isLinux;
 
 buildGoModule rec {
   pname = "supersonic" + lib.optionalString waylandSupport "-wayland";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "dweymouth";
     repo = "supersonic";
     rev = "v${version}";
-    hash = "sha256-DVduZ1qPbcDlH+B5hibC2HUjwEUV+CpDDpMI8GdPwro";
+    hash = "sha256-rNM3kQrEkqLAW6Dia+VsEi9etUG218AL8tO0amWXb34=";
   };
 
-  vendorHash = "sha256-Dj6I+gt0gB5HWTWdFXCV5UpLuvg+HhuygRJAdvV/Yp8";
+  vendorHash = "sha256-I4ZZmQfYTMtNT+3WCs6/g42uF4EKGSjGHCqG8Du5rCo=";
 
   nativeBuildInputs = [
     copyDesktopItems
@@ -43,7 +43,7 @@ buildGoModule rec {
 
   buildInputs = [
     libglvnd
-    mpv
+    mpv-unwrapped
   ] ++ lib.optionals stdenv.isLinux [
     xorg.libXxf86vm
     xorg.libX11
diff --git a/nixpkgs/pkgs/by-name/sw/sway-audio-idle-inhibit/package.nix b/nixpkgs/pkgs/by-name/sw/sway-audio-idle-inhibit/package.nix
new file mode 100644
index 000000000000..ae41f6a23684
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/sw/sway-audio-idle-inhibit/package.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, libpulseaudio
+, wayland
+, wayland-protocols
+}:
+stdenv.mkDerivation {
+  pname = "sway-audio-idle-inhibit";
+  version = "unstable-2023-08-09";
+
+  src = fetchFromGitHub {
+    owner = "ErikReider";
+    repo = "SwayAudioIdleInhibit";
+    rev = "c850bc4812216d03e05083c69aa05326a7fab9c7";
+    sha256 = "sha256-MKzyF5xY0uJ/UWewr8VFrK0y7ekvcWpMv/u9CHG14gs=";
+  };
+
+  nativeBuildInputs = [
+    meson ninja pkg-config
+  ];
+
+  buildInputs = [
+    libpulseaudio wayland wayland-protocols
+  ];
+
+  meta = with lib; {
+    description = "Prevents swayidle from sleeping while any application is outputting or receiving audio";
+    homepage = "https://github.com/ErikReider/SwayAudioIdleInhibit";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ rafaelrc ];
+    mainProgram = "sway-audio-idle-inhibit";
+  };
+}
+
diff --git a/nixpkgs/pkgs/by-name/sw/sway-overfocus/package.nix b/nixpkgs/pkgs/by-name/sw/sway-overfocus/package.nix
new file mode 100644
index 000000000000..08b6158d4f11
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/sw/sway-overfocus/package.nix
@@ -0,0 +1,30 @@
+{ fetchFromGitHub, lib, nix-update-script, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "sway-overfocus";
+  version = "0.2.3-fix";
+
+  src = fetchFromGitHub {
+    owner = "korreman";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-KHbYlxgrrZdNKJ7R9iVflbbP1c6qohM/NHBSYuzxEt4=";
+  };
+
+  cargoHash = "sha256-zp6PSu8P+ZUhrqi5Vxpe+z9zBaSkdVQBMGNP0FVOviQ=";
+
+  # Crate without tests.
+  doCheck = false;
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib; {
+    description = ''"Better" focus navigation for sway and i3.'';
+    homepage = "https://github.com/korreman/sway-overfocus";
+    changelog = "https://github.com/korreman/sway-overfocus/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = [ maintainers.ivan770 ];
+    mainProgram = "sway-overfocus";
+  };
+}
+
diff --git a/nixpkgs/pkgs/by-name/wo/wordlists/package.nix b/nixpkgs/pkgs/by-name/wo/wordlists/package.nix
index 16106707fd96..5edd1f5ece4e 100644
--- a/nixpkgs/pkgs/by-name/wo/wordlists/package.nix
+++ b/nixpkgs/pkgs/by-name/wo/wordlists/package.nix
@@ -1,11 +1,8 @@
 { lib
-, callPackage
+, symlinkJoin
 , nmap
 , rockyou
-, runtimeShell
 , seclists
-, symlinkJoin
-, tree
 , wfuzz
 , lists ? [
     nmap
@@ -13,33 +10,39 @@
     seclists
     wfuzz
   ]
+, writeShellScriptBin
+, tree
 }:
+let
+  wordlistsCollection = symlinkJoin {
+    name = "wordlists-collection";
+    paths = lists;
 
-symlinkJoin rec {
-  pname = "wordlists";
-  version = "unstable-2023-10-10";
-
-  name = "${pname}-${version}";
-  paths = lists;
+    postBuild = ''
+      shopt -s extglob
+      rm -rf $out/!(share)
+      rm -rf $out/share/!(wordlists)
+      shopt -u extglob
+    '';
+  };
 
-  postBuild = ''
-    mkdir -p $out/bin
+  # A command to show the location of the links.
+  wordlistsBin = writeShellScriptBin "wordlists" ''
+    ${lib.getExe tree} ${wordlistsCollection}/share/wordlists
+  '';
+  # A command for easy access to the wordlists.
+  wordlistsPathBin = writeShellScriptBin "wordlists_path" ''
+    printf "${wordlistsCollection}/share/wordlists\n"
+  '';
 
-    # Create a command to show the location of the links.
-    cat >> $out/bin/wordlists << __EOF__
-    #!${runtimeShell}
-    ${tree}/bin/tree ${placeholder "out"}/share/wordlists
-    __EOF__
-    chmod +x $out/bin/wordlists
+in symlinkJoin {
+  name = "wordlists";
 
-    # Create a handy command for easy access to the wordlists.
-    # e.g.: `cat "$(wordlists_path)/rockyou.txt"`, or `ls "$(wordlists_path)/dirbuster"`
-    cat >> $out/bin/wordlists_path << __EOF__
-    #!${runtimeShell}
-    printf "${placeholder "out"}/share/wordlists\n"
-    __EOF__
-    chmod +x $out/bin/wordlists_path
-  '';
+  paths = [
+    wordlistsCollection
+    wordlistsBin
+    wordlistsPathBin
+  ];
 
   meta = with lib; {
     description = "A collection of wordlists useful for security testing";
@@ -65,6 +68,6 @@ symlinkJoin rec {
       If you want to add a new package that provides wordlist/s the convention
       is to copy it to {file}`$out/share/wordlists/myNewWordlist`.
     '';
-    maintainers = with maintainers; [ janik pamplemousse ];
+    maintainers = with maintainers; [ janik pamplemousse h7x4 ];
   };
 }
diff --git a/nixpkgs/pkgs/data/fonts/curie/default.nix b/nixpkgs/pkgs/data/fonts/curie/default.nix
index 4f3ab7eb013a..5e8195211b05 100644
--- a/nixpkgs/pkgs/data/fonts/curie/default.nix
+++ b/nixpkgs/pkgs/data/fonts/curie/default.nix
@@ -25,6 +25,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/NerdyPepper/curie";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/data/fonts/edwin/default.nix b/nixpkgs/pkgs/data/fonts/edwin/default.nix
index 41926ac1b679..2ccb44d45d2e 100644
--- a/nixpkgs/pkgs/data/fonts/edwin/default.nix
+++ b/nixpkgs/pkgs/data/fonts/edwin/default.nix
@@ -23,6 +23,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/MuseScoreFonts/Edwin";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/data/fonts/open-fonts/default.nix b/nixpkgs/pkgs/data/fonts/open-fonts/default.nix
index 6a628174f2e4..3f7682097942 100644
--- a/nixpkgs/pkgs/data/fonts/open-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/open-fonts/default.nix
@@ -23,6 +23,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/kiwi0fruit/open-fonts";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/data/fonts/scientifica/default.nix b/nixpkgs/pkgs/data/fonts/scientifica/default.nix
index 1f946ecb17af..1b57c9f286d3 100644
--- a/nixpkgs/pkgs/data/fonts/scientifica/default.nix
+++ b/nixpkgs/pkgs/data/fonts/scientifica/default.nix
@@ -26,6 +26,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/NerdyPepper/scientifica";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
index be53cafa434a..1de1411cb754 100644
--- a/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -41,6 +41,6 @@ stdenvNoCC.mkDerivation rec {
     license = licenses.gpl3Only;
     # darwin gives hash mismatch in source, probably because of file names differing only in case
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo fortuneteller2k ];
+    maintainers = with maintainers; [ romildo moni ];
   };
 }
diff --git a/nixpkgs/pkgs/data/icons/phinger-cursors/default.nix b/nixpkgs/pkgs/data/icons/phinger-cursors/default.nix
index 5afd2fe228f6..82742723806f 100644
--- a/nixpkgs/pkgs/data/icons/phinger-cursors/default.nix
+++ b/nixpkgs/pkgs/data/icons/phinger-cursors/default.nix
@@ -23,6 +23,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/phisch/phinger-cursors";
     platforms = platforms.unix;
     license = licenses.cc-by-sa-40;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/data/misc/clash-geoip/default.nix b/nixpkgs/pkgs/data/misc/clash-geoip/default.nix
index b344ca0d4aad..c7ca80ccb008 100644
--- a/nixpkgs/pkgs/data/misc/clash-geoip/default.nix
+++ b/nixpkgs/pkgs/data/misc/clash-geoip/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "clash-geoip";
-  version = "20231012";
+  version = "20231112";
 
   src = fetchurl {
     url = "https://github.com/Dreamacro/maxmind-geoip/releases/download/${version}/Country.mmdb";
-    sha256 = "sha256-KXmHaoIZ01M6Nu2LlVgTZarUp+5VPpLfnkc7d/Xl4z0=";
+    sha256 = "sha256-CTygf2/CbxNO/9e8OfxeGZFaSrKXdlQdvUgywZX1U9o=";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/data/themes/onestepback/default.nix b/nixpkgs/pkgs/data/themes/onestepback/default.nix
index 9547e3543890..c18d55db5b44 100644
--- a/nixpkgs/pkgs/data/themes/onestepback/default.nix
+++ b/nixpkgs/pkgs/data/themes/onestepback/default.nix
@@ -2,20 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "onestepback";
-  version = "0.991";
+  version = "0.994";
 
   srcs = [
     (fetchurl {
       url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-v${version}.zip";
-      sha256 = "1jfgcgzbb6ra9qs3zcp6ij0hfldzg3m0yjw6l6vf4kq1mdby1ghm";
+      hash = "sha256-kjGiGo4bF1mWJPnaPv2lf7rGG/uAntHK61mH6lcJ6e4=";
     })
     (fetchurl {
-      url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-grey-brown-green-blue-v${version}.zip";
-      sha256 = "0i006h1asbpfdzajws0dvk9acplvcympzgxq5v3n8hmizd6yyh77";
-    })
-    (fetchurl {
-      url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-green-brown-v${version}.zip";
-      sha256 = "16p002lak6425gcskny4hzws8x9dgsm6j3a1r08y11rsz7d2hnmy";
+      url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-darker-v${version}.zip";
+      hash = "sha256-AuurSa45uF5GbPqaMXKblWkv3YGkYL1z0VjWrbnsB/I=";
     })
   ];
 
@@ -24,15 +20,17 @@ stdenv.mkDerivation rec {
   sourceRoot = ".";
 
   installPhase = ''
+    runHook preInstall
     mkdir -p  $out/share/themes
     cp -a OneStepBack* $out/share/themes/
     rm $out/share/themes/*/{LICENSE,README*}
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Gtk theme inspired by the NextStep look";
     homepage = "http://www.vide.memoire.free.fr/perso/OneStepBack";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.all;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/data/themes/yaru/default.nix b/nixpkgs/pkgs/data/themes/yaru/default.nix
index 93802c6b8874..1490b5db79d7 100644
--- a/nixpkgs/pkgs/data/themes/yaru/default.nix
+++ b/nixpkgs/pkgs/data/themes/yaru/default.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ubuntu/yaru";
     license = with licenses; [ cc-by-sa-40 gpl3Plus lgpl21Only lgpl3Only ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fortuneteller2k amaxine ];
+    maintainers = with maintainers; [ moni amaxine ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/deepin/go-package/deepin-desktop-schemas/default.nix b/nixpkgs/pkgs/desktops/deepin/go-package/deepin-desktop-schemas/default.nix
index 274c81bfce96..4fb99cfb80ae 100644
--- a/nixpkgs/pkgs/desktops/deepin/go-package/deepin-desktop-schemas/default.nix
+++ b/nixpkgs/pkgs/desktops/deepin/go-package/deepin-desktop-schemas/default.nix
@@ -33,7 +33,7 @@ buildGoPackage rec {
   buildPhase = ''
     runHook preBuild
     addToSearchPath GOPATH "${go-lib}/share/gocode"
-    make ARCH=${stdenv.targetPlatform.linuxArch} -C go/src/${goPackagePath}
+    make ARCH=${stdenv.hostPlatform.linuxArch} -C go/src/${goPackagePath}
     runHook postBuild
   '';
 
diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
index c297ec27a3a9..f2946f499202 100644
--- a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenvNoCC
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , gettext
 , meson
@@ -12,24 +11,15 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "elementary-gtk-theme";
-  version = "7.2.0";
+  version = "7.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "stylesheet";
     rev = version;
-    sha256 = "sha256-ZR0FJ8DkPlO1Zatvxv3NghAVBPo2j+1m0k4C+gvYPVA=";
+    sha256 = "sha256-KrpeDQH43n7seeSPVYKETxy1g0JuUowZerjgktLQg/4=";
   };
 
-  patches = [
-    # Headerbars: fix missing default-decoration
-    # https://github.com/elementary/stylesheet/pull/1258
-    (fetchpatch {
-      url = "https://github.com/elementary/stylesheet/commit/9cea2383bec8f90d25f1e9b854b5221737487521.patch";
-      sha256 = "sha256-6komROS4+nxwoGoKoiDmnrTfLNZAvnTU6hIEOQQfmxc=";
-    })
-  ];
-
   nativeBuildInputs = [
     gettext
     meson
diff --git a/nixpkgs/pkgs/desktops/plasma-5/discover.nix b/nixpkgs/pkgs/desktops/plasma-5/discover.nix
index b9d3dd80a23c..2c2600845b24 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/discover.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/discover.nix
@@ -8,7 +8,6 @@
 , flatpak
 , fwupd
 , ostree
-, packagekit-qt
 , pcre
 , util-linux
 , qtquickcontrols2
@@ -42,7 +41,6 @@ mkDerivation {
     flatpak
     fwupd
     ostree
-    packagekit-qt
     pcre
     util-linux
     qtquickcontrols2
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/node-composition.nix b/nixpkgs/pkgs/development/compilers/elm/packages/node-composition.nix
index b6110ac4db99..c825c6c66349 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/node-composition.nix
+++ b/nixpkgs/pkgs/development/compilers/elm/packages/node-composition.nix
@@ -2,7 +2,7 @@
 
 {pkgs ? import <nixpkgs> {
     inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}:
 
 let
   nodeEnv = import ../../../node-packages/node-env.nix {
diff --git a/nixpkgs/pkgs/development/compilers/factor-lang/adjust-paths-in-unit-tests.patch b/nixpkgs/pkgs/development/compilers/factor-lang/adjust-paths-in-unit-tests.patch
index 068d7c09b686..10f812e3814a 100644
--- a/nixpkgs/pkgs/development/compilers/factor-lang/adjust-paths-in-unit-tests.patch
+++ b/nixpkgs/pkgs/development/compilers/factor-lang/adjust-paths-in-unit-tests.patch
@@ -8,17 +8,17 @@ Subject: [PATCH] adjust unit test for finding executables in path for NixOS
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/basis/io/standard-paths/unix/unix-tests.factor b/basis/io/standard-paths/unix/unix-tests.factor
-index 986c0564d2..f0772fdcc9 100644
+index acd5029..870537f 100644
 --- a/basis/io/standard-paths/unix/unix-tests.factor
 +++ b/basis/io/standard-paths/unix/unix-tests.factor
-@@ -5,12 +5,12 @@ sequences tools.test ;
- 
+@@ -5,13 +5,13 @@ sequences tools.test ;
+
  { f } [ "" find-in-path ] unit-test
  { t } [
 -    "ls" find-in-path { "/bin/ls" "/usr/bin/ls" } member?
 +    "ls" find-in-path not not
  ] unit-test
- 
+
  { t } [
      "/sbin:" "PATH" os-env append "PATH" [
          "ps" find-in-path
@@ -26,6 +26,3 @@ index 986c0564d2..f0772fdcc9 100644
 +        not not
      ] with-os-env
  ] unit-test
--- 
-2.19.2
-
diff --git a/nixpkgs/pkgs/development/compilers/factor-lang/factor98.nix b/nixpkgs/pkgs/development/compilers/factor-lang/factor99.nix
index 104290684a50..85ff98a28ba1 100644
--- a/nixpkgs/pkgs/development/compilers/factor-lang/factor98.nix
+++ b/nixpkgs/pkgs/development/compilers/factor-lang/factor99.nix
@@ -83,8 +83,8 @@ let
     ${wrapFactorScript { from = "./factor"; inherit runtimeLibs; }}
     ln -sf factor.image .factor-wrapped.image
   '';
-  rev = "7999e72aecc3c5bc4019d43dc4697f49678cc3b4";
-  version = "0.98";
+  rev = "e10b64dbc53a8583098e73580a1eb9ff4ce0c709";
+  version = "0.99";
 
 in
 stdenv.mkDerivation {
@@ -93,12 +93,12 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://downloads.factorcode.org/releases/${version}/factor-src-${version}.zip";
-    sha256 = "01ip9mbnar4sv60d2wcwfz62qaamdvbykxw3gbhzqa25z36vi3ri";
+    sha256 = "f5626bb3119bd77de9ac3392fdbe188bffc26557fab3ea34f7ca21e372a8443e";
   };
 
   patches = [
-    ./staging-command-line-0.98-pre.patch
-    ./workdir-0.98-pre.patch
+    ./staging-command-line-0.99-pre.patch
+    ./workdir-0.99-pre.patch
     ./adjust-paths-in-unit-tests.patch
   ];
 
diff --git a/nixpkgs/pkgs/development/compilers/factor-lang/scope.nix b/nixpkgs/pkgs/development/compilers/factor-lang/scope.nix
index 02f0f8896341..af0d7af1293f 100644
--- a/nixpkgs/pkgs/development/compilers/factor-lang/scope.nix
+++ b/nixpkgs/pkgs/development/compilers/factor-lang/scope.nix
@@ -5,7 +5,7 @@ let
   inside = (self:
   let callPackage = pkgs.newScope self;
   in rec {
-    interpreter = callPackage ./factor98.nix { inherit (pkgs) stdenv; };
+    interpreter = callPackage ./factor99.nix { inherit (pkgs) stdenv; };
 
     # Convenience access for using the returned attribute the same way as the
     # interpreter derivation. Takes a list of runtime libraries as its only
diff --git a/nixpkgs/pkgs/development/compilers/factor-lang/staging-command-line-0.98-pre.patch b/nixpkgs/pkgs/development/compilers/factor-lang/staging-command-line-0.99-pre.patch
index 57fc657ddcf3..a9631664a35d 100644
--- a/nixpkgs/pkgs/development/compilers/factor-lang/staging-command-line-0.98-pre.patch
+++ b/nixpkgs/pkgs/development/compilers/factor-lang/staging-command-line-0.99-pre.patch
@@ -1,10 +1,10 @@
 diff --git a/basis/tools/deploy/backend/backend.factor b/basis/tools/deploy/backend/backend.factor
-index ec86089dbe..b146168ec9 100644
+index cfcca0d..87a2b01 100644
 --- a/basis/tools/deploy/backend/backend.factor
 +++ b/basis/tools/deploy/backend/backend.factor
-@@ -69,7 +69,7 @@ ERROR: can't-deploy-library-file library ;
+@@ -72,7 +72,7 @@ ERROR: can't-deploy-library-file library ;
              [ staging-image-name "-output-image=" prepend , ]
-             [ " " join "-include=" prepend , ] bi
+             [ join-words "-include=" prepend , ] bi
          ] [
 -            input-image-name "-i=" prepend ,
 +            input-image-name resource-path "-i=" prepend ,
diff --git a/nixpkgs/pkgs/development/compilers/factor-lang/workdir-0.98-pre.patch b/nixpkgs/pkgs/development/compilers/factor-lang/workdir-0.98-pre.patch
deleted file mode 100644
index f1498743dd67..000000000000
--- a/nixpkgs/pkgs/development/compilers/factor-lang/workdir-0.98-pre.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/core/io/pathnames/pathnames.factor b/core/io/pathnames/pathnames.factor
-index 2d382e49d1..d4d9228d6c 100644
---- a/core/io/pathnames/pathnames.factor
-+++ b/core/io/pathnames/pathnames.factor
-@@ -144,7 +144,10 @@ GENERIC: vocab-path ( path -- newpath )
- GENERIC: absolute-path ( path -- path' )
- 
- M: string absolute-path
--    "resource:" ?head [
-+    "resource:work" ?head [
-+        trim-head-separators "/var/lib/factor" prepend-path
-+        absolute-path ]
-+    [ "resource:" ?head [
-         trim-head-separators resource-path
-         absolute-path
-     ] [
-@@ -158,6 +161,7 @@ M: string absolute-path
-         ] [
-             current-directory get prepend-path
-         ] if ] if
-+      ] if
-     ] if ;
- 
- M: object normalize-path ( path -- path' )
diff --git a/nixpkgs/pkgs/development/compilers/factor-lang/workdir-0.99-pre.patch b/nixpkgs/pkgs/development/compilers/factor-lang/workdir-0.99-pre.patch
new file mode 100644
index 000000000000..f1e7a5920627
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/factor-lang/workdir-0.99-pre.patch
@@ -0,0 +1,13 @@
+diff --git a/core/io/pathnames/pathnames.factor b/core/io/pathnames/pathnames.factor
+index a172fe4..40858bc 100644
+--- a/core/io/pathnames/pathnames.factor
++++ b/core/io/pathnames/pathnames.factor
+@@ -166,6 +166,8 @@ GENERIC: absolute-path ( path -- path' )
+
+ M: string absolute-path
+     {
++        { [ "resource:work" ?head ]
++          [ trim-head-separators "/var/lib/factor" prepend-path absolute-path ] }
+         { [ "resource:" ?head ] [ trim-head-separators resource-path absolute-path ] }
+         { [ "vocab:" ?head ] [ trim-head-separators vocab-path absolute-path ] }
+         { [ "~" ?head ] [ trim-head-separators home prepend-path absolute-path ] }
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/clang/LLVMgold-path.patch b/nixpkgs/pkgs/development/compilers/llvm/5/clang/LLVMgold-path.patch
deleted file mode 100644
index 6a09c91b5132..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/clang/LLVMgold-path.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/lib/Driver/ToolChains/CommonArgs.cpp b/lib/Driver/ToolChains/CommonArgs.cpp
-index 00bd60bc24bb..17416b0bd3c0 100644
---- a/lib/Driver/ToolChains/CommonArgs.cpp
-+++ b/lib/Driver/ToolChains/CommonArgs.cpp
-@@ -376,8 +376,7 @@ void tools::AddGoldPlugin(const ToolChain &ToolChain, const ArgList &Args,
-   // as gold requires -plugin to come before any -plugin-opt that -Wl might
-   // forward.
-   CmdArgs.push_back("-plugin");
--  std::string Plugin =
--      ToolChain.getDriver().Dir + "/../lib" CLANG_LIBDIR_SUFFIX "/LLVMgold.so";
-+  std::string Plugin = "@libllvmLibdir@" "/LLVMgold.so";
-   CmdArgs.push_back(Args.MakeArgString(Plugin));
- 
-   // Try to pass driver level flags relevant to LTO code generation down to
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix
deleted file mode 100644
index 70ffb3e0dd19..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix
+++ /dev/null
@@ -1,127 +0,0 @@
-{ lib, stdenv, llvm_meta, fetch, substituteAll, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3
-, buildLlvmTools
-, fixDarwinDylibNames
-, enableManpages ? false
-}:
-
-let
-  self = stdenv.mkDerivation ({
-    pname = "clang";
-    inherit version;
-
-    src = fetch "cfe" "0018520c4qxf5hgjdqgpz2dgl3faf4gsz87fdlb8zdmx99rfk77s";
-
-    unpackPhase = ''
-      unpackFile $src
-      mv cfe-${version}* clang
-      sourceRoot=$PWD/clang
-      unpackFile ${clang-tools-extra_src}
-      mv clang-tools-extra-* $sourceRoot/tools/extra
-    '';
-
-    nativeBuildInputs = [ cmake python3 ]
-      ++ lib.optional enableManpages python3.pkgs.sphinx
-      ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
-
-    buildInputs = [ libxml2 libllvm ];
-
-    cmakeFlags = [
-      "-DCMAKE_CXX_FLAGS=-std=c++11"
-      "-DLLVM_ENABLE_RTTI=ON"
-      "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
-    ] ++ lib.optionals enableManpages [
-      "-DCLANG_INCLUDE_DOCS=ON"
-      "-DLLVM_ENABLE_SPHINX=ON"
-      "-DSPHINX_OUTPUT_MAN=ON"
-      "-DSPHINX_OUTPUT_HTML=OFF"
-      "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-    ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-      "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
-      "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen"
-    ];
-
-    patches = [
-      ../../common/clang/5-8-purity.patch
-      ./gnu-install-dirs.patch
-      (substituteAll {
-        src = ./LLVMgold-path.patch;
-        libllvmLibdir = "${libllvm.lib}/lib";
-      })
-    ];
-
-    postPatch = ''
-      sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
-             -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
-             lib/Driver/ToolChains/*.cpp
-    '' + lib.optionalString stdenv.hostPlatform.isMusl ''
-      sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
-    '';
-
-    outputs = [ "out" "lib" "dev" "python" ];
-
-    postInstall = ''
-      ln -sv $out/bin/clang $out/bin/cpp
-
-      # Move libclang to 'lib' output
-      moveToOutput "lib/libclang.*" "$lib"
-      substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
-          --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang."
-
-      mkdir -p $python/bin $python/share/{clang,scan-view}
-      mv $out/bin/{git-clang-format,scan-view} $python/bin
-      if [ -e $out/bin/set-xcode-analyzer ]; then
-        mv $out/bin/set-xcode-analyzer $python/bin
-      fi
-      mv $out/share/clang/*.py $python/share/clang
-      mv $out/share/scan-view/*.py $python/share/scan-view
-      rm $out/bin/c-index-test
-      patchShebangs $python/bin
-
-      mkdir -p $dev/bin
-      cp bin/clang-tblgen $dev/bin
-    '';
-
-    passthru = {
-      inherit libllvm;
-      isClang = true;
-      hardeningUnsupportedFlags = [ "fortify3" ];
-    };
-
-    meta = llvm_meta // {
-      homepage = "https://clang.llvm.org/";
-      description = "A C language family frontend for LLVM";
-      longDescription = ''
-        The Clang project provides a language front-end and tooling
-        infrastructure for languages in the C language family (C, C++, Objective
-        C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project.
-        It aims to deliver amazingly fast compiles, extremely useful error and
-        warning messages and to provide a platform for building great source
-        level tools. The Clang Static Analyzer and clang-tidy are tools that
-        automatically find bugs in your code, and are great examples of the sort
-        of tools that can be built using the Clang frontend as a library to
-        parse C/C++ code.
-      '';
-      mainProgram = "clang";
-    };
-  } // lib.optionalAttrs enableManpages {
-    pname = "clang-manpages";
-
-    buildPhase = ''
-      make docs-clang-man
-    '';
-
-    installPhase = ''
-      mkdir -p $out/share/man/man1
-      # Manually install clang manpage
-      cp docs/man/*.1 $out/share/man/man1/
-    '';
-
-    outputs = [ "out" ];
-
-    doCheck = false;
-
-    meta = llvm_meta // {
-      description = "man page for Clang ${version}";
-    };
-  });
-in self
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/clang/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/5/clang/gnu-install-dirs.patch
deleted file mode 100644
index 7e6903222f45..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/clang/gnu-install-dirs.patch
+++ /dev/null
@@ -1,242 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2667b1d6892e..87c5ad58738f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5,6 +5,8 @@ cmake_minimum_required(VERSION 3.4.3)
- if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
-   project(Clang)
- 
-+  include(GNUInstallDirs)
-+
-   # Rely on llvm-config.
-   set(CONFIG_OUTPUT)
-   find_program(LLVM_CONFIG "llvm-config")
-@@ -344,7 +346,7 @@ include_directories(BEFORE
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/clang include/clang-c
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.def"
-     PATTERN "*.h"
-@@ -353,7 +355,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     )
- 
-   install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/clang
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "CMakeFiles" EXCLUDE
-     PATTERN "*.inc"
-@@ -361,7 +363,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     )
- 
-   install(PROGRAMS utils/bash-autocomplete.sh
--    DESTINATION share/clang
-+    DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-     )
- endif()
- 
-diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake
-index e657059744a4..19da44638fe6 100644
---- a/cmake/modules/AddClang.cmake
-+++ b/cmake/modules/AddClang.cmake
-@@ -99,9 +99,9 @@ macro(add_clang_library name)
-       install(TARGETS ${name}
-         COMPONENT ${name}
-         ${export_to_clangtargets}
--        LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--        ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--        RUNTIME DESTINATION bin)
-+        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
-       if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
-         add_custom_target(install-${name}
-@@ -143,7 +143,7 @@ macro(add_clang_tool name)
- 
-     install(TARGETS ${name}
-       ${export_to_clangtargets}
--      RUNTIME DESTINATION bin
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-       COMPONENT ${name})
- 
-     if(NOT CMAKE_CONFIGURATION_TYPES)
-@@ -160,5 +160,5 @@ endmacro()
- macro(add_clang_symlink name dest)
-   add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
-   # Always generate install targets
--  llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
-+  llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE)
- endmacro()
-diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt
-index a621c02644e3..e140efc9c83c 100644
---- a/lib/Headers/CMakeLists.txt
-+++ b/lib/Headers/CMakeLists.txt
-@@ -129,13 +129,13 @@ install(
-   FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
-   COMPONENT clang-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
-+  DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
- 
- install(
-   FILES ${cuda_wrapper_files}
-   COMPONENT clang-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers)
-+  DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers)
- 
- if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's.
-   add_custom_target(install-clang-headers
-diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt
-index ad990e010eef..92e52d05afb9 100644
---- a/tools/c-index-test/CMakeLists.txt
-+++ b/tools/c-index-test/CMakeLists.txt
-@@ -48,7 +48,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH
-        "@executable_path/../../lib")
-   else()
--    set(INSTALL_DESTINATION bin)
-+    set(INSTALL_DESTINATION ${CMAKE_INSTALL_BINDIR})
-   endif()
- 
-   install(TARGETS c-index-test
-diff --git a/tools/clang-check/CMakeLists.txt b/tools/clang-check/CMakeLists.txt
-index 04151a8e0331..13918d91c4ba 100644
---- a/tools/clang-check/CMakeLists.txt
-+++ b/tools/clang-check/CMakeLists.txt
-@@ -19,4 +19,4 @@ target_link_libraries(clang-check
-   )
- 
- install(TARGETS clang-check
--  RUNTIME DESTINATION bin)
-+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-diff --git a/tools/clang-format/CMakeLists.txt b/tools/clang-format/CMakeLists.txt
-index a13633eaefc4..9b0094783690 100644
---- a/tools/clang-format/CMakeLists.txt
-+++ b/tools/clang-format/CMakeLists.txt
-@@ -20,20 +20,20 @@ if( LLVM_USE_SANITIZE_COVERAGE )
- endif()
- 
- install(PROGRAMS clang-format-bbedit.applescript
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format-diff.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format-sublime.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format.el
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS git-clang-format
--  DESTINATION bin
-+  DESTINATION ${CMAKE_INSTALL_BINDIR}
-   COMPONENT clang-format)
-diff --git a/tools/clang-offload-bundler/CMakeLists.txt b/tools/clang-offload-bundler/CMakeLists.txt
-index 6161d08ae587..a003292d1676 100644
---- a/tools/clang-offload-bundler/CMakeLists.txt
-+++ b/tools/clang-offload-bundler/CMakeLists.txt
-@@ -21,4 +21,4 @@ target_link_libraries(clang-offload-bundler
-   ${CLANG_OFFLOAD_BUNDLER_LIB_DEPS}
-   )
- 
--install(TARGETS clang-offload-bundler RUNTIME DESTINATION bin)
-+install(TARGETS clang-offload-bundler RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-diff --git a/tools/clang-rename/CMakeLists.txt b/tools/clang-rename/CMakeLists.txt
-index 771e3bdea6f0..d1396e62b28f 100644
---- a/tools/clang-rename/CMakeLists.txt
-+++ b/tools/clang-rename/CMakeLists.txt
-@@ -14,11 +14,11 @@ target_link_libraries(clang-rename
-   clangToolingRefactor
-   )
- 
--install(TARGETS clang-rename RUNTIME DESTINATION bin)
-+install(TARGETS clang-rename RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
- install(PROGRAMS clang-rename.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-rename)
- install(PROGRAMS clang-rename.el
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-rename)
-diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt
-index 2dd670307636..1fe576f77ddb 100644
---- a/tools/libclang/CMakeLists.txt
-+++ b/tools/libclang/CMakeLists.txt
-@@ -121,7 +121,7 @@ endif()
- if(INTERNAL_INSTALL_PREFIX)
-   set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include")
- else()
--  set(LIBCLANG_HEADERS_INSTALL_DESTINATION include)
-+  set(LIBCLANG_HEADERS_INSTALL_DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- endif()
- 
- install(DIRECTORY ../../include/clang-c
-diff --git a/tools/scan-build/CMakeLists.txt b/tools/scan-build/CMakeLists.txt
-index 380379300b09..adfd58ed5f7d 100644
---- a/tools/scan-build/CMakeLists.txt
-+++ b/tools/scan-build/CMakeLists.txt
-@@ -41,7 +41,7 @@ if(CLANG_INSTALL_SCANBUILD)
-                          ${CMAKE_BINARY_DIR}/bin/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
--    install(PROGRAMS bin/${BinFile} DESTINATION bin)
-+    install(PROGRAMS bin/${BinFile} DESTINATION ${CMAKE_INSTALL_BINDIR})
-   endforeach()
- 
-   foreach(LibexecFile ${LibexecFiles})
-@@ -53,7 +53,7 @@ if(CLANG_INSTALL_SCANBUILD)
-                          ${CMAKE_BINARY_DIR}/libexec/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile})
--    install(PROGRAMS libexec/${LibexecFile} DESTINATION libexec)
-+    install(PROGRAMS libexec/${LibexecFile} DESTINATION ${CMAKE_INSTALL_LIBEXECDIR})
-   endforeach()
- 
-   foreach(ManPage ${ManPages})
-@@ -77,7 +77,7 @@ if(CLANG_INSTALL_SCANBUILD)
-                          ${CMAKE_BINARY_DIR}/share/scan-build/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile})
--    install(FILES share/scan-build/${ShareFile} DESTINATION share/scan-build)
-+    install(FILES share/scan-build/${ShareFile} DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-build)
-   endforeach()
- 
-   add_custom_target(scan-build ALL DEPENDS ${Depends})
-diff --git a/tools/scan-view/CMakeLists.txt b/tools/scan-view/CMakeLists.txt
-index b305ca562a72..554bcb379061 100644
---- a/tools/scan-view/CMakeLists.txt
-+++ b/tools/scan-view/CMakeLists.txt
-@@ -21,7 +21,7 @@ if(CLANG_INSTALL_SCANVIEW)
-                          ${CMAKE_BINARY_DIR}/bin/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
--    install(PROGRAMS bin/${BinFile} DESTINATION bin)
-+    install(PROGRAMS bin/${BinFile} DESTINATION ${CMAKE_INSTALL_BINDIR})
-   endforeach()
- 
-   foreach(ShareFile ${ShareFiles})
-@@ -33,7 +33,7 @@ if(CLANG_INSTALL_SCANVIEW)
-                          ${CMAKE_BINARY_DIR}/share/scan-view/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile})
--    install(FILES share/${ShareFile} DESTINATION share/scan-view)
-+    install(FILES share/${ShareFile} DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-view)
-   endforeach()
- 
-   add_custom_target(scan-view ALL DEPENDS ${Depends})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/armv7l.patch b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/armv7l.patch
deleted file mode 100644
index 77bf2640c477..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/armv7l.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -ur compiler-rt-5.0.2.src/cmake/builtin-config-ix.cmake compiler-rt-5.0.2.src-patched/cmake/builtin-config-ix.cmake
---- compiler-rt-5.0.2.src/cmake/builtin-config-ix.cmake	2017-05-25 00:53:24.000000000 +0900
-+++ compiler-rt-5.0.2.src-patched/cmake/builtin-config-ix.cmake	2020-05-10 03:24:24.937433155 +0900
-@@ -24,7 +24,7 @@
- 
- 
- set(ARM64 aarch64)
--set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k)
-+set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l)
- set(X86 i386 i686)
- set(X86_64 x86_64)
- set(MIPS32 mips mipsel)
-diff -ur compiler-rt-5.0.2.src/lib/builtins/CMakeLists.txt compiler-rt-5.0.2.src-patched/lib/builtins/CMakeLists.txt
---- compiler-rt-5.0.2.src/lib/builtins/CMakeLists.txt	2017-07-13 04:33:30.000000000 +0900
-+++ compiler-rt-5.0.2.src-patched/lib/builtins/CMakeLists.txt	2020-05-10 03:24:45.945075423 +0900
-@@ -444,6 +444,7 @@
- set(armv7_SOURCES ${arm_SOURCES})
- set(armv7s_SOURCES ${arm_SOURCES})
- set(armv7k_SOURCES ${arm_SOURCES})
-+set(armv7l_SOURCES ${arm_SOURCES})
- set(arm64_SOURCES ${aarch64_SOURCES})
- 
- # macho_embedded archs
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/codesign.patch b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/codesign.patch
deleted file mode 100644
index 8f4c76bca1eb..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/codesign.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
-From: Will Dietz <w@wdtz.org>
-Date: Tue, 19 Sep 2017 13:13:06 -0500
-Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
- needs it
-
----
- cmake/Modules/AddCompilerRT.cmake |  8 ------
- test/asan/CMakeLists.txt          | 52 ---------------------------------------
- test/tsan/CMakeLists.txt          | 47 -----------------------------------
- 3 files changed, 107 deletions(-)
-
-diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
-index bc5fb9ff7..b64eb4246 100644
---- a/cmake/Modules/AddCompilerRT.cmake
-+++ b/cmake/Modules/AddCompilerRT.cmake
-@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
-         set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
-         set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
-       endif()
--      if(APPLE)
--        # Ad-hoc sign the dylibs
--        add_custom_command(TARGET ${libname}
--          POST_BUILD  
--          COMMAND codesign --sign - $<TARGET_FILE:${libname}>
--          WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
--        )
--      endif()
-     endif()
-     install(TARGETS ${libname}
-       ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
-diff --git a/test/asan/CMakeLists.txt b/test/asan/CMakeLists.txt
-index 8bfc15b5c..f23d0f71a 100644
---- a/test/asan/CMakeLists.txt
-+++ b/test/asan/CMakeLists.txt
-@@ -83,58 +83,6 @@ foreach(arch ${ASAN_TEST_ARCH})
-   endif()
- endforeach()
- 
--# iOS and iOS simulator test suites
--# These are not added into "check-all", in order to run these tests, use
--# "check-asan-iossim-x86_64" and similar. They also require that an extra env
--# variable to select which iOS device or simulator to use, e.g.:
--# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6"
--if(APPLE)
--  set(EXCLUDE_FROM_ALL ON)
--
--  set(ASAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER})
--  set(ASAN_TEST_IOS "1")
--  pythonize_bool(ASAN_TEST_IOS)
--  set(ASAN_TEST_DYNAMIC True)
--
--  foreach(arch ${DARWIN_iossim_ARCHS})
--    set(ASAN_TEST_IOSSIM "1")
--    pythonize_bool(ASAN_TEST_IOSSIM)
--    set(ASAN_TEST_TARGET_ARCH ${arch})
--    set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}")
--    set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-iossim")
--    get_bits_for_arch(${arch} ASAN_TEST_BITS)
--    string(TOUPPER ${arch} ARCH_UPPER_CASE)
--    set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config")
--    configure_lit_site_cfg(
--      ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
--      ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg
--      )
--    add_lit_testsuite(check-asan-iossim-${arch} "AddressSanitizer iOS Simulator ${arch} tests"
--      ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/
--      DEPENDS ${ASAN_TEST_DEPS})
--  endforeach()
--
--  foreach (arch ${DARWIN_ios_ARCHS})
--    set(ASAN_TEST_IOSSIM "0")
--    pythonize_bool(ASAN_TEST_IOSSIM)
--    set(ASAN_TEST_TARGET_ARCH ${arch})
--    set(ASAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}")
--    set(ASAN_TEST_CONFIG_SUFFIX "-${arch}-ios")
--    get_bits_for_arch(${arch} ASAN_TEST_BITS)
--    string(TOUPPER ${arch} ARCH_UPPER_CASE)
--    set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config")
--    configure_lit_site_cfg(
--      ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
--      ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg
--      )
--    add_lit_testsuite(check-asan-ios-${arch} "AddressSanitizer iOS ${arch} tests"
--      ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/
--      DEPENDS ${ASAN_TEST_DEPS})
--  endforeach()
--
--  set(EXCLUDE_FROM_ALL OFF)
--endif()
--
- # Add unit tests.
- if(COMPILER_RT_INCLUDE_TESTS)
-   set(ASAN_TEST_DYNAMIC False)
-diff --git a/test/tsan/CMakeLists.txt b/test/tsan/CMakeLists.txt
-index a68908612..cde0accb5 100644
---- a/test/tsan/CMakeLists.txt
-+++ b/test/tsan/CMakeLists.txt
-@@ -42,53 +42,6 @@ foreach(arch ${TSAN_TEST_ARCH})
-   list(APPEND TSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})
- endforeach()
- 
--# iOS and iOS simulator test suites
--# These are not added into "check-all", in order to run these tests, use
--# "check-tsan-iossim-x86_64" and similar. They also require an extra environment
--# variable to select which iOS device or simulator to use, e.g.:
--# SANITIZER_IOSSIM_TEST_DEVICE_IDENTIFIER="iPhone 6"
--if(APPLE)
--  set(EXCLUDE_FROM_ALL ON)
--
--  set(TSAN_TEST_TARGET_CC ${COMPILER_RT_TEST_COMPILER})
--  set(TSAN_TEST_IOS "1")
--  pythonize_bool(TSAN_TEST_IOS)
--
--  set(arch "x86_64")
--  set(TSAN_TEST_IOSSIM "1")
--  pythonize_bool(TSAN_TEST_IOSSIM)
--  set(TSAN_TEST_TARGET_ARCH ${arch})
--  set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_iossim_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}")
--  set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-iossim")
--  string(TOUPPER ${arch} ARCH_UPPER_CASE)
--  set(CONFIG_NAME "IOSSim${ARCH_UPPER_CASE}Config")
--  configure_lit_site_cfg(
--    ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
--    ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg
--    )
--  add_lit_testsuite(check-tsan-iossim-${arch} "ThreadSanitizer iOS Simulator ${arch} tests"
--    ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/
--    DEPENDS ${TSAN_TEST_DEPS})
--
--  set(arch "arm64")
--  set(TSAN_TEST_IOSSIM "0")
--  pythonize_bool(TSAN_TEST_IOSSIM)
--  set(TSAN_TEST_TARGET_ARCH ${arch})
--  set(TSAN_TEST_TARGET_CFLAGS "-arch ${arch} -isysroot ${DARWIN_ios_SYSROOT} ${COMPILER_RT_TEST_COMPILER_CFLAGS}")
--  set(TSAN_TEST_CONFIG_SUFFIX "-${arch}-ios")
--  string(TOUPPER ${arch} ARCH_UPPER_CASE)
--  set(CONFIG_NAME "IOS${ARCH_UPPER_CASE}Config")
--  configure_lit_site_cfg(
--    ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
--    ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg
--    )
--  add_lit_testsuite(check-tsan-ios-${arch} "ThreadSanitizer iOS Simulator ${arch} tests"
--    ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/
--    DEPENDS ${TSAN_TEST_DEPS})
--
--  set(EXCLUDE_FROM_ALL OFF)
--endif()
--
- if(COMPILER_RT_INCLUDE_TESTS)
-   configure_lit_site_cfg(
-     ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
--- 
-2.14.1
-
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch
deleted file mode 100644
index e7abf9735b90..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/compiler-rt-5-cstddef.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/lib/xray/xray_buffer_queue.h
-+++ b/lib/xray/xray_buffer_queue.h
-@@ -17,6 +17,7 @@
- 
- #include "sanitizer_common/sanitizer_atomic.h"
- #include "sanitizer_common/sanitizer_mutex.h"
-+#include <cstddef>
- #include <deque>
- #include <unordered_set>
- #include <utility>
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
deleted file mode 100644
index fede3347e42b..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
+++ /dev/null
@@ -1,112 +0,0 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi
-, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
-}:
-
-let
-
-  useLLVM = stdenv.hostPlatform.useLLVM or false;
-  bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none";
-  inherit (stdenv.hostPlatform) isMusl;
-
-in
-
-stdenv.mkDerivation {
-  pname = "compiler-rt";
-  inherit version;
-  src = fetch "compiler-rt" "0ipd4jdxpczgr2w6lzrabymz6dhzj69ywmyybjjc1q397zgrvziy";
-
-  nativeBuildInputs = [ cmake python3 libllvm.dev ];
-  buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
-
-  env.NIX_CFLAGS_COMPILE = toString [
-    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
-  ];
-
-  cmakeFlags = [
-    "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
-    "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
-    "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
-  ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [
-    "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
-    "-DCOMPILER_RT_BUILD_XRAY=OFF"
-    "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
-  ] ++ lib.optionals (useLLVM || bareMetal) [
-    "-DCOMPILER_RT_BUILD_PROFILE=OFF"
-  ] ++ lib.optionals (useLLVM || bareMetal) [
-    "-DCMAKE_C_COMPILER_WORKS=ON"
-    "-DCMAKE_CXX_COMPILER_WORKS=ON"
-    "-DCOMPILER_RT_BAREMETAL_BUILD=ON"
-    "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
-  ] ++ lib.optionals (useLLVM) [
-    "-DCOMPILER_RT_BUILD_BUILTINS=ON"
-    "-DCMAKE_C_FLAGS=-nodefaultlibs"
-    #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
-    "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
-  ] ++ lib.optionals (bareMetal) [
-    "-DCOMPILER_RT_OS_DIR=baremetal"
-  ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [
-    # The compiler-rt build infrastructure sniffs supported platforms on Darwin
-    # and finds i386;x86_64;x86_64h. We only build for x86_64, so linking fails
-    # when it tries to use libc++ and libc++api for i386.
-    "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}"
-  ];
-
-  outputs = [ "out" "dev" ];
-
-  patches = [
-    ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory
-    # https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
-    ../../common/compiler-rt/glibc.patch
-    ./gnu-install-dirs.patch
-
-    ./sys-ustat.patch
-    ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
-    ./compiler-rt-5-cstddef.patch
-  ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
-
-  # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
-  # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
-  # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
-  # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
-  # a flag and turn the flag off during the stdenv build.
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace cmake/config-ix.cmake \
-      --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
-  '' + lib.optionalString (useLLVM) ''
-    substituteInPlace lib/builtins/int_util.c \
-      --replace "#include <stdlib.h>" ""
-    substituteInPlace lib/builtins/clear_cache.c \
-      --replace "#include <assert.h>" ""
-    substituteInPlace lib/builtins/cpu_model.c \
-      --replace "#include <assert.h>" ""
-  '';
-
-  # Hack around weird upsream RPATH bug
-  postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
-    ln -s "$out/lib"/*/* "$out/lib"
-  '' + lib.optionalString (useLLVM) ''
-    ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o
-    ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/linux/crtend.o
-    ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o
-    ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o
-  '' + lib.optionalString doFakeLibgcc ''
-    ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/freebsd/libgcc.a
-  '';
-
-  meta = llvm_meta // {
-    homepage = "https://compiler-rt.llvm.org/";
-    description = "Compiler runtime libraries";
-    longDescription = ''
-      The compiler-rt project provides highly tuned implementations of the
-      low-level code generator support routines like "__fixunsdfdi" and other
-      calls generated when a target doesn't have a short sequence of native
-      instructions to implement a core IR operation. It also provides
-      implementations of run-time libraries for dynamic testing tools such as
-      AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer.
-    '';
-    # "All of the code in the compiler-rt project is dual licensed under the MIT
-    # license and the UIUC License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-    broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/gnu-install-dirs.patch
deleted file mode 100644
index 618e597e96d4..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/gnu-install-dirs.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f997c53410c1..ac079d89b57b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -12,6 +12,7 @@ cmake_minimum_required(VERSION 3.4.3)
- # Check if compiler-rt is built as a standalone project.
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE_BUILD)
-   project(CompilerRT C CXX ASM)
-+  include(GNUInstallDirs)
-   set(COMPILER_RT_STANDALONE_BUILD TRUE)
- endif()
- 
-diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
-index bc5fb9ff722b..91fb79d1980c 100644
---- a/cmake/Modules/AddCompilerRT.cmake
-+++ b/cmake/Modules/AddCompilerRT.cmake
-@@ -344,7 +344,7 @@ macro(add_compiler_rt_resource_file target_name file_name component)
-   add_custom_target(${target_name} DEPENDS ${dst_file})
-   # Install in Clang resource directory.
-   install(FILES ${file_name}
--    DESTINATION ${COMPILER_RT_INSTALL_PATH}
-+    DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_PREFIX}
-     COMPONENT ${component})
-   add_dependencies(${component} ${target_name})
- 
-@@ -361,7 +361,7 @@ macro(add_compiler_rt_script name)
-   add_custom_target(${name} DEPENDS ${dst})
-   install(FILES ${dst}
-     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
--    DESTINATION ${COMPILER_RT_INSTALL_PATH}/bin)
-+    DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_BINDIR})
- endmacro(add_compiler_rt_script src name)
- 
- # Builds custom version of libc++ and installs it in <prefix>.
-diff --git a/cmake/Modules/CompilerRTDarwinUtils.cmake b/cmake/Modules/CompilerRTDarwinUtils.cmake
-index f646975475bb..75885bf305b8 100644
---- a/cmake/Modules/CompilerRTDarwinUtils.cmake
-+++ b/cmake/Modules/CompilerRTDarwinUtils.cmake
-@@ -391,7 +391,7 @@ macro(darwin_add_embedded_builtin_libraries)
-     set(DARWIN_macho_embedded_LIBRARY_OUTPUT_DIR
-       ${COMPILER_RT_OUTPUT_DIR}/lib/macho_embedded)
-     set(DARWIN_macho_embedded_LIBRARY_INSTALL_DIR
--      ${COMPILER_RT_INSTALL_PATH}/lib/macho_embedded)
-+      ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/macho_embedded)
-       
-     set(CFLAGS_armv7 "-target thumbv7-apple-darwin-eabi")
-     set(CFLAGS_i386 "-march=pentium")
-diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake
-index b38c6ca96fac..a4580414cbc8 100644
---- a/cmake/base-config-ix.cmake
-+++ b/cmake/base-config-ix.cmake
-@@ -43,11 +43,11 @@ if (LLVM_TREE_AVAILABLE)
- else()
-     # Take output dir and install path from the user.
-   set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
--    "Path where built compiler-rt libraries should be stored.")
-+    "Path where built compiler-rt build artifacts should be stored.")
-   set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
-     "Path where built compiler-rt executables should be stored.")
--  set(COMPILER_RT_INSTALL_PATH ${CMAKE_INSTALL_PREFIX} CACHE PATH
--    "Path where built compiler-rt libraries should be installed.")
-+  set(COMPILER_RT_INSTALL_PATH "" CACHE PATH
-+    "Prefix where built compiler-rt artifacts should be installed, comes before CMAKE_INSTALL_PREFIX.")
-   option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
-   option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
-   # Use a host compiler to compile/link tests.
-@@ -67,9 +67,9 @@ if(NOT DEFINED COMPILER_RT_OS_DIR)
-   string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR)
- endif()
- set(COMPILER_RT_LIBRARY_OUTPUT_DIR
--  ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
-+  ${COMPILER_RT_OUTPUT_DIR}/${CMAKE_INSTALL_FULL_LIBDIR}/${COMPILER_RT_OS_DIR})
- set(COMPILER_RT_LIBRARY_INSTALL_DIR
--  ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR})
-+  ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/${COMPILER_RT_OS_DIR})
- 
- if(APPLE)
-   # On Darwin if /usr/include doesn't exist, the user probably has Xcode but not
-diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
-index ec3bf40b95e6..af119f10ee2b 100644
---- a/include/CMakeLists.txt
-+++ b/include/CMakeLists.txt
-@@ -44,8 +44,8 @@ set_target_properties(compiler-rt-headers PROPERTIES FOLDER "Compiler-RT Misc")
- # Install sanitizer headers.
- install(FILES ${SANITIZER_HEADERS}
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/sanitizer)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/sanitizer)
- # Install xray headers.
- install(FILES ${XRAY_HEADERS}
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/xray)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/xray)
-diff --git a/lib/dfsan/CMakeLists.txt b/lib/dfsan/CMakeLists.txt
-index 2c486bff821b..0ee715da95f8 100644
---- a/lib/dfsan/CMakeLists.txt
-+++ b/lib/dfsan/CMakeLists.txt
-@@ -44,4 +44,4 @@ add_custom_command(OUTPUT ${dfsan_abilist_filename}
-                    DEPENDS done_abilist.txt libc_ubuntu1404_abilist.txt)
- add_dependencies(dfsan dfsan_abilist)
- install(FILES ${dfsan_abilist_filename}
--        DESTINATION ${COMPILER_RT_INSTALL_PATH})
-+        DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_PREFIX})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/sys-ustat.patch b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/sys-ustat.patch
deleted file mode 100644
index d9e9a10d8600..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/sys-ustat.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 521935db9de17ad08748fd050137ac83b7734835 Mon Sep 17 00:00:00 2001
-From: Craig Topper <craig.topper@intel.com>
-Date: Thu, 24 May 2018 17:59:47 +0000
-Subject: [PATCH] sanitizer: Use pre-computed size of struct ustat for Linux
-
-<sys/ustat.h> has been removed from glibc 2.28 by:
-
-commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7
-Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-Date: Sun Mar 18 11:28:59 2018 +0800
-
-Deprecate ustat syscall interface
-This patch uses pre-computed size of struct ustat for Linux to fix
-
-https://bugs.llvm.org/show_bug.cgi?id=37418
-
-Patch by H.J. Lu.
-
-Differential Revision: https://reviews.llvm.org/D47281
-
-git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@333213 91177308-0d34-0410-b5e6-96231b3b80d8
----
- .../sanitizer_platform_limits_posix.cc            | 15 +++++++++++++--
- 1 file changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
-index 94b8f3f627..936d818673 100644
---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
-+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
-@@ -159,7 +159,6 @@ typedef struct user_fpregs elf_fpregset_t;
- # include <sys/procfs.h>
- #endif
- #include <sys/user.h>
--#include <sys/ustat.h>
- #include <linux/cyclades.h>
- #include <linux/if_eql.h>
- #include <linux/if_plip.h>
-@@ -253,7 +252,19 @@ namespace __sanitizer {
- #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
--  unsigned struct_ustat_sz = sizeof(struct ustat);
-+  // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
-+  // has been removed from glibc 2.28.
-+#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
-+  || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
-+  || defined(__x86_64__)
-+#define SIZEOF_STRUCT_USTAT 32
-+#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
-+  || defined(__powerpc__) || defined(__s390__)
-+#define SIZEOF_STRUCT_USTAT 20
-+#else
-+#error Unknown size of struct ustat
-+#endif
-+  unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
-   unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
-   unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
- #endif // SANITIZER_LINUX && !SANITIZER_ANDROID
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/default.nix
deleted file mode 100644
index 70f0d2e11bb6..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/default.nix
+++ /dev/null
@@ -1,140 +0,0 @@
-{ lowPrio, newScope, pkgs, lib, stdenv, cmake, gccForLibs
-, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
-, buildLlvmTools # tools, but from the previous stage, for cross
-, targetLlvmLibraries # libraries, but from the next stage, for cross
-, targetLlvm
-}:
-
-let
-  release_version = "5.0.2";
-  version = release_version; # differentiating these is important for rc's
-  targetConfig = stdenv.targetPlatform.config;
-
-  fetch = name: sha256: fetchurl {
-    url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
-    inherit sha256;
-  };
-
-  clang-tools-extra_src = fetch "clang-tools-extra" "018b3fiwah8f8br5i26qmzh6sjvzchpn358sn8v079m49f2jldm3";
-
-  llvm_meta = {
-    license     = lib.licenses.ncsa;
-    maintainers = lib.teams.llvm.members;
-
-    # See llvm/cmake/config-ix.cmake.
-    platforms   =
-      lib.platforms.aarch64 ++
-      lib.platforms.arm ++
-      lib.platforms.mips ++
-      lib.platforms.power ++
-      lib.platforms.s390x ++
-      lib.platforms.wasi ++
-      lib.platforms.x86;
-  };
-
-  tools = lib.makeExtensible (tools: let
-    callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; });
-    mkExtraBuildCommands = cc: ''
-      rsrc="$out/resource-root"
-      mkdir "$rsrc"
-      ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc"
-      echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
-      ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
-    '';
-
-  in {
-
-    libllvm = callPackage ./llvm {
-      inherit llvm_meta;
-    };
-
-    # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm;
-
-    libllvm-polly = callPackage ./llvm {
-      inherit llvm_meta;
-      enablePolly = true;
-    };
-
-    llvm-polly = tools.libllvm-polly.lib // { outputSpecified = false; };
-
-    libclang = callPackage ./clang {
-      inherit clang-tools-extra_src llvm_meta;
-    };
-
-    clang-unwrapped = tools.libclang;
-
-    llvm-manpages = lowPrio (tools.libllvm.override {
-      enableManpages = true;
-      python3 = pkgs.python3;  # don't use python-boot
-    });
-
-    clang-manpages = lowPrio (tools.libclang.override {
-      enableManpages = true;
-      python3 = pkgs.python3;  # don't use python-boot
-    });
-
-    # pick clang appropriate for package set we are targeting
-    clang =
-      /**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
-      else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
-      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
-      else tools.libcxxClang;
-
-    libstdcxxClang = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
-      libcxx = null;
-      extraPackages = [
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = mkExtraBuildCommands cc;
-    };
-
-    libcxxClang = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = targetLlvmLibraries.libcxx;
-      extraPackages = [
-        libcxx.cxxabi
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = mkExtraBuildCommands cc;
-    };
-
-    lld = callPackage ./lld {
-      inherit llvm_meta;
-    };
-
-    lldb = callPackage ./lldb {
-      inherit llvm_meta;
-    };
-  });
-
-  libraries = lib.makeExtensible (libraries: let
-    callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; });
-  in {
-
-    compiler-rt = callPackage ./compiler-rt {
-      inherit llvm_meta;
-    };
-
-    stdenv = overrideCC stdenv buildLlvmTools.clang;
-
-    libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
-
-    libcxx = callPackage ./libcxx {
-      inherit llvm_meta;
-    };
-
-    libcxxabi = callPackage ./libcxxabi {
-      inherit llvm_meta;
-    };
-
-    openmp = callPackage ./openmp {
-      inherit llvm_meta targetLlvm;
-    };
-  });
-  noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ];
-
-in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools)
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/libcxx/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/libcxx/default.nix
deleted file mode 100644
index 073787e92db6..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/libcxx/default.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version
-, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
-, libcxxabi, libcxxrt
-}:
-
-assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
-
-stdenv.mkDerivation {
-  pname = "libcxx";
-  inherit version;
-
-  src = fetch "libcxx" "1672aaf95fgy4xsfra8pw24f6r93zwzpan1033hkcm8p2glqipvf";
-
-  postUnpack = ''
-    unpackFile ${libcxxabi.src}
-    export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
-  '';
-
-  outputs = [ "out" "dev" ];
-
-  patches = [
-    ./gnu-install-dirs.patch
-  ] ++ lib.optionals stdenv.hostPlatform.isMusl [
-    ../../libcxx-0001-musl-hacks.patch
-  ];
-
-  prePatch = ''
-    substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
-  '';
-
-  preConfigure = ''
-    # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
-    cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
-  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
-    patchShebangs utils/cat_files.py
-  '';
-  nativeBuildInputs = [ cmake ]
-    ++ lib.optional stdenv.hostPlatform.isMusl python3
-    ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
-
-  buildInputs = [ cxxabi ];
-
-  cmakeFlags = [
-    "-DLIBCXX_LIBCPPABI_VERSION=2"
-    "-DLIBCXX_CXX_ABI=${cxxabi.pname}"
-  ] ++ lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1"
-    ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib";
-
-  preInstall = lib.optionalString (stdenv.isDarwin) ''
-    for file in lib/*.dylib; do
-      if [ -L "$file" ]; then continue; fi
-
-      baseName=$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))
-      installName="$out/lib/$baseName"
-      abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
-
-      for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
-      done
-    done
-  '';
-
-  passthru = {
-    isLLVM = true;
-    inherit cxxabi;
-  };
-
-  meta = llvm_meta // {
-    homepage = "https://libcxx.llvm.org/";
-    description = "C++ standard library";
-    longDescription = ''
-      libc++ is an implementation of the C++ standard library, targeting C++11,
-      C++14 and above.
-    '';
-    # "All of the code in libc++ is dual licensed under the MIT license and the
-    # UIUC License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/libcxx/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/5/libcxx/gnu-install-dirs.patch
deleted file mode 100644
index d9ea0dc7dfd0..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/libcxx/gnu-install-dirs.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ca5afba86d19..ed69e4043c3d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -22,6 +22,8 @@ set(CMAKE_MODULE_PATH
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   project(libcxx CXX C)
- 
-+  include(GNUInstallDirs)
-+
-   set(PACKAGE_NAME libcxx)
-   set(PACKAGE_VERSION 5.0.0)
-   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake
-index b1f6bee8f945..1b455fceed7f 100644
---- a/cmake/Modules/HandleLibCXXABI.cmake
-+++ b/cmake/Modules/HandleLibCXXABI.cmake
-@@ -55,7 +55,7 @@ macro(setup_abi_lib abidefines abilib abifiles abidirs)
-           )
-         if (LIBCXX_INSTALL_HEADERS)
-           install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}"
--            DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1/${dstdir}
-+            DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir}
-             COMPONENT libcxx
-             PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-             )
-diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
-index 5a1b2ccdc426..106d3d6c1d3c 100644
---- a/include/CMakeLists.txt
-+++ b/include/CMakeLists.txt
-@@ -20,7 +20,7 @@ endif()
- 
- if (LIBCXX_INSTALL_HEADERS)
-   install(DIRECTORY .
--    DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1
-+    DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1
-     COMPONENT cxx-headers
-     FILES_MATCHING
-     ${LIBCXX_HEADER_PATTERN}
-@@ -44,7 +44,7 @@ if (LIBCXX_INSTALL_HEADERS)
-     set(generated_config_deps generate_config_header)
-     # Install the generated header as __config.
-     install(FILES ${LIBCXX_BINARY_DIR}/__generated_config
--      DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1
-+      DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1
-       PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-       RENAME __config
-       COMPONENT cxx-headers)
-diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
-index 578651423f3b..277befd631ac 100644
---- a/lib/CMakeLists.txt
-+++ b/lib/CMakeLists.txt
-@@ -355,8 +355,8 @@ if (LIBCXX_INSTALL_LIBRARY)
-     set(experimental_lib cxx_experimental)
-   endif()
-   install(TARGETS ${LIBCXX_TARGETS} ${experimental_lib}
--    LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
--    ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
-+    LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
-+    ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
-     )
-   # NOTE: This install command must go after the cxx install command otherwise
-   # it will not be executed after the library symlinks are installed.
-@@ -364,7 +364,7 @@ if (LIBCXX_INSTALL_LIBRARY)
-     # Replace the libc++ filename with $<TARGET_LINKER_FILE:cxx>
-     # after we required CMake 3.0.
-     install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}"
--      DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX}
-+      DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX}
-       COMPONENT libcxx)
-   endif()
- endif()
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/libcxxabi/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/libcxxabi/default.nix
deleted file mode 100644
index cc2ac1beaf0c..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/libcxxabi/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version }:
-
-stdenv.mkDerivation {
-  pname = "libcxxabi";
-  inherit version;
-
-  src = fetch "libcxxabi" "12lp799rskr4fc2xr64qn4jfkjnfd8b1aymvsxyn4k9ar7r9pgqv";
-
-  outputs = [ "out" "dev" ];
-
-  postUnpack = ''
-    unpackFile ${libcxx.src}
-    unpackFile ${llvm.src}
-    export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
-  '' + lib.optionalString stdenv.isDarwin ''
-    export TRIPLE=x86_64-apple-darwin
-  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
-    patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
-  '';
-
-  patches = [
-    ./gnu-install-dirs.patch
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = lib.optional (!stdenv.isDarwin) libunwind;
-
-  preInstall = lib.optionalString stdenv.isDarwin ''
-    for file in lib/*.dylib; do
-      if [ -L "$file" ]; then continue; fi
-
-      # Fix up the install name. Preserve the basename, just replace the path.
-      installName="$out/lib/$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))"
-
-      # this should be done in CMake, but having trouble figuring out
-      # the magic combination of necessary CMake variables
-      # if you fancy a try, take a look at
-      # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
-      ${stdenv.cc.targetPrefix}install_name_tool -id $installName $file
-
-      # cc-wrapper passes '-lc++abi' to all c++ link steps, but that causes
-      # libcxxabi to sometimes link against a different version of itself.
-      # Here we simply make that second reference point to ourselves.
-      for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other $installName $file
-      done
-    done
-  '';
-
-  postInstall = ''
-    mkdir -p "$dev/include"
-    install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
-  '';
-
-  passthru = {
-    libName = "c++abi";
-  };
-
-  meta = llvm_meta // {
-    homepage = "https://libcxxabi.llvm.org/";
-    description = "Provides C++ standard library support";
-    longDescription = ''
-      libc++abi is a new implementation of low level support for a standard C++ library.
-    '';
-    # "All of the code in libc++abi is dual licensed under the MIT license and
-    # the UIUC License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-    maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/libcxxabi/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/5/libcxxabi/gnu-install-dirs.patch
deleted file mode 100644
index 760d7194f7b9..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/libcxxabi/gnu-install-dirs.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4db3328deb9c..74b39acfe588 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -20,6 +20,8 @@ set(CMAKE_MODULE_PATH
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   project(libcxxabi CXX C)
- 
-+  include(GNUInstallDirs)
-+
-   set(PACKAGE_NAME libcxxabi)
-   set(PACKAGE_VERSION 5.0.0)
-   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index adcc412880c9..71758665af05 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -174,8 +174,8 @@ endif()
- add_custom_target(cxxabi DEPENDS ${LIBCXXABI_TARGETS})
- 
- install(TARGETS ${LIBCXXABI_TARGETS}
--  LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}lib${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi
--  ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}lib${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi
-+  LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi
-+  ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi
-   )
- 
- if (NOT CMAKE_CONFIGURATION_TYPES)
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/lld/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/lld/default.nix
deleted file mode 100644
index d3cbede8433a..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/lld/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, stdenv, llvm_meta
-, buildLlvmTools
-, fetch
-, cmake
-, libllvm
-, version
-}:
-
-stdenv.mkDerivation rec {
-  pname = "lld";
-  inherit version;
-
-  src = fetch "lld" "1ah75rjly6747jk1zbwca3z0svr9b09ylgxd4x9ns721xir6sia6";
-
-  patches = [
-    ./gnu-install-dirs.patch
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ libllvm ];
-
-  cmakeFlags = [
-    "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
-  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
-  ];
-
-  # Musl's default stack size is too small for lld to be able to link Firefox.
-  LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152";
-
-  outputs = [ "out" "lib" "dev" ];
-
-  meta = llvm_meta // {
-    broken = stdenv.isDarwin;
-    homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker (unwrapped)";
-    longDescription = ''
-      LLD is a linker from the LLVM project that is a drop-in replacement for
-      system linkers and runs much faster than them. It also provides features
-      that are useful for toolchain developers.
-      The linker supports ELF (Unix), PE/COFF (Windows), and Mach-O (macOS)
-      in descending order of completeness. Internally, LLD consists
-      of several different linkers.
-    '';
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/lld/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/5/lld/gnu-install-dirs.patch
deleted file mode 100644
index ed673870dec5..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/lld/gnu-install-dirs.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e2ab0e35f1ab..f68e23d2a70d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -6,6 +6,8 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   set(CMAKE_INCLUDE_CURRENT_DIR ON)
-   set(LLD_BUILT_STANDALONE TRUE)
- 
-+  include(GNUInstallDirs)
-+
-   find_program(LLVM_CONFIG_PATH "llvm-config" DOC "Path to llvm-config binary")
-   if(NOT LLVM_CONFIG_PATH)
-     message(FATAL_ERROR "llvm-config not found: specify LLVM_CONFIG_PATH")
-@@ -203,7 +205,7 @@ include_directories(BEFORE
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake
-index fd1d44199ca6..2ec1831ed8f6 100644
---- a/cmake/modules/AddLLD.cmake
-+++ b/cmake/modules/AddLLD.cmake
-@@ -20,9 +20,9 @@ macro(add_lld_library name)
-     install(TARGETS ${name}
-       COMPONENT ${name}
-       ${export_to_lldtargets}
--      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--      RUNTIME DESTINATION bin)
-+      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
-     if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
-       add_custom_target(install-${name}
-@@ -56,7 +56,7 @@ macro(add_lld_tool name)
- 
-     install(TARGETS ${name}
-       ${export_to_lldtargets}
--      RUNTIME DESTINATION bin
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-       COMPONENT ${name})
- 
-     if(NOT CMAKE_CONFIGURATION_TYPES)
-@@ -73,5 +73,5 @@ endmacro()
- macro(add_lld_symlink name dest)
-   add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
-   # Always generate install targets
--  llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
-+  llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE)
- endmacro()
-diff --git a/tools/lld/CMakeLists.txt b/tools/lld/CMakeLists.txt
-index 2df10697ff66..94aa8d092220 100644
---- a/tools/lld/CMakeLists.txt
-+++ b/tools/lld/CMakeLists.txt
-@@ -13,7 +13,7 @@ target_link_libraries(lld
-   )
- 
- install(TARGETS lld
--  RUNTIME DESTINATION bin)
-+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
- if(NOT LLD_SYMLINKS_TO_CREATE)
-   set(LLD_SYMLINKS_TO_CREATE lld-link ld.lld)
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/lldb/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/lldb/default.nix
deleted file mode 100644
index 6c60a44b3d65..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/lldb/default.nix
+++ /dev/null
@@ -1,88 +0,0 @@
-{ lib, stdenv, llvm_meta
-, fetch
-, fetchpatch
-, cmake
-, zlib
-, ncurses
-, swig
-, which
-, libedit
-, libxml2
-, libllvm
-, libclang
-, python3
-, version
-, darwin
-}:
-
-stdenv.mkDerivation rec {
-  pname = "lldb";
-  inherit version;
-
-  src = fetch "lldb" "05j2a63yzln43852nng8a7y47spzlyr1cvdmgmbxgd29c8r0bfkq";
-
-  patches = [
-    # Fix PythonString::GetString for >=python-3.7
-    (fetchpatch {
-      url = "https://github.com/llvm/llvm-project/commit/5457b426f5e15a29c0acc8af1a476132f8be2a36.patch";
-      sha256 = "1zbx4m0m8kbg0wq6740jcw151vb2pb1p25p401wiq8diqqagkjps";
-      stripLen = 1;
-    })
-    ./gnu-install-dirs.patch
-  ];
-
-  postPatch = ''
-    # Fix up various paths that assume llvm and clang are installed in the same place
-    sed -i 's,".*ClangConfig.cmake","${libclang.dev}/lib/cmake/clang/ClangConfig.cmake",' \
-      cmake/modules/LLDBStandalone.cmake
-    sed -i 's,".*tools/clang/include","${libclang.dev}/include",' \
-      cmake/modules/LLDBStandalone.cmake
-    sed -i 's,"$.LLVM_LIBRARY_DIR.",${libllvm.lib}/lib ${libclang.lib}/lib,' \
-      cmake/modules/LLDBStandalone.cmake
-  '';
-
-  outputs = [ "out" "lib" "dev" ];
-
-  nativeBuildInputs = [
-    cmake python3 which swig
-  ];
-
-  buildInputs = [
-    ncurses zlib libedit libxml2 libllvm
-  ] ++ lib.optionals stdenv.isDarwin [
-    darwin.libobjc
-    darwin.apple_sdk.libs.xpc
-    darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa
-  ];
-
-  CXXFLAGS = "-fno-rtti";
-  hardeningDisable = [ "format" ];
-
-  cmakeFlags = [
-    "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
-    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
-  ] ++ lib.optionals doCheck [
-    "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
-    "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
-  ];
-
-  doCheck = false;
-
-  postInstall = ''
-    mkdir -p $out/share/man/man1
-    cp ../docs/lldb.1 $out/share/man/man1/
-  '';
-
-  meta = llvm_meta // {
-    homepage = "https://lldb.llvm.org/";
-    description = "A next-generation high-performance debugger";
-    longDescription = ''
-      LLDB is a next generation, high-performance debugger. It is built as a set
-      of reusable components which highly leverage existing libraries in the
-      larger LLVM Project, such as the Clang expression parser and LLVM
-      disassembler.
-    '';
-    # never built on aarch64-darwin since first introduction in nixpkgs
-    broken = stdenv.isDarwin && stdenv.isAarch64;
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/lldb/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/5/lldb/gnu-install-dirs.patch
deleted file mode 100644
index 5c6193b028fa..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/lldb/gnu-install-dirs.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ada293811b3e..6c2149309f65 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -7,6 +7,8 @@ set(CMAKE_MODULE_PATH
-   "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules"
-   )
- 
-+include(GNUInstallDirs)
-+
- include(LLDBStandalone)
- include(LLDBConfig)
- include(AddLLDB)
-diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake
-index 4c6f1efd673d..179a12b49cce 100644
---- a/cmake/modules/AddLLDB.cmake
-+++ b/cmake/modules/AddLLDB.cmake
-@@ -54,14 +54,14 @@ function(add_lldb_library name)
-         endif()
-         install(TARGETS ${name}
-           COMPONENT ${name}
--          RUNTIME DESTINATION bin
-+          RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-           LIBRARY DESTINATION ${out_dir}
-           ARCHIVE DESTINATION ${out_dir})
-       else()
-         install(TARGETS ${name}
-           COMPONENT ${name}
--          LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--          ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-+          LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+          ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-       endif()
-       if (NOT CMAKE_CONFIGURATION_TYPES)
-         add_custom_target(install-${name}
-@@ -126,7 +126,7 @@ function(add_lldb_executable name)
-   if(ARG_GENERATE_INSTALL AND NOT (ARG_INCLUDE_IN_FRAMEWORK AND LLDB_BUILD_FRAMEWORK ))
-     install(TARGETS ${name}
-           COMPONENT ${name}
--          RUNTIME DESTINATION bin)
-+          RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-     if (NOT CMAKE_CONFIGURATION_TYPES)
-       add_custom_target(install-${name}
-                         DEPENDS ${name}
-diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake
-index 726552675f47..f1f769f34446 100644
---- a/cmake/modules/LLDBConfig.cmake
-+++ b/cmake/modules/LLDBConfig.cmake
-@@ -276,7 +276,7 @@ include_directories(BEFORE
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/
-     COMPONENT lldb_headers
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-@@ -286,7 +286,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
- 
-   install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
-     COMPONENT lldb_headers
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-diff --git a/tools/intel-mpx/CMakeLists.txt b/tools/intel-mpx/CMakeLists.txt
-index 29ba9a1cacec..30e2f9334b95 100644
---- a/tools/intel-mpx/CMakeLists.txt
-+++ b/tools/intel-mpx/CMakeLists.txt
-@@ -12,4 +12,4 @@ target_link_libraries(lldb-intel-mpxtable
-                       PUBLIC liblldb LLVMSupport)
- 
- install(TARGETS lldb-intel-mpxtable
--  LIBRARY DESTINATION bin)
-+  LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix
deleted file mode 100644
index 74523490244f..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/default.nix
+++ /dev/null
@@ -1,283 +0,0 @@
-{ lib, stdenv, llvm_meta
-, pkgsBuildBuild
-, fetch
-, fetchpatch
-, cmake
-, python3
-, libffi
-, enableGoldPlugin ? libbfd.hasPluginAPI
-, libbfd
-, libxml2
-, ncurses
-, version
-, release_version
-, zlib
-, buildLlvmTools
-, debugVersion ? false
-, enableManpages ? false
-, enableSharedLibraries ? !enableManpages
-, enablePolly ? false
-}:
-
-let
-  inherit (lib) optional optionals optionalString;
-
-  # Used when creating a versioned symlinks of libLLVM.dylib
-  versionSuffixes = with lib;
-    let parts = splitVersion release_version; in
-    imap (i: _: concatStringsSep "." (take i parts)) parts;
-in
-
-stdenv.mkDerivation (rec {
-  pname = "llvm";
-  inherit version;
-
-  src = fetch "llvm" "0g1bbj2n6xv4p1n6hh17vj3vpvg56wacipc81dgwga9mg2lys8nm";
-  polly_src = fetch "polly" "1f4i1qsw7ywx25v262p8syz339zcbvfkx295xz26hmqrn944xa6x";
-
-  unpackPhase = ''
-    unpackFile $src
-    mv llvm-${version}* llvm
-    sourceRoot=$PWD/llvm
-  '' + optionalString enablePolly ''
-    unpackFile $polly_src
-    mv polly-* $sourceRoot/tools/polly
-  '';
-
-  outputs = [ "out" "lib" "dev" "python" ];
-
-  nativeBuildInputs = [ cmake python3 ]
-    ++ optional enableManpages python3.pkgs.sphinx;
-
-  buildInputs = [ libxml2 libffi ];
-
-  propagatedBuildInputs = [ ncurses zlib ];
-
-  patches = [
-    (fetchpatch {
-      url = "https://bugzilla.redhat.com/attachment.cgi?id=1389687";
-      name = "llvm-gcc8-type-mismatch.patch";
-      sha256 = "0ga2123aclq3x9w72d0rm0az12m8c1i4r1106vh701hf4cghgbch";
-    })
-    ./fix-gcc9.patch
-    #(fetchpatch {
-    #  name = "llvm-fix-gcc9.patch";
-    #  url = "https://reviews.llvm.org/file/data/zs3ck5ryvc5n672fd2kw/PHID-FILE-byoqefzwmkd7qnlip4v2/file";
-    #  sha256 = "0injj1hqgrbcbihhwp2nbal88jfykad30r54f2cdcx7gws2fcy8i";
-    #  stripLen = 1;
-    #})
-
-    # When cross-compiling we configure llvm-config-native with an approximation
-    # of the flags used for the normal LLVM build. To avoid the need for building
-    # a native libLLVM.so (which would fail) we force llvm-config to be linked
-    # statically against the necessary LLVM components always.
-    ../../llvm-config-link-static.patch
-
-    ./gnu-install-dirs.patch
-
-    # Fix invalid std::string(nullptr) for GCC 12
-    (fetchpatch {
-      name = "nvptx-gcc-12.patch";
-      url = "https://github.com/llvm/llvm-project/commit/99e64623ec9b31def9375753491cc6093c831809.patch";
-      sha256 = "0zjfjgavqzi2ypqwqnlvy6flyvdz8hi1anwv0ybwnm2zqixg7za3";
-      stripLen = 1;
-    })
-
-    ../../llvm-7-musl.patch
-  ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch;
-
-  postPatch = optionalString stdenv.isDarwin ''
-    substituteInPlace cmake/modules/AddLLVM.cmake \
-      --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
-      --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
-  '' + ''
-    # FileSystem permissions tests fail with various special bits
-    substituteInPlace unittests/Support/CMakeLists.txt \
-      --replace "Path.cpp" ""
-    rm unittests/Support/Path.cpp
-
-    # llvm-5 does not support dwarf-5 style info, fails on gcc-11.
-    rm test/tools/llvm-symbolizer/print_context.c
-  '' + optionalString stdenv.isAarch64 ''
-    patch -p0 < ${../../aarch64.patch}
-  '' + optionalString stdenv.hostPlatform.isMusl ''
-    patch -p1 -i ${../../TLI-musl.patch}
-    substituteInPlace unittests/Support/CMakeLists.txt \
-      --replace "add_subdirectory(DynamicLibrary)" ""
-    rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
-  '' + ''
-    # Tweak tests to ignore namespace part of type to support
-    # gcc-12: https://gcc.gnu.org/PR103598.
-    # The change below mangles strings like:
-    #    CHECK-NEXT: Starting llvm::Function pass manager run.
-    # to:
-    #    CHECK-NEXT: Starting {{.*}}Function pass manager run.
-    for f in \
-      test/Other/new-pass-manager.ll \
-      test/Other/new-pm-defaults.ll \
-      test/Other/new-pm-lto-defaults.ll \
-      test/Other/new-pm-thinlto-defaults.ll \
-      test/Other/pass-pipeline-parsing.ll \
-      test/Transforms/Inline/cgscc-incremental-invalidate.ll \
-      test/Transforms/Inline/clear-analyses.ll \
-      ; do
-      echo "PATCH: $f"
-      substituteInPlace $f \
-        --replace 'Starting llvm::' 'Starting {{.*}}' \
-        --replace 'Finished llvm::' 'Finished {{.*}}'
-    done
-  '';
-
-  preConfigure = ''
-    # Workaround for configure flags that need to have spaces
-    cmakeFlagsArray+=(
-      -DLLVM_LIT_ARGS='-svj''${NIX_BUILD_CORES} --no-progress-bar'
-    )
-  '';
-
-  # hacky fix: created binaries need to be run before installation
-  preBuild = ''
-    mkdir -p $out/
-    ln -sv $PWD/lib $out
-  '';
-
-  cmakeBuildType = if debugVersion then "Debug" else "Release";
-
-  cmakeFlags = with stdenv; let
-    # These flags influence llvm-config's BuildVariables.inc in addition to the
-    # general build. We need to make sure these are also passed via
-    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
-    # will return different results from the cross llvm-config.
-    #
-    # Some flags don't need to be repassed because LLVM already does so (like
-    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
-    flagsForLlvmConfig = [
-      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
-      "-DLLVM_ENABLE_RTTI=ON"
-    ] ++ optionals enableSharedLibraries [
-      "-DLLVM_LINK_LLVM_DYLIB=ON"
-    ];
-  in flagsForLlvmConfig ++ [
-    "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
-    "-DLLVM_ENABLE_FFI=ON"
-
-    "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
-    "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
-    "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}"
-  ]
-  ++ lib.optionals enableManpages [
-    "-DLLVM_BUILD_DOCS=ON"
-    "-DLLVM_ENABLE_SPHINX=ON"
-    "-DSPHINX_OUTPUT_MAN=ON"
-    "-DSPHINX_OUTPUT_HTML=OFF"
-    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-  ] ++ lib.optionals (enableGoldPlugin) [
-    "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
-  ] ++ lib.optionals (isDarwin) [
-    "-DLLVM_ENABLE_LIBCXX=ON"
-    "-DCAN_TARGET_i386=false"
-  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "-DCMAKE_CROSSCOMPILING=True"
-    "-DLLVM_TABLEGEN=${buildLlvmTools.llvm}/bin/llvm-tblgen"
-    (
-      let
-        nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc;
-        nativeBintools = nativeCC.bintools.bintools;
-        nativeToolchainFlags = [
-          "-DCMAKE_C_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}cc"
-          "-DCMAKE_CXX_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}c++"
-          "-DCMAKE_AR=${nativeBintools}/bin/${nativeBintools.targetPrefix}ar"
-          "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
-          "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
-        ];
-        # We need to repass the custom GNUInstallDirs values, otherwise CMake
-        # will choose them for us, leading to wrong results in llvm-config-native
-        nativeInstallFlags = [
-          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
-          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
-          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
-          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
-          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
-        ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
-      + lib.concatStringsSep ";" (lib.concatLists [
-        flagsForLlvmConfig
-        nativeToolchainFlags
-        nativeInstallFlags
-      ])
-    )
-  ];
-
-  postBuild = ''
-    rm -fR $out
-  '';
-
-  preCheck = ''
-    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib
-  '';
-
-  postInstall = ''
-    mkdir -p $python/share
-    mv $out/share/opt-viewer $python/share/opt-viewer
-    moveToOutput "bin/llvm-config*" "$dev"
-    substituteInPlace "$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
-      --replace "\''${_IMPORT_PREFIX}/lib/lib" "$lib/lib/lib" \
-      --replace "$out/bin/llvm-config" "$dev/bin/llvm-config"
-    substituteInPlace "$dev/lib/cmake/llvm/LLVMConfig.cmake" \
-      --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}'"$lib"'")'
-  ''
-  + optionalString (stdenv.isDarwin && enableSharedLibraries) ''
-    ${lib.concatMapStringsSep "\n" (v: ''
-      ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib
-    '') versionSuffixes}
-  ''
-  + optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
-    cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
-  '';
-
-  doCheck = stdenv.isLinux && (!stdenv.isi686)
-    && (stdenv.hostPlatform == stdenv.buildPlatform);
-
-  checkTarget = "check-all";
-
-  requiredSystemFeatures = [ "big-parallel" ];
-  meta = llvm_meta // {
-    homepage = "https://llvm.org/";
-    description = "A collection of modular and reusable compiler and toolchain technologies";
-    longDescription = ''
-      The LLVM Project is a collection of modular and reusable compiler and
-      toolchain technologies. Despite its name, LLVM has little to do with
-      traditional virtual machines. The name "LLVM" itself is not an acronym; it
-      is the full name of the project.
-      LLVM began as a research project at the University of Illinois, with the
-      goal of providing a modern, SSA-based compilation strategy capable of
-      supporting both static and dynamic compilation of arbitrary programming
-      languages. Since then, LLVM has grown to be an umbrella project consisting
-      of a number of subprojects, many of which are being used in production by
-      a wide variety of commercial and open source projects as well as being
-      widely used in academic research. Code in the LLVM project is licensed
-      under the "Apache 2.0 License with LLVM exceptions".
-    '';
-  };
-} // lib.optionalAttrs enableManpages {
-  pname = "llvm-manpages";
-
-  buildPhase = ''
-    make docs-llvm-man
-  '';
-
-  propagatedBuildInputs = [];
-
-  installPhase = ''
-    make -C docs install
-  '';
-
-  outputs = [ "out" ];
-
-  doCheck = false;
-
-  meta = llvm_meta // {
-    description = "man pages for LLVM ${version}";
-  };
-})
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/fix-gcc9.patch b/nixpkgs/pkgs/development/compilers/llvm/5/llvm/fix-gcc9.patch
deleted file mode 100644
index eaf71f1468de..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/fix-gcc9.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/lib/Target/Mips/MipsFastISel.cpp b/lib/Target/Mips/MipsFastISel.cpp
-index f79cb0e6..c6279046 100644
---- a/lib/Target/Mips/MipsFastISel.cpp
-+++ b/lib/Target/Mips/MipsFastISel.cpp
-@@ -70,6 +70,7 @@
- #include <cassert>
- #include <cstdint>
- #include <new>
-+#include <array>
- 
- #define DEBUG_TYPE "mips-fastisel"
- 
-@@ -1309,13 +1310,13 @@ bool MipsFastISel::fastLowerArguments() {
-     return false;
-   }
- 
--  const ArrayRef<MCPhysReg> GPR32ArgRegs = {Mips::A0, Mips::A1, Mips::A2,
--                                            Mips::A3};
--  const ArrayRef<MCPhysReg> FGR32ArgRegs = {Mips::F12, Mips::F14};
--  const ArrayRef<MCPhysReg> AFGR64ArgRegs = {Mips::D6, Mips::D7};
--  ArrayRef<MCPhysReg>::iterator NextGPR32 = GPR32ArgRegs.begin();
--  ArrayRef<MCPhysReg>::iterator NextFGR32 = FGR32ArgRegs.begin();
--  ArrayRef<MCPhysReg>::iterator NextAFGR64 = AFGR64ArgRegs.begin();
-+   std::array<MCPhysReg, 4> GPR32ArgRegs = {{Mips::A0, Mips::A1, Mips::A2,
-+                                            Mips::A3}};
-+   std::array<MCPhysReg, 2> FGR32ArgRegs = {{Mips::F12, Mips::F14}};
-+   std::array<MCPhysReg, 2> AFGR64ArgRegs = {{Mips::D6, Mips::D7}};
-+   auto NextGPR32 = GPR32ArgRegs.begin();
-+   auto NextFGR32 = FGR32ArgRegs.begin();
-+   auto NextAFGR64 = AFGR64ArgRegs.begin();
- 
-   struct AllocatedReg {
-     const TargetRegisterClass *RC;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs-polly.patch b/nixpkgs/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs-polly.patch
deleted file mode 100644
index 40f6fa06036c..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs-polly.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt
-index 9ddc0f7ff81d..7ca45f286d47 100644
---- a/tools/polly/CMakeLists.txt
-+++ b/tools/polly/CMakeLists.txt
-@@ -2,7 +2,11 @@
- if (NOT DEFINED LLVM_MAIN_SRC_DIR)
-   project(Polly)
-   cmake_minimum_required(VERSION 3.4.3)
-+endif()
-+
-+include(GNUInstallDirs)
- 
-+if (NOT DEFINED LLVM_MAIN_SRC_DIR)
-   # Where is LLVM installed?
-   find_package(LLVM CONFIG REQUIRED)
-   set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
-@@ -157,14 +161,14 @@ include_directories(
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-     )
- 
-   install(DIRECTORY ${POLLY_BINARY_DIR}/include/
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN "CMakeFiles" EXCLUDE
-diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt
-index 969292cd6b00..d7aea77bdd20 100644
---- a/tools/polly/cmake/CMakeLists.txt
-+++ b/tools/polly/cmake/CMakeLists.txt
-@@ -79,18 +79,18 @@ file(GENERATE
- 
- # Generate PollyConfig.cmake for the install tree.
- unset(POLLY_EXPORTS)
--set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-+set(POLLY_INSTALL_PREFIX "")
- set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
--set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}")
--set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}")
-+set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}")
-+set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
- if (POLLY_BUNDLED_ISL)
-   set(POLLY_CONFIG_INCLUDE_DIRS
--    "${POLLY_INSTALL_PREFIX}/include"
--    "${POLLY_INSTALL_PREFIX}/include/polly"
-+    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}"
-+    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly"
-     )
- else()
-   set(POLLY_CONFIG_INCLUDE_DIRS
--    "${POLLY_INSTALL_PREFIX}/include"
-+    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}"
-     ${ISL_INCLUDE_DIRS}
-     )
- endif()
-@@ -100,12 +100,12 @@ endif()
- foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS)
-   get_target_property(tgt_type ${tgt} TYPE)
-   if (tgt_type STREQUAL "EXECUTABLE")
--    set(tgt_prefix "bin/")
-+    set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/")
-   else()
--    set(tgt_prefix "lib/")
-+    set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/")
-   endif()
- 
--  set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>")
-+  set(tgt_path "${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>")
-   file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path})
- 
-   if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY")
-diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake
-index 32bed50bb060..cca5bfff4970 100644
---- a/tools/polly/cmake/polly_macros.cmake
-+++ b/tools/polly/cmake/polly_macros.cmake
-@@ -44,8 +44,8 @@ macro(add_polly_library name)
-   if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly")
-     install(TARGETS ${name}
-       EXPORT LLVMExports
--      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-+	  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-   endif()
-   set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
- endmacro(add_polly_library)
-diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt
-index 286c04fba287..07905e68f595 100644
---- a/tools/polly/lib/External/CMakeLists.txt
-+++ b/tools/polly/lib/External/CMakeLists.txt
-@@ -268,7 +268,7 @@ if (POLLY_BUNDLED_ISL)
-     install(DIRECTORY
-       ${ISL_SOURCE_DIR}/include/
-       ${ISL_BINARY_DIR}/include/
--      DESTINATION include/polly
-+      DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly
-       FILES_MATCHING
-       PATTERN "*.h"
-       PATTERN "CMakeFiles" EXCLUDE
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs.patch b/nixpkgs/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs.patch
deleted file mode 100644
index 3f6d6acb83f7..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/llvm/gnu-install-dirs.patch
+++ /dev/null
@@ -1,386 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c1e03aed4809..8b8bbb8c403e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -279,15 +279,21 @@ if (CMAKE_BUILD_TYPE AND
-   message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
- endif()
- 
-+include(GNUInstallDirs)
-+
- set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" )
- 
--set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary subdirectory (defaults to 'bin')")
-+set(LLVM_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE STRING
-+    "Path for binary subdirectory (defaults to 'bin')")
- mark_as_advanced(LLVM_TOOLS_INSTALL_DIR)
- 
- set(LLVM_UTILS_INSTALL_DIR "bin" CACHE STRING
-     "Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON) (defaults to LLVM_TOOLS_INSTALL_DIR)")
- mark_as_advanced(LLVM_TOOLS_INSTALL_DIR)
- 
-+set(LLVM_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/cmake/llvm" CACHE STRING
-+	"Path for CMake subdirectory (defaults to lib/cmake/llvm)" )
-+
- # They are used as destination of target generators.
- set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
- set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
-@@ -512,9 +518,9 @@ option (LLVM_ENABLE_DOXYGEN "Use doxygen to generate llvm API documentation." OF
- option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF)
- option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON)
- 
--set(LLVM_INSTALL_DOXYGEN_HTML_DIR "share/doc/llvm/doxygen-html"
-+set(LLVM_INSTALL_DOXYGEN_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html"
-     CACHE STRING "Doxygen-generated HTML documentation install directory")
--set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "share/doc/llvm/ocaml-html"
-+set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html"
-     CACHE STRING "OCamldoc-generated HTML documentation install directory")
- 
- option (LLVM_BUILD_EXTERNAL_COMPILER_RT
-@@ -945,7 +951,7 @@ add_subdirectory(cmake/modules)
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/llvm include/llvm-c
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     COMPONENT llvm-headers
-     FILES_MATCHING
-     PATTERN "*.def"
-@@ -957,7 +963,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     )
- 
-   install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     COMPONENT llvm-headers
-     FILES_MATCHING
-     PATTERN "*.def"
-diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
-index 1c922651b133..d555fd627a4f 100644
---- a/cmake/modules/AddLLVM.cmake
-+++ b/cmake/modules/AddLLVM.cmake
-@@ -589,11 +589,11 @@ macro(add_llvm_library name)
-   else()
-     if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LTO" OR
-         (LLVM_LINK_LLVM_DYLIB AND ${name} STREQUAL "LLVM"))
--      set(install_dir lib${LLVM_LIBDIR_SUFFIX})
-+      set(install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-       if(ARG_SHARED OR BUILD_SHARED_LIBS)
-         if(WIN32 OR CYGWIN OR MINGW)
-           set(install_type RUNTIME)
--          set(install_dir bin)
-+          set(install_dir ${CMAKE_INSTALL_BINDIR})
-         else()
-           set(install_type LIBRARY)
-         endif()
-@@ -637,9 +637,9 @@ macro(add_llvm_loadable_module name)
-       if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-         if(WIN32 OR CYGWIN)
-           # DLL platform
--          set(dlldir "bin")
-+          set(dlldir "${CMAKE_INSTALL_BINDIR}")
-         else()
--          set(dlldir "lib${LLVM_LIBDIR_SUFFIX}")
-+          set(dlldir "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
-         endif()
- 
-         if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
-@@ -651,7 +651,7 @@ macro(add_llvm_loadable_module name)
-         install(TARGETS ${name}
-                 ${export_to_llvmexports}
-                 LIBRARY DESTINATION ${dlldir}
--                ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-+                ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-       endif()
-       set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
-     endif()
-@@ -864,7 +864,7 @@ macro(add_llvm_example name)
-   endif()
-   add_llvm_executable(${name} ${ARGN})
-   if( LLVM_BUILD_EXAMPLES )
--    install(TARGETS ${name} RUNTIME DESTINATION examples)
-+    install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples)
-   endif()
-   set_target_properties(${name} PROPERTIES FOLDER "Examples")
- endmacro(add_llvm_example name)
-@@ -1275,7 +1275,7 @@ function(llvm_install_library_symlink name dest type)
-   set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX})
-   set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX})
- 
--  set(output_dir lib${LLVM_LIBDIR_SUFFIX})
-+  set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-   if(WIN32 AND "${type}" STREQUAL "SHARED")
-     set(output_dir bin)
-   endif()
-@@ -1293,7 +1293,7 @@ function(llvm_install_library_symlink name dest type)
-   endif()
- endfunction()
- 
--function(llvm_install_symlink name dest)
-+function(llvm_install_symlink name dest output_dir)
-   cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN})
-   foreach(path ${CMAKE_MODULE_PATH})
-     if(EXISTS ${path}/LLVMInstallSymlink.cmake)
-@@ -1316,7 +1316,7 @@ function(llvm_install_symlink name dest)
-   set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX})
- 
-   install(SCRIPT ${INSTALL_SYMLINK}
--          CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})"
-+          CODE "install_symlink(${full_name} ${full_dest} ${output_dir})"
-           COMPONENT ${component})
- 
-   if (NOT CMAKE_CONFIGURATION_TYPES AND NOT ARG_ALWAYS_GENERATE)
-@@ -1400,7 +1400,8 @@ function(add_llvm_tool_symlink link_name target)
-     endif()
- 
-     if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS)
--      llvm_install_symlink(${link_name} ${target})
-+      GNUInstallDirs_get_absolute_install_dir(output_dir LLVM_TOOLS_INSTALL_DIR)
-+      llvm_install_symlink(${link_name} ${target} ${output_dir})
-     endif()
-   endif()
- endfunction()
-@@ -1452,9 +1453,9 @@ function(llvm_setup_rpath name)
- 
-   if (APPLE)
-     set(_install_name_dir INSTALL_NAME_DIR "@rpath")
--    set(_install_rpath "@loader_path/../lib" ${extra_libdir})
-+    set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}" ${extra_libdir})
-   elseif(UNIX)
--    set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-+    set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-     if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
-       set_property(TARGET ${name} APPEND_STRING PROPERTY
-                    LINK_FLAGS " -Wl,-z,origin ")
-diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake
-index 1d8094cc505f..afdbe6e6d19c 100644
---- a/cmake/modules/AddOCaml.cmake
-+++ b/cmake/modules/AddOCaml.cmake
-@@ -140,9 +140,9 @@ function(add_ocaml_library name)
-   endforeach()
- 
-   if( APPLE )
--    set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}")
-+    set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
-   elseif( UNIX )
--    set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}")
-+    set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
-   endif()
-   list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}")
- 
-diff --git a/cmake/modules/AddSphinxTarget.cmake b/cmake/modules/AddSphinxTarget.cmake
-index 4540c5c36c8e..4cefb17fbd55 100644
---- a/cmake/modules/AddSphinxTarget.cmake
-+++ b/cmake/modules/AddSphinxTarget.cmake
-@@ -73,7 +73,7 @@ function (add_sphinx_target builder project)
- 
-       elseif (builder STREQUAL html)
-         string(TOUPPER "${project}" project_upper)
--        set(${project_upper}_INSTALL_SPHINX_HTML_DIR "share/doc/${project}/html"
-+        set(${project_upper}_INSTALL_SPHINX_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/html"
-             CACHE STRING "HTML documentation install directory for ${project}")
- 
-         # '/.' indicates: copy the contents of the directory directly into
-diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
-index ac4b0b7c0304..21a6a3da8667 100644
---- a/cmake/modules/CMakeLists.txt
-+++ b/cmake/modules/CMakeLists.txt
-@@ -1,4 +1,4 @@
--set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm)
-+set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')")
- set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
- 
- # First for users who use an installed LLVM, create the LLVMExports.cmake file.
-@@ -84,11 +84,11 @@ foreach(p ${_count})
-   set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE}
- get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)")
- endforeach(p)
--set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/include")
--set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}")
-+set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
-+set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}")
- set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}")
- set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
--set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
-+set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}")
- set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
- set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
- configure_file(
-diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake
-index 482697b06baf..af2ac1e6c979 100644
---- a/cmake/modules/LLVMInstallSymlink.cmake
-+++ b/cmake/modules/LLVMInstallSymlink.cmake
-@@ -10,7 +10,7 @@ function(install_symlink name target outdir)
-     set(LINK_OR_COPY copy)
-   endif()
- 
--  set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/")
-+  set(bindir "${DESTDIR}${outdir}/")
- 
-   message("Creating ${name}")
- 
-diff --git a/docs/CMake.rst b/docs/CMake.rst
-index b6ebf37adc92..34c73d2869e0 100644
---- a/docs/CMake.rst
-+++ b/docs/CMake.rst
-@@ -196,7 +196,7 @@ CMake manual, or execute ``cmake --help-variable VARIABLE_NAME``.
- **LLVM_LIBDIR_SUFFIX**:STRING
-   Extra suffix to append to the directory where libraries are to be
-   installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64``
--  to install libraries to ``/usr/lib64``.
-+  to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``.
- 
- **CMAKE_C_FLAGS**:STRING
-   Extra flags to use when compiling C source files.
-@@ -461,8 +461,8 @@ LLVM-specific variables
- 
- **LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING
-   The path to install Doxygen-generated HTML documentation to. This path can
--  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
--  `share/doc/llvm/doxygen-html`.
-+  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
-+  `${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html`.
- 
- **LLVM_ENABLE_SPHINX**:BOOL
-   If specified, CMake will search for the ``sphinx-build`` executable and will make
-@@ -493,13 +493,33 @@ LLVM-specific variables
- 
- **LLVM_INSTALL_SPHINX_HTML_DIR**:STRING
-   The path to install Sphinx-generated HTML documentation to. This path can
--  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
--  `share/doc/llvm/html`.
-+  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
-+  `${CMAKE_INSTALL_DOCDIR}/${project}/html`.
- 
- **LLVM_INSTALL_OCAMLDOC_HTML_DIR**:STRING
-   The path to install OCamldoc-generated HTML documentation to. This path can
--  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
--  `share/doc/llvm/ocaml-html`.
-+  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
-+  `${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html`.
-+
-+**CMAKE_INSTALL_BINDIR**:STRING
-+  The path to install binary tools, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `bin`.
-+
-+**CMAKE_INSTALL_LIBDIR**:STRING
-+  The path to install libraries, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `lib`.
-+
-+**CMAKE_INSTALL_INCLUDEDIR**:STRING
-+  The path to install header files, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `include`.
-+
-+**CMAKE_INSTALL_DOCDIR**:STRING
-+  The path to install documentation, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `share/doc`.
-+
-+**CMAKE_INSTALL_MANDIR**:STRING
-+  The path to install manpage files, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `share/man`.
- 
- **LLVM_CREATE_XCODE_TOOLCHAIN**:BOOL
-   OS X Only: If enabled CMake will generate a target named
-@@ -651,9 +671,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``).
- 
- This file is available in two different locations.
- 
--* ``<INSTALL_PREFIX>/lib/cmake/llvm/LLVMConfig.cmake`` where
--  ``<INSTALL_PREFIX>`` is the install prefix of an installed version of LLVM.
--  On Linux typically this is ``/usr/lib/cmake/llvm/LLVMConfig.cmake``.
-+* ``<LLVM_INSTALL_PACKAGE_DIR>LLVMConfig.cmake`` where
-+  ``<LLVM_INSTALL_PACKAGE_DIR>`` is the location where LLVM CMake modules are
-+  installed as part of an installed version of LLVM. This is typically
-+  ``cmake/llvm/`` within the lib directory. On Linux, this is typically
-+  ``/usr/lib/cmake/llvm/LLVMConfig.cmake``.
- 
- * ``<LLVM_BUILD_ROOT>/lib/cmake/llvm/LLVMConfig.cmake`` where
-   ``<LLVM_BUILD_ROOT>`` is the root of the LLVM build tree. **Note: this is only
-diff --git a/include/llvm/CMakeLists.txt b/include/llvm/CMakeLists.txt
-index 1d5ca3ba92b0..026f5453c1da 100644
---- a/include/llvm/CMakeLists.txt
-+++ b/include/llvm/CMakeLists.txt
-@@ -4,5 +4,5 @@ add_subdirectory(Support)
- # If we're doing an out-of-tree build, copy a module map for generated
- # header files into the build area.
- if (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
--  configure_file(module.modulemap.build module.modulemap COPYONLY)
-+  configure_file(module.modulemap.build ${LLVM_INCLUDE_DIR}/module.modulemap COPYONLY)
- endif (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
-diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in
-index f201e1f7bff0..4582ed556a02 100644
---- a/tools/llvm-config/BuildVariables.inc.in
-+++ b/tools/llvm-config/BuildVariables.inc.in
-@@ -24,6 +24,10 @@
- #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@"
- #define LLVM_BUILDMODE "@LLVM_BUILDMODE@"
- #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@"
-+#define LLVM_INSTALL_BINDIR "@CMAKE_INSTALL_BINDIR@"
-+#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@"
-+#define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@"
-+#define LLVM_INSTALL_CMAKEDIR "@LLVM_INSTALL_CMAKE_DIR@"
- #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
- #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@"
- #define LLVM_BUILD_SYSTEM "@LLVM_BUILD_SYSTEM@"
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 08b096afb052..2deae0dcfacc 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -332,12 +332,26 @@ int main(int argc, char **argv) {
-         ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
-   } else {
-     ActivePrefix = CurrentExecPrefix;
--    ActiveIncludeDir = ActivePrefix + "/include";
--    SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
--    sys::fs::make_absolute(ActivePrefix, path);
--    ActiveBinDir = path.str();
--    ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
--    ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_INCLUDEDIR));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveIncludeDir = std::string(path.str());
-+    }
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_BINDIR));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveBinDir = std::string(path.str());
-+    }
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveLibDir = std::string(path.str());
-+    }
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_CMAKEDIR));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveCMakeDir = std::string(path.str());
-+    }
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt
-index 6e913519a809..85641eef721f 100644
---- a/tools/lto/CMakeLists.txt
-+++ b/tools/lto/CMakeLists.txt
-@@ -19,7 +19,7 @@ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports)
- add_llvm_library(LTO SHARED ${SOURCES} DEPENDS intrinsics_gen)
- 
- install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
--  DESTINATION include/llvm-c
-+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c
-   COMPONENT LTO)
- 
- if (APPLE)
-diff --git a/tools/opt-viewer/CMakeLists.txt b/tools/opt-viewer/CMakeLists.txt
-index 19b606933082..27b9f71b3d79 100644
---- a/tools/opt-viewer/CMakeLists.txt
-+++ b/tools/opt-viewer/CMakeLists.txt
-@@ -8,6 +8,6 @@ set (files
- 
- foreach (file ${files})
-   install(PROGRAMS ${file}
--    DESTINATION share/opt-viewer
-+    DESTINATION ${CMAKE_INSTALL_DATADIR}/opt-viewer
-     COMPONENT opt-viewer)
- endforeach (file)
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/openmp/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/openmp/default.nix
deleted file mode 100644
index 900e920173fb..000000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/openmp/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, stdenv
-, llvm_meta
-, fetch
-, cmake
-, llvm
-, targetLlvm
-, perl
-, version
-}:
-
-stdenv.mkDerivation {
-  pname = "openmp";
-  inherit version;
-
-  src = fetch "openmp" "0p2n52676wlq6y9q99n5pivq6pvvda1p994r69fxj206ahn59jir";
-
-  nativeBuildInputs = [ cmake perl ];
-  buildInputs = [
-    (if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
-  ];
-
-  meta = llvm_meta // {
-    homepage = "https://openmp.llvm.org/";
-    description = "Support for the OpenMP language";
-    longDescription = ''
-      The OpenMP subproject of LLVM contains the components required to build an
-      executable OpenMP program that are outside the compiler itself.
-      Contains the code for the runtime library against which code compiled by
-      "clang -fopenmp" must be linked before it can run and the library that
-      supports offload to target devices.
-    '';
-    # "All of the code is dual licensed under the MIT license and the UIUC
-    # License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/lldb/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/lldb/default.nix
index 0a0aa3be18a1..02e3cdcb8eb9 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/7/lldb/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/7/lldb/default.nix
@@ -52,7 +52,11 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.isDarwin [
     darwin.libobjc
     darwin.apple_sdk.libs.xpc
-    darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa
+    darwin.apple_sdk.frameworks.Foundation
+    darwin.bootstrap_cmds
+    darwin.apple_sdk.frameworks.Carbon
+    darwin.apple_sdk.frameworks.Cocoa
+    darwin.apple_sdk.frameworks.DebugSymbols
   ];
 
   CXXFLAGS = "-fno-rtti";
diff --git a/nixpkgs/pkgs/development/coq-modules/ITree/default.nix b/nixpkgs/pkgs/development/coq-modules/ITree/default.nix
index df41ab6e1618..aee24225021c 100644
--- a/nixpkgs/pkgs/development/coq-modules/ITree/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/ITree/default.nix
@@ -5,9 +5,10 @@ mkCoqDerivation rec {
   owner = "DeepSpec";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.version [
-    { case = range "8.13" "8.17";  out = "5.1.1"; }
+    { case = range "8.13" "8.18";  out = "5.1.2"; }
     { case = range "8.10" "8.16";  out = "4.0.0"; }
   ] null;
+  release."5.1.2".sha256 = "sha256-uKJIjNXGWl0YS0WH52Rnr9Jz98Eo2k0X0qWB9hUYJMk=";
   release."5.1.1".sha256 = "sha256-VlmPNwaGkdWrH7Z6DGXRosGtjuuQ+FBiGcadN2Hg5pY=";
   release."5.1.0".sha256 = "sha256-ny7Mi1KgWADiFznkNJiRgD7Djc5SUclNgKOmWRxK+eo=";
   release."4.0.0".sha256 = "0h5rhndl8syc24hxq1gch86kj7mpmgr89bxp2hmf28fd7028ijsm";
diff --git a/nixpkgs/pkgs/development/coq-modules/coqprime/default.nix b/nixpkgs/pkgs/development/coq-modules/coqprime/default.nix
index af2f56475fd7..9420d69cb4b0 100644
--- a/nixpkgs/pkgs/development/coq-modules/coqprime/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/coqprime/default.nix
@@ -6,13 +6,14 @@ mkCoqDerivation {
   owner = "thery";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
-    { case = range "8.14" "8.18"; out = "8.17"; }
+    { case = range "8.14" "8.18"; out = "8.18"; }
     { case = range "8.12" "8.16"; out = "8.15"; }
     { case = range "8.10" "8.11"; out = "8.10"; }
     { case = range "8.8"  "8.9";  out = "8.8"; }
     { case = "8.7";               out = "8.7.2"; }
   ] null;
 
+  release."8.18".sha256  = "sha256-KObBEYerWhIStmq90G3vs9K5LUEOfB2SPxirwLiWQ6E=";
   release."8.17".sha256  = "sha256-D878t/PijVCopRKHYqfwdNvt3arGlI8yxbK/vI6qZUY=";
   release."8.15".sha256  = "sha256:1zr2q52r08na8265019pj9spcz982ivixk6cnzk6l1srn2g328gv";
   release."8.14.1".sha256= "sha256:0dqf87xkzcpg7gglbxjyx68ad84w1w73icxgy3s7d3w563glc2p7";
diff --git a/nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix b/nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix
index 49333b416971..dac3fb2b74df 100644
--- a/nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix
+++ b/nixpkgs/pkgs/development/coq-modules/dpdgraph/default.nix
@@ -8,6 +8,7 @@ mkCoqDerivation {
   repo = "coq-dpdgraph";
   inherit version;
   defaultVersion = lib.switch coq.coq-version [
+    { case = "8.18"; out = "1.0+8.18"; }
     { case = "8.17"; out = "1.0+8.17"; }
     { case = "8.16"; out = "1.0+8.16"; }
     { case = "8.15"; out = "1.0+8.15"; }
@@ -19,10 +20,9 @@ mkCoqDerivation {
     { case = "8.9";  out = "0.6.5"; }
     { case = "8.8";  out = "0.6.3"; }
     { case = "8.7";  out = "0.6.2"; }
-    { case = "8.6";  out = "0.6.1"; }
-    { case = "8.5";  out = "0.6"; }
   ] null;
 
+  release."1.0+8.18".sha256 = "sha256-z14MI1VSYzPqmF1PqDXzymXWRMYoTlQAfR/P3Pdf7fI=";
   release."1.0+8.17".sha256 = "sha256-gcvL3vseLKEF9xinT0579jXBBaA5E3rJ5KaU8RfKtm4=";
   release."1.0+8.16".sha256 = "sha256-xy4xcVHaD1OHBdGUzUy3SeZnHtOf1+UIh6YjUYFINm0=";
   release."1.0+8.15".sha256 = "sha256:1pxr0gakcz297y8hhrnssv5j07ccd58pv7rh7qv5g7855pfqrkg7";
diff --git a/nixpkgs/pkgs/development/embedded/blisp/default.nix b/nixpkgs/pkgs/development/embedded/blisp/default.nix
index 093e0ef195ca..027ca82324f8 100644
--- a/nixpkgs/pkgs/development/embedded/blisp/default.nix
+++ b/nixpkgs/pkgs/development/embedded/blisp/default.nix
@@ -32,6 +32,8 @@ stdenv.mkDerivation (finalAttrs: {
     "-DBLISP_USE_SYSTEM_LIBRARIES=ON"
   ];
 
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-error=implicit-function-declaration";
+
   passthru.tests.version = testers.testVersion {
     package = finalAttrs.finalPackage;
     version = "v${finalAttrs.version}";
@@ -42,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.mit;
     mainProgram = "blisp";
     homepage = "https://github.com/pine64/blisp";
+    platforms = platforms.unix;
     maintainers = [ maintainers.bdd ];
   };
 })
diff --git a/nixpkgs/pkgs/development/embedded/elf2uf2-rs/default.nix b/nixpkgs/pkgs/development/embedded/elf2uf2-rs/default.nix
index d26c0072265c..493381842109 100644
--- a/nixpkgs/pkgs/development/embedded/elf2uf2-rs/default.nix
+++ b/nixpkgs/pkgs/development/embedded/elf2uf2-rs/default.nix
@@ -27,6 +27,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/JoNil/elf2uf2-rs";
     license = with licenses; [ bsd0 ];
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ polygon fortuneteller2k ];
+    maintainers = with maintainers; [ polygon moni ];
   };
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 5723167b408d..2f5d72a0c50b 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -1029,7 +1029,6 @@ broken-packages:
   - cut-the-crap # failure in job https://hydra.nixos.org/build/233238478 at 2023-09-02
   - CV # failure in job https://hydra.nixos.org/build/233223571 at 2023-09-02
   - d3js # failure in job https://hydra.nixos.org/build/233251474 at 2023-09-02
-  - daemons # failure in job https://hydra.nixos.org/build/237233422 at 2023-10-21
   - dag # failure in job https://hydra.nixos.org/build/233220719 at 2023-09-02
   - DAG-Tournament # failure in job https://hydra.nixos.org/build/233218747 at 2023-09-02
   - dahdit # failure in job https://hydra.nixos.org/build/233245113 at 2023-09-02
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index b500247fd090..e79dd7e72fe4 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -60,6 +60,9 @@ default-package-overrides:
   # hls-floskell-plugin 2.4 does not yet support floskell 0.11
   - floskell < 0.11
 
+  # Newer daemons requires GHC 9.6
+  - daemons == 0.3.0
+
 extra-packages:
   - Cabal-syntax == 3.6.*               # Dummy package that ensures packages depending on Cabal-syntax can work for Cabal < 3.8
   - Cabal == 3.2.*                      # Used for packages needing newer Cabal on ghc 8.6 and 8.8
diff --git a/nixpkgs/pkgs/development/haskell-modules/generic-builder.nix b/nixpkgs/pkgs/development/haskell-modules/generic-builder.nix
index 0b8af6ba6de4..1819b29da460 100644
--- a/nixpkgs/pkgs/development/haskell-modules/generic-builder.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/generic-builder.nix
@@ -814,14 +814,14 @@ stdenv.mkDerivation ({
 
 # Implicit pointer to integer conversions are errors by default since clang 15.
 # Works around https://gitlab.haskell.org/ghc/ghc/-/issues/23456.
-// lib.optionalAttrs stdenv.cc.isClang {
+// lib.optionalAttrs (stdenv.hasCC && stdenv.cc.isClang) {
   NIX_CFLAGS_COMPILE = "-Wno-error=int-conversion";
 }
 
 # Ensure libc++abi is linked even when clang is invoked as just `clang` or `cc`.
 # Works around https://github.com/NixOS/nixpkgs/issues/166205.
 # This can be dropped once a fix has been committed to cc-wrapper.
-// lib.optionalAttrs (stdenv.cc.isClang && stdenv.cc.libcxx != null) {
+// lib.optionalAttrs (stdenv.hasCC && stdenv.cc.isClang && stdenv.cc.libcxx != null) {
   NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
 }
 )
diff --git a/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix b/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
index 7377db003b19..5138bf296570 100644
--- a/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
@@ -78840,6 +78840,34 @@ self: {
      }:
      mkDerivation {
        pname = "daemons";
+       version = "0.3.0";
+       sha256 = "05h03qk31lank60cd0ig9h4rf8zl6p4li5smba919lgpm89lyvy3";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring cereal data-default directory filepath ghc-prim
+         network pipes transformers unix
+       ];
+       executableHaskellDepends = [
+         base bytestring cereal containers data-default ghc-prim network
+         pipes transformers
+       ];
+       testHaskellDepends = [
+         base data-default directory ghc-prim HUnit test-framework
+         test-framework-hunit unix
+       ];
+       description = "Daemons in Haskell made fun and easy";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
+  "daemons_0_4_0" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, data-default
+     , directory, filepath, ghc-prim, HUnit, network, pipes
+     , test-framework, test-framework-hunit, transformers, unix
+     }:
+     mkDerivation {
+       pname = "daemons";
        version = "0.4.0";
        sha256 = "10fcxk749q90mlwgknqn6l5mff8b09acmikxzh5jkk5sr6bj86hz";
        isLibrary = true;
@@ -78860,7 +78888,6 @@ self: {
        description = "Daemons in Haskell made fun and easy";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dag" = callPackage
diff --git a/nixpkgs/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix b/nixpkgs/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix
index c31e0dbe67f7..e59d2ed7c176 100644
--- a/nixpkgs/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/acl2/libipasirglucose4/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   # that as the version number, I guess.
   version = "2017";
 
-  libname = pname + stdenv.targetPlatform.extensions.sharedLibrary;
+  libname = pname + stdenv.hostPlatform.extensions.sharedLibrary;
 
   src = fetchurl {
     url = "https://baldur.iti.kit.edu/sat-competition-2017/solvers/incremental/glucose-ipasir.zip";
diff --git a/nixpkgs/pkgs/development/interpreters/cel-go/default.nix b/nixpkgs/pkgs/development/interpreters/cel-go/default.nix
index d45abd4c0f4a..821e8da2ee34 100644
--- a/nixpkgs/pkgs/development/interpreters/cel-go/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/cel-go/default.nix
@@ -5,24 +5,18 @@
 
 buildGoModule rec {
   pname = "cel-go";
-  version = "0.18.1";
+  version = "0.18.2";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "cel-go";
     rev = "v${version}";
-    hash = "sha256-eXltZkg5QjdCrL9sk2ngVtirSnjBBqk+OdNLY4QtVx4=";
+    hash = "sha256-c4MVOHkDaUGlRVYb9YS9BH4ld2zS3SR5efP6amLhTig=";
   };
 
   modRoot = "repl";
 
-  vendorHash = "sha256-kalTHpyMYrKZHayxNKLc8vtogiDKyyQLExOQhqp1MUY=";
-
-  patches = [
-    # repl/go.mod and repl/go.sum are outdated
-    # ran `go mod tidy` in the repl directory
-    ./go-mod-tidy.patch
-  ];
+  vendorHash = "sha256-Oj/XUUmuj5scD5WT6zBxnU1hSapDyRBBz75rbIdY4Ho=";
 
   subPackages = [
     "main"
diff --git a/nixpkgs/pkgs/development/interpreters/cel-go/go-mod-tidy.patch b/nixpkgs/pkgs/development/interpreters/cel-go/go-mod-tidy.patch
deleted file mode 100644
index a1f4f06ae834..000000000000
--- a/nixpkgs/pkgs/development/interpreters/cel-go/go-mod-tidy.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/repl/go.mod
-+++ b/repl/go.mod
-@@ -6,16 +6,16 @@ require (
- 	github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230321174746-8dcc6526cfb1
- 	github.com/chzyer/readline v1.5.1
- 	github.com/google/cel-go v0.14.0
--	google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9
--	google.golang.org/protobuf v1.30.0
-+	google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5
-+	google.golang.org/protobuf v1.31.0
- )
- 
- require (
- 	github.com/stoewer/go-strcase v1.3.0 // indirect
- 	golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect
--	golang.org/x/sys v0.7.0 // indirect
-+	golang.org/x/sys v0.8.0 // indirect
- 	golang.org/x/text v0.9.0 // indirect
--	google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect
-+	google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5 // indirect
- )
- 
- replace github.com/google/cel-go => ../.
---- a/repl/go.sum
-+++ b/repl/go.sum
-@@ -26,18 +26,18 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o
- golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
- golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
- golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
--golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
--golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-+golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
-+golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
- golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
- golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
- golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
--google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 h1:m8v1xLLLzMe1m5P+gCTF8nJB9epwZQUBERm20Oy1poQ=
--google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig=
--google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 h1:0nDDozoAU19Qb2HwhXadU8OcsiO/09cnTqhUtq2MEOM=
--google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA=
-+google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 h1:nIgk/EEq3/YlnmVVXVnm14rC2oxgs1o0ong4sD/rd44=
-+google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q=
-+google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5 h1:eSaPbMR4T7WfH9FvABk36NBMacoTUKdWCvV0dx+KfOg=
-+google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I=
- google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
--google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
--google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-+google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
-+google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
- gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
- gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
- gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
diff --git a/nixpkgs/pkgs/development/interpreters/expr/default.nix b/nixpkgs/pkgs/development/interpreters/expr/default.nix
index be783c6a0410..cda9cc7b78e8 100644
--- a/nixpkgs/pkgs/development/interpreters/expr/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/expr/default.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "expr";
-  version = "1.15.3";
+  version = "1.15.4";
 
   src = fetchFromGitHub {
     owner = "antonmedv";
     repo = "expr";
     rev = "v${version}";
-    hash = "sha256-r+XlcDvCQarzh8wO3NL87PJThnioeVC73OZdJ8kW4RM=";
+    hash = "sha256-x96I6HHhm3RIrlg1/KVCIbFkelazGt0H2nk8juUWjKg=";
   };
 
   sourceRoot = "${src.name}/repl";
 
-  vendorHash = "sha256-WxYqP8L64U5MAYG7XTpKrRW1aaqGB4hJr+e/RKdb1lU=";
+  vendorHash = "sha256-ZVB6P0WdjyDK9OlEgKjR3D3IVBkDbDx9bOpLC/H2JLs=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/nixpkgs/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts_py2.py b/nixpkgs/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts_py2.py
new file mode 100644
index 000000000000..bb82900c65a9
--- /dev/null
+++ b/nixpkgs/pkgs/development/interpreters/python/catch_conflicts/catch_conflicts_py2.py
@@ -0,0 +1,30 @@
+import pkg_resources
+import collections
+import sys
+
+do_abort = False
+packages = collections.defaultdict(list)
+
+for f in sys.path:
+    for req in pkg_resources.find_distributions(f):
+        if req not in packages[req.project_name]:
+            # some exceptions inside buildPythonPackage
+            if req.project_name in ['setuptools', 'pip', 'wheel']:
+                continue
+            packages[req.project_name].append(req)
+
+
+for name, duplicates in packages.items():
+    if len(duplicates) > 1:
+        do_abort = True
+        print("Found duplicated packages in closure for dependency '{}': ".format(name))
+        for dup in duplicates:
+            print("  " + repr(dup))
+
+if do_abort:
+    print("")
+    print(
+        'Package duplicates found in closure, see above. Usually this '
+        'happens if two packages depend on different version '
+        'of the same dependency.')
+    sys.exit(1)
diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix b/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix
index f7cc10274ae3..0a4600b9d6c3 100644
--- a/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix
@@ -106,9 +106,16 @@ in {
   pythonCatchConflictsHook = callPackage ({ makePythonHook, setuptools }:
     makePythonHook {
       name = "python-catch-conflicts-hook";
-      substitutions = {
+      substitutions = let
+        useLegacyHook = lib.versionOlder python.version "3.10";
+      in {
         inherit pythonInterpreter pythonSitePackages;
-        catchConflicts=../catch_conflicts/catch_conflicts.py;
+        catchConflicts = if useLegacyHook then
+          ../catch_conflicts/catch_conflicts_py2.py
+        else
+          ../catch_conflicts/catch_conflicts.py;
+      } // lib.optionalAttrs useLegacyHook {
+        inherit setuptools;
       };
     } ./python-catch-conflicts-hook.sh) {};
 
diff --git a/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix b/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix
index fc7e541ceff6..66ee788ca430 100644
--- a/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix
+++ b/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zef";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "ugexe";
     repo = "zef";
     rev = "v${version}";
-    sha256 = "sha256-IWOgbKYaWKjC2+dc2P3THAVy23F3iQXh2D6od/0e0Jw=";
+    sha256 = "sha256-QVUnn9G28epoUEcK8mwm8S2wDQ/tv5B3Zds7bTUFwlw=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/interpreters/ruby/default.nix b/nixpkgs/pkgs/development/interpreters/ruby/default.nix
index 903a101aa490..3ccbe1e855a3 100644
--- a/nixpkgs/pkgs/development/interpreters/ruby/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/ruby/default.nix
@@ -15,13 +15,6 @@ let
   config = import ./config.nix { inherit fetchFromSavannah; };
   rubygems = import ./rubygems { inherit stdenv lib fetchurl; };
 
-  openssl3Gem = fetchFromGitHub {
-    owner = "ruby";
-    repo = "openssl";
-    rev = "v3.0.2";
-    hash = "sha256-KhuKRP1JkMJv7CagGRQ0KKGOd5Oh0FP0fbj0VZ4utGo=";
-  };
-
   # Contains the ruby version heuristics
   rubyVersion = import ./ruby-version.nix { inherit lib; };
 
@@ -156,12 +149,6 @@ let
           rm -rf $sourceRoot/{lib,test}/rubygems*
           cp -r ${rubygems}/lib/rubygems* $sourceRoot/lib
           cp -r ${rubygems}/test/rubygems $sourceRoot/test
-        '' + opString (ver.majMin == "3.0" && opensslSupport) ''
-          # Replace the Gem by a OpenSSL3-compatible one.
-          echo "Hotpatching the OpenSSL gem with a 3.x series for OpenSSL 3 support..."
-          cp -vr ${openssl3Gem}/ext/openssl $sourceRoot/ext/
-          cp -vr ${openssl3Gem}/lib/ $sourceRoot/ext/openssl/
-          cp -vr ${openssl3Gem}/{History.md,openssl.gemspec} $sourceRoot/ext/openssl/
         '';
 
         postPatch = ''
@@ -334,11 +321,6 @@ in {
     sha256 = "sha256-wtq2PLyPKgVSYQitQZ76Y6Z+1AdNu8+fwrHKZky0W6A=";
   };
 
-  ruby_3_0 = generic {
-    version = rubyVersion "3" "0" "6" "";
-    sha256 = "sha256-bmy9SQAw15EMD/IO3vq0KU380QRvD49H94tZeYesaD4=";
-  };
-
   ruby_3_1 = generic {
     version = rubyVersion "3" "1" "4" "";
     sha256 = "sha256-o9VYeaDfqx1xQf3xDSKgfb+OXNxEFdob3gYSfVzDx7Y=";
diff --git a/nixpkgs/pkgs/development/interpreters/tinyscheme/default.nix b/nixpkgs/pkgs/development/interpreters/tinyscheme/default.nix
index 1b298af4ac49..fef3f5daceeb 100644
--- a/nixpkgs/pkgs/development/interpreters/tinyscheme/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/tinyscheme/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     # We want to have the makefile pick up $CC, etc. so that we don't have
     # to unnecessarily tie this package to the GCC stdenv.
     ./02-use-toolchain-env-vars.patch
-  ] ++ lib.optionals stdenv.targetPlatform.isDarwin [
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
     # On macOS the library suffix is .dylib:
     ./03-macOS-SOsuf.patch
   ];
diff --git a/nixpkgs/pkgs/development/libraries/SDL2/default.nix b/nixpkgs/pkgs/development/libraries/SDL2/default.nix
index 2c05252c8473..dea308d59a2e 100644
--- a/nixpkgs/pkgs/development/libraries/SDL2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/SDL2/default.nix
@@ -9,7 +9,7 @@
 , libGL
 , alsaSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
 , alsa-lib
-, x11Support ? !stdenv.targetPlatform.isWindows && !stdenv.hostPlatform.isAndroid
+, x11Support ? !stdenv.hostPlatform.isWindows && !stdenv.hostPlatform.isAndroid
 , libX11
 , xorgproto
 , libICE
@@ -122,7 +122,7 @@ stdenv.mkDerivation (finalAttrs: {
     "--disable-oss"
   ] ++ lib.optional (!x11Support) "--without-x"
   ++ lib.optional alsaSupport "--with-alsa-prefix=${alsa-lib.out}/lib"
-  ++ lib.optional stdenv.targetPlatform.isWindows "--disable-video-opengles"
+  ++ lib.optional stdenv.hostPlatform.isWindows "--disable-video-opengles"
   ++ lib.optional stdenv.isDarwin "--disable-sdltest";
 
   # We remove libtool .la files when static libs are requested,
diff --git a/nixpkgs/pkgs/development/libraries/ada/xmlada/default.nix b/nixpkgs/pkgs/development/libraries/ada/xmlada/default.nix
index e80371e092e8..77e8094277a7 100644
--- a/nixpkgs/pkgs/development/libraries/ada/xmlada/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ada/xmlada/default.nix
@@ -9,14 +9,14 @@
 
 stdenv.mkDerivation rec {
   pname = "xmlada";
-  version = "23.0.0";
+  version = "24.0.0";
 
   src = fetchFromGitHub {
     name = "xmlada-${version}-src";
     owner = "AdaCore";
     repo = "xmlada";
     rev = "v${version}";
-    sha256 = "sha256-covcSwlQQjRKTv0DdMEgahXXlch0TeKnvSyOsGO9+e0=";
+    sha256 = "sha256-vvM7bdf3dAa3zKgxbGeAGlBT6fvafzmleimJHyRdlvc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/libraries/audio/zita-resampler/default.nix b/nixpkgs/pkgs/development/libraries/audio/zita-resampler/default.nix
index 075ce33ef9e2..70054134767a 100644
--- a/nixpkgs/pkgs/development/libraries/audio/zita-resampler/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/zita-resampler/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     cd source
     substituteInPlace Makefile \
       --replace 'ldconfig' ""
-  '' + lib.optionalString (!stdenv.targetPlatform.isx86_64) ''
+  '' + lib.optionalString (!stdenv.hostPlatform.isx86_64) ''
     substituteInPlace Makefile \
       --replace '-DENABLE_SSE2' ""
   '';
diff --git a/nixpkgs/pkgs/development/libraries/audio/zix/default.nix b/nixpkgs/pkgs/development/libraries/audio/zix/default.nix
index 7d1bac57472c..9f5d8867a150 100644
--- a/nixpkgs/pkgs/development/libraries/audio/zix/default.nix
+++ b/nixpkgs/pkgs/development/libraries/audio/zix/default.nix
@@ -28,6 +28,13 @@ stdenv.mkDerivation rec {
     "-Ddocs=disabled"
   ];
 
+  env = lib.optionalAttrs stdenv.isDarwin {
+    # Do not fail the build on clang-16/darwin.
+    # TODO: drop the workaround when upstream fixes it in:
+    #   https://gitlab.com/drobilla/zix/-/issues/3
+    NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
+  };
+
   meta = with lib; {
     description = "A lightweight C99 portability and data structure library";
     homepage = "https://gitlab.com/drobilla/zix";
diff --git a/nixpkgs/pkgs/development/libraries/blst/default.nix b/nixpkgs/pkgs/development/libraries/blst/default.nix
index ef174d1118a9..48865cf83564 100644
--- a/nixpkgs/pkgs/development/libraries/blst/default.nix
+++ b/nixpkgs/pkgs/development/libraries/blst/default.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation ( finalAttrs: {
   buildPhase = ''
     runHook preBuild
 
-    ./build.sh ${lib.optionalString stdenv.targetPlatform.isWindows "flavour=mingw64"}
-    ./build.sh -shared ${lib.optionalString stdenv.targetPlatform.isWindows "flavour=mingw64"}
+    ./build.sh ${lib.optionalString stdenv.hostPlatform.isWindows "flavour=mingw64"}
+    ./build.sh -shared ${lib.optionalString stdenv.hostPlatform.isWindows "flavour=mingw64"}
 
     runHook postBuild
   '';
diff --git a/nixpkgs/pkgs/development/libraries/cctz/default.nix b/nixpkgs/pkgs/development/libraries/cctz/default.nix
index f1c1a272b5f9..0b945c8c5990 100644
--- a/nixpkgs/pkgs/development/libraries/cctz/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cctz/default.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
   buildInputs = lib.optional stdenv.isDarwin Foundation;
 
   installTargets = [ "install_hdrs" ]
-    ++ lib.optional (!stdenv.targetPlatform.isStatic) "install_shared_lib"
-    ++ lib.optional stdenv.targetPlatform.isStatic "install_lib";
+    ++ lib.optional (!stdenv.hostPlatform.isStatic) "install_shared_lib"
+    ++ lib.optional stdenv.hostPlatform.isStatic "install_lib";
 
   postInstall = lib.optionalString stdenv.isDarwin ''
     install_name_tool -id $out/lib/libcctz.so $out/lib/libcctz.so
diff --git a/nixpkgs/pkgs/development/libraries/duckdb/default.nix b/nixpkgs/pkgs/development/libraries/duckdb/default.nix
index c9f6711780b0..801ad7979aee 100644
--- a/nixpkgs/pkgs/development/libraries/duckdb/default.nix
+++ b/nixpkgs/pkgs/development/libraries/duckdb/default.nix
@@ -15,13 +15,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "duckdb";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-UG/vV/6WxVLq9mdze8pSDFJIekOgGsg93dzMq6eP6Dg=";
+    hash = "sha256-QFK8mEMcqQwALFNvAdD8yWixwMYHSbeo6xqx86PvejU=";
   };
 
   patches = [ ./version.patch ];
diff --git a/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix b/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix
index 57235b24308d..e713ca1413fb 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/ffmpeg/generic.nix
@@ -52,7 +52,7 @@
 , withLadspa ? withFullDeps # LADSPA audio filtering
 , withLibplacebo ? withFullDeps && !stdenv.isDarwin # libplacebo video processing library
 , withLzma ? withHeadlessDeps # xz-utils
-, withMfx ? withFullDeps && (with stdenv.targetPlatform; isLinux && !isAarch) # Hardware acceleration via intel-media-sdk/libmfx
+, withMfx ? withFullDeps && (with stdenv.hostPlatform; isLinux && !isAarch) # Hardware acceleration via intel-media-sdk/libmfx
 , withModplug ? withFullDeps && !stdenv.isDarwin # ModPlug support
 , withMp3lame ? withHeadlessDeps # LAME MP3 encoder
 , withMysofa ? withFullDeps # HRTF support via SOFAlizer
@@ -386,8 +386,8 @@ stdenv.mkDerivation (finalAttrs: {
     (enableFeature withHardcodedTables "hardcoded-tables")
     (enableFeature withSafeBitstreamReader "safe-bitstream-reader")
 
-    (enableFeature (withMultithread && stdenv.targetPlatform.isUnix) "pthreads")
-    (enableFeature (withMultithread && stdenv.targetPlatform.isWindows) "w32threads")
+    (enableFeature (withMultithread && stdenv.hostPlatform.isUnix) "pthreads")
+    (enableFeature (withMultithread && stdenv.hostPlatform.isWindows) "w32threads")
     "--disable-os2threads" # We don't support OS/2
 
     (enableFeature withNetwork "network")
diff --git a/nixpkgs/pkgs/development/libraries/imgui/default.nix b/nixpkgs/pkgs/development/libraries/imgui/default.nix
index ca7a47d36385..73bc80ef9d5b 100644
--- a/nixpkgs/pkgs/development/libraries/imgui/default.nix
+++ b/nixpkgs/pkgs/development/libraries/imgui/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imgui";
-  version = "1.89.9";
+  version = "1.90";
 
   src = fetchFromGitHub {
     owner = "ocornut";
     repo = "imgui";
     rev = "v${version}";
-    sha256 = "sha256-0k9jKrJUrG9piHNFQaBBY3zgNIKM23ZA879NY+MNYTU=";
+    sha256 = "sha256-rJMWCPVhho34NcPvJZaB5d6EbZkJyLXEfeotplOOaiA=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/development/libraries/libaom/default.nix b/nixpkgs/pkgs/development/libraries/libaom/default.nix
index c5e40babfd67..30d3c0d81b55 100644
--- a/nixpkgs/pkgs/development/libraries/libaom/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libaom/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     # CPU detection isn't supported on Darwin and breaks the aarch64-darwin build:
     "-DCONFIG_RUNTIME_CPU_DETECT=0"
   ] ++ lib.optionals (isCross && !stdenv.hostPlatform.isx86) [
-    "-DAS_EXECUTABLE=${stdenv.cc.targetPrefix}as"
+    "-DCMAKE_ASM_COMPILER=${stdenv.cc.targetPrefix}as"
   ] ++ lib.optionals stdenv.isAarch32 [
     # armv7l-hf-multiplatform does not support NEON
     # see lib/systems/platform.nix
diff --git a/nixpkgs/pkgs/development/libraries/libcef/default.nix b/nixpkgs/pkgs/development/libraries/libcef/default.nix
index 5daca729bc73..2fb83097c02a 100644
--- a/nixpkgs/pkgs/development/libraries/libcef/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcef/default.nix
@@ -69,7 +69,7 @@ let
   platforms."aarch64-linux".sha256 = "12sp58nxa3nv800badv62vpvc30hyb0ykywdaxgv9y8pswp9lq0z";
   platforms."x86_64-linux".sha256 = "0vzzwq1k6bv9d209yg3samvfnfwj7s58y9r3p3pd98wxa9iyzf4j";
 
-  platformInfo = builtins.getAttr stdenv.targetPlatform.system platforms;
+  platformInfo = builtins.getAttr stdenv.hostPlatform.system platforms;
 in
 stdenv.mkDerivation rec {
   pname = "cef-binary";
diff --git a/nixpkgs/pkgs/development/libraries/libepc/default.nix b/nixpkgs/pkgs/development/libraries/libepc/default.nix
index 9755d0977c85..a2822eae8d54 100644
--- a/nixpkgs/pkgs/development/libraries/libepc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libepc/default.nix
@@ -1,30 +1,51 @@
-{ lib, stdenv, fetchurl, pkg-config, intltool, gtk-doc, glib, avahi, gnutls, libuuid, libsoup, gtk3, gnome }:
+{ stdenv
+, lib
+, fetchurl
+, autoreconfHook
+, pkg-config
+, intltool
+, gtk-doc
+, glib
+, avahi
+, gnutls
+, libuuid
+, libsoup
+, gtk3
+, gnome
+}:
 
-let
-  avahiWithGtk = avahi.override { gtk3Support = true; };
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "libepc";
   version = "0.4.6";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "mirror://gnome/sources/libepc/${lib.versions.majorMinor finalAttrs.version}/libepc-${finalAttrs.version}.tar.xz";
     sha256 = "1s3svb2slqjsrqfv50c2ymnqcijcxb5gnx6bfibwh9l5ga290n91";
   };
 
+  patches = [
+    # Remove dependency that is only needed by uninstalled examples.
+    ./no-avahi-ui.patch
+  ];
+
   nativeBuildInputs = [
+    autoreconfHook
+    gnome.gnome-common
     pkg-config
     intltool
     gtk-doc
   ];
+
   buildInputs = [
     glib
     libuuid
     gtk3
   ];
+
   propagatedBuildInputs = [
-    avahiWithGtk
+    avahi
     gnutls
     libsoup
   ];
@@ -33,7 +54,7 @@ in stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = gnome.updateScript {
-      packageName = pname;
+      packageName = "libepc";
       versionPolicy = "odd-unstable";
     };
   };
@@ -45,4 +66,4 @@ in stdenv.mkDerivation rec {
     maintainers = teams.gnome.members;
     platforms = platforms.linux;
   };
-}
+})
diff --git a/nixpkgs/pkgs/development/libraries/libepc/no-avahi-ui.patch b/nixpkgs/pkgs/development/libraries/libepc/no-avahi-ui.patch
new file mode 100644
index 000000000000..4649ecbe27ce
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libepc/no-avahi-ui.patch
@@ -0,0 +1,36 @@
+diff --git a/Makefile.am b/Makefile.am
+index acf0d25..13022d1 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -32,8 +32,6 @@ noinst_PROGRAMS = \
+ 	examples/lookup-resource \
+ 	examples/service-browser \
+ 	examples/simple-publisher \
+-	examples/consumer-ui \
+-	examples/publisher-ui \
+ 	examples/server-credentials \
+ 	$(TESTS)
+ TESTS = \
+@@ -155,10 +153,6 @@ examples_service_browser_LDADD			= $(example_epc_libs)
+ examples_simple_publisher_CFLAGS		= $(example_epc_cflags)
+ examples_simple_publisher_LDADD			= $(example_epc_libs)
+ 
+-examples_consumer_ui_CFLAGS			= $(example_epc_ui_cflags) $(AVAHI_UI_CFLAGS)
+-examples_consumer_ui_LDADD			= $(example_epc_ui_libs) $(AVAHI_UI_LIBS)
+-examples_publisher_ui_CFLAGS			= $(example_epc_ui_cflags) $(AVAHI_UI_CFLAGS) -rdynamic
+-examples_publisher_ui_LDADD			= $(example_epc_ui_libs) $(AVAHI_UI_LIBS)
+ examples_server_credentials_CFLAGS		= $(example_epc_ui_cflags)
+ examples_server_credentials_LDADD		= $(example_epc_ui_libs)
+ 
+diff --git a/configure.ac b/configure.ac
+index d68bf94..89bd471 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -53,7 +53,6 @@ PKG_CHECK_EXISTS([$GIO_REQUIREMENT],
+                   GIO=$GIO_REQUIREMENT],
+                  [AC_MSG_RESULT([no])])
+ 
+-PKG_CHECK_MODULES(AVAHI_UI,  [avahi-ui-gtk3     >= 0.6])
+ PKG_CHECK_MODULES(LIBEPC,    [avahi-client >= 0.6
+                               avahi-glib   >= 0.6
+                               glib-2.0     >= 2.36
diff --git a/nixpkgs/pkgs/development/libraries/libfprint-2-tod1-elan/default.nix b/nixpkgs/pkgs/development/libraries/libfprint-2-tod1-elan/default.nix
new file mode 100644
index 000000000000..3e7253a40175
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libfprint-2-tod1-elan/default.nix
@@ -0,0 +1,53 @@
+{ stdenvNoCC
+, lib
+, fetchzip
+, libfprint-tod
+, openssl
+, gusb
+, glib
+, autoPatchelfHook
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "libfprint-2-tod1-elan";
+  version = "0.0.8";
+
+  src = fetchzip {
+    url = "https://download.lenovo.com/pccbbs/mobiles/r1slf01w.zip";
+    hash = "sha256-GD/BebPto1fFLgyvpiitt+ngwEtdsnKsvdFNeSmVDmw=";
+    # .so is in a subzip
+    postFetch = ''
+      unpackFile $out/*
+      rm $out/*.zip
+      mv * $out/
+    '';
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook];
+
+  buildInputs = [
+    libfprint-tod
+    openssl
+    gusb
+    glib
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm444 libfprint-2-tod1-elan.so -t "$out/lib/libfprint-2/tod-1/"
+
+    runHook postInstall
+  '';
+
+  passthru.driverPath = "/lib/libfprint-2/tod-1";
+
+  meta = with lib; {
+    description = "Elan(04f3:0c4b) driver module for libfprint-2-tod Touch OEM Driver";
+    homepage = "https://support.lenovo.com/us/en/downloads/ds560939-elan-fingerprint-driver-for-ubuntu-2204-thinkpad-e14-gen-4-e15-gen-4";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ qdlmcfresh ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/librttopo/default.nix b/nixpkgs/pkgs/development/libraries/librttopo/default.nix
index 690417c3e730..5d768db366df 100644
--- a/nixpkgs/pkgs/development/libraries/librttopo/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librttopo/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     description = "RT Topology Library";
     homepage = "https://git.osgeo.org/gitea/rttopo/librttopo";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ dotlambda ];
+    maintainers = with maintainers; teams.geospatial.members ++ [ dotlambda ];
     platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libsodium/default.nix b/nixpkgs/pkgs/development/libraries/libsodium/default.nix
index b4eeed32d596..b3a00d89a5d5 100644
--- a/nixpkgs/pkgs/development/libraries/libsodium/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libsodium/default.nix
@@ -13,18 +13,18 @@ stdenv.mkDerivation (finalAttrs: {
 
   outputs = [ "out" "dev" ];
 
-  patches = lib.optional stdenv.targetPlatform.isMinGW ./mingw-no-fortify.patch;
+  patches = lib.optional stdenv.hostPlatform.isMinGW ./mingw-no-fortify.patch;
 
-  nativeBuildInputs = lib.optional stdenv.targetPlatform.isMinGW autoreconfHook;
+  nativeBuildInputs = lib.optional stdenv.hostPlatform.isMinGW autoreconfHook;
 
   separateDebugInfo = stdenv.isLinux && stdenv.hostPlatform.libc != "musl";
 
   enableParallelBuilding = true;
-  hardeningDisable = lib.optional (stdenv.targetPlatform.isMusl && stdenv.targetPlatform.isx86_32) "stackprotector";
+  hardeningDisable = lib.optional (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32) "stackprotector";
 
   # FIXME: the hardeingDisable attr above does not seems effective, so
   # the need to disable stackprotector via configureFlags
-  configureFlags = lib.optional (stdenv.targetPlatform.isMusl && stdenv.targetPlatform.isx86_32) "--disable-ssp";
+  configureFlags = lib.optional (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_32) "--disable-ssp";
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/development/libraries/libspatialindex/default.nix b/nixpkgs/pkgs/development/libraries/libspatialindex/default.nix
index 455d42c3bb45..16c98abf4417 100644
--- a/nixpkgs/pkgs/development/libraries/libspatialindex/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libspatialindex/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "Extensible spatial index library in C++";
     homepage = "https://libspatialindex.org";
     license = licenses.mit;
+    maintainers = teams.geospatial.members;
     platforms = platforms.unix;
   };
 })
diff --git a/nixpkgs/pkgs/development/libraries/libspatialite/default.nix b/nixpkgs/pkgs/development/libraries/libspatialite/default.nix
index 372f0c479c81..b8d1fe45e44e 100644
--- a/nixpkgs/pkgs/development/libraries/libspatialite/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libspatialite/default.nix
@@ -64,6 +64,6 @@ stdenv.mkDerivation rec {
     # They allow any of these
     license = with licenses; [ gpl2Plus lgpl21Plus mpl11 ];
     platforms = platforms.unix;
-    maintainers = with maintainers; [ dotlambda ];
+    maintainers = with maintainers; teams.geospatial.members ++ [ dotlambda ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libusb1/default.nix b/nixpkgs/pkgs/development/libraries/libusb1/default.nix
index 326ee3028158..1f768a2cb261 100644
--- a/nixpkgs/pkgs/development/libraries/libusb1/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libusb1/default.nix
@@ -4,7 +4,7 @@
 , fetchpatch
 , autoreconfHook
 , pkg-config
-, enableUdev ? stdenv.isLinux && !stdenv.targetPlatform.isStatic
+, enableUdev ? stdenv.isLinux && !stdenv.hostPlatform.isStatic
 , udev
 , libobjc
 , IOKit
diff --git a/nixpkgs/pkgs/development/libraries/libusbsio/default.nix b/nixpkgs/pkgs/development/libraries/libusbsio/default.nix
index 1982311919ba..090683898a16 100644
--- a/nixpkgs/pkgs/development/libraries/libusbsio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libusbsio/default.nix
@@ -1,7 +1,13 @@
-{ lib, stdenv, fetchzip, pkg-config, libusb1, systemdMinimal }:
-let
-  binDirPrefix = if stdenv.isDarwin then "osx_" else "linux_";
-in
+{ lib
+, stdenv
+, fetchzip
+, pkg-config
+, fixDarwinDylibNames
+, libusb1
+, systemdMinimal
+, darwin
+}:
+
 stdenv.mkDerivation rec {
   pname = "libusbsio";
   version = "2.1.11";
@@ -15,15 +21,30 @@ stdenv.mkDerivation rec {
     rm -r bin/*
   '';
 
-  nativeBuildInputs = [ pkg-config ];
+  makeFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "BINDIR="
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+  ] ++ lib.optionals stdenv.isDarwin [
+    fixDarwinDylibNames
+  ];
+
   buildInputs = [
     libusb1
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    AppKit
+    CoreFoundation
+    IOKit
+  ]) ++ lib.optionals stdenv.isLinux [
     systemdMinimal # libudev
   ];
 
   installPhase = ''
     runHook preInstall
-    install -D bin/${binDirPrefix}${stdenv.hostPlatform.parsed.cpu.name}/libusbsio${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libusbsio${stdenv.hostPlatform.extensions.sharedLibrary}
+    install -D bin/libusbsio${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libusbsio${stdenv.hostPlatform.extensions.sharedLibrary}
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/development/libraries/mtxclient/default.nix b/nixpkgs/pkgs/development/libraries/mtxclient/default.nix
index dcba45f41c3d..13816faefce9 100644
--- a/nixpkgs/pkgs/development/libraries/mtxclient/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mtxclient/default.nix
@@ -61,6 +61,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     # Should be fixable if a higher clang version is used, see:
     # https://github.com/NixOS/nixpkgs/pull/85922#issuecomment-619287177
-    broken = stdenv.targetPlatform.isDarwin;
+    broken = stdenv.hostPlatform.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/multipart-parser-c/default.nix b/nixpkgs/pkgs/development/libraries/multipart-parser-c/default.nix
index 45b0abdee71b..89665f2efc9a 100644
--- a/nixpkgs/pkgs/development/libraries/multipart-parser-c/default.nix
+++ b/nixpkgs/pkgs/development/libraries/multipart-parser-c/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/lib
-    mv lib*${stdenv.targetPlatform.extensions.sharedLibrary} $out/lib/
+    mv lib*${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/
 
     mkdir -p $out/include
     mv *.h $out/include/
diff --git a/nixpkgs/pkgs/development/libraries/ntl/default.nix b/nixpkgs/pkgs/development/libraries/ntl/default.nix
index 9335bec35ce8..8fa37141628c 100644
--- a/nixpkgs/pkgs/development/libraries/ntl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/ntl/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     "TUNE=${
       if tune then
         "auto"
-      else if stdenv.targetPlatform.isx86 then
+      else if stdenv.hostPlatform.isx86 then
         "x86" # "chooses options that should be well suited for most x86 platforms"
       else
         "generic" # "chooses options that should be OK for most platforms"
diff --git a/nixpkgs/pkgs/development/libraries/oneDNN/default.nix b/nixpkgs/pkgs/development/libraries/oneDNN/default.nix
index e6bf2a4c5496..2518cecb9b6c 100644
--- a/nixpkgs/pkgs/development/libraries/oneDNN/default.nix
+++ b/nixpkgs/pkgs/development/libraries/oneDNN/default.nix
@@ -9,13 +9,13 @@
 # https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
 stdenv.mkDerivation (finalAttrs: {
   pname = "oneDNN";
-  version = "3.3";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "oneapi-src";
     repo = "oneDNN";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-dC4Z1OvqIF8YhuSeVo+E0CohdXYIfkeTEw3/QuYA/90=";
+    hash = "sha256-br2ssI4MRk9O6u+5voBmxBZtmTFPKoJJe3ZEN2blq7Y=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/nixpkgs/pkgs/development/libraries/protobuf/generic.nix b/nixpkgs/pkgs/development/libraries/protobuf/generic.nix
index bcef33b0cafa..cf00d1d50beb 100644
--- a/nixpkgs/pkgs/development/libraries/protobuf/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/protobuf/generic.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation (finalAttrs: {
   ]
   # Tests fail to build on 32-bit platforms; fixed in 22.x
   # https://github.com/protocolbuffers/protobuf/issues/10418
-  ++ lib.optionals (stdenv.targetPlatform.is32bit && lib.versionOlder version "22") [
+  ++ lib.optionals (stdenv.hostPlatform.is32bit && lib.versionOlder version "22") [
     "-Dprotobuf_BUILD_TESTS=OFF"
   ];
 
@@ -85,7 +85,7 @@ stdenv.mkDerivation (finalAttrs: {
   # https://hydra.nixos.org/build/235677717/nixlog/4/tail
   # Also AnyTest.TestPackFromSerializationExceedsSizeLimit fails on 32-bit platforms
   # https://github.com/protocolbuffers/protobuf/issues/8460
-  doCheck = !(stdenv.isDarwin && lib.versionAtLeast version "23") && !stdenv.targetPlatform.is32bit;
+  doCheck = !(stdenv.isDarwin && lib.versionAtLeast version "23") && !stdenv.hostPlatform.is32bit;
 
   passthru = {
     tests = {
diff --git a/nixpkgs/pkgs/development/libraries/relibc/default.nix b/nixpkgs/pkgs/development/libraries/relibc/default.nix
index 3bc476ccc0f0..437da86e8c21 100644
--- a/nixpkgs/pkgs/development/libraries/relibc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/relibc/default.nix
@@ -63,8 +63,7 @@ redoxRustPlatform.buildRustPackage rec {
     DESTDIR=$out make install
   '';
 
-  # TODO: should be hostPlatform
-  TARGET = stdenvNoCC.targetPlatform.rust.rustcTargetSpec;
+  TARGET = stdenvNoCC.hostPlatform.rust.rustcTargetSpec;
 
   cargoLock = {
     lockFile = ./Cargo.lock;
diff --git a/nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix b/nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix
index a47d8260714a..47a6249ebdc6 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/libtorch/bin.nix
@@ -26,7 +26,7 @@ in stdenv.mkDerivation {
   inherit version;
   pname = "libtorch";
 
-  src = fetchzip srcs."${stdenv.targetPlatform.system}-${device}" or unavailable;
+  src = fetchzip srcs."${stdenv.hostPlatform.system}-${device}" or unavailable;
 
   nativeBuildInputs =
     if stdenv.isDarwin then [ fixDarwinDylibNames ]
diff --git a/nixpkgs/pkgs/development/libraries/science/math/zn_poly/default.nix b/nixpkgs/pkgs/development/libraries/science/math/zn_poly/default.nix
index 13344db9ebc3..bdaf6e6284ef 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/zn_poly/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/zn_poly/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   # name of library file ("libzn_poly.so")
   libbasename = "libzn_poly";
-  libext = stdenv.targetPlatform.extensions.sharedLibrary;
+  libext = stdenv.hostPlatform.extensions.sharedLibrary;
 
   makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
diff --git a/nixpkgs/pkgs/development/libraries/shapelib/default.nix b/nixpkgs/pkgs/development/libraries/shapelib/default.nix
index f0afda7a9001..fe17da91e581 100644
--- a/nixpkgs/pkgs/development/libraries/shapelib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/shapelib/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     description = "C Library for reading, writing and updating ESRI Shapefiles";
     homepage = "http://shapelib.maptools.org/";
     license = licenses.gpl2;
-    maintainers = [ maintainers.ehmry ];
+    maintainers = with maintainers; teams.geospatial.members ++ [ ehmry ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/simdjson/default.nix b/nixpkgs/pkgs/development/libraries/simdjson/default.nix
index 5ac49ac278fc..53a5e09413c5 100644
--- a/nixpkgs/pkgs/development/libraries/simdjson/default.nix
+++ b/nixpkgs/pkgs/development/libraries/simdjson/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "simdjson";
-  version = "3.4.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "simdjson";
     repo = "simdjson";
     rev = "v${version}";
-    sha256 = "sha256-d1tJJCHbx+7klS918Db7S2N8zCdvd9MhI5ybxJpncUw=";
+    sha256 = "sha256-g1jrjRls9tJWh0koMg7MsUgRSNaty8YI+ivlwL6FCsk=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/development/libraries/startup-notification/default.nix b/nixpkgs/pkgs/development/libraries/startup-notification/default.nix
index c1c5819ad421..bf84345be2d1 100644
--- a/nixpkgs/pkgs/development/libraries/startup-notification/default.nix
+++ b/nixpkgs/pkgs/development/libraries/startup-notification/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "3c391f7e930c583095045cd2d10eb73a64f085c7fde9d260f2652c7cb3cfbe4a";
   };
 
-  configureFlags = lib.optionals (stdenv.buildPlatform != stdenv.targetPlatform) [
+  configureFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
     "lf_cv_sane_realloc=yes"
   ];
 
diff --git a/nixpkgs/pkgs/development/libraries/tk/generic.nix b/nixpkgs/pkgs/development/libraries/tk/generic.nix
index ab973c957aed..57a9b617d950 100644
--- a/nixpkgs/pkgs/development/libraries/tk/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/tk/generic.nix
@@ -22,7 +22,7 @@ tcl.mkTclDerivation {
       substituteInPlace $file --replace "exec wish" "exec $out/bin/wish"
     done
   ''
-  + lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.targetPlatform.darwinMinVersion "11") ''
+  + lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "11") ''
     substituteInPlace unix/configure* \
       --replace " -framework UniformTypeIdentifiers" ""
   '';
diff --git a/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix b/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
index f6c49b9cfb69..63a86ed55b52 100644
--- a/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
@@ -11,6 +11,7 @@
 , gexiv2
 , tracker
 , meson
+, mesonEmulatorHook
 , ninja
 , pkg-config
 , vala
@@ -68,6 +69,7 @@ stdenv.mkDerivation rec {
     docbook-xsl-nons
     docbook_xml_dtd_45
     gettext
+    glib
     itstool
     libxslt
     meson
@@ -75,6 +77,8 @@ stdenv.mkDerivation rec {
     pkg-config
     vala
     wrapGAppsNoGuiHook
+  ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+    mesonEmulatorHook
   ];
 
   # TODO: add libenca, libosinfo
@@ -83,7 +87,6 @@ stdenv.mkDerivation rec {
     dbus
     exempi
     giflib
-    glib
     gexiv2
     totem-pl-parser
     tracker
diff --git a/nixpkgs/pkgs/development/libraries/v8/default.nix b/nixpkgs/pkgs/development/libraries/v8/default.nix
index a9891a9d328c..7edf2cdf7c46 100644
--- a/nixpkgs/pkgs/development/libraries/v8/default.nix
+++ b/nixpkgs/pkgs/development/libraries/v8/default.nix
@@ -136,7 +136,7 @@ stdenv.mkDerivation rec {
   ++ lib.optional stdenv.isDarwin ''use_lld=false'';
 
   env.NIX_CFLAGS_COMPILE = "-O2";
-  FORCE_MAC_SDK_MIN = stdenv.targetPlatform.sdkVer or "10.12";
+  FORCE_MAC_SDK_MIN = stdenv.hostPlatform.sdkVer or "10.12";
 
   nativeBuildInputs = [
     myGn
diff --git a/nixpkgs/pkgs/development/libraries/vapoursynth/plugin-interface.nix b/nixpkgs/pkgs/development/libraries/vapoursynth/plugin-interface.nix
index 064893a3dbcd..f962634b131e 100644
--- a/nixpkgs/pkgs/development/libraries/vapoursynth/plugin-interface.nix
+++ b/nixpkgs/pkgs/development/libraries/vapoursynth/plugin-interface.nix
@@ -36,7 +36,7 @@ plugins: let
     $CC -shared -fPIC ${source} -o "$out/lib/libvapoursynth-nix-plugins${ext}"
   '';
 
-  ext = stdenv.targetPlatform.extensions.sharedLibrary;
+  ext = stdenv.hostPlatform.extensions.sharedLibrary;
 in
 runCommand "${vapoursynth.name}-with-plugins" {
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/development/libraries/wayland/protocols.nix b/nixpkgs/pkgs/development/libraries/wayland/protocols.nix
index dc53bbb54d2a..0fadb103ce33 100644
--- a/nixpkgs/pkgs/development/libraries/wayland/protocols.nix
+++ b/nixpkgs/pkgs/development/libraries/wayland/protocols.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   version = "1.32";
 
   # https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/48
-  doCheck = stdenv.hostPlatform == stdenv.buildPlatform && stdenv.targetPlatform.linker == "bfd" && wayland.withLibraries;
+  doCheck = stdenv.hostPlatform == stdenv.buildPlatform && stdenv.hostPlatform.linker == "bfd" && wayland.withLibraries;
 
   src = fetchurl {
     url = "https://gitlab.freedesktop.org/wayland/${pname}/-/releases/${version}/downloads/${pname}-${version}.tar.xz";
diff --git a/nixpkgs/pkgs/development/misc/newlib/default.nix b/nixpkgs/pkgs/development/misc/newlib/default.nix
index 8aed144ff65c..56c644af140a 100644
--- a/nixpkgs/pkgs/development/misc/newlib/default.nix
+++ b/nixpkgs/pkgs/development/misc/newlib/default.nix
@@ -41,6 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
   # logic was not fixed.  So we must disable it.
   ''
     substituteInPlace configure --replace 'noconfigdirs target-newlib target-libgloss' 'noconfigdirs'
+    substituteInPlace configure --replace 'cross_only="target-libgloss target-newlib' 'cross_only="'
   '';
 
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cooltt/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cooltt/default.nix
index c9e25045426c..7cf63e5c0b11 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cooltt/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/cooltt/default.nix
@@ -106,6 +106,6 @@ buildDunePackage {
     homepage = "https://github.com/RedPRL/cooltt";
     description = "A cool implementation of normalization by evaluation (nbe) & elaboration for Cartesian cubical type theory";
     license = licenses.asl20;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/development/perl-modules/CSSDOM-replace-apostrophe.patch b/nixpkgs/pkgs/development/perl-modules/CSSDOM-replace-apostrophe.patch
new file mode 100644
index 000000000000..54bc7f8dd3b9
--- /dev/null
+++ b/nixpkgs/pkgs/development/perl-modules/CSSDOM-replace-apostrophe.patch
@@ -0,0 +1,1412 @@
+commit 7dda09313a63c4c64563f582844d7b04302d94bd
+Author: Yves Orton <demerphq@gmail.com>
+Date:   Wed Feb 22 13:28:01 2023 +0100
+
+    Replace apostrophe with :: as package separator
+    
+    In 5.37.9 this is deprecated, and in 5.40 it will be forbidden
+
+diff --git a/lib/CSS/DOM/Parser.pm b/lib/CSS/DOM/Parser.pm
+index 473992c..d688f19 100644
+--- a/lib/CSS/DOM/Parser.pm
++++ b/lib/CSS/DOM/Parser.pm
+@@ -369,7 +369,7 @@ sub _parse_at_rule { for (shift) { for my $tokens (shift) {
+ 
+ 			$selector =~ s/s\z// and pop @selector;
+ 
+-			require CSS'DOM'Rule;
++                        require CSS::DOM::Rule;
+ 			(my $rule = new CSS::DOM::Rule $_[0]||())
+ 				->_set_tokens(
+ 					$selector,\@selector
+@@ -413,7 +413,7 @@ sub _parse_at_rule { for (shift) { for my $tokens (shift) {
+ 		my ($types,@tokens) = ("\@$1",$at,splice @$tokens,0,$+[0]);
+ 		$types =~ /"/ and return; # ignore rules w/invalid strings
+ 		$types =~ s/s\z// and pop @tokens;
+-		require CSS'DOM'Rule;
++                require CSS::DOM::Rule;
+ 		(my $rule = new CSS::DOM::Rule $_[0]||())
+ 			->_set_tokens(
+ 				$types, \@tokens
+diff --git a/lib/CSS/DOM/PropertyParser.pm b/lib/CSS/DOM/PropertyParser.pm
+index 258158f..76b0d99 100644
+--- a/lib/CSS/DOM/PropertyParser.pm
++++ b/lib/CSS/DOM/PropertyParser.pm
+@@ -6,8 +6,8 @@ use warnings; no warnings qw 'utf8 parenthesis';
+ use strict;
+ 
+ use constant 1.03 (); # multiple
+-use CSS::DOM'Constants ':primitive', ':value';
+-use CSS'DOM'Util<unescape unescape_str unescape_url>;
++use CSS::DOM::Constants ':primitive', ':value';
++use CSS::DOM::Util<unescape unescape_str unescape_url>;
+ 
+ use constant old_perl => $] < 5.01;
+ { no strict 'refs'; delete ${__PACKAGE__.'::'}{old_perl} }
+@@ -19,7 +19,7 @@ use constant old_perl => $] < 5.01;
+ use constant naughty_perl => 0+$] eq 5.01;
+ { no strict 'refs'; delete ${__PACKAGE__.'::'}{naughty_perl} }
+ 
+-*s2c = *CSS'DOM'Constants'SuffixToConst;
++*s2c = *CSS::DOM::Constants::SuffixToConst;
+ our %s2c;
+ 
+ our %compiled; # compiled formats
+@@ -60,7 +60,7 @@ sub clone {
+ # exists &dclone or require Storable, "Storable"->import('dclone');
+ # return dclone($_[0]);
+  require Clone;
+- return Clone'clone($_[0]);
++ return Clone::clone($_[0]);
+ }
+ 
+ #  Declare the variables that the re-evals use. Some nasty hacker went and
+@@ -202,7 +202,7 @@ sub _make_arg_list {
+  my($stypes,$stokens) = _space_out($types, $tokens);
+  my $css = join "", @$stokens;
+  if(@_ == 1) { # list property
+-  my $list = shift @'_;
++  my $list = shift @_;
+   my $sep = @$list <= 1 ? '' : do {
+    my $range_start = $$list[0][4];
+    my $range_end = $$list[1][4] - length($$list[1][4]) - 1;
+@@ -301,7 +301,7 @@ sub _make_arg_list {
+ 
+ sub _space_out {
+  my($types,$tokens) = @_;
+-Carp'cluck() if ref $tokens ne 'ARRAY';
++Carp::cluck() if ref $tokens ne 'ARRAY';
+  $tokens = [@$tokens];
+  my @posses;
+  $types =~ s/(?<=[^(f])(?![),]|\z)/
+@@ -328,7 +328,7 @@ sub _prep_val {
+  }
+  else {
+   require CSS::DOM::Parser;
+-  ($types, $tokens) = CSS::DOM::Parser'tokenise($_[0]);
++  ($types, $tokens) = CSS::DOM::Parser::tokenise($_[0]);
+  }
+ 
+  # strip out all whitespace tokens
+diff --git a/lib/CSS/DOM/Rule.pm b/lib/CSS/DOM/Rule.pm
+index 921efb0..666fb08 100644
+--- a/lib/CSS/DOM/Rule.pm
++++ b/lib/CSS/DOM/Rule.pm
+@@ -46,7 +46,7 @@ sub _parse { # This method parses the code passed to it and checks to see
+              # the rule data from the new rule.
+ 	my $self = shift;
+ 	require CSS::DOM::Parser;
+-	my $new_rule  =  CSS::DOM::Parser'parse_statement(shift)
++        my $new_rule  =  CSS::DOM::Parser::parse_statement(shift)
+ 		|| die CSS::DOM::Exception->new(SYNTAX_ERR, $@);
+ 
+ 	ref $new_rule eq ref $self or die CSS::DOM::Exception->new(
+diff --git a/lib/CSS/DOM/Rule/Import.pm b/lib/CSS/DOM/Rule/Import.pm
+index 1afdcdc..75c8505 100644
+--- a/lib/CSS/DOM/Rule/Import.pm
++++ b/lib/CSS/DOM/Rule/Import.pm
+@@ -45,7 +45,7 @@ sub cssText {
+ sub href {
+ 	my $self =shift;
+ 	$self->[hrfe] ||= do {
+-		require CSS'DOM'Parser;
++                require CSS::DOM::Parser;
+ 		if($self->[urlt][00] eq 'u') {
+ 			# ~~~ I probably ought to put things like this in a
+ 			#     Parser::token_val function.
+@@ -53,10 +53,10 @@ sub href {
+ 			$url =~ s/^url\([ \t\r\n\f]*//;
+ 			$url =~ s/[ \t\r\n\f]*\)\z//;
+ 			$url =~ s/^['"]// and chop $url;
+-			CSS'DOM'Parser'unescape($url);
++                        CSS::DOM::Parser::unescape($url);
+ 		}
+ 		else {
+-			CSS'DOM'Parser'unescape(
++                        CSS::DOM::Parser::unescape(
+ 				substr $$self[urlt][1], 1, -1
+ 			)
+ 		}
+diff --git a/lib/CSS/DOM/Rule/Style.pm b/lib/CSS/DOM/Rule/Style.pm
+index dfa7501..54da057 100644
+--- a/lib/CSS/DOM/Rule/Style.pm
++++ b/lib/CSS/DOM/Rule/Style.pm
+@@ -93,8 +93,8 @@ sub _selector_matches { # ~~~ Does this work with initial space in the selector?
+ 
+  # tokenise if necessary
+  unless(ref $self->[selc]) {
+-  require CSS'DOM'Parser;
+-  $self->[selc] = [ CSS'DOM'tokenise($self->[selc]) ];
++  require CSS::DOM::Parser;
++  $self->[selc] = [ CSS::DOM::tokenise($self->[selc]) ];
+  }
+ 
+  # parse selector tokens if necessary
+@@ -130,7 +130,7 @@ sub _selector_matches { # ~~~ Does this work with initial space in the selector?
+ 
+      # ids:
+      if($types =~ s/^#//) {
+-      push @subsel, '#', CSS'DOM'Util'unescape( substr shift @tokens, 1 ),
++      push @subsel, '#', CSS::DOM::Util::unescape( substr shift @tokens, 1 ),
+        undef;
+      }
+ 
+@@ -138,12 +138,12 @@ sub _selector_matches { # ~~~ Does this work with initial space in the selector?
+      elsif($types =~ /^di/ && $tokens[0] eq '.') {
+       $types =~ s/^..//; shift @tokens;
+       push @subsel, '~', 'class',
+-       CSS'DOM'Util'unescape( shift @tokens );
++       CSS::DOM::Util::unescape( shift @tokens );
+      }
+ 
+      # pseudo-elems and classes
+      elsif($types =~ s/^(::?)i//) {
+-      push @subsel, $1,lc CSS'DOM'Util'unescape($tokens[length $1]), undef;
++      push @subsel, $1,lc CSS::DOM::Util::unescape($tokens[length $1]), undef;
+       splice @tokens, 0, $+[0];
+      }
+ 
+@@ -151,14 +151,14 @@ sub _selector_matches { # ~~~ Does this work with initial space in the selector?
+      elsif($types =~ s/^:fi\)//) {
+       push @subsel,
+        ':',
+-       lc CSS'DOM'Util'unescape(substr $tokens[1], 0, -1),
+-       lc CSS'DOM'Util'unescape($tokens[2]);
++       lc CSS::DOM::Util::unescape(substr $tokens[1], 0, -1),
++       lc CSS::DOM::Util::unescape($tokens[2]);
+       splice @tokens, 0, 4;
+      }
+ 
+      # [attr]
+      elsif($types =~ s/^\[i]//) {
+-      push @subsel, '=', lc CSS'DOM'Util'unescape($tokens[1]), undef;
++      push @subsel, '=', lc CSS::DOM::Util::unescape($tokens[1]), undef;
+       splice @tokens, 0, 3;
+      }
+ 
+@@ -166,16 +166,16 @@ sub _selector_matches { # ~~~ Does this work with initial space in the selector?
+      elsif($types =~ /^\[id']/ && $tokens[2] eq '=') {
+       $types =~ s/^.{5}//;
+       push @subsel, '=',
+-       lc CSS'DOM'Util'unescape($tokens[1]),
+-       CSS'DOM'Util'unescape_str($tokens[3]);
++       lc CSS::DOM::Util::unescape($tokens[1]),
++       CSS::DOM::Util::unescape_str($tokens[3]);
+       splice @tokens, 0, 5;
+      }
+ 
+      # [attr~='value'], [attr|='value']
+      elsif($types =~ s/^\[i[~|]']//) {
+       push @subsel, $tokens[2],
+-       lc CSS'DOM'Util'unescape($tokens[1]),
+-       CSS'DOM'Util'unescape_str($tokens[3]);
++       lc CSS::DOM::Util::unescape($tokens[1]),
++       CSS::DOM::Util::unescape_str($tokens[3]);
+       splice @tokens, 0, 5;
+      }
+ 
+diff --git a/lib/CSS/DOM/Style.pm b/lib/CSS/DOM/Style.pm
+index 47d1291..b42b8db 100644
+--- a/lib/CSS/DOM/Style.pm
++++ b/lib/CSS/DOM/Style.pm
+@@ -171,9 +171,9 @@ sub setProperty {
+ 	# short-circuit for the common case
+ 	length $value or $self->removeProperty($name),return;
+ 
+-	require CSS'DOM'Parser;
+-	my @tokens = eval { CSS'DOM'Parser'tokenise_value($value); }
+-		or die CSS::DOM'Exception->new( SYNTAX_ERR, $@);
++        require CSS::DOM::Parser;
++        my @tokens = eval { CSS::DOM::Parser::tokenise_value($value); }
++                or die CSS::DOM::Exception->new( SYNTAX_ERR, $@);
+ 
+ 	# check for whitespace/comment assignment
+ 	$tokens[0] =~ /^s+\z/ and $self->removeProperty($name),return;
+diff --git a/lib/CSS/DOM/Value.pm b/lib/CSS/DOM/Value.pm
+index 45f89e9..83b04e7 100644
+--- a/lib/CSS/DOM/Value.pm
++++ b/lib/CSS/DOM/Value.pm
+@@ -7,9 +7,9 @@ use strict;
+ 
+ use Carp;
+ use CSS::DOM::Constants;
+-use CSS'DOM'Exception 'NO_MODIFICATION_ALLOWED_ERR';
++use CSS::DOM::Exception 'NO_MODIFICATION_ALLOWED_ERR';
+ use Exporter 5.57 'import';
+-use Scalar'Util < weaken reftype >;
++use Scalar::Util < weaken reftype >;
+ 
+ use constant 1.03 our $_const = {
+     type => 0,
+@@ -46,11 +46,11 @@ sub cssText {
+ 		? $self->[valu] : 'inherit'
+ 	 if defined wantarray;
+ 	if(@_) {
+-		die new CSS'DOM'Exception
++                die new CSS::DOM::Exception
+ 		  NO_MODIFICATION_ALLOWED_ERR,
+ 		 "Unowned value objects cannot be modified"
+ 		   unless my $owner = $self->[ownr];
+-		die new CSS'DOM'Exception
++                die new CSS::DOM::Exception
+ 		  NO_MODIFICATION_ALLOWED_ERR,
+ 		 "CSS::DOM::Value objects that do not know to which "
+ 		 ."property they belong cannot be modified"
+diff --git a/lib/CSS/DOM/Value/List.pm b/lib/CSS/DOM/Value/List.pm
+index 85f5ef5..e681fa2 100644
+--- a/lib/CSS/DOM/Value/List.pm
++++ b/lib/CSS/DOM/Value/List.pm
+@@ -2,8 +2,8 @@ package CSS::DOM::Value::List;
+ 
+ $VERSION = '0.17';
+ 
+-use CSS'DOM'Constants <CSS_VALUE_LIST NO_MODIFICATION_ALLOWED_ERR>;
+-use Scalar'Util 'weaken';
++use CSS::DOM::Constants <CSS_VALUE_LIST NO_MODIFICATION_ALLOWED_ERR>;
++use Scalar::Util 'weaken';
+ 
+ # Object of this class are hashes, with the following keys:
+ # c: CSS code
+@@ -14,7 +14,7 @@ use Scalar'Util 'weaken';
+ 
+ sub DOES {
+  return 1 if $_[1] eq 'CSS::DOM::Value';
+- goto &UNIVERSAL'DOES if defined &UNIVERSAL'DOES;
++ goto &UNIVERSAL::DOES if defined &UNIVERSAL::DOES;
+ }
+ 
+ use overload
+@@ -37,14 +37,14 @@ sub cssText {
+  if(defined wantarray) {{
+    if(!defined $$self{c} || grep ref ne 'ARRAY', @{$$self{v}}) {
+     @{$$self{v}} or $old = 'none', last;
+-    require CSS'DOM'Value'Primitive;
++    require CSS::DOM::Value::Primitive;
+     my @args; my $index = 0;
+     for(@{$$self{v}}) {
+      next unless ref eq 'ARRAY';
+      @args or @args = (
+       (owner => property => @$self{<o p>})[0,2,1,3], index => $index
+      ); 
+-     $_ = new CSS'DOM'Value'Primitive @$_, @args;
++     $_ = new CSS::DOM::Value::Primitive @$_, @args;
+     }
+     no warnings 'uninitialized';
+     $old = join length $$self{s} ? $$self{s} : ' ',
+@@ -53,11 +53,11 @@ sub cssText {
+    else { $old = $$self{c} }
+  }}
+  if(@_) { # assignment
+-  die new CSS'DOM'Exception
++  die new CSS::DOM::Exception
+     NO_MODIFICATION_ALLOWED_ERR,
+    "Unowned value objects cannot be modified"
+      unless my $owner = $self->{o};
+-  die new CSS'DOM'Exception
++  die new CSS::DOM::Exception
+     NO_MODIFICATION_ALLOWED_ERR,
+    "CSS::DOM::Value objects that do not know to which "
+    ."property they belong cannot be modified"
+@@ -67,8 +67,8 @@ sub cssText {
+    my @arsg
+     = $owner->property_parser->match($prop, $_[0])
+   ) {
+-   require CSS'DOM'Value;
+-   CSS'DOM'Value::_apply_args_to_self($self,$owner,$prop,@arsg);
++   require CSS::DOM::Value;
++   CSS::DOM::Value::_apply_args_to_self($self,$owner,$prop,@arsg);
+   }
+ 
+   if(my $mh = $owner->modification_handler) {
+@@ -89,8 +89,8 @@ sub item {
+    defined or return;
+    ref eq 'ARRAY' or return exit die return $_;
+ 
+-   require CSS'DOM'Value'Primitive;
+-   return $_ = new CSS'DOM'Value'Primitive
++   require CSS::DOM::Value::Primitive;
++   return $_ = new CSS::DOM::Value::Primitive
+              @$_,
+              (owner => property => @$self{<o p>})[0,2,1,3],
+              index => $index;
+diff --git a/lib/CSS/DOM/Value/Primitive.pm b/lib/CSS/DOM/Value/Primitive.pm
+index 2ce0e9d..2046ff4 100644
+--- a/lib/CSS/DOM/Value/Primitive.pm
++++ b/lib/CSS/DOM/Value/Primitive.pm
+@@ -17,7 +17,7 @@ use Exporter 5.57 'import';
+ 
+ sub DOES {
+  return 1 if $_[1] eq 'CSS::DOM::Value';
+- goto &UNIVERSAL'DOES if defined &UNIVERSAL'DOES;
++ goto &UNIVERSAL::DOES if defined &UNIVERSAL::DOES;
+ }
+ 
+ use constant 1.03 our $_const = { # Don’t conflict with the superclass!
+@@ -203,8 +203,8 @@ sub cssText {
+ 		}}
+ 	}
+ 	if(@_) {
+-		require CSS'DOM'Exception,
+-		die new CSS'DOM'Exception
++                require CSS::DOM::Exception,
++                die new CSS::DOM::Exception
+ 		  NO_MODIFICATION_ALLOWED_ERR,
+ 		 "Unowned value objects cannot be modified"
+ 		   unless my $owner = $self->[ownr];
+@@ -213,15 +213,15 @@ sub cssText {
+ 		# deal with formats
+ 		if(my $format = $$self[form]) {
+ 			if(!our $parser) {
+-				require CSS'DOM'PropertyParser;
++                                require CSS::DOM::PropertyParser;
+ 				add_property{
+-				 $parser = new CSS'DOM'PropertyParser
++                                 $parser = new CSS::DOM::PropertyParser
+ 				} _=>our $prop_spec = {};
+ 			}
+ 			our $prop_spec->{format} = $format;
+ 			if(my @args = match { our $parser } _=> shift) {
+-				require CSS'DOM'Value;
+-				CSS'DOM'Value'_apply_args_to_self(
++                                require CSS::DOM::Value;
++                                CSS::DOM::Value::_apply_args_to_self(
+ 				 $self, $owner, $prop,
+ 				 @args, format => $format, 
+ 				);				
+@@ -231,8 +231,8 @@ sub cssText {
+ 		# This is never reached, at least not when CSS::DOM’s mod-
+ 		# ules call the constructor:
+ 		elsif(!defined $prop) {
+-			require CSS'DOM'Exception,
+-			die new CSS'DOM'Exception
++                        require CSS::DOM::Exception,
++                        die new CSS::DOM::Exception
+ 			  NO_MODIFICATION_ALLOWED_ERR,
+ 			 ref($self) . " objects that do not know to which "
+ 			 ."property they belong cannot be modified"
+@@ -263,8 +263,8 @@ sub cssText {
+ 			       $index+1..$length-1
+ 			      ),
+ 			    );
+-			require CSS'DOM'Value;
+-			CSS'DOM'Value'_load_if_necessary($arsg[1]);
++                        require CSS::DOM::Value;
++                        CSS::DOM::Value::_load_if_necessary($arsg[1]);
+ 			my $list = $arsg[1]->new(
+ 			 owner => $owner,
+ 			 property => $prop,
+@@ -284,8 +284,8 @@ sub cssText {
+ 		 my @arsg
+ 		  = $owner->property_parser->match($prop, $_[0])
+ 		) {
+-			require CSS'DOM'Value;
+-			CSS'DOM'Value'_apply_args_to_self(
++                        require CSS::DOM::Value;
++                        CSS::DOM::Value::_apply_args_to_self(
+ 				 $self, $owner, $prop, @arsg
+ 			);
+ 		}
+@@ -341,10 +341,10 @@ sub cssValueType { CSS::DOM::Value::CSS_PRIMITIVE_VALUE }
+ sub primitiveType { shift->[type] }
+ 
+ sub setFloatValue {
+-  my ($self,$type,$val) = @'_;
++  my ($self,$type,$val) = @_;
+ 
+-  require CSS'DOM'Exception,
+-  die new CSS'DOM'Exception INVALID_ACCESS_ERR, "Invalid value type"
++  require CSS::DOM::Exception,
++  die new CSS::DOM::Exception INVALID_ACCESS_ERR, "Invalid value type"
+    if $type == CSS_UNKNOWN || $type == CSS_COUNTER
+    || $type == CSS_RECT || $type == CSS_RGBCOLOR || $type == CSS_DIMENSION;
+ 
+@@ -352,8 +352,8 @@ sub setFloatValue {
+   # using this API.
+   no warnings 'numeric';
+   $self->cssText(my $css = _serialise($type, $val));
+-  require CSS'DOM'Exception,
+-  die new CSS'DOM'Exception INVALID_ACCESS_ERR, "Invalid value: $css"
++  require CSS::DOM::Exception,
++  die new CSS::DOM::Exception INVALID_ACCESS_ERR, "Invalid value: $css"
+    if $self->cssText ne $css;
+  _:
+ }
+@@ -364,8 +364,8 @@ sub getFloatValue {
+  # There are more types that are numbers than are not, so we
+  # invert our list.
+  my $type = $self->[type];
+- require CSS'DOM'Exception,
+- die new CSS'DOM'Exception INVALID_ACCESS_ERR, "Not a numeric value"
++ require CSS::DOM::Exception,
++ die new CSS::DOM::Exception INVALID_ACCESS_ERR, "Not a numeric value"
+   if $type == CSS_UNKNOWN || $type == CSS_STRING || $type == CSS_URI 
+   || $type == CSS_IDENT || $type == CSS_ATTR || $type == CSS_COUNTER
+   || $type == CSS_RECT || $type == CSS_RGBCOLOR;
+@@ -380,8 +380,8 @@ sub getStringValue {
+  my $self = shift;
+ 
+  my $type = $self->[type];
+- require CSS'DOM'Exception,
+- die new CSS'DOM'Exception INVALID_ACCESS_ERR, "Not a string value"
++ require CSS::DOM::Exception,
++ die new CSS::DOM::Exception INVALID_ACCESS_ERR, "Not a string value"
+   unless $type == CSS_STRING || $type == CSS_URI
+       || $type == CSS_IDENT  || $type == CSS_ATTR;
+ 
+diff --git a/t/CSS2Properties.t b/t/CSS2Properties.t
+index 315321b..13fc438 100644
+--- a/t/CSS2Properties.t
++++ b/t/CSS2Properties.t
+@@ -3,8 +3,8 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
+-sub tests'import { $tests += pop if @_ > 1 };
++sub tests::VERSION { $tests += pop };
++sub tests::import { $tests += pop if @_ > 1 };
+ use Test::More;
+ plan tests => $tests;
+ 
+diff --git a/t/CSSCharsetRule.t b/t/CSSCharsetRule.t
+index 92a8e74..fc3dba5 100644
+--- a/t/CSSCharsetRule.t
++++ b/t/CSSCharsetRule.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -13,7 +13,7 @@ use_ok 'CSS::DOM::Rule::Charset',;
+ 
+ require CSS::DOM;
+ my $rule = (
+-	my $ss = CSS::DOM'parse(
++	my $ss = CSS::DOM::parse(
+ 		'@charset "utf-8";'
+ 	)
+ )-> cssRules->[0];
+diff --git a/t/CSSFontFaceRule.t b/t/CSSFontFaceRule.t
+index 9f4879e..abd5b6c 100644
+--- a/t/CSSFontFaceRule.t
++++ b/t/CSSFontFaceRule.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -13,7 +13,7 @@ use_ok 'CSS::DOM::Rule::FontFace',;
+ 
+ require CSS::DOM;
+ my $rule = (
+-	my $ss = CSS::DOM'parse(
++	my $ss = CSS::DOM::parse(
+ 		'@font-face { font-family: "foo";src:url(bar) }'
+ 	)
+ )-> cssRules->[0];
+diff --git a/t/CSSImportRule.t b/t/CSSImportRule.t
+index 6ec65ef..c8a6a51 100644
+--- a/t/CSSImportRule.t
++++ b/t/CSSImportRule.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -15,7 +15,7 @@ use_ok 'CSS::DOM::Rule::Import';
+ 
+ require CSS::DOM;
+ my $rule = (
+-	my $ss = CSS::DOM'parse(
++	my $ss = CSS::DOM::parse(
+ 		'@import "foo.css" tv, screen'
+ 	)
+ )-> cssRules->[0];
+@@ -95,7 +95,7 @@ use tests 5; # styleSheet
+ 		'foo.css' => '@import "bar.css"',
+ 		'bar.css' => 'a { color: blue }',
+ 	);
+-	is CSS'DOM'parse('@import "foo.css',url_fetcher=>sub{$urls{$_[0]}})
++	is CSS::DOM::parse('@import "foo.css',url_fetcher=>sub{$urls{$_[0]}})
+ 		->cssRules->[0]->styleSheet
+ 		->cssRules->[0]->styleSheet
+ 		->cssRules->[0]->style->color,
+diff --git a/t/CSSMediaRule.t b/t/CSSMediaRule.t
+index fffa7fb..9d01698 100644
+--- a/t/CSSMediaRule.t
++++ b/t/CSSMediaRule.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -15,7 +15,7 @@ use_ok 'CSS::DOM::Rule::Media';
+ 
+ require CSS::DOM;
+ my $rule = (
+-	my $ss = CSS::DOM'parse(
++	my $ss = CSS::DOM::parse(
+ 		'@media print { body { background: none } }'
+ 	)
+ )-> cssRules->[0];
+@@ -133,4 +133,4 @@ use tests 4; # deleteRule
+ 	cmp_ok $@, '==', CSS::DOM::Exception::INDEX_SIZE_ERR,
+ 		'error raised by deleteRule';
+ 
+-}
+\ No newline at end of file
++}
+diff --git a/t/CSSPageRule.t b/t/CSSPageRule.t
+index 108923e..764e1a1 100644
+--- a/t/CSSPageRule.t
++++ b/t/CSSPageRule.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -14,7 +14,7 @@ use_ok 'CSS::DOM::Rule::Page',;
+ 
+ require CSS::DOM;
+ my $rule = (
+-	my $ss = CSS::DOM'parse( '@page:first{ margin-top: 3in }')
++	my $ss = CSS::DOM::parse( '@page:first{ margin-top: 3in }')
+ )-> cssRules->[0];
+ 
+ use tests 1; # isa
+diff --git a/t/CSSPrimitiveValue.t b/t/CSSPrimitiveValue.t
+index 5b30046..ad378f7 100644
+--- a/t/CSSPrimitiveValue.t
++++ b/t/CSSPrimitiveValue.t
+@@ -4,8 +4,8 @@ use strict; use warnings;
+ no warnings<utf8 parenthesis regexp once qw bareword syntax>;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
+-sub tests'import  { $tests += pop if @_ > 1 };
++sub tests::VERSION { $tests += pop };
++sub tests::import  { $tests += pop if @_ > 1 };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -441,9 +441,9 @@ for(CSS::DOM::Value::Primitive->new(
+ # ------------------------------------------
+ # Tests for setFloatValue and setStringValue
+ 
+-use CSS'DOM'Style;
++use CSS::DOM::Style;
+ require CSS::DOM::PropertyParser;
+-my $s = new CSS'DOM'Style
++my $s = new CSS::DOM::Style
+  property_parser => $CSS::DOM::PropertyParser::Default;
+ 
+ for my $meth ('setFloatValue' ,'setStringValue'){
+diff --git a/t/CSSRule.t b/t/CSSRule.t
+index b33007c..582eb04 100644
+--- a/t/CSSRule.t
++++ b/t/CSSRule.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -24,7 +24,7 @@ use tests 7; # constants
+ 
+ 
+ require CSS::DOM;
+-my $ss = CSS::DOM'parse( 'a{text-decoration: none} p { margin: 0 }');
++my $ss = CSS::DOM::parse( 'a{text-decoration: none} p { margin: 0 }');
+ my $rule = cssRules $ss ->[0];
+ 
+ use tests 1; # isa
+diff --git a/t/CSSRuleList.t b/t/CSSRuleList.t
+index bc2bfaf..5cee6f6 100644
+--- a/t/CSSRuleList.t
++++ b/t/CSSRuleList.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+diff --git a/t/CSSStyleDeclaration-setProperty.t b/t/CSSStyleDeclaration-setProperty.t
+index cceb993..d0615b7 100644
+--- a/t/CSSStyleDeclaration-setProperty.t
++++ b/t/CSSStyleDeclaration-setProperty.t
+@@ -7,7 +7,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+diff --git a/t/CSSStyleDeclaration.t b/t/CSSStyleDeclaration.t
+index 57bfe98..7bcc370 100644
+--- a/t/CSSStyleDeclaration.t
++++ b/t/CSSStyleDeclaration.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings; no warnings qw 'utf8 parenthesis regexp once qw';
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -26,7 +26,7 @@ use tests 3; # first make sure we can use it without loading CSS::DOM
+ 	
+ 
+ require CSS::DOM;
+-my $ss = CSS::DOM'parse ('a{text-decoration: none} p { margin: 0 }');
++my $ss = CSS::DOM::parse ('a{text-decoration: none} p { margin: 0 }');
+ my $rule = cssRules $ss ->[0];
+ my $decl = $rule->style;
+ 
+@@ -105,7 +105,7 @@ like $decl->cssText, qr/color: blue !very\\ important/,
+ 
+ use tests 4; # length
+ {
+-	my $decl = new CSS'DOM'Style;
++	my $decl = new CSS::DOM::Style;
+ 	is eval { $decl->length }, 0,  # This used to die [RT #54810]
+ 	  'length when no properties have been added';  # (fixed in 0.09).
+ 	$decl = CSS::DOM::Style::parse(
+diff --git a/t/CSSStyleRule.t b/t/CSSStyleRule.t
+index 024012b..fb550da 100644
+--- a/t/CSSStyleRule.t
++++ b/t/CSSStyleRule.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -14,7 +14,7 @@ use_ok 'CSS::DOM::Rule::Style',;
+ 
+ require CSS::DOM;
+ my $rule = (
+-	my $ss = CSS::DOM'parse('a{text-decoration: none} p { margin: 0 }')
++	my $ss = CSS::DOM::parse('a{text-decoration: none} p { margin: 0 }')
+ )-> cssRules->[0];
+ 
+ use tests 1; # isa
+diff --git a/t/CSSStyleSheet-insertRule.t b/t/CSSStyleSheet-insertRule.t
+index 3302966..94b3ee7 100644
+--- a/t/CSSStyleSheet-insertRule.t
++++ b/t/CSSStyleSheet-insertRule.t
+@@ -7,7 +7,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -19,4 +19,3 @@ ok eval{$ss->insertRule('a{ color: red }',0);1},
+ 	'insertRule on empty style sheet doesn\'t die';
+ 	# At one point during development, it did die because it was call-
+ 	# ing methods on CSS::DOM::RuleParser which hadn’t been loaded.
+-
+diff --git a/t/CSSStyleSheet.t b/t/CSSStyleSheet.t
+index ab82e6a..40b3edf 100644
+--- a/t/CSSStyleSheet.t
++++ b/t/CSSStyleSheet.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -30,7 +30,7 @@ use tests 3; # (_set_)ownerRule
+ 
+ use tests 2; # cssRules
+ {
+-	$ss = CSS::DOM'parse( 'a{text-decoration: none} p { margin: 0 }');
++	$ss = CSS::DOM::parse( 'a{text-decoration: none} p { margin: 0 }');
+ 	is +()=$ss->cssRules, 2, 'cssRules in list context';
+ 	isa_ok my $rules = cssRules $ss, 'CSS::DOM::RuleList',
+ 		'cssRules in scalar context';
+@@ -38,7 +38,7 @@ use tests 2; # cssRules
+ 
+ use tests 11; # insertRule
+ {
+-	$ss = CSS::DOM'parse ('a{text-decoration: none} p { margin: 0 }');
++	$ss = CSS::DOM::parse ('a{text-decoration: none} p { margin: 0 }');
+ 	
+ 	is $ss->insertRule('b { font-weight: bold }', 0), 0,
+ 		'retval of insertRule';
+@@ -70,7 +70,7 @@ use tests 11; # insertRule
+ 
+ use tests 4; # deleteRule
+ {
+-	$ss = CSS::DOM'parse ('a{text-decoration: none} p { margin: 0 }
++	$ss = CSS::DOM::parse ('a{text-decoration: none} p { margin: 0 }
+ 		i {}');
+ 	is +()=$ss->deleteRule(1), 0, 'retval of deleteRule';
+ 	is_deeply [map $_->selectorText, $ss->cssRules], [qw/ a i /],
+@@ -82,4 +82,4 @@ use tests 4; # deleteRule
+ 	cmp_ok $@, '==', CSS::DOM::Exception::INDEX_SIZE_ERR,
+ 		'error raised by deleteRule';
+ 
+-}
+\ No newline at end of file
++}
+diff --git a/t/CSSValue-prim-cssText.t b/t/CSSValue-prim-cssText.t
+index 09f657b..b19836a 100644
+--- a/t/CSSValue-prim-cssText.t
++++ b/t/CSSValue-prim-cssText.t
+@@ -6,7 +6,7 @@
+ use strict; use warnings; no warnings qw 'qw regexp once utf8 parenthesis';
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+diff --git a/t/CSSValue.t b/t/CSSValue.t
+index 5fad855..f5a04d0 100644
+--- a/t/CSSValue.t
++++ b/t/CSSValue.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings; no warnings qw 'qw regexp once utf8 parenthesis';
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -38,7 +38,7 @@ isa_ok +CSS::DOM::Value->new(type => &CSS_CUSTOM, value => "top left"),
+ 
+ require CSS::DOM::Style;
+ require CSS::DOM::PropertyParser;
+-my $s = new CSS'DOM'Style
++my $s = new CSS::DOM::Style
+  property_parser => my $spec = $CSS::DOM::PropertyParser::Default;
+ 
+ # The default parser has no properties with a simple string, attr or
+diff --git a/t/CSSValueList.t b/t/CSSValueList.t
+index 1805209..25c1bec 100644
+--- a/t/CSSValueList.t
++++ b/t/CSSValueList.t
+@@ -3,17 +3,17 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+-use CSS'DOM'Constants ':primitive';
+-use CSS'DOM'Value'List;
++use CSS::DOM::Constants ':primitive';
++use CSS::DOM::Value::List;
+ 
+ use tests 1; # DOES
+-ok +CSS'DOM'Value'List->DOES('CSS::DOM::Value'), 'DOES';
++ok +CSS::DOM::Value::List->DOES('CSS::DOM::Value'), 'DOES';
+ 
+-my $v = new CSS'DOM'Value'List values => [
++my $v = new CSS::DOM::Value::List values => [
+  [ type => CSS_STRING, value => 'sphed' ],
+  [ type => CSS_STRING, value => 'flit' ],
+ ];
+diff --git a/t/MediaList.t b/t/MediaList.t
+index 3092c62..0888d61 100644
+--- a/t/MediaList.t
++++ b/t/MediaList.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+diff --git a/t/RGBColor.t b/t/RGBColor.t
+index 3758529..12d2938 100644
+--- a/t/RGBColor.t
++++ b/t/RGBColor.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+diff --git a/t/Rect.t b/t/Rect.t
+index e7f83a4..ea8f046 100644
+--- a/t/Rect.t
++++ b/t/Rect.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -25,4 +25,4 @@ use tests 4;
+  is $v->left->cssText, '4cm', 'left';
+ }
+ 
+-# ~~~ test for modifications of the cssText property
+\ No newline at end of file
++# ~~~ test for modifications of the cssText property
+diff --git a/t/StyleSheet.t b/t/StyleSheet.t
+index a4469fb..e84e7d4 100644
+--- a/t/StyleSheet.t
++++ b/t/StyleSheet.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -55,7 +55,7 @@ use tests 1; # (set_)href
+ 
+ use tests 1; # title
+ {
+-	sub foo'attr { return shift->{+shift} }
++	sub foo::attr { return shift->{+shift} }
+ 	$ss->set_ownerNode(my $foo = bless {title => 'tilde'}, 'foo');
+ 	is $ss->title, 'tilde', 'title';
+ }
+diff --git a/t/StyleSheetList.t b/t/StyleSheetList.t
+index 8e8c7cf..745f894 100644
+--- a/t/StyleSheetList.t
++++ b/t/StyleSheetList.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+diff --git a/t/charset.t b/t/charset.t
+index eed053e..1666157 100644
+--- a/t/charset.t
++++ b/t/charset.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings; no warnings qw 'utf8 parenthesis';
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+diff --git a/t/css-dom-interface.t b/t/css-dom-interface.t
+index 41bca29..76e5f2f 100644
+--- a/t/css-dom-interface.t
++++ b/t/css-dom-interface.t
+@@ -6,7 +6,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+diff --git a/t/css-dom-style.t b/t/css-dom-style.t
+index f852f6f..9a6582f 100644
+--- a/t/css-dom-style.t
++++ b/t/css-dom-style.t
+@@ -6,13 +6,13 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+ use tests 4; # modification_handler
+ require CSS::DOM::Style;
+-my $style = CSS::DOM::Style'parse('margin-top: 2px');
++my $style = CSS::DOM::Style::parse('margin-top: 2px');
+ $style->modification_handler(sub { ++$}; ${{} .= shift});
+ $style->cssText('margin-bottom: 600%');
+ is $}, 1, 'cssText triggers mod hander';
+@@ -25,4 +25,3 @@ is $}, 3, 'AUTOLOAD triggers the handler';
+ # ~~~ We also needs tests for modification_handler triggered by:
+ #  • removeProperty
+ #  • modifications to CSSValue objects and their sub-objects (RGBColor etc
+-
+diff --git a/t/css-dom-util.t b/t/css-dom-util.t
+index 5dbef09..554cd1b 100644
+--- a/t/css-dom-util.t
++++ b/t/css-dom-util.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings; no warnings qw 'utf8 parenthesis';
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+diff --git a/t/css-dom.t b/t/css-dom.t
+index e36a046..d43d458 100644
+--- a/t/css-dom.t
++++ b/t/css-dom.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings;
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -28,7 +28,7 @@ use tests 1; # compute_style
+  local $SIG{__WARN__} = sub { $w .= shift };
+  require CSS::DOM::Style;
+  my $elem = bless{
+-  style => CSS'DOM'Style'parse('color:red'), tagName => 'p',
++  style => CSS::DOM::Style::parse('color:red'), tagName => 'p',
+  }, MyElem=>;
+  CSS::DOM::compute_style(element => $elem);
+  is $w, undef, 'no warnings for style belonging to element itself';
+diff --git a/t/parser-rules.t b/t/parser-rules.t
+index 16cb536..7387caf 100644
+--- a/t/parser-rules.t
++++ b/t/parser-rules.t
+@@ -8,7 +8,7 @@
+ use strict; use warnings; no warnings qw 'utf8 parenthesis';
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -35,7 +35,7 @@ use tests 2; # miscellaneous CSS::DOM::parse stuff
+ 
+ use tests 7; # <!-- -->
+ {
+-	my $sheet = CSS'DOM'parse '
++	my $sheet = CSS::DOM::parse '
+ 		<!-- /* --> /* /**/
+ 		@at-rule {/*<!--*/ } <!--
+ 		-->
+@@ -46,9 +46,9 @@ use tests 7; # <!-- -->
+ 		'@at-rule {/*<!--*/ }' . "\n" .
+ 		"{ style: rule }\n",
+ 		'<!-- -->';
+-	CSS'DOM'parse 'a { --> }';
++	CSS::DOM::parse 'a { --> }';
+ 	ok $@, 'invalid -->';
+-	CSS'DOM'parse 'a { <!-- }';
++	CSS::DOM::parse 'a { <!-- }';
+ 	ok $@, 'invalid <!--';
+ 	ok !eval{$sheet->insertRule('--> a { }');1},
+ 		'invalid --> before statement';
+@@ -62,7 +62,7 @@ use tests 7; # <!-- -->
+ 
+ use tests 5; # single statement parser
+ {
+-	my $sheet = new CSS'DOM;
++	my $sheet = new CSS::DOM;
+ 	$sheet->insertRule('phoo { bar : baz} ',0);
+ 	isa_ok cssRules$sheet->[0], 'CSS::DOM::Rule::Style',
+ 		'ruleset created by insertRule';
+@@ -79,36 +79,36 @@ use tests 5; # single statement parser
+ 
+ use tests 9; # styledecl parser
+ {
+-	my $style = CSS'DOM'Style'parse  ' foo : bar ';
++	my $style = CSS::DOM::Style::parse  ' foo : bar ';
+ 	is $style->cssText, 'foo: bar', 'style parser';
+-	CSS'DOM'Style'parse 'foo: bar}';
++	CSS::DOM::Style::parse 'foo: bar}';
+ 	ok $@, 'style parser chokes on }';
+-	is CSS'DOM'Style'parse  ' ; ;;;;;foo : bar ;;;; ; ',->cssText,
++	is CSS::DOM::Style::parse  ' ; ;;;;;foo : bar ;;;; ; ',->cssText,
+ 		'foo: bar', 'style wit extra semicolons';
+-	is CSS'DOM'Style'parse  'foo:bar',->cssText,
++	is CSS::DOM::Style::parse  'foo:bar',->cssText,
+ 		'foo: bar', 'style with no space';
+-	is CSS'DOM'Style'parse  'foo:bar;;;baz:bonk;;',->cssText,
++	is CSS::DOM::Style::parse  'foo:bar;;;baz:bonk;;',->cssText,
+ 		'foo: bar; baz: bonk',
+ 		'style with no space & extra semicolons';
+-	is CSS'DOM'Style'parse  'foo:bar;;;!baz:bonk;;',->cssText,
++	is CSS::DOM::Style::parse  'foo:bar;;;!baz:bonk;;',->cssText,
+ 		'foo: bar',
+ 		'style with delimiter+ident for property name';
+-	is CSS'DOM'Style'parse  '\70\41 dding:0;;;;;',->cssText,
++	is CSS::DOM::Style::parse  '\70\41 dding:0;;;;;',->cssText,
+ 		'padding: 0',
+ 		'style with escaped property name';
+ 
+-	is CSS'DOM'Style'parse '\a\z\A\Z\)\a a :bar',
++	is CSS::DOM::Style::parse '\a\z\A\Z\)\a a :bar',
+ 		->getPropertyValue("\nz\nZ)\na"), 'bar',
+ 		'style with both kinds of ident escapes';
+ 
+ 	{ package Phoo; use overload '""'=>sub{'foo:bar'}}
+-	is CSS'DOM'Style'parse(bless [], 'Phoo')->cssText, 'foo: bar',
++	is CSS::DOM::Style::parse(bless [], 'Phoo')->cssText, 'foo: bar',
+ 		'::Style::parse\'s force stringification';
+ }
+ 
+ use tests 121; # @media
+ {
+-	my $sheet = new CSS'DOM; my $rule;
++	my $sheet = new CSS::DOM; my $rule;
+ 
+ 	$sheet->insertRule('@media print{a{color:blue}}',0);
+ 	isa_ok $rule=pop@{$sheet->cssRules}, 'CSS::DOM::Rule::Media',
+@@ -464,7 +464,7 @@ use tests 121; # @media
+ 	is $rule->cssText, "\@meDIa { }\n",
+ 		'serialised empty unclosed fake @meDIa rule w/ws';
+ 
+-	$sheet = CSS'DOM'parse '
++	$sheet = CSS::DOM::parse '
+ 		@media print { a { color: blue } "stuff"}
+ 		td { padding: 0 }
+ 	';
+@@ -496,7 +496,7 @@ use tests 121; # @media
+ 
+ use tests 1; # bracket closure
+ {
+-	my $sheet = new CSS'DOM; my $rule;
++	my $sheet = new CSS::DOM; my $rule;
+ 
+ 	$sheet->insertRule('@unknown {(rect([',0);
+ 	is +($rule=pop@{$sheet->cssRules})->cssText,
+@@ -506,7 +506,7 @@ use tests 1; # bracket closure
+ 
+ use tests 14; # @page
+ {
+-	my $sheet = new CSS'DOM; my $rule;
++	my $sheet = new CSS::DOM; my $rule;
+ 
+ 	$sheet->insertRule('@page{color:blue}',0);
+ 	is +($rule=pop@{$sheet->cssRules})->type, PAGE_RULE,
+@@ -553,7 +553,7 @@ use tests 14; # @page
+ 
+ use tests 6; # unrecognised at-rules
+ {
+-	my $sheet = new CSS'DOM; my $rule;
++	my $sheet = new CSS::DOM; my $rule;
+ 
+ 	$sheet->insertRule('@unknown \ / \ / :-P {...}',0);
+ 	is +($rule=pop@{$sheet->cssRules})->type, UNKNOWN_RULE,
+@@ -579,7 +579,7 @@ use tests 6; # unrecognised at-rules
+ 
+ use tests 6; # ruselet pasrer
+ {
+-	my $sheet = new CSS'DOM; my $rule;
++	my $sheet = new CSS::DOM; my $rule;
+ 
+ 	$sheet->insertRule('a{text-decoration:none;color:blue}',0);
+ 	is +($rule=pop@{$sheet->cssRules})->type, STYLE_RULE,
+@@ -605,7 +605,7 @@ use tests 6; # ruselet pasrer
+ 
+ use tests 1; # invaldi strings
+ {
+-	my $sheet = CSS'DOM'parse q*
++	my $sheet = CSS::DOM::parse q*
+ 	      p { 
+ 	        color: green; 
+ 	        font-family: 'Courier New Times 
+@@ -634,51 +634,51 @@ use tests 1; # invaldi strings
+ 
+ use tests 10; # invalid closing brackets
+ {
+-	is CSS'DOM'parse q" @eotetet ]" =>-> cssRules->length,0,
++	is CSS::DOM::parse q" @eotetet ]" =>-> cssRules->length,0,
+ 		'invalid closing bracket in unknown rule';
+ 	ok $@, '$@ is set by invalid closing bracket in unknown rule';
+-	is CSS'DOM'parse q" @media { ]" =>-> cssRules->length, 0,
++	is CSS::DOM::parse q" @media { ]" =>-> cssRules->length, 0,
+ 		'invalid closing bracket in media rule';
+ 	ok $@, '$@ is set by invalid closing bracket in media rule';
+-	is CSS'DOM'parse q" @page { ]" =>-> cssRules->length, 0,
++	is CSS::DOM::parse q" @page { ]" =>-> cssRules->length, 0,
+ 		'invalid closing bracket in page rule';
+ 	ok $@, '$@ is set by invalid closing bracket in page rule';
+-	is CSS'DOM'parse q" page ( ]" =>-> cssRules->length, 0,
++	is CSS::DOM::parse q" page ( ]" =>-> cssRules->length, 0,
+ 		'invalid closing bracket in selector';
+ 	ok $@, '$@ is set by invalid closing bracket in selector';
+-	is CSS'DOM'parse q" a {  (}" =>-> cssRules->length, 0,
++	is CSS::DOM::parse q" a {  (}" =>-> cssRules->length, 0,
+ 		'invalid closing bracket in style declaration';
+ 	ok $@, '$@ is set by invalid closing bracket in selector';
+ }
+ 
+ use tests 14; # invalid [\@;]
+ {
+-	is CSS'DOM'parse q" @eotetet @aa ]" =>-> cssRules->length,0,
++	is CSS::DOM::parse q" @eotetet @aa ]" =>-> cssRules->length,0,
+ 		'invalid @ in unknown rule';
+ 	ok $@, '$@ is set by invalid @ in unknown rule';
+-	is CSS'DOM'parse q" @eotetet aa (;" =>-> cssRules->length,0,
++	is CSS::DOM::parse q" @eotetet aa (;" =>-> cssRules->length,0,
+ 		'invalid ; in unknown rule';
+ 	ok $@, '$@ is set by invalid ; in unknown rule';
+-	is CSS'DOM'parse q" @media {(; { " =>-> cssRules->length,0,
++	is CSS::DOM::parse q" @media {(; { " =>-> cssRules->length,0,
+ 		'invalid ; in media rule';
+ 	ok $@, '$@ is set by invalid ; in media rule';
+-	is CSS'DOM'parse q" @page { (;fooo" =>-> cssRules->length,0,
++	is CSS::DOM::parse q" @page { (;fooo" =>-> cssRules->length,0,
+ 		'invalid ; in page rule';
+ 	ok $@, '$@ is set by invalid ; in page rule';
+-	is CSS'DOM'parse q" page @oo " =>-> cssRules->length,0,
++	is CSS::DOM::parse q" page @oo " =>-> cssRules->length,0,
+ 		'invalid @ in selector';
+ 	ok $@, '$@ is set by invalid @ in selector';
+-	is CSS'DOM'parse q" page ;( " =>-> cssRules->length,0,
++	is CSS::DOM::parse q" page ;( " =>-> cssRules->length,0,
+ 		'invalid ; in selector';
+ 	ok $@, '$@ is set by invalid ; in selector';
+-	is CSS'DOM'parse q" a { ( ;( " =>-> cssRules->length,0,
++	is CSS::DOM::parse q" a { ( ;( " =>-> cssRules->length,0,
+ 		'invalid ; in style declaration';
+ 	ok $@, '$@ is set by invalid ; in style declaration';
+ }
+ 
+ use tests 14; # @import
+ {
+-	my $sheet = new CSS'DOM; my $rule;
++	my $sheet = new CSS::DOM; my $rule;
+ 
+ 	$sheet->insertRule('@import"foo.css"print,screen;',0);
+ 	is +($rule=pop@{$sheet->cssRules})->type, IMPORT_RULE,
+@@ -722,7 +722,7 @@ use tests 14; # @import
+ 
+ use tests 8; # @font-face
+ {
+-	my $sheet = new CSS'DOM; my $rule;
++	my $sheet = new CSS::DOM; my $rule;
+ 
+ 	$sheet->insertRule('@font-face{color:blue}',0);
+ 	is +($rule=pop@{$sheet->cssRules})->type, FONT_FACE_RULE,
+@@ -751,7 +751,7 @@ use tests 8; # @font-face
+ 
+ use tests 13; # @charset
+ {
+-	my $sheet = new CSS'DOM; my $rule;
++	my $sheet = new CSS::DOM; my $rule;
+ 
+ 	$sheet->insertRule('@charset "utf-8";',0);
+ 	is +($rule=pop@{$sheet->cssRules})->type, CHARSET_RULE,
+@@ -799,4 +799,3 @@ use tests 13; # @charset
+ 	is +($rule=pop@{$sheet->cssRules})->type, UNKNOWN_RULE,
+ 		'@charset w/space b4 ; is an unknown rule';
+ }
+-
+diff --git a/t/parser-tokens.t b/t/parser-tokens.t
+index 9c0fae3..d6a42b7 100644
+--- a/t/parser-tokens.t
++++ b/t/parser-tokens.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings; no warnings qw 'utf8 parenthesis';
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -37,7 +37,7 @@ for('_', 'a'..'z', 'A'.."Z", map(chr,0x80..0x100) ,"\x{2003}","\x{3000}"){
+ {
+ 	my $style = CSS::DOM::Style::parse("--a: 65");
+ 	is $style->cssText, '', 'identifier can\'t begin with --';
+-	$style = CSS'DOM'Style'parse"-0b:-0b";
++	$style = CSS::DOM::Style::parse"-0b:-0b";
+ 	is $style->cssText, '', 'nor with -0';
+ }
+ 
+@@ -49,7 +49,7 @@ use tests 8; # strings
+ 		. q/\'\"/;
+ 	my $expect =
+ 		qq/ \x{10ffff}f-_abcABC}}}}}}}}\xff\x{2003}\x{100}\t'"/;
+-	my $rule = new CSS::DOM::Rule'Import; 
++	my $rule = new CSS::DOM::Rule::Import;
+ 
+ 	$rule->cssText('@import ' . "'$nasty_escaped_string'");
+ 	is $rule->href, $expect, "'...'";
+@@ -80,7 +80,7 @@ use tests 8; # strings
+ 
+ use tests 23; # urls
+ {
+-	my $rule = new CSS'DOM'Rule::Import;
++	my $rule = new CSS::DOM::Rule::Import;
+ 
+ 	$rule->cssText('@import url(!$#%&][\\\}|{*~foo/bar.gif)');
+ 	is $rule->href, '!$#%&][\}|{*~foo/bar.gif', 'unquoted url';
+@@ -118,7 +118,7 @@ use tests 23; # urls
+ 	is $rule->href, "\x{2000}\x{2000}\n 0  )\tz",
+ 		'double-quoted url with escapes';
+ 
+-	my $style = new CSS'DOM'Style;
++	my $style = new CSS::DOM::Style;
+ 
+ 	$style->name('url(foo');
+ 	is $style->name, 'url(foo)', 'unquoted, unterminated url';
+@@ -179,7 +179,7 @@ use tests 3; # spaces and comments
+ 		"name:valu  /*eeeee "  
+ 	);
+ 	is $style->name, 'valu', 'another ws /**/ test';
+-	$style = CSS'DOM'Style'parse( "name: /*\n*/valu");
++	$style = CSS::DOM::Style::parse( "name: /*\n*/valu");
+ 	is $style->name, 'valu', 'multiline comments';
+ }
+ 
+@@ -187,27 +187,27 @@ use tests 3; # spaces and comments
+ 
+ use tests 6; # <!-- -->
+ {
+-	my $sheet = CSS'DOM'parse ' <!--{ name: value }--> @media print{}';
++	my $sheet = CSS::DOM::parse ' <!--{ name: value }--> @media print{}';
+ 	is join('',map cssText$_,cssRules$sheet),
+ 		"{ name: value }\n\@media print {\n}\n",
+ 		'ignored <!-- -->';
+-	is CSS'DOM'parse"{}{name: <!-- value; n:v}" =>->
++	is CSS::DOM::parse"{}{name: <!-- value; n:v}" =>->
+ 		cssRules->length,
+ 	   1,
+ 		'invalid <!--';
+ 	ok $@, '$@ after invalid <!--';
+-	is CSS'DOM'parse"{}{name: --> value; n:v}" =>->
++	is CSS::DOM::parse"{}{name: --> value; n:v}" =>->
+ 		cssRules->length,
+ 	   1,
+ 		'invalid -->';
+ 	ok $@, '$@ after invalid -->';
+-	is CSS'DOM'Style'parse"name:'<!--value-->",->name,
++	is CSS::DOM::Style::parse"name:'<!--value-->",->name,
+ 		"'<!--value-->'", '<!-- --> in a string';
+ }
+ 
+ use tests 1; # miscellaneous tokens
+ {
+-	my $sheet = CSS'DOM'parse  '@foo ()[~=:,./+-]{[("\"';
++	my $sheet = CSS::DOM::parse  '@foo ()[~=:,./+-]{[("\"';
+ 	is $sheet->cssRules->[0]->cssText,
+ 		'@foo ()[~=:,./+-]{[("\"")]}'. "\n",
+ 		'miscellaneous tokens'
+diff --git a/t/property-parser.t b/t/property-parser.t
+index 6423b39..f785054 100644
+--- a/t/property-parser.t
++++ b/t/property-parser.t
+@@ -3,7 +3,7 @@
+ use strict; use warnings; no warnings qw 'utf8 parenthesis regexp once qw';
+ our $tests;
+ BEGIN { ++$INC{'tests.pm'} }
+-sub tests'VERSION { $tests += pop };
++sub tests::VERSION { $tests += pop };
+ use Test::More;
+ plan tests => $tests;
+ 
+@@ -18,11 +18,11 @@ isa_ok my $parser = CSS::DOM::PropertyParser->new,
+ 
+ use tests 4; # clone
+ my $clone = (my $css21 = $CSS::DOM::PropertyParser::CSS21)->clone;
+-isn't $clone, $css21, 'clone at the first level';
+-isn't $clone->get_property('background-position'),
++isnt $clone, $css21, 'clone at the first level';
++isnt $clone->get_property('background-position'),
+       $css21->get_property('background-position'),
+  'clone clones individual property specs';
+-isn't
++isnt
+  $clone->get_property('border-color')->{properties}
+   {'border-top-color'},
+  $css21->get_property('border-color')->{properties}
+@@ -1314,17 +1314,17 @@ use tests 2; # parsing colours
+ { # Tests for problems with colours in cygwin’s perl (broken in 0.08; fixed
+   # in 0.09) and for bugs temporarily introduced while those problems were
+   # being addressed.
+- my $p = new CSS'DOM'PropertyParser;
++ my $p = new CSS::DOM::PropertyParser;
+  $p->add_property(
+   'colours' => {
+     format => '<colour>+',
+    },
+  );
+- my $s = CSS'DOM'Style'parse(
++ my $s = CSS::DOM::Style::parse(
+   "colours: rgb(0,0,0) rgb(1,1,1)", 
+    property_parser => $p
+  );
+- use CSS'DOM'Constants 'CSS_CUSTOM';
++ use CSS::DOM::Constants 'CSS_CUSTOM';
+  is $s->getPropertyCSSValue('colours')->cssValueType, CSS_CUSTOM,
+    'quantified <colour>s';
+  $p->add_property(
+@@ -1346,18 +1346,18 @@ use tests 1; # backtracking with list properties
+   # local ${$whatever}[0]  localises one element.  But it  actually
+   # replaces the array temporarily with a new one,  which cannot
+   # work with references.
+- my $p = new CSS'DOM'PropertyParser;
++ my $p = new CSS::DOM::PropertyParser;
+  $p->add_property(
+   'foo' => {
+     format => '[(foo)|(foo),]+', # [(foo),?]+ does not trigger the bug
+     list   => 1,
+    },
+  );
+- my $s = CSS'DOM'Style'parse(
++ my $s = CSS::DOM::Style::parse(
+   "foo: foo, foo", 
+    property_parser => $p
+  );
+- use CSS'DOM'Constants 'CSS_VALUE_LIST';
++ use CSS::DOM::Constants 'CSS_VALUE_LIST';
+  is_deeply [map cssText $_, @{$s->getPropertyCSSValue('foo')}],[('foo')x2],
+    'backtracking does not preserve existing captures';
+ }
diff --git a/nixpkgs/pkgs/development/python-modules/acquire/default.nix b/nixpkgs/pkgs/development/python-modules/acquire/default.nix
index 4426f930b0d8..87e1ef293071 100644
--- a/nixpkgs/pkgs/development/python-modules/acquire/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/acquire/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "acquire";
-  version = "3.9";
+  version = "3.10";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "acquire";
     rev = "refs/tags/${version}";
-    hash = "sha256-ppkfnPJEvCImTA0+NjYD8r6SHcx9eBN9GBvo0IZYcjY=";
+    hash = "sha256-8fvVK/mH+pgPaaxNKvKOw1qU0ElWAmNVP6YAqvBTwio=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
index d1dc513c0b0b..17d09d6525fa 100644
--- a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "18.4.1";
+  version = "18.5.3";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-o1Yv4/wSM2k+L2/JP3teUj129QlyLjoShCRWJ3lIN98=";
+    hash = "sha256-k4CqpvmsKBO42oLkzogfm0ALenxRJnngdgxt1HK5i+Q=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix b/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
index af7635184a0d..463518ef2f98 100644
--- a/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
@@ -17,8 +17,8 @@
 
 buildPythonPackage rec {
   pname = "appthreat-vulnerability-db";
-  version = "5.5.2";
-  format = "pyproject";
+  version = "5.5.3";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "AppThreat";
     repo = "vulnerability-db";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ioFTayuPkxXIaaKKVHBLyU47jID6dGWCX1G9kVkD5Yo=";
+    hash = "sha256-6kfkHLW5PftzrhKjywc670HpKCrrU0POEiJ3u2doBTk=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/bbox/default.nix b/nixpkgs/pkgs/development/python-modules/bbox/default.nix
index 4f1d0cef7fd0..df28d568b010 100644
--- a/nixpkgs/pkgs/development/python-modules/bbox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bbox/default.nix
@@ -1,23 +1,40 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, pytestCheckHook
 , pythonOlder
-, pyquaternion
+, matplotlib
 , numpy
+, pendulum
+, pillow
+, poetry-core
+, pyquaternion
 }:
 
 buildPythonPackage rec {
   pname = "bbox";
   version = "0.9.4";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-GGQhKkdwmrYPEhtldPY3WUInSniU/B40NZvt1gXEuzg=";
+  src = fetchFromGitHub {
+    owner = "varunagrawal";
+    repo = pname;
+    # matches 0.9.4 on PyPi + tests
+    rev = "d3f07ed0e38b6015cf4181e3b3edae6a263f8565";
+    hash = "sha256-FrJ8FhlqwmnEB/QvPlkDfqZncNGPhwY9aagM9yv1LGs=";
   };
 
   propagatedBuildInputs = [ pyquaternion numpy ];
+  buildInputs = [ poetry-core ];
+
+  nativeCheckInputs = [
+    matplotlib
+    pendulum
+    pillow
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "bbox" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/bork/default.nix b/nixpkgs/pkgs/development/python-modules/bork/default.nix
index 5cd247cf2872..2b3b27108d1b 100644
--- a/nixpkgs/pkgs/development/python-modules/bork/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bork/default.nix
@@ -1,11 +1,13 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pytestCheckHook
 , pythonOlder
 
 , build
 , coloredlogs
 , packaging
+, pip
 , toml
 , twine
 , wheel
@@ -13,21 +15,22 @@
 
 buildPythonPackage rec {
   pname = "bork";
-  version = "7.0.0";
+  version = "7.0.1";
   pyproject = true;
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "duckinator";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-frwkU2YesYK0RJNz9yqiXj1XeTZ8jg5oClri4hEYokg=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-y/p2uuU+QKgJSdJmMt3oebm/zcuatYWTW8Jl79YxA3g=";
   };
 
   propagatedBuildInputs = [
     build
     coloredlogs
     packaging
+    pip
     toml
     twine
     wheel
@@ -39,6 +42,13 @@ buildPythonPackage rec {
     "bork.cli"
   ];
 
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+  pytestFlagsArray = [
+    "-m 'not network'"
+  ];
+
   meta = with lib; {
     description = "Python build and release management tool";
     homepage = "https://github.com/duckinator/bork";
diff --git a/nixpkgs/pkgs/development/python-modules/brian2/default.nix b/nixpkgs/pkgs/development/python-modules/brian2/default.nix
index 2b3bcbff5076..a85e26b485f4 100644
--- a/nixpkgs/pkgs/development/python-modules/brian2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/brian2/default.nix
@@ -22,12 +22,6 @@ buildPythonPackage rec {
     hash = "sha256-XMXSOwcH8fLgzXCcT+grjYxhBdtF4H/Vr+S7J4GYZSw=";
   };
 
-  patches = [
-    # Fix deprecated numpy types
-    # https://sources.debian.org/data/main/b/brian/2.5.1-3/debian/patches/numpy1.24.patch
-    ./numpy1.24.patch
-  ];
-
   propagatedBuildInputs = [
     cython
     jinja2
diff --git a/nixpkgs/pkgs/development/python-modules/brian2/numpy1.24.patch b/nixpkgs/pkgs/development/python-modules/brian2/numpy1.24.patch
deleted file mode 100644
index 01af8f77c0ed..000000000000
--- a/nixpkgs/pkgs/development/python-modules/brian2/numpy1.24.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Description: Remove deprecated use of np.float
-Author: Marcel Stimberg <marcel.stimberg@inserm.fr>
-Bug-Debian: https://bugs.debian.org/1027193
-Applied-Upstream: 61ef84b316a3d0a892298adf51abd8ac50900758
-Last-Update: 2023-01-06
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- brian.orig/brian2/units/fundamentalunits.py
-+++ brian/brian2/units/fundamentalunits.py
-@@ -1597,7 +1597,7 @@
-         unitless = np.array(self / best_unit, copy=False)
-         threshold = np.get_printoptions()['threshold'] // 100
-         if unitless.ndim == 0:
--            sympy_quantity = np.float(unitless)
-+            sympy_quantity = float(unitless)
-         elif unitless.ndim == 1:
-             array_str = np.array2string(unitless, separator=" & ", threshold=threshold,
-                                         max_line_width=sys.maxsize)
diff --git a/nixpkgs/pkgs/development/python-modules/circus/default.nix b/nixpkgs/pkgs/development/python-modules/circus/default.nix
index 90cf6a4be7f7..95d29a4401bc 100644
--- a/nixpkgs/pkgs/development/python-modules/circus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/circus/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , flit-core
@@ -34,6 +35,11 @@ buildPythonPackage rec {
     pyyaml
   ];
 
+  # On darwin: Too many open files
+  preCheck = lib.optionalString stdenv.isDarwin ''
+    ulimit -n 1024
+  '';
+
   disabledTests = [
     # these tests raise circus.tests.support.TimeoutException
     "test_reload1"
diff --git a/nixpkgs/pkgs/development/python-modules/dasbus/default.nix b/nixpkgs/pkgs/development/python-modules/dasbus/default.nix
index a7e0b754273f..dceb2e74ca86 100644
--- a/nixpkgs/pkgs/development/python-modules/dasbus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dasbus/default.nix
@@ -20,6 +20,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/rhinstaller/dasbus";
     description = "DBus library in Python3";
     license = licenses.lgpl21Only;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-fat/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-fat/default.nix
index 9fa9457b2848..0a22c7b8b7ba 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-fat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-fat/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-fat";
-  version = "3.6";
+  version = "3.7";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.fat";
     rev = "refs/tags/${version}";
-    hash = "sha256-3Zyjo7yoSLtAnC5lOLzjWsqMRoJxsrw2LKjQ2Qy38sg=";
+    hash = "sha256-YfWshytfj4p2MqLpzE3b1/RtrL1/+Xd/5+RNbrH/Jfc=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix
index 55ce876fe216..e7f17cb0286c 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-hypervisor";
-  version = "3.9";
+  version = "3.10";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.hypervisor";
     rev = "refs/tags/${version}";
-    hash = "sha256-AcDlyLKrRyt1mhh7nb9Oln/cjVKw8s1g78J8sgE2p2g=";
+    hash = "sha256-Ml5U7yc4iqqilL6Y9qF3VU+pa0AXnYVQjVas90TpG30=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix
index 9671bb33c8ab..94881ca3ca42 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-regf";
-  version = "3.7";
+  version = "3.8";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.regf";
     rev = "refs/tags/${version}";
-    hash = "sha256-WUrND1RnXTeN3WosR+m+yVJLe/imBTx7nmUZrSIc1E0=";
+    hash = "sha256-4tKu7oPkpNcWr2XJvZg94yZZcbTeeXBphPCLoZYzg6U=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-sql/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-sql/default.nix
index c7192854fcf8..173170396f72 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-sql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-sql/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-sql";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.sql";
     rev = "refs/tags/${version}";
-    hash = "sha256-CMUXMSkrutziAIYjUFbLEpsYpCZUiPmV16puXneGeHE=";
+    hash = "sha256-BHwm88IPtfg/bi5veFGnciQeH4s0asVnxiMVsIi8vV8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/distlib/default.nix b/nixpkgs/pkgs/development/python-modules/distlib/default.nix
index ca91e77a6672..cf31574e6fdb 100644
--- a/nixpkgs/pkgs/development/python-modules/distlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/distlib/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  postFixup = lib.optionalString (!stdenv.targetPlatform.isWindows) ''
+  postFixup = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
     find $out -name '*.exe' -delete
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/django-hijack/default.nix b/nixpkgs/pkgs/development/python-modules/django-hijack/default.nix
index 01e1593a82ce..5832d9a06933 100644
--- a/nixpkgs/pkgs/development/python-modules/django-hijack/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-hijack/default.nix
@@ -2,6 +2,7 @@
 , fetchFromGitHub
 , fetchNpmDeps
 , buildPythonPackage
+, nix-update-script
 
 # build-system
 , gettext
@@ -19,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "django-hijack";
-  version = "3.4.1";
+  version = "3.4.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "django-hijack";
     repo = "django-hijack";
     rev = "refs/tags/${version}";
-    hash = "sha256-y8KT/Fbk2eQDbGzcJtLdwS6jPCNoTWXousvqY+GlFnQ=";
+    hash = "sha256-E5gM/5MIB65gdyv/I+Kuw8rbjPvtUnbCPXpasaIDzyo=";
   };
 
   postPatch = ''
@@ -39,7 +40,7 @@ buildPythonPackage rec {
 
   npmDeps = fetchNpmDeps {
     inherit src;
-    hash = "sha256-FLfMCn2jsLlTTsC+LRMX0dmVCCbNAr2pQUsSQRKgo6E=";
+    hash = "sha256-4ZVb+V/oYfflIZdme6hbpoSBFVV7lk5wLfEzzBqZv/Y=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -67,6 +68,9 @@ buildPythonPackage rec {
     "-W" "ignore::DeprecationWarning"
   ];
 
+  # needed for npmDeps update
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     description = "Allows superusers to hijack (=login as) and work on behalf of another user";
     homepage = "https://github.com/arteria/django-hijack";
diff --git a/nixpkgs/pkgs/development/python-modules/echo/default.nix b/nixpkgs/pkgs/development/python-modules/echo/default.nix
new file mode 100644
index 000000000000..af3a3d43a6d7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/echo/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+, setuptools-scm
+, libxcrypt
+, numpy
+, qt6
+, qtpy
+, pyqt6
+, pytestCheckHook
+, pytest-cov
+}:
+
+buildPythonPackage rec {
+  pname = "echo";
+  version = "0.8.0";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "glue-viz";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-0FmUA7kOFSRZXwbj8d7asujBPOjE2pFhu6TDNSGD4r0=";
+  };
+
+  nativeBuildInputs = [ setuptools setuptools-scm qt6.wrapQtAppsHook ];
+
+  buildInputs = lib.optionals (pythonOlder "3.9") [
+    libxcrypt
+  ];
+
+  propagatedBuildInputs = [
+    qt6.qtconnectivity
+    qt6.qtbase
+    qt6.qttools
+    pyqt6
+    numpy
+    qtpy
+  ];
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  # collecting ... qt.qpa.xcb: could not connect to display
+  # qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
+  doCheck = false;
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov
+  ];
+
+  pythonImportsCheck = [ "echo" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/glue-viz/echo";
+    description = "Callback Properties in Python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ifurther ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/fast-histogram/default.nix b/nixpkgs/pkgs/development/python-modules/fast-histogram/default.nix
new file mode 100644
index 000000000000..fd00ff5df8e2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/fast-histogram/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, pytestCheckHook
+, fetchFromGitHub
+, python
+, pythonOlder
+, setuptools
+, setuptools-scm
+, numpy
+, wheel
+, hypothesis
+, pytest-cov
+}:
+
+buildPythonPackage rec {
+  pname = "fast-histogram";
+  version = "0.12";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "astrofrog";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Cz4BgbtxbUPxL2NSzvZYjbYIN4KUuliUV0bXRRtyvfM=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
+  ];
+
+  propagatedBuildInputs = [ numpy ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    hypothesis
+    pytest-cov
+  ];
+
+  pytestFlagsArray = [ "${builtins.placeholder "out"}/${python.sitePackages}" ];
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  pythonImportsCheck = [ "fast_histogram" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/astrofrog/fast-histogram";
+    description = "Fast 1D and 2D histogram functions in Python";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ifurther ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flow-record/default.nix b/nixpkgs/pkgs/development/python-modules/flow-record/default.nix
index 1562600a231f..2c8de577dc27 100644
--- a/nixpkgs/pkgs/development/python-modules/flow-record/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flow-record/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "flow-record";
-  version = "3.12";
+  version = "3.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "flow.record";
     rev = "refs/tags/${version}";
-    hash = "sha256-b9MCgs3Imo0DHtPyvQuRgYvsLWe8N2Y9TIWdU1E04L8=";
+    hash = "sha256-Yg42nA0dRjHormpmpbOuZYuvBpNz9XEpf84XI2iJpYY=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/geomet/default.nix b/nixpkgs/pkgs/development/python-modules/geomet/default.nix
index fb5f098f0d9f..0f9742c34381 100644
--- a/nixpkgs/pkgs/development/python-modules/geomet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/geomet/default.nix
@@ -2,14 +2,15 @@
 , buildPythonPackage
 , fetchFromGitHub
 , click
+, setuptools
 , six
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "geomet";
-  version = "1.0.0";
-  format = "setuptools";
+  version = "1.1.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
@@ -17,9 +18,13 @@ buildPythonPackage rec {
     owner = "geomet";
     repo = "geomet";
     rev = "refs/tags/${version}";
-    hash = "sha256-dN0d6wu5FqL/5FQrpQn+wlyEvp52pa5dkxLu3j3bxnw=";
+    hash = "sha256-YfI29925nffzRBMJb6Gm3muvlpwP3zSw2YJ2vWcf+Bo=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     click
     six
diff --git a/nixpkgs/pkgs/development/python-modules/glances-api/default.nix b/nixpkgs/pkgs/development/python-modules/glances-api/default.nix
index b0f54b53dc62..fc8d2edac2be 100644
--- a/nixpkgs/pkgs/development/python-modules/glances-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glances-api/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "glances-api";
-  version = "0.4.3";
-  format = "pyproject";
+  version = "0.5.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "home-assistant-ecosystem";
     repo = "python-glances-api";
     rev = "refs/tags/${version}";
-    hash = "sha256-VfiAJuSmzFVgDTThtsTy7/caRmJKZuD5YwHjMspeB0A=";
+    hash = "sha256-DUTZLLWO4xUeUlxHGGVr/MD5uKqRxUf+p0crYsELgzw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/glueviz/default.nix b/nixpkgs/pkgs/development/python-modules/glueviz/default.nix
new file mode 100644
index 000000000000..c6fb2859b413
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/glueviz/default.nix
@@ -0,0 +1,87 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, dill
+, astropy
+, numpy
+, pandas
+, qt6
+, pyqt6
+, pyqt-builder
+, qtconsole
+, setuptools
+, setuptools-scm
+, scipy
+, ipython
+, ipykernel
+, h5py
+, matplotlib
+, xlrd
+, mpl-scatter-density
+, pvextractor
+, openpyxl
+, echo
+, pytest
+, pytest-flakes
+, pytest-cov
+}:
+
+buildPythonPackage rec {
+  pname = "glueviz";
+  version = "1.14.1";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "glue-viz";
+    repo = "glue";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-pHUcvyDziE7l0foEz7cygMuAwggnIWzsQy9SFZCDkXA=";
+  };
+
+  buildInputs = [ pyqt-builder ];
+  nativeBuildInputs = [ setuptools setuptools-scm qt6.wrapQtAppsHook ];
+  propagatedBuildInputs = [
+    astropy
+    dill
+    setuptools
+    scipy
+    numpy
+    matplotlib
+    pandas
+    pyqt6
+    qtconsole
+    ipython
+    ipykernel
+    h5py
+    xlrd
+    mpl-scatter-density
+    pvextractor
+    openpyxl
+    echo
+  ];
+
+  dontConfigure = true;
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  # collecting ... qt.qpa.xcb: could not connect to display
+  # qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
+  doCheck = false;
+
+  nativeCheckInputs = [ pytest pytest-flakes pytest-cov ];
+
+  pythonImportsCheck = [ "glue" ];
+
+  preFixup = ''
+    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  '';
+
+  meta = with lib; {
+    homepage = "https://glueviz.org";
+    description = "Linked Data Visualizations Across Multiple Files";
+    license = licenses.bsd3; # https://github.com/glue-viz/glue/blob/main/LICENSE
+    maintainers = with maintainers; [ ifurther ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-org-policy/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-org-policy/default.nix
index 2aa7834ace8a..2e91f2704c77 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-org-policy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-org-policy/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-org-policy";
-  version = "1.8.2";
+  version = "1.8.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-SJpjS72keOf9QF1imsWLbgMSzxCDloO4tuc4vUy8ZBk=";
+    hash = "sha256-VU+vB+x2DElwzl1cO7qTdV91Mn1i2Dsq2safnMrwuqI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hcloud/default.nix b/nixpkgs/pkgs/development/python-modules/hcloud/default.nix
index 336f8ed962c3..1e460fa3c7fa 100644
--- a/nixpkgs/pkgs/development/python-modules/hcloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hcloud/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "hcloud";
-  version = "1.31.0";
+  version = "1.32.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hF+gptNLAeLtpZGrwOezwFeihDt1smCp4QkK5lENMHo=";
+    hash = "sha256-vX85fDFNGJ8zJe6YCPn7VFOdvPkT35VbM3Do+cP2b/Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hledger-utils/default.nix b/nixpkgs/pkgs/development/python-modules/hledger-utils/default.nix
index 92966821d4bb..cea6592b42b8 100644
--- a/nixpkgs/pkgs/development/python-modules/hledger-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hledger-utils/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "hledger-utils";
-  version = "1.13.2";
+  version = "1.14.0";
 
   format = "pyproject";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "nobodyinperson";
     repo = "hledger-utils";
     rev = "refs/tags/v${version}";
-    hash = "sha256-E++gHvXspPodLW2hEESKjg+R5aV39UJpDP8JYQX9iBw=";
+    hash = "sha256-Qu4nUcAGTACmLhwc7fkLxITOyFnUHv85qMhtViFumVs=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/iceportal/default.nix b/nixpkgs/pkgs/development/python-modules/iceportal/default.nix
index 251f13727895..ffc0335761b3 100644
--- a/nixpkgs/pkgs/development/python-modules/iceportal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/iceportal/default.nix
@@ -11,8 +11,8 @@
 
 buildPythonPackage rec {
   pname = "iceportal";
-  version = "1.1.1";
-  format = "pyproject";
+  version = "1.1.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "home-assistant-ecosystem";
     repo = "python-iceportal";
     rev = "refs/tags/${version}";
-    hash = "sha256-edG4tF5nYaEOCcbunetYNL9moi9vA75IOkorDuLEx1c=";
+    hash = "sha256-s+jEpxKsa3eIV4a/Ltso51jqZC4jzsvPLTjDFMV9FIA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/imgtool/default.nix b/nixpkgs/pkgs/development/python-modules/imgtool/default.nix
new file mode 100644
index 000000000000..88ceeb233706
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/imgtool/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, cbor2
+, click
+, cryptography
+, intelhex
+}:
+
+buildPythonPackage rec {
+  pname = "imgtool";
+  version = "1.10.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-A7NOdZNKw9lufEK2vK8Rzq9PRT98bybBfXJr0YMQS0A=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    cbor2
+    click
+    cryptography
+    intelhex
+  ];
+
+  pythonImportsCheck = [
+    "imgtool"
+  ];
+
+  meta = with lib; {
+    description = "MCUboot's image signing and key management";
+    homepage = "https://github.com/mcu-tools/mcuboot";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ samueltardieu ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix b/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
index ae479120ed1a..c70ab0ac2b32 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
@@ -136,8 +136,8 @@ let
 
   arch =
     # KeyError: ('Linux', 'arm64')
-    if stdenv.targetPlatform.isLinux && stdenv.targetPlatform.linuxArch == "arm64" then "aarch64"
-    else stdenv.targetPlatform.linuxArch;
+    if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.linuxArch == "arm64" then "aarch64"
+    else stdenv.hostPlatform.linuxArch;
 
   bazel-build = buildBazelPackage rec {
     name = "bazel-build-${pname}-${version}";
@@ -219,7 +219,7 @@ let
       build --python_path="${python}/bin/python"
       build --distinct_host_configuration=false
       build --define PROTOBUF_INCLUDE_PATH="${pkgs.protobuf}/include"
-    '' + lib.optionalString (stdenv.targetPlatform.avxSupport && stdenv.targetPlatform.isUnix) ''
+    '' + lib.optionalString (stdenv.hostPlatform.avxSupport && stdenv.hostPlatform.isUnix) ''
       build --config=avx_posix
     '' + lib.optionalString mklSupport ''
       build --config=mkl_open_source_only
@@ -298,13 +298,13 @@ let
     inherit meta;
   };
   platformTag =
-    if stdenv.targetPlatform.isLinux then
+    if stdenv.hostPlatform.isLinux then
       "manylinux2014_${arch}"
     else if stdenv.system == "x86_64-darwin" then
       "macosx_10_9_${arch}"
     else if stdenv.system == "aarch64-darwin" then
       "macosx_11_0_${arch}"
-    else throw "Unsupported target platform: ${stdenv.targetPlatform}";
+    else throw "Unsupported target platform: ${stdenv.hostPlatform}";
 
 in
 buildPythonPackage {
diff --git a/nixpkgs/pkgs/development/python-modules/lightning-utilities/default.nix b/nixpkgs/pkgs/development/python-modules/lightning-utilities/default.nix
index e03e005ad7b2..65d5f064ce57 100644
--- a/nixpkgs/pkgs/development/python-modules/lightning-utilities/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lightning-utilities/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "lightning-utilities";
-  version = "0.9.0";
+  version = "0.10.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Lightning-AI";
     repo = "utilities";
     rev = "refs/tags/v${version}";
-    hash = "sha256-vSeHtvsIt4L4qJCVlTPVjIjd62+08JWBnr9+9+ujOfw=";
+    hash = "sha256-lp/+ArgoMIa7Q2ufWghr8OYUMlFcj8123Et73ORNI5U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/linknlink/default.nix b/nixpkgs/pkgs/development/python-modules/linknlink/default.nix
new file mode 100644
index 000000000000..59c02c466093
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/linknlink/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, cryptography
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "linknlink";
+  version = "0.1.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "xuanxuan000";
+    repo = "python-linknlink";
+    rev = "refs/tags/${version}";
+    hash = "sha256-pr0FwNweg7hFcvaOHQyXjIzH1L6Q4q/1llwfdl9k0Sk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    cryptography
+  ];
+
+  pythonImportsCheck = [
+    "linknlink"
+  ];
+
+  # Module has no test
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Module and CLI for controlling Linklink devices locally";
+    homepage = "https://github.com/xuanxuan000/python-linknlink";
+    changelog = "";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch b/nixpkgs/pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch
new file mode 100644
index 000000000000..cef7fba13343
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch
@@ -0,0 +1,34 @@
+diff --git a/llm/cli.py b/llm/cli.py
+index af37feb..18b078a 100644
+--- a/llm/cli.py
++++ b/llm/cli.py
+@@ -1014,18 +1014,7 @@ def templates_path():
+ )
+ def install(packages, upgrade, editable, force_reinstall, no_cache_dir):
+     """Install packages from PyPI into the same environment as LLM"""
+-    args = ["pip", "install"]
+-    if upgrade:
+-        args += ["--upgrade"]
+-    if editable:
+-        args += ["--editable", editable]
+-    if force_reinstall:
+-        args += ["--force-reinstall"]
+-    if no_cache_dir:
+-        args += ["--no-cache-dir"]
+-    args += list(packages)
+-    sys.argv = args
+-    run_module("pip", run_name="__main__")
++    click.echo("Install command has been disabled for Nix. If you want to install extra llm plugins, use llm.withPlugins([]) expression.")
+ 
+ 
+ @cli.command()
+@@ -1033,8 +1022,7 @@ def install(packages, upgrade, editable, force_reinstall, no_cache_dir):
+ @click.option("-y", "--yes", is_flag=True, help="Don't ask for confirmation")
+ def uninstall(packages, yes):
+     """Uninstall Python packages from the LLM environment"""
+-    sys.argv = ["pip", "uninstall"] + list(packages) + (["-y"] if yes else [])
+-    run_module("pip", run_name="__main__")
++    click.echo("Uninstall command has been disabled for Nix. If you want to uninstall extra llm plugins, just remove them from llm.withPlugins([]) list expression.")
+ 
+ 
+ @cli.command()
diff --git a/nixpkgs/pkgs/development/python-modules/llm/default.nix b/nixpkgs/pkgs/development/python-modules/llm/default.nix
new file mode 100644
index 000000000000..318f67353308
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/llm/default.nix
@@ -0,0 +1,107 @@
+{
+  buildPythonApplication,
+  buildPythonPackage,
+  fetchFromGitHub,
+  lib,
+  makeWrapper,
+  pytestCheckHook,
+  python3,
+  pythonOlder,
+  ruff,
+  setuptools,
+}: let
+  llm = buildPythonPackage rec {
+    pname = "llm";
+    version = "0.12";
+    pyproject = true;
+
+    disabled = pythonOlder "3.8";
+
+    src = fetchFromGitHub {
+      owner = "simonw";
+      repo = pname;
+      rev = "refs/tags/${version}";
+      hash = "sha256-aCqdw2co/cXrBwVY/k/aSLl3C22nlH5LvU2yir1/NnQ=";
+    };
+
+    patches = [
+      ./001-disable-install-uninstall-commands.patch
+    ];
+
+    nativeBuildInputs = [
+      setuptools
+    ];
+
+    propagatedBuildInputs = with python3.pkgs; [
+      click-default-group
+      numpy
+      openai
+      pluggy
+      pydantic
+      python-ulid
+      pyyaml
+      setuptools # for pkg_resources
+      sqlite-migrate
+      sqlite-utils
+    ];
+
+    nativeCheckInputs = with python3.pkgs; [
+      cogapp
+      numpy
+      pytestCheckHook
+      requests-mock
+    ];
+
+    doCheck = true;
+
+    pytestFlagsArray = [
+      "-svv"
+      "tests/"
+    ];
+
+    pythonImportsCheck = [
+      "llm"
+    ];
+
+    passthru = {inherit withPlugins;};
+
+    meta = with lib; {
+      homepage = "https://github.com/simonw/llm";
+      description = "Access large language models from the command-line";
+      changelog = "https://github.com/simonw/llm/releases/tag/${version}";
+      license = licenses.asl20;
+      mainProgram = "llm";
+      maintainers = with maintainers; [aldoborrero];
+    };
+  };
+
+  withPlugins = plugins: buildPythonApplication {
+    inherit (llm) pname version;
+    format = "other";
+
+    disabled = pythonOlder "3.8";
+
+    dontUnpack = true;
+    dontBuild = true;
+    doCheck = false;
+
+    nativeBuildInputs = [
+      makeWrapper
+    ];
+
+    installPhase = ''
+      makeWrapper ${llm}/bin/llm $out/bin/llm \
+        --prefix PYTHONPATH : "${llm}/${python3.sitePackages}:$PYTHONPATH"
+      ln -sfv ${llm}/lib $out/lib
+    '';
+
+    propagatedBuildInputs = llm.propagatedBuildInputs ++ plugins;
+
+    passthru = llm.passthru // {
+      withPlugins = morePlugins: withPlugins (morePlugins ++ plugins);
+    };
+
+    inherit (llm) meta;
+  };
+in
+  llm
diff --git a/nixpkgs/pkgs/development/python-modules/md-toc/default.nix b/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
index 800fc6227b01..18aeac19b3ca 100644
--- a/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "md-toc";
-  version = "8.2.0";
+  version = "8.2.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "frnmst";
     repo = pname;
     rev = version;
-    hash = "sha256-7Udmon/5E741+v2vBHHL7h31r91RR33hN1WhL3FiDQc=";
+    hash = "sha256-fL3JlZWTEEinYILNeHw0cuvVza27atLLxjrBZkVLRiU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/meraki/default.nix b/nixpkgs/pkgs/development/python-modules/meraki/default.nix
index c97624c73c8a..0720a290cb9c 100644
--- a/nixpkgs/pkgs/development/python-modules/meraki/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meraki/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "meraki";
-  version = "1.38.0";
+  version = "1.39.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LYwjcm4qZfzrDSujQ9eaxjPN9z0qWDSfT+IU1f32cY0=";
+    hash = "sha256-B3+2KnRXWkB83Sy/NH9kJwgSha9L17tx37fFwBjT3Mw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mido/default.nix b/nixpkgs/pkgs/development/python-modules/mido/default.nix
index 65702b23c7ad..84fe78a59475 100644
--- a/nixpkgs/pkgs/development/python-modules/mido/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mido/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   patches = [
     (substituteAll {
       src = ./libportmidi-cdll.patch;
-      libportmidi = "${portmidi.out}/lib/libportmidi${stdenv.targetPlatform.extensions.sharedLibrary}";
+      libportmidi = "${portmidi.out}/lib/libportmidi${stdenv.hostPlatform.extensions.sharedLibrary}";
     })
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/mitmproxy-macos/default.nix b/nixpkgs/pkgs/development/python-modules/mitmproxy-macos/default.nix
new file mode 100644
index 000000000000..39798d90b15d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mitmproxy-macos/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, hatchling
+}:
+
+buildPythonPackage rec {
+  pname = "mitmproxy-macos";
+  version = "0.3.11";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "mitmproxy";
+    repo = "mitmproxy_rs";
+    rev = version;
+    hash = "sha256-V6LUr1jJiTo0+53jipkTyzG5JSw6uHaS6ziyBaFbETw=";
+  };
+
+  sourceRoot = "${src.name}/mitmproxy-macos";
+  pythonImportsCheck = [ "mitmproxy_macos" ];
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  meta = with lib; {
+    description = "The MacOS Rust bits in mitmproxy";
+    homepage = "https://github.com/mitmproxy/mitmproxy_rs/tree/main/mitmproxy-macos";
+    changelog = "https://github.com/mitmproxy/mitmproxy_rs/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ boltzmannrain ];
+    platforms = platforms.darwin;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix b/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix
index 15850ab7cd78..d90e1e0c2a96 100644
--- a/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix
@@ -4,6 +4,8 @@
 , fetchFromGitHub
 , rustPlatform
 , darwin
+, libiconv
+, mitmproxy-macos
 }:
 
 buildPythonPackage rec {
@@ -34,13 +36,15 @@ buildPythonPackage rec {
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
+    libiconv
+    mitmproxy-macos
   ];
 
   pythonImportsCheck = [ "mitmproxy_rs" ];
 
   meta = with lib; {
     description = "The Rust bits in mitmproxy";
-    homepage = " https://github.com/mitmproxy/mitmproxy_rs";
+    homepage = "https://github.com/mitmproxy/mitmproxy_rs";
     changelog = "https://github.com/mitmproxy/mitmproxy_rs/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
diff --git a/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix b/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix
index 1c57361a6406..566c1e0b3298 100644
--- a/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix
@@ -2,6 +2,7 @@
 , fetchFromGitHub
 , buildPythonPackage
 , pythonOlder
+, stdenv
   # Mitmproxy requirements
 , aioquic
 , asgiref
@@ -15,6 +16,7 @@
 , hyperframe
 , kaitaistruct
 , ldap3
+, mitmproxy-macos
 , mitmproxy-rs
 , msgpack
 , passlib
@@ -81,6 +83,8 @@ buildPythonPackage rec {
     urwid
     wsproto
     zstandard
+  ] ++ lib.optionals stdenv.isDarwin [
+    mitmproxy-macos
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mopeka-iot-ble/default.nix b/nixpkgs/pkgs/development/python-modules/mopeka-iot-ble/default.nix
index 318bd9a00bbd..a5bb698aa1af 100644
--- a/nixpkgs/pkgs/development/python-modules/mopeka-iot-ble/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mopeka-iot-ble/default.nix
@@ -12,8 +12,8 @@
 
 buildPythonPackage rec {
   pname = "mopeka-iot-ble";
-  version = "0.4.1";
-  format = "pyproject";
+  version = "0.5.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
@@ -21,9 +21,14 @@ buildPythonPackage rec {
     owner = "bluetooth-devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-x/cKg2NC6kssUQeBuQH4yghlRDgs/fJ0bWWL+qnHgcM=";
+    hash = "sha256-m27As3tB77JbgY0kDDJ6kmYFTv2O/Sh6y9tFiKDIjbI=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=mopeka_iot_ble --cov-report=term-missing:skip-covered" ""
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -39,11 +44,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=mopeka_iot_ble --cov-report=term-missing:skip-covered" ""
-  '';
-
   pythonImportsCheck = [
     "mopeka_iot_ble"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/mpl-scatter-density/default.nix b/nixpkgs/pkgs/development/python-modules/mpl-scatter-density/default.nix
new file mode 100644
index 000000000000..f0523c3594dc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mpl-scatter-density/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, buildPythonPackage
+, pytestCheckHook
+, fetchFromGitHub
+, fetchpatch
+, pythonOlder
+, setuptools-scm
+, setuptools
+, fast-histogram
+, matplotlib
+, numpy
+, wheel
+, pytest-mpl
+}:
+
+buildPythonPackage rec {
+  pname = "mpl-scatter-density";
+  version = "0.7";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "astrofrog";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-MMxM+iv5p9ZLcBpqa3tBBPbsMM/PTg6BXaDpGgSw+DE=";
+  };
+
+  patches = [
+    # https://github.com/astrofrog/mpl-scatter-density/pull/37
+    (fetchpatch {
+      name = "distutils-removal.patch";
+      url = "https://github.com/ifurther/mpl-scatter-density/commit/6feedabe1e82da67d8eec46a80eb370d9f334251.patch";
+      sha256 = "sha256-JqWlSm8mIwqjRPa+kMEaKipJyzGEO+gJK+Q045N1MXA=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
+  ];
+
+  propagatedBuildInputs = [ matplotlib numpy fast-histogram ];
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-mpl
+  ];
+
+  disabledTests = [
+    # AssertionError: (240, 240) != (216, 216)
+    # Erroneous pinning of figure DPI, sensitive to runtime environment
+    "test_default_dpi"
+  ];
+
+  pythonImportsCheck = [ "mpl_scatter_density" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/astrofrog/mpl-scatter-density";
+    description = "Fast scatter density plots for Matplotlib";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ifurther ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mpv/default.nix b/nixpkgs/pkgs/development/python-modules/mpv/default.nix
index c956bb90aa8f..3763e25660a5 100644
--- a/nixpkgs/pkgs/development/python-modules/mpv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mpv/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace mpv.py \
       --replace "sofile = ctypes.util.find_library('mpv')" \
-                'sofile = "${mpv}/lib/libmpv${stdenv.targetPlatform.extensions.sharedLibrary}"'
+                'sofile = "${mpv}/lib/libmpv${stdenv.hostPlatform.extensions.sharedLibrary}"'
   '';
 
   # tests impure, will error if it can't load libmpv.so
diff --git a/nixpkgs/pkgs/development/python-modules/msprime/default.nix b/nixpkgs/pkgs/development/python-modules/msprime/default.nix
index 008ce7f2711e..2ec32c255dfa 100644
--- a/nixpkgs/pkgs/development/python-modules/msprime/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/msprime/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , oldest-supported-numpy
 , setuptools-scm
 , wheel
@@ -26,6 +27,16 @@ buildPythonPackage rec {
     hash = "sha256-YAJa2f0w2CenKubnYLbP8HodDhabLB2hAkyw/CPkp6o=";
   };
 
+  patches = [
+    # upstream patch fixes 2 failing unittests. remove on update
+    (fetchpatch {
+      name = "python311.patch";
+      url = "https://github.com/tskit-dev/msprime/commit/639125ec942cb898cf4a80638f229e11ce393fbc.patch";
+      hash = "sha256-peli4tdu8Bv21xIa5H8SRdfjQnTMO72IPFqybmSBSO8=";
+      includes = [ "tests/test_ancestry.py" ];
+    })
+  ];
+
   nativeBuildInputs = [
     gsl
     oldest-supported-numpy
diff --git a/nixpkgs/pkgs/development/python-modules/mysql-connector/default.nix b/nixpkgs/pkgs/development/python-modules/mysql-connector/default.nix
index ba963ff0d5dd..575c438eb551 100644
--- a/nixpkgs/pkgs/development/python-modules/mysql-connector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mysql-connector/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
   patches = [
     # mysql-connector overrides MACOSX_DEPLOYMENT_TARGET to 11.
     # This makes the installation with nixpkgs fail. I suspect, that's
-    # because stdenv.targetPlatform.darwinSdkVersion is (currently) set to
+    # because stdenv.hostPlatform.darwinSdkVersion is (currently) set to
     # 10.12. The patch reverts
     # https://github.com/mysql/mysql-connector-python/commit/d1e89fd3d7391084cdf35b0806cb5d2a4b413654
     ./0001-Revert-Fix-MacOS-wheels-platform-tag.patch
diff --git a/nixpkgs/pkgs/development/python-modules/oca-port/default.nix b/nixpkgs/pkgs/development/python-modules/oca-port/default.nix
index 0a603b0b91c8..7b948c4ffdf3 100644
--- a/nixpkgs/pkgs/development/python-modules/oca-port/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oca-port/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "oca-port";
-  version = "0.13";
+  version = "0.14";
   format = "pyproject";
 
   src = fetchPypi {
     inherit version;
     pname = "oca_port";
-    hash = "sha256-9ihqjnGdBPasiRD2pZeaiibwzFQKI9t+s/zMzvyLLHQ=";
+    hash = "sha256-P+uCoC2u5lR4oTtloNFd4N+CjssUa5PbzbnhEulaRoc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/openai-whisper/default.nix b/nixpkgs/pkgs/development/python-modules/openai-whisper/default.nix
index 68f692e4c37a..7983abd2e985 100644
--- a/nixpkgs/pkgs/development/python-modules/openai-whisper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openai-whisper/default.nix
@@ -2,22 +2,23 @@
 , fetchFromGitHub
 , buildPythonPackage
 , substituteAll
-, cudaSupport ? false
+
+# build-system
+, setuptools
 
 # runtime
 , ffmpeg-headless
 
 # propagates
-, numpy
-, torch
-, torchWithCuda
-, tqdm
 , more-itertools
-, transformers
 , numba
+, numpy
 , openai-triton
 , scipy
 , tiktoken
+, torch
+, tqdm
+, transformers
 
 # tests
 , pytestCheckHook
@@ -25,14 +26,14 @@
 
 buildPythonPackage rec {
   pname = "whisper";
-  version = "20230918";
-  format = "setuptools";
+  version = "20231117";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "openai";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-wBAanFVEIIzTcoX40P9eI26UdEu0SC/xuife/zi2Xho=";
+    hash = "sha256-MJ1XjB/GuYUiECCuuHS0NWHvvs+ko0oTvLuDI7zLNiY=";
   };
 
   patches = [
@@ -42,32 +43,22 @@ buildPythonPackage rec {
     })
   ];
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    numpy
-    tqdm
     more-itertools
-    transformers
     numba
+    numpy
+    openai-triton
     scipy
     tiktoken
-  ] ++ lib.optionals (!cudaSupport) [
     torch
-  ] ++ lib.optionals (cudaSupport) [
-    openai-triton
-    torchWithCuda
+    tqdm
+    transformers
   ];
 
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "tiktoken==0.3.3" "tiktoken>=0.3.3"
-  ''
-  # openai-triton is only needed for CUDA support.
-  # triton needs CUDA to be build.
-  # -> by making it optional, we can build whisper without unfree packages enabled
-  + lib.optionalString (!cudaSupport) ''
-    sed -i '/if sys.platform.startswith("linux") and platform.machine() == "x86_64":/{N;d}' setup.py
-  '';
-
   preCheck = ''
     export HOME=$TMPDIR
   '';
@@ -85,7 +76,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/openai/whisper/blob/v$[version}/CHANGELOG.md";
+    changelog = "https://github.com/openai/whisper/blob/v${version}/CHANGELOG.md";
     description = "General-purpose speech recognition model";
     homepage = "https://github.com/openai/whisper";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/opensensemap-api/default.nix b/nixpkgs/pkgs/development/python-modules/opensensemap-api/default.nix
index 4cce64c43008..326f7d2aceda 100644
--- a/nixpkgs/pkgs/development/python-modules/opensensemap-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opensensemap-api/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "opensensemap-api";
-  version = "0.3.0";
+  version = "0.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lz2G7vXUadhTFgfHpIq9kHfojf+iytjitFZZ7rgqeO8=";
+    hash = "sha256-UrgQjZYw7TlFvhnaI7wFUpuUYeVKO5hsnx8h1OKfV8w=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/oslo-log/default.nix b/nixpkgs/pkgs/development/python-modules/oslo-log/default.nix
index 85f92e478354..64df3dc82e47 100644
--- a/nixpkgs/pkgs/development/python-modules/oslo-log/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oslo-log/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "oslo-log";
-  version = "5.3.0";
+  version = "5.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "oslo.log";
     inherit version;
-    hash = "sha256-zJSqvbUOHiVxxsvEs5lpSgVBV2c1kIqYSgIjqeH72z4=";
+    hash = "sha256-LrNVtYVw8lgR2nb6gUU7h1x8lEoZoj0sMFtKTf670iM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/owslib/default.nix b/nixpkgs/pkgs/development/python-modules/owslib/default.nix
index 26c62b70c0aa..5e5e5a07b9c5 100644
--- a/nixpkgs/pkgs/development/python-modules/owslib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/owslib/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "owslib";
-  version = "0.29.2";
+  version = "0.29.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "geopython";
     repo = "OWSLib";
     rev = "refs/tags/${version}";
-    hash = "sha256-dbL4VdnPszwiDO+UjluuyqeBRMKojTnZPEFKEYiIWS0=";
+    hash = "sha256-yAJXknSsGXcerzaOVSrFO4j5E6B/4/0JfoSxZ+Szmws=";
   };
 
   postPatch = ''
@@ -72,7 +72,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Client for Open Geospatial Consortium web service interface standards";
     homepage = "https://www.osgeo.org/projects/owslib/";
-    changelog = "https://github.com/geopython/OWSLib/blob/${version}/CHANGES.rst";
+    changelog = "https://github.com/geopython/OWSLib/releases/tag/${version}";
     license = licenses.bsd3;
     maintainers = teams.geospatial.members;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix b/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
index a88ce34ab0d9..1fcff9e47803 100644
--- a/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "plaid-python";
-  version = "17.0.0";
+  version = "18.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-rVYyS2Wc3PC3BvkzUSe88sSXxJCElmP5s7B1NxSFAWY=";
+    hash = "sha256-1OV/oybxZXF2kjLoSA2KyQaTR91jqEWstpELSlUIg2o=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/plugwise/default.nix b/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
index 0802156dcd3a..14e77c816b88 100644
--- a/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.34.5";
+  version = "0.35.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Lg8oNFb0nc6T8E0fksv2w/bkHB/7PPXipMDGC0i8Kc0=";
+    hash = "sha256-eHJQXLiuWmJo/Eo4B8gEo44rwpPA7ASjxKSmdu6Tv9M=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pvextractor/default.nix b/nixpkgs/pkgs/development/python-modules/pvextractor/default.nix
new file mode 100644
index 000000000000..315d0411b8e9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pvextractor/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, astropy
+, qtpy
+, pyqt6
+, pyqt-builder
+, setuptools
+, setuptools-scm
+, scipy
+, matplotlib
+, spectral-cube
+, pytestCheckHook
+, pytest-astropy
+}:
+
+buildPythonPackage rec {
+  pname = "pvextractor";
+  version = "0.3";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "radio-astro-tools";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-HYus2Gk3hzKq+3lJLOJQ+EE6LeO+DrvqLK3NpqrUYeI=";
+  };
+
+  buildInputs = [ pyqt-builder ];
+  nativeBuildInputs = [ setuptools setuptools-scm ];
+  propagatedBuildInputs = [
+    astropy
+    scipy
+    matplotlib
+    pyqt6
+    qtpy
+    spectral-cube
+  ];
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  # collecting ... qt.qpa.xcb: could not connect to display
+  # qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
+  doCheck = false;
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-astropy
+  ];
+
+  pythonImportsCheck = [ "pvextractor" ];
+
+  meta = with lib; {
+    homepage = "http://pvextractor.readthedocs.io";
+    description = "Position-velocity diagram extractor";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ifurther ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pygobject-stubs/default.nix b/nixpkgs/pkgs/development/python-modules/pygobject-stubs/default.nix
index f2c2668f4043..9dde5d012225 100644
--- a/nixpkgs/pkgs/development/python-modules/pygobject-stubs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygobject-stubs/default.nix
@@ -1,25 +1,23 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, setuptools
-, black
-, codespell
-, isort
-, mypy
-, pre-commit
 , pygobject3
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pygobject-stubs";
-  version = "2.9.0";
-  format = "pyproject";
+  version = "2.10.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "pygobject";
     repo = "pygobject-stubs";
     rev = "refs/tags/v${version}";
-    hash = "sha256-A28vH5S5xxY7VIJORbgQ7jAi/wG4WiffNGryiumHWf0=";
+    hash = "sha256-fz+qzFWl9JJu9CEVkeiV6XUIPDvwWgrfhTo/nj1EH5c=";
   };
 
   nativeBuildInputs = [
@@ -32,7 +30,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "PEP 561 Typing Stubs for PyGObject";
     homepage = "https://github.com/pygobject/pygobject-stubs";
-    changelog = "https://github.com/pygobject/pygobject-stubs/blob/${src.rev}/CHANGELOG.md";
+    changelog = "https://github.com/pygobject/pygobject-stubs/blob/${version}/CHANGELOG.md";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ hacker1024 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix b/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
index 8980da8e24bd..176e9fcd1545 100644
--- a/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyinsteon";
-  version = "1.5.1";
+  version = "1.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-H2rgPA0GW6neFIHZVZxmAP50HJUPCWDZcJ90QxLGXJ8=";
+    hash = "sha256-7iiB/a8E8E2TSkGuAWR08ESExDz8DKTMjqp4Xnp3wHU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyproj/default.nix b/nixpkgs/pkgs/development/python-modules/pyproj/default.nix
index 0d77ed937cf1..576688accc07 100644
--- a/nixpkgs/pkgs/development/python-modules/pyproj/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyproj/default.nix
@@ -100,11 +100,11 @@ buildPythonPackage rec {
     "pyproj.exceptions"
   ];
 
-  meta = {
+  meta = with lib; {
     description = "Python interface to PROJ library";
     homepage = "https://github.com/pyproj4/pyproj";
     changelog = "https://github.com/pyproj4/pyproj/blob/${src.rev}/docs/history.rst";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ lsix dotlambda ];
+    license = licenses.mit;
+    maintainers = with maintainers; teams.geospatial.members ++ [ lsix dotlambda ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/python-ldap/default.nix b/nixpkgs/pkgs/development/python-modules/python-ldap/default.nix
index db9565607a66..5bc9f3fecfcc 100644
--- a/nixpkgs/pkgs/development/python-modules/python-ldap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-ldap/default.nix
@@ -2,27 +2,41 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
-, pyasn1
-, pyasn1-modules
-, pythonAtLeast
 , pythonOlder
-, pytestCheckHook
+
+# build-system
+, setuptools
+
+# native dependencies
 , openldap
 , cyrus_sasl
+
+# dependencies
+, pyasn1
+, pyasn1-modules
+
+# tests
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "python-ldap";
-  version = "3.4.3";
+  version = "3.4.4";
+  pyproject = true;
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "python-ldap";
+    repo = "python-ldap";
     rev = "refs/tags/python-ldap-${version}";
-    hash = "sha256-/ehvSs2qjuTPhaaOP0agPbWyyRugBpUlPq/Ny9t2C58=";
+    hash = "sha256-v1cWoRGxbvvFnHqnwoIfmiQQcxfaA8Bf3+M5bE5PtuU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   buildInputs = [
     openldap
     cyrus_sasl
@@ -53,7 +67,9 @@ buildPythonPackage rec {
   doCheck = !stdenv.isDarwin;
 
   meta = with lib; {
+    changelog = "https://github.com/python-ldap/python-ldap/releases/tag/python-ldap-${version}";
     description = "Python modules for implementing LDAP clients";
+    downloadPage = "https://github.com/python-ldap/python-ldap";
     homepage = "https://www.python-ldap.org/";
     license = licenses.psfl;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyudev/default.nix b/nixpkgs/pkgs/development/python-modules/pyudev/default.nix
index 29b1e5f8d530..8c3c0d86f3b8 100644
--- a/nixpkgs/pkgs/development/python-modules/pyudev/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyudev/default.nix
@@ -1,5 +1,13 @@
-{ lib, fetchPypi, buildPythonPackage
-, six, udev, pytest, mock, hypothesis, docutils
+{ lib
+, fetchPypi
+, buildPythonPackage
+, six
+, udev
+, pytest
+, mock
+, hypothesis
+, docutils
+, stdenvNoCC
 }:
 
 buildPythonPackage rec {
@@ -11,7 +19,7 @@ buildPythonPackage rec {
     hash = "sha256-deVNNyGPWsRbDaHw/ZzF5SajysPvHPrUEM96sziwFHE=";
   };
 
-  postPatch = ''
+  postPatch = lib.optionalString stdenvNoCC.isLinux ''
     substituteInPlace src/pyudev/_ctypeslib/utils.py \
       --replace "find_library(name)" "'${lib.getLib udev}/lib/libudev.so'"
     '';
@@ -27,9 +35,10 @@ buildPythonPackage rec {
   # https://github.com/pyudev/pyudev/issues/187
   doCheck = false;
 
-  meta = {
+  meta = with lib; {
     homepage = "https://pyudev.readthedocs.org/";
     description = "Pure Python libudev binding";
-    license = lib.licenses.lgpl21Plus;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ frogamic ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix b/nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix
index 7a740efe5a4e..f395f88bf7dc 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix
@@ -1,14 +1,16 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, lxml
 , requests
 , six
+, pyopenssl
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyvmomi";
-  version = "8.0.2.0";
+  version = "8.0.2.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +19,7 @@ buildPythonPackage rec {
     owner = "vmware";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-IoYxk/lS7dhw0q3kfpq7y/oDNmc1dOra0YA3CiHe8YM=";
+    hash = "sha256-Y7Zor70P4lhkAslckg/prfCmnszVMFPntWdJpfWnvIM=";
   };
 
   propagatedBuildInputs = [
@@ -25,6 +27,13 @@ buildPythonPackage rec {
     six
   ];
 
+  passthru.optional-dependencies = {
+    sso = [
+      lxml
+      pyopenssl
+    ];
+  };
+
   # Requires old version of vcrpy
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix b/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
index f56921a691aa..674c508696bf 100644
--- a/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "ring-doorbell";
-  version = "0.8.0";
+  version = "0.8.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "ring_doorbell";
     inherit version;
-    hash = "sha256-6kfD87GlEb+f6hUSqhyPIy4Xg63f8zDdGKMaOxQYWoM=";
+    hash = "sha256-A7FQeeYym0nAQlkbpejpZqd5ZgX2cw3/DbshDxlrivw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scs/default.nix b/nixpkgs/pkgs/development/python-modules/scs/default.nix
index 0a242e231373..5e95bed4cbdb 100644
--- a/nixpkgs/pkgs/development/python-modules/scs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scs/default.nix
@@ -2,6 +2,10 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
+, meson-python
+, pkg-config
+, Accelerate
 , blas
 , lapack
 , numpy
@@ -12,19 +16,43 @@
 
 buildPythonPackage rec {
   pname = "scs";
-  version = "3.2.3";
+  version = "3.2.4";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bodono";
     repo = "scs-python";
     rev = version;
-    hash = "sha256-/5yGvZy3luGQkbYcsb/6TZLYou91lpA3UKONviMVpuM=";
+    hash = "sha256-UmMbnj7QZSvHWSUk1Qa0VP4i3iDCYHxoa+qBmEdFjRs=";
     fetchSubmodules = true;
   };
 
-  buildInputs = [
-    lapack
+  patches = [
+    # needed for building against netlib's reference blas implementation and
+    # the pkg-config patch. remove on next update
+    (fetchpatch {
+      name = "find-and-ld-lapack.patch";
+      url = "https://github.com/bodono/scs-python/commit/a0aea80e7d490770d6a47d2c79396f6c3341c1f9.patch";
+      hash = "sha256-yHF8f7SLoG7veZ6DEq1HVH6rT2KtFONwJtqSiKcxOdg=";
+    })
+    # add support for pkg-config. remove on next update
+    (fetchpatch {
+      name = "use-pkg-config.patch";
+      url = "https://github.com/bodono/scs-python/commit/dd17e2e5282ebe85f2df8a7c6b25cfdeb894970d.patch";
+      hash = "sha256-vSeSJeeu5Wx3RXPyB39YTo0RU8HtAojrUw85Q76/QzA=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    meson-python
+    pkg-config
+  ];
+
+  buildInputs = if stdenv.isDarwin then [
+    Accelerate
+  ] else [
     blas
+    lapack
   ];
 
   propagatedBuildInputs = [
@@ -51,6 +79,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/cvxgrp/scs"; # upstream C package
     downloadPage = "https://github.com/bodono/scs-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ drewrisinger ];
+    maintainers = with maintainers; [ a-n-n-a-l-e-e drewrisinger ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/shapely/default.nix b/nixpkgs/pkgs/development/python-modules/shapely/default.nix
index 488e936abb82..7f87ddf6befa 100644
--- a/nixpkgs/pkgs/development/python-modules/shapely/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shapely/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "shapely";
-  version = "2.0.1";
+  version = "2.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Zqaxo+cuzpf8hVNqKBR2+bd5TeLmRsqKRRfi48FEaJM=";
+    hash = "sha256-FxPMBMFxuv/Fslm6hTHFiswqMBcHt/Ah2IoV7QkGSec=";
   };
 
   nativeBuildInputs = [
@@ -44,8 +44,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  # Fix a ModuleNotFoundError. Investigated at:
+  # https://github.com/NixOS/nixpkgs/issues/255262
   preCheck = ''
-    rm -r shapely # prevent import of local shapely
+    cd $out
   '';
 
   disabledTests = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
diff --git a/nixpkgs/pkgs/development/python-modules/siobrultech-protocols/default.nix b/nixpkgs/pkgs/development/python-modules/siobrultech-protocols/default.nix
index c0439dcec706..e21580162cfe 100644
--- a/nixpkgs/pkgs/development/python-modules/siobrultech-protocols/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/siobrultech-protocols/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "siobrultech-protocols";
-  version = "0.12.0";
+  version = "0.13.0";
 
   disabled = pythonOlder "3.8";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "sdwilsh";
     repo = "siobrultech-protocols";
     rev = "refs/tags/v${version}";
-    hash = "sha256-71iFZS5CLYXNw57psLXswNJKfvbeKOqSncLoSsNXqjc=";
+    hash = "sha256-6BGhelyv0FoPyGwzgIX5Gbbu9Ks19MtL1AZQRZWKzhM=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sqids/default.nix b/nixpkgs/pkgs/development/python-modules/sqids/default.nix
index dc6befc17991..a9d5fe372953 100644
--- a/nixpkgs/pkgs/development/python-modules/sqids/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqids/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "sqids";
-  version = "0.4.0";
+  version = "0.4.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-U9nVpRc9PIM1ZO+bcL3RGIfAdlUMf+uFw/SpPTAjdnA=";
+    hash = "sha256-/8P7/vY0kb7ouUCpgGU4g0Xb77BtSeQVt6nkdcogD50=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/stripe/default.nix b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
index 88c2ccf45963..3f91435b3aa7 100644
--- a/nixpkgs/pkgs/development/python-modules/stripe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
@@ -1,23 +1,28 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, requests
 , pythonOlder
+, requests
+, setuptools
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "7.4.0";
-  format = "setuptools";
+  version = "7.5.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Pcfdgjk20yYt1DCr5XQ4rzLokQNS27NOspa/21nvCuw=";
+    hash = "sha256-duDfcHHaXvORNNkpuMf6zxMZqkfCIr8ScrSKxVq/PW8=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     requests
     typing-extensions
diff --git a/nixpkgs/pkgs/development/python-modules/succulent/default.nix b/nixpkgs/pkgs/development/python-modules/succulent/default.nix
index 3b191bae9b85..e1ad7981b047 100644
--- a/nixpkgs/pkgs/development/python-modules/succulent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/succulent/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "succulent";
-  version = "0.2.5";
+  version = "0.2.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,8 +21,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "firefly-cpp";
     repo = "succulent";
-    rev = version;
-    hash = "sha256-fSsb2UQM69AAjJd/Rvzuok7jBeAa6udbB8FbuNP8Ztw=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-CGDgt6tv+KysrytJsgDKwf2yv6shXizvD67XsGBg+nI=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/syrupy/default.nix b/nixpkgs/pkgs/development/python-modules/syrupy/default.nix
index 8759f3562596..84bc944317e1 100644
--- a/nixpkgs/pkgs/development/python-modules/syrupy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/syrupy/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "syrupy";
-  version = "4.5.0";
+  version = "4.6.0";
   format = "pyproject";
 
   disabled = lib.versionOlder python.version "3.8.1";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tophat";
     repo = "syrupy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HRCURqnFzo1l+PjX1LtXTSVZGA36OaRgmy4xKizeuOg=";
+    hash = "sha256-FjDGwSOKvDWx+LwUCNGEOBKV3rFG+09gtFpLLi0xgD4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/testpath/default.nix b/nixpkgs/pkgs/development/python-modules/testpath/default.nix
index 5635a6156159..eb66bea56f57 100644
--- a/nixpkgs/pkgs/development/python-modules/testpath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/testpath/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   # exe are only required when testpath is used on windows
   # https://github.com/jupyter/testpath/blob/de8ca59539eb23b9781e55848b7d2646c8c61df9/testpath/commands.py#L128
-  preBuild = lib.optionalString (!stdenv.targetPlatform.isWindows) ''
+  preBuild = lib.optionalString (!stdenv.hostPlatform.isWindows) ''
     rm testpath/cli-32.exe testpath/cli-64.exe
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/testrail-api/default.nix b/nixpkgs/pkgs/development/python-modules/testrail-api/default.nix
index 6da3e202672a..b6bb8a1b2256 100644
--- a/nixpkgs/pkgs/development/python-modules/testrail-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/testrail-api/default.nix
@@ -1,29 +1,44 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, requests
 , pytestCheckHook
+, pythonOlder
+, requests
 , responses
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "testrail-api";
-  version = "1.12.0";
+  version = "1.12.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "tolstislon";
     repo = "testrail-api";
-    rev = version;
-    sha256 = "sha256-VuAW5Dl3pkA6mtn/mbzxTFoavO5jPoqFSFVlrxc7KRk=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-lIlTrAdNtBJdwiSFwpcHA2e+fRC+MbHS0PX7prAN+RY=";
   };
 
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
     responses
   ];
 
-  propagatedBuildInputs = [
-    requests
+  pythonImportsCheck = [
+    "testrail_api"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/torch/default.nix b/nixpkgs/pkgs/development/python-modules/torch/default.nix
index c9bf7c45766f..f89fed489f84 100644
--- a/nixpkgs/pkgs/development/python-modules/torch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torch/default.nix
@@ -16,9 +16,10 @@
   filelock,
   jinja2,
   networkx,
-  openai-triton,
   sympy,
   numpy, pyyaml, cffi, click, typing-extensions,
+  # ROCm build and `torch.compile` requires `openai-triton`
+  tritonSupport ? (!stdenv.isDarwin), openai-triton,
 
   # Unit tests
   hypothesis, psutil,
@@ -189,7 +190,7 @@ in buildPythonPackage rec {
   ''
   # error: no member named 'aligned_alloc' in the global namespace; did you mean simply 'aligned_alloc'
   # This lib overrided aligned_alloc hence the error message. Tltr: his function is linkable but not in header.
-  + lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.targetPlatform.darwinSdkVersion "11.0") ''
+  + lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinSdkVersion "11.0") ''
     substituteInPlace third_party/pocketfft/pocketfft_hdronly.h --replace '#if __cplusplus >= 201703L
     inline void *aligned_alloc(size_t align, size_t size)' '#if __cplusplus >= 201703L && 0
     inline void *aligned_alloc(size_t align, size_t size)'
@@ -303,12 +304,13 @@ in buildPythonPackage rec {
     "-Wno-pass-failed"
   ] ++ [
     "-Wno-unused-command-line-argument"
-    "-Wno-maybe-uninitialized"
     "-Wno-uninitialized"
     "-Wno-array-bounds"
-    "-Wno-stringop-overflow"
     "-Wno-free-nonheap-object"
     "-Wno-unused-result"
+  ] ++ lib.optionals stdenv.cc.isGNU [
+    "-Wno-maybe-uninitialized"
+    "-Wno-stringop-overflow"
   ]));
 
   nativeBuildInputs = [
@@ -377,12 +379,10 @@ in buildPythonPackage rec {
     # the following are required for tensorboard support
     pillow six future tensorboard protobuf
 
-    # ROCm build and `torch.compile` requires openai-triton
-    openai-triton
-
     # torch/csrc requires `pybind11` at runtime
     pybind11
   ]
+  ++ lib.optionals tritonSupport [ openai-triton ]
   ++ lib.optionals MPISupport [ mpi ]
   ++ lib.optionals rocmSupport [ rocmtoolkit_joined ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix b/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix
index 5ce5deace5d0..fb510b7e764c 100644
--- a/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "total-connect-client";
-  version = "2023.7";
+  version = "2023.11";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "craigjmidwinter";
     repo = "total-connect-client";
     rev = "refs/tags/${version}";
-    hash = "sha256-sx4KfWQCvGS+w83tECJSyLLWU9GkwYpo39gt4EKndPk=";
+    hash = "sha256-UTMYuSKNn5ACKg9BmeUf1SFhDV1jknbxggkmCgzB/xk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/towncrier/default.nix b/nixpkgs/pkgs/development/python-modules/towncrier/default.nix
index 03b916883438..e90648ec0810 100644
--- a/nixpkgs/pkgs/development/python-modules/towncrier/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/towncrier/default.nix
@@ -1,38 +1,48 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, pythonOlder
 , click
-, click-default-group
+, fetchPypi
+, git # shells out to git
+, hatchling
+, importlib-resources
 , incremental
 , jinja2
 , mock
 , pytestCheckHook
-, toml
+, pythonOlder
+, tomli
 , twisted
-, setuptools
-, git # shells out to git
 }:
 
 buildPythonPackage rec {
   pname = "towncrier";
-  version = "23.6.0";
-  format = "setuptools";
+  version = "23.11.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/Cm9WrRyfI2s++Y29/tdxTuZgFti2hyWshSDYVn/cME=";
+    hash = "sha256-E5N8JH4/iuIKxE2JXPX5amCtRs/cwWcXWVMNeDfZ7l0=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "hatchling ~= 1.17.1" "hatchling"
+  '';
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
   propagatedBuildInputs = [
     click
-    click-default-group
     incremental
     jinja2
-    toml
-    setuptools
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    importlib-resources
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    tomli
   ];
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/trainer/default.nix b/nixpkgs/pkgs/development/python-modules/trainer/default.nix
index 466d6db8da5a..734bc324e266 100644
--- a/nixpkgs/pkgs/development/python-modules/trainer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trainer/default.nix
@@ -4,19 +4,19 @@
 
 , coqpit
 , fsspec
-, torch-bin
+, torch
 , tensorboard
 , protobuf
 , psutil
 
 , pytestCheckHook
 , soundfile
-, torchvision-bin
+, torchvision
 }:
 
 let
   pname = "trainer";
-  version = "0.0.31";
+  version = "0.0.32";
 in
 buildPythonPackage {
   inherit pname version;
@@ -26,7 +26,7 @@ buildPythonPackage {
     owner = "coqui-ai";
     repo = "Trainer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-avZuujeWG/UGkj7fcGB99Fw7KYktJPIDf8oB4wjoiD4=";
+    hash = "sha256-lSfkokPFB09KZBHe/Qkon2gUsA82AK52WNK1bJfzCNc=";
   };
 
   postPatch = ''
@@ -40,7 +40,7 @@ buildPythonPackage {
     psutil
     soundfile
     tensorboard
-    torch-bin
+    torch
   ];
 
   # only one test and that requires training data from the internet
@@ -48,7 +48,7 @@ buildPythonPackage {
 
   nativeCheckInputs = [
     pytestCheckHook
-    torchvision-bin
+    torchvision
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/wakeonlan/default.nix b/nixpkgs/pkgs/development/python-modules/wakeonlan/default.nix
index 801b108e5042..97ceedec0d26 100644
--- a/nixpkgs/pkgs/development/python-modules/wakeonlan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wakeonlan/default.nix
@@ -8,15 +8,16 @@
 
 buildPythonPackage rec {
   pname = "wakeonlan";
-  version = "3.0.0";
-  disabled = pythonOlder "3.6";
-  format = "pyproject";
+  version = "3.1.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "remcohaszing";
     repo = "pywakeonlan";
     rev = "refs/tags/${version}";
-    hash = "sha256-7BDE7TmTT8rSaG0rEn5QwH+izGWA2PeQzxpGiv7+3fo=";
+    hash = "sha256-VPdklyD3GVn0cex4I6zV61I0bUr4KQp8DdMKAM/r4io=";
   };
 
   nativeBuildInputs = [
@@ -38,6 +39,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python module for wake on lan";
     homepage = "https://github.com/remcohaszing/pywakeonlan";
+    changelog = "https://github.com/remcohaszing/pywakeonlan/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/web-cache/default.nix b/nixpkgs/pkgs/development/python-modules/web-cache/default.nix
index 9246b2b571e7..dba9d91875c2 100644
--- a/nixpkgs/pkgs/development/python-modules/web-cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/web-cache/default.nix
@@ -20,6 +20,6 @@ buildPythonPackage rec {
     description = "Simple Python key-value storage backed up by sqlite3 database";
     homepage = "https://github.com/desbma/web_cache";
     license = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/xlsxwriter/default.nix b/nixpkgs/pkgs/development/python-modules/xlsxwriter/default.nix
index f19fe38366cd..5bd96b3aa1b6 100644
--- a/nixpkgs/pkgs/development/python-modules/xlsxwriter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xlsxwriter/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "xlsxwriter";
-  version = "3.1.7";
+  version = "3.1.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "jmcnamara";
     repo = "XlsxWriter";
     rev = "RELEASE_${version}";
-    hash = "sha256-ZOKS9sTZvlopfIYOEhOk/rq4qtcMrNQ4Bwb8lDtKfxs=";
+    hash = "sha256-FkSInLinyn/eXBMSuivzFxCTZijOKdSG4l+gHyKENuY=";
   };
 
   nativeCheckInputs = [
@@ -30,6 +30,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Module for creating Excel XLSX files";
     homepage = "https://xlsxwriter.readthedocs.io/";
+    changelog = "https://xlsxwriter.readthedocs.io/changes.html";
     license = licenses.bsd2;
     maintainers = with maintainers; [ jluttine ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/xnd/default.nix b/nixpkgs/pkgs/development/python-modules/xnd/default.nix
index 3657997f5a74..eac1153b4f50 100644
--- a/nixpkgs/pkgs/development/python-modules/xnd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xnd/default.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, fetchpatch
 , buildPythonPackage
 , python
 , ndtypes
@@ -15,6 +16,17 @@ buildPythonPackage {
 
   propagatedBuildInputs = [ ndtypes ];
 
+  buildInputs = [ libndtypes ];
+
+  patches = [
+    # python311 fixes which are on main. remove on update
+    (fetchpatch {
+      name = "python311.patch";
+      url = "https://github.com/xnd-project/xnd/commit/e1a06d9f6175f4f4e1da369b7e907ad6b2952c00.patch";
+      hash = "sha256-xzrap+FL5be13bVdsJ3zeV7t57ZC4iyhuZhuLsOzHyE=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace setup.py \
       --replace 'include_dirs = ["libxnd", "ndtypes/python/ndtypes"] + INCLUDES' \
diff --git a/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix b/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix
index 2531a6648e36..40af2c4fb629 100644
--- a/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "ytmusicapi";
-  version = "1.3.1";
+  version = "1.3.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "sigma67";
     repo = "ytmusicapi";
     rev = "refs/tags/${version}";
-    hash = "sha256-6dsMOFyZ8cX2zKXX682b5znJvXYTeKt99Wafz7RkfQw=";
+    hash = "sha256-vDkrKVqyisPkswvfb+UPH95mehwNgyFxRmeT+1UHvXs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/tools/algolia-cli/default.nix b/nixpkgs/pkgs/development/tools/algolia-cli/default.nix
index b9d0a663aaf1..0e15bec58def 100644
--- a/nixpkgs/pkgs/development/tools/algolia-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/algolia-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "algolia-cli";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "algolia";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-zwlDn545R7A5l6m7lsFSSf3rW96FND6/HRgeykvVCH0=";
+    hash = "sha256-T7LklR+NUuB5nDwEedG3eD+qSK+mjUiS/EXerqCAroE=";
   };
 
   vendorHash = "sha256-cNuBTH7L2K4TgD0H9FZ9CjhE5AGXADaniGLD9Lhrtrk=";
diff --git a/nixpkgs/pkgs/development/tools/analysis/checkov/default.nix b/nixpkgs/pkgs/development/tools/analysis/checkov/default.nix
index cf7eb3fd6123..25e04817643d 100644
--- a/nixpkgs/pkgs/development/tools/analysis/checkov/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/checkov/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.0.37";
+  version = "3.0.38";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-cRc5mBMTh5HCqq5hKfvJmYROs74ZiWjX17cgQv7ub+I=";
+    hash = "sha256-2ObPi+wrxvoVWjASmp0KSPMLFuIGdWNWK4jRrZC9ODE=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
index ba5e608bd354..6ed8c18d0b1a 100644
--- a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.219.5";
+  version = "0.222.0";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "sha256-cg0tqwvYQ43Nvu6fQHGEX002sjmDBcz2AGke+K5Gk7g=";
+    sha256 = "sha256-IOy6zsDGUfiSeOalQnku/4uNyjqpz2bMcpmf7Vq9fyI=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/tools/analysis/snyk/default.nix b/nixpkgs/pkgs/development/tools/analysis/snyk/default.nix
index 09222eb1d6f2..9cc58cf405d9 100644
--- a/nixpkgs/pkgs/development/tools/analysis/snyk/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/snyk/default.nix
@@ -12,9 +12,6 @@ buildNpmPackage rec {
   };
 
   npmDepsHash = "sha256-j3lMQh8++pb/00d9H2v7QBkpxIJdsuRQoFkNiQbvnF4=";
-
-  nativeBuildInputs = [ nodePackages.node-gyp python3 ];
-
   npmBuildScript = "build:prod";
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/tools/api-linter/default.nix b/nixpkgs/pkgs/development/tools/api-linter/default.nix
index b34e2ed4f80f..5b0e8e7c5928 100644
--- a/nixpkgs/pkgs/development/tools/api-linter/default.nix
+++ b/nixpkgs/pkgs/development/tools/api-linter/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "api-linter";
-  version = "1.59.0";
+  version = "1.59.1";
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "api-linter";
     rev = "v${version}";
-    hash = "sha256-rT7mN/vW7o7Qj2BUYmwePJtvURYdgvRK7Oi7Rw/RK4A=";
+    hash = "sha256-PgDdCcXiy9Dpop2myuRoi8KQROZdJ76ce4ax7wU4bpc=";
   };
 
-  vendorHash = "sha256-TV0lA0DkQu3e9aq2uX4Ea8vrvDXxM8vgOn7EXGjld9E=";
+  vendorHash = "sha256-egAZ4CeSSStfkN2mGgzGHTBojHKHoVEf3o0oi+OpMkw=";
 
   subPackages = [ "cmd/api-linter" ];
 
@@ -23,7 +23,7 @@ buildGoModule rec {
     "-w"
   ];
 
-  # reference: https://github.com/googleapis/api-linter/blob/v1.59.0/.github/workflows/release.yaml#L76
+  # reference: https://github.com/googleapis/api-linter/blob/v1.59.1/.github/workflows/release.yaml#L76
   preBuild = ''
     cat > cmd/api-linter/version.go <<EOF
     package main
diff --git a/nixpkgs/pkgs/development/tools/ats-acc/default.nix b/nixpkgs/pkgs/development/tools/ats-acc/default.nix
index 5a3cd9c64010..b8eef344f20d 100644
--- a/nixpkgs/pkgs/development/tools/ats-acc/default.nix
+++ b/nixpkgs/pkgs/development/tools/ats-acc/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Pretty-print error messages of the ATS Compiler";
     homepage = "https://github.com/sparverius/ats-acc";
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
     license = licenses.unfree; # Upstream has no license
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/azcopy/default.nix b/nixpkgs/pkgs/development/tools/azcopy/default.nix
index c39dca4e28d8..3c60d0e25e2e 100644
--- a/nixpkgs/pkgs/development/tools/azcopy/default.nix
+++ b/nixpkgs/pkgs/development/tools/azcopy/default.nix
@@ -1,19 +1,23 @@
-{ stdenv, lib, fetchFromGitHub, buildGoModule }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, buildGoModule
+}:
 
 buildGoModule rec {
   pname = "azure-storage-azcopy";
-  version = "10.20.1";
+  version = "10.21.1";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-storage-azcopy";
-    rev = "v${version}";
-    sha256 = "sha256-pfbSNFKZubgebx90zL5sVva36wXS+0NQvvMxPI8kV3Y=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-FdiDxWmCRkSOa+6A9XgKeyFGk/ba+BgFm3/ChERkYvk=";
   };
 
   subPackages = [ "." ];
 
-  vendorHash = "sha256-byFroeXRMepN9RYak2++tT9IE8ZbT+0qJAyipHkE5WE=";
+  vendorHash = "sha256-F5YMPwdS2A5FAwuG1gfiAqBKapZ24VIGzJXnwojoDk0=";
 
   doCheck = false;
 
@@ -22,8 +26,10 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    maintainers = with maintainers; [ colemickens kashw2 ];
-    license = licenses.mit;
     description = "The new Azure Storage data transfer utility - AzCopy v10";
+    homepage = "https://github.com/Azure/azure-storage-azcopy";
+    changelog = "https://github.com/Azure/azure-storage-azcopy/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ colemickens kashw2 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/azure-functions-core-tools/default.nix b/nixpkgs/pkgs/development/tools/azure-functions-core-tools/default.nix
index e187dbf6b393..cf039c5758f5 100644
--- a/nixpkgs/pkgs/development/tools/azure-functions-core-tools/default.nix
+++ b/nixpkgs/pkgs/development/tools/azure-functions-core-tools/default.nix
@@ -27,7 +27,7 @@
     };
   };
 
-  platformInfo = builtins.getAttr stdenv.targetPlatform.system platforms;
+  platformInfo = builtins.getAttr stdenv.hostPlatform.system platforms;
 in
   stdenv.mkDerivation rec {
     pname = "azure-functions-core-tools";
diff --git a/nixpkgs/pkgs/development/tools/azure-static-sites-client/default.nix b/nixpkgs/pkgs/development/tools/azure-static-sites-client/default.nix
index 5ac8f971cf35..441496ed4352 100644
--- a/nixpkgs/pkgs/development/tools/azure-static-sites-client/default.nix
+++ b/nixpkgs/pkgs/development/tools/azure-static-sites-client/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
   pname = "StaticSitesClient-${versionFlavor}";
   version = flavor.buildId;
 
-  src = sources.${stdenv.targetPlatform.system} or (throw "Unsupported platform");
+  src = sources.${stdenv.hostPlatform.system} or (throw "Unsupported platform");
 
   nativeBuildInputs = [
     autoPatchelfHook
diff --git a/nixpkgs/pkgs/development/tools/azure-static-sites-client/versions.json b/nixpkgs/pkgs/development/tools/azure-static-sites-client/versions.json
index 88d31f718ef6..55c30a12addf 100644
--- a/nixpkgs/pkgs/development/tools/azure-static-sites-client/versions.json
+++ b/nixpkgs/pkgs/development/tools/azure-static-sites-client/versions.json
@@ -1,58 +1,58 @@
 [
   {
     "version": "latest",
-    "buildId": "1.0.024871",
-    "publishDate": "2023-10-24T04:09:23.7109231Z",
+    "buildId": "1.0.024941",
+    "publishDate": "2023-10-31T04:54:50.5527205Z",
     "files": {
       "linux-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024871/linux/StaticSitesClient",
-        "sha": "13d1c02e43dec373be04152f7f8e71974f080440cb9480c3ccb4f83c8c6f036a"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024941/linux/StaticSitesClient",
+        "sha": "bea23499732d615698baf4c9dcafe717fdd4ba8344f2d96740233b0380df79b6"
       },
       "win-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024871/windows/StaticSitesClient.exe",
-        "sha": "868f221ea77b13cea8c6c41edbecea53bf5171d42dc9376f34615e544a3874f0"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024941/windows/StaticSitesClient.exe",
+        "sha": "a93aa5ec2a17280f3c9c8252948f8c68050c8852770322758ffa3187b6bce1dd"
       },
       "osx-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024871/macOS/StaticSitesClient",
-        "sha": "63c9027a7b5e597ae9e0ad8311b31a587bd977ed758555784d08cc3ff35e80a4"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024941/macOS/StaticSitesClient",
+        "sha": "57ea66c930aafbf4dea82216e51128b3315ec2db3ab385d41e8d912a3adab2c0"
       }
     }
   },
   {
     "version": "stable",
-    "buildId": "1.0.024741",
-    "publishDate": "2023-10-10T20:13:22.904778Z",
+    "buildId": "1.0.024941",
+    "publishDate": "2023-10-31T04:54:50.5527205Z",
     "files": {
       "linux-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024741/linux/StaticSitesClient",
-        "sha": "0e174b1551a495dbb751240201b8d264f86264c704d66678c189fe4d94f53502"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024941/linux/StaticSitesClient",
+        "sha": "bea23499732d615698baf4c9dcafe717fdd4ba8344f2d96740233b0380df79b6"
       },
       "win-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024741/windows/StaticSitesClient.exe",
-        "sha": "cb8d6e7cf83ab7ee394627b088f42de6e63fa77ed5c56eb79a088a1de02163ff"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024941/windows/StaticSitesClient.exe",
+        "sha": "a93aa5ec2a17280f3c9c8252948f8c68050c8852770322758ffa3187b6bce1dd"
       },
       "osx-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024741/macOS/StaticSitesClient",
-        "sha": "1ef4292cad223972ed820921d29f6b844e18edd732c99c183269e86b150a8224"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024941/macOS/StaticSitesClient",
+        "sha": "57ea66c930aafbf4dea82216e51128b3315ec2db3ab385d41e8d912a3adab2c0"
       }
     }
   },
   {
     "version": "backup",
-    "buildId": "1.0.024671",
-    "publishDate": "2023-10-04T00:20:16.1747762Z",
+    "buildId": "1.0.024871",
+    "publishDate": "2023-10-24T04:09:23.7109231Z",
     "files": {
       "linux-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024671/linux/StaticSitesClient",
-        "sha": "82b8181bb5ea47e1d449c1c56e622bd350513dd97f27ac4abd25bd139fde92e2"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024871/linux/StaticSitesClient",
+        "sha": "13d1c02e43dec373be04152f7f8e71974f080440cb9480c3ccb4f83c8c6f036a"
       },
       "win-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024671/windows/StaticSitesClient.exe",
-        "sha": "a7660746d9dbed8814259547da7f96122d01ae90de6f8aa5ccf7b07b58f59f19"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024871/windows/StaticSitesClient.exe",
+        "sha": "868f221ea77b13cea8c6c41edbecea53bf5171d42dc9376f34615e544a3874f0"
       },
       "osx-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024671/macOS/StaticSitesClient",
-        "sha": "7584bea04c7d9e685216d4248063226d5a230cc955e560885a48737d1abd385e"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024871/macOS/StaticSitesClient",
+        "sha": "63c9027a7b5e597ae9e0ad8311b31a587bd977ed758555784d08cc3ff35e80a4"
       }
     }
   }
diff --git a/nixpkgs/pkgs/development/tools/bazelisk/default.nix b/nixpkgs/pkgs/development/tools/bazelisk/default.nix
index dda16c238436..be59f6686d5b 100644
--- a/nixpkgs/pkgs/development/tools/bazelisk/default.nix
+++ b/nixpkgs/pkgs/development/tools/bazelisk/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "bazelisk";
-  version = "1.18.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-NZDdSIXNQFSCoav+YN1VLFrHQSKZfoZDp2TWXtmQC6o=";
+    sha256 = "sha256-no1+sQ+8Ead1diCYytC3MXVA68SuWWxt40OFVrGWYdQ=";
   };
 
-  vendorHash = "sha256-oYagIEb/u/XCTbZkvynxcOtORhW75hReinrVAkdOApM=";
+  vendorHash = "sha256-hjV7Pc3DFExSCsA0jKVxb1GxoXQ7LRFGuot3V0IHG58=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/bearer/default.nix b/nixpkgs/pkgs/development/tools/bearer/default.nix
index 05b7d61f858e..3aa78a18ecd9 100644
--- a/nixpkgs/pkgs/development/tools/bearer/default.nix
+++ b/nixpkgs/pkgs/development/tools/bearer/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "bearer";
-  version = "1.27.1";
+  version = "1.29.0";
 
   src = fetchFromGitHub {
     owner = "bearer";
     repo = "bearer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3kJPBvw12iyAu9WVIZgyUrsW6XQ0AqpDmDl1E72vyuE=";
+    hash = "sha256-18kXDdkwT0bINpwQ5sG+ic0ZFJS/vBMidzo67/C/fbM=";
   };
 
-  vendorHash = "sha256-ikrpFnn+CTuhttd3gVyoKU3RIBRR/zL8YjvE0tjIH6I=";
+  vendorHash = "sha256-UbXKMeia6j5xARzO8GjRiDn6GGYz7gjEIdP8ylvJGT4=";
 
   subPackages = [
     "cmd/bearer"
diff --git a/nixpkgs/pkgs/development/tools/biome/default.nix b/nixpkgs/pkgs/development/tools/biome/default.nix
index c96e5a719486..65a039d34cf8 100644
--- a/nixpkgs/pkgs/development/tools/biome/default.nix
+++ b/nixpkgs/pkgs/development/tools/biome/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , pkg-config
 , libgit2_1_6
+, rust-jemalloc-sys
 , zlib
 , stdenv
 , darwin
@@ -28,6 +29,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = [
     libgit2_1_6
+    rust-jemalloc-sys
     zlib
   ] ++ lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/nixpkgs/pkgs/development/tools/buildah/default.nix b/nixpkgs/pkgs/development/tools/buildah/default.nix
index a22150594361..a6761a7350c7 100644
--- a/nixpkgs/pkgs/development/tools/buildah/default.nix
+++ b/nixpkgs/pkgs/development/tools/buildah/default.nix
@@ -17,13 +17,13 @@
 
 buildGoModule rec {
   pname = "buildah";
-  version = "1.32.1";
+  version = "1.32.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    hash = "sha256-imhl8CezFoSi0M0nMxIFL/ZVa8eDAA4s/ZVIMr/QUJ4=";
+    hash = "sha256-Av4wrJ+anVu1pTSFTpaseBhj+7ECsRoKb1bATrUKYuo=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
index 62856ffd389a..5dfec9c11a87 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "cirrus-cli";
-  version = "0.106.1";
+  version = "0.107.1";
 
   src = fetchFromGitHub {
     owner = "cirruslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-W+3sqWPYpMkbmA8dGEodZy+pZGRBLJdthicBFdkn6oU=";
+    sha256 = "sha256-PaIjeqL32CADE+m6kq7VIDXMBvEEMVW8eSlXiIwNEJ4=";
   };
 
-  vendorHash = "sha256-+cxh3/TQqm6n7hUYhW2B3pdfdtzRuepZmLNSGVPA3H0=";
+  vendorHash = "sha256-OHeoa3SXmDiUROxFiprlq/gfnqMjha6PQ8tlkr7Pd00=";
 
   ldflags = [
     "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix
index 57a78dbb3101..c0c15a121738 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -15,12 +15,11 @@
 , runtimeShell
   # List of Node.js runtimes the package should support
 , nodeRuntimes ? [ "node20" ]
-, nodejs_16
 , nodejs_20
 }:
 
 # Node.js runtimes supported by upstream
-assert builtins.all (x: builtins.elem x [ "node16" "node20" ]) nodeRuntimes;
+assert builtins.all (x: builtins.elem x [ "node20" ]) nodeRuntimes;
 
 buildDotnetModule rec {
   pname = "github-runner";
@@ -210,8 +209,6 @@ buildDotnetModule rec {
 
   preCheck = ''
     mkdir -p _layout/externals
-  '' + lib.optionalString (lib.elem "node16" nodeRuntimes) ''
-    ln -s ${nodejs_16} _layout/externals/node16
   '' + lib.optionalString (lib.elem "node20" nodeRuntimes) ''
     ln -s ${nodejs_20} _layout/externals/node20
   '';
@@ -250,8 +247,6 @@ buildDotnetModule rec {
     # externals/node$version. As opposed to the official releases, we don't
     # link the Alpine Node flavors.
     mkdir -p $out/lib/externals
-  '' + lib.optionalString (lib.elem "node16" nodeRuntimes) ''
-    ln -s ${nodejs_16} $out/lib/externals/node16
   '' + lib.optionalString (lib.elem "node20" nodeRuntimes) ''
     ln -s ${nodejs_20} $out/lib/externals/node20
   '' + ''
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index f07ac564b88a..479f319c5426 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoModule, fetchFromGitLab, fetchurl, bash }:
 
 let
-  version = "16.5.0";
+  version = "16.6.0";
 in
 buildGoModule rec {
   inherit version;
@@ -17,13 +17,13 @@ buildGoModule rec {
   # For patchShebangs
   buildInputs = [ bash ];
 
-  vendorHash = "sha256-C37ijxvyY9PG/Qn29Fmk0pxK+hq45kHIBveBltfIfTo=";
+  vendorHash = "sha256-m0+iAJITX0JfBd5ZboqlcG6eNbPJ35gHa4LV21jX5d8=";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "sha256-NLidtwn1zT7BxzMEF5K41fwbZaICA/KuAr8MIjpJD+A=";
+    sha256 = "sha256-4N00+yO7Ps0+jy7WmHhm4Eh4MXt3beH00ScZ1RWNByE=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/tools/darklua/default.nix b/nixpkgs/pkgs/development/tools/darklua/default.nix
index 3703cc757c69..ba7ebe5db171 100644
--- a/nixpkgs/pkgs/development/tools/darklua/default.nix
+++ b/nixpkgs/pkgs/development/tools/darklua/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "darklua";
-  version = "0.11.0";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "seaofvoices";
     repo = "darklua";
     rev = "v${version}";
-    hash = "sha256-lBnEMQqAUkr377aYNRvpbIyZMmB6NIY/bmB1Oe8QPIM=";
+    hash = "sha256-9ukhKAhN4dD36Em90Eox8o+7W1eXboG2xAE8+oPlhaI=";
   };
 
-  cargoHash = "sha256-YmtOVS58I8YdNpWBXBuwSFUVKQsVSuGlql70SPFkamM=";
+  cargoHash = "sha256-hi9kzCwsw8c1tcvSsFV0do/jQ/KyDz3TcTEfOqHNxyw=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.CoreServices
diff --git a/nixpkgs/pkgs/development/tools/database/sqlcmd/default.nix b/nixpkgs/pkgs/development/tools/database/sqlcmd/default.nix
index e36f0760ec18..80883ebfe996 100644
--- a/nixpkgs/pkgs/development/tools/database/sqlcmd/default.nix
+++ b/nixpkgs/pkgs/development/tools/database/sqlcmd/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "sqlcmd";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     repo = "go-sqlcmd";
     owner = "microsoft";
     rev = "v${version}";
-    sha256 = "sha256-SSt3QOc8eKpcCHxfOuY+eAkH/xiFBUp2bJ9QXP9pq9M=";
+    sha256 = "sha256-T7Jfxup3yTh0YhalUO/wxyAT4209BhZkUTbCGZggcJ0=";
   };
 
-  vendorHash = "sha256-ODIDlP0w3t1t7H5jevXkKmFpWVSJFUwmT66LOS+ySI4=";
+  vendorHash = "sha256-NYWmTXGxt2ko/puNiY2Z0K6gFZW4IC//iT6xQcqSVsQ=";
   proxyVendor = true;
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
diff --git a/nixpkgs/pkgs/development/tools/devbox/default.nix b/nixpkgs/pkgs/development/tools/devbox/default.nix
index c373b18108a2..f6dadecaefa4 100644
--- a/nixpkgs/pkgs/development/tools/devbox/default.nix
+++ b/nixpkgs/pkgs/development/tools/devbox/default.nix
@@ -5,13 +5,13 @@
 }:
 buildGoModule rec {
   pname = "devbox";
-  version = "0.7.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "jetpack-io";
     repo = pname;
     rev = version;
-    hash = "sha256-xjmxikIcR3v5lpxq7w2p0bukPunUTYH/HTQhy9fAOz8=";
+    hash = "sha256-Hh4SfmdR7hujc6Ty+ay8uyl1vkjYuxwa5J5RacqHOAE=";
   };
 
   ldflags = [
@@ -23,7 +23,7 @@ buildGoModule rec {
   # integration tests want file system access
   doCheck = false;
 
-  vendorHash = "sha256-fDh+6aBrHUqioNbgufFiD5c4i8SGAYrUuFXgTVmhrRE=";
+  vendorHash = "sha256-SVChgkPgqhApWDNA1me41zS0hXd1G2oFrL/SsnFiIsg=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/development/tools/faas-cli/default.nix b/nixpkgs/pkgs/development/tools/faas-cli/default.nix
index 383ca0929449..026dbbcc5482 100644
--- a/nixpkgs/pkgs/development/tools/faas-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/faas-cli/default.nix
@@ -37,7 +37,7 @@ buildGoModule rec {
     "-s" "-w"
     "-X github.com/openfaas/faas-cli/version.GitCommit=ref/tags/${version}"
     "-X github.com/openfaas/faas-cli/version.Version=${version}"
-    "-X github.com/openfaas/faas-cli/commands.Platform=${faasPlatform stdenv.targetPlatform}"
+    "-X github.com/openfaas/faas-cli/commands.Platform=${faasPlatform stdenv.hostPlatform}"
   ];
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/nixpkgs/pkgs/development/tools/fsautocomplete/default.nix b/nixpkgs/pkgs/development/tools/fsautocomplete/default.nix
index a8d8c7348b0f..b6ff7cc91c23 100644
--- a/nixpkgs/pkgs/development/tools/fsautocomplete/default.nix
+++ b/nixpkgs/pkgs/development/tools/fsautocomplete/default.nix
@@ -5,13 +5,13 @@ let
 in
 buildDotnetModule rec {
   pname = "fsautocomplete";
-  version = "0.67.0";
+  version = "0.68.0";
 
   src = fetchFromGitHub {
     owner = "fsharp";
     repo = "FsAutoComplete";
     rev = "v${version}";
-    sha256 = "sha256-txHkQDLyIejsEZGpfIGqeiJ8EUePZq1btxfd+EZD4aM=";
+    sha256 = "sha256-wAPTJXD2CxZQA2EG4rQCM9v3dIu6hn3q23K7Vv9wkAk=";
   };
 
   nugetDeps = ./deps.nix;
diff --git a/nixpkgs/pkgs/development/tools/fsautocomplete/deps.nix b/nixpkgs/pkgs/development/tools/fsautocomplete/deps.nix
index dab6f0aa4fbf..a04c8a9e14e9 100644
--- a/nixpkgs/pkgs/development/tools/fsautocomplete/deps.nix
+++ b/nixpkgs/pkgs/development/tools/fsautocomplete/deps.nix
@@ -15,7 +15,6 @@
   (fetchNuGet { pname = "DotNet.ReproducibleBuilds"; version = "1.1.1"; sha256 = "0wa0xwbwv1lzjmqwg1vq06vrpb9kkbv3xw5nq50savj0dzhqakzq"; })
   (fetchNuGet { pname = "Expecto"; version = "10.1.0"; sha256 = "127yy5i0p2lybhm5xcy2wa6j1rcahk61mb1nbym687b23pgizrq9"; })
   (fetchNuGet { pname = "Expecto.Diff"; version = "9.0.4"; sha256 = "06g6nbr5kdr7hyayh24ry6xfghxpcfkqc8kma5qa5lcvhmy56f7j"; })
-  (fetchNuGet { pname = "fake-cli"; version = "5.23.0"; sha256 = "1bmw5kyc9q1sqd08pamibgk0qm5xwylawc5nfrnfx3pl1pifd71y"; })
   (fetchNuGet { pname = "Fake.Api.GitHub"; version = "5.20.4"; sha256 = "1hgzqin7bm5fm0n97w7s9cq3zcxyncjmd6xk2da3p12wi7kghx0v"; })
   (fetchNuGet { pname = "Fake.Core.CommandLineParsing"; version = "5.23.1"; sha256 = "10zlkri6w2xly19v4qqvg9vii5mjwbjqfynn525swzwyna9jws76"; })
   (fetchNuGet { pname = "Fake.Core.Context"; version = "5.23.1"; sha256 = "1z3a77d53f5084sai9r9w9cdnyp4xn3x0262nhsi0znx52vizppl"; })
@@ -39,17 +38,17 @@
   (fetchNuGet { pname = "Fake.IO.Zip"; version = "5.23.1"; sha256 = "0iac86jlxb5bwgiich3zzvr7bz5aw8xq53ly263mwxhv9lrsd815"; })
   (fetchNuGet { pname = "Fake.Net.Http"; version = "5.23.1"; sha256 = "1g0dpxi5b78qh7myz09pmjxzb0iblj3rqx5mpaammbppbbazvzdk"; })
   (fetchNuGet { pname = "Fake.Tools.Git"; version = "5.23.1"; sha256 = "0cg1sbp7zl1d18cjhbs94ix8580hr6gyaxjw17q246lbaj9bfg8l"; })
-  (fetchNuGet { pname = "fantomas"; version = "6.2.0"; sha256 = "0jmr63c2a4maf1blcsiyxz9najrc31xk1ignc7j7l2sswis6hx7k"; })
+  (fetchNuGet { pname = "fantomas"; version = "6.2.2"; sha256 = "1ln1czswz8njwn1wgsq0psh7dcw6smjcilqxg8978mq05ki7i4dg"; })
   (fetchNuGet { pname = "Fantomas.Client"; version = "0.9.0"; sha256 = "1zixwk61fyk7y9q6f8266kwxi6byr8fmyp1lf57qhbbvhq2waj9d"; })
   (fetchNuGet { pname = "Fantomas.Core"; version = "6.2.0"; sha256 = "07yl2hr06zk1nl66scm24di3nf1zbrnd6329prwirnv370rz4q92"; })
   (fetchNuGet { pname = "Fantomas.FCS"; version = "6.2.0"; sha256 = "1hhsa7hbxsm2d8ap4sqzwlzjmf4wsgg74i731rprr0nshjvd8ic7"; })
   (fetchNuGet { pname = "FParsec"; version = "1.1.1"; sha256 = "01s3zrxl9kfx0264wy0m555pfx0s0z165n4fvpgx63jlqwbd8m04"; })
   (fetchNuGet { pname = "FSharp.Analyzers.SDK"; version = "0.11.0"; sha256 = "0djgbxnygmpdkrw923z2vgirs5kamrvf94ls7pvnk43c52xlb0pf"; })
-  (fetchNuGet { pname = "FSharp.Compiler.Service"; version = "43.7.400"; sha256 = "1sdc63vyplw02s5wzrly1kdsmhb144arj57q22yggigmsrhzqlag"; })
+  (fetchNuGet { pname = "FSharp.Compiler.Service"; version = "43.8.100"; sha256 = "0lk8pqasbxkqp37fsnnidw8556l1k6s8w9qhq51w8zfnp7nw1xwm"; })
   (fetchNuGet { pname = "FSharp.Control.AsyncSeq"; version = "3.2.1"; sha256 = "02c8d8snd529rrcj6lsmab3wdq2sjh90j8sanx50ck9acfn9jd3v"; })
   (fetchNuGet { pname = "FSharp.Control.Reactive"; version = "5.0.5"; sha256 = "0ahvd3s5wfv610ks3b00ya5r71cqm34ap8ywx0pyrzhlsbk1ybqg"; })
   (fetchNuGet { pname = "FSharp.Core"; version = "6.0.5"; sha256 = "07929km96znf6xnqzmxdk3h48kz2rg9msf4c5xxmnjqr0ikfb8c6"; })
-  (fetchNuGet { pname = "FSharp.Core"; version = "7.0.400"; sha256 = "1pl6iqqcpm9djfn7f6ms5j1xbcyz00nb808qd6pmsjrnylflalgp"; })
+  (fetchNuGet { pname = "FSharp.Core"; version = "8.0.100"; sha256 = "06z3vg8yj7i83x6gmnzl2lka1bp4hzc07h6mrydpilxswnmy2a0l"; })
   (fetchNuGet { pname = "FSharp.Data.Adaptive"; version = "1.2.13"; sha256 = "16l1h718h110yl2q83hzy1rpalyqlicdaxln7g0bf8kzq9b2v6rz"; })
   (fetchNuGet { pname = "FSharp.Formatting"; version = "14.0.1"; sha256 = "0sx4jlxzmrdcmc937arc9v0r90qkpf2gd1m9ngkpg88qvqcx4xsa"; })
   (fetchNuGet { pname = "FSharp.UMX"; version = "1.1.0"; sha256 = "1rzf5m38fcpphfhcv359plk2sval16kj00gdfwzpm9gi8wjw8j8k"; })
@@ -67,19 +66,19 @@
   (fetchNuGet { pname = "Grpc.Net.Common"; version = "2.51.0"; sha256 = "1b7iwf5qk4c449mi5lsnf6j99pwwrj79y8zkinzf5j2rslc97r0z"; })
   (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; sha256 = "1ai7hgr0qwd7xlqfd92immddyi41j3ag91h3594yzfsgsy6yhyqi"; })
   (fetchNuGet { pname = "Iced"; version = "1.17.0"; sha256 = "1999xavgpy2h83rh4indiq5mx5l509swqdi1raxj3ab6zvk49zpb"; })
-  (fetchNuGet { pname = "IcedTasks"; version = "0.5.4"; sha256 = "0584bbld25f6hzglzsah1n215658d4lwnzwxcazrwzyy25rmansl"; })
+  (fetchNuGet { pname = "IcedTasks"; version = "0.9.2"; sha256 = "1i4sg398qvxyrprca9jssn4lccwn67zndbg1a3a37cmsms5rlbvj"; })
   (fetchNuGet { pname = "ICSharpCode.Decompiler"; version = "7.2.1.6856"; sha256 = "19z68rgzl93lh1h8anbgzw119mhvcgr9nh5q2nxk6qihl2mx97ba"; })
   (fetchNuGet { pname = "Ionide.KeepAChangelog.Tasks"; version = "0.1.8"; sha256 = "066zla2rp1sal6by3h3sg6ibpkk52kbhn30bzk58l6ym7q1kqa6b"; })
-  (fetchNuGet { pname = "Ionide.LanguageServerProtocol"; version = "0.4.19"; sha256 = "1n910ipbscr7b3cr873cr5zh40ysn0n9z47dlqlndbq0g3kl6vi5"; })
+  (fetchNuGet { pname = "Ionide.LanguageServerProtocol"; version = "0.4.20"; sha256 = "08ym8lljnkqk638f2djw3c0p6h0nzxycifz1dqhzzd2my5ss46zf"; })
   (fetchNuGet { pname = "Ionide.ProjInfo"; version = "0.62.0"; sha256 = "1da6hhca9vd6hxbz9jmwxwx2pc7d5ayd41sp6mzzmbk4n3jk32q2"; })
   (fetchNuGet { pname = "Ionide.ProjInfo.FCS"; version = "0.62.0"; sha256 = "1mkw4b1sawv1p0c4a1fidkw02bh9iik7fi80ffgqi0msc3ql8lmg"; })
   (fetchNuGet { pname = "Ionide.ProjInfo.ProjectSystem"; version = "0.62.0"; sha256 = "0kj9h5gvvrl720kg5jylx8w1jjmcci7bdhabr57sbq31vbgav74d"; })
   (fetchNuGet { pname = "Ionide.ProjInfo.Sln"; version = "0.62.0"; sha256 = "05yxz0hhpi1b0kdyzbjbb0klmpbaq8i5d0s4y59wr2qbz2318xpa"; })
   (fetchNuGet { pname = "LinkDotNet.StringBuilder"; version = "1.18.0"; sha256 = "0lgh4yjnim9qbqkmkgpx5fi2lha1cgcdbddvbsiw9jzp18fndxly"; })
   (fetchNuGet { pname = "McMaster.NETCore.Plugins"; version = "1.4.0"; sha256 = "1k2qz0qnf2b1kfwbzcynivy93jm7dcwl866d0fl7qlgq5vql7niy"; })
-  (fetchNuGet { pname = "MessagePack"; version = "2.4.35"; sha256 = "0y8pz073ync51cv39lxldc797nmcm39r4pdhy2il6r95rppjqg5h"; })
-  (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.4.35"; sha256 = "1jny2r6rwq7xzwymm779w9x8a5rhyln97mxzplxwd53wwbb0wbzd"; })
-  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; })
+  (fetchNuGet { pname = "MessagePack"; version = "2.5.108"; sha256 = "0cnaz28lhrdmavnxjkakl9q8p2yv8mricvp1b0wxdfnz8v41gwzs"; })
+  (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.5.108"; sha256 = "0nb1fx8dwl7304kw0bc375bvlhb7pg351l4cl3vqqd7d8zqjwx5v"; })
+  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "7.0.0"; sha256 = "1waiggh3g1cclc81gmjrqbh128kwfjky3z79ma4bd2ms9pa3gvfm"; })
   (fetchNuGet { pname = "Microsoft.Bcl.HashCode"; version = "1.1.0"; sha256 = "1ggsadahlp76zcn1plapszd5v5ja8rh479fwrahqd3knql4dfnr0"; })
   (fetchNuGet { pname = "Microsoft.Build"; version = "17.2.0"; sha256 = "09hs74nr0kv83wc1way9x7vq3nmxbr2s4vdy99hx78kj25pylcr7"; })
   (fetchNuGet { pname = "Microsoft.Build"; version = "17.4.0"; sha256 = "0j8rqwl8h2hh4yl4bvsijm0rl8356a8vfvdqj4jk5blmvfcfs7b4"; })
@@ -131,36 +130,36 @@
   (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.4.1"; sha256 = "0s68wf9yphm4hni9p6kwfk0mjld85f4hkrs93qbk5lzf6vv3kba1"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.4.1"; sha256 = "1n9ilq8n5rhyxcri06njkxb0h2818dbmzddwd2rrvav91647m2s4"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; version = "3.6.2115"; sha256 = "0924lvb8i1y1majjph1hczi8p72mxlvkk3b7apdqgv5hmbn9sdxq"; })
-  (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "17.3.44"; sha256 = "07w5ca1jwmiynpznb36xhxpf42y97v9flj6rxsmg4gqsh1h430i1"; })
-  (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "17.3.44"; sha256 = "0l1hh2xb183xr5nk8xvbd8zz45n7h15cxlicg5zii6q68q8z49wf"; })
-  (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "17.0.64"; sha256 = "1qm2dc9v1glpgy2blbcmsljwrsx55k82rjw4hiqh031h8idwryrl"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "17.6.40"; sha256 = "1iv67ndrvls7qa3wrh7mnswqbhx8ggr0w1hi7md1grfm4f0nqyz4"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "17.6.40"; sha256 = "0ba9r9y3jsx3s3j190mv4gg47ibyl44s58whwvas9c64hhs4n22s"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "17.6.11"; sha256 = "0qx4nzsx28galgzzjkgf541254d433dgxcaf7y2y1qyyxgsfjj1f"; })
   (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
   (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "7.0.0"; sha256 = "1bh77misznh19m1swqm3dsbji499b8xh9gk6w74sgbkarf6ni8lb"; })
   (fetchNuGet { pname = "Mono.Cecil"; version = "0.11.4"; sha256 = "1yxa7mh432s7g7p9r7scqxvxjk5ypwc567qdbf0gmk8fbf0d3f8y"; })
   (fetchNuGet { pname = "Mono.Posix.NETStandard"; version = "1.0.0"; sha256 = "0xlja36hwpjm837haq15mjh2prcf68lyrmn72nvgpz8qnf9vappw"; })
   (fetchNuGet { pname = "MSBuild.StructuredLogger"; version = "2.1.844"; sha256 = "0fp2gng4gk63ac0wz231zwbnpy6a35mq04gy8fc81gra6px4sy5v"; })
-  (fetchNuGet { pname = "Nerdbank.Streams"; version = "2.8.61"; sha256 = "1wxhrqlhb8wq1x5kn3wacylicznl3fgmfdqvx6r3s97yv89zyzy4"; })
+  (fetchNuGet { pname = "Nerdbank.Streams"; version = "2.10.66"; sha256 = "04p4vd2v3mj1g315jj0fcb9ajwdr6clnbnl80mn6nyj3wmjb56nz"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.2"; sha256 = "1p9splg1min274dpz7xdfgzrwkyfd3xlkygwpr1xgjvvyjvs6b0i"; })
-  (fetchNuGet { pname = "NuGet.Common"; version = "6.3.0"; sha256 = "0j4ahrzakkrqqppp465bqi39bf4wn31020b96n4zl3j2zvppc0bg"; })
-  (fetchNuGet { pname = "NuGet.Configuration"; version = "6.3.0"; sha256 = "0adafjzzrbm285hhdfn2nd57xzn4r5ldm1zm2w9yaj97cdqd228f"; })
+  (fetchNuGet { pname = "NuGet.Common"; version = "6.7.0"; sha256 = "0h6k5ywqmnl3mn30d6hhvzzk0344f0cy3ks2rxvjfas1822hbpz9"; })
+  (fetchNuGet { pname = "NuGet.Configuration"; version = "6.7.0"; sha256 = "0bskqxz2b4z1f9m8kak6my9l08ngd8r0cnd7ac1h6pbf39iwfq0a"; })
   (fetchNuGet { pname = "NuGet.Frameworks"; version = "6.3.0"; sha256 = "05mqbfgkif9qa5hg1sjmcvx69ifdhiqs2xjplqjrvrj9ybmd5i0c"; })
-  (fetchNuGet { pname = "NuGet.Packaging"; version = "6.3.0"; sha256 = "0gw2r7iajdk8c52vv0g2bgwlnx79zsacy5n7yv5g2niggxrbm82x"; })
-  (fetchNuGet { pname = "NuGet.Protocol"; version = "6.3.0"; sha256 = "0vv8wbwrgvr02niv5dclcbhykxyw0mxhkmpnlh9i8rvajn0gfb0a"; })
-  (fetchNuGet { pname = "NuGet.Versioning"; version = "6.3.0"; sha256 = "1fimxklifac8ahdf02gq01533k502izay6plxcd1j8rg24xrjz6p"; })
+  (fetchNuGet { pname = "NuGet.Frameworks"; version = "6.7.0"; sha256 = "02sg1qa00dq4hfrj4zrrlccpbrmr1ymac8vcp48q9ffsx5wx6895"; })
+  (fetchNuGet { pname = "NuGet.Packaging"; version = "6.7.0"; sha256 = "0q1q21cl6987f3q73g9549h637gm2qal3x1wy81qbag4aaxfqpb0"; })
+  (fetchNuGet { pname = "NuGet.Protocol"; version = "6.7.0"; sha256 = "1v5ibnq2mp801vw68zyj169hkj3xm7h55824i33n1jxxj2vs3vbk"; })
+  (fetchNuGet { pname = "NuGet.Versioning"; version = "6.7.0"; sha256 = "1k9dzgm3a9ahalykdvjnnd47940py8lqkfrjd1k9lkiczn1bkqmi"; })
   (fetchNuGet { pname = "Octokit"; version = "0.48.0"; sha256 = "17ria1shx04rb6knbaswpqndmwam6v3r3lsfsd486q584798ccn8"; })
-  (fetchNuGet { pname = "octonav"; version = "0.0.1"; sha256 = "1zzv8nqgrrrh3ay4rvwx3npx3q0xvnsqib5q3xww5h17a6lzcbni"; })
   (fetchNuGet { pname = "OpenTelemetry"; version = "1.3.2"; sha256 = "1v9ipc75ipwjhhz4mkyjygw85i6ba5flcbhyspmf90vfi2nk7b79"; })
   (fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.3.2"; sha256 = "0fgl99k6nm3n47vv9mx6y36pnljj2b5g641cs2zsw6l86n57qwv1"; })
   (fetchNuGet { pname = "OpenTelemetry.Exporter.OpenTelemetryProtocol"; version = "1.3.2"; sha256 = "14p6rn68mqrch3ani17vwyl4ggjz680nxkw1nf65xmf1ljlkb4iq"; })
-  (fetchNuGet { pname = "Paket"; version = "7.2.1"; sha256 = "1d3ic5kw1yxb7ja07hzrsfjcv8vky6x60han5h6rjm0qbsnwb6xj"; })
+  (fetchNuGet { pname = "Paket"; version = "8.0.0-alpha002"; sha256 = "1c2kdndyb04plgwvqp78224zwk26dkicjy94pqh7shc9ifskrvsb"; })
   (fetchNuGet { pname = "Perfolizer"; version = "0.2.1"; sha256 = "012aqqi3y3nfikqmn26yajpwd52c04zlzp0p91iyslw7mf26qncy"; })
   (fetchNuGet { pname = "SemanticVersioning"; version = "2.0.2"; sha256 = "025l5akirkd9g7d5g5wydvkn1wabglcyvbfshkmly7j3r0k596vp"; })
   (fetchNuGet { pname = "Serilog"; version = "2.11.0"; sha256 = "1nvd3hm615xlcdmw1i7llkd3xvwvpv66c4y4s28npv47v3yci3lh"; })
   (fetchNuGet { pname = "Serilog.Sinks.Async"; version = "1.5.0"; sha256 = "0bcb3n6lmg5wfj806mziybfmbb8gyiszrivs3swf0msy8w505gyg"; })
   (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "4.0.1"; sha256 = "080vh9kcyn9lx4j7p34146kp9byvhqlaz5jn9wzx70ql9cwd0hlz"; })
   (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; })
-  (fetchNuGet { pname = "StreamJsonRpc"; version = "2.12.27"; sha256 = "15k0z6y3dsgipzfaa73irf5xjddr5mj9z26k27s8p6viay608cxc"; })
+  (fetchNuGet { pname = "StreamJsonRpc"; version = "2.16.36"; sha256 = "1bwbbzd8rg1mjsig046ihs53gn8ywf5j9mjfy32axfziisqr1c2w"; })
   (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
   (fetchNuGet { pname = "System.CodeDom"; version = "6.0.0"; sha256 = "1i55cxp8ycc03dmxx4n22qi6jkwfl23cgffb95izq7bjar8avxxq"; })
   (fetchNuGet { pname = "System.Collections.Immutable"; version = "7.0.0"; sha256 = "1n9122cy6v3qhsisc9lzwa1m1j62b8pi2678nsmnlyvfpk0zdagm"; })
@@ -178,7 +177,8 @@
   (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "7.0.0"; sha256 = "16p8z975dnzmncfifa9gw9n3k9ycpr2qvz7lglpghsvx0fava8k9"; })
   (fetchNuGet { pname = "System.Drawing.Common"; version = "7.0.0"; sha256 = "0jwyv5zjxzr4bm4vhmz394gsxqa02q6pxdqd2hwy1f116f0l30dp"; })
   (fetchNuGet { pname = "System.Formats.Asn1"; version = "6.0.0"; sha256 = "1vvr7hs4qzjqb37r0w1mxq7xql2b17la63jwvmgv65s1hj00g8r9"; })
-  (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.3"; sha256 = "1jgdazpmwc21dd9naq3l9n5s8a1jnbwlvgkf1pnm0aji6jd4xqdz"; })
+  (fetchNuGet { pname = "System.Formats.Asn1"; version = "7.0.0"; sha256 = "1a14kgpqz4k7jhi7bs2gpgf67ym5wpj99203zxgwjypj7x47xhbq"; })
+  (fetchNuGet { pname = "System.IO.Pipelines"; version = "7.0.0"; sha256 = "1ila2vgi1w435j7g2y7ykp2pdbh9c5a02vm85vql89az93b7qvav"; })
   (fetchNuGet { pname = "System.Management"; version = "6.0.0"; sha256 = "0ra1g75ykapg6i5y0za721kpjd6xcq6dalijkdm6fsxxmz8iz4dr"; })
   (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
   (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
@@ -194,7 +194,8 @@
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; })
   (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0"; sha256 = "0a678bzj8yxxiffyzy60z2w1nczzpi8v97igr4ip3byd2q89dv58"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "5.0.0"; sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "6.0.1"; sha256 = "0wswhbvm3gh06azg9k1zfvmhicpzlh7v71qzd4x5zwizq4khv7iq"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "6.0.4"; sha256 = "0hh5h38pnxmlrnvs72f2hzzpz4b2caiiv6xf8y7fzdg84r3imvfr"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "7.0.3"; sha256 = "0gw07qhch88jvx393m7ibl4g3dml60s42f3pa8a9f3v88ckkaxws"; })
   (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "6.0.0"; sha256 = "05kd3a8w7658hjxq9vvszxip30a479fjmfq4bq1r95nrsvs4hbss"; })
   (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "7.0.1"; sha256 = "1nq9ngkqha70rv41692c79zq09cx6m85wkp3xj9yc31s62afyl5i"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Xml"; version = "6.0.1"; sha256 = "15d0np1njvy2ywf0qzdqyjk5sjs4zbfxg917jrvlbfwrqpqxb5dj"; })
@@ -203,9 +204,12 @@
   (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; })
   (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "7.0.0"; sha256 = "0sn6hxdjm7bw3xgsmg041ccchsa4sp02aa27cislw3x61dbr68kq"; })
   (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; })
+  (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "7.0.0"; sha256 = "1151hbyrcf8kyg1jz8k9awpbic98lwz9x129rg7zk1wrs6vjlpxl"; })
   (fetchNuGet { pname = "System.Text.Json"; version = "6.0.5"; sha256 = "12fg196sdq3gcjcz365kypfkkmdrprpcw2fvjnww9jqa4yn8v99l"; })
+  (fetchNuGet { pname = "System.Text.Json"; version = "7.0.3"; sha256 = "0zjrnc9lshagm6kdb9bdh45dmlnkpwcpyssa896sda93ngbmj8k9"; })
   (fetchNuGet { pname = "System.Threading.Channels"; version = "6.0.0"; sha256 = "1qbyi7yymqc56frqy7awvcqc1m7x3xrpx87a37dgb3mbrjg9hlcj"; })
   (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "6.0.0"; sha256 = "1b4vyjdir9kdkiv2fqqm4f76h0df68k8gcd7jb2b38zgr2vpnk3c"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "7.0.0"; sha256 = "0ham9l8xrmlq2qwin53n82iz1wanci2h695i3cq83jcw4n28qdr9"; })
   (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
   (fetchNuGet { pname = "System.Windows.Extensions"; version = "7.0.0"; sha256 = "11r9f0v7qp365bdpq5ax023yra4qvygljz18dlqs650d44iay669"; })
   (fetchNuGet { pname = "YoloDev.Expecto.TestSdk"; version = "0.14.2"; sha256 = "1877gr3f8wl1x3njhgss9psxm21xpqv6cpg625f2mvvak79fzrra"; })
diff --git a/nixpkgs/pkgs/development/tools/fusee-launcher/default.nix b/nixpkgs/pkgs/development/tools/fusee-launcher/default.nix
index 08cf6caae3ef..117bd0c9450e 100644
--- a/nixpkgs/pkgs/development/tools/fusee-launcher/default.nix
+++ b/nixpkgs/pkgs/development/tools/fusee-launcher/default.nix
@@ -6,6 +6,10 @@
 , makeWrapper
 } :
 
+let
+  arm-embedded-cc = pkgsCross.arm-embedded.buildPackages.gcc;
+in
+
 stdenv.mkDerivation {
   pname = "fusee-launcher";
   version = "unstable-2018-07-14";
@@ -17,6 +21,10 @@ stdenv.mkDerivation {
     sha256 = "1pqkgw5bk0xcz9x7pc1f0r0b9nsc8jnnvcs1315d8ml8mx23fshm";
   };
 
+  makeFlags = [
+    "CROSS_COMPILE=${arm-embedded-cc.targetPrefix}"
+  ];
+
   installPhase = ''
     mkdir -p $out/bin $out/share
     cp fusee-launcher.py $out/bin/fusee-launcher
@@ -28,7 +36,7 @@ stdenv.mkDerivation {
       --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
   '';
 
-  nativeBuildInputs = [ pkgsCross.arm-embedded.buildPackages.gcc makeWrapper python3Packages.wrapPython ];
+  nativeBuildInputs = [ arm-embedded-cc makeWrapper python3Packages.wrapPython ];
   buildInputs = [ python3 python3Packages.pyusb ];
   pythonPath = with python3Packages; [ pyusb ];
 
diff --git a/nixpkgs/pkgs/development/tools/github/bump/default.nix b/nixpkgs/pkgs/development/tools/github/bump/default.nix
index 163b4e95496e..2ba546699f17 100644
--- a/nixpkgs/pkgs/development/tools/github/bump/default.nix
+++ b/nixpkgs/pkgs/development/tools/github/bump/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "bump";
-  version = "0.2.3";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "mroth";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tgTG/QlDxX1Ns0WpcNjwr/tvsdtgap7RcxX/JuYcxw8=";
+    sha256 = "sha256-DFgNx0H9/hZ+wUdPkEybRCIjnLsmuoYWruYgbDuFRhU=";
   };
 
-  vendorHash = "sha256-ZeKokW6jMiKrXLfnxwEBF+wLuFQufnPUnA/EnuhvrwI=";
+  vendorHash = "sha256-AiXbCS3RXd6KZwIo7qzz3yM28cJloLRR+gdWqEpyims=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/kafkactl/default.nix b/nixpkgs/pkgs/development/tools/kafkactl/default.nix
index b602f2b4fc6d..8626daa9c762 100644
--- a/nixpkgs/pkgs/development/tools/kafkactl/default.nix
+++ b/nixpkgs/pkgs/development/tools/kafkactl/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "kafkactl";
-  version = "3.4.0";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "deviceinsight";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-8/MqcJ7kxlmVkZCa7PWZ6kzo6D/9Zwx2rOJs675mJUE=";
+    hash = "sha256-HGOLPns7kBq02hF5TVs0DdTdJ+16JGs996JZ66k83Os=";
   };
 
-  vendorHash = "sha256-5LHL0L7xTmy3yBs7rtrC1uvUjLKBU8LpjQaHyeRyFhw=";
+  vendorHash = "sha256-jUuJBGEb4pSdyuRd3qHINyC8aRwqyJnsb/raM9nEh84=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/tools/ko/default.nix b/nixpkgs/pkgs/development/tools/ko/default.nix
index 66a196ab02d4..3f9bc4c0b3fc 100644
--- a/nixpkgs/pkgs/development/tools/ko/default.nix
+++ b/nixpkgs/pkgs/development/tools/ko/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "ko";
-  version = "0.15.0";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "ko-build";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-z0VemNdN35p5fA+cenXil7Vonl+ryu1ruKxzWFwMPfI=";
+    hash = "sha256-BEKsa5mzJplcyR65/4T0MizrYxEk8/ON8SDFt8ZxqMU=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/development/tools/kubepug/default.nix b/nixpkgs/pkgs/development/tools/kubepug/default.nix
index 7cab20594516..fc6f9c30daa0 100644
--- a/nixpkgs/pkgs/development/tools/kubepug/default.nix
+++ b/nixpkgs/pkgs/development/tools/kubepug/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubepug";
-  version = "1.5.1";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
-    owner = "rikatz";
+    owner = "kubepug";
     repo = "kubepug";
     rev = "v${version}";
-    hash = "sha256-HjnkGEzTobtILqML5xcjpYVtg6a5PqMKYyaGTYrqEDo=";
+    hash = "sha256-VNxaYQy81U0JWd6KS0jCvMexpyWL4v1cKpjxLRkxBLE=";
   };
 
-  vendorHash = "sha256-w2WwJa8qaXmgFwZJo2r2TowcTehgQY0nGY4u1UROaxM=";
+  vendorHash = "sha256-HVsaQBd7fSZp2fOpOOmlDhYrHcHqWKiYWPFLQX0azEw=";
 
   ldflags = [
     "-s"
@@ -19,13 +19,9 @@ buildGoModule rec {
     "-X sigs.k8s.io/release-utils/version.gitVersion=${version}"
   ];
 
-  patches = [
-    ./skip-external-network-tests.patch
-  ];
-
   meta = with lib; {
     description = "Checks a Kubernetes cluster for objects using deprecated API versions";
-    homepage = "https://github.com/rikatz/kubepug";
+    homepage = "https://github.com/kubepug/kubepug";
     license = licenses.asl20;
     maintainers = with maintainers; [ mausch ];
   };
diff --git a/nixpkgs/pkgs/development/tools/kubepug/skip-external-network-tests.patch b/nixpkgs/pkgs/development/tools/kubepug/skip-external-network-tests.patch
deleted file mode 100644
index e24aa01ad175..000000000000
--- a/nixpkgs/pkgs/development/tools/kubepug/skip-external-network-tests.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/pkg/utils/downloader_test.go b/pkg/utils/downloader_test.go
-index b227760..b72dee9 100644
---- a/pkg/utils/downloader_test.go
-+++ b/pkg/utils/downloader_test.go
-@@ -7,6 +7,7 @@ import (
- )
- 
- func TestDownloadSwaggerFile(t *testing.T) {
-+    t.Skipf("Nix sandbox does not have networking")
- 	var tmpdir string
- 	// Github actions does not have a temporary dir :/
- 	tmpdir = os.Getenv("RUNNER_TEMP")
diff --git a/nixpkgs/pkgs/development/tools/language-servers/zls/default.nix b/nixpkgs/pkgs/development/tools/language-servers/zls/default.nix
index 9fda43915ca2..2188af2a1166 100644
--- a/nixpkgs/pkgs/development/tools/language-servers/zls/default.nix
+++ b/nixpkgs/pkgs/development/tools/language-servers/zls/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
     changelog = "https://github.com/zigtools/zls/releases/tag/${finalAttrs.version}";
     homepage = "https://github.com/zigtools/zls";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ figsoda fortuneteller2k ];
+    maintainers = with lib.maintainers; [ figsoda moni ];
     platforms = lib.platforms.unix;
   };
 })
diff --git a/nixpkgs/pkgs/development/tools/misc/complgen/default.nix b/nixpkgs/pkgs/development/tools/misc/complgen/default.nix
index 81cf9c120edd..6c0cdb3c5bb1 100644
--- a/nixpkgs/pkgs/development/tools/misc/complgen/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/complgen/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "complgen";
-  version = "0.1.6";
+  version = "0.1.7";
 
   src = fetchFromGitHub {
     owner = "adaszko";
     repo = "complgen";
     rev = "v${version}";
-    hash = "sha256-FetiopX4k58JQP67zTh0ssy1HFJHmi0Op9h9vjH1pLE=";
+    hash = "sha256-B7ydYz9nui3B/IC3obVTiJZvzTD/lCQyf+tREwFJERg=";
   };
 
-  cargoHash = "sha256-2EJuxoed+6LGpxxqkdFxbntilA2SihQScliUFYgjYmU=";
+  cargoHash = "sha256-CXvaGrE4sQlc7K6FVQqGU8EKPfHr8EIV5YFq+VMoBWg=";
 
   meta = with lib; {
     description = "Generate {bash,fish,zsh} completions from a single EBNF-like grammar";
diff --git a/nixpkgs/pkgs/development/tools/misc/cvise/default.nix b/nixpkgs/pkgs/development/tools/misc/cvise/default.nix
index 56bd85b77218..f65b0386cfd8 100644
--- a/nixpkgs/pkgs/development/tools/misc/cvise/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/cvise/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonApplication
 , fetchFromGitHub
+, fetchpatch
 , bash
 , cmake
 , colordiff
@@ -29,6 +30,14 @@ buildPythonApplication rec {
   patches = [
     # Refer to unifdef by absolute path.
     ./unifdef.patch
+
+    # Refer to shell via /usr/bin/env:
+    #   https://github.com/marxin/cvise/pull/121
+    (fetchpatch {
+      name = "env-shell.patch";
+      url = "https://github.com/marxin/cvise/commit/6a416eb590be978a2ad25c610974fdde84e88651.patch";
+      hash = "sha256-Kn6+TXP+wJpMs6jrgsa9OwjXf6vmIgGzny8jg3dfKWA=";
+    })
   ];
 
   postPatch = ''
@@ -37,10 +46,6 @@ buildPythonApplication rec {
     substituteInPlace CMakeLists.txt \
       --replace " -Werror " " "
 
-    # 'cvise --command=...' generates a script with hardcoded shebang.
-    substituteInPlace cvise.py \
-      --replace "#!/bin/bash" "#!${bash}/bin/bash"
-
     substituteInPlace cvise/utils/testing.py \
       --replace "'colordiff --version'" "'${colordiff}/bin/colordiff --version'" \
       --replace "'colordiff'" "'${colordiff}/bin/colordiff'"
diff --git a/nixpkgs/pkgs/development/tools/misc/hydra/crypt-passphrase-argon2-fix-output-len.patch b/nixpkgs/pkgs/development/tools/misc/hydra/crypt-passphrase-argon2-fix-output-len.patch
deleted file mode 100644
index 0c8e6ae434d6..000000000000
--- a/nixpkgs/pkgs/development/tools/misc/hydra/crypt-passphrase-argon2-fix-output-len.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 6a5fb9efaea35ca29836371307f5083576f421ab Mon Sep 17 00:00:00 2001
-From: Stig Palmquist <git@stig.io>
-Date: Fri, 20 Oct 2023 00:09:28 +0200
-Subject: [PATCH] Set output length of C::P::Argon2 hashes to 16
-
-Since the default lengths in Crypt::Passphrase::Argon2 changed from 16
-to 32 in in 0.009, some tests that expected the passphrase to be
-unchanged started failing.
----
- src/lib/Hydra/Schema/Result/Users.pm | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/lib/Hydra/Schema/Result/Users.pm b/src/lib/Hydra/Schema/Result/Users.pm
-index b3de6543..c28ae931 100644
---- a/src/lib/Hydra/Schema/Result/Users.pm
-+++ b/src/lib/Hydra/Schema/Result/Users.pm
-@@ -216,7 +216,7 @@ sub json_hint {
- 
- sub _authenticator() {
-     my $authenticator = Crypt::Passphrase->new(
--        encoder    => 'Argon2',
-+        encoder    => { module => 'Argon2', output_size => 16 },
-         validators => [
-             (sub {
-                 my ($password, $hash) = @_;
--- 
-2.42.0
-
diff --git a/nixpkgs/pkgs/development/tools/misc/hydra/unstable.nix b/nixpkgs/pkgs/development/tools/misc/hydra/unstable.nix
index 26102f36daf0..02774ac41058 100644
--- a/nixpkgs/pkgs/development/tools/misc/hydra/unstable.nix
+++ b/nixpkgs/pkgs/development/tools/misc/hydra/unstable.nix
@@ -205,10 +205,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  patches = [
-    ./crypt-passphrase-argon2-fix-output-len.patch
-  ];
-
   postPatch = ''
     # Change 5s timeout for init to 30s
     substituteInPlace t/lib/HydraTestContext.pm \
diff --git a/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix b/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
deleted file mode 100644
index a4faa31a4214..000000000000
--- a/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ elk7Version
-, enableUnfree ? true
-, lib
-, stdenv
-, makeWrapper
-, fetchurl
-, nodejs_16
-, coreutils
-, which
-}:
-
-let
-  nodejs = nodejs_16;
-  inherit (builtins) elemAt;
-  info = lib.splitString "-" stdenv.hostPlatform.system;
-  arch = elemAt info 0;
-  plat = elemAt info 1;
-  hashes =
-    {
-      x86_64-linux  = "sha512-09XokG5krjxGnk34DhxpLOGRLjb2jd82uZtwGfrzSuuqMpBhkEptK2oySGxuGdHF8uowwlR5p5YO2TvBwMsWkQ==";
-      x86_64-darwin = "sha512-cqRJnvu730Jfkr6vwbHUFuZube1g522cmvnDwTzhGGK6VN/7+9XL3vavqtUPDVdTLTUk+DrNiIQK7MaJH3SHMg==";
-      aarch64-linux = "sha512-zhtYThz5j4+w5gI1JWSnHv709Tk23eegVsrtYmdaYhZiTw2yvCTYI5uNAfBjBr8XPdp6CKF4e6Bh2wHKDYg1mg==";
-      aarch64-darwin = "sha512-cqRJnvu730Jfkr6vwbHUFuZube1g522cmvnDwTzhGGK6VN/7+9XL3vavqtUPDVdTLTUk+DrNiIQK7MaJH3SHMg==";
-    };
-
-in stdenv.mkDerivation rec {
-  pname = "kibana";
-  version = elk7Version;
-
-  src = fetchurl {
-    url = "https://artifacts.elastic.co/downloads/kibana/${pname}-${version}-${plat}-${arch}.tar.gz";
-    hash = hashes.${stdenv.hostPlatform.system} or (throw "Unknown architecture");
-  };
-
-  patches = [
-    # Kibana specifies it specifically needs nodejs 10.15.2 but nodejs in nixpkgs is at 10.15.3.
-    # The <nixpkgs/nixos/tests/elk.nix> test succeeds with this newer version so lets just
-    # disable the version check.
-    ./disable-nodejs-version-check-7.patch
-  ];
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    mkdir -p $out/libexec/kibana $out/bin
-    mv * $out/libexec/kibana/
-    rm -r $out/libexec/kibana/node
-    makeWrapper $out/libexec/kibana/bin/kibana $out/bin/kibana \
-      --prefix PATH : "${lib.makeBinPath [ nodejs coreutils which ]}"
-    sed -i 's@NODE=.*@NODE=${nodejs}/bin/node@' $out/libexec/kibana/bin/kibana
-  '';
-
-  meta = with lib; {
-    description = "Visualize logs and time-stamped data";
-    homepage = "http://www.elasticsearch.org/overview/kibana";
-    license = licenses.elastic20;
-    maintainers = with maintainers; [ offline basvandijk ];
-    platforms = with platforms; unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/tools/misc/kibana/disable-nodejs-version-check-7.patch b/nixpkgs/pkgs/development/tools/misc/kibana/disable-nodejs-version-check-7.patch
deleted file mode 100644
index ef4c207764c1..000000000000
--- a/nixpkgs/pkgs/development/tools/misc/kibana/disable-nodejs-version-check-7.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/src/setup_node_env/node_version_validator.js b/src/setup_node_env/node_version_validator.js
-index 3f611e5a..f5c60c85 100644
---- a/src/setup_node_env/node_version_validator.js
-+++ b/src/setup_node_env/node_version_validator.js
-@@ -25,11 +25,11 @@ var pkg = require('../../package.json'); // Note: This is written in ES5 so we c
- var currentVersion = process && process.version || null;
- var rawRequiredVersion = pkg && pkg.engines && pkg.engines.node || null;
- var requiredVersion = rawRequiredVersion ? 'v' + rawRequiredVersion : rawRequiredVersion;
--var isVersionValid = !!currentVersion && !!requiredVersion && currentVersion === requiredVersion; // Validates current the NodeJS version compatibility when Kibana starts.
-+var isVersionValid = !!currentVersion && !!requiredVersion; // Validates current the NodeJS version compatibility when Kibana starts.
- 
- if (!isVersionValid) {
-   var errorMessage = 'Kibana does not support the current Node.js version ' + currentVersion + '. Please use Node.js ' + requiredVersion + '.'; // Actions to apply when validation fails: error report + exit.
- 
-   console.error(errorMessage);
-   process.exit(1);
--}
-\ No newline at end of file
-+}
diff --git a/nixpkgs/pkgs/development/tools/misc/sccache/default.nix b/nixpkgs/pkgs/development/tools/misc/sccache/default.nix
index 138765bb2280..47ae36c77ea9 100644
--- a/nixpkgs/pkgs/development/tools/misc/sccache/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/sccache/default.nix
@@ -1,17 +1,17 @@
 { lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, stdenv, Security }:
 
 rustPlatform.buildRustPackage rec {
-  version = "0.6.0";
+  version = "0.7.2";
   pname = "sccache";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "sccache";
     rev = "v${version}";
-    sha256 = "sha256-/H4QhkWsvq6UvrxuNhRPwlUi/spSYB78h8yUvdCJ2Ws=";
+    sha256 = "sha256-hup9FM2KEBXRx6NleDGR01C0whJgR1KYyIrcIv2UE80=";
   };
 
-  cargoSha256 = "sha256-wFkVGKa00WQjk59KSBdOJ9Zfj8MwzC4XOhT9p4yvJM0=";
+  cargoSha256 = "sha256-Od1uaKZVAZaIDrsNheR1kYIjnmpnThlU7k3EIKdOjzM=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
diff --git a/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix b/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix
index 6899c590e95f..0929aa5286b0 100644
--- a/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/uncrustify/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "uncrustify";
-  version = "0.77.1";
+  version = "0.78.0";
 
   src = fetchFromGitHub {
     owner = "uncrustify";
     repo = "uncrustify";
     rev = "uncrustify-${version}";
-    sha256 = "sha256-9U6PTeU/LVFL9XzP9XSFjDx18CR3athThEz+h2+5qZ8=";
+    sha256 = "sha256-wuwZFTa8XGMN3dlpdaMYiKvyS3DJMUgqRgaDtj/s7vI=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/nixpkgs/pkgs/development/tools/ruff/default.nix b/nixpkgs/pkgs/development/tools/ruff/default.nix
index 75e32e0c7c1b..94f70251e504 100644
--- a/nixpkgs/pkgs/development/tools/ruff/default.nix
+++ b/nixpkgs/pkgs/development/tools/ruff/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.1.5";
+  version = "0.1.6";
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "ruff";
     rev = "refs/tags/v${version}";
-    hash = "sha256-g52cIw0af/wQSuA4QhC2dCjcDGikirswBDAtwf8Drvo=";
+    hash = "sha256-EX1tXe8KlwjrohzgzKDeJP0PjfKw8+lnQ7eg9PAUAfQ=";
   };
 
-  cargoHash = "sha256-1jfKRpyGewNlvMkL/MKnOaRJyajwLAuw+YyeTyTtcP4=";
+  cargoHash = "sha256-ueWSBYXcdaxagjFjxfsImulOs0zVVqGHmfXp4pQLaMM=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-dist/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-dist/default.nix
index 961f3287e647..89d5b1547c8e 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-dist/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-dist/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-dist";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "axodotdev";
     repo = "cargo-dist";
     rev = "v${version}";
-    hash = "sha256-lh3nK3yj03pEurjw6/fMh70GnBawxUqilupUzfgryG0=";
+    hash = "sha256-QN+fO8aH4z0gtbDhS3BLKpiWMFoYP1JjPehWHUjR9z4=";
   };
 
-  cargoHash = "sha256-lUeCMyH6qE76SVjubWVo/Hpj6J8PM6ndOqrJufcfByw=";
+  cargoHash = "sha256-tNRZx5i5noahhoxJ15rBSnPxqoJ4MlBRjcuUYmrNDVg=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-leptos/Cargo.lock b/nixpkgs/pkgs/development/tools/rust/cargo-leptos/Cargo.lock
index 1849049179bb..7e0abac242a8 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-leptos/Cargo.lock
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-leptos/Cargo.lock
@@ -389,7 +389,7 @@ dependencies = [
 
 [[package]]
 name = "cargo-leptos"
-version = "0.2.1"
+version = "0.2.2"
 dependencies = [
  "ansi_term",
  "anyhow",
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-leptos/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-leptos/default.nix
index ed40ca125695..a1e1ca030711 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-leptos/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-leptos/default.nix
@@ -20,8 +20,8 @@ rustPlatform.buildRustPackage rec {
   src = fetchFromGitHub {
     owner = "leptos-rs";
     repo = pname;
-    rev = "${version}";
-    hash = "sha256-i2nKtQC63BbZsrYvg+HkdqQfK59f0LzZ9dfmFBaqn14=";
+    rev = "e98b478b0c82af1469151eff30f4246b9af4a539";
+    hash = "sha256-7o/yQanBBSA+MmMiGCYSjar4hZ8TRZoPiUniF5ELzXU=";
   };
 
   cargoLock = {
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-llvm-cov/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-llvm-cov/default.nix
index 43df364abae7..0da95637741f 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-llvm-cov/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-llvm-cov/default.nix
@@ -26,7 +26,7 @@
 
 let
   pname = "cargo-llvm-cov";
-  version = "0.5.36";
+  version = "0.5.37";
 
   owner = "taiki-e";
   homepage = "https://github.com/${owner}/${pname}";
@@ -37,7 +37,7 @@ let
   cargoLock = fetchurl {
     name = "Cargo.lock";
     url = "https://crates.io/api/v1/crates/${pname}/${version}/download";
-    sha256 = "sha256-ZI5vxtMcIEtVPIeedha3S6GEvvQDBB9eyOFwkAAO22I=";
+    sha256 = "sha256-UJXZ7FhbkIcVAv4PymO4sCqhJ0KFORCCO3w0w9W46qQ=";
     downloadToTemp = true;
     postFetch = ''
       tar xzf $downloadedFile ${pname}-${version}/Cargo.lock
@@ -55,7 +55,7 @@ rustPlatform.buildRustPackage {
     inherit owner;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Ii21kjQ4nWEttvGY9bxhGmfLkI2MrAsYJZcwfE2y6uQ=";
+    sha256 = "sha256-aJIMG2gaotu1XdNxcE2xJS78qAqlNzF3p2RMvqBraTk=";
     leaveDotGit = true;
   };
 
@@ -64,7 +64,7 @@ rustPlatform.buildRustPackage {
     cp ${cargoLock} source/Cargo.lock
   '';
 
-  cargoSha256 = "sha256-BHocUJpk4qplwMfpSXNTZjOpUCZGS676xYrqtSFnP7s=";
+  cargoSha256 = "sha256-dbC8OcH/Ae98SUx9d4rsBdhYQfzsWZpiGqJoIGPDSbY=";
 
   # `cargo-llvm-cov` reads these environment variables to find these binaries,
   # which are needed to run the tests
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-nextest/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-nextest/default.nix
index 92e382071dfd..e472c977f5f2 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-nextest/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-nextest/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-nextest";
-  version = "0.9.62";
+  version = "0.9.63";
 
   src = fetchFromGitHub {
     owner = "nextest-rs";
     repo = "nextest";
     rev = "cargo-nextest-${version}";
-    hash = "sha256-GxDURkXmZvxaX9RLq/hlqtX1woWm2JKtv5x5goCY4ZU=";
+    hash = "sha256-xAFpTcugAWUmHwWe2Ny1urxrIzRXyfxUMb9kBoGa3SA=";
   };
 
-  cargoHash = "sha256-zQB8sPeKT43qC5JjrHa7E41NyDyiQ3PGvBqgszs+tBI=";
+  cargoHash = "sha256-ase0pfcDDkQGnTEtAD2ZTnBP7jdGS9pki1BoFbfUuFk=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.SystemConfiguration
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-semver-checks/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-semver-checks/default.nix
index 4143c08da5e7..5fa4d5308674 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-semver-checks/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-semver-checks/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-semver-checks";
-  version = "0.24.2";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "obi1kenobi";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-bfkRuFVlKfzyTomFhgnxbDj76Mfq/Q/Y3ZQUuMpkYQ0=";
+    hash = "sha256-cy1YgNBxVSxdoVq/2t6Uf4PBQf54degabtEYfIeIBDU=";
   };
 
-  cargoHash = "sha256-poPTFF+XCAHhHftxOOPaN+dixX2uqtZVfn20DB+cZ5o=";
+  cargoHash = "sha256-Xl6wneomb5NeqhA9pMyNkCtc6FgYtx7k2zgQ3oBHP/Q=";
 
   nativeBuildInputs = [
     cmake
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-show-asm/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-show-asm/default.nix
index 37cc46a74e00..3a8dbfb08c61 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-show-asm/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-show-asm/default.nix
@@ -9,14 +9,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-show-asm";
-  version = "0.2.21";
+  version = "0.2.22";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-0Fj+yC464XdqeMWBgBj5g6ZQGrurFM5LbqSe9GSgbGg=";
+    hash = "sha256-yj895sAjTQAUmhU38nv9ea6r7lIwqjZFBEeGSHd0J98=";
   };
 
-  cargoHash = "sha256-fW+WvsZv34ZpwaRCs6Uom7t0cV+9yPIlN5pbRea9YEk=";
+  cargoHash = "sha256-JbS72/sE2vCocC7o4X6vZfqGz0Tb0FvO/omzj0LhnHQ=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-zigbuild/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-zigbuild/default.nix
index 5a4e14a733c9..3741be37772d 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-zigbuild/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-zigbuild/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-zigbuild";
-  version = "0.17.4";
+  version = "0.17.5";
 
   src = fetchFromGitHub {
     owner = "messense";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-7XY2hFmc4Vqh8fVCSrpQkoXZKZxX3kqppIDGc3T7qRw=";
+    hash = "sha256-x0TPbqwoCaXUlrjYQ47+x5KohsiK5yCrI2Q8yA2K8Zs=";
   };
 
-  cargoHash = "sha256-a/WRXiTSmQyAlxXqeFUWWSPFbHKL7Sifv2CW7rgbLWk=";
+  cargoHash = "sha256-FK6tTAbhP1f4VasG9HCahbMTDrJ9A6zXt/T6cs3HOZE=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/nixpkgs/pkgs/development/tools/rust/humility/Cargo.lock b/nixpkgs/pkgs/development/tools/rust/humility/Cargo.lock
index 7f20641b32b5..8fd62d8cc564 100644
--- a/nixpkgs/pkgs/development/tools/rust/humility/Cargo.lock
+++ b/nixpkgs/pkgs/development/tools/rust/humility/Cargo.lock
@@ -3,64 +3,119 @@
 version = 3
 
 [[package]]
-name = "CoreFoundation-sys"
-version = "0.1.4"
+name = "addr2line"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0e9889e6db118d49d88d84728d0e964d973a5680befb5f85f55141beea5c20b"
+checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
 dependencies = [
- "libc",
- "mach",
+ "gimli 0.27.2",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aes"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8"
+dependencies = [
+ "cfg-if",
+ "cipher",
+ "cpufeatures",
+ "opaque-debug",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
+dependencies = [
+ "memchr",
 ]
 
 [[package]]
-name = "IOKit-sys"
+name = "android_system_properties"
 version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99696c398cbaf669d2368076bdb3d627fb0ce51a26899d7c61228c5c0af3bf4a"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
 dependencies = [
- "CoreFoundation-sys",
  "libc",
- "mach",
 ]
 
 [[package]]
-name = "addr2line"
-version = "0.17.0"
+name = "anstream"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
+checksum = "9e579a7752471abc2a8268df8b20005e3eadd975f585398f17efcfd8d4927371"
 dependencies = [
- "gimli 0.26.1",
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is-terminal",
+ "utf8parse",
 ]
 
 [[package]]
-name = "adler"
-version = "1.0.2"
+name = "anstyle"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
 
 [[package]]
-name = "aho-corasick"
-version = "0.7.18"
+name = "anstyle-parse"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
 dependencies = [
- "memchr",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+dependencies = [
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4bcd8291a340dd8ac70e18878bc4501dd7b4ff970cfa21c207d36ece51ea88fd"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.58"
+version = "1.0.70"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704"
+checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4"
 dependencies = [
  "backtrace",
 ]
 
 [[package]]
+name = "arrayvec"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+
+[[package]]
 name = "atomic-polyfill"
-version = "0.1.8"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14bf7b4f565e5e717d7a7a65b2a05c0b8c96e4db636d6f780f03b15108cdd1b"
+checksum = "e3ff7eb3f316534d83a8a2c3d1674ace8a5a71198eba31e2e2b597833f699b28"
 dependencies = [
  "critical-section",
 ]
@@ -71,7 +126,7 @@ version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
 dependencies = [
- "hermit-abi",
+ "hermit-abi 0.1.19",
  "libc",
  "winapi",
 ]
@@ -84,39 +139,30 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "backtrace"
-version = "0.3.65"
+version = "0.3.67"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11a17d453482a265fd5f8479f2a3f405566e6ca627837aaddb85af8b1ab8ef61"
+checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
 dependencies = [
  "addr2line",
  "cc",
  "cfg-if",
  "libc",
  "miniz_oxide",
- "object 0.28.4",
+ "object 0.30.3",
  "rustc-demangle",
 ]
 
 [[package]]
-name = "bare-metal"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5deb64efa5bd81e31fcd1938615a6d98c82eafcbcd787162b6f63b91d6bac5b3"
-dependencies = [
- "rustc_version 0.2.3",
-]
-
-[[package]]
-name = "bare-metal"
-version = "1.0.0"
+name = "base64"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8fe8f5a8a398345e52358e18ff07cc17a568fbca5c6f73873d3a62056309603"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
-name = "base64"
-version = "0.13.0"
+name = "base64ct"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
+checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
 
 [[package]]
 name = "bincode"
@@ -128,12 +174,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "bit_field"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4"
-
-[[package]]
 name = "bitfield"
 version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -146,10 +186,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
+name = "bitflags"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c70beb79cbb5ce9c4f8e20849978f34225931f665bb49efa6982875a4d5facb3"
+
+[[package]]
 name = "bitvec"
-version = "0.22.3"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5237f00a8c86130a0cc317830e558b966dd7850d48a953d998c813f01a41b527"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
 dependencies = [
  "funty",
  "radium",
@@ -159,24 +205,18 @@ dependencies = [
 
 [[package]]
 name = "block-buffer"
-version = "0.10.2"
+version = "0.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
 dependencies = [
  "generic-array",
 ]
 
 [[package]]
-name = "bstr"
-version = "0.2.17"
+name = "bumpalo"
+version = "3.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
-dependencies = [
- "lazy_static",
- "memchr",
- "regex-automata",
- "serde",
-]
+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
 
 [[package]]
 name = "byteorder"
@@ -186,15 +226,15 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
 
 [[package]]
 name = "bytes"
-version = "1.1.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
 
 [[package]]
 name = "bzip2"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0"
+checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8"
 dependencies = [
  "bzip2-sys",
  "libc",
@@ -246,7 +286,7 @@ checksum = "7714a157da7991e23d90686b9524b9e12e0407a108647f52e9328f4b3d51ac7f"
 dependencies = [
  "cargo-platform",
  "semver 0.11.0",
- "semver-parser 0.10.2",
+ "semver-parser",
  "serde",
  "serde_json",
 ]
@@ -259,9 +299,12 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
 
 [[package]]
 name = "cc"
-version = "1.0.73"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+dependencies = [
+ "jobserver",
+]
 
 [[package]]
 name = "cfg-if"
@@ -270,13 +313,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
+name = "chrono"
+version = "0.4.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
+dependencies = [
+ "iana-time-zone",
+ "js-sys",
+ "num-integer",
+ "num-traits",
+ "time 0.1.45",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "cipher"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
 name = "clap"
-version = "3.2.6"
+version = "3.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f1fe12880bae935d142c8702d500c63a4e8634b6c3c57ad72bf978fc7b6249a"
+checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
 dependencies = [
  "atty",
- "bitflags",
+ "bitflags 1.3.2",
  "clap_derive",
  "clap_lex",
  "indexmap",
@@ -288,27 +355,43 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "3.2.6"
+version = "3.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed6db9e867166a43a53f7199b5e4d1f522a1e5bd626654be263c999ce59df39a"
+checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65"
 dependencies = [
- "heck 0.4.0",
+ "heck",
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87eba3c8c7f42ef17f6c659fc7416d0f4758cd3e58861ee63c5fa4a4dde649e4"
+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
 dependencies = [
  "os_str_bytes",
 ]
 
 [[package]]
+name = "codespan-reporting"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+dependencies = [
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "colorchoice"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+[[package]]
 name = "colored"
 version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -321,47 +404,34 @@ dependencies = [
 
 [[package]]
 name = "combine"
-version = "4.6.4"
+version = "4.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a604e93b79d1808327a6fca85a6f2d69de66461e7620f5a4cbf5fb4d1d7c948"
+checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
 dependencies = [
  "bytes",
  "memchr",
 ]
 
 [[package]]
-name = "concolor"
-version = "0.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "015267563b1df20adccdd00cb05257b1dfbea70a04928e9cf88ffb850c1a40af"
-dependencies = [
- "atty",
- "bitflags",
- "concolor-query",
-]
-
-[[package]]
-name = "concolor-query"
-version = "0.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6417fe6fc03a8b533fd2177742eeb39a90c7233eedec7bac96d4d6b69a09449"
-
-[[package]]
 name = "console"
-version = "0.15.0"
+version = "0.15.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31"
+checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60"
 dependencies = [
  "encode_unicode",
+ "lazy_static",
  "libc",
- "once_cell",
- "regex",
- "terminal_size",
  "unicode-width",
- "winapi",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
+name = "constant_time_eq"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
+
+[[package]]
 name = "content_inspector"
 version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -372,54 +442,48 @@ dependencies = [
 
 [[package]]
 name = "convert_case"
-version = "0.3.2"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e1f025f441cdfb75831bec89b9d6a6ed02e5e763f78fc5e1ff30d4870fefaec"
+checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
 
 [[package]]
-name = "cortex-m"
-version = "0.7.5"
+name = "coolor"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd20d4ac4aa86f4f75f239d59e542ef67de87cce2c282818dc6e84155d3ea126"
+checksum = "af4d7a805ca0d92f8c61a31c809d4323fdaa939b0b440e544d21db7797c5aaad"
 dependencies = [
- "bare-metal 0.2.5",
- "bitfield",
- "embedded-hal",
- "volatile-register",
+ "crossterm 0.23.2",
 ]
 
 [[package]]
+name = "core-foundation-sys"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+
+[[package]]
 name = "cpufeatures"
-version = "0.2.2"
+version = "0.2.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b"
+checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "crc"
-version = "3.0.0"
+version = "3.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53757d12b596c16c78b83458d732a5d1a17ab3f53f2f7412f6fb57cc8a140ab3"
+checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe"
 dependencies = [
  "crc-catalog",
 ]
 
 [[package]]
-name = "crc-any"
-version = "2.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "774646b687f63643eb0f4bf13dc263cb581c8c9e57973b6ddf78bda3994d88df"
-dependencies = [
- "debug-helper",
-]
-
-[[package]]
 name = "crc-catalog"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d0165d2900ae6778e36e80bbc4da3b5eefccee9ba939761f9c2882a5d9af3ff"
+checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484"
 
 [[package]]
 name = "crc32fast"
@@ -432,21 +496,15 @@ dependencies = [
 
 [[package]]
 name = "critical-section"
-version = "0.2.7"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95da181745b56d4bd339530ec393508910c909c784e8962d15d722bacf0bcbcd"
-dependencies = [
- "bare-metal 1.0.0",
- "cfg-if",
- "cortex-m",
- "riscv",
-]
+checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52"
 
 [[package]]
 name = "crossbeam"
-version = "0.8.1"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ae5588f6b3c3cb05239e90bd110f257254aecd01e4635400391aeae07497845"
+checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c"
 dependencies = [
  "cfg-if",
  "crossbeam-channel",
@@ -458,9 +516,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.5"
+version = "0.5.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c02a4d71819009c192cf4872265391563fd6a84c81ff2c0f2a7026ca4c1d85c"
+checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
 dependencies = [
  "cfg-if",
  "crossbeam-utils",
@@ -468,9 +526,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.1"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
 dependencies = [
  "cfg-if",
  "crossbeam-epoch",
@@ -479,23 +537,22 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.9"
+version = "0.9.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07db9d94cbd326813772c968ccd25999e5f8ae22f4f8d1b11effa37ef6ce281d"
+checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
 dependencies = [
  "autocfg",
  "cfg-if",
  "crossbeam-utils",
  "memoffset",
- "once_cell",
  "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-queue"
-version = "0.3.5"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f25d8400f4a7a5778f0e4e52384a48cbd9b5c495d110786187fc750075277a2"
+checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
 dependencies = [
  "cfg-if",
  "crossbeam-utils",
@@ -503,12 +560,11 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.9"
+version = "0.8.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ff1f980957787286a554052d03c7aee98d99cc32e09f6d45f0a814133c87978"
+checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
 dependencies = [
  "cfg-if",
- "once_cell",
 ]
 
 [[package]]
@@ -517,11 +573,44 @@ version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c0ebde6a9dd5e331cd6c6f48253254d117642c31653baa475e394657c59c1f7d"
 dependencies = [
- "bitflags",
- "crossterm_winapi",
+ "bitflags 1.3.2",
+ "crossterm_winapi 0.8.0",
+ "libc",
+ "mio 0.7.14",
+ "parking_lot 0.11.2",
+ "signal-hook",
+ "signal-hook-mio",
+ "winapi",
+]
+
+[[package]]
+name = "crossterm"
+version = "0.23.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2102ea4f781910f8a5b98dd061f4c2023f479ce7bb1236330099ceb5a93cf17"
+dependencies = [
+ "bitflags 1.3.2",
+ "crossterm_winapi 0.9.0",
+ "libc",
+ "mio 0.8.6",
+ "parking_lot 0.12.1",
+ "signal-hook",
+ "signal-hook-mio",
+ "winapi",
+]
+
+[[package]]
+name = "crossterm"
+version = "0.24.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab9f7409c70a38a56216480fba371ee460207dd8926ccf5b4160591759559170"
+dependencies = [
+ "bitflags 1.3.2",
+ "crossterm_winapi 0.9.0",
  "libc",
- "mio",
- "parking_lot",
+ "mio 0.8.6",
+ "parking_lot 0.12.1",
+ "serde",
  "signal-hook",
  "signal-hook-mio",
  "winapi",
@@ -537,10 +626,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "crossterm_winapi"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ae1b35a484aa10e07fe0638d02301c5ad24de82d310ccbd2f3693da5f09bf1c"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
 name = "crypto-common"
-version = "0.1.3"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
 dependencies = [
  "generic-array",
  "typenum",
@@ -548,13 +646,12 @@ dependencies = [
 
 [[package]]
 name = "csv"
-version = "1.1.6"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"
+checksum = "0b015497079b9a9d69c02ad25de6c0a6edef051ea6360a327d0bd05802ef64ad"
 dependencies = [
- "bstr",
  "csv-core",
- "itoa 0.4.8",
+ "itoa",
  "ryu",
  "serde",
 ]
@@ -570,12 +667,56 @@ dependencies = [
 
 [[package]]
 name = "ctrlc"
-version = "3.2.2"
+version = "3.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b37feaa84e6861e00a1f5e5aa8da3ee56d605c9992d33e082786754828e20865"
+checksum = "bbcf33c2a618cbe41ee43ae6e9f2e48368cd9f9db2896f10167d8d762679f639"
 dependencies = [
  "nix",
- "winapi",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "cxx"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93"
+dependencies = [
+ "cc",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "link-cplusplus",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b"
+dependencies = [
+ "cc",
+ "codespan-reporting",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn 2.0.15",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.15",
 ]
 
 [[package]]
@@ -599,7 +740,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "strsim",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -610,46 +751,31 @@ checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
 dependencies = [
  "darling_core",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "debug-helper"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e"
-
-[[package]]
 name = "digest"
-version = "0.10.3"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506"
+checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
 dependencies = [
  "block-buffer",
  "crypto-common",
+ "subtle",
 ]
 
 [[package]]
 name = "dunce"
-version = "1.0.2"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453440c271cf5577fd2a40e4942540cb7d0d2f85e27c8d07dd0023c925a67541"
+checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
 
 [[package]]
 name = "either"
-version = "1.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
-
-[[package]]
-name = "embedded-hal"
-version = "0.2.7"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35949884794ad573cf46071e41c9b60efb0cb311e3ca01f7af807af1debc66ff"
-dependencies = [
- "nb 0.1.3",
- "void",
-]
+checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
 
 [[package]]
 name = "encode_unicode"
@@ -665,14 +791,14 @@ checksum = "c375b9c5eadb68d0a6efee2999fef292f45854c3444c86f09d8ab086ba942b0e"
 dependencies = [
  "num-traits",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.9.0"
+version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
+checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7"
 dependencies = [
  "atty",
  "humantime",
@@ -682,6 +808,27 @@ dependencies = [
 ]
 
 [[package]]
+name = "errno"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "errno-dragonfly"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
 name = "fallible-iterator"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -689,30 +836,41 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
 
 [[package]]
 name = "fastrand"
-version = "1.7.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
 dependencies = [
  "instant",
 ]
 
 [[package]]
+name = "fd-lock"
+version = "3.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39ae6b3d9530211fb3b12a95374b8b0823be812f53d09e18c5675c0146b09642"
+dependencies = [
+ "cfg-if",
+ "rustix",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "filetime"
-version = "0.2.16"
+version = "0.2.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0408e2626025178a6a7f7ffc05a25bc47103229f19c113755de7bf63816290c"
+checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall",
- "winapi",
+ "redox_syscall 0.2.16",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "flate2"
-version = "1.0.24"
+version = "1.0.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
+checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
 dependencies = [
  "crc32fast",
  "miniz_oxide",
@@ -726,21 +884,32 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
 name = "funty"
-version = "1.2.0"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1847abb9cb65d566acd5942e94aea9c8f547ad02c98e1649326fc0e8910b8b1e"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
 
 [[package]]
 name = "generic-array"
-version = "0.14.5"
+version = "0.14.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
 dependencies = [
  "typenum",
  "version_check",
 ]
 
 [[package]]
+name = "getrandom"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+]
+
+[[package]]
 name = "gimli"
 version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -753,19 +922,25 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.26.1"
+version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
+checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
 dependencies = [
  "fallible-iterator",
  "stable_deref_trait",
 ]
 
 [[package]]
+name = "gimli"
+version = "0.27.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4"
+
+[[package]]
 name = "glob"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "goblin"
@@ -789,19 +964,19 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.12.1"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
 name = "heapless"
-version = "0.7.14"
+version = "0.7.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "065681e99f9ef7e0e813702a0326aedbcbbde7db5e55f097aedd1bf50b9dca43"
+checksum = "db04bc24a18b9ea980628ecf00e6c0264f3c1426dac36c00cb49b6fbad8b0743"
 dependencies = [
  "atomic-polyfill",
  "hash32",
- "rustc_version 0.4.0",
+ "rustc_version",
  "serde",
  "spin",
  "stable_deref_trait",
@@ -809,29 +984,35 @@ dependencies = [
 
 [[package]]
 name = "heck"
-version = "0.3.3"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
-dependencies = [
- "unicode-segmentation",
-]
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
-name = "heck"
-version = "0.4.0"
+name = "hermit-abi"
+version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.19"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
 dependencies = [
  "libc",
 ]
 
 [[package]]
+name = "hermit-abi"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+
+[[package]]
 name = "hidapi"
 version = "1.4.1"
 source = "git+https://github.com/oxidecomputer/hidapi-rs?branch=oxide-stable#91237483222a42f68d16adcdfd42bc8e32adf666"
@@ -852,6 +1033,36 @@ dependencies = [
 ]
 
 [[package]]
+name = "hmac"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "hubpack"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61a0b84aeae519f65e0ba3aa998327080993426024edbd5cc38dbaf5ec524303"
+dependencies = [
+ "hubpack_derive",
+ "serde",
+]
+
+[[package]]
+name = "hubpack_derive"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f928320aff16ee8818ef7309180f8b5897057fd79d9dcb8de3ed1ba6dcc125a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
 name = "humantime"
 version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -869,7 +1080,7 @@ dependencies = [
 
 [[package]]
 name = "humility"
-version = "0.8.14"
+version = "0.10.34"
 dependencies = [
  "anyhow",
  "bitfield",
@@ -880,9 +1091,12 @@ dependencies = [
  "env_logger",
  "fallible-iterator",
  "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-cmd-apptable",
  "humility-cmd-auxflash",
+ "humility-cmd-bankerase",
+ "humility-cmd-console-proxy",
  "humility-cmd-dashboard",
  "humility-cmd-debugmailbox",
  "humility-cmd-diagnose",
@@ -896,8 +1110,9 @@ dependencies = [
  "humility-cmd-gpio",
  "humility-cmd-hash",
  "humility-cmd-hiffy",
+ "humility-cmd-host",
  "humility-cmd-i2c",
- "humility-cmd-isp",
+ "humility-cmd-ibc",
  "humility-cmd-itm",
  "humility-cmd-jefe",
  "humility-cmd-lpc55gpio",
@@ -907,16 +1122,20 @@ dependencies = [
  "humility-cmd-net",
  "humility-cmd-openocd",
  "humility-cmd-pmbus",
+ "humility-cmd-power",
+ "humility-cmd-powershelf",
  "humility-cmd-probe",
  "humility-cmd-qspi",
  "humility-cmd-readmem",
  "humility-cmd-readvar",
+ "humility-cmd-rebootleby",
  "humility-cmd-registers",
  "humility-cmd-rencm",
  "humility-cmd-rendmp",
  "humility-cmd-reset",
  "humility-cmd-ringbuf",
  "humility-cmd-rpc",
+ "humility-cmd-sbrmi",
  "humility-cmd-sensors",
  "humility-cmd-spctrl",
  "humility-cmd-spd",
@@ -925,9 +1144,11 @@ dependencies = [
  "humility-cmd-stmsecure",
  "humility-cmd-tasks",
  "humility-cmd-test",
- "humility-cmd-trace",
+ "humility-cmd-tofino-eeprom",
+ "humility-cmd-update",
  "humility-cmd-validate",
  "humility-cmd-vpd",
+ "humility-cmd-writeword",
  "humility-core",
  "humility-cortex",
  "indexmap",
@@ -939,31 +1160,46 @@ dependencies = [
  "num-traits",
  "parse_int",
  "pmbus",
+ "reedline",
  "scroll",
  "serde",
  "spd",
- "toml",
+ "toml 0.5.11",
  "trycmd",
 ]
 
 [[package]]
-name = "humility-cmd"
+name = "humility-arch-arm"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "capstone",
+ "num-derive",
+ "num-traits",
+]
+
+[[package]]
+name = "humility-cli"
 version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
- "colored",
- "hif",
  "humility-core",
- "idol",
  "indexmap",
- "log",
  "parse_int",
- "postcard",
  "serde",
  "serde_json",
- "ssmarshal",
- "zerocopy",
+]
+
+[[package]]
+name = "humility-cmd"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "humility-cli",
+ "humility-core",
+ "humility-net-core",
 ]
 
 [[package]]
@@ -972,6 +1208,7 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
 ]
@@ -984,18 +1221,48 @@ dependencies = [
  "clap",
  "colored",
  "hif",
+ "humility-cli",
  "humility-cmd",
- "humility-cmd-hiffy",
  "humility-core",
+ "humility-hiffy",
+ "humility-idol",
  "idol",
  "indicatif",
  "log",
  "parse_int",
- "regex",
  "tlvc",
- "vsc7448-info",
- "vsc7448-types",
- "zip",
+]
+
+[[package]]
+name = "humility-cmd-bankerase"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "humility-cli",
+ "humility-cmd",
+ "humility-core",
+ "humility-cortex",
+ "ihex",
+ "parse_int",
+ "path-slash",
+ "tempfile",
+]
+
+[[package]]
+name = "humility-cmd-console-proxy"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "crossbeam-channel",
+ "humility-cli",
+ "humility-cmd",
+ "humility-core",
+ "humility-hiffy",
+ "humility-idol",
+ "parse_int",
+ "termios",
 ]
 
 [[package]]
@@ -1004,13 +1271,14 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
- "crossterm",
+ "crossterm 0.20.0",
  "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-hiffy",
+ "humility-idol",
  "idol",
- "indexmap",
- "log",
  "parse_int",
  "tui",
 ]
@@ -1022,17 +1290,11 @@ dependencies = [
  "anyhow",
  "byteorder",
  "clap",
+ "humility-cli",
  "humility-cmd",
- "humility-core",
  "humility-cortex",
- "log",
- "num-derive",
- "num-traits",
  "parse_int",
  "probe-rs",
- "strum",
- "strum_macros",
- "zerocopy",
 ]
 
 [[package]]
@@ -1041,8 +1303,11 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-doppel",
+ "humility-jefe",
  "parse_int",
 ]
 
@@ -1053,10 +1318,9 @@ dependencies = [
  "anyhow",
  "cargo_metadata",
  "clap",
+ "humility-cli",
  "humility-cmd",
- "humility-core",
- "lazy_static",
- "termimad",
+ "termimad 0.21.1",
 ]
 
 [[package]]
@@ -1065,9 +1329,23 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "goblin",
+ "hubpack",
+ "humility-arch-arm",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-dump-agent",
+ "humpty",
+ "indexmap",
+ "indicatif",
  "log",
+ "lzss",
+ "num-traits",
+ "parse_int",
+ "probe-rs",
+ "zerocopy",
+ "zip",
 ]
 
 [[package]]
@@ -1076,8 +1354,8 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
- "colored",
  "csv",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
  "humility-cortex",
@@ -1091,8 +1369,9 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
- "humility-core",
+ "humility-log",
  "serde_json",
  "splitty",
 ]
@@ -1103,8 +1382,9 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
- "humility-core",
+ "humility-log",
  "zip",
 ]
 
@@ -1115,18 +1395,16 @@ dependencies = [
  "anyhow",
  "clap",
  "goblin",
+ "humility-cli",
  "humility-cmd",
  "humility-cmd-auxflash",
  "humility-core",
  "humility-cortex",
  "ihex",
- "log",
  "num-traits",
  "parse_int",
  "path-slash",
- "regex",
  "ron 0.7.1",
- "serde",
  "srec",
  "tempfile",
 ]
@@ -1138,9 +1416,9 @@ dependencies = [
  "anyhow",
  "clap",
  "ctrlc",
+ "humility-cli",
  "humility-cmd",
  "humility-cmd-openocd",
- "humility-core",
  "tempfile",
 ]
 
@@ -1151,8 +1429,9 @@ dependencies = [
  "anyhow",
  "clap",
  "hif",
+ "humility-cli",
  "humility-cmd",
- "humility-core",
+ "humility-hiffy",
  "parse_int",
 ]
 
@@ -1163,10 +1442,11 @@ dependencies = [
  "anyhow",
  "clap",
  "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-hiffy",
  "indicatif",
- "log",
  "parse_int",
  "sha2",
 ]
@@ -1178,47 +1458,62 @@ dependencies = [
  "anyhow",
  "atty",
  "clap",
- "colored",
  "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-hiffy",
+ "humility-idol",
  "idol",
  "indexmap",
  "parse_int",
 ]
 
 [[package]]
+name = "humility-cmd-host"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "humility-cli",
+ "humility-cmd",
+ "humility-core",
+ "humility-log",
+ "zerocopy",
+]
+
+[[package]]
 name = "humility-cmd-i2c"
 version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
  "hif",
+ "humility-cli",
  "humility-cmd",
- "humility-core",
+ "humility-hiffy",
+ "humility-i2c",
+ "humility-log",
  "indicatif",
- "log",
  "parse_int",
 ]
 
 [[package]]
-name = "humility-cmd-isp"
+name = "humility-cmd-ibc"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "byteorder",
  "clap",
- "crc-any",
+ "colored",
+ "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
- "humility-cortex",
- "log",
- "num-derive",
- "num-traits",
+ "humility-hiffy",
+ "humility-idol",
+ "idol",
  "parse_int",
- "serialport",
- "strum",
- "strum_macros",
+ "pmbus",
  "zerocopy",
 ]
 
@@ -1229,10 +1524,10 @@ dependencies = [
  "anyhow",
  "clap",
  "csv",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
  "humility-cortex",
- "log",
  "parse_int",
 ]
 
@@ -1242,9 +1537,10 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
- "log",
+ "humility-jefe",
  "parse_int",
 ]
 
@@ -1255,8 +1551,9 @@ dependencies = [
  "anyhow",
  "clap",
  "hif",
+ "humility-cli",
  "humility-cmd",
- "humility-core",
+ "humility-hiffy",
  "parse_int",
 ]
 
@@ -1266,8 +1563,10 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "serde_json",
 ]
 
 [[package]]
@@ -1276,6 +1575,7 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
 ]
@@ -1288,9 +1588,11 @@ dependencies = [
  "clap",
  "colored",
  "hif",
+ "humility-cli",
  "humility-cmd",
- "humility-cmd-hiffy",
  "humility-core",
+ "humility-hiffy",
+ "humility-idol",
  "idol",
  "log",
  "parse_int",
@@ -1307,9 +1609,11 @@ dependencies = [
  "clap",
  "colored",
  "hif",
+ "humility-cli",
  "humility-cmd",
- "humility-cmd-hiffy",
  "humility-core",
+ "humility-hiffy",
+ "humility-idol",
  "parse_int",
 ]
 
@@ -1320,8 +1624,8 @@ dependencies = [
  "anyhow",
  "clap",
  "ctrlc",
+ "humility-cli",
  "humility-cmd",
- "humility-core",
  "regex",
  "tempfile",
 ]
@@ -1334,8 +1638,49 @@ dependencies = [
  "clap",
  "colored",
  "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-hiffy",
+ "humility-i2c",
+ "humility-idol",
+ "humility-pmbus",
+ "indexmap",
+ "parse_int",
+ "pmbus",
+]
+
+[[package]]
+name = "humility-cmd-power"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "hif",
+ "humility-cli",
+ "humility-cmd",
+ "humility-core",
+ "humility-hiffy",
+ "humility-idol",
+ "idol",
+ "indexmap",
+ "log",
+ "parse_int",
+]
+
+[[package]]
+name = "humility-cmd-powershelf"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "hif",
+ "humility-cli",
+ "humility-cmd",
+ "humility-core",
+ "humility-hiffy",
+ "humility-idol",
+ "idol",
  "indexmap",
  "log",
  "parse_int",
@@ -1348,10 +1693,11 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-arch-arm",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
  "humility-cortex",
- "log",
  "num-traits",
 ]
 
@@ -1362,8 +1708,11 @@ dependencies = [
  "anyhow",
  "clap",
  "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-hiffy",
+ "humility-idol",
  "indicatif",
  "log",
  "parse_int",
@@ -1376,8 +1725,11 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-log",
+ "parse-size",
  "parse_int",
 ]
 
@@ -1387,19 +1739,43 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
 ]
 
 [[package]]
+name = "humility-cmd-rebootleby"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "humility-arch-arm",
+ "humility-cli",
+ "humility-cmd",
+ "humility-core",
+ "humility-cortex",
+ "ihex",
+ "log",
+ "parse_int",
+ "path-slash",
+ "probe-rs",
+ "tempfile",
+ "zip",
+]
+
+[[package]]
 name = "humility-cmd-registers"
 version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-arch-arm",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
  "humility-cortex",
+ "humility-stack",
  "num-traits",
 ]
 
@@ -1411,15 +1787,16 @@ dependencies = [
  "clap",
  "csv",
  "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-hiffy",
+ "humility-i2c",
  "idt8a3xxxx",
  "itertools",
- "log",
  "parse_int",
  "serde",
  "serde-xml-rs",
- "serde_derive",
 ]
 
 [[package]]
@@ -1428,27 +1805,37 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "colored",
  "hif",
+ "humility-cli",
  "humility-cmd",
+ "humility-cmd-spd",
  "humility-core",
+ "humility-hiffy",
+ "humility-i2c",
+ "humility-idol",
+ "humility-pmbus",
  "indicatif",
- "log",
  "num-derive",
  "num-traits",
  "parse_int",
  "pmbus",
+ "zerocopy",
 ]
 
 [[package]]
+name = "humility-cmd-repl"
+version = "0.1.0"
+
+[[package]]
 name = "humility-cmd-reset"
 version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
- "log",
- "num-traits",
 ]
 
 [[package]]
@@ -1457,9 +1844,10 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
- "log",
+ "humility-doppel",
 ]
 
 [[package]]
@@ -1470,16 +1858,37 @@ dependencies = [
  "clap",
  "colored",
  "hif",
+ "hubpack",
+ "humility-cli",
  "humility-cmd",
  "humility-cmd-hiffy",
- "humility-cmd-net",
  "humility-core",
+ "humility-doppel",
+ "humility-hiffy",
+ "humility-idol",
  "idol",
  "indexmap",
- "libc",
- "log",
  "parse_int",
- "winapi",
+ "serde",
+ "zerocopy",
+]
+
+[[package]]
+name = "humility-cmd-sbrmi"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "colored",
+ "hif",
+ "humility-cli",
+ "humility-cmd",
+ "humility-core",
+ "humility-hiffy",
+ "humility-idol",
+ "parse_int",
+ "raw-cpuid",
+ "termimad 0.21.1",
  "zerocopy",
 ]
 
@@ -1490,11 +1899,13 @@ dependencies = [
  "anyhow",
  "clap",
  "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
- "idol",
+ "humility-hiffy",
+ "humility-idol",
  "indexmap",
- "log",
+ "itertools",
  "parse_int",
 ]
 
@@ -1505,9 +1916,9 @@ dependencies = [
  "anyhow",
  "clap",
  "hif",
+ "humility-cli",
  "humility-cmd",
- "humility-core",
- "log",
+ "humility-hiffy",
  "parse_int",
 ]
 
@@ -1518,10 +1929,13 @@ dependencies = [
  "anyhow",
  "clap",
  "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-hiffy",
+ "humility-i2c",
+ "humility-log",
  "jep106",
- "log",
  "parse_int",
  "spd",
 ]
@@ -1533,9 +1947,10 @@ dependencies = [
  "anyhow",
  "clap",
  "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
- "log",
+ "humility-hiffy",
  "parse_int",
 ]
 
@@ -1545,6 +1960,7 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
 ]
@@ -1555,6 +1971,8 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-arch-arm",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
  "parse_int",
@@ -1566,11 +1984,15 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
- "colored",
+ "humility-arch-arm",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-doppel",
+ "humility-stack",
  "log",
  "num-traits",
+ "parse_int",
 ]
 
 [[package]]
@@ -1579,20 +2001,45 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "colored",
+ "hif",
+ "humility-cli",
  "humility-cmd",
+ "humility-cmd-tasks",
  "humility-core",
  "humility-cortex",
+ "humility-hiffy",
+ "parse_int",
 ]
 
 [[package]]
-name = "humility-cmd-trace"
+name = "humility-cmd-tofino-eeprom"
 version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
- "humility-cortex",
+ "humility-hiffy",
+ "humility-idol",
+ "indicatif",
+ "parse_int",
+]
+
+[[package]]
+name = "humility-cmd-update"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "humility-cli",
+ "humility-cmd",
+ "humility-hiffy",
+ "humility-idol",
+ "humility-log",
+ "indicatif",
+ "parse_int",
 ]
 
 [[package]]
@@ -1603,11 +2050,13 @@ dependencies = [
  "clap",
  "colored",
  "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-hiffy",
+ "humility-i2c",
+ "humility-idol",
  "idol",
- "indexmap",
- "log",
  "parse_int",
 ]
 
@@ -1617,48 +2066,74 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "clap",
- "colored",
  "hif",
+ "humility-cli",
  "humility-cmd",
  "humility-core",
+ "humility-hiffy",
+ "humility-idol",
  "idol",
  "indexmap",
  "indicatif",
- "log",
  "parse_int",
+ "ron 0.7.1",
+ "serde",
  "tlvc",
  "tlvc-text",
  "zerocopy",
 ]
 
 [[package]]
+name = "humility-cmd-writeword"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "humility-cli",
+ "humility-cmd",
+ "humility-core",
+ "parse-size",
+ "parse_int",
+]
+
+[[package]]
 name = "humility-core"
 version = "0.1.0"
 dependencies = [
  "anyhow",
  "bitfield",
  "capstone",
- "colored",
+ "clap",
  "fallible-iterator",
  "gimli 0.22.0",
  "goblin",
+ "hubpack",
+ "humility-arch-arm",
+ "humility-log",
  "humility_load_derive",
+ "humpty",
  "idol",
  "indexmap",
  "indicatif",
+ "libc",
  "log",
  "multimap",
  "num-derive",
  "num-traits",
  "parse_int",
  "probe-rs",
+ "rayon",
  "regex",
+ "ron 0.7.1",
  "rusb",
  "rustc-demangle",
  "scroll",
  "serde",
- "ssmarshal",
- "toml",
+ "serde_json",
+ "thiserror",
+ "toml 0.5.11",
+ "winapi",
+ "zerocopy",
  "zip",
 ]
 
@@ -1678,12 +2153,158 @@ dependencies = [
 ]
 
 [[package]]
+name = "humility-doppel"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "humility-core",
+ "zerocopy",
+]
+
+[[package]]
+name = "humility-dump-agent"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "hif",
+ "hubpack",
+ "humility-arch-arm",
+ "humility-core",
+ "humility-hiffy",
+ "humility-idol",
+ "humpty",
+ "indexmap",
+ "indicatif",
+ "lzss",
+ "num-traits",
+ "rand",
+ "zerocopy",
+]
+
+[[package]]
+name = "humility-hiffy"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "hif",
+ "humility-core",
+ "humility-doppel",
+ "humility-idol",
+ "idol",
+ "parse_int",
+ "postcard",
+ "zerocopy",
+]
+
+[[package]]
+name = "humility-i2c"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "humility-core",
+ "parse_int",
+]
+
+[[package]]
+name = "humility-idol"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "hubpack",
+ "humility-core",
+ "idol",
+ "indexmap",
+ "parse_int",
+ "serde",
+]
+
+[[package]]
+name = "humility-jefe"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "humility-core",
+]
+
+[[package]]
+name = "humility-log"
+version = "0.1.0"
+dependencies = [
+ "colored",
+ "log",
+]
+
+[[package]]
+name = "humility-net-core"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "humility-arch-arm",
+ "humility-core",
+ "humility-dump-agent",
+ "humpty",
+]
+
+[[package]]
+name = "humility-pmbus"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "humility-core",
+]
+
+[[package]]
+name = "humility-stack"
+version = "0.1.0"
+dependencies = [
+ "humility-arch-arm",
+ "humility-core",
+]
+
+[[package]]
 name = "humility_load_derive"
 version = "0.1.0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "humpty"
+version = "0.1.3"
+source = "git+https://github.com/oxidecomputer/humpty#f6871f6d8844c3d2ee09c467f50b9f186652cb41"
+dependencies = [
+ "hubpack",
+ "lzss",
+ "serde",
+ "serde-big-array",
+ "static_assertions",
+ "zerocopy",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
+dependencies = [
+ "cxx",
+ "cxx-build",
 ]
 
 [[package]]
@@ -1694,14 +2315,14 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idol"
-version = "0.2.0"
-source = "git+https://github.com/oxidecomputer/idolatry.git#994077e3ecff3ec6df15c082fc4f810cf27c97f2"
+version = "0.3.0"
+source = "git+https://github.com/oxidecomputer/idolatry.git#f2396893e786d4bfa75212312908198b8d6a5310"
 dependencies = [
  "indexmap",
  "quote",
- "ron 0.7.1",
+ "ron 0.8.0",
  "serde",
- "toml",
+ "toml 0.7.3",
 ]
 
 [[package]]
@@ -1722,9 +2343,9 @@ checksum = "365a784774bb381e8c19edb91190a90d7f2625e057b55de2bc0f6b57bc779ff2"
 
 [[package]]
 name = "indexmap"
-version = "1.9.1"
+version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
 dependencies = [
  "autocfg",
  "hashbrown",
@@ -1753,25 +2374,42 @@ dependencies = [
 ]
 
 [[package]]
-name = "itertools"
-version = "0.10.3"
+name = "io-lifetimes"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
+checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
 dependencies = [
- "either",
+ "hermit-abi 0.3.1",
+ "libc",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "itoa"
-version = "0.4.8"
+name = "is-terminal"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
+checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
+dependencies = [
+ "hermit-abi 0.3.1",
+ "io-lifetimes",
+ "rustix",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
 
 [[package]]
 name = "itoa"
-version = "1.0.2"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
+checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
 
 [[package]]
 name = "jaylink"
@@ -1779,7 +2417,7 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3f58b72b6aa9d25083b8c19d292fe015a936185fa200d15e225e1524a18222e9"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "byteorder",
  "log",
  "rusb",
@@ -1787,50 +2425,48 @@ dependencies = [
 
 [[package]]
 name = "jep106"
-version = "0.2.6"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e80f965a2a659a7a4d9cdb9821a869d6e33c10f3e094e8f7d01648063c425953"
+checksum = "ff93b33ae176e47fe588708ff6a4cccae22bd369b81c2d26d2179a8d41c0a0b0"
 dependencies = [
  "serde",
 ]
 
 [[package]]
-name = "lazy_static"
-version = "1.4.0"
+name = "jobserver"
+version = "0.1.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+dependencies = [
+ "libc",
+]
 
 [[package]]
-name = "libc"
-version = "0.2.126"
+name = "js-sys"
+version = "0.3.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
+dependencies = [
+ "wasm-bindgen",
+]
 
 [[package]]
-name = "libm"
-version = "0.2.2"
+name = "lazy_static"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33a33a362ce288760ec6a508b94caaec573ae7d3bbbd91b87aa0bad4456839db"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
-name = "libudev"
-version = "0.3.0"
+name = "libc"
+version = "0.2.142"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78b324152da65df7bb95acfcaab55e3097ceaab02fb19b228a9eb74d55f135e0"
-dependencies = [
- "libc",
- "libudev-sys",
-]
+checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317"
 
 [[package]]
-name = "libudev-sys"
-version = "0.1.4"
+name = "libm"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324"
-dependencies = [
- "libc",
- "pkg-config",
-]
+checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb"
 
 [[package]]
 name = "libusb1-sys"
@@ -1844,16 +2480,31 @@ dependencies = [
 ]
 
 [[package]]
+name = "link-cplusplus"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
+dependencies = [
+ "cc",
+]
+
+[[package]]
 name = "linked-hash-map"
-version = "0.5.4"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
+checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b085a4f2cde5781fc4b1717f2e86c62f5cda49de7ba99a7c2eae02b61c9064c"
 
 [[package]]
 name = "lock_api"
-version = "0.4.7"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -1869,21 +2520,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "mach"
-version = "0.1.2"
+name = "lzss"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fd13ee2dd61cc82833ba05ade5a30bb3d63f7ced605ef827063c63078302de9"
+checksum = "39e2b9a6124e5200c13bb5c5d1124bf93b451bff69b651912810039e36ca97eb"
 dependencies = [
- "libc",
-]
-
-[[package]]
-name = "mach2"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8"
-dependencies = [
- "libc",
+ "void",
 ]
 
 [[package]]
@@ -1894,27 +2536,36 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
 
 [[package]]
 name = "memoffset"
-version = "0.6.5"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "minimad"
-version = "0.8.0"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8957f240ecb82a4e699bcf4db189fe8a7f5aa68b9e6d5abf829c62a9ee4630ed"
+checksum = "fed1b13e2000bd8e238d97a97de6fc30224f89a08b0aa5aaa09ed1bd68ba2fa1"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "minimad"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38b136454924e4d020e55c4992e07c105b40d5c41b84662862f0e15bc0a2efef"
 dependencies = [
  "once_cell",
 ]
 
 [[package]]
 name = "miniz_oxide"
-version = "0.5.3"
+version = "0.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
+checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
 dependencies = [
  "adler",
 ]
@@ -1933,6 +2584,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "mio"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+dependencies = [
+ "libc",
+ "log",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
 name = "miow"
 version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1951,29 +2614,15 @@ dependencies = [
 ]
 
 [[package]]
-name = "nb"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f"
-dependencies = [
- "nb 1.0.0",
-]
-
-[[package]]
-name = "nb"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "546c37ac5d9e56f55e73b677106873d9d9f5190605e41a856503623648488cae"
-
-[[package]]
 name = "nix"
-version = "0.24.1"
+version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f17df307904acd05aa8e32e97bb20f2a0df1728bbc2d771ae8f9a90463441e9"
+checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if",
  "libc",
+ "static_assertions",
 ]
 
 [[package]]
@@ -1992,6 +2641,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
 name = "num-derive"
 version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1999,7 +2658,17 @@ checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
 ]
 
 [[package]]
@@ -2013,11 +2682,11 @@ dependencies = [
 
 [[package]]
 name = "num_cpus"
-version = "1.13.1"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
 dependencies = [
- "hermit-abi",
+ "hermit-abi 0.2.6",
  "libc",
 ]
 
@@ -2038,34 +2707,46 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.28.4"
+version = "0.30.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424"
+checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.12.0"
+version = "1.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+
+[[package]]
+name = "opaque-debug"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225"
+checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
 name = "os_pipe"
-version = "1.0.1"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c92f2b54f081d635c77e7120862d48db8e91f7f21cef23ab1b4fe9971c59f55"
+checksum = "a53dbb20faf34b16087a931834cba2d7a73cc74af2b7ef345a4c8324e2409a12"
 dependencies = [
  "libc",
- "winapi",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
 name = "os_str_bytes"
-version = "6.1.0"
+version = "6.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21326818e99cfe6ce1e524c2a805c189a99b5ae555a35d19f9a284b427d86afa"
+checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 
 [[package]]
 name = "parking_lot"
@@ -2075,24 +2756,53 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
 dependencies = [
  "instant",
  "lock_api",
- "parking_lot_core",
+ "parking_lot_core 0.8.6",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core 0.9.7",
 ]
 
 [[package]]
 name = "parking_lot_core"
-version = "0.8.5"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
+checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
 dependencies = [
  "cfg-if",
  "instant",
  "libc",
- "redox_syscall",
+ "redox_syscall 0.2.16",
  "smallvec",
  "winapi",
 ]
 
 [[package]]
+name = "parking_lot_core"
+version = "0.9.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall 0.2.16",
+ "smallvec",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "parse-size"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "944553dd59c802559559161f9816429058b869003836120e262e8caec061b7ae"
+
+[[package]]
 name = "parse_int"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2102,6 +2812,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "password-hash"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700"
+dependencies = [
+ "base64ct",
+ "rand_core",
+ "subtle",
+]
+
+[[package]]
 name = "paste"
 version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2122,24 +2843,37 @@ dependencies = [
 
 [[package]]
 name = "path-slash"
-version = "0.1.4"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "498a099351efa4becc6a19c72aa9270598e8fd274ca47052e37455241c88b696"
+
+[[package]]
+name = "pbkdf2"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cacbb3c4ff353b534a67fb8d7524d00229da4cb1dc8c79f4db96e375ab5b619"
+checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
+dependencies = [
+ "digest",
+ "hmac",
+ "password-hash",
+ "sha2",
+]
 
 [[package]]
 name = "pest"
-version = "2.1.3"
+version = "2.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"
+checksum = "7b1403e8401ad5dedea73c626b99758535b342502f8d1e361f4a2dd952749122"
 dependencies = [
+ "thiserror",
  "ucd-trie",
 ]
 
 [[package]]
 name = "pkg-config"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
 
 [[package]]
 name = "pkg-version"
@@ -2169,14 +2903,14 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
 [[package]]
 name = "pmbus"
 version = "0.1.0"
-source = "git+https://github.com/oxidecomputer/pmbus#5ede5b7d35ece31a5e05fef9de1840f29a1435ba"
+source = "git+https://github.com/oxidecomputer/pmbus#5af447d53a4bc863b7e0700cee23cbf89da39cd5"
 dependencies = [
  "anyhow",
  "convert_case",
  "libm",
  "num-derive",
  "num-traits",
- "ron 0.6.6",
+ "ron 0.8.0",
  "serde",
  "serde_with",
 ]
@@ -2199,9 +2933,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7c68cb38ed13fd7bc9dd5db8f165b7c8d9c1a315104083a2b10f11354c2af97f"
 
 [[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
 name = "probe-rs"
 version = "0.12.0"
-source = "git+https://github.com/oxidecomputer/probe-rs.git?branch=oxide-v0.12.0#6ff8fae61fb1e74c87d2ba160071b1989ca64bba"
+source = "git+https://github.com/oxidecomputer/probe-rs.git?branch=oxide-v0.12.0#078eafb444c4e03fa7d41c7273264d00564210ce"
 dependencies = [
  "anyhow",
  "base64",
@@ -2209,7 +2949,7 @@ dependencies = [
  "bitfield",
  "bitvec",
  "enum-primitive-derive",
- "gimli 0.26.1",
+ "gimli 0.26.2",
  "hidapi",
  "ihex",
  "jaylink",
@@ -2232,7 +2972,7 @@ dependencies = [
 [[package]]
 name = "probe-rs-target"
 version = "0.12.0"
-source = "git+https://github.com/oxidecomputer/probe-rs.git?branch=oxide-v0.12.0#6ff8fae61fb1e74c87d2ba160071b1989ca64bba"
+source = "git+https://github.com/oxidecomputer/probe-rs.git?branch=oxide-v0.12.0#078eafb444c4e03fa7d41c7273264d00564210ce"
 dependencies = [
  "base64",
  "jep106",
@@ -2248,7 +2988,7 @@ dependencies = [
  "proc-macro-error-attr",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
  "version_check",
 ]
 
@@ -2265,51 +3005,92 @@ dependencies = [
 
 [[package]]
 name = "proc-macro-hack"
-version = "0.5.19"
+version = "0.5.20+deprecated"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.40"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
+checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.20"
+version = "1.0.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "radium"
-version = "0.6.2"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "raw-cpuid"
+version = "11.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1782673f85471a9985c2210df529a11853c89567511fab7ebf14e10853cba849"
+dependencies = [
+ "bitflags 2.1.0",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "termimad 0.23.0",
+]
 
 [[package]]
 name = "rayon"
-version = "1.5.3"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d"
+checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
 dependencies = [
- "autocfg",
- "crossbeam-deque",
  "either",
  "rayon-core",
 ]
 
 [[package]]
 name = "rayon-core"
-version = "1.9.3"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f"
+checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
 dependencies = [
  "crossbeam-channel",
  "crossbeam-deque",
@@ -2319,65 +3100,58 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.13"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
-name = "regex"
-version = "1.5.6"
+name = "redox_syscall"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
-name = "regex-automata"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64"
-
-[[package]]
-name = "remove_dir_all"
-version = "0.5.3"
+name = "reedline"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+checksum = "5559b5ab4817b0da0c6fc6814edfae537209e01d955a2f3e7595606e3d039691"
 dependencies = [
- "winapi",
+ "chrono",
+ "crossterm 0.24.0",
+ "fd-lock",
+ "itertools",
+ "nu-ansi-term",
+ "serde",
+ "strip-ansi-escapes",
+ "strum",
+ "strum_macros",
+ "thiserror",
+ "unicode-segmentation",
+ "unicode-width",
 ]
 
 [[package]]
-name = "riscv"
-version = "0.7.0"
+name = "regex"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6907ccdd7a31012b70faf2af85cd9e5ba97657cc3987c4f13f8e4d2c2a088aba"
+checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
 dependencies = [
- "bare-metal 1.0.0",
- "bit_field",
- "riscv-target",
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
 ]
 
 [[package]]
-name = "riscv-target"
-version = "0.1.2"
+name = "regex-syntax"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88aa938cda42a0cf62a20cfe8d139ff1af20c2e681212b5b34adb5a58333f222"
-dependencies = [
- "lazy_static",
- "regex",
-]
+checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
 
 [[package]]
 name = "ron"
@@ -2386,7 +3160,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "86018df177b1beef6c7c8ef949969c4f7cb9a9344181b92486b23c79995bdaa4"
 dependencies = [
  "base64",
- "bitflags",
+ "bitflags 1.3.2",
  "serde",
 ]
 
@@ -2397,7 +3171,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "88073939a61e5b7680558e6be56b419e208420c2adb92be54921fa6b72283f1a"
 dependencies = [
  "base64",
- "bitflags",
+ "bitflags 1.3.2",
  "serde",
 ]
 
@@ -2408,7 +3182,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "300a51053b1cb55c80b7a9fde4120726ddf25ca241a1cbb926626f62fb136bff"
 dependencies = [
  "base64",
- "bitflags",
+ "bitflags 1.3.2",
  "serde",
 ]
 
@@ -2424,33 +3198,44 @@ dependencies = [
 
 [[package]]
 name = "rustc-demangle"
-version = "0.1.21"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
 
 [[package]]
 name = "rustc_version"
-version = "0.2.3"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
 dependencies = [
- "semver 0.9.0",
+ "semver 1.0.17",
 ]
 
 [[package]]
-name = "rustc_version"
-version = "0.4.0"
+name = "rustix"
+version = "0.37.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+checksum = "f79bef90eb6d984c72722595b5b1348ab39275a5e5123faca6863bf07d75a4e0"
 dependencies = [
- "semver 1.0.10",
+ "bitflags 1.3.2",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
+name = "rustversion"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
+
+[[package]]
 name = "ryu"
-version = "1.0.10"
+version = "1.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
+checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
 
 [[package]]
 name = "same-file"
@@ -2468,6 +3253,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
 
 [[package]]
+name = "scratch"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1"
+
+[[package]]
 name = "scroll"
 version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2484,16 +3275,7 @@ checksum = "aaaae8f38bb311444cfb7f1979af0bc9240d95795f75f9ceddf6a59b79ceffa0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
-]
-
-[[package]]
-name = "semver"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-dependencies = [
- "semver-parser 0.7.0",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -2502,21 +3284,15 @@ version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
 dependencies = [
- "semver-parser 0.10.2",
+ "semver-parser",
  "serde",
 ]
 
 [[package]]
 name = "semver"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a41d061efea015927ac527063765e73601444cdc344ba855bc7bd44578b25e1c"
-
-[[package]]
-name = "semver-parser"
-version = "0.7.0"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
 
 [[package]]
 name = "semver-parser"
@@ -2529,14 +3305,23 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.137"
+version = "1.0.160"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1"
+checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
+name = "serde-big-array"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "serde-xml-rs"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2550,27 +3335,36 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.137"
+version = "1.0.160"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be"
+checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.15",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.81"
+version = "1.0.96"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c"
+checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
 dependencies = [
- "itoa 1.0.2",
+ "itoa",
  "ryu",
  "serde",
 ]
 
 [[package]]
+name = "serde_spanned"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "serde_with"
 version = "1.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2589,14 +3383,14 @@ dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "serde_yaml"
-version = "0.8.24"
+version = "0.8.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "707d15895415db6628332b737c838b88c598522e4dc70647e59b72312924aebc"
+checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b"
 dependencies = [
  "indexmap",
  "ryu",
@@ -2605,26 +3399,21 @@ dependencies = [
 ]
 
 [[package]]
-name = "serialport"
-version = "4.2.1-alpha.0"
-source = "git+https://github.com/jgallagher/serialport-rs?branch=illumos-support#36c9f0e0292eac32215ab77c5847bf7afb13f000"
+name = "sha1"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
 dependencies = [
- "CoreFoundation-sys",
- "IOKit-sys",
- "bitflags",
  "cfg-if",
- "libudev",
- "mach2",
- "nix",
- "regex",
- "winapi",
+ "cpufeatures",
+ "digest",
 ]
 
 [[package]]
 name = "sha2"
-version = "0.10.2"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676"
+checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -2639,9 +3428,9 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
 
 [[package]]
 name = "signal-hook"
-version = "0.3.14"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d"
+checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
 dependencies = [
  "libc",
  "signal-hook-registry",
@@ -2654,41 +3443,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
 dependencies = [
  "libc",
- "mio",
+ "mio 0.7.14",
+ "mio 0.8.6",
  "signal-hook",
 ]
 
 [[package]]
 name = "signal-hook-registry"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "similar"
-version = "2.1.0"
+version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e24979f63a11545f5f2c60141afe249d4f19f84581ea2138065e400941d83d3"
+checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf"
 
 [[package]]
 name = "smallvec"
-version = "1.8.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
 
 [[package]]
 name = "snapbox"
-version = "0.2.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "767a1d5da232b6959cd1bd5c9e8db8a7cce09c3038e89deedb49a549a2aefd93"
+checksum = "f6bccd62078347f89a914e3004d94582e13824d4e3d8a816317862884c423835"
 dependencies = [
- "concolor",
+ "anstream",
+ "anstyle",
  "content_inspector",
  "dunce",
  "filetime",
+ "libc",
  "normalize-line-endings",
  "os_pipe",
  "similar",
@@ -2696,14 +3488,17 @@ dependencies = [
  "tempfile",
  "wait-timeout",
  "walkdir",
- "yansi",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
 name = "snapbox-macros"
-version = "0.2.1"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c01dea7e04cbb27ef4c86e9922184608185f7cd95c1763bc30d727cda4a5e930"
+checksum = "eaaf09df9f0eeae82be96290918520214530e738a7fe5a351b0f24cf77c0ca31"
+dependencies = [
+ "anstream",
+]
 
 [[package]]
 name = "spd"
@@ -2716,9 +3511,9 @@ dependencies = [
 
 [[package]]
 name = "spin"
-version = "0.9.3"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c530c2b0d0bf8b69304b39fe2001993e267461948b890cd037d8ad4293fa1a0d"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
 dependencies = [
  "lock_api",
 ]
@@ -2736,16 +3531,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "17c3a0538ec242e3cd333cdcdc8b720faa2fa0a9d7f444cf1ff63e7d3303adfb"
 
 [[package]]
-name = "ssmarshal"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3e6ad23b128192ed337dfa4f1b8099ced0c2bf30d61e551b65fda5916dbb850"
-dependencies = [
- "encode_unicode",
- "serde",
-]
-
-[[package]]
 name = "stable_deref_trait"
 version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2758,6 +3543,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
+name = "strip-ansi-escapes"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8"
+dependencies = [
+ "vte",
+]
+
+[[package]]
 name = "strsim"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2765,33 +3559,40 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
 name = "strum"
-version = "0.22.0"
+version = "0.24.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e"
+checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
 
 [[package]]
 name = "strum_macros"
-version = "0.22.0"
+version = "0.24.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb"
+checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
 dependencies = [
- "heck 0.3.3",
+ "heck",
  "proc-macro2",
  "quote",
- "syn",
+ "rustversion",
+ "syn 1.0.109",
 ]
 
 [[package]]
+name = "subtle"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+
+[[package]]
 name = "svg"
-version = "0.10.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e72d8b19ab05827afefcca66bf47040c1e66a0901eb814784c77d4ec118bd309"
+checksum = "02d815ad337e8449d2374d4248448645edfe74e699343dd5719139d93fa87112"
 
 [[package]]
 name = "syn"
-version = "1.0.98"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2799,15 +3600,14 @@ dependencies = [
 ]
 
 [[package]]
-name = "synstructure"
-version = "0.12.6"
+name = "syn"
+version = "2.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
+checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
- "unicode-xid",
+ "unicode-ident",
 ]
 
 [[package]]
@@ -2818,74 +3618,87 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
 
 [[package]]
 name = "tempfile"
-version = "3.3.0"
+version = "3.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
+checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
 dependencies = [
  "cfg-if",
  "fastrand",
- "libc",
- "redox_syscall",
- "remove_dir_all",
- "winapi",
+ "redox_syscall 0.3.5",
+ "rustix",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
 name = "termcolor"
-version = "1.1.3"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
 name = "termimad"
-version = "0.14.3"
+version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1ea6e542eaec310898d8ba84e5dbda91e95b27e5e023722f0140ca57d72136e"
+checksum = "8743d628f9b0eb33087c1e1c4915d91efca23ae69f7c81981489128a0e17d300"
 dependencies = [
+ "coolor",
  "crossbeam",
- "crossterm",
- "minimad",
+ "crossterm 0.23.2",
+ "minimad 0.10.0",
  "thiserror",
  "unicode-width",
 ]
 
 [[package]]
-name = "terminal_size"
-version = "0.1.17"
+name = "termimad"
+version = "0.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df"
+checksum = "749b18b17745261a883ab334d931adffc8c5e07e71c73a861e77124557e7b41f"
+dependencies = [
+ "coolor",
+ "crossbeam",
+ "crossterm 0.23.2",
+ "minimad 0.12.0",
+ "thiserror",
+ "unicode-width",
+]
+
+[[package]]
+name = "termios"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b"
 dependencies = [
  "libc",
- "winapi",
 ]
 
 [[package]]
 name = "textwrap"
-version = "0.15.0"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb"
+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
 
 [[package]]
 name = "thiserror"
-version = "1.0.31"
+version = "1.0.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a"
+checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.31"
+version = "1.0.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a"
+checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.15",
 ]
 
 [[package]]
@@ -2896,19 +3709,35 @@ checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820"
 
 [[package]]
 name = "time"
-version = "0.1.44"
+version = "0.1.45"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
 dependencies = [
  "libc",
- "wasi",
+ "wasi 0.10.0+wasi-snapshot-preview1",
  "winapi",
 ]
 
 [[package]]
-name = "tlvc"
+name = "time"
+version = "0.3.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
+dependencies = [
+ "serde",
+ "time-core",
+]
+
+[[package]]
+name = "time-core"
 version = "0.1.0"
-source = "git+https://github.com/oxidecomputer/tlvc#4287f4b7cecb42617342f913dbd8ced40eb79646"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+
+[[package]]
+name = "tlvc"
+version = "0.2.0"
+source = "git+https://github.com/oxidecomputer/tlvc#533f0bf26b0a8f32d287af4f2ea09320bc05c2cd"
 dependencies = [
  "byteorder",
  "crc",
@@ -2918,7 +3747,7 @@ dependencies = [
 [[package]]
 name = "tlvc-text"
 version = "0.1.0"
-source = "git+https://github.com/oxidecomputer/tlvc#2643765eb7775d1f5e8ec56910f1ab15e9c75170"
+source = "git+https://github.com/oxidecomputer/tlvc#533f0bf26b0a8f32d287af4f2ea09320bc05c2cd"
 dependencies = [
  "ron 0.8.0",
  "serde",
@@ -2928,9 +3757,29 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.5.9"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
+checksum = "b403acf6f2bb0859c93c7f0d967cb4a75a7ac552100f9322faf64dc047669b21"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
 dependencies = [
  "serde",
 ]
@@ -2949,9 +3798,9 @@ dependencies = [
 
 [[package]]
 name = "trycmd"
-version = "0.13.4"
+version = "0.13.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb4185126cc904642173a54c185083f410c86d1202ada6761aacf7c40829f13"
+checksum = "a5377b33cbe8bb69d97da63e2a2266065a642a47cc9bb3d783c28279d0029fea"
 dependencies = [
  "glob",
  "humantime",
@@ -2969,54 +3818,48 @@ version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "39c8ce4e27049eed97cfa363a5048b09d995e209994634a0efc26a14ab6c0c23"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cassowary",
- "crossterm",
+ "crossterm 0.20.0",
  "unicode-segmentation",
  "unicode-width",
 ]
 
 [[package]]
 name = "typenum"
-version = "1.15.0"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
 
 [[package]]
 name = "ucd-trie"
-version = "0.1.3"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
+checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.1"
+version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
+checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.9.0"
+version = "1.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.3"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
 
 [[package]]
-name = "vcell"
-version = "0.1.3"
+name = "utf8parse"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77439c1b53d2303b20d9459b1ade71a83c716e3f9c34f3228c00e6f185d6c002"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "vcpkg"
@@ -3037,15 +3880,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
 
 [[package]]
-name = "volatile-register"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ee8f19f9d74293faf70901bc20ad067dc1ad390d2cbf1e3f75f721ffee908b6"
-dependencies = [
- "vcell",
-]
-
-[[package]]
 name = "vsc7448-info"
 version = "0.1.0"
 source = "git+https://github.com/oxidecomputer/vsc7448.git#a9e71588498885e9a77282186f2bb576812f1af2"
@@ -3067,6 +3901,27 @@ dependencies = [
 ]
 
 [[package]]
+name = "vte"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983"
+dependencies = [
+ "arrayvec",
+ "utf8parse",
+ "vte_generate_state_changes",
+]
+
+[[package]]
+name = "vte_generate_state_changes"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
+dependencies = [
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
 name = "wait-timeout"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3077,12 +3932,11 @@ dependencies = [
 
 [[package]]
 name = "walkdir"
-version = "2.3.2"
+version = "2.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
+checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
 dependencies = [
  "same-file",
- "winapi",
  "winapi-util",
 ]
 
@@ -3093,6 +3947,66 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
 
 [[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
+
+[[package]]
 name = "winapi"
 version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3124,10 +4038,166 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
+name = "windows"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+dependencies = [
+ "windows-targets 0.48.0",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+
+[[package]]
 name = "wyz"
-version = "0.4.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "129e027ad65ce1453680623c3fb5163cbf7107bfe1aa32257e7d0e63f9ced188"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
 dependencies = [
  "tap",
 ]
@@ -3157,12 +4227,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "yansi"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
-
-[[package]]
 name = "zerocopy"
 version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3174,25 +4238,61 @@ dependencies = [
 
 [[package]]
 name = "zerocopy-derive"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0fbc82b82efe24da867ee52e015e58178684bd9dd64c34e66bdf21da2582a9f"
+checksum = "6505e6815af7de1746a08f69c69606bb45695a17149517680f3b2149713b19a3"
 dependencies = [
  "proc-macro2",
- "syn",
- "synstructure",
+ "quote",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "zip"
-version = "0.5.13"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815"
+checksum = "0445d0fbc924bb93539b4316c11afb121ea39296f99a3c4c9edad09e3658cdef"
 dependencies = [
+ "aes",
  "byteorder",
  "bzip2",
+ "constant_time_eq",
  "crc32fast",
+ "crossbeam-utils",
  "flate2",
- "thiserror",
- "time",
+ "hmac",
+ "pbkdf2",
+ "sha1",
+ "time 0.3.20",
+ "zstd",
+]
+
+[[package]]
+name = "zstd"
+version = "0.11.2+zstd.1.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
+dependencies = [
+ "zstd-safe",
+]
+
+[[package]]
+name = "zstd-safe"
+version = "5.0.2+zstd.1.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
+dependencies = [
+ "libc",
+ "zstd-sys",
+]
+
+[[package]]
+name = "zstd-sys"
+version = "2.0.8+zstd.1.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
 ]
diff --git a/nixpkgs/pkgs/development/tools/rust/humility/default.nix b/nixpkgs/pkgs/development/tools/rust/humility/default.nix
index 9bb9cdaacbd0..399d9dcf41b3 100644
--- a/nixpkgs/pkgs/development/tools/rust/humility/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/humility/default.nix
@@ -11,7 +11,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "humility";
-  version = "unstable-2022-09-15";
+  version = "unstable-2023-11-08";
 
   nativeBuildInputs = [ pkg-config cargo-readme ];
   buildInputs = [ libusb1 libftdi ] ++ lib.optionals stdenv.isDarwin [
@@ -21,8 +21,8 @@ rustPlatform.buildRustPackage rec {
   src = fetchFromGitHub {
     owner = "oxidecomputer";
     repo = pname;
-    rev = "d336c21c7b6da7f8203a9331c7657581de2bc6ad";
-    sha256 = "sha256-yW7QcxTWbL2YsV2bvfhbqQ2nawlPQbYxBfIGCWo28GY=";
+    rev = "67d932edde8b32c11e5d6356a54e97d65f7b9b2b";
+    sha256 = "sha256-3EVNlOAVfx/wUFn83VBKs1N5PanS4jVADUPlhCIok5M=";
   };
 
   cargoLock = {
@@ -31,15 +31,14 @@ rustPlatform.buildRustPackage rec {
       "capstone-0.10.0" = "sha256-x0p005W6u3QsTKRupj9HEg+dZB3xCXlKb9VCKv+LJ0U=";
       "hidapi-1.4.1" = "sha256-2SBQu94ArGGwPU3wJYV0vwwVOXMCCq+jbeBHfKuE+pA=";
       "hif-0.3.1" = "sha256-o3r1akaSARfqIzuP86SJc6/s0b2PIkaZENjYO3DPAUo=";
-      "idol-0.2.0" = "sha256-T4wxeSTH2tFBR8L5wL5a0gLDfcRLpALyGBE0dYNQwLI=";
+      "humpty-0.1.3" = "sha256-efeb+RaAjQs9XU3KkfVo8mVK2dGyv+2xFKSVKS0vyTc=";
+      "idol-0.3.0" = "sha256-s6ZM/EyBE1eOySPah5GtT0/l7RIQKkeUPybMmqUpmt8=";
       "idt8a3xxxx-0.1.0" = "sha256-S36fS9hYTIn57Tt9msRiM7OFfujJEf8ED+9R9p0zgK4=";
       "libusb1-sys-0.5.0" = "sha256-7Bb1lpZvCb+OrKGYiD6NV+lMJuxFbukkRXsufaro5OQ=";
-      "pmbus-0.1.0" = "sha256-KBc7gFwrN1jv1HXygda7qE3ZYNWAO10Wl3X6alc2JOE=";
-      "probe-rs-0.12.0" = "sha256-L2kQNAdSvv5x1goELuy3pZZzmoUDc4tMX3OJ7A5rAD0=";
-      "serialport-4.2.1-alpha.0" = "sha256-a2A2rKll2RTSyvohqRUSQ4Sw6puJdlTZoof5rePxPVE=";
+      "pmbus-0.1.0" = "sha256-20peEHZl6aXcLhw/OWb4RHAXWRNqoMcDXXglwNP+Gpc=";
+      "probe-rs-0.12.0" = "sha256-/L+85K6uxzUmz/TlLLFbMlyekoXC/ClO33EQ/yYjQKU=";
       "spd-0.1.0" = "sha256-X6XUx+huQp77XF5EZDYYqRqaHsdDSbDMK8qcuSGob3E=";
-      "tlvc-0.1.0" = "sha256-SKaVDKFUveZ/iSbKUrVbFIbni7HxCZG4P7fZxkBxY1k=";
-      "tlvc-text-0.1.0" = "sha256-uHPPyc3Ns5L1/EFNCzH8eBEoqLlJoqguZxwNCNxfM6Q=";
+      "tlvc-0.2.0" = "sha256-HiqDRqmKOTxz6UQSXNMOZdWdc5W+cFGuKBkNrqFvIIE=";
       "vsc7448-info-0.1.0" = "sha256-otNLdfGIzuyu03wEb7tzhZVVMdS0of2sU/AKSNSsoho=";
     };
   };
diff --git a/nixpkgs/pkgs/development/tools/unityhub/default.nix b/nixpkgs/pkgs/development/tools/unityhub/default.nix
index 1f3f0765db2b..c8c510553138 100644
--- a/nixpkgs/pkgs/development/tools/unityhub/default.nix
+++ b/nixpkgs/pkgs/development/tools/unityhub/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unityhub";
-  version = "3.5.2";
+  version = "3.6.1";
 
   src = fetchurl {
     url = "https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local/pool/main/u/unity/unityhub_amd64/unityhub-amd64-${version}.deb";
-    sha256 = "sha256-MiehcBs+Egfen7MzkzzWxLuTrWrHkqIj1y47sPI3Y74=";
+    sha256 = "sha256-rpH87aFvbYanthwPw/SlluOH/rtj6owcVetBD4+TJeU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/web/bun/default.nix b/nixpkgs/pkgs/development/web/bun/default.nix
index f0f8a3454550..01496458182f 100644
--- a/nixpkgs/pkgs/development/web/bun/default.nix
+++ b/nixpkgs/pkgs/development/web/bun/default.nix
@@ -12,7 +12,7 @@
 }:
 
 stdenvNoCC.mkDerivation rec {
-  version = "1.0.11";
+  version = "1.0.12";
   pname = "bun";
 
   src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
@@ -51,19 +51,19 @@ stdenvNoCC.mkDerivation rec {
     sources = {
       "aarch64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip";
-        hash = "sha256-yZp/AFlOVRtZ60865utrtVv0zlerwFMhpqBh26WnfL8=";
+        hash = "sha256-tGQQEEPBrMx3AuIsJbN0i/xoa7HSf4rNrE6km3NWjHQ=";
       };
       "aarch64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip";
-        hash = "sha256-/9MKD2iRogrOIiKlCCPUX5KoDD0rM7K8+jVLx9xxs5s=";
+        hash = "sha256-xMmNBK0t+e/BLXnE3wOxbANXlwpQ/rczTK/7E80T6cw=";
       };
       "x86_64-darwin" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64.zip";
-        hash = "sha256-9wE3GL+EGvPHtVgfMx09Jn+WU/VoUf5x/QrrdlhePa8=";
+        hash = "sha256-/3qLt3duJt0x0aI7xwWIEt8kAzLqSAlwC3C539vZ/aI=";
       };
       "x86_64-linux" = fetchurl {
         url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip";
-        hash = "sha256-pT9+GchNC3vmeFgTF0GzzyLzWBrCQcR/DFRVK2CnHCw=";
+        hash = "sha256-+EWt1/YtGzJm/lRBPrf1RM5xdMVFMWurRNBQACALcSA=";
       };
     };
     updateScript = writeShellScript "update-bun" ''
diff --git a/nixpkgs/pkgs/development/web/deno/default.nix b/nixpkgs/pkgs/development/web/deno/default.nix
index 603c9bf5d9e2..27303fb86020 100644
--- a/nixpkgs/pkgs/development/web/deno/default.nix
+++ b/nixpkgs/pkgs/development/web/deno/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.38.0";
+  version = "1.38.2";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-x01KggCu/sJnVvfJW/NZ+ARcl2Nl9LKn9dPBVmZcLi4=";
+    hash = "sha256-DLVeI1pnHpUya8muVUP6VNXiLmlaedOOPPef3tHNOng=";
   };
 
-  cargoHash = "sha256-PEKdQoAYhPpeHfv2pKGTsNaA1EANpf/GJw/3s+6TCoA=";
+  cargoHash = "sha256-qTvPpUBinPm3eQ5PLcqdCcZEG5Q6kGyt35mL914K9jk=";
 
   postPatch = ''
     # upstream uses lld on aarch64-darwin for faster builds
@@ -44,6 +44,9 @@ rustPlatform.buildRustPackage rec {
     (with darwin.apple_sdk.frameworks; [ Security CoreServices Metal Foundation QuartzCore ])
   );
 
+  # work around "error: unknown warning group '-Wunused-but-set-parameter'"
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unknown-warning-option";
+
   buildAndTestSubdir = "cli";
 
   # The v8 package will try to download a `librusty_v8.a` release at build time to our read-only filesystem
diff --git a/nixpkgs/pkgs/development/web/flyctl/default.nix b/nixpkgs/pkgs/development/web/flyctl/default.nix
index 4ced81546ca9..862b7279f7e6 100644
--- a/nixpkgs/pkgs/development/web/flyctl/default.nix
+++ b/nixpkgs/pkgs/development/web/flyctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.1.117";
+  version = "0.1.127";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    hash = "sha256-cB1t7TKAqHuzbvrXkOMJPXtNXTqNB/TBDS3OHYX96ko=";
+    hash = "sha256-ho2dbuejQWU7K4j107fV4Lf5r3grsePifaE+HbRdCys=";
   };
 
-  vendorHash = "sha256-+mCOSgRmvfAXHwtLup3vYhLY0zTtXIJeOtYD69B4/7o=";
+  vendorHash = "sha256-qo1P2PSiWco3oKqKOCmCuM6QOz6a9ov2d2MpggBU4N8=";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/web/mailcatcher/default.nix b/nixpkgs/pkgs/development/web/mailcatcher/default.nix
index df6ed0a5233a..17d25378d8cd 100644
--- a/nixpkgs/pkgs/development/web/mailcatcher/default.nix
+++ b/nixpkgs/pkgs/development/web/mailcatcher/default.nix
@@ -1,10 +1,10 @@
-{ pkgs, lib, bundlerApp, bundlerUpdateScript }:
+{ ruby_3_2, lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "mailcatcher";
   gemdir = ./.;
   exes = [ "mailcatcher" "catchmail" ];
-  ruby = pkgs.ruby_3_0;
+  ruby = ruby_3_2;
 
   passthru.updateScript = bundlerUpdateScript "mailcatcher";
 
diff --git a/nixpkgs/pkgs/development/web/nodejs/v14.nix b/nixpkgs/pkgs/development/web/nodejs/v14.nix
deleted file mode 100644
index c2d5d58bea78..000000000000
--- a/nixpkgs/pkgs/development/web/nodejs/v14.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ callPackage, lib, overrideCC, pkgs, buildPackages, openssl, python3, enableNpm ? true }:
-
-let
-  # Clang 16+ cannot build Node v14 due to -Wenum-constexpr-conversion errors.
-  # Use an older version of clang with the current libc++ for compatibility (e.g., with icu).
-  ensureCompatibleCC = packages:
-    if packages.stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion packages.stdenv.cc.cc) "16"
-      then overrideCC packages.llvmPackages_15.stdenv (packages.llvmPackages_15.stdenv.cc.override {
-        inherit (packages.llvmPackages) libcxx;
-        extraPackages = [ packages.llvmPackages.libcxxabi ];
-      })
-      else packages.stdenv;
-
-  buildNodejs = callPackage ./nodejs.nix {
-    inherit openssl;
-    stdenv = ensureCompatibleCC pkgs;
-    buildPackages = buildPackages // { stdenv = ensureCompatibleCC buildPackages; };
-    python = python3;
-  };
-in
-  buildNodejs {
-    inherit enableNpm;
-    version = "14.21.3";
-    sha256 = "sha256-RY7AkuYK1wDdzwectj1DXBXaTHuz0/mbmo5YqZ5UB14=";
-    patches = lib.optional pkgs.stdenv.isDarwin ./bypass-xcodebuild.diff;
-  }
diff --git a/nixpkgs/pkgs/development/web/nodejs/v16.nix b/nixpkgs/pkgs/development/web/nodejs/v16.nix
deleted file mode 100644
index 930b648ca559..000000000000
--- a/nixpkgs/pkgs/development/web/nodejs/v16.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ callPackage, lib, overrideCC, pkgs, buildPackages, openssl, python3, fetchpatch, enableNpm ? true }:
-
-let
-  # Clang 16+ cannot build Node v14 due to -Wenum-constexpr-conversion errors.
-  # Use an older version of clang with the current libc++ for compatibility (e.g., with icu).
-  ensureCompatibleCC = packages:
-    if packages.stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion packages.stdenv.cc.cc) "16"
-      then overrideCC packages.llvmPackages_15.stdenv (packages.llvmPackages_15.stdenv.cc.override {
-        inherit (packages.llvmPackages) libcxx;
-        extraPackages = [ packages.llvmPackages.libcxxabi ];
-      })
-      else packages.stdenv;
-
-  buildNodejs = callPackage ./nodejs.nix {
-    inherit openssl;
-    stdenv = ensureCompatibleCC pkgs;
-    buildPackages = buildPackages // { stdenv = ensureCompatibleCC buildPackages; };
-    python = python3;
-  };
-
-  npmPatches = callPackage ./npm-patches.nix { };
-in
-  buildNodejs {
-    inherit enableNpm;
-    # If you do upgrade here, please update in pkgs/top-level/release.nix
-    # the permitted insecure version to ensure it gets cached for our users
-    # and backport this to stable release (23.05).
-    version = "16.20.2";
-    sha256 = "sha256-V28aA8RV5JGo0TK1h+trO4RlH8iXS7NjhDPdRNIsj0k=";
-    patches = [
-      ./disable-darwin-v8-system-instrumentation.patch
-      ./bypass-darwin-xcrun-node16.patch
-      ./node-npm-build-npm-package-logic-node16.patch
-    ] ++ npmPatches;
-  }
diff --git a/nixpkgs/pkgs/development/web/playwright-test/default.nix b/nixpkgs/pkgs/development/web/playwright-test/default.nix
index b795f708f189..d9c0daef7834 100644
--- a/nixpkgs/pkgs/development/web/playwright-test/default.nix
+++ b/nixpkgs/pkgs/development/web/playwright-test/default.nix
@@ -2,7 +2,7 @@
 
 {pkgs ? import <nixpkgs> {
     inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}:
 
 let
   nodeEnv = import ./node-env.nix {
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/common.nix b/nixpkgs/pkgs/games/cataclysm-dda/common.nix
index 41579b527105..fb54efee1dd5 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/common.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/common.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation {
   ] ++ optionals stdenv.isDarwin [
     "NATIVE=osx"
     "CLANG=1"
-    "OSX_MIN=${stdenv.targetPlatform.darwinMinVersion}"
+    "OSX_MIN=${stdenv.hostPlatform.darwinMinVersion}"
   ];
 
   postInstall = optionalString tiles
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix b/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
index dad59953533b..eaf391bbe6b1 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
@@ -2,7 +2,7 @@
 
 let
   platformSlug =
-    if stdenv.targetPlatform.is32bit then
+    if stdenv.hostPlatform.is32bit then
       "linux32" else "linux64";
   inifile = "linux/v0.${dwarf-fortress.baseVersion}.${dwarf-fortress.patchVersion}_${platformSlug}.ini";
 
diff --git a/nixpkgs/pkgs/games/enigma/default.nix b/nixpkgs/pkgs/games/enigma/default.nix
index c9f16918b490..e2e9ca1338c2 100644
--- a/nixpkgs/pkgs/games/enigma/default.nix
+++ b/nixpkgs/pkgs/games/enigma/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     description = "Puzzle game inspired by Oxyd on the Atari ST and Rock'n'Roll on the Amiga";
     license = with licenses; [ gpl2 free ]; # source + bundles libs + art
     platforms = platforms.unix;
-    broken = stdenv.targetPlatform.isDarwin;
+    broken = stdenv.hostPlatform.isDarwin;
     maintainers = with maintainers; [ iblech ];
     homepage = "https://www.nongnu.org/enigma/";
   };
diff --git a/nixpkgs/pkgs/games/itch/default.nix b/nixpkgs/pkgs/games/itch/default.nix
index a075a789f9d2..897d8f3941c4 100644
--- a/nixpkgs/pkgs/games/itch/default.nix
+++ b/nixpkgs/pkgs/games/itch/default.nix
@@ -3,7 +3,7 @@
 , fetchzip
 , fetchFromGitHub
 , butler
-, electron_11
+, electron
 , steam-run
 , makeWrapper
 , copyDesktopItems
@@ -11,12 +11,13 @@
 }:
 stdenvNoCC.mkDerivation rec {
   pname = "itch";
-  version = "25.6.2";
+  version = "26.1.2";
 
+  # TODO: Using kitch instead of itch, revert when possible
   src = fetchzip {
-    url = "https://broth.itch.ovh/${pname}/linux-amd64/${version}/itch.zip";
+    url = "https://broth.itch.ovh/k${pname}/linux-amd64/${version}/archive/default#.zip";
     stripRoot = false;
-    sha256 = "sha256-F/vaYBHCygseiKNMJ+jBy31YDIFqYToAETGUl/pkHII=";
+    sha256 = "sha256-thXe+glpltSiKNGIRgvOZQZPJWfDHWo3dLdziyp2BM4=";
   };
 
   itch-setup = fetchzip {
@@ -29,8 +30,8 @@ stdenvNoCC.mkDerivation rec {
     fetchFromGitHub {
         owner = "itchio";
         repo = pname;
-        rev = "v25.6.1-canary"; # Use ${version} if possible
-        hash = "sha256-iBp7K7AW97SOlRa8N8TW2LcVtmUi9JU00fYUuPwKORc=";
+        rev = "v${version}-canary";
+        sha256 = "sha256-veZiKs9qHge+gCEpJ119bAT56ssXJAH3HBcYkEHqBFg=";
         sparseCheckout = [ sparseCheckout ];
       } + sparseCheckout;
 
@@ -53,6 +54,10 @@ stdenvNoCC.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
+    # TODO: Remove when the next stable Itch is stabilized
+    substituteInPlace ./resources/app/package.json \
+      --replace "kitch" "itch"
+
     mkdir -p $out/bin $out/share/${pname}/resources/app
     cp -r resources/app "$out/share/${pname}/resources/"
 
@@ -72,7 +77,7 @@ stdenvNoCC.mkDerivation rec {
 
   postFixup = ''
     makeWrapper ${steam-run}/bin/steam-run $out/bin/${pname} \
-      --add-flags ${electron_11}/bin/electron \
+      --add-flags ${electron}/bin/electron \
       --add-flags $out/share/${pname}/resources/app \
       --set BROTH_USE_LOCAL butler,itch-setup \
       --prefix PATH : ${butler}/bin/:${itch-setup}
diff --git a/nixpkgs/pkgs/games/scummvm/default.nix b/nixpkgs/pkgs/games/scummvm/default.nix
index 85ef0766b8e8..923b69d31cfa 100644
--- a/nixpkgs/pkgs/games/scummvm/default.nix
+++ b/nixpkgs/pkgs/games/scummvm/default.nix
@@ -17,11 +17,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ nasm ];
 
   buildInputs = lib.optionals stdenv.isLinux [
-    alsa-lib
+    alsa-lib libGLU libGL
   ] ++ lib.optionals stdenv.isDarwin [
     Cocoa AudioToolbox Carbon CoreMIDI AudioUnit
   ] ++ [
-    curl freetype flac fluidsynth libjpeg libmad libmpeg2 libogg libtheora libvorbis libGLU libGL SDL2 zlib
+    curl freetype flac fluidsynth libjpeg libmad libmpeg2 libogg libtheora libvorbis SDL2 zlib
   ];
 
   dontDisableStatic = true;
diff --git a/nixpkgs/pkgs/misc/cups/default.nix b/nixpkgs/pkgs/misc/cups/default.nix
index ba414d7aec5b..c8df29776db9 100644
--- a/nixpkgs/pkgs/misc/cups/default.nix
+++ b/nixpkgs/pkgs/misc/cups/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
       # service would stop the socket and break subsequent socket activations.
       # See https://github.com/apple/cups/issues/6005
       sed -i '/PartOf=cups.service/d' scheduler/cups.socket.in
-  '' + lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.targetPlatform.darwinSdkVersion "12") ''
+  '' + lib.optionalString (stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinSdkVersion "12") ''
     substituteInPlace backend/usb-darwin.c \
       --replace "kIOMainPortDefault" "kIOMasterPortDefault"
   '';
diff --git a/nixpkgs/pkgs/misc/cups/drivers/brother/dcp375cw/default.nix b/nixpkgs/pkgs/misc/cups/drivers/brother/dcp375cw/default.nix
new file mode 100644
index 000000000000..c9e92e839a0e
--- /dev/null
+++ b/nixpkgs/pkgs/misc/cups/drivers/brother/dcp375cw/default.nix
@@ -0,0 +1,97 @@
+{ lib, stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, file
+, a2ps, coreutils, gnugrep, which, gawk }:
+
+let
+  version = "1.1.3";
+  model = "dcp375cw";
+in rec {
+  driver = stdenv.mkDerivation {
+    pname = "${model}-lpr";
+    inherit version;
+
+    src = fetchurl {
+      url =
+        "https://download.brother.com/welcome/dlf005427/dcp375cwlpr-${version}-1.i386.deb";
+      sha256 =
+        "6daf0144b5802ea8da394ca14db0e6f0200d4049545649283791f899b7f7bd26";
+    };
+
+    nativeBuildInputs = [ dpkg makeWrapper ];
+    buildInputs = [ cups ghostscript a2ps gawk ];
+    unpackPhase = "dpkg-deb -x $src $out";
+
+    installPhase = ''
+      substituteInPlace $out/opt/brother/Printers/${model}/lpd/filter${model} \
+      --replace /opt "$out/opt"
+
+      patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      $out/opt/brother/Printers/${model}/lpd/br${model}filter
+
+      mkdir -p $out/lib/cups/filter/
+      ln -s $out/opt/brother/Printers/${model}/lpd/filter${model} $out/lib/cups/filter/brlpdwrapper${model}
+
+      wrapProgram $out/opt/brother/Printers/${model}/lpd/filter${model} \
+        --prefix PATH ":" ${
+          lib.makeBinPath [
+            gawk
+            ghostscript
+            a2ps
+            file
+            gnused
+            gnugrep
+            coreutils
+            which
+          ]
+        }
+    '';
+
+    meta = with lib; {
+      homepage = "http://www.brother.com/";
+      description = "Brother ${model} printer driver";
+      sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+      license = licenses.unfree;
+      platforms = platforms.linux;
+      downloadPage =
+        "https://support.brother.com/g/b/downloadlist.aspx?c=gb&lang=en&prod=${model}_all&os=128";
+      maintainers = with maintainers; [ marcovergueira ];
+    };
+  };
+
+  cupswrapper = stdenv.mkDerivation {
+    pname = "${model}-cupswrapper";
+    inherit version;
+
+    src = fetchurl {
+      url =
+        "https://download.brother.com/welcome/dlf005429/dcp375cwcupswrapper-${version}-1.i386.deb";
+      sha256 =
+        "9a255728b595d2667b2caf9d0d332b677e1a6829a3ec1ed6d4e900a44069cf2d";
+    };
+
+    nativeBuildInputs = [ dpkg makeWrapper ];
+    buildInputs = [ cups ghostscript a2ps gawk ];
+    unpackPhase = "dpkg-deb -x $src $out";
+
+    installPhase = ''
+      for f in $out/opt/brother/Printers/${model}/cupswrapper/cupswrapper${model}; do
+        wrapProgram $f --prefix PATH : ${
+          lib.makeBinPath [ coreutils ghostscript gnugrep gnused ]
+        }
+      done
+
+      mkdir -p $out/share/cups/model
+      ln -s $out/opt/brother/Printers/${model}/cupswrapper/brother_${model}_printer_en.ppd $out/share/cups/model/
+    '';
+
+    meta = with lib; {
+      homepage = "http://www.brother.com/";
+      description = "Brother ${model} printer CUPS wrapper driver";
+      sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+      license = licenses.unfree;
+      platforms = platforms.linux;
+      downloadPage =
+        "https://support.brother.com/g/b/downloadlist.aspx?c=gb&lang=en&prod=${model}_all&os=128";
+      maintainers = with maintainers; [ marcovergueira ];
+    };
+  };
+}
diff --git a/nixpkgs/pkgs/misc/cups/drivers/brother/mfc465cncupswrapper/default.nix b/nixpkgs/pkgs/misc/cups/drivers/brother/mfc465cncupswrapper/default.nix
new file mode 100644
index 000000000000..c64e48a86ce8
--- /dev/null
+++ b/nixpkgs/pkgs/misc/cups/drivers/brother/mfc465cncupswrapper/default.nix
@@ -0,0 +1,82 @@
+{ lib
+, stdenv
+, fetchurl
+, dpkg
+, makeWrapper
+, coreutils
+, gnugrep
+, gnused
+, mfc465cnlpr
+, pkgsi686Linux
+, psutils
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mfc465cncupswrapper";
+  version = "1.0.1-1";
+
+  src = fetchurl {
+    url = "https://download.brother.com/welcome/dlf006134/${pname}-${version}.i386.deb";
+    sha256 = "59a62ed3cf10f1565c08ace55832bd48bd5034f7067662870edf7ff3bf0cb76a";
+  };
+
+  unpackPhase = ''
+    dpkg-deb -x $src $out
+  '';
+
+  nativeBuildInputs = [
+    dpkg
+    makeWrapper
+  ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    lpr=${mfc465cnlpr}/usr/local/Brother/Printer/mfc465cn
+    dir=$out/usr/local/Brother/Printer/mfc465cn
+    interpreter=${pkgsi686Linux.glibc.out}/lib/ld-linux.so.2
+    patchelf --set-interpreter "$interpreter" "$dir/cupswrapper/brcupsconfpt1"
+    substituteInPlace $dir/cupswrapper/cupswrappermfc465cn \
+      --replace "mkdir -p /usr" ": # mkdir -p /usr" \
+      --replace '/''${printer_model}' "/mfc465cn" \
+      --replace 'br''${printer_model}' "brmfc465cn" \
+      --replace 'brlpdwrapper''${printer_model}' "brlpdwrappermfc465cn" \
+      --replace 'filter''${printer_model}' "filtermfc465cn" \
+      --replace ' ''${printer_name}' " MFC465CN" \
+      --replace ' ''${device_name}' " MFC-465CN" \
+      --replace '(''${device_name}' "(MFC-465CN" \
+      --replace ':''${device_name}' ":MFC-465CN" \
+      --replace '/''${device_name}' "/MFC-465CN" \
+      --replace 'BR''${pcfilename}' "BR465" \
+      --replace '/''${device_model}' "/Printer" \
+      --replace '/usr/lib64/cups/filter/brlpdwrappermfc465cn' "$out/lib/cups/filter/brlpdwrappermfc465cn" \
+      --replace '/usr/local/Brother/Printer/mfc465cn/lpd/filtermfc465cn' "$lpr/lpd/filtermfc465cn" \
+      --replace '/usr/share/ppd/brmfc465cn.ppd' "$dir/cupswrapper/brmfc465.ppd" \
+      --replace '/usr/share/cups/model/brmfc465cn.ppd' "$dir/cupswrapper/brmfc465.ppd" \
+      --replace '/usr/lib/cups/filter/brlpdwrappermfc465cn' "$out/usr/lib/cups/filter/brlpdwrappermfc465cn" \
+      --replace 'nup="psnup' "nup=\"${psutils}/bin/psnup" \
+      --replace '/usr/bin/psnup' "${psutils}/bin/psnup" \
+      --replace '/usr/local/Brother/Printer/mfc465cn/cupswrapper/brcupsconfpt1' "$dir/cupswrapper/brcupsconfpt1" \
+      --replace '/usr/local/Brother/Printer/mfc465cn/inf' "$lpr/inf"
+    # Create the PPD file from the cupswrapper file
+    sed -n '/ENDOFPPDFILE1/,/ENDOFPPDFILE1/p' "$dir/cupswrapper/cupswrappermfc465cn" | head -n -1 | tail -n +2 > $dir/cupswrapper/brmfc465.ppd
+    sed -n '/ENDOFPPDFILE_END/,/ENDOFPPDFILE_END/p' "$dir/cupswrapper/cupswrappermfc465cn" | head -n -1 | tail -n +2 >> $dir/cupswrapper/brmfc465.ppd
+    chmod 644 $dir/cupswrapper/brmfc465.ppd
+    mkdir -p $out/lib/cups/filter
+    mkdir -p $out/share/cups/model
+    ln $dir/cupswrapper/cupswrappermfc465cn $out/lib/cups/filter
+    ln $dir/cupswrapper/brmfc465.ppd $out/share/cups/model
+    sed -n '/!ENDOFWFILTER!/,/!ENDOFWFILTER!/p' "$dir/cupswrapper/cupswrappermfc465cn" | sed '1 br; b; :r s/.*/printer_model=mfc465cn; cat <<!ENDOFWFILTER!/'  | bash > $out/lib/cups/filter/brlpdwrappermfc465cn
+    sed -i "/#! \/bin\/sh/a PATH=${lib.makeBinPath [ coreutils gnused gnugrep ]}:\$PATH" $out/lib/cups/filter/brlpdwrappermfc465cn
+    chmod 755 $out/lib/cups/filter/brlpdwrappermfc465cn
+    '';
+
+  meta = with lib; {
+    description = "Brother MFC-465CN CUPS wrapper driver";
+    homepage = "http://www.brother.com/";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ phrogg ];
+  };
+}
diff --git a/nixpkgs/pkgs/misc/cups/drivers/brother/mfc465cnlpr/default.nix b/nixpkgs/pkgs/misc/cups/drivers/brother/mfc465cnlpr/default.nix
new file mode 100644
index 000000000000..dc0be00a6932
--- /dev/null
+++ b/nixpkgs/pkgs/misc/cups/drivers/brother/mfc465cnlpr/default.nix
@@ -0,0 +1,67 @@
+{ stdenv
+, lib
+, fetchurl
+, dpkg
+, makeWrapper
+, coreutils
+, file
+, gawk
+, ghostscript
+, gnused
+, pkgsi686Linux
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mfc465cnlpr";
+  version = "1.0.1-1";
+
+  src = fetchurl {
+    url = "https://download.brother.com/welcome/dlf006132/${pname}-${version}.i386.deb";
+    sha256 = "cfe0289510bf36bee6014286ea78b1ebc6bbb948dbfd3aee02f0664a7743f99b";
+  };
+
+  unpackPhase = ''
+    dpkg-deb -x $src $out
+  '';
+
+  nativeBuildInputs = [
+    dpkg
+    makeWrapper
+  ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    dir=$out/usr/local/Brother/Printer/mfc465cn
+    patchelf --set-interpreter ${pkgsi686Linux.glibc.out}/lib/ld-linux.so.2 $dir/lpd/brmfc465cnfilter
+    wrapProgram $dir/inf/setupPrintcapij \
+      --prefix PATH : ${lib.makeBinPath [
+        coreutils
+      ]}
+    substituteInPlace $dir/lpd/filtermfc465cn \
+      --replace "BR_PRT_PATH=" "BR_PRT_PATH=\"$dir/\" #"
+    wrapProgram $dir/lpd/filtermfc465cn \
+      --prefix PATH : ${lib.makeBinPath [
+        coreutils
+        file
+        ghostscript
+        gnused
+      ]}
+    substituteInPlace $dir/lpd/psconvertij2 \
+      --replace '`which gs`' "${ghostscript}/bin/gs"
+    wrapProgram $dir/lpd/psconvertij2 \
+      --prefix PATH : ${lib.makeBinPath [
+        gnused
+        gawk
+      ]}
+    chmod -R a+w $dir/inf/
+  '';
+
+  meta = with lib; {
+    description = "Brother MFC-465CN LPR printer driver";
+    homepage = "http://www.brother.com/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ phrogg ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix b/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix
index 40438d333cf9..8614bdda2ab2 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix
@@ -26,9 +26,9 @@
 
 let
   system =
-    if stdenv.targetPlatform.system == "x86_64-linux" then "intel"
-    else if stdenv.targetPlatform.system == "aarch64-linux" then "arm"
-    else throw "Unsupported platform for Canon UFR2 Drivers: ${stdenv.targetPlatform.system}";
+    if stdenv.hostPlatform.system == "x86_64-linux" then "intel"
+    else if stdenv.hostPlatform.system == "aarch64-linux" then "arm"
+    else throw "Unsupported platform for Canon UFR2 Drivers: ${stdenv.hostPlatform.system}";
   ld64 = "${stdenv.cc}/nix-support/dynamic-linker";
   libs = pkgs: lib.makeLibraryPath buildInputs;
 
diff --git a/nixpkgs/pkgs/misc/fastly/default.nix b/nixpkgs/pkgs/misc/fastly/default.nix
index fe6c5a21ceb2..ca191319243f 100644
--- a/nixpkgs/pkgs/misc/fastly/default.nix
+++ b/nixpkgs/pkgs/misc/fastly/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "fastly";
-  version = "10.6.2";
+  version = "10.6.4";
 
   src = fetchFromGitHub {
     owner = "fastly";
     repo = "cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-j4dqLV1Q17RQczkTqGTh8S8Y6ELqXjWuJRr+xB/x2yE=";
+    hash = "sha256-+qBeE7t+d1Es63hUBO9Bcqyc0vtatcJGoYw2GE0JPxQ=";
     # The git commit is part of the `fastly version` original output;
     # leave that output the same in nixpkgs. Use the `.git` directory
     # to retrieve the commit SHA, and remove the directory afterwards,
@@ -33,7 +33,7 @@ buildGoModule rec {
     "cmd/fastly"
   ];
 
-  vendorHash = "sha256-aCekNpf6C5fGIEk0pLkz4hJ6mQfBIzeCsIL6Fxf2QGk=";
+  vendorHash = "sha256-Mh737emdQkIoNOAkaTafCoMQnLqXIGMKX6X5ClsmMzc=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/nixpkgs/pkgs/misc/i3a/default.nix b/nixpkgs/pkgs/misc/i3a/default.nix
index 5bfc2c5c4a39..42d8c11915c8 100644
--- a/nixpkgs/pkgs/misc/i3a/default.nix
+++ b/nixpkgs/pkgs/misc/i3a/default.nix
@@ -24,6 +24,6 @@ python3Packages.buildPythonApplication rec {
     homepage = "https://git.goral.net.pl/mgoral/i3a";
     description = "A set of scripts used for automation of i3 and sway window manager layouts";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
index 72ef086f5990..6a3bddc211e9 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
@@ -32,6 +32,7 @@ appleDerivation {
   ];
 
   meta = {
+    mainProgram = "iconv";
     platforms = lib.platforms.darwin;
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/darwin/moltenvk/default.nix b/nixpkgs/pkgs/os-specific/darwin/moltenvk/default.nix
index 41f929fe90ff..2293720d7fab 100644
--- a/nixpkgs/pkgs/os-specific/darwin/moltenvk/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/moltenvk/default.nix
@@ -109,7 +109,7 @@ stdenv.mkDerivation (finalAttrs: {
       -configuration Release \
       -project MoltenVKShaderConverter.xcodeproj \
       -scheme MoltenVKShaderConverter \
-      -arch ${stdenv.targetPlatform.darwinArch}
+      -arch ${stdenv.hostPlatform.darwinArch}
     declare -A products=( [MoltenVKShaderConverter]=bin [libMoltenVKShaderConverter.a]=lib )
     for product in "''${!products[@]}"; do
       cp MoltenVKShaderConverter-*/Build/Products/Release/$product "$build/''${products[$product]}/$product"
@@ -127,7 +127,7 @@ stdenv.mkDerivation (finalAttrs: {
       -configuration Release \
       -project MoltenVK.xcodeproj \
       -scheme MoltenVK-macOS \
-      -arch ${stdenv.targetPlatform.darwinArch}
+      -arch ${stdenv.hostPlatform.darwinArch}
     cp MoltenVK-*/Build/Products/Release/dynamic/libMoltenVK.dylib "$build/lib/libMoltenVK.dylib"
     popd
   '';
diff --git a/nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix b/nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix
index ab1c0b58185f..9b3ef924dd07 100644
--- a/nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/sketchybar/default.nix
@@ -22,13 +22,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "sketchybar";
-  version = "2.19.3";
+  version = "2.19.4";
 
   src = fetchFromGitHub {
     owner = "FelixKratz";
     repo = "SketchyBar";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-QT926AnV9jLc1KvYks6ukIAcMbVHOupTJWQ6vBHpcxc=";
+    hash = "sha256-6MqTyCqFv5suQgQ5a9t1mDA2njjFFgk67Kp7xO5OXoA=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/os-specific/darwin/skhd/default.nix b/nixpkgs/pkgs/os-specific/darwin/skhd/default.nix
index fa6e1aa01e9f..f979f7ec020e 100644
--- a/nixpkgs/pkgs/os-specific/darwin/skhd/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/skhd/default.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation (finalAttrs: {
     "BUILD_PATH=$(out)/bin"
   ];
 
+  env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
+
   postInstall = ''
     mkdir -p $out/Library/LaunchDaemons
     cp ${./org.nixos.skhd.plist} $out/Library/LaunchDaemons/org.nixos.skhd.plist
diff --git a/nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix b/nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix
index da5011e67373..3ce10735f1de 100644
--- a/nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/bionic-prebuilt/default.nix
@@ -5,7 +5,7 @@
 let
 
   choosePlatform =
-    let pname = stdenv.targetPlatform.parsed.cpu.name; in
+    let pname = stdenv.hostPlatform.parsed.cpu.name; in
     pset: pset.${pname} or (throw "bionic-prebuilt: unsupported platform ${pname}");
 
   prebuilt_crt = choosePlatform {
@@ -66,7 +66,7 @@ in
 stdenvNoCC.mkDerivation rec {
   pname = "bionic-prebuilt";
   version = "ndk-release-r23";
-  name = "${stdenv.targetPlatform.parsed.cpu.name}-${pname}-${version}";
+  name = "${stdenv.hostPlatform.parsed.cpu.name}-${pname}-${version}";
 
   src = fetchzip {
     url = "https://android.googlesource.com/platform/bionic/+archive/00e8ce1142d8823b0d2fc8a98b40119b0f1f02cd.tar.gz";
diff --git a/nixpkgs/pkgs/os-specific/linux/checksec/0002-don-t-sanatize-the-environment.patch b/nixpkgs/pkgs/os-specific/linux/checksec/0002-don-t-sanatize-the-environment.patch
new file mode 100644
index 000000000000..bd639574f63f
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/checksec/0002-don-t-sanatize-the-environment.patch
@@ -0,0 +1,25 @@
+From 3b047ab4271919856ae0a3dee3a03a24045c0016 Mon Sep 17 00:00:00 2001
+From: Paul Meyer <49727155+katexochen@users.noreply.github.com>
+Date: Mon, 13 Nov 2023 20:24:54 +0000
+Subject: [PATCH] don't sanatize the environment
+
+---
+ checksec | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/checksec b/checksec
+index 4fc3c31..135223a 100755
+--- a/checksec
++++ b/checksec
+@@ -2,9 +2,6 @@
+ # Do not edit this file directly, this file is generated from the files
+ # in the src directory. Any updates to this file will be overwritten when generated
+
+-# sanitize the environment before run
+-[[ "$(env | /bin/sed -r -e '/^(PWD|SHLVL|_)=/d')" ]] && exec -c "$0" "$@"
+-
+ # --- Modified Version ---
+ # Name    : checksec.sh
+ # Version : 1.7.0
+--
+2.42.0
diff --git a/nixpkgs/pkgs/os-specific/linux/checksec/default.nix b/nixpkgs/pkgs/os-specific/linux/checksec/default.nix
index 1bdd4cf5f677..07574722cd20 100644
--- a/nixpkgs/pkgs/os-specific/linux/checksec/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/checksec/default.nix
@@ -1,14 +1,30 @@
 { lib
 , stdenv
+, fetchpatch
 , fetchFromGitHub
 , makeWrapper
+, testers
+, runCommand
+
+  # dependencies
+, binutils
+, coreutils
+, curl
+, elfutils
 , file
 , findutils
-, binutils-unwrapped
+, gawk
 , glibc
-, coreutils
-, sysctl
+, gnugrep
+, gnused
 , openssl
+, procps
+, sysctl
+, wget
+, which
+
+  # tests
+, checksec
 }:
 
 stdenv.mkDerivation rec {
@@ -24,6 +40,13 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./0001-attempt-to-modprobe-config-before-checking-kernel.patch
+    # Tool would sanitize the environment, removing the PATH set by our wrapper.
+    ./0002-don-t-sanatize-the-environment.patch
+    # Fix the exit code of debug_report command. Check if PR 226 was merged when upgrading version.
+    (fetchpatch {
+      url = "https://github.com/slimm609/checksec.sh/commit/851ebff6972f122fde5507f1883e268bbff1f23d.patch";
+      hash = "sha256-DOcVF+oPGIR9VSbqE+EqWlcNANEvou1gV8qBvJLGLBE=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -33,22 +56,45 @@ stdenv.mkDerivation rec {
   installPhase =
     let
       path = lib.makeBinPath [
-        findutils
+        binutils
+        coreutils
+        curl
+        elfutils
         file
-        binutils-unwrapped
-        sysctl
+        findutils
+        gawk
+        gnugrep
+        gnused
         openssl
+        procps
+        sysctl
+        wget
+        which
       ];
     in
     ''
       mkdir -p $out/bin
       install checksec $out/bin
-      substituteInPlace $out/bin/checksec --replace /lib/libc.so.6 ${glibc.out}/lib/libc.so.6
-      substituteInPlace $out/bin/checksec --replace "/usr/bin/id -" "${coreutils}/bin/id -"
+      substituteInPlace $out/bin/checksec \
+        --replace "/bin/sed" "${gnused}/bin/sed" \
+        --replace "/usr/bin/id" "${coreutils}/bin/id" \
+        --replace "/lib/libc.so.6" "${glibc}/lib/libc.so.6"
       wrapProgram $out/bin/checksec \
         --prefix PATH : ${path}
     '';
 
+  passthru.tests = {
+    version = testers.testVersion {
+      package = checksec;
+      version = "v${version}";
+    };
+    debug-report = runCommand "debug-report" { buildInputs = [ checksec ]; } ''
+      checksec --debug_report || exit 1
+      echo "OK"
+      touch $out
+    '';
+  };
+
   meta = with lib; {
     description = "Tool for checking security bits on executables";
     homepage = "https://www.trapkit.de/tools/checksec/";
diff --git a/nixpkgs/pkgs/os-specific/linux/criu/default.nix b/nixpkgs/pkgs/os-specific/linux/criu/default.nix
index 7940ce060e4d..00d46591c136 100644
--- a/nixpkgs/pkgs/os-specific/linux/criu/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/criu/default.nix
@@ -88,9 +88,9 @@ stdenv.mkDerivation rec {
     "PREFIX=$(out)"
     "ASCIIDOC=${buildPackages.asciidoc}/bin/asciidoc"
     "XMLTO=${buildPackages.xmlto}/bin/xmlto"
-  ] ++ (lib.optionals (stdenv.buildPlatform != stdenv.targetPlatform) [
-    "ARCH=${linuxArchMapping."${stdenv.targetPlatform.linuxArch}"}"
-    "CROSS_COMPILE=${stdenv.targetPlatform.config}-"
+  ] ++ (lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    "ARCH=${linuxArchMapping."${stdenv.hostPlatform.linuxArch}"}"
+    "CROSS_COMPILE=${stdenv.hostPlatform.config}-"
   ]);
 
   outputs = [ "out" "dev" "man" ];
diff --git a/nixpkgs/pkgs/os-specific/linux/cryptodev/default.nix b/nixpkgs/pkgs/os-specific/linux/cryptodev/default.nix
index 296e4b79b3e0..cacef99afd74 100644
--- a/nixpkgs/pkgs/os-specific/linux/cryptodev/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/cryptodev/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Device that allows access to Linux kernel cryptographic drivers";
     homepage = "http://cryptodev-linux.org/";
-    maintainers = with lib.maintainers; [ fortuneteller2k ];
+    maintainers = with lib.maintainers; [ moni ];
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.linux;
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix b/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix
index 585c1661b8af..df1977150136 100644
--- a/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/irqbalance/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     description = "A daemon to help balance the cpu load generated by interrupts across all of a systems cpus";
     license = licenses.gpl2Only;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
index 691b4899f2dd..4f967734d5e0 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
@@ -44,7 +44,7 @@ let
 
     extraMeta = {
       branch = lib.versions.majorMinor version;
-      maintainers = with lib.maintainers; [ fortuneteller2k lovesegfault atemu shawn8901 zzzsy ];
+      maintainers = with lib.maintainers; [ moni lovesegfault atemu shawn8901 zzzsy ];
       description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience";
       broken = stdenv.isAarch64;
     };
diff --git a/nixpkgs/pkgs/os-specific/linux/nmon/default.nix b/nixpkgs/pkgs/os-specific/linux/nmon/default.nix
index 768e8e43edc9..30285f9c5b25 100644
--- a/nixpkgs/pkgs/os-specific/linux/nmon/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nmon/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses ];
   dontUnpack = true;
   buildPhase = "${stdenv.cc.targetPrefix}cc -o nmon ${src} -g -O2 -D JFS -D GETUSER -Wall -D LARGEMEM -lncurses -lm -g -D ${
-    with stdenv.targetPlatform;
+    with stdenv.hostPlatform;
     if isx86 then "X86"
     else if isAarch then "ARM"
     else if isPower then "POWER"
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix
index a4fc11c8647c..50793167a349 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl8188eus-aircrack/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
     description = "RealTek RTL8188eus WiFi driver with monitor mode & frame injection support";
     homepage = "https://github.com/aircrack-ng/rtl8188eus";
     license = licenses.gpl2Only;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
     broken = (lib.versionAtLeast kernel.version "6.6") || ((lib.versions.majorMinor kernel.version) == "5.4" && kernel.isHardened);
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/rtl8812au/default.nix b/nixpkgs/pkgs/os-specific/linux/rtl8812au/default.nix
index 9646886a6de1..adc197a1166e 100644
--- a/nixpkgs/pkgs/os-specific/linux/rtl8812au/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/rtl8812au/default.nix
@@ -44,6 +44,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/morrownr/8812au-20210629";
     license = licenses.gpl2Only;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/os-specific/linux/uhk-agent/default.nix b/nixpkgs/pkgs/os-specific/linux/uhk-agent/default.nix
index fe01cecc8cc7..5ee485b09cf8 100644
--- a/nixpkgs/pkgs/os-specific/linux/uhk-agent/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/uhk-agent/default.nix
@@ -11,12 +11,12 @@
 
 let
   pname = "uhk-agent";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchurl {
     url = "https://github.com/UltimateHackingKeyboard/agent/releases/download/v${version}/UHK.Agent-${version}-linux-x86_64.AppImage";
     name = "${pname}-${version}.AppImage";
-    sha256 = "sha256-YMm84jKtWz5DeGJhBlmo2hlIy4iarEvWylgAWY/itII=";
+    sha256 = "sha256-qAZ92/iN5E+1KGPs6u9Bb6vLfi0Keog/yOcLtnRD7yc=";
   };
 
   appimageContents = appimageTools.extract {
diff --git a/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix b/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix
index 2c1b4fbb4f4f..e17fda67218e 100644
--- a/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/v4l2loopback/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     description = "A kernel module to create V4L2 loopback devices";
     homepage = "https://github.com/umlaeute/v4l2loopback";
     license = licenses.gpl2Only;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
     platforms = platforms.linux;
     outputsToInstall = [ "out" ];
   };
diff --git a/nixpkgs/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/nixpkgs/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 7b7687bc3063..614831c057d2 100644
--- a/nixpkgs/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    maintainers = with maintainers; [ goibhniu fortuneteller2k ];
+    maintainers = with maintainers; [ goibhniu moni ];
     description = "Wacom digitizer driver for X11";
     homepage = "https://linuxwacom.sourceforge.net";
     license = licenses.gpl2Only;
diff --git a/nixpkgs/pkgs/servers/bloat/default.nix b/nixpkgs/pkgs/servers/bloat/default.nix
index 4a28c4377ff6..bd4ae38efaa8 100644
--- a/nixpkgs/pkgs/servers/bloat/default.nix
+++ b/nixpkgs/pkgs/servers/bloat/default.nix
@@ -6,12 +6,12 @@
 
 buildGoModule {
   pname = "bloat";
-  version = "unstable-2023-10-15";
+  version = "unstable-2023-10-25";
 
   src = fetchgit {
     url = "git://git.freesoftwareextremist.com/bloat";
-    rev = "67b13c71baea56eeb15532ca1b1377f6da8d18ac";
-    hash = "sha256-h885uAuVjpVsp5cAAX9pIxfydcBiajBX3ZSmQUr3/4Q=";
+    rev = "f4881e72675e87a9eae716436c3ac18a788d596d";
+    hash = "sha256-i6HjhGPPXKtQ7hVPECk9gZglFmjb/Fo9pFIq5ikw4Y8=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/servers/code-server/build-vscode-nogit.patch b/nixpkgs/pkgs/servers/code-server/build-vscode-nogit.patch
deleted file mode 100644
index ec726c68d438..000000000000
--- a/nixpkgs/pkgs/servers/code-server/build-vscode-nogit.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/ci/build/build-vscode.sh b/ci/build/build-vscode.sh
-index a72549fb..3aed1ad5 100755
---- a/ci/build/build-vscode.sh
-+++ b/ci/build/build-vscode.sh
-@@ -58,7 +58,6 @@ main() {
-   # telemetry available; telemetry can still be disabled by flag or setting).
-   # This needs to be done before building as Code will read this file and embed
-   # it into the client-side code.
--  git checkout product.json             # Reset in case the script exited early.
-   cp product.json product.original.json # Since jq has no inline edit.
-   jq --slurp '.[0] * .[1]' product.original.json <(
-     cat << EOF
-@@ -105,7 +104,6 @@ EOF
-   # Reset so if you develop after building you will not be stuck with the wrong
-   # commit (the dev client will use `oss-dev` but the dev server will still use
-   # product.json which will have `stable-$commit`).
--  git checkout product.json
- 
-   popd
- 
diff --git a/nixpkgs/pkgs/servers/code-server/default.nix b/nixpkgs/pkgs/servers/code-server/default.nix
deleted file mode 100644
index 0c5cb2310852..000000000000
--- a/nixpkgs/pkgs/servers/code-server/default.nix
+++ /dev/null
@@ -1,327 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, buildGoModule
-, makeWrapper
-, cacert
-, moreutils
-, jq
-, git
-, rsync
-, pkg-config
-, yarn
-, python3
-, esbuild
-, nodejs
-, node-gyp
-, libsecret
-, xorg
-, ripgrep
-, AppKit
-, Cocoa
-, CoreServices
-, Security
-, cctools
-, xcbuild
-, quilt
-, nixosTests
-}:
-
-let
-  system = stdenv.hostPlatform.system;
-
-  python = python3;
-  yarn' = yarn.override { inherit nodejs; };
-  defaultYarnOpts = [ ];
-
-  esbuild' = esbuild.override {
-    buildGoModule = args: buildGoModule (args // rec {
-      version = "0.16.17";
-      src = fetchFromGitHub {
-        owner = "evanw";
-        repo = "esbuild";
-        rev = "v${version}";
-        hash = "sha256-8L8h0FaexNsb3Mj6/ohA37nYLFogo5wXkAhGztGUUsQ=";
-      };
-      vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
-    });
-  };
-
-  # replaces esbuild's download script with a binary from nixpkgs
-  patchEsbuild = path: version: ''
-    mkdir -p ${path}/node_modules/esbuild/bin
-    jq "del(.scripts.postinstall)" ${path}/node_modules/esbuild/package.json | sponge ${path}/node_modules/esbuild/package.json
-    sed -i 's/${version}/${esbuild'.version}/g' ${path}/node_modules/esbuild/lib/main.js
-    ln -s -f ${esbuild'}/bin/esbuild ${path}/node_modules/esbuild/bin/esbuild
-  '';
-
-  # Comment from @code-asher, the code-server maintainer
-  # See https://github.com/NixOS/nixpkgs/pull/240001#discussion_r1244303617
-  #
-  # If the commit is missing it will break display languages (Japanese, Spanish,
-  # etc). For some reason VS Code has a hard dependency on the commit being set
-  # for that functionality.
-  # The commit is also used in cache busting. Without the commit you could run
-  # into issues where the browser is loading old versions of assets from the
-  # cache.
-  # Lastly, it can be helpful for the commit to be accurate in bug reports
-  # especially when they are built outside of our CI as sometimes the version
-  # numbers can be unreliable (since they are arbitrarily provided).
-  #
-  # To compute the commit when upgrading this derivation, do:
-  # `$ git rev-parse <git-rev>` where <git-rev> is the git revision of the `src`
-  # Example: `$ git rev-parse v4.16.1`
-  commit = "94ef3776ad7bebfb5780dfc9632e04d20d5c9a6c";
-in
-stdenv.mkDerivation (finalAttrs: {
-  pname = "code-server";
-  version = "4.16.1";
-
-  src = fetchFromGitHub {
-    owner = "coder";
-    repo = "code-server";
-    rev = "v${finalAttrs.version}";
-    fetchSubmodules = true;
-    hash = "sha256-h4AooHHKV/EfN2S1z7CQKqnYW3uA3sKhSW4senlzjxI=";
-  };
-
-  yarnCache = stdenv.mkDerivation {
-    name = "${finalAttrs.pname}-${finalAttrs.version}-${system}-yarn-cache";
-    inherit (finalAttrs) src;
-
-    nativeBuildInputs = [ yarn' git cacert ];
-
-    buildPhase = ''
-      runHook preBuild
-
-      export HOME=$PWD
-      export GIT_SSL_CAINFO="${cacert}/etc/ssl/certs/ca-bundle.crt"
-
-      yarn --cwd "./vendor" install --modules-folder modules --ignore-scripts --frozen-lockfile
-
-      yarn config set yarn-offline-mirror $out
-      find "$PWD" -name "yarn.lock" -printf "%h\n" | \
-        xargs -I {} yarn --cwd {} \
-          --frozen-lockfile --ignore-scripts --ignore-platform \
-          --ignore-engines --no-progress --non-interactive
-
-      find ./lib/vscode -name "yarn.lock" -printf "%h\n" | \
-        xargs -I {} yarn --cwd {} \
-          --ignore-scripts --ignore-engines
-
-      runHook postBuild
-    '';
-
-    outputHashMode = "recursive";
-    outputHashAlgo = "sha256";
-    outputHash = "sha256-vkju+oxEYrEXFAnjz/Mf1g0ZhxBALLAaRuWE0swSWwM=";
-  };
-
-  nativeBuildInputs = [
-    nodejs
-    yarn'
-    python
-    pkg-config
-    makeWrapper
-    git
-    rsync
-    jq
-    moreutils
-    quilt
-  ];
-
-  buildInputs = lib.optionals (!stdenv.isDarwin) [ libsecret ]
-    ++ (with xorg; [ libX11 libxkbfile ])
-    ++ lib.optionals stdenv.isDarwin [
-    AppKit
-    Cocoa
-    CoreServices
-    Security
-    cctools
-    xcbuild
-  ];
-
-  patches = [
-    # Remove all git calls from the VS Code build script except `git rev-parse
-    # HEAD` which is replaced in postPatch with the commit.
-    ./build-vscode-nogit.patch
-  ];
-
-  postPatch = ''
-    export HOME=$PWD
-
-    patchShebangs ./ci
-
-    # inject git commit
-    substituteInPlace ./ci/build/build-vscode.sh \
-      --replace '$(git rev-parse HEAD)' "${commit}"
-    substituteInPlace ./ci/build/build-release.sh \
-      --replace '$(git rev-parse HEAD)' "${commit}"
-  '';
-
-  configurePhase = ''
-    runHook preConfigure
-
-    # run yarn offline by default
-    echo '--install.offline true' >> .yarnrc
-
-    # set default yarn opts
-    ${lib.concatMapStrings (option: ''
-      yarn --offline config set ${option}
-    '') defaultYarnOpts}
-
-    # set offline mirror to yarn cache we created in previous steps
-    yarn --offline config set yarn-offline-mirror "${finalAttrs.yarnCache}"
-
-    # skip unnecessary electron download
-    export ELECTRON_SKIP_BINARY_DOWNLOAD=1
-
-    # set nodedir to prevent node-gyp from downloading headers
-    # taken from https://nixos.org/manual/nixpkgs/stable/#javascript-tool-specific
-    mkdir -p $HOME/.node-gyp/${nodejs.version}
-    echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion
-    ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version}
-    export npm_config_nodedir=${nodejs}
-
-    # use updated node-gyp. fixes the following error on Darwin:
-    # PermissionError: [Errno 1] Operation not permitted: '/usr/sbin/pkgutil'
-    export npm_config_node_gyp=${node-gyp}/lib/node_modules/node-gyp/bin/node-gyp.js
-
-    runHook postConfigure
-  '';
-
-  buildPhase = ''
-    runHook preBuild
-
-    # install code-server dependencies
-    yarn --offline --ignore-scripts
-
-    # apply patches
-    quilt push -a
-
-    # patch shebangs of everything to allow binary packages to build
-    patchShebangs .
-
-    export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
-    export SKIP_SUBMODULE_DEPS=1
-    export NODE_OPTIONS=--openssl-legacy-provider
-
-    # rebuild binary packages now that scripts have been patched
-    echo "----- NPM rebuild"
-    npm rebuild --prefer-offline
-
-    # Replicate ci/dev/postinstall.sh
-    echo "----- Replicate ci/dev/postinstall.sh"
-    yarn --cwd "./vendor" install --modules-folder modules --offline --ignore-scripts --frozen-lockfile
-
-    # remove all built-in extensions, as these are 3rd party extensions that
-    # get downloaded from vscode marketplace
-    jq --slurp '.[0] * .[1]' "./lib/vscode/product.json" <(
-      cat << EOF
-    {
-      "builtInExtensions": []
-    }
-    EOF
-    ) | sponge ./lib/vscode/product.json
-
-    # disable automatic updates
-    sed -i '/update.mode/,/\}/{s/default:.*/default: "none",/g}' \
-      lib/vscode/src/vs/platform/update/common/update.config.contribution.ts
-
-    # Patch out remote download of nodejs from build script
-    patch -p1 -i ${./remove-node-download.patch}
-
-    # Fetch packages for vscode
-    find ./lib/vscode -name "yarn.lock" -printf "%h\n" | \
-        xargs -I {} yarn --cwd {} \
-          --frozen-lockfile --ignore-scripts --ignore-engines
-
-    # patch shebangs of everything to allow binary packages to build
-    patchShebangs .
-
-    ${patchEsbuild "./lib/vscode/build" "0.12.6"}
-    ${patchEsbuild "./lib/vscode/extensions" "0.11.23"}
-  '' + lib.optionalString stdenv.isDarwin ''
-    # use prebuilt binary for @parcel/watcher, which requires macOS SDK 10.13+
-    # (see issue #101229)
-    pushd ./lib/vscode/remote/node_modules/@parcel/watcher
-    mkdir -p ./build/Release
-    mv ./prebuilds/darwin-x64/node.napi.glibc.node ./build/Release/watcher.node
-    jq "del(.scripts) | .gypfile = false" ./package.json | sponge ./package.json
-    popd
-  '' + ''
-
-    # put ripgrep binary into bin, so postinstall does not try to download it
-    find -name ripgrep -type d \
-      -execdir mkdir -p {}/bin \; \
-      -execdir ln -s ${ripgrep}/bin/rg {}/bin/rg \;
-
-    # run postinstall scripts after patching
-    find ./lib/vscode \( -path "*/node_modules/*" -or -path "*/extensions/*" \) \
-      -and -type f -name "yarn.lock" -printf "%h\n" | \
-        xargs -I {} sh -c 'jq -e ".scripts.postinstall" {}/package.json >/dev/null && yarn --cwd {} postinstall --frozen-lockfile --offline || true'
-
-    # build code-server
-    yarn build
-
-    # build vscode
-    VERSION=${finalAttrs.version} yarn build:vscode
-
-    # inject version into package.json
-    jq --slurp '.[0] * .[1]' ./package.json <(
-      cat << EOF
-    {
-      "version": "${finalAttrs.version}"
-    }
-    EOF
-    ) | sponge ./package.json
-
-    # create release
-    yarn release
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/libexec/code-server $out/bin
-
-    # copy release to libexec path
-    cp -R -T release "$out/libexec/code-server"
-
-    # install only production dependencies
-    yarn --offline --cwd "$out/libexec/code-server" --production
-
-    # create wrapper
-    makeWrapper "${nodejs}/bin/node" "$out/bin/code-server" \
-      --add-flags "$out/libexec/code-server/out/node/entry.js"
-
-    runHook postInstall
-  '';
-
-  passthru = {
-    prefetchYarnCache = lib.overrideDerivation finalAttrs.yarnCache (d: {
-      outputHash = lib.fakeSha256;
-    });
-    tests = {
-      inherit (nixosTests) code-server;
-    };
-    # vscode-with-extensions compatibility
-    executableName = "code-server";
-    longName = "Visual Studio Code Server";
-  };
-
-  meta = {
-    description = "Run VS Code on a remote server";
-    longDescription = ''
-      code-server is VS Code running on a remote server, accessible through the
-      browser.
-    '';
-    homepage = "https://github.com/coder/code-server";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ offline henkery code-asher ];
-    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
-    mainProgram = "code-server";
-  };
-})
diff --git a/nixpkgs/pkgs/servers/code-server/playwright.patch b/nixpkgs/pkgs/servers/code-server/playwright.patch
deleted file mode 100644
index 95a74748189d..000000000000
--- a/nixpkgs/pkgs/servers/code-server/playwright.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./vendor/modules/code-oss-dev/node_modules/playwright/install.js
-+++ ./vendor/modules/code-oss-dev/node_modules/playwright/install.js
-@@ -14,6 +14,4 @@
-  * limitations under the License.
-  */
- 
--const { installDefaultBrowsersForNpmInstall } = require('playwright-core/lib/utils/registry');
--
--installDefaultBrowsersForNpmInstall();
-+process.stdout.write('Browser install disabled by Nix build script\n');
diff --git a/nixpkgs/pkgs/servers/code-server/remove-node-download.patch b/nixpkgs/pkgs/servers/code-server/remove-node-download.patch
deleted file mode 100644
index d19d4a2b5bf7..000000000000
--- a/nixpkgs/pkgs/servers/code-server/remove-node-download.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- ./lib/vscode/build/gulpfile.reh.js
-+++ ./lib/vscode/build/gulpfile.reh.js
-@@ -268,9 +268,6 @@
- 			.pipe(util.stripSourceMappingURL())
- 			.pipe(jsFilter.restore);
- 
--		const nodePath = `.build/node/v${nodeVersion}/${platform}-${arch}`;
--		const node = gulp.src(`${nodePath}/**`, { base: nodePath, dot: true });
--
- 		let web = [];
- 		if (type === 'reh-web') {
- 			web = [
-@@ -287,7 +284,6 @@
- 			license,
- 			sources,
- 			deps,
--			node,
- 			...web
- 		);
- 
-@@ -385,7 +381,6 @@
- 			const destinationFolderName = `vscode-${type}${dashed(platform)}${dashed(arch)}`;
- 
- 			const serverTaskCI = task.define(`vscode-${type}${dashed(platform)}${dashed(arch)}${dashed(minified)}-ci`, task.series(
--				gulp.task(`node-${platform}-${arch}`),
- 				util.rimraf(path.join(BUILD_ROOT, destinationFolderName)),
- 				packageTask(type, platform, arch, sourceFolderName, destinationFolderName)
- 			));
diff --git a/nixpkgs/pkgs/servers/dante/default.nix b/nixpkgs/pkgs/servers/dante/default.nix
index a5806a20d411..1d15bddc09f7 100644
--- a/nixpkgs/pkgs/servers/dante/default.nix
+++ b/nixpkgs/pkgs/servers/dante/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = if !stdenv.isDarwin
     then [ "--with-libc=libc.so.6" ]
-    else [ "--with-libc=libc${stdenv.targetPlatform.extensions.sharedLibrary}" ];
+    else [ "--with-libc=libc${stdenv.hostPlatform.extensions.sharedLibrary}" ];
 
   dontAddDisableDepTrack = stdenv.isDarwin;
 
diff --git a/nixpkgs/pkgs/servers/dendrite/default.nix b/nixpkgs/pkgs/servers/dendrite/default.nix
index d722f6beb0ab..4dfe4b33318c 100644
--- a/nixpkgs/pkgs/servers/dendrite/default.nix
+++ b/nixpkgs/pkgs/servers/dendrite/default.nix
@@ -1,5 +1,12 @@
-{ lib, buildGoModule, fetchFromGitHub, nix-update-script
-, nixosTests, postgresql, postgresqlTestHook }:
+{ lib
+, stdenv
+, buildGoModule
+, fetchFromGitHub
+, nix-update-script
+, nixosTests
+, postgresql
+, postgresqlTestHook
+}:
 
 buildGoModule rec {
   pname = "matrix-dendrite";
@@ -44,6 +51,9 @@ buildGoModule rec {
     rm roomserver/internal/input/input_test.go
   '';
 
+  # PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter
+  doCheck = !(stdenv.isDarwin && stdenv.isx86_64);
+
   passthru.tests = {
     inherit (nixosTests) dendrite;
   };
diff --git a/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix b/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
index 8df8b1807f09..28fe866dfdcc 100644
--- a/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
+++ b/nixpkgs/pkgs/servers/dns/knot-resolver/default.nix
@@ -83,7 +83,7 @@ unwrapped = stdenv.mkDerivation rec {
   postInstall = ''
     rm "$out"/lib/libkres.a
     rm "$out"/lib/knot-resolver/upgrade-4-to-5.lua # not meaningful on NixOS
-  '' + optionalString stdenv.targetPlatform.isLinux ''
+  '' + optionalString stdenv.hostPlatform.isLinux ''
     rm -r "$out"/lib/sysusers.d/ # ATM more likely to harm than help
   '';
 
diff --git a/nixpkgs/pkgs/servers/http/unit/default.nix b/nixpkgs/pkgs/servers/http/unit/default.nix
index 5d1da4c47060..6f75352796cd 100644
--- a/nixpkgs/pkgs/servers/http/unit/default.nix
+++ b/nixpkgs/pkgs/servers/http/unit/default.nix
@@ -5,7 +5,6 @@
 , withPHP82 ? false, php82
 , withPerl536 ? false, perl536
 , withPerl538 ? true, perl538
-, withRuby_3_0 ? false, ruby_3_0
 , withRuby_3_1 ? true, ruby_3_1
 , withRuby_3_2 ? false, ruby_3_2
 , withSSL ? true, openssl ? null
@@ -47,7 +46,6 @@ in stdenv.mkDerivation rec {
     ++ optional withPHP82 php82-unit
     ++ optional withPerl536 perl536
     ++ optional withPerl538 perl538
-    ++ optional withRuby_3_0 ruby_3_0
     ++ optional withRuby_3_1 ruby_3_1
     ++ optional withRuby_3_2 ruby_3_2
     ++ optional withSSL openssl;
@@ -70,7 +68,6 @@ in stdenv.mkDerivation rec {
     ${optionalString withPHP82      "./configure php    --module=php81    --config=${php82-unit.unwrapped.dev}/bin/php-config --lib-path=${php82-unit}/lib"}
     ${optionalString withPerl536    "./configure perl   --module=perl536  --perl=${perl536}/bin/perl"}
     ${optionalString withPerl538    "./configure perl   --module=perl538  --perl=${perl538}/bin/perl"}
-    ${optionalString withRuby_3_0   "./configure ruby   --module=ruby30   --ruby=${ruby_3_0}/bin/ruby"}
     ${optionalString withRuby_3_1   "./configure ruby   --module=ruby31   --ruby=${ruby_3_1}/bin/ruby"}
     ${optionalString withRuby_3_2   "./configure ruby   --module=ruby32   --ruby=${ruby_3_2}/bin/ruby"}
   '';
diff --git a/nixpkgs/pkgs/servers/jitsi-excalidraw/default.nix b/nixpkgs/pkgs/servers/jitsi-excalidraw/default.nix
new file mode 100644
index 000000000000..bb8bb6c2dfa7
--- /dev/null
+++ b/nixpkgs/pkgs/servers/jitsi-excalidraw/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, nodejs
+, python3
+}:
+
+buildNpmPackage rec {
+  pname = "jitsi-excalidraw-backend";
+  version = "17";
+
+  src = fetchFromGitHub {
+    owner = "jitsi";
+    repo = "excalidraw-backend";
+    rev = "x${version}";
+    hash = "sha256-aQePkVA8KRL06VewiD0ePRpj88pAItcV7B2SBnRRtCs=";
+  };
+
+  npmDepsHash = "sha256-BJqjaqTeg5i+ECGMuiBYVToK2i2XCOVP9yeDFz6nP4k=";
+
+  nativeBuildInputs = [ python3 ];
+
+  installPhase = ''
+    mkdir -p $out/share
+    cp -r {node_modules,dist} $out/share
+  '';
+
+  postFixup = ''
+    makeWrapper ${nodejs}/bin/node $out/bin/jitsi-excalidraw-backend \
+      --add-flags dist/index.js \
+      --chdir $out/share
+  '';
+
+  meta = with lib; {
+    description = "Excalidraw collaboration backend for Jitsi";
+    homepage = "https://github.com/jitsi/excalidraw-backend";
+    license = licenses.mit;
+    maintainers = with maintainers; [ camillemndn ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/mail/mailpit/default.nix b/nixpkgs/pkgs/servers/mail/mailpit/default.nix
index baf15dce13e9..cfc71d0c24a4 100644
--- a/nixpkgs/pkgs/servers/mail/mailpit/default.nix
+++ b/nixpkgs/pkgs/servers/mail/mailpit/default.nix
@@ -34,6 +34,12 @@ let
       hash = "sha256-r4yv2qImIlNMPJagz5i1sxqBDnFAucc2kDUmjGktM6A=";
     };
 
+    env = lib.optionalAttrs (stdenv.isDarwin && stdenv.isx86_64) {
+      # Make sure libc++ uses `posix_memalign` instead of `aligned_alloc` on x86_64-darwin.
+      # Otherwise, nodejs would require the 11.0 SDK and macOS 10.15+.
+      NIX_CFLAGS_COMPILE = "-D__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__=101300";
+    };
+
     nativeBuildInputs = [ nodejs python3 libtool npmHooks.npmConfigHook ];
 
     buildPhase = ''
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/default.nix b/nixpkgs/pkgs/servers/matrix-synapse/default.nix
index 4b7c6d21f30d..ef8ff520c072 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/default.nix
+++ b/nixpkgs/pkgs/servers/matrix-synapse/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , python3
 , openssl
+, libiconv
 , cargo
 , rustPlatform
 , rustc
@@ -57,6 +58,8 @@ python3.pkgs.buildPythonApplication rec {
 
   buildInputs = [
     openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    libiconv
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix b/nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
index 6113bd6ff417..f784036075c8 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
+++ b/nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
@@ -59,7 +59,7 @@ mkYarnPackage rec {
   buildPhase = ''
     runHook preBuild
     cd deps/${pname}
-    napi build --target ${stdenv.targetPlatform.rust.rustcTargetSpec} --dts ../src/libRs.d.ts --release ./lib
+    napi build --target ${stdenv.hostPlatform.rust.rustcTargetSpec} --dts ../src/libRs.d.ts --release ./lib
     yarn run build:app:fix-defs
     yarn run build:app
     yarn run build:web
diff --git a/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix b/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix
index 8d201624a642..566f7d1cabfa 100644
--- a/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix
+++ b/nixpkgs/pkgs/servers/mautrix-whatsapp/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "mautrix-whatsapp";
-  version = "0.10.3";
+  version = "0.10.4";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "whatsapp";
     rev = "v${version}";
-    hash = "sha256-lBseLxxk+3/eoJMdq4muOrA0TgEhwIReGtQO1OzqBFc=";
+    hash = "sha256-uouxOXvVbUNRHM83JearPhMTZQtMPEBfWvsVb7QJSO8=";
   };
 
   buildInputs = [ olm ];
 
-  vendorHash = "sha256-QUZ9x9BDlhoWLvdt8BTIKxHcsclT6arGICeJnOafs1g=";
+  vendorHash = "sha256-dgaI/gpngCcVRVK8SK6ac1hmc7/aYLJCnW2CCYRDXy0=";
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/microbin/default.nix b/nixpkgs/pkgs/servers/microbin/default.nix
index 3d75a7ff8c7c..163b4ba7d800 100644
--- a/nixpkgs/pkgs/servers/microbin/default.nix
+++ b/nixpkgs/pkgs/servers/microbin/default.nix
@@ -1,11 +1,12 @@
-{ lib
-, rustPlatform
+{ darwin
 , fetchFromGitHub
-, pkg-config
+, fetchpatch
+, lib
 , oniguruma
 , openssl
+, pkg-config
+, rustPlatform
 , stdenv
-, darwin
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -21,6 +22,44 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-7GSgyh2aJ2f8pozoh/0Yxzbk8Wg3JYuqSy/34ywAc2s=";
 
+  patches = [
+    # Prefix some URLs with args.public_path_as_str() by PeterUpfold
+    # https://github.com/szabodanika/microbin/pull/194
+    # MicroBin returns wrong URLs on deployments with non-root URLs.
+    (fetchpatch {
+      name = "0001-fixup-explicit-urls.patch";
+      url = "https://github.com/szabodanika/microbin/compare/b8a0c5490d681550d982ad02d67a1aaa0897f503..df062134cbaf3fd0ebcb67af8453a4c66844cd13.patch";
+      hash = "sha256-h13FBuzu2O4AwdhRHF5EX5LaKyPeWJAcaV6SGTaYzTg=";
+    })
+
+    # Minor fixups by LuK1337
+    # https://github.com/szabodanika/microbin/pull/211
+    # Fixup styling, password protected and private pastas.
+    (fetchpatch {
+      name = "0002-minor-fixups.patch";
+      url = "https://github.com/szabodanika/microbin/compare/b8a0c5490d681550d982ad02d67a1aaa0897f503..3b0c025e9b6dc1ca69269541940bdb53032a048a.patch";
+      hash = "sha256-cZB/jx5d6F+C4xOn49TQ1at/Z4ov26efo9PTtWEdCHw=";
+    })
+
+    # Fix MICROBIN_ETERNAL_PASTA by SouthFox-D
+    # https://github.com/szabodanika/microbin/pull/215
+    # MICROBIN_ETERNAL_PASTA config doesn't work without this.
+    (fetchpatch {
+      name = "0003-fix-microbin-eternal-pasta.patch";
+      url = "https://github.com/szabodanika/microbin/compare/b8a0c5490d681550d982ad02d67a1aaa0897f503..c7c846c64344b8d51500aa9a4b2e9a92de8d09d8.patch";
+      hash = "sha256-gCio73Jt0F7YCFtQxtf6pPBDLNcyOAcfSsiyjLFzEzY=";
+    })
+
+    # Fix raw pastes returning 404 by GizmoTjaz
+    # https://github.com/szabodanika/microbin/pull/218
+    # Existing pastas return code 404 even when they exist.
+    (fetchpatch {
+      name = "0004-fix-raw-pastas-returning-404.patch";
+      url = "https://github.com/szabodanika/microbin/compare/b8a0c5490d681550d982ad02d67a1aaa0897f503..e789901520824d4bf610d28923097affe85ead7d.patch";
+      hash = "sha256-R47ozwu/FD1kCu5nx4Gf1cOFeLVFdS67K8RNDygwoZM=";
+    })
+  ];
+
   nativeBuildInputs = [
     pkg-config
   ];
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix
index 7894e759b168..09fed144e57a 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/plugins/grafana-plugin.nix
@@ -1,7 +1,7 @@
 { stdenvNoCC, fetchurl, unzip, lib }:
 
 { pname, version, zipHash, meta ? {}, passthru ? {}, ... }@args:
-let plat = stdenvNoCC.targetPlatform.system; in stdenvNoCC.mkDerivation ({
+let plat = stdenvNoCC.hostPlatform.system; in stdenvNoCC.mkDerivation ({
   inherit pname version;
 
   src = if lib.isAttrs zipHash then
diff --git a/nixpkgs/pkgs/servers/monitoring/uptime-kuma/default.nix b/nixpkgs/pkgs/servers/monitoring/uptime-kuma/default.nix
index 917343ffecd1..572b83ba9cef 100644
--- a/nixpkgs/pkgs/servers/monitoring/uptime-kuma/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/uptime-kuma/default.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "uptime-kuma";
-  version = "1.23.3";
+  version = "1.23.6";
 
   src = fetchFromGitHub {
     owner = "louislam";
     repo = "uptime-kuma";
     rev = version;
-    hash = "sha256-YffkCFws/61uX6BwYqTeuAq5vqLOC+FeUt6rtQG6xws=";
+    hash = "sha256-E/iyusAZnEnfXQ63LZA+9dgE0MvhFOKmrIXCEZ+LGi8=";
   };
 
-  npmDepsHash = "sha256-USyLvC6ior1YhiZz6YySaG7xiYziHB01SHC9BPwuvJo=";
+  npmDepsHash = "sha256-AeN6+0DKd+Q2g3I960PeL3IBla5S7X0od9J244HiwLU=";
 
   patches = [
     # Fixes the permissions of the database being not set correctly
diff --git a/nixpkgs/pkgs/servers/mpd/default.nix b/nixpkgs/pkgs/servers/mpd/default.nix
index aa781f7e26fb..df166ad0ff04 100644
--- a/nixpkgs/pkgs/servers/mpd/default.nix
+++ b/nixpkgs/pkgs/servers/mpd/default.nix
@@ -148,7 +148,7 @@ let
 
       depsBuildBuild = [ buildPackages.stdenv.cc ];
 
-      postPatch = lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.targetPlatform.darwinSdkVersion "12.0") ''
+      postPatch = lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinSdkVersion "12.0") ''
         substituteInPlace src/output/plugins/OSXOutputPlugin.cxx \
           --replace kAudioObjectPropertyElement{Main,Master} \
           --replace kAudioHardwareServiceDeviceProperty_Virtual{Main,Master}Volume
diff --git a/nixpkgs/pkgs/servers/mx-puppet-discord/node-composition.nix b/nixpkgs/pkgs/servers/mx-puppet-discord/node-composition.nix
index 2042629fe9f5..bd96f550554b 100644
--- a/nixpkgs/pkgs/servers/mx-puppet-discord/node-composition.nix
+++ b/nixpkgs/pkgs/servers/mx-puppet-discord/node-composition.nix
@@ -2,7 +2,7 @@
 
 {pkgs ? import ../../.. {
     inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}:
 
 let
   nodeEnv = import ../../development/node-packages/node-env.nix {
diff --git a/nixpkgs/pkgs/servers/networkaudiod/default.nix b/nixpkgs/pkgs/servers/networkaudiod/default.nix
index 5a09c7933d14..dacd315aba34 100644
--- a/nixpkgs/pkgs/servers/networkaudiod/default.nix
+++ b/nixpkgs/pkgs/servers/networkaudiod/default.nix
@@ -6,7 +6,7 @@
 , alsa-lib
 }:
 let
-  inherit (stdenv.targetPlatform) system;
+  inherit (stdenv.hostPlatform) system;
   throwSystem = throw "Unsupported system: ${system}";
 in
 stdenv.mkDerivation rec {
diff --git a/nixpkgs/pkgs/servers/nextcloud/packages/26.json b/nixpkgs/pkgs/servers/nextcloud/packages/26.json
index 10146a318324..82d03843ad9a 100644
--- a/nixpkgs/pkgs/servers/nextcloud/packages/26.json
+++ b/nixpkgs/pkgs/servers/nextcloud/packages/26.json
@@ -10,9 +10,9 @@
     ]
   },
   "calendar": {
-    "sha256": "1827l5hxsvfnyc2m78rs95cnb2fwi14nl7ricpl25ndh1j0a7ccz",
-    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.5.2/calendar-v4.5.2.tar.gz",
-    "version": "4.5.2",
+    "sha256": "1iq8np72pjw2bn4zmbp2rmrh12n4z62rwrz2bb94xjza1fws7b2v",
+    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.5.3/calendar-v4.5.3.tar.gz",
+    "version": "4.5.3",
     "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 Search! Find your events at ease\n* ☑️ Tasks! See tasks with a due date directly in the calendar\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
     "homepage": "https://github.com/nextcloud/calendar/",
     "licenses": [
@@ -29,6 +29,16 @@
       "agpl"
     ]
   },
+  "cookbook": {
+    "sha256": "18rzvdqd99nlkk3p0y9y8b17ihw5c4c9wsx8psq6xadspm97002y",
+    "url": "https://github.com/nextcloud/cookbook/releases/download/v0.10.2/Cookbook-0.10.2.tar.gz",
+    "version": "0.10.2",
+    "description": "A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings.",
+    "homepage": "",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "cospend": {
     "sha256": "1rg9k33yapbl8chpxx3bjyzc9h4krjavksbxsvw14kpm01rss3j9",
     "url": "https://github.com/julien-nc/cospend-nc/releases/download/v1.5.10/cospend-1.5.10.tar.gz",
@@ -40,9 +50,9 @@
     ]
   },
   "deck": {
-    "sha256": "0j228lbf0zrm2sq45f9abgkln1qzgrkw8ac5r6fhyi0qfxcpmm0m",
-    "url": "https://github.com/nextcloud-releases/deck/releases/download/v1.9.3/deck-v1.9.3.tar.gz",
-    "version": "1.9.3",
+    "sha256": "15hir3fssvzyysazbaad8qiz0bv00x73c2wfdj5aviz9h0gp4x4v",
+    "url": "https://github.com/nextcloud-releases/deck/releases/download/v1.9.4/deck-v1.9.4.tar.gz",
+    "version": "1.9.4",
     "description": "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized",
     "homepage": "https://github.com/nextcloud/deck",
     "licenses": [
@@ -93,7 +103,7 @@
     "sha256": "0imddmyg9s1v3d20spr26g7mbyz2mwl3v2l1a4nz5kaxl3a6fsr2",
     "url": "https://github.com/nextcloud-releases/impersonate/releases/download/v1.13.1/impersonate-v1.13.1.tar.gz",
     "version": "1.13.1",
-    "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.",
+    "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.\n- You can limit which users/groups can use impersonation in Administration settings > Additional settings.",
     "homepage": "https://github.com/nextcloud/impersonate",
     "licenses": [
       "agpl"
@@ -110,10 +120,10 @@
     ]
   },
   "mail": {
-    "sha256": "0mr3npd48j444lalkph1z8rsz5jllpgdrcqsjdrqgmf70y0g55mh",
-    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.4.3/mail-v3.4.3.tar.gz",
-    "version": "3.4.3",
-    "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!",
+    "sha256": "0ascail3vfkv3mm5s4s3ma74d6qxai76kdqxknmljnw56xb19qfv",
+    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.4.4/mail-v3.4.4.tar.gz",
+    "version": "3.4.4",
+    "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
     "homepage": "https://github.com/nextcloud/mail#readme",
     "licenses": [
       "agpl"
@@ -130,15 +140,25 @@
     ]
   },
   "memories": {
-    "sha256": "0i146mlg27phs407clclksn1wjkyl0c5fb2zw0npbx5dvqnpglcd",
-    "url": "https://github.com/pulsejet/memories/releases/download/v6.0.1/memories.tar.gz",
-    "version": "6.0.1",
+    "sha256": "1yn1wkv4jxpc8faf4rl46yfddyplnryrkws3jz0x1wcr9zlxdkng",
+    "url": "https://github.com/pulsejet/memories/releases/download/v6.1.0/memories.tar.gz",
+    "version": "6.1.0",
     "description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **📸 Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **⏪ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **🤖 AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **🖼️ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **🫱🏻‍🫲🏻 External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **📱 Mobile Support**: Work from any device, of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **📦 Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **📹 Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **🗺️ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **📦 Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **⚡️ Performance**: Do all this very fast.\n\n## 🚀 Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos.",
     "homepage": "https://memories.gallery",
     "licenses": [
       "agpl"
     ]
   },
+  "music": {
+    "sha256": "06w82v34csx4scl5n4k4fpdxiivrzjb3yvj3hh4bc15gdz68cis9",
+    "url": "https://github.com/owncloud/music/releases/download/v1.9.1/music_1.9.1_for_nextcloud.tar.gz",
+    "version": "1.9.1",
+    "description": "A stand-alone music player app and a \"lite\" player for the Files app\n\n- On modern browsers, supports audio types .mp3, .ogg, .m4a, .m4b, .flac, .wav, and more\n- Playlist support with import from m3u, m3u8, and pls files\n- Browse by artists, albums, genres, or folders\n- Gapless play\n- Filter the shown content with the search function\n- Play internet radio and podcast channels\n- Setup Last.fm connection to see background information on artists, albums, and songs\n- Control with media control keys on the keyboard or OS\n- The app can handle libraries consisting of thousands of albums and tens of thousands of songs\n- Includes a server backend compatible with the Subsonic and Ampache protocols, allowing playback and browsing of your library on various external apps e.g. on Android or iPhone",
+    "homepage": "https://github.com/owncloud/music",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "news": {
     "sha256": "1bkh73h0ibxyjpy3cmvhnlr7isvgqkcxdw2dw15mxksj2cln9wki",
     "url": "https://github.com/nextcloud/news/releases/download/24.0.0/news.tar.gz",
@@ -160,9 +180,9 @@
     ]
   },
   "notify_push": {
-    "sha256": "0hdxnkar2ibis5p0gp3yr1i6894la9wxq4pzrbqdrq2cgvsj6a18",
-    "url": "https://github.com/nextcloud-releases/notify_push/releases/download/v0.6.3/notify_push-v0.6.3.tar.gz",
-    "version": "0.6.3",
+    "sha256": "0lwyy1pnyfw464vab1v5k8q0rgarrj5w12cf1nsywjaafb8y1ym0",
+    "url": "https://github.com/nextcloud-releases/notify_push/releases/download/v0.6.5/notify_push-v0.6.5.tar.gz",
+    "version": "0.6.5",
     "description": "Push update support for desktop app.\n\nOnce the app is installed, the push binary needs to be setup. You can either use the setup wizard with `occ notify_push:setup` or see the [README](http://github.com/nextcloud/notify_push) for detailed setup instructions",
     "homepage": "",
     "licenses": [
@@ -180,9 +200,9 @@
     ]
   },
   "polls": {
-    "sha256": "1v5zb164f60qskfiv02l9x2v0d4rayacg5qivd70dawmyqnz4vmd",
-    "url": "https://github.com/nextcloud/polls/releases/download/v5.3.2/polls.tar.gz",
-    "version": "5.3.2",
+    "sha256": "1dmws4ybv3pzxz5g9c7ghblx0nfal2ssmsg7hjcs1n4xcjc6585p",
+    "url": "https://github.com/nextcloud/polls/releases/download/v5.4.2/polls.tar.gz",
+    "version": "5.4.2",
     "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).",
     "homepage": "https://github.com/nextcloud/polls",
     "licenses": [
@@ -240,9 +260,9 @@
     ]
   },
   "twofactor_nextcloud_notification": {
-    "sha256": "03fp8wcwhyp8ivrcf20klgg17sxc9fia5sa44rbrv3cicmwmw50b",
-    "url": "https://github.com/nextcloud-releases/twofactor_nextcloud_notification/releases/download/v3.7.0/twofactor_nextcloud_notification-v3.7.0.tar.gz",
-    "version": "3.7.0",
+    "sha256": "0gaqgzbryim580dxarak7p4g3wd8wp3w6lw9jhl84jh46wrsbrj8",
+    "url": "https://github.com/nextcloud-releases/twofactor_nextcloud_notification/releases/download/v3.8.0/twofactor_nextcloud_notification-v3.8.0.tar.gz",
+    "version": "3.8.0",
     "description": "Allows using any of your logged in devices as second factor",
     "homepage": "https://github.com/nextcloud/twofactor_nextcloud_notification",
     "licenses": [
@@ -250,9 +270,9 @@
     ]
   },
   "twofactor_webauthn": {
-    "sha256": "1lqcw74rsnl8c4sirw9208ra3c8zl8zp93scs7y8fv2n4n60l465",
-    "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v1.2.0/twofactor_webauthn-v1.2.0.tar.gz",
-    "version": "1.2.0",
+    "sha256": "0z6m2chq5kxc8f10g6n1lh51yi10svy2qp5gp0v8xs71apqcc2wx",
+    "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v1.3.0/twofactor_webauthn-v1.3.0.tar.gz",
+    "version": "1.3.0",
     "description": "A two-factor provider for WebAuthn devices",
     "homepage": "https://github.com/nextcloud/twofactor_webauthn#readme",
     "licenses": [
@@ -270,9 +290,9 @@
     ]
   },
   "user_saml": {
-    "sha256": "1gsq5mcn5nnxd56jlp4j2610gqq2gk3ma9yvhgy74wl0sqil98jd",
-    "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v5.2.2/user_saml-v5.2.2.tar.gz",
-    "version": "5.2.2",
+    "sha256": "04ivgqdls72p6x5yrh5p5ycbbfmxhzd0dqin1grblm6cbl7b4s2k",
+    "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v5.2.4/user_saml-v5.2.4.tar.gz",
+    "version": "5.2.4",
     "description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
     "homepage": "https://github.com/nextcloud/user_saml",
     "licenses": [
diff --git a/nixpkgs/pkgs/servers/nextcloud/packages/27.json b/nixpkgs/pkgs/servers/nextcloud/packages/27.json
index 257a773ecb76..6ecb1f3f522b 100644
--- a/nixpkgs/pkgs/servers/nextcloud/packages/27.json
+++ b/nixpkgs/pkgs/servers/nextcloud/packages/27.json
@@ -10,9 +10,9 @@
     ]
   },
   "calendar": {
-    "sha256": "1827l5hxsvfnyc2m78rs95cnb2fwi14nl7ricpl25ndh1j0a7ccz",
-    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.5.2/calendar-v4.5.2.tar.gz",
-    "version": "4.5.2",
+    "sha256": "1iq8np72pjw2bn4zmbp2rmrh12n4z62rwrz2bb94xjza1fws7b2v",
+    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.5.3/calendar-v4.5.3.tar.gz",
+    "version": "4.5.3",
     "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 Search! Find your events at ease\n* ☑️ Tasks! See tasks with a due date directly in the calendar\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
     "homepage": "https://github.com/nextcloud/calendar/",
     "licenses": [
@@ -29,6 +29,16 @@
       "agpl"
     ]
   },
+  "cookbook": {
+    "sha256": "18rzvdqd99nlkk3p0y9y8b17ihw5c4c9wsx8psq6xadspm97002y",
+    "url": "https://github.com/nextcloud/cookbook/releases/download/v0.10.2/Cookbook-0.10.2.tar.gz",
+    "version": "0.10.2",
+    "description": "A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings.",
+    "homepage": "",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "cospend": {
     "sha256": "1rg9k33yapbl8chpxx3bjyzc9h4krjavksbxsvw14kpm01rss3j9",
     "url": "https://github.com/julien-nc/cospend-nc/releases/download/v1.5.10/cospend-1.5.10.tar.gz",
@@ -40,9 +50,9 @@
     ]
   },
   "deck": {
-    "sha256": "060im5zlj7w6x9d5jpxsziqc8ym6fk573dynvdz231jx360s52g6",
-    "url": "https://github.com/nextcloud-releases/deck/releases/download/v1.11.0/deck-v1.11.0.tar.gz",
-    "version": "1.11.0",
+    "sha256": "18gscc95zay7nrzdm1h5b52r4bpmpzc1h1xb00214qnb59mydiwr",
+    "url": "https://github.com/nextcloud-releases/deck/releases/download/v1.11.1/deck-v1.11.1.tar.gz",
+    "version": "1.11.1",
     "description": "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized",
     "homepage": "https://github.com/nextcloud/deck",
     "licenses": [
@@ -93,7 +103,7 @@
     "sha256": "1rpqi7yqzhmdqfl2hq326zv91gn246bgqjzcimsiap20f22z169j",
     "url": "https://github.com/nextcloud-releases/impersonate/releases/download/v1.14.0/impersonate-v1.14.0.tar.gz",
     "version": "1.14.0",
-    "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.",
+    "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.\n- You can limit which users/groups can use impersonation in Administration settings > Additional settings.",
     "homepage": "https://github.com/nextcloud/impersonate",
     "licenses": [
       "agpl"
@@ -110,10 +120,10 @@
     ]
   },
   "mail": {
-    "sha256": "0mr3npd48j444lalkph1z8rsz5jllpgdrcqsjdrqgmf70y0g55mh",
-    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.4.3/mail-v3.4.3.tar.gz",
-    "version": "3.4.3",
-    "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!",
+    "sha256": "0ascail3vfkv3mm5s4s3ma74d6qxai76kdqxknmljnw56xb19qfv",
+    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.4.4/mail-v3.4.4.tar.gz",
+    "version": "3.4.4",
+    "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
     "homepage": "https://github.com/nextcloud/mail#readme",
     "licenses": [
       "agpl"
@@ -130,15 +140,25 @@
     ]
   },
   "memories": {
-    "sha256": "0i146mlg27phs407clclksn1wjkyl0c5fb2zw0npbx5dvqnpglcd",
-    "url": "https://github.com/pulsejet/memories/releases/download/v6.0.1/memories.tar.gz",
-    "version": "6.0.1",
+    "sha256": "1yn1wkv4jxpc8faf4rl46yfddyplnryrkws3jz0x1wcr9zlxdkng",
+    "url": "https://github.com/pulsejet/memories/releases/download/v6.1.0/memories.tar.gz",
+    "version": "6.1.0",
     "description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **📸 Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **⏪ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **🤖 AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **🖼️ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **🫱🏻‍🫲🏻 External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **📱 Mobile Support**: Work from any device, of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **📦 Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **📹 Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **🗺️ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **📦 Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **⚡️ Performance**: Do all this very fast.\n\n## 🚀 Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos.",
     "homepage": "https://memories.gallery",
     "licenses": [
       "agpl"
     ]
   },
+  "music": {
+    "sha256": "06w82v34csx4scl5n4k4fpdxiivrzjb3yvj3hh4bc15gdz68cis9",
+    "url": "https://github.com/owncloud/music/releases/download/v1.9.1/music_1.9.1_for_nextcloud.tar.gz",
+    "version": "1.9.1",
+    "description": "A stand-alone music player app and a \"lite\" player for the Files app\n\n- On modern browsers, supports audio types .mp3, .ogg, .m4a, .m4b, .flac, .wav, and more\n- Playlist support with import from m3u, m3u8, and pls files\n- Browse by artists, albums, genres, or folders\n- Gapless play\n- Filter the shown content with the search function\n- Play internet radio and podcast channels\n- Setup Last.fm connection to see background information on artists, albums, and songs\n- Control with media control keys on the keyboard or OS\n- The app can handle libraries consisting of thousands of albums and tens of thousands of songs\n- Includes a server backend compatible with the Subsonic and Ampache protocols, allowing playback and browsing of your library on various external apps e.g. on Android or iPhone",
+    "homepage": "https://github.com/owncloud/music",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "news": {
     "sha256": "1bkh73h0ibxyjpy3cmvhnlr7isvgqkcxdw2dw15mxksj2cln9wki",
     "url": "https://github.com/nextcloud/news/releases/download/24.0.0/news.tar.gz",
@@ -160,9 +180,9 @@
     ]
   },
   "notify_push": {
-    "sha256": "0hdxnkar2ibis5p0gp3yr1i6894la9wxq4pzrbqdrq2cgvsj6a18",
-    "url": "https://github.com/nextcloud-releases/notify_push/releases/download/v0.6.3/notify_push-v0.6.3.tar.gz",
-    "version": "0.6.3",
+    "sha256": "0lwyy1pnyfw464vab1v5k8q0rgarrj5w12cf1nsywjaafb8y1ym0",
+    "url": "https://github.com/nextcloud-releases/notify_push/releases/download/v0.6.5/notify_push-v0.6.5.tar.gz",
+    "version": "0.6.5",
     "description": "Push update support for desktop app.\n\nOnce the app is installed, the push binary needs to be setup. You can either use the setup wizard with `occ notify_push:setup` or see the [README](http://github.com/nextcloud/notify_push) for detailed setup instructions",
     "homepage": "",
     "licenses": [
@@ -180,9 +200,9 @@
     ]
   },
   "polls": {
-    "sha256": "1v5zb164f60qskfiv02l9x2v0d4rayacg5qivd70dawmyqnz4vmd",
-    "url": "https://github.com/nextcloud/polls/releases/download/v5.3.2/polls.tar.gz",
-    "version": "5.3.2",
+    "sha256": "1dmws4ybv3pzxz5g9c7ghblx0nfal2ssmsg7hjcs1n4xcjc6585p",
+    "url": "https://github.com/nextcloud/polls/releases/download/v5.4.2/polls.tar.gz",
+    "version": "5.4.2",
     "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).",
     "homepage": "https://github.com/nextcloud/polls",
     "licenses": [
@@ -240,9 +260,9 @@
     ]
   },
   "twofactor_nextcloud_notification": {
-    "sha256": "03fp8wcwhyp8ivrcf20klgg17sxc9fia5sa44rbrv3cicmwmw50b",
-    "url": "https://github.com/nextcloud-releases/twofactor_nextcloud_notification/releases/download/v3.7.0/twofactor_nextcloud_notification-v3.7.0.tar.gz",
-    "version": "3.7.0",
+    "sha256": "0gaqgzbryim580dxarak7p4g3wd8wp3w6lw9jhl84jh46wrsbrj8",
+    "url": "https://github.com/nextcloud-releases/twofactor_nextcloud_notification/releases/download/v3.8.0/twofactor_nextcloud_notification-v3.8.0.tar.gz",
+    "version": "3.8.0",
     "description": "Allows using any of your logged in devices as second factor",
     "homepage": "https://github.com/nextcloud/twofactor_nextcloud_notification",
     "licenses": [
@@ -250,9 +270,9 @@
     ]
   },
   "twofactor_webauthn": {
-    "sha256": "1lqcw74rsnl8c4sirw9208ra3c8zl8zp93scs7y8fv2n4n60l465",
-    "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v1.2.0/twofactor_webauthn-v1.2.0.tar.gz",
-    "version": "1.2.0",
+    "sha256": "0z6m2chq5kxc8f10g6n1lh51yi10svy2qp5gp0v8xs71apqcc2wx",
+    "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v1.3.0/twofactor_webauthn-v1.3.0.tar.gz",
+    "version": "1.3.0",
     "description": "A two-factor provider for WebAuthn devices",
     "homepage": "https://github.com/nextcloud/twofactor_webauthn#readme",
     "licenses": [
@@ -270,9 +290,9 @@
     ]
   },
   "user_saml": {
-    "sha256": "1gsq5mcn5nnxd56jlp4j2610gqq2gk3ma9yvhgy74wl0sqil98jd",
-    "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v5.2.2/user_saml-v5.2.2.tar.gz",
-    "version": "5.2.2",
+    "sha256": "04ivgqdls72p6x5yrh5p5ycbbfmxhzd0dqin1grblm6cbl7b4s2k",
+    "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v5.2.4/user_saml-v5.2.4.tar.gz",
+    "version": "5.2.4",
     "description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
     "homepage": "https://github.com/nextcloud/user_saml",
     "licenses": [
diff --git a/nixpkgs/pkgs/servers/nextcloud/packages/nextcloud-apps.json b/nixpkgs/pkgs/servers/nextcloud/packages/nextcloud-apps.json
index bbbe556f6cbe..8b6f49c524c5 100644
--- a/nixpkgs/pkgs/servers/nextcloud/packages/nextcloud-apps.json
+++ b/nixpkgs/pkgs/servers/nextcloud/packages/nextcloud-apps.json
@@ -2,6 +2,7 @@
   "bookmarks": "agpl3Plus"
 , "calendar": "agpl3Plus"
 , "contacts": "agpl3Plus"
+, "cookbook": "agpl3Plus"
 , "cospend": "agpl3Plus"
 , "deck": "agpl3Plus"
 , "files_texteditor": "agpl3Plus"
@@ -13,6 +14,7 @@
 , "mail": "agpl3Plus"
 , "maps": "agpl3Plus"
 , "memories": "agpl3Plus"
+, "music": "agpl3Plus"
 , "news": "agpl3Plus"
 , "notes": "agpl3Plus"
 , "notify_push": "agpl3Plus"
diff --git a/nixpkgs/pkgs/servers/nosql/arangodb/default.nix b/nixpkgs/pkgs/servers/nosql/arangodb/default.nix
index 36c978e364fe..52b9125e99d5 100644
--- a/nixpkgs/pkgs/servers/nosql/arangodb/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/arangodb/default.nix
@@ -15,12 +15,12 @@
 , lzo
 , which
 , targetArchitecture ? null
-, asmOptimizations ? gcc10Stdenv.targetPlatform.isx86
+, asmOptimizations ? gcc10Stdenv.hostPlatform.isx86
 }:
 
 let
   defaultTargetArchitecture =
-    if gcc10Stdenv.targetPlatform.isx86
+    if gcc10Stdenv.hostPlatform.isx86
     then "haswell"
     else "core";
 
@@ -72,7 +72,7 @@ gcc10Stdenv.mkDerivation rec {
     "-DTARGET_ARCHITECTURE=${targetArch}"
   ] ++ lib.optionals asmOptimizations [
     "-DASM_OPTIMIZATIONS=ON"
-    "-DHAVE_SSE42=${if gcc10Stdenv.targetPlatform.sse4_2Support then "ON" else "OFF"}"
+    "-DHAVE_SSE42=${if gcc10Stdenv.hostPlatform.sse4_2Support then "ON" else "OFF"}"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/nosql/ferretdb/default.nix b/nixpkgs/pkgs/servers/nosql/ferretdb/default.nix
index 4f683b83a571..ba46d7f01289 100644
--- a/nixpkgs/pkgs/servers/nosql/ferretdb/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/ferretdb/default.nix
@@ -6,13 +6,13 @@
 
 buildGo121Module rec {
   pname = "ferretdb";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "FerretDB";
     repo = "FerretDB";
     rev = "v${version}";
-    hash = "sha256-D1iMYh76a9H38tiZWByuJZrABWfjQFCkyxtbtLM/DMw=";
+    hash = "sha256-x5In8cBRki3rHaAB+iSglL19UCD8DtITr5gjb8KKuAw=";
   };
 
   postPatch = ''
@@ -20,7 +20,7 @@ buildGo121Module rec {
     echo nixpkgs     > build/version/package.txt
   '';
 
-  vendorHash = "sha256-WrnACseWo+bLn0IJhGY/DFsrMFAyy7J02cjO4FvE2xA=";
+  vendorHash = "sha256-0DFNDfJmBFpgzarg9FaGb8GV11LhA1N8oq0kSXIWxi8=";
 
   CGO_ENABLED = 0;
 
diff --git a/nixpkgs/pkgs/servers/owntracks-recorder/default.nix b/nixpkgs/pkgs/servers/owntracks-recorder/default.nix
index 85985584c827..83ebe99c1129 100644
--- a/nixpkgs/pkgs/servers/owntracks-recorder/default.nix
+++ b/nixpkgs/pkgs/servers/owntracks-recorder/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "owntracks-recorder";
-  version = "0.9.5";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "owntracks";
     repo = "recorder";
     rev = finalAttrs.version;
-    hash = "sha256-N9qMMAIgmBUEscydJKBQneLcX8odOEXY+560lJJz52g=";
+    hash = "sha256-QpPZDh++WHIvIgml32UWtAe3tzh2x7lFUu2xdioNGW4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/servers/slimserver/default.nix b/nixpkgs/pkgs/servers/slimserver/default.nix
index f561eec0bac8..08d9dbe97e6f 100644
--- a/nixpkgs/pkgs/servers/slimserver/default.nix
+++ b/nixpkgs/pkgs/servers/slimserver/default.nix
@@ -5,13 +5,18 @@
 , lib
 , makeWrapper
 , monkeysAudio
-, perlPackages
+, nixosTests
+, perl538Packages
 , sox
 , stdenv
 , wavpack
 , zlib
+, enableUnfreeFirmware ? false
 }:
 
+let
+  perlPackages = perl538Packages;
+in
 perlPackages.buildPerlPackage rec {
   pname = "slimserver";
   version = "8.3.1";
@@ -25,10 +30,99 @@ perlPackages.buildPerlPackage rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  buildInputs = [ perlPackages.CryptOpenSSLRSA perlPackages.IOSocketSSL ];
+  buildInputs = with perlPackages; [
+    AnyEvent
+    ArchiveZip
+    AsyncUtil
+    AudioScan
+    CarpClan
+    CGI
+    ClassAccessor
+    ClassAccessorChained
+    ClassC3
+    # ClassC3Componentised # Error: DBIx::Class::Row::throw_exception(): DBIx::Class::Relationship::BelongsTo::belongs_to(): Can't infer join condition for track
+    ClassDataInheritable
+    ClassInspector
+    ClassISA
+    ClassMember
+    ClassSingleton
+    ClassVirtual
+    ClassXSAccessor
+    CompressRawZlib
+    CryptOpenSSLRSA
+    DataDump
+    DataPage
+    DataURIEncode
+    DBDSQLite
+    DBI
+    # DBIxClass # https://github.com/Logitech/slimserver/issues/138
+    DigestSHA1
+    EncodeDetect
+    EV
+    ExporterLite
+    FileBOM
+    FileCopyRecursive
+    FileNext
+    FileReadBackwards
+    FileSlurp
+    FileWhich
+    HTMLParser
+    HTTPCookies
+    HTTPDaemon
+    HTTPMessage
+    ImageScale
+    IOAIO
+    IOInterface
+    IOSocketSSL
+    IOString
+    JSONXS
+    JSONXSVersionOneAndTwo
+    # LogLog4perl # Internal error: Root Logger not initialized.
+    LWP
+    LWPProtocolHttps
+    MP3CutGapless
+    NetHTTP
+    NetHTTPSNB
+    PathClass
+    ProcBackground
+    # SQLAbstract # DBI Exception: DBD::SQLite::db prepare_cached failed: no such function: ARRAY
+    SQLAbstractLimit
+    SubName
+    TemplateToolkit
+    TextUnidecode
+    TieCacheLRU
+    TieCacheLRUExpires
+    TieRegexpHash
+    TimeDate
+    URI
+    URIFind
+    UUIDTiny
+    XMLParser
+    XMLSimple
+    YAMLLibYAML
+  ]
+  # ++ (lib.optional stdenv.isDarwin perlPackages.MacFSEvents)
+  ++ (lib.optional stdenv.isLinux perlPackages.LinuxInotify2);
 
   prePatch = ''
+    # remove vendored binaries
     rm -rf Bin
+
+    # remove most vendored modules, keeping necessary ones
+    mkdir -p CPAN_used/Class/C3/ CPAN_used/SQL
+    rm -r CPAN/SQL/Abstract/Limit.pm
+    cp -rv CPAN/Class/C3/Componentised.pm CPAN_used/Class/C3/
+    cp -rv CPAN/DBIx CPAN_used/
+    cp -rv CPAN/Log CPAN_used/
+    cp -rv CPAN/SQL/* CPAN_used/SQL/
+    rm -r CPAN
+    mv CPAN_used CPAN
+
+    ${lib.optionalString (!enableUnfreeFirmware) ''
+      # remove unfree firmware
+      rm -rf Firmware
+    ''}
+
     touch Makefile.PL
   '';
 
@@ -38,18 +132,26 @@ perlPackages.buildPerlPackage rec {
     cp -r . $out
     wrapProgram $out/slimserver.pl \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ zlib stdenv.cc.cc.lib ]}" \
-      --prefix PATH : "${lib.makeBinPath [ lame flac faad2 sox monkeysAudio wavpack ]}"
+      --prefix PATH : "${lib.makeBinPath ([ lame flac faad2 sox wavpack ] ++ (lib.optional stdenv.isLinux monkeysAudio))}"
+    mkdir $out/bin
+    ln -s $out/slimserver.pl $out/bin/slimserver
   '';
 
   outputs = [ "out" ];
 
+  passthru.tests = {
+    inherit (nixosTests) slimserver;
+  };
+
   meta = with lib; {
     homepage = "https://github.com/Logitech/slimserver";
     description = "Server for Logitech Squeezebox players. This server is also called Logitech Media Server";
-    # the firmware is not under a free license!
+    # the firmware is not under a free license, but not included in the default package
     # https://github.com/Logitech/slimserver/blob/public/8.3/License.txt
-    license = licenses.unfree;
+    license = if enableUnfreeFirmware then licenses.unfree else licenses.gpl2Only;
+    mainProgram = "slimserver";
     maintainers = with maintainers; [ adamcstephens jecaro ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/servers/snappymail/default.nix b/nixpkgs/pkgs/servers/snappymail/default.nix
index 197e9b48d18b..312629fc3b62 100644
--- a/nixpkgs/pkgs/servers/snappymail/default.nix
+++ b/nixpkgs/pkgs/servers/snappymail/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "snappymail";
-  version = "2.29.1";
+  version = "2.29.2";
 
   src = fetchurl {
     url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz";
-    sha256 = "sha256-ZE17VCrpHlZ4GMc7+DaUyuehKtYWMr7NJFV1hGQ+UsA=";
+    sha256 = "sha256-f7xjjYy7uPSgssEftXPrfEcNrU6OFlXgwoTTWXgHfUU=";
   };
 
   sourceRoot = "snappymail";
diff --git a/nixpkgs/pkgs/servers/sql/dolt/default.nix b/nixpkgs/pkgs/servers/sql/dolt/default.nix
index 7500c0ca4ff2..73c826e968ad 100644
--- a/nixpkgs/pkgs/servers/sql/dolt/default.nix
+++ b/nixpkgs/pkgs/servers/sql/dolt/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "dolt";
-  version = "1.21.4";
+  version = "1.24.0";
 
   src = fetchFromGitHub {
     owner = "dolthub";
     repo = "dolt";
     rev = "v${version}";
-    sha256 = "sha256-pa9xsbO/d5/3wCx2XKn4dzlqPlO3Ie/cGJiwfWTEUKc=";
+    sha256 = "sha256-bft4fa/ZABodrm7uwl7o2whqWhxuL7l3nLqCuTv4V0k=";
   };
 
   modRoot = "./go";
   subPackages = [ "cmd/dolt" ];
-  vendorHash = "sha256-1Cy0PmDmMPpPZ2PLDP6sywb39MuExv2yabqSeP3Of9M=";
+  vendorHash = "sha256-0UNIPwFiQisWDRFaCA3JuS9R0byhWcCDQb54DZXQJ2w=";
   proxyVendor = true;
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix
index 5745630964e4..583bde82f481 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/postgis.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     homepage = "https://postgis.net/";
     changelog = "https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS";
     license = licenses.gpl2;
-    maintainers = [ maintainers.marcweber ];
+    maintainers = with maintainers; teams.geospatial.members ++ [ marcweber ];
     inherit (postgresql.meta) platforms;
     broken = versionOlder postgresql.version "12";
   };
diff --git a/nixpkgs/pkgs/servers/static-web-server/default.nix b/nixpkgs/pkgs/servers/static-web-server/default.nix
index a14313cdaf69..a8057cac7e7d 100644
--- a/nixpkgs/pkgs/servers/static-web-server/default.nix
+++ b/nixpkgs/pkgs/servers/static-web-server/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "static-web-server";
-  version = "2.24.0";
+  version = "2.24.1";
 
   src = fetchFromGitHub {
     owner = "static-web-server";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-NJjzfl44qRPph3M6u1jYELSvMzsPww8aD8DDNXSQjOo=";
+    hash = "sha256-U+B/k/stwjJw+mxUCb4A3yUtc/+Tg0PsWhVnovLLX4A=";
   };
 
-  cargoHash = "sha256-gHs8aFZozWgF4uE2mp/qRb9J3hRAohRwu15Q5/FLtTs=";
+  cargoHash = "sha256-ZDrRjIM8187nr72MlzFr0NAqH2f8qkF1sGAT9+NvfhA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/nixpkgs/pkgs/servers/unifi/default.nix b/nixpkgs/pkgs/servers/unifi/default.nix
index e705d8bc394c..c961321a875f 100644
--- a/nixpkgs/pkgs/servers/unifi/default.nix
+++ b/nixpkgs/pkgs/servers/unifi/default.nix
@@ -66,8 +66,7 @@ in rec {
   };
 
   unifi7 = generic {
-    version = "7.5.176";
-    suffix = "-1136930355";
-    sha256 = "sha256-prsFq09zYrB74p/MGKjwvZftw78k9wbIva5xFdk+Ztw=";
+    version = "7.5.187";
+    sha256 = "sha256-a5kl8gZbRnhS/p1imPl7soM0/QSFHdM0+2bNmDfc1mY=";
   };
 }
diff --git a/nixpkgs/pkgs/servers/web-apps/wordpress/packages/plugins.json b/nixpkgs/pkgs/servers/web-apps/wordpress/packages/plugins.json
index 5514822edb9b..346c459530a5 100644
--- a/nixpkgs/pkgs/servers/web-apps/wordpress/packages/plugins.json
+++ b/nixpkgs/pkgs/servers/web-apps/wordpress/packages/plugins.json
@@ -102,16 +102,16 @@
     "version": "2.06"
   },
   "mailpoet": {
-    "path": "mailpoet/tags/4.35.1",
-    "rev": "2990976",
-    "sha256": "0pf7r8q939420bzwd0mlv5zbnlkg824hg40vf3w082ryclzyiap5",
-    "version": "4.35.1"
+    "path": "mailpoet/tags/4.36.0",
+    "rev": "2995974",
+    "sha256": "1782z2b1bwg7mx9qzvyzpiymmkqiafd5ymb31q11i7ks19gxlmbw",
+    "version": "4.36.0"
   },
   "merge-minify-refresh": {
     "path": "merge-minify-refresh/trunk",
-    "rev": "2980433",
-    "sha256": "0vx71g1dihlmxrrgmc8fa3glxxndgxcrysidbc23hz33xd18wcbh",
-    "version": "1.15.1"
+    "rev": "2997367",
+    "sha256": "158i9pqn4qqa5mzn57pg4m9gsln35c0gfb8v7sg1y02hp9876shg",
+    "version": "2.2"
   },
   "opengraph": {
     "path": "opengraph/tags/1.11.2",
@@ -131,6 +131,12 @@
     "sha256": "1mrwgqp1ril54xqr8k2gwgjcsbf4xv3671v15xawapwz730h2c4r",
     "version": "0.10.0"
   },
+  "tc-custom-javascript": {
+    "path": "tc-custom-javascript/tags/1.2.3",
+    "rev": "2870386",
+    "sha256": "0lcprrnf25p6a12mf5hkfnl6r470n35pgfdl9nizjh4q43qzdcam",
+    "version": "1.2.3"
+  },
   "webp-converter-for-media": {
     "path": "webp-converter-for-media/tags/5.11.4",
     "rev": "2995294",
diff --git a/nixpkgs/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json b/nixpkgs/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json
index da458b8ede9f..ebcf43c24b06 100644
--- a/nixpkgs/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json
+++ b/nixpkgs/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json
@@ -21,6 +21,7 @@
 , "opengraph"
 , "simple-login-captcha"
 , "static-mail-sender-configurator"
+, "tc-custom-javascript"
 , "webp-converter-for-media"
 , "webp-express"
 , "wordpress-seo"
diff --git a/nixpkgs/pkgs/shells/fish/plugins/done.nix b/nixpkgs/pkgs/shells/fish/plugins/done.nix
index ad16e257bf62..1c1f5848aa30 100644
--- a/nixpkgs/pkgs/shells/fish/plugins/done.nix
+++ b/nixpkgs/pkgs/shells/fish/plugins/done.nix
@@ -2,13 +2,13 @@
 
 buildFishPlugin rec {
   pname = "done";
-  version = "1.17.1";
+  version = "1.19.1";
 
   src = fetchFromGitHub {
     owner = "franciscolourenco";
     repo = "done";
     rev = version;
-    hash = "sha256-aYKTkx5v7tB6k/UBcS0NOgA6SiRrjzn1lUTH/Xp5DFM=";
+    hash = "sha256-BGHfwKoMfOZUsa05kEt8W2luc1aC3Su/OyaGmcb4UiI=";
   };
 
   checkPlugins = [ fishtape ];
@@ -16,10 +16,10 @@ buildFishPlugin rec {
     fishtape test/done.fish
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Automatically receive notifications when long processes finish";
     homepage = "https://github.com/franciscolourenco/done";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ malo ];
+    license = licenses.mit;
+    maintainers = [ maintainers.malo ];
   };
 }
diff --git a/nixpkgs/pkgs/shells/fish/plugins/github-copilot-cli-fish.nix b/nixpkgs/pkgs/shells/fish/plugins/github-copilot-cli-fish.nix
index 83192ad092f5..14b57b9a62c6 100644
--- a/nixpkgs/pkgs/shells/fish/plugins/github-copilot-cli-fish.nix
+++ b/nixpkgs/pkgs/shells/fish/plugins/github-copilot-cli-fish.nix
@@ -2,13 +2,13 @@
 
 buildFishPlugin rec {
   pname = "github-copilot-cli.fish";
-  version = "0.1.33";
+  version = "0.1.33.1";
 
   src = fetchFromGitHub {
     owner = "z11i";
     repo = pname;
     rev = version;
-    hash = "sha256-dhACPlFrw1Z0dW0eA0IMnOelYJc7Fyz2D9u+rL1pyiM=";
+    hash = "sha256-CFXbeO0euC/UtvQV0KCz4WQfdJgsuXKPM6M9oaw7hvg=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/shells/hilbish/default.nix b/nixpkgs/pkgs/shells/hilbish/default.nix
index e558402543bf..f5450e1da5c3 100644
--- a/nixpkgs/pkgs/shells/hilbish/default.nix
+++ b/nixpkgs/pkgs/shells/hilbish/default.nix
@@ -35,7 +35,7 @@ buildGoModule rec {
     description = "An interactive Unix-like shell written in Go";
     changelog = "https://github.com/Rosettea/Hilbish/releases/tag/v${version}";
     homepage = "https://github.com/Rosettea/Hilbish";
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
     license = licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix b/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix
index b7c7284e9f43..5dc50c558acd 100644
--- a/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/spaceship-prompt/default.nix
@@ -35,6 +35,6 @@ stdenvNoCC.mkDerivation rec {
     changelog = "https://github.com/spaceship-prompt/spaceship-prompt/releases/tag/v${version}";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ nyanloutre fortuneteller2k kyleondy ];
+    maintainers = with maintainers; [ nyanloutre moni kyleondy ];
   };
 }
diff --git a/nixpkgs/pkgs/shells/zsh/zsh-prezto/default.nix b/nixpkgs/pkgs/shells/zsh/zsh-prezto/default.nix
index 7c7ba87d848d..1565fb8b16f0 100644
--- a/nixpkgs/pkgs/shells/zsh/zsh-prezto/default.nix
+++ b/nixpkgs/pkgs/shells/zsh/zsh-prezto/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-prezto";
-  version = "unstable-2023-09-12";
+  version = "unstable-2023-11-08";
 
   src = fetchFromGitHub {
     owner = "sorin-ionescu";
     repo = "prezto";
-    rev = "5ac930d96be3a51730f7d9d7330f28d9c9c36e0a";
-    sha256 = "tyroeGADhBRCQ9/WqNSqMV7kvFUPdC2fcs/B5G5qYhI=";
+    rev = "f04191aa8ae475cf71f491830d424226d84501c9";
+    sha256 = "7cdtDKNyTSUn3Fo6BO3f0SMBgOQs4/5SnHXB7JtAdkA=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index deda9b052e53..1324c78c5fd6 100644
--- a/nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/nixpkgs/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -1,5 +1,21 @@
 { pkgspath ? ../../.., test-pkgspath ? pkgspath
 , localSystem ? { system = builtins.currentSystem; }
+# Specify the desired LLVM version in an overlay to avoid the use of
+# mismatching versions.
+#
+# The llvmPackages that we take things (clang, libc++ and such) from
+# is specified explicitly to be llvmPackages_11 to keep the
+# bootstrap-tools stable.  However, tools like otool,
+# install_name_tool and strip are taken straight from stdenv.cc,
+# which, after the bump, is a different LLVM version altogether.
+#
+# The original intent was that bootstrap-tools specified LLVM 11
+# exhaustively but it didn't. That should be rectified with this
+# PR. As to why stick with 11? That's just to keep the
+# bootstrap-tools unchanged.
+#
+# https://github.com/NixOS/nixpkgs/pull/267058/files#r1390889848
+, overlays ? [(self: super: { llvmPackages = super.llvmPackages_11; })]
 , crossSystem ? null
 , bootstrapFiles ? null
 }:
@@ -13,11 +29,9 @@ let cross = if crossSystem != null
               in (import "${pkgspath}/pkgs/stdenv/darwin" args');
            }
       else {};
-in with import pkgspath ({ inherit localSystem; } // cross // custom-bootstrap);
+in with import pkgspath ({ inherit localSystem overlays; } // cross // custom-bootstrap);
 
-let
-  llvmPackages = llvmPackages_11;
-in rec {
+rec {
   coreutils_ = coreutils.override (args: {
     # We want coreutils without ACL support.
     aclSupport = false;
diff --git a/nixpkgs/pkgs/test/cross/default.nix b/nixpkgs/pkgs/test/cross/default.nix
index 71d7d5f75ef0..b4da2de5c5b8 100644
--- a/nixpkgs/pkgs/test/cross/default.nix
+++ b/nixpkgs/pkgs/test/cross/default.nix
@@ -156,6 +156,9 @@ let
     # Two web browsers -- exercises almost the entire packageset
     pkgs.pkgsCross.aarch64-multiplatform.qt5.qutebrowser
     pkgs.pkgsCross.aarch64-multiplatform.firefox
+
+    # Uses pkgsCross.riscv64-embedded; see https://github.com/NixOS/nixpkgs/issues/267859
+    pkgs.spike
   ];
 
 in {
diff --git a/nixpkgs/pkgs/test/default.nix b/nixpkgs/pkgs/test/default.nix
index d8c5f3208bca..9543e165a805 100644
--- a/nixpkgs/pkgs/test/default.nix
+++ b/nixpkgs/pkgs/test/default.nix
@@ -67,7 +67,6 @@ with pkgs;
             # libcxx does not build for some reason on aarch64-linux
             (filterAttrs (n: _: n != "llvmPackages_7"))
           ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
-            (filterAttrs (n: _: n != "llvmPackages_5"))
             (filterAttrs (n: _: n != "llvmPackages_6"))
             (filterAttrs (n: _: n != "llvmPackages_7"))
             (filterAttrs (n: _: n != "llvmPackages_8"))
diff --git a/nixpkgs/pkgs/tools/X11/srandrd/default.nix b/nixpkgs/pkgs/tools/X11/srandrd/default.nix
index 4c79e11765cb..84f43301bbd7 100644
--- a/nixpkgs/pkgs/tools/X11/srandrd/default.nix
+++ b/nixpkgs/pkgs/tools/X11/srandrd/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "srandrd";
-  version = "0.6.0";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "jceb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "07r1ck2ijj30n19ylndgw75ly9k3815kj9inpxblfnjpwbbw6ic0";
+    sha256 = "sha256-Wf+tVqDaNAiH6UHN8fFv2wM+LEch6wKlZOkqWEqLLkw=";
   };
 
   buildInputs = [ libX11 libXrandr libXinerama ];
diff --git a/nixpkgs/pkgs/tools/admin/awscli/default.nix b/nixpkgs/pkgs/tools/admin/awscli/default.nix
index 16acc62416af..7bbc1e14efbe 100644
--- a/nixpkgs/pkgs/tools/admin/awscli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/awscli/default.nix
@@ -10,11 +10,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "awscli";
-  version = "1.29.57"; # N.B: if you change this, change botocore and boto3 to a matching version too
+  version = "1.30.2"; # N.B: if you change this, change botocore and boto3 to a matching version too
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+xME5GiDitxn61yrIkiEByx/xeMeXMrVS2rifIX6Ci8=";
+    hash = "sha256-XbYsPbYUIJPCS+nhcE3A5K7yxHcGUkulT5vHPT5T9kM=";
   };
 
 
diff --git a/nixpkgs/pkgs/tools/admin/copilot-cli/default.nix b/nixpkgs/pkgs/tools/admin/copilot-cli/default.nix
index 8257c7a3869d..331d83292bf4 100644
--- a/nixpkgs/pkgs/tools/admin/copilot-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/copilot-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "copilot-cli";
-  version = "1.31.0";
+  version = "1.32.0";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-9+K1d35wghK/j4hp7tGRDvj/5s3wiwj/++wovUf6n4Q=";
+    hash = "sha256-w63mNGDUc5YrlBrqsXRyy4SPC35kNKWhiHe6Sfc30tI=";
   };
 
-  vendorHash = "sha256-qV2uZX2In+NYpzlQRuTfRtmWhozYwviVaFxMC+4kf7I=";
+  vendorHash = "sha256-8hZFsYMZQ8RxImEG2t0kfukbRjAJMEDSYF+ryLOZelc=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix b/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
index 862b68be94ef..e7d889e9009c 100644
--- a/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "exoscale-cli";
-  version = "1.74.3";
+  version = "1.74.4";
 
   src = fetchFromGitHub {
     owner = "exoscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-upnwaY++tUg4LcuD/BMSvvM2bo/95OP+SUK/aOiq1Oo=";
+    sha256 = "sha256-PzjIcdzEmX+0PRurOX5ZQ4LQnBny9Av8eKhPsyiZb6c=";
   };
 
   vendorHash = null;
diff --git a/nixpkgs/pkgs/tools/admin/scalr-cli/default.nix b/nixpkgs/pkgs/tools/admin/scalr-cli/default.nix
index 3450019afa26..7adbaf7f6689 100644
--- a/nixpkgs/pkgs/tools/admin/scalr-cli/default.nix
+++ b/nixpkgs/pkgs/tools/admin/scalr-cli/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "scalr-cli";
-  version = "0.15.2";
+  version = "0.15.3";
 
   src = fetchFromGitHub {
     owner = "Scalr";
     repo = "scalr-cli";
     rev = "v${version}";
-    hash = "sha256-vuYkUFh9C+D6Sbu/vbEFV57FDVQVSCkvOxdLeDVbe18=";
+    hash = "sha256-ciretC6z2NcLffSkK78DFIUqbRHgVTA7OEyNk6qdAgI=";
   };
 
   vendorHash = "sha256-zyshSluHq5f+DQV4K7qxHNsZ4nKzL8J5A25rdg9fHeM=";
diff --git a/nixpkgs/pkgs/tools/audio/tts/default.nix b/nixpkgs/pkgs/tools/audio/tts/default.nix
index f6b1f6d9f669..48c936ca632f 100644
--- a/nixpkgs/pkgs/tools/audio/tts/default.nix
+++ b/nixpkgs/pkgs/tools/audio/tts/default.nix
@@ -16,14 +16,14 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "tts";
-  version = "0.19.1";
-  format = "pyproject";
+  version = "0.20.2";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "coqui-ai";
     repo = "TTS";
     rev = "refs/tags/v${version}";
-    hash = "sha256-GYVr/Wam1IGCSR2vHMAu5Fg/jRB333L6iNjltnRKh4E=";
+    hash = "sha256-1nlSf15IEX1qKfDtR6+jQqskjxIuzaIWatkj9Z1fh8Y=";
   };
 
   postPatch = let
@@ -57,7 +57,9 @@ python.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = with python.pkgs; [
     cython
+    numpy
     packaging
+    setuptools
   ];
 
   propagatedBuildInputs = with python.pkgs; [
diff --git a/nixpkgs/pkgs/tools/bluetooth/bluetuith/default.nix b/nixpkgs/pkgs/tools/bluetooth/bluetuith/default.nix
index 6b1260553188..d6fad23c1632 100644
--- a/nixpkgs/pkgs/tools/bluetooth/bluetuith/default.nix
+++ b/nixpkgs/pkgs/tools/bluetooth/bluetuith/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "bluetuith";
-  version = "0.1.8";
+  version = "0.1.9";
 
   src = fetchFromGitHub {
     owner = "darkhz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-b+J+8nxFZYJlAKOStpH7ItPqMw7inM5pss17kyX1brg=";
+    sha256 = "sha256-vdHnG0uQdy5PboIovtxl5i9xwFpjYLCZf2IGeiMcWe8=";
   };
 
-  vendorHash = "sha256-d0O54KNGLXU8FGr1eSEp30JMWNVo91Le2MI8UnAfTuU=";
+  vendorHash = "sha256-pYVEFKLPfstWWO6ypgv7ntAaE1Wmq2XKuZC2ccMa8Vc=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/nixpkgs/pkgs/tools/compression/zfp/default.nix b/nixpkgs/pkgs/tools/compression/zfp/default.nix
index d63140b14760..fdb005007f1e 100644
--- a/nixpkgs/pkgs/tools/compression/zfp/default.nix
+++ b/nixpkgs/pkgs/tools/compression/zfp/default.nix
@@ -2,7 +2,7 @@
 , config
 , enableCfp ? true
 , enableCuda ? config.cudaSupport
-, enableFortran ? builtins.elem stdenv.targetPlatform.system gfortran.meta.platforms
+, enableFortran ? builtins.elem stdenv.hostPlatform.system gfortran.meta.platforms
 , enableOpenMP ? true
 , enablePython ? true
 , enableUtilities ? true }:
diff --git a/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
index e6263ca62c67..f6e1cb2e0b11 100644
--- a/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -18,20 +18,19 @@
 , rustc
 , rustPlatform
 , makeWrapper
+, writeScript
 , fuseSupport ? false
 }:
-let
-  version = "1.3.3";
-in
-stdenv.mkDerivation {
+
+stdenv.mkDerivation (finalAttrs: {
   pname = "bcachefs-tools";
-  inherit version;
+  version = "1.3.3";
 
 
   src = fetchFromGitHub {
     owner = "koverstreet";
     repo = "bcachefs-tools";
-    rev = "v${version}";
+    rev = "v${finalAttrs.version}";
     hash = "sha256-73vgwgBqyRLQ/Tts7bl6DhZMOs8ndIOiCke5tN89Wps=";
   };
 
@@ -71,7 +70,7 @@ stdenv.mkDerivation {
 
   makeFlags = [
     "PREFIX=${placeholder "out"}"
-    "VERSION=${version}"
+    "VERSION=${finalAttrs.version}"
     "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools"
   ];
 
@@ -79,9 +78,30 @@ stdenv.mkDerivation {
     rm tests/test_fuse.py
   '';
 
-  passthru.tests = {
-    smoke-test = nixosTests.bcachefs;
-    inherit (nixosTests.installer) bcachefsSimple bcachefsEncrypted bcachefsMulti;
+  passthru = {
+    tests = {
+      smoke-test = nixosTests.bcachefs;
+
+      inherit (nixosTests.installer)
+        bcachefsSimple
+        bcachefsEncrypted
+        bcachefsMulti
+        bcachefsLinuxTesting
+        bcachefsUpgradeToLinuxTesting;
+    };
+
+    updateScript = writeScript "update-bcachefs-tools-and-cargo-lock.sh" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p curl jq common-updater-scripts
+      res="$(curl ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \
+        -sL "https://api.github.com/repos/${finalAttrs.src.owner}/${finalAttrs.src.repo}/tags?per_page=1")"
+
+      version="$(echo $res | jq '.[0].name | split("v") | .[1]' --raw-output)"
+      update-source-version ${finalAttrs.pname} "$version" --ignore-same-hash
+
+      curl "https://raw.githubusercontent.com/${finalAttrs.src.owner}/${finalAttrs.src.repo}/v$version/rust-src/Cargo.lock" > \
+        "$(git rev-parse --show-toplevel)/pkgs/tools/filesystems/bcachefs-tools/Cargo.lock"
+    '';
   };
 
   enableParallelBuilding = true;
@@ -93,4 +113,4 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ davidak Madouura ];
     platforms = platforms.linux;
   };
-}
+})
diff --git a/nixpkgs/pkgs/tools/games/pocket-updater-utility/default.nix b/nixpkgs/pkgs/tools/games/pocket-updater-utility/default.nix
index ef52b388ae8c..2d841c00c516 100644
--- a/nixpkgs/pkgs/tools/games/pocket-updater-utility/default.nix
+++ b/nixpkgs/pkgs/tools/games/pocket-updater-utility/default.nix
@@ -6,7 +6,7 @@
 , dotnetCorePackages ? pkgs.dotnetCorePackages
 , openssl ? pkgs.openssl
 , zlib ? pkgs.zlib
-, targetPlatform ? pkgs.targetPlatform
+, hostPlatform ? stdenv.hostPlatform
 }:
 
 buildDotnetModule rec {
@@ -30,7 +30,7 @@ buildDotnetModule rec {
   patches = [ ./add-runtime-identifier.patch ];
   postPatch = ''
     substituteInPlace pocket_updater.csproj \
-      --replace @RuntimeIdentifier@ "${dotnetCorePackages.systemToDotnetRid targetPlatform.system}"
+      --replace @RuntimeIdentifier@ "${dotnetCorePackages.systemToDotnetRid hostPlatform.system}"
   '';
 
   projectFile = "pocket_updater.csproj";
diff --git a/nixpkgs/pkgs/tools/graphics/lsix/default.nix b/nixpkgs/pkgs/tools/graphics/lsix/default.nix
index a9f8aa21bf1d..dcf078654b82 100644
--- a/nixpkgs/pkgs/tools/graphics/lsix/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/lsix/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "lsix";
-  version = "1.8";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "hackerb9";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Qx6/PFm1XBmEI6iI+Ref9jNe6sXIhsVL4VQ1CX+caZE=";
+    sha256 = "sha256-xlOlAfZonSo/RERt5WxPqMvppVrY5/Yhh7SgCCsYDQE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/graphics/xcolor/default.nix b/nixpkgs/pkgs/tools/graphics/xcolor/default.nix
index 1ef2c807bde7..dabe14d895fa 100644
--- a/nixpkgs/pkgs/tools/graphics/xcolor/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/xcolor/default.nix
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Lightweight color picker for X11";
     homepage = "https://github.com/Soft/xcolor";
-    maintainers = with lib.maintainers; [ fortuneteller2k ];
+    maintainers = with lib.maintainers; [ moni ];
     license = licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/tools/graphics/zbar/0.23.92-CVE-2023-40889.patch b/nixpkgs/pkgs/tools/graphics/zbar/0.23.92-CVE-2023-40889.patch
new file mode 100644
index 000000000000..7b7ca5a0befa
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/zbar/0.23.92-CVE-2023-40889.patch
@@ -0,0 +1,17 @@
+Simple bounds checks for CVE-2023-40889, based on third-party
+fix by Remi Meier @
+https://github.com/Raemi/zbar/commit/5e8acc6974f17e56c3ddaa5509870beb8d7a599c
+
+--- a/zbar/qrcode/qrdec.c
++++ b/zbar/qrcode/qrdec.c
+@@ -3900,8 +3900,8 @@ void qr_reader_match_centers(qr_reader *_reader,qr_code_data_list *_qrlist,
+     /*TODO: We might be able to accelerate this step significantly by
+        considering the remaining finder centers in a more intelligent order,
+        based on the first finder center we just chose.*/
+-    for(j=i+1;!mark[i]&&j<_ncenters;j++){
+-      for(k=j+1;!mark[j]&&k<_ncenters;k++)if(!mark[k]){
++    for(j=i+1; i < _ncenters && !mark[i]&&j<_ncenters;j++){
++      for(k=j+1; j < _ncenters && !mark[j]&&k<_ncenters;k++)if(!mark[k]){
+         qr_finder_center *c[3];
+         qr_code_data      qrdata;
+         int               version;
diff --git a/nixpkgs/pkgs/tools/graphics/zbar/0.23.92-CVE-2023-40890.patch b/nixpkgs/pkgs/tools/graphics/zbar/0.23.92-CVE-2023-40890.patch
new file mode 100644
index 000000000000..3576df214ae1
--- /dev/null
+++ b/nixpkgs/pkgs/tools/graphics/zbar/0.23.92-CVE-2023-40890.patch
@@ -0,0 +1,26 @@
+Simple bounds checks for CVE-2023-40890
+
+--- a/zbar/decoder/databar.c
++++ b/zbar/decoder/databar.c
+@@ -23,6 +23,8 @@
+ 
+ #include <config.h>
+ #include <zbar.h>
++#include <stdlib.h>
++#include <stdio.h>
+ 
+ #ifdef DEBUG_DATABAR
+ # define DEBUG_LEVEL (DEBUG_DATABAR)
+@@ -691,6 +693,12 @@ lookup_sequence (databar_segment_t *seg,
+             fixed = -1;
+         s <<= 1;
+         dbprintf(2, "%x", s);
++
++        if (i > 20) {
++            fprintf(stderr, "Bug: Out-of-bounds condition detected\n");
++            exit(99);
++        }
++
+         seq[i++] = s++;
+         seq[i++] = s;
+     }
diff --git a/nixpkgs/pkgs/tools/graphics/zbar/default.nix b/nixpkgs/pkgs/tools/graphics/zbar/default.nix
index f9b84d2656a3..5a1d7e94fdf6 100644
--- a/nixpkgs/pkgs/tools/graphics/zbar/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/zbar/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, fetchpatch
 , imagemagickBig
 , pkg-config
 , withXorg ? true
@@ -42,6 +43,11 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-VhVrngAX7pXZp+szqv95R6RGAJojp3svdbaRKigGb0w=";
   };
 
+  patches = [
+    ./0.23.92-CVE-2023-40889.patch
+    ./0.23.92-CVE-2023-40890.patch
+  ];
+
   nativeBuildInputs = [
     pkg-config
     xmlto
diff --git a/nixpkgs/pkgs/tools/misc/bfetch/default.nix b/nixpkgs/pkgs/tools/misc/bfetch/default.nix
index 107f2cd94528..675a8cb11f38 100644
--- a/nixpkgs/pkgs/tools/misc/bfetch/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bfetch/default.nix
@@ -24,6 +24,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/NNBnh/bfetch";
     license = licenses.gpl3Only;
     platforms = platforms.all;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/bootspec/default.nix b/nixpkgs/pkgs/tools/misc/bootspec/default.nix
index 7bf6bc478d7c..2ffa6c47ab09 100644
--- a/nixpkgs/pkgs/tools/misc/bootspec/default.nix
+++ b/nixpkgs/pkgs/tools/misc/bootspec/default.nix
@@ -1,6 +1,7 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
+, fetchpatch
 }:
 rustPlatform.buildRustPackage rec {
   pname = "bootspec";
@@ -13,6 +14,17 @@ rustPlatform.buildRustPackage rec {
     hash = "sha256-5IGSMHeL0eKfl7teDejAckYQjc8aeLwfwIQSzQ8YaAg=";
   };
 
+  patches = [
+    # https://github.com/DeterminateSystems/bootspec/pull/127
+    # Fixes the synthesize tool for aarch64-linux
+    (fetchpatch {
+      name = "aarch64-support.patch";
+      url = "https://github.com/DeterminateSystems/bootspec/commit/1d0e925f360f0199f13422fb7541225fd162fd4f.patch";
+      sha256 = "sha256-wU/jWnOqVBrU2swANdXbQfzRpNd/JIS4cxSyCvixZM0=";
+    })
+
+  ];
+
   cargoHash = "sha256-eGSKVHjPnHK7WyGkO5LIjocNGHawahYQR3H5Lgk1C9s=";
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
index 8926b9714291..09a4ef57c69f 100644
--- a/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
+++ b/nixpkgs/pkgs/tools/misc/diffoscope/default.nix
@@ -78,11 +78,11 @@
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3.pkgs.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "251";
+  version = "252";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    hash = "sha256-7oAFxzLLEds9SI14F88QRhirb/3pjXhmGaW0SWUgpv4=";
+    hash = "sha256-NmYv5htZT2v04vVksIWGuaPI1rXfNmrVSmErT/faBbQ=";
   };
 
   outputs = [
diff --git a/nixpkgs/pkgs/tools/misc/elfcat/default.nix b/nixpkgs/pkgs/tools/misc/elfcat/default.nix
index 359bd6d3ab93..222470299739 100644
--- a/nixpkgs/pkgs/tools/misc/elfcat/default.nix
+++ b/nixpkgs/pkgs/tools/misc/elfcat/default.nix
@@ -17,6 +17,6 @@ rustPlatform.buildRustPackage rec {
     description = "ELF visualizer, generates HTML files from ELF binaries.";
     homepage = "https://github.com/ruslashev/elfcat";
     license = licenses.zlib;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/entr/default.nix b/nixpkgs/pkgs/tools/misc/entr/default.nix
index b46b94037083..efee9f7043e5 100644
--- a/nixpkgs/pkgs/tools/misc/entr/default.nix
+++ b/nixpkgs/pkgs/tools/misc/entr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "entr";
-  version = "5.4";
+  version = "5.5";
 
   src = fetchurl {
     url = "https://eradman.com/entrproject/code/${pname}-${version}.tar.gz";
-    hash = "sha256-SR3e0sw/Hc2NJvSWpMezqZa5HHqyCIPKN1A3o5giH54=";
+    hash = "sha256-EowM4u/qWua9P9M8PNMeFh6wwCYJ2HF6036VtBZW5SY=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/esphome/default.nix b/nixpkgs/pkgs/tools/misc/esphome/default.nix
index 8639358ebcaf..60c81924805f 100644
--- a/nixpkgs/pkgs/tools/misc/esphome/default.nix
+++ b/nixpkgs/pkgs/tools/misc/esphome/default.nix
@@ -16,14 +16,14 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "2023.11.1";
+  version = "2023.11.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-hdSWrKOht1McZxTJtgvy+vqN49bi/P54/D7WDxIRb4w=";
+    hash = "sha256-7VYGrWoElc/urs+jomJrRt0dzdmJhCenRvb9bHCl6H4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/misc/fend/default.nix b/nixpkgs/pkgs/tools/misc/fend/default.nix
index fe1d957437d0..074088f3f19e 100644
--- a/nixpkgs/pkgs/tools/misc/fend/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fend/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fend";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "printfn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-iF1E9wBX9UVv/zuCgznXqKLBF+Xk0LqVdJfxFNpmzRI=";
+    sha256 = "sha256-An1biuaqPeRniJZroxoT2o9IEA4XFf5l6ut4nmOsQJI=";
   };
 
-  cargoHash = "sha256-xf4Q6nk2sYuAV+B7dsRF+feiLRKLXDSHnlYmw+o5bNc=";
+  cargoHash = "sha256-gnFu0JsMt1wMfifF6EnjDwwydFnVyqpkHV0cyR5Qt3Y=";
 
   nativeBuildInputs = [ pandoc installShellFiles copyDesktopItems ];
   buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
diff --git a/nixpkgs/pkgs/tools/misc/fetchutils/default.nix b/nixpkgs/pkgs/tools/misc/fetchutils/default.nix
index e9ee3fba516d..d1c830f877d6 100644
--- a/nixpkgs/pkgs/tools/misc/fetchutils/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fetchutils/default.nix
@@ -24,6 +24,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/lptstr/fetchutils";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/fzf/default.nix b/nixpkgs/pkgs/tools/misc/fzf/default.nix
index c27e1ff1aacc..8e783fc15509 100644
--- a/nixpkgs/pkgs/tools/misc/fzf/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fzf/default.nix
@@ -25,13 +25,13 @@ let
 in
 buildGoModule rec {
   pname = "fzf";
-  version = "0.44.0";
+  version = "0.44.1";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    hash = "sha256-YIMtLQzxORWFWCgdnLUQLmmE79aw40LhcxqiHCWjgNk=";
+    hash = "sha256-oL3AA/3RPKcXLBNYaBYleueQph7/xvN/UEhwcYM9lAs=";
   };
 
   vendorHash = "sha256-EutNjyW5bvGvMZP9xBrcu91TOAbl9TDZe2+g0/qnuAQ=";
diff --git a/nixpkgs/pkgs/tools/misc/gh-actions-cache/default.nix b/nixpkgs/pkgs/tools/misc/gh-actions-cache/default.nix
index 8bc735f4e523..46fe8cb704d1 100644
--- a/nixpkgs/pkgs/tools/misc/gh-actions-cache/default.nix
+++ b/nixpkgs/pkgs/tools/misc/gh-actions-cache/default.nix
@@ -21,8 +21,9 @@ buildGoModule rec {
     "-w"
   ];
 
-  # Tests need network
-  doCheck = false;
+  # Needed for tests.
+  # https://github.com/actions/gh-actions-cache/issues/53#issuecomment-1464954495
+  env.GH_TOKEN = "dummy-token-to-facilitate-rest-client";
 
   meta = {
     description = "gh extension to manage GitHub Actions caches";
diff --git a/nixpkgs/pkgs/tools/misc/graylog/5.1.nix b/nixpkgs/pkgs/tools/misc/graylog/5.1.nix
index 3dc849eaeec7..cc033e50fee5 100644
--- a/nixpkgs/pkgs/tools/misc/graylog/5.1.nix
+++ b/nixpkgs/pkgs/tools/misc/graylog/5.1.nix
@@ -2,8 +2,8 @@
 let
   buildGraylog = callPackage ./graylog.nix {};
 in buildGraylog {
-  version = "5.1.4";
-  sha256 = "sha256-ZuzmNbc+qB6oYCnR5iAsSEQGTB+pk+ghF0/+O3BTLkA=";
+  version = "5.1.7";
+  sha256 = "sha256-OIdDBrLJEXhnQF98F0ncsoYcrH4KtHUz9Di1Jefsi6w=";
   maintainers = [ lib.maintainers.f2k1de ];
   license = lib.licenses.sspl;
 }
diff --git a/nixpkgs/pkgs/tools/misc/ripdrag/default.nix b/nixpkgs/pkgs/tools/misc/ripdrag/default.nix
index 3417382bab91..b2288810d30e 100644
--- a/nixpkgs/pkgs/tools/misc/ripdrag/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ripdrag/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ripdrag";
-  version = "0.4.4";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "nik012003";
     repo = "ripdrag";
     rev = "v${version}";
-    hash = "sha256-GWNu970nyD4E2mWghOtHnuvVYGhgZ87zNCNxSpxOsgQ=";
+    hash = "sha256-mU2S4DhS2KXO7uIMBhJvaTjLpkFCljyEVoPcq4b2jKc=";
   };
 
-  cargoHash = "sha256-aN+25hhE6LhI8M+enyzsfSTARIxbY36mdeP70rjBJQ8=";
+  cargoHash = "sha256-PWFNLtEXIgZ0RheDS5j9/MMXgzFjgCJKMi/51Z2ta8I=";
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook4 ];
 
diff --git a/nixpkgs/pkgs/tools/misc/rlwrap/default.nix b/nixpkgs/pkgs/tools/misc/rlwrap/default.nix
index ec0f90a5c46d..2d48edf2dfd2 100644
--- a/nixpkgs/pkgs/tools/misc/rlwrap/default.nix
+++ b/nixpkgs/pkgs/tools/misc/rlwrap/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ readline ];
 
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-error=implicit-function-declaration";
+
   meta = with lib; {
     description = "Readline wrapper for console programs";
     homepage = "https://github.com/hanslub42/rlwrap";
diff --git a/nixpkgs/pkgs/tools/misc/sacad/default.nix b/nixpkgs/pkgs/tools/misc/sacad/default.nix
index aca6e18e372c..5aa6adf768a2 100644
--- a/nixpkgs/pkgs/tools/misc/sacad/default.nix
+++ b/nixpkgs/pkgs/tools/misc/sacad/default.nix
@@ -34,6 +34,6 @@ python3Packages.buildPythonApplication rec {
     description = "Smart Automatic Cover Art Downloader";
     homepage = "https://github.com/desbma/sacad";
     license = licenses.mpl20;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/sharedown/default.nix b/nixpkgs/pkgs/tools/misc/sharedown/default.nix
index f6b372d92649..0f93551965e2 100644
--- a/nixpkgs/pkgs/tools/misc/sharedown/default.nix
+++ b/nixpkgs/pkgs/tools/misc/sharedown/default.nix
@@ -114,7 +114,5 @@ stdenvNoCC.mkDerivation rec {
     maintainers = with maintainers; [
     ];
     platforms = platforms.unix;
-    # "Couldn't find any versions for \"node-gyp\" that matches \"latest\" in our cache (possible versions are \"\")
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/shim/default.nix b/nixpkgs/pkgs/tools/misc/shim/default.nix
index 1615a6d8c794..0989a37454ca 100644
--- a/nixpkgs/pkgs/tools/misc/shim/default.nix
+++ b/nixpkgs/pkgs/tools/misc/shim/default.nix
@@ -3,7 +3,7 @@
 
 let
 
-  inherit (stdenv.targetPlatform) system;
+  inherit (stdenv.hostPlatform) system;
   throwSystem = throw "Unsupported system: ${system}";
 
   target = {
diff --git a/nixpkgs/pkgs/tools/misc/vector/Cargo.lock b/nixpkgs/pkgs/tools/misc/vector/Cargo.lock
index c3cb420f5fea..d5b347bb4155 100644
--- a/nixpkgs/pkgs/tools/misc/vector/Cargo.lock
+++ b/nixpkgs/pkgs/tools/misc/vector/Cargo.lock
@@ -9864,7 +9864,7 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
 
 [[package]]
 name = "vector"
-version = "0.34.0"
+version = "0.34.1"
 dependencies = [
  "apache-avro",
  "approx",
diff --git a/nixpkgs/pkgs/tools/misc/vector/default.nix b/nixpkgs/pkgs/tools/misc/vector/default.nix
index 7c4afb16ebca..fe58e934f55f 100644
--- a/nixpkgs/pkgs/tools/misc/vector/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vector/default.nix
@@ -27,14 +27,14 @@
     # the second feature flag is passed to the rdkafka dependency
     # building on linux fails without this feature flag (both x86_64 and AArch64)
     ++ lib.optionals enableKafka [ "rdkafka?/gssapi-vendored" ]
-    ++ lib.optional stdenv.targetPlatform.isUnix "unix")
+    ++ lib.optional stdenv.hostPlatform.isUnix "unix")
 , nixosTests
 , nix-update-script
 }:
 
 let
   pname = "vector";
-  version = "0.34.0";
+  version = "0.34.1";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -43,7 +43,7 @@ rustPlatform.buildRustPackage {
     owner = "vectordotdev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-E9sbpVFDVKJKYqSiqXeC9AItset/bXvVA9mURazTn/I=";
+    hash = "sha256-vK+k+VbUVgJ8idlvuod5ExAkkeTYDk/135dyLRct0zs=";
   };
 
   cargoLock = {
diff --git a/nixpkgs/pkgs/tools/misc/vtm/default.nix b/nixpkgs/pkgs/tools/misc/vtm/default.nix
index 52b561e57904..a0acfcf7f7d6 100644
--- a/nixpkgs/pkgs/tools/misc/vtm/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vtm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vtm";
-  version = "0.9.9w.1";
+  version = "0.9.16";
 
   src = fetchFromGitHub {
     owner = "netxs-group";
     repo = "vtm";
     rev = "v${version}";
-    sha256 = "sha256-/EQ8+8ac1MnWuXL9aNYl5U2ZfTpd/iThyvXygorbPmM=";
+    sha256 = "sha256-nX7T3TAGgxAB65X8D2HlI+3T6p7aH3bwG3N1pScX/4g=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/tools/misc/wasm-tools/default.nix b/nixpkgs/pkgs/tools/misc/wasm-tools/default.nix
index 6d772a8ba5c3..2249ea83d1ab 100644
--- a/nixpkgs/pkgs/tools/misc/wasm-tools/default.nix
+++ b/nixpkgs/pkgs/tools/misc/wasm-tools/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-tools";
-  version = "1.0.51";
+  version = "1.0.52";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
     rev = "${pname}-${version}";
-    hash = "sha256-SeUwd9S2WMGbNqj9NzZZKW1tQWc0cbe+uZmHc1PWKR8=";
+    hash = "sha256-6x2H+WY23XxBWmAqD2Lsc4TdCY76XiR/BhSU++XuIFY=";
     fetchSubmodules = true;
   };
 
   # Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
   auditable = false;
-  cargoHash = "sha256-G7pIy8KuDEEVVhH0WzY93eDhH2oTT9sP5CqTgfxYB0c=";
+  cargoHash = "sha256-1YnoHL+FKXhopcW0Scya22sRBwantRH9gF7w/rxU0H8=";
   cargoBuildFlags = [ "--package" "wasm-tools" ];
   cargoTestFlags = [ "--all" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/crackle/default.nix b/nixpkgs/pkgs/tools/networking/crackle/default.nix
index 00d0acd2aa94..ea42e7a0b320 100644
--- a/nixpkgs/pkgs/tools/networking/crackle/default.nix
+++ b/nixpkgs/pkgs/tools/networking/crackle/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     description = "Crack and decrypt BLE encryption";
     homepage = "https://github.com/mikeryan/crackle";
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
     license = licenses.bsd2;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/haproxy/default.nix b/nixpkgs/pkgs/tools/networking/haproxy/default.nix
index e37ecc3578e4..b603c9a25c79 100644
--- a/nixpkgs/pkgs/tools/networking/haproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/haproxy/default.nix
@@ -18,11 +18,11 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "haproxy";
-  version = "2.8.3";
+  version = "2.8.4";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/haproxy-${finalAttrs.version}.tar.gz";
-    hash = "sha256-nsxv/mepd9HtJ5EHu9q3kNc64qYmvDju4j+h9nhqdZ4=";
+    hash = "sha256-gbrL9Q7G0Pfsqq18A+WZeLADIvva1u1KmJ3TF1S28l0=";
   };
 
   buildInputs = [ openssl zlib libxcrypt ]
diff --git a/nixpkgs/pkgs/tools/networking/hp2p/default.nix b/nixpkgs/pkgs/tools/networking/hp2p/default.nix
index 52f3455ed4d5..9e2b5d639049 100644
--- a/nixpkgs/pkgs/tools/networking/hp2p/default.nix
+++ b/nixpkgs/pkgs/tools/networking/hp2p/default.nix
@@ -2,20 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "hp2p";
-  version = "3.3";
+  version = "unstable-2023-10-25";
 
   src = fetchFromGitHub {
     owner = "cea-hpc";
     repo = "hp2p";
-    rev = version;
-    sha256 = "0zvlwb941rlp3vrf9yzv7njgpj3mh4671ch7qvxfa4hq2ivd52br";
+    rev = "711f6cc5b4e552d969c2436ad77afd35d31bfd05";
+    sha256 = "sha256-mBTJZb3DPmIlL7N+PfjlWmBw0WfFF2DesImVZlbDQKc=";
   };
 
-  patches = [ ./python3.patch ];
   enableParallelBuilding = true;
   nativeBuildInputs = [ autoconf automake python3Packages.wrapPython ];
-  buildInputs = [ mpi ] ++ (with python3Packages; [ python numpy matplotlib plotly mpldatacursor ]) ;
-  pythonPath = (with python3Packages; [ numpy matplotlib plotly mpldatacursor ]) ;
+  buildInputs = [ mpi ] ++ (with python3Packages; [ python plotly ]) ;
+  pythonPath = (with python3Packages; [ plotly ]) ;
 
   preConfigure = ''
     patchShebangs autogen.sh
diff --git a/nixpkgs/pkgs/tools/networking/hp2p/python3.patch b/nixpkgs/pkgs/tools/networking/hp2p/python3.patch
deleted file mode 100644
index 13043d9f09f1..000000000000
--- a/nixpkgs/pkgs/tools/networking/hp2p/python3.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-diff -u -r source.orig/src/vizhp2p source/src/vizhp2p
---- source.orig/src/vizhp2p	1970-01-01 01:00:01.000000000 +0100
-+++ source/src/vizhp2p	2021-08-24 10:41:42.926881770 +0200
-@@ -94,25 +94,25 @@
-             with open(hostfile) as fd:
-                 for line in fd:
-                     if line.startswith(motif_rank):
--                        print line
-+                        print(line)
-                         c,v = line[len(motif_rank)+1:-1].split(separator)
-                         nodes[c] = v
-                         
-         # display k worst nodes indices
--        print "\nTop %d bad mean:" % k
-+        print("\nTop %d bad mean:" % k)
-         mean_order = np.argsort(a_mean)
--        print [nodes[str(c)] for c in mean_order[:k]]
-+        print([nodes[str(c)] for c in mean_order[:k]])
-         mean_st = "Top nodes with bad mean:\n"
-         for i in range(0, k, hostname_per_line):
-             mean_st += repr([nodes[str(c)] for c 
-                              in mean_order[i:i + hostname_per_line]]) + "\n"
- 
--        print "Top %d bad std:" % k
--        print [nodes[str(c)] for c in np.argsort(a_std)[-k:][::-1]]
-+        print("Top %d bad std:" % k)
-+        print([nodes[str(c)] for c in np.argsort(a_std)[-k:][::-1]])
- 
--        print "Top %d bad mean/std:" % k
-+        print("Top %d bad mean/std:" % k)
-         pen_order = np.argsort(a_mean / a_std)
--        print [nodes[str(c)] for c in pen_order[:k]]
-+        print([nodes[str(c)] for c in pen_order[:k]])
-         pen_st = "Top nodes with bad mean/std:\n"
-         for i in range(0, k, hostname_per_line):
-             pen_st += repr([nodes[str(c)] for c 
-@@ -293,9 +293,9 @@
- # and 'p' (snapshot) 
- def onrefresh(event):
-     if event.key == 'r':
--        print "refreshing...",
-+        print("refreshing...", end=' ')
-         loop()
--        print "ok"
-+        print("ok")
-     elif event.key == 'q':
-         exit()
-     elif event.key == 'p':
-@@ -303,9 +303,9 @@
-         fig1.savefig(snapfile)
-         snapfile = outputname + "_snapshot_time.png"
-         fig2.savefig(snapfile)
--        print 'snapshot saved (%s)' % snapfile
-+        print('snapshot saved (%s)' % snapfile)
-     else:
--        print "The answer to %s is 42." % event.key
-+        print("The answer to %s is 42." % event.key)
- 
- 
- if __name__ == "__main__":
-@@ -356,11 +356,11 @@
-         countfile = outputname + ".count.bin"
- 
-     print("visu_hp2p configuration:")
--    print("   DATAFILE            : %s"%resfile)
--    print("   BIN_TIMER_FILE      : %s"%resfile_time)
--    print("   HOSTFILE            : %s"%hostfile)
--    print("   Bad nodes to display: %d"%k)
--    print("   GUI resolution      : %s"%resolution)
-+    print(("   DATAFILE            : %s"%resfile))
-+    print(("   BIN_TIMER_FILE      : %s"%resfile_time))
-+    print(("   HOSTFILE            : %s"%hostfile))
-+    print(("   Bad nodes to display: %d"%k))
-+    print(("   GUI resolution      : %s"%resolution))
- 
-     hostname_per_line = 4 # for GUI layout
-     refresh_in_sec = 60
-@@ -377,7 +377,7 @@
-     # wait for resfile
-     while not os.path.exists(resfile) :
-         time.sleep(5)
--        print "Waiting for input files..."
-+        print("Waiting for input files...")
- 
-     # add callback on key press event
-     cid1 = fig1.canvas.mpl_connect('key_press_event', onrefresh)
-Only in source/src: vizhp2p.bak
-diff -u -r source.orig/src/vizhp2p_html source/src/vizhp2p_html
---- source.orig/src/vizhp2p_html	1970-01-01 01:00:01.000000000 +0100
-+++ source/src/vizhp2p_html	2021-08-24 10:41:54.799946303 +0200
-@@ -118,7 +118,7 @@
-     hostfile = args.hostfile
-     clustername = args.clustername
-     if len(args.OutputName) == 0:
--        print "No DATAFILE given! Please provide Hp2p output files name !"
-+        print("No DATAFILE given! Please provide Hp2p output files name !")
-         exit(0)
-     else:
-         outputname = args.OutputName.split('.')[0]
-@@ -134,13 +134,13 @@
-         else:
-             outfile = args.outfile
- 
--    print "%s configuration:"%commandname
--    print "   DATAFILE            : %s"%resfile
--    print "   HOSTFILE            : %s"%hostfile
--    print "   CLUSTER             : %s"%clustername
--    print "   OUTPUTFILE          : %s"%outfile
-+    print("%s configuration:"%commandname)
-+    print("   DATAFILE            : %s"%resfile)
-+    print("   HOSTFILE            : %s"%hostfile)
-+    print("   CLUSTER             : %s"%clustername)
-+    print("   OUTPUTFILE          : %s"%outfile)
-     if not os.path.exists(resfile):
--        print "%s doesn't exist...Exiting"%resfile
-+        print("%s doesn't exist...Exiting"%resfile)
-         exit(0)
- 
- # Data management
-Only in source/src: vizhp2p_html.bak
diff --git a/nixpkgs/pkgs/tools/networking/mdk4/default.nix b/nixpkgs/pkgs/tools/networking/mdk4/default.nix
index 903504633ac8..979584db432d 100644
--- a/nixpkgs/pkgs/tools/networking/mdk4/default.nix
+++ b/nixpkgs/pkgs/tools/networking/mdk4/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     description = "A tool that injects data into wireless networks";
     homepage = "https://github.com/aircrack-ng/mdk4";
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
     license = licenses.gpl2Plus;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/networkmanager/applet/default.nix b/nixpkgs/pkgs/tools/networking/networkmanager/applet/default.nix
index a968191b05f1..20f5d52ff688 100644
--- a/nixpkgs/pkgs/tools/networking/networkmanager/applet/default.nix
+++ b/nixpkgs/pkgs/tools/networking/networkmanager/applet/default.nix
@@ -18,7 +18,7 @@
 , gobject-introspection
 , python3
 , gtk3
-, libappindicator-gtk3
+, libayatana-appindicator
 , glib
 }:
 
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     jansson
     glib
     glib-networking
-    libappindicator-gtk3
+    libayatana-appindicator
     gnome.adwaita-icon-theme
   ];
 
diff --git a/nixpkgs/pkgs/tools/networking/norouter/default.nix b/nixpkgs/pkgs/tools/networking/norouter/default.nix
index c3fdd57a592e..e76cc4544e32 100644
--- a/nixpkgs/pkgs/tools/networking/norouter/default.nix
+++ b/nixpkgs/pkgs/tools/networking/norouter/default.nix
@@ -31,7 +31,5 @@ buildGoModule rec {
     homepage = "https://github.com/norouter/norouter";
     license = licenses.asl20;
     maintainers = with maintainers; [ blaggacao ];
-    # out is empty
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/redfang/default.nix b/nixpkgs/pkgs/tools/networking/redfang/default.nix
index 8e799b7d41fd..a4ba12b29489 100644
--- a/nixpkgs/pkgs/tools/networking/redfang/default.nix
+++ b/nixpkgs/pkgs/tools/networking/redfang/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
     description = "A small proof-of-concept application to find non discoverable bluetooth devices";
     homepage = "https://gitlab.com/kalilinux/packages/redfang";
     license = licenses.gpl2Only;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/rosenpass/default.nix b/nixpkgs/pkgs/tools/networking/rosenpass/default.nix
index 9467904fe698..790d1d9cecdf 100644
--- a/nixpkgs/pkgs/tools/networking/rosenpass/default.nix
+++ b/nixpkgs/pkgs/tools/networking/rosenpass/default.nix
@@ -2,7 +2,7 @@
 , fetchFromGitHub
 , nixosTests
 , rustPlatform
-, targetPlatform
+, hostPlatform
 , installShellFiles
 , cmake
 , libsodium
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
 
   # nix defaults to building for aarch64 _without_ the armv8-a
   # crypto extensions, but liboqs depends on these
-  preBuild = lib.optionalString targetPlatform.isAarch64 ''
+  preBuild = lib.optionalString hostPlatform.isAarch64 ''
     NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -march=armv8-a+crypto"
   '';
 
diff --git a/nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix b/nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix
index 8a71f6d99fd4..6c690fe4064e 100644
--- a/nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix
+++ b/nixpkgs/pkgs/tools/networking/stevenblack-blocklist/default.nix
@@ -15,6 +15,6 @@ fetchFromGitHub {
     description = "Unified hosts file with base extensions";
     homepage = "https://github.com/StevenBlack/hosts";
     license = licenses.mit;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/package-management/dpkg/default.nix b/nixpkgs/pkgs/tools/package-management/dpkg/default.nix
index 79bf6f8c5083..59e259541992 100644
--- a/nixpkgs/pkgs/tools/package-management/dpkg/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/dpkg/default.nix
@@ -18,12 +18,12 @@
 
 stdenv.mkDerivation rec {
   pname = "dpkg";
-  version = "1.22.0";
+  version = "1.22.1";
 
   src = fetchgit {
     url = "https://git.launchpad.net/ubuntu/+source/dpkg";
     rev = "applied/${version}";
-    hash = "sha256-q+kP0PuQyGKuKahA1/TwtJG380a/sNR433xZhxvGO9M=";
+    hash = "sha256-63XRO3Img+XS2F5Krb5DAw0LMhtxB+eJi754O03Lx8Q=";
   };
 
   configureFlags = [
diff --git a/nixpkgs/pkgs/tools/package-management/xbps/default.nix b/nixpkgs/pkgs/tools/package-management/xbps/default.nix
index c948c66b47f1..07aa1a7accc1 100644
--- a/nixpkgs/pkgs/tools/package-management/xbps/default.nix
+++ b/nixpkgs/pkgs/tools/package-management/xbps/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, which, zlib, openssl, libarchive }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, which, zlib, openssl, libarchive }:
 
 stdenv.mkDerivation rec {
   pname = "xbps";
-  version = "0.59.1";
+  version = "0.59.2";
 
   src = fetchFromGitHub {
     owner = "void-linux";
     repo = "xbps";
     rev = version;
-    sha256 = "0pab3xf97y4wqlyrb92zxd3cfsrbnlx6pssbw4brgwcxccw9jrhy";
+    hash = "sha256-3+LzFLDZ1zfRPBETMlpEn66zsfHRHQLlgeZPdMtmA14=";
   };
 
   nativeBuildInputs = [ pkg-config which ];
@@ -17,16 +17,17 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./cert-paths.patch
-    # fix openssl 3
-    (fetchpatch {
-      url = "https://github.com/void-linux/xbps/commit/db1766986c4389eb7e17c0e0076971b711617ef9.patch";
-      hash = "sha256-CmyZdsHStPsELdEgeJBWIbXIuVeBhv7VYb2uGYxzUWQ=";
-    })
   ];
 
   env.NIX_CFLAGS_COMPILE = "-Wno-error=unused-result -Wno-error=deprecated-declarations";
 
   postPatch = ''
+    # _BSD_SOURCE causes cpp warning
+    # https://github.com/void-linux/xbps/issues/576
+    substituteInPlace bin/xbps-fbulk/main.c lib/util.c lib/external/dewey.c lib/external/fexec.c \
+      --replace 'define _BSD_SOURCE' 'define _DEFAULT_SOURCE' \
+      --replace '# define _BSD_SOURCE' '#define _DEFAULT_SOURCE'
+
     # fix unprefixed ranlib (needed on cross)
     substituteInPlace lib/Makefile \
       --replace 'SILENT}ranlib ' 'SILENT}$(RANLIB) '
diff --git a/nixpkgs/pkgs/tools/security/chain-bench/default.nix b/nixpkgs/pkgs/tools/security/chain-bench/default.nix
index fef69399cc14..e123cf30b43f 100644
--- a/nixpkgs/pkgs/tools/security/chain-bench/default.nix
+++ b/nixpkgs/pkgs/tools/security/chain-bench/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "chain-bench";
-  version = "0.1.8";
+  version = "0.1.9";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vQzxTOShxQGitZRCuR8izSxCkZdPWm2ohoXBOvAkwfw=";
+    sha256 = "sha256-eNCQbmqTnCBBwrppFL2yvmiwgj439sosYVkk2ryMa0I=";
   };
   vendorHash = "sha256-sAZIMJRx/E+l12Zyp/vKfuiaCMeaonRbEcsRIRXbXm8=";
 
diff --git a/nixpkgs/pkgs/tools/security/cmospwd/default.nix b/nixpkgs/pkgs/tools/security/cmospwd/default.nix
index fa04ac652074..969298918055 100644
--- a/nixpkgs/pkgs/tools/security/cmospwd/default.nix
+++ b/nixpkgs/pkgs/tools/security/cmospwd/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-8pbSl5eUsKa3JrgK/JLk0FnGXcJhKksJN3wWiDPYYvQ=";
   };
 
+  makeFlags = [ "CC:=$(CC)" ];
+
   preConfigure = ''
     cd src
 
@@ -32,6 +34,6 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://www.cgsecurity.org/wiki/CmosPwd";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ t4ccer ];
-    platforms = platforms.linux;
+    platforms = platforms.x86_64;
   };
 })
diff --git a/nixpkgs/pkgs/tools/security/exploitdb/default.nix b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
index 509501d52cd4..6bb2a5a0e6b7 100644
--- a/nixpkgs/pkgs/tools/security/exploitdb/default.nix
+++ b/nixpkgs/pkgs/tools/security/exploitdb/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2023-11-11";
+  version = "2023-11-18";
 
   src = fetchFromGitLab {
     owner = "exploit-database";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-oB28qKIvGHh/h726Wsy8C/zt3rFLBHcP5iRZe3U76U0=";
+    hash = "sha256-7W7HwHvRfm+nRms4H4TgB1la5OhGHv5lRHwbvjwRTMw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch b/nixpkgs/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch
index 03ddf76e8ffe..7fb7d53e352f 100644
--- a/nixpkgs/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch
+++ b/nixpkgs/pkgs/tools/security/ghidra/0001-Use-protobuf-gradle-plugin.patch
@@ -1,112 +1,129 @@
 diff --git a/Ghidra/Debug/Debugger-gadp/build.gradle b/Ghidra/Debug/Debugger-gadp/build.gradle
-index f4dbd3cd0..6108e8534 100644
+index 9e1c57faf..3a3242eb5 100644
 --- a/Ghidra/Debug/Debugger-gadp/build.gradle
 +++ b/Ghidra/Debug/Debugger-gadp/build.gradle
-@@ -23,42 +23,18 @@ apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle"
+@@ -18,11 +18,16 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle"
+ apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle"
+ apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle"
  apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle"
+-apply from: "${rootProject.projectDir}/gradle/debugger/hasProtobuf.gradle"
++apply plugin: 'com.google.protobuf'
  
  apply plugin: 'eclipse'
-+apply plugin: 'com.google.protobuf'
  eclipse.project.name = 'Debug Debugger-gadp'
  
--configurations {
--	allProtocArtifacts
--	protocArtifact
--}
--
- def platform = getCurrentPlatformName()
- 
--dependencies {
--	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
--	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
--	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
--	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
--	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
--
--	if (isCurrentWindows()) {
--		protocArtifact 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
--	}
--	if (isCurrentLinux()) {
--		if (platform.endsWith("x86_64")) {
--			protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
--		}
--		else {
--			protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
--		}
--	}
--	if (isCurrentMac()) {
--		if (platform.endsWith("x86_64")) {
--			protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
--		}
--		else {
--			protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
--		}
 +buildscript {
 +	dependencies {
 +		classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18'
- 	}
++	}
 +}
- 
-+dependencies {
+ dependencies {
  	api project(':Framework-AsyncComm')
  	api project(':Framework-Debugging')
- 	api project(':ProposedUtils')
-@@ -73,37 +49,3 @@ dependencies {
- 	}
- }*/
- 
--task generateProto {
--	ext.srcdir = file("src/main/proto")
--	ext.src = fileTree(srcdir) {
--		include "**/*.proto"
--	}
--	ext.outdir = file("build/generated/source/proto/main/java")
--	outputs.dir(outdir)
--	inputs.files(src)
--	dependsOn(configurations.protocArtifact)
--	doLast {
--		def exe = configurations.protocArtifact.first()
--		if (!isCurrentWindows()) {
--			exe.setExecutable(true)
--		}
--		exec {
--			commandLine exe, "--java_out=$outdir", "-I$srcdir"
--			args src
--		}
--	}
--}
--
--tasks.compileJava.dependsOn(tasks.generateProto)
--tasks.eclipse.dependsOn(tasks.generateProto)
--rootProject.tasks.prepDev.dependsOn(tasks.generateProto)
--
--sourceSets {
--	main {
--		java {
--			srcDir tasks.generateProto.outdir
--		}
--	}
--}
--zipSourceSubproject.dependsOn generateProto
--
 diff --git a/Ghidra/Debug/Debugger-isf/build.gradle b/Ghidra/Debug/Debugger-isf/build.gradle
-index 6bf945c2e..3225d095d 100644
+index d135294a0..785681ca2 100644
 --- a/Ghidra/Debug/Debugger-isf/build.gradle
 +++ b/Ghidra/Debug/Debugger-isf/build.gradle
-@@ -20,42 +20,18 @@ apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle"
+@@ -18,11 +18,15 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle"
+ apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle"
+ apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle"
  apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle"
- 
- apply plugin: 'eclipse'
+-apply from: "${rootProject.projectDir}/gradle/debugger/hasProtobuf.gradle"
+-
 +apply plugin: 'com.google.protobuf'
+ apply plugin: 'eclipse'
  eclipse.project.name = 'Debug Debugger-isf'
  
++buildscript {
++	dependencies {
++		classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18'
++	}
++}
+ dependencies {
+ 	api project(':Framework-AsyncComm')
+ 	api project(':Framework-Debugging')
+diff --git a/Ghidra/Debug/Debugger-rmi-trace/build.gradle b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
+index eec00786e..666cccafc 100644
+--- a/Ghidra/Debug/Debugger-rmi-trace/build.gradle
++++ b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
+@@ -18,12 +18,17 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle"
+ apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle"
+ apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle"
+ apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle"
+-apply from: "${rootProject.projectDir}/gradle/debugger/hasProtobuf.gradle"
++apply plugin: 'com.google.protobuf'
+ apply from: "${rootProject.projectDir}/gradle/debugger/hasPythonPackage.gradle"
+ 
+ apply plugin: 'eclipse'
+ eclipse.project.name = 'Debug Debugger-rmi-trace'
+ 
++buildscript {
++	dependencies {
++		classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18'
++	}
++}
+ dependencies {
+ 	api project(':Debugger')
+ }
+@@ -36,7 +41,7 @@ task generateProtoPy {
+ 	ext.outdir = file("build/generated/source/proto/main/py")
+ 	outputs.dir(outdir)
+ 	inputs.files(src)
+-	dependsOn(configurations.protocArtifact)
++	dependsOn(protobuf.generateProtoTasks.all())
+ 	doLast {
+ 		def exe = configurations.protocArtifact.first()
+ 		if (!isCurrentWindows()) {
+diff --git a/build.gradle b/build.gradle
+index b0c717fb1..5f56506a5 100644
+--- a/build.gradle
++++ b/build.gradle
+@@ -74,6 +74,12 @@ if (flatRepo.isDirectory()) {
+ 			jcenter()
+ 			flatDir name: "flat", dirs:["$flatRepo"]
+ 		}
++		buildscript {
++			repositories {
++				mavenLocal()
++				mavenCentral()
++			}
++		}
+ 	}
+ }
+ else {	
+diff --git a/gradle/debugger/hasProtobuf.gradle b/gradle/debugger/hasProtobuf.gradle
+deleted file mode 100644
+index 23b4ce74b..000000000
+--- a/gradle/debugger/hasProtobuf.gradle
++++ /dev/null
+@@ -1,94 +0,0 @@
+-/* ###
+- * IP: GHIDRA
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- * 
+- *      http://www.apache.org/licenses/LICENSE-2.0
+- * 
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- */
+-/*plugins {
+-	id 'com.google.protobuf' version '0.8.10'
+-}*/
+-
 -configurations {
 -	allProtocArtifacts
 -	protocArtifact
 -}
 -
- def platform = getCurrentPlatformName()
- 
+-def platform = getCurrentPlatformName()
+-
+-
 -dependencies {
 -	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
 -	allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
@@ -132,20 +149,15 @@ index 6bf945c2e..3225d095d 100644
 -		else {
 -			protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
 -		}
-+buildscript {
-+	dependencies {
-+		classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18'
- 	}
-+}
- 
-+dependencies {
- 	api project(':Framework-AsyncComm')
- 	api project(':Framework-Debugging')
- 	api project(':ProposedUtils')
-@@ -64,40 +40,6 @@ dependencies {
- 	testImplementation project(path: ':Framework-Debugging', configuration: 'testArtifacts')
- }
- 
+-	}
+-}
+-
+-/*protobuf {
+-	protoc {
+-		artifact = 'com.google.protobuf:protoc:3.21.8'
+-	}
+-}*/
+-
 -task generateProto {
 -	ext.srcdir = file("src/main/proto")
 -	ext.src = fileTree(srcdir) {
@@ -179,24 +191,3 @@ index 6bf945c2e..3225d095d 100644
 -	}
 -}
 -zipSourceSubproject.dependsOn generateProto
--
- // Include buildable native source in distribution
- rootProject.assembleDistribution {
-     from (this.project.projectDir.toString()) {
-diff --git a/build.gradle b/build.gradle
-index b0c717fb1..5f56506a5 100644
---- a/build.gradle
-+++ b/build.gradle
-@@ -74,6 +74,12 @@ if (flatRepo.isDirectory()) {
- 			jcenter()
- 			flatDir name: "flat", dirs:["$flatRepo"]
- 		}
-+		buildscript {
-+			repositories {
-+				mavenLocal()
-+				mavenCentral()
-+			}
-+		}
- 	}
- }
- else {	
diff --git a/nixpkgs/pkgs/tools/security/ghidra/build.nix b/nixpkgs/pkgs/tools/security/ghidra/build.nix
index 16bc1dbe5cd7..50fd64656f4a 100644
--- a/nixpkgs/pkgs/tools/security/ghidra/build.nix
+++ b/nixpkgs/pkgs/tools/security/ghidra/build.nix
@@ -10,18 +10,19 @@
 , icoutils
 , xcbuild
 , protobuf
+, fetchurl
 }:
 
 let
   pkg_path = "$out/lib/ghidra";
   pname = "ghidra";
-  version = "10.3.3";
+  version = "10.4";
 
   src = fetchFromGitHub {
     owner = "NationalSecurityAgency";
     repo = "Ghidra";
     rev = "Ghidra_${version}_build";
-    hash = "sha256-KDSiZ/JwAqX6Obg9UD8ZQut01l/eMXbioJy//GluXn0=";
+    hash = "sha256-g0JM6pm1vkCh9yBB5mfrOiNrImqoyWdQcEe2g+AO6LQ=";
   };
 
   gradle = gradle_7;
@@ -36,24 +37,6 @@ let
   };
 
   # postPatch scripts.
-  # Tells ghidra to use our own protoc binary instead of the prebuilt one.
-  fixProtoc = ''
-    cat >>Ghidra/Debug/Debugger-gadp/build.gradle <<HERE
-protobuf {
-  protoc {
-    path = '${protobuf}/bin/protoc'
-  }
-}
-HERE
-    cat >>Ghidra/Debug/Debugger-isf/build.gradle <<HERE
-protobuf {
-  protoc {
-    path = '${protobuf}/bin/protoc'
-  }
-}
-HERE
-  '';
-
   # Adds a gradle step that downloads all the dependencies to the gradle cache.
   addResolveStep = ''
     cat >>build.gradle <<HERE
@@ -85,7 +68,7 @@ HERE
     inherit version src;
 
     patches = [ ./0001-Use-protobuf-gradle-plugin.patch ];
-    postPatch = fixProtoc + addResolveStep;
+    postPatch = addResolveStep;
 
     nativeBuildInputs = [ gradle perl ] ++ lib.optional stdenv.isDarwin xcbuild;
     buildPhase = ''
@@ -116,13 +99,21 @@ in stdenv.mkDerivation {
   inherit pname version src;
 
   nativeBuildInputs = [
-    gradle unzip makeWrapper icoutils
+    gradle unzip makeWrapper icoutils protobuf
   ] ++ lib.optional stdenv.isDarwin xcbuild;
 
   dontStrip = true;
 
-  patches = [ ./0001-Use-protobuf-gradle-plugin.patch ];
-  postPatch = fixProtoc;
+  patches = [
+    ./0001-Use-protobuf-gradle-plugin.patch
+    # we use fetchurl since the fetchpatch normalization strips the whole diff
+    # https://github.com/NixOS/nixpkgs/issues/266556
+    (fetchurl {
+      name = "0002-remove-executable-bit.patch";
+      url = "https://github.com/NationalSecurityAgency/ghidra/commit/e2a945624b74e5d42dc85e9c1f992315dd154db1.diff";
+      sha256 = "07mjfl7hvag2akk65g4cknp330qlk07dgbmh20dyg9qxzmk91fyq";
+    })
+  ];
 
   buildPhase = ''
     export HOME="$NIX_BUILD_TOP/home"
diff --git a/nixpkgs/pkgs/tools/security/gitleaks/default.nix b/nixpkgs/pkgs/tools/security/gitleaks/default.nix
index 96c4b0f4e155..7fc15a3fb2b1 100644
--- a/nixpkgs/pkgs/tools/security/gitleaks/default.nix
+++ b/nixpkgs/pkgs/tools/security/gitleaks/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "gitleaks";
-  version = "8.18.0";
+  version = "8.18.1";
 
   src = fetchFromGitHub {
     owner = "zricethezav";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-659wQBv8DuYB4vI+qnBLS9u22kGlg4ne4DyKFoomlOw=";
+    hash = "sha256-v0d/ulxYJRkyyhVctnQjKW2ODWtu+gSwp/qSkVLQ1Jo=";
   };
 
-  vendorHash = "sha256-PPEEQ2Bt20UK+mQL59jVnX8HtzCsqW4uRwR3mOdhDis=";
+  vendorHash = "sha256-lPfvoeHPYWSnFPuAR9CxG6+pQ++cZEw/jYuGgDrm57E=";
 
   ldflags = [
     "-s"
diff --git a/nixpkgs/pkgs/tools/security/metasploit/Gemfile b/nixpkgs/pkgs/tools/security/metasploit/Gemfile
index 4d7b793a84b5..539e6b8bc8d9 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/Gemfile
+++ b/nixpkgs/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.42"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.43"
diff --git a/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock b/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
index 58929753c597..adc032baf213 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/nixpkgs/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: adf413fba45b298c4e16f7f1043dc69f99d2fbdb
-  ref: refs/tags/6.3.42
+  revision: 58dcabe21524d8b2c4d05618ca8509dc42cc6515
+  ref: refs/tags/6.3.43
   specs:
-    metasploit-framework (6.3.42)
+    metasploit-framework (6.3.43)
       actionpack (~> 7.0.0)
       activerecord (~> 7.0.0)
       activesupport (~> 7.0.0)
diff --git a/nixpkgs/pkgs/tools/security/metasploit/default.nix b/nixpkgs/pkgs/tools/security/metasploit/default.nix
index 44b672cd6e4b..6f88b96cd6ad 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/default.nix
+++ b/nixpkgs/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.3.42";
+  version = "6.3.43";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-6ddW6VlbWV71BERJISF67UPRcwLQY8Hpw4kf80lCNBE=";
+    sha256 = "sha256-IWdSxXhJFGbNTo9xqEjBJNEWB6imzdwzgnXoUbfao/g=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/tools/security/metasploit/gemset.nix b/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
index 8ba7f0e698af..cf24944c4030 100644
--- a/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
+++ b/nixpkgs/pkgs/tools/security/metasploit/gemset.nix
@@ -654,12 +654,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "adf413fba45b298c4e16f7f1043dc69f99d2fbdb";
-      sha256 = "049l894z67w9qglw2qyh09rx2hzdg8hj2ja40ksmwnavb7lmdmz9";
+      rev = "58dcabe21524d8b2c4d05618ca8509dc42cc6515";
+      sha256 = "1y53vavm3s3mh8rxrkd6m03idl94q54ahwcg9v6nc529g32m4rr1";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.3.42";
+    version = "6.3.43";
   };
   metasploit-model = {
     groups = ["default"];
diff --git a/nixpkgs/pkgs/tools/security/nitrokey-app2/default.nix b/nixpkgs/pkgs/tools/security/nitrokey-app2/default.nix
index 3d35b4d07750..a3e3a82ec234 100644
--- a/nixpkgs/pkgs/tools/security/nitrokey-app2/default.nix
+++ b/nixpkgs/pkgs/tools/security/nitrokey-app2/default.nix
@@ -7,7 +7,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "nitrokey-app2";
-  version = "2.1.2";
+  version = "2.1.4";
   pyproject = true;
 
   disabled = python3.pythonOlder "3.9";
@@ -16,7 +16,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "Nitrokey";
     repo = "nitrokey-app2";
     rev = "v${version}";
-    hash = "sha256-VyhIFNXxH/FohgjhBeZXoQYppP7PEz+ei0qzsWz1xhk=";
+    hash = "sha256-loOCa6XlLx1YEfqR0SUUalVIEPCoYsNEHFo2MIKexeA=";
   };
 
   # https://github.com/Nitrokey/nitrokey-app2/issues/152
@@ -63,7 +63,7 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/Nitrokey/nitrokey-app2";
     changelog = "https://github.com/Nitrokey/nitrokey-app2/releases/tag/v${version}";
     license = licenses.asl20;
-    maintainers = with maintainers; [ _999eagle ];
+    maintainers = with maintainers; [ _999eagle panicgh ];
     mainProgram = "nitrokeyapp";
   };
 }
diff --git a/nixpkgs/pkgs/tools/security/nuclei/default.nix b/nixpkgs/pkgs/tools/security/nuclei/default.nix
index 8cba4e1e3634..ca34c7af28e5 100644
--- a/nixpkgs/pkgs/tools/security/nuclei/default.nix
+++ b/nixpkgs/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "3.0.3";
+  version = "3.0.4";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-yqpSkKebhX3kszL4mSbKUd9JR7rJizLdrk7tHlh6zlc=";
+    hash = "sha256-S8YU25JA1yBdbDQpy9kxl3I/4PkMN9BrueCiXrZXAEI=";
   };
 
-  vendorHash = "sha256-pekirk3nYXDLzoy4iBJblYvN9fkViyMUsRFC0Dx1r9M=";
+  vendorHash = "sha256-4i6jLRe9yDxC6FPOpFrwaLWjg16HR9PqkHNamlwT3PA=";
 
   subPackages = [
     "cmd/nuclei/"
diff --git a/nixpkgs/pkgs/tools/security/sequoia-sqop/default.nix b/nixpkgs/pkgs/tools/security/sequoia-sqop/default.nix
index fdefbdea9e50..19dd99b871b0 100644
--- a/nixpkgs/pkgs/tools/security/sequoia-sqop/default.nix
+++ b/nixpkgs/pkgs/tools/security/sequoia-sqop/default.nix
@@ -9,7 +9,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sequoia-sqop";
-  version = "0.30.0";
+  version = "0.31.0";
 
   src = fetchFromGitLab {
     owner = "sequoia-pgp";
@@ -17,10 +17,10 @@ rustPlatform.buildRustPackage rec {
     # generated etc
     repo = "sequoia-sop";
     rev = "v${version}";
-    hash = "sha256-2fRlHkT2jhUp1dIqKe8r7ktSbgudCmzuiiyF0WcbYIE=";
+    hash = "sha256-qGSVmjLdx84YphAXt1MRF1cIfk7xLOvtUj+3e7vO+jA=";
   };
 
-  cargoHash = "sha256-/LLW0AHCgqi2pAOkhZXNGlmNF/+u0TmSstd/B6mDr6M=";
+  cargoHash = "sha256-y4n6UPAYwI9P+jw59TOf98xSdNvzEgJp5n/GtiixsIU=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix b/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix
index 709558fad508..7233a41142ed 100644
--- a/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix
+++ b/nixpkgs/pkgs/tools/system/automatic-timezoned/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "automatic-timezoned";
-  version = "1.0.130";
+  version = "1.0.131";
 
   src = fetchFromGitHub {
     owner = "maxbrunet";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-uQg3segJamYrM8RRP5BEE7O1Jepr20ucdNUVwNllQlw=";
+    sha256 = "sha256-92OpvUt+0iN+UdEGjDdVCjUUlbuOjUgOjc+DGMUnx9U=";
   };
 
-  cargoHash = "sha256-8DEvGRerIV9PB4uPAzFwymb67gcg9wdO8rruENR2M6Q=";
+  cargoHash = "sha256-FaQwxt3XcDOXlzcKEdMyE9TpmGykQOnJdxtM3EqMpfU=";
 
   meta = with lib; {
     description = "Automatically update system timezone based on location";
diff --git a/nixpkgs/pkgs/tools/system/nsc/default.nix b/nixpkgs/pkgs/tools/system/nsc/default.nix
index c3d0394c658d..bec4a3114102 100644
--- a/nixpkgs/pkgs/tools/system/nsc/default.nix
+++ b/nixpkgs/pkgs/tools/system/nsc/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "nsc";
-  version = "2.8.1";
+  version = "2.8.5";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-kNfA/MQuXauQPWQhUspreqo4oOKb+qBqh9NdmQM1Q+A=";
+    hash = "sha256-9qsHZTbK2RCDiQ5wlo2D79GeI5dbCvL2LofPnF7f8Cc=";
   };
 
   ldflags = [
@@ -23,7 +23,7 @@ buildGoModule rec {
     "-X main.builtBy=nixpkgs"
   ];
 
-  vendorHash = "sha256-8cTegiNVtGSZdf9O+KVoOgnjjMIv8w7YBSkFhk7gHfk=";
+  vendorHash = "sha256-B3uIFJaEsj9tpjPBiU+rXVlfcgVwZUQe3VSSoZQqBG8=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -44,7 +44,7 @@ buildGoModule rec {
   # the test strips table formatting from the command output in a naive way
   # that removes all the table characters, including '-'.
   # The nix build directory looks something like:
-  # /private/tmp/nix-build-nsc-2.8.1.drv-0/nsc_test2000598938/keys
+  # /private/tmp/nix-build-nsc-2.8.5.drv-0/nsc_test2000598938/keys
   # Then the `-` are removed from the path unintentionally and the test fails.
   # This should be fixed upstream to avoid mangling the path when
   # removing the table decorations from the command output.
diff --git a/nixpkgs/pkgs/tools/system/zps/default.nix b/nixpkgs/pkgs/tools/system/zps/default.nix
index f4003ed934d6..91ce2ed8f6a8 100644
--- a/nixpkgs/pkgs/tools/system/zps/default.nix
+++ b/nixpkgs/pkgs/tools/system/zps/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zps";
-  version = "1.2.8";
+  version = "1.2.9";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "zps";
     rev = version;
-    hash = "sha256-t0kVMrJn+eqUUD98pp3iIK28MoLwOplLk0sYgRJkO4c=";
+    hash = "sha256-+evCYiTiH8tRmhvsse+49WlKGRP5XQtep7wGoCySvJ4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/tools/system/zram-generator/Cargo.lock b/nixpkgs/pkgs/tools/system/zram-generator/Cargo.lock
index d061c364b270..29c643c10bd4 100644
--- a/nixpkgs/pkgs/tools/system/zram-generator/Cargo.lock
+++ b/nixpkgs/pkgs/tools/system/zram-generator/Cargo.lock
@@ -79,9 +79,9 @@ dependencies = [
 
 [[package]]
 name = "errno"
-version = "0.3.5"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
 dependencies = [
  "libc",
  "windows-sys",
@@ -107,9 +107,9 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
 dependencies = [
  "cfg-if",
  "libc",
@@ -127,9 +127,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.149"
+version = "0.2.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
 
 [[package]]
 name = "liboverdrop"
@@ -142,9 +142,9 @@ dependencies = [
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
 
 [[package]]
 name = "log"
@@ -240,9 +240,9 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags 1.3.2",
 ]
@@ -259,9 +259,9 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.20"
+version = "0.38.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0"
+checksum = "9ad981d6c340a49cdc40a1028d9c6084ec7e9fa33fcb839cab656a267071e234"
 dependencies = [
  "bitflags 2.4.1",
  "errno",
@@ -283,9 +283,9 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.8.0"
+version = "3.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
 dependencies = [
  "cfg-if",
  "fastrand",
diff --git a/nixpkgs/pkgs/tools/text/difftastic/default.nix b/nixpkgs/pkgs/tools/text/difftastic/default.nix
index 1db60b38a8de..98c3db975edc 100644
--- a/nixpkgs/pkgs/tools/text/difftastic/default.nix
+++ b/nixpkgs/pkgs/tools/text/difftastic/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , testers
 , difftastic
+, stdenv
 }:
 
 let
@@ -32,6 +33,11 @@ rustPlatform.buildRustPackage rec {
     };
   };
 
+  # Work around https://github.com/NixOS/nixpkgs/issues/166205.
+  env = lib.optionalAttrs stdenv.cc.isClang {
+    NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
+  };
+
   postPatch = ''
     patch -d $cargoDepsCopy/libmimalloc-sys-0.1.24/c_src/mimalloc \
       -p1 < ${mimallocPatch}
diff --git a/nixpkgs/pkgs/tools/text/invoice2data/default.nix b/nixpkgs/pkgs/tools/text/invoice2data/default.nix
index fd5ead9e0c35..aed1bd2afd50 100644
--- a/nixpkgs/pkgs/tools/text/invoice2data/default.nix
+++ b/nixpkgs/pkgs/tools/text/invoice2data/default.nix
@@ -10,14 +10,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "invoice2data";
-  version = "0.4.2";
+  version = "0.4.4";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "invoice-x";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ss2h8cg0sga+lzJyQHckrZB/Eb63Oj3FkqmGqWCzCQ8=";
+    hash = "sha256-pAvkp8xkHYi/7ymbxaT7/Jhu44j2P8emm8GyXC6IBnI=";
   };
 
   patches = [
@@ -38,6 +38,7 @@ python3.pkgs.buildPythonApplication rec {
     pdfminer-six
     pillow
     pyyaml
+    setuptools
   ];
 
   makeWrapperArgs = ["--prefix" "PATH" ":" (lib.makeBinPath [
diff --git a/nixpkgs/pkgs/tools/text/mdbook/default.nix b/nixpkgs/pkgs/tools/text/mdbook/default.nix
index e0529c77917b..95483b8465ed 100644
--- a/nixpkgs/pkgs/tools/text/mdbook/default.nix
+++ b/nixpkgs/pkgs/tools/text/mdbook/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, nix, rustPlatform, CoreServices }:
+{ lib, stdenv, fetchFromGitHub, nix, rustPlatform, CoreServices, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook";
@@ -13,8 +13,17 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-D0XhrweO0A1+81Je4JZ0lmnbIHstNvefpmogCyB4FEE=";
 
+  nativeBuildInputs = [ installShellFiles ];
+
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
+  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    installShellCompletion --cmd mdbook \
+      --bash <($out/bin/mdbook completions bash) \
+      --fish <($out/bin/mdbook completions fish) \
+      --zsh  <($out/bin/mdbook completions zsh )
+  '';
+
   passthru = {
     tests = {
       inherit nix;
diff --git a/nixpkgs/pkgs/tools/text/vale/default.nix b/nixpkgs/pkgs/tools/text/vale/default.nix
index d4ed3ba55a95..7ae0de13ed9f 100644
--- a/nixpkgs/pkgs/tools/text/vale/default.nix
+++ b/nixpkgs/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "2.29.6";
+  version = "2.29.7";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,10 +11,10 @@ buildGoModule rec {
     owner = "errata-ai";
     repo = "vale";
     rev = "v${version}";
-    hash = "sha256-0btFCTpVB50097yQEggpm1rmm4aciTgfdLAkczQ1mj4=";
+    hash = "sha256-5fOEZG+ucp9EpizNHvKzqksnDzV8x0miGSKnTelxmzs=";
   };
 
-  vendorHash = "sha256-EbhLz4agDWAlALfBcGUbVNz+teUvgroxzaSN8T19AJY=";
+  vendorHash = "sha256-FnzuumOIvjpoDr+yBaRc8UjMDNW8mgrJiz1ZyzNW0Ts=";
 
   postInstall = ''
     mkdir -p $data/share/vale
diff --git a/nixpkgs/pkgs/tools/video/blackmagic-desktop-video/default.nix b/nixpkgs/pkgs/tools/video/blackmagic-desktop-video/default.nix
index dc6f2eff7873..435db1221eab 100644
--- a/nixpkgs/pkgs/tools/video/blackmagic-desktop-video/default.nix
+++ b/nixpkgs/pkgs/tools/video/blackmagic-desktop-video/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
       SITEURL = "https://www.blackmagicdesign.com/api/register/us/download/${DOWNLOADID}";
 
       USERAGENT = builtins.concatStringsSep " " [
-        "User-Agent: Mozilla/5.0 (X11; Linux ${stdenv.targetPlatform.linuxArch})"
+        "User-Agent: Mozilla/5.0 (X11; Linux ${stdenv.hostPlatform.linuxArch})"
         "AppleWebKit/537.36 (KHTML, like Gecko)"
         "Chrome/77.0.3865.75"
         "Safari/537.36"
diff --git a/nixpkgs/pkgs/tools/virtualization/govc/default.nix b/nixpkgs/pkgs/tools/virtualization/govc/default.nix
index aa8e7664e087..a2c37dfb679e 100644
--- a/nixpkgs/pkgs/tools/virtualization/govc/default.nix
+++ b/nixpkgs/pkgs/tools/virtualization/govc/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "govc";
-  version = "0.33.0";
+  version = "0.33.1";
 
   subPackages = [ "govc" ];
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "vmware";
     repo = "govmomi";
-    sha256 = "sha256-YY/rTrL6zEhZkeaYz2yG/h2s81IefClou4abbmQuDiU=";
+    sha256 = "sha256-5zFyOWfVxQL/QveOlX4Xkg8FBwo8mZzR7ea2IacSrS4=";
   };
 
   vendorHash = "sha256-DBcovHOOfIy4dfi8U9zaCUzz5Zz8oIG44JCqMKtdxgg=";
diff --git a/nixpkgs/pkgs/top-level/aliases.nix b/nixpkgs/pkgs/top-level/aliases.nix
index 1363383109d3..716ead49c30f 100644
--- a/nixpkgs/pkgs/top-level/aliases.nix
+++ b/nixpkgs/pkgs/top-level/aliases.nix
@@ -152,6 +152,7 @@ mapAliases ({
   clasp = clingo; # added 2022-12-22
   claws-mail-gtk3 = claws-mail; # Added 2021-07-10
   cntk = throw "'cntk' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2023-10-09
+  code-server = throw "'code-server' has been removed from nixpkgs, as it was depending on EOL Node.js and is unmaintained."; # Added 2023-10-30
   codimd = hedgedoc; # Added 2020-11-29
   inherit (libsForQt5.mauiPackages) communicator; # added 2022-05-17
   compton = throw "'compton' has been renamed to/replaced by 'picom'"; # Converted to throw 2023-09-10
@@ -161,7 +162,6 @@ mapAliases ({
   cvs_fast_export = cvs-fast-export; # Added 2021-06-10
 
   # these are for convenience, not for backward compat and shouldn't expire
-  clang5Stdenv = lowPrio llvmPackages_5.stdenv;
   clang6Stdenv = lowPrio llvmPackages_6.stdenv;
   clang7Stdenv = lowPrio llvmPackages_7.stdenv;
   clang8Stdenv = lowPrio llvmPackages_8.stdenv;
@@ -428,6 +428,8 @@ mapAliases ({
   keysmith = libsForQt5.kdeGear.keysmith; # Added 2021-07-14
   kfctl = throw "kfctl is broken and has been archived by upstream" ; # Added 2023-08-21
   kgx = gnome-console; # Added 2022-02-19
+  kibana7 = throw "Kibana 7.x has been removed from nixpkgs as it depends on an end of life Node.js version and received no maintenance in time."; # Added 2023-30-10
+  kibana = kibana7;
   kicad-with-packages3d = throw "'kicad-with-packages3d' has been renamed to/replaced by 'kicad'"; # Converted to throw 2023-09-10
   kio-admin = libsForQt5.kdeGear.kio-admin; # Added 2023-03-18
   kodiGBM = kodi-gbm;
@@ -623,10 +625,14 @@ mapAliases ({
   nixopsUnstable = nixops_unstable; # Added 2022-03-03
   nixosTest = testers.nixosTest; # Added 2022-05-05
   nmap-unfree = nmap; # Added 2021-04-06
+  nodejs_14 = throw "nodejs_14 has been removed as it is EOL."; # Added 2023-10-30
+  nodejs-slim_14 = throw "nodejs-slim_14 has been removed as it is EOL."; # Added 2023-10-30
   nodejs-14_x = nodejs_14; # Added 2022-11-06
   nodejs-slim-14_x = nodejs-slim_14; # Added 2022-11-06
+  nodejs_16 = throw "nodejs_16 has been removed as it is EOL."; # Added 2023-10-30
   nodejs-16_x = nodejs_16; # Added 2022-11-06
   nodejs-16_x-openssl_1_1 = throw "nodejs-16_x-openssl_1_1 has been removed."; # Added 2023-02-04
+  nodejs-slim_16 = throw "nodejs-slim_16 has been removed as it is EOL."; # Added 2022-11-06
   nodejs-slim-16_x = nodejs-slim_16; # Added 2022-11-06
   nodejs-18_x = nodejs_18; # Added 2022-11-06
   nodejs-slim-18_x = nodejs-slim_18; # Added 2022-11-06
diff --git a/nixpkgs/pkgs/top-level/all-packages.nix b/nixpkgs/pkgs/top-level/all-packages.nix
index 3bb27a9ee399..191c3b1147f5 100644
--- a/nixpkgs/pkgs/top-level/all-packages.nix
+++ b/nixpkgs/pkgs/top-level/all-packages.nix
@@ -8462,8 +8462,6 @@ with pkgs;
 
   fornalder = callPackage ../applications/version-management/fornalder { };
 
-  free42 = callPackage ../applications/misc/free42 { };
-
   galen = callPackage ../development/tools/galen { };
 
   gallery-dl = python3Packages.callPackage ../applications/misc/gallery-dl { };
@@ -9830,9 +9828,6 @@ with pkgs;
 
   kluctl = callPackage ../applications/networking/cluster/kluctl { };
 
-  kibana7 = callPackage ../development/tools/misc/kibana/7.x.nix { };
-  kibana = kibana7;
-
   kibi = callPackage ../applications/editors/kibi { };
 
   kio-fuse = libsForQt5.callPackage ../tools/filesystems/kio-fuse { };
@@ -9990,6 +9985,8 @@ with pkgs;
 
   lldpd = callPackage ../tools/networking/lldpd { };
 
+  llm = with python3Packages; toPythonApplication llm;
+
   lnav = callPackage ../tools/misc/lnav { };
 
   lnch = callPackage ../tools/misc/lnch { };
@@ -10309,15 +10306,6 @@ with pkgs;
   nodejs-slim = nodejs-slim_18;
   corepack = hiPrio corepack_18;
 
-  nodejs_14 = callPackage ../development/web/nodejs/v14.nix { openssl = openssl_1_1; };
-  nodejs-slim_14 = callPackage ../development/web/nodejs/v14.nix {
-    openssl = openssl_1_1;
-    enableNpm = false;
-  };
-
-  nodejs_16 = callPackage ../development/web/nodejs/v16.nix { };
-  nodejs-slim_16 = callPackage ../development/web/nodejs/v16.nix { enableNpm = false; };
-
   nodejs_18 = callPackage ../development/web/nodejs/v18.nix { };
   nodejs-slim_18 = callPackage ../development/web/nodejs/v18.nix { enableNpm = false; };
   corepack_18 = hiPrio (callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs_18; });
@@ -15038,9 +15026,7 @@ with pkgs;
 
   clipnotify = callPackage ../tools/misc/clipnotify { };
 
-  clipboard-jh = callPackage ../tools/misc/clipboard-jh {
-    stdenv = if stdenv.isDarwin then llvmPackages_16.stdenv else stdenv;
-  };
+  clipboard-jh = callPackage ../tools/misc/clipboard-jh { };
 
   clipbuzz = callPackage ../tools/misc/clipbuzz { };
 
@@ -15648,7 +15634,6 @@ with pkgs;
   };
 
   clang = llvmPackages.clang;
-  clang_5  = llvmPackages_5.clang;
   clang_6  = llvmPackages_6.clang;
   clang_7  = llvmPackages_7.clang;
   clang_8  = llvmPackages_8.clang;
@@ -15665,10 +15650,6 @@ with pkgs;
     llvmPackages = llvmPackages_14;
   };
 
-  clang-tools_5 = callPackage ../development/tools/clang-tools {
-    llvmPackages = llvmPackages_5;
-  };
-
   clang-tools_6 = callPackage ../development/tools/clang-tools {
     llvmPackages = llvmPackages_6;
   };
@@ -16601,7 +16582,6 @@ with pkgs;
   };
 
   lld = llvmPackages.lld;
-  lld_5 = llvmPackages_5.lld;
   lld_6 = llvmPackages_6.lld;
   lld_7 = llvmPackages_7.lld;
   lld_8 = llvmPackages_8.lld;
@@ -16615,7 +16595,6 @@ with pkgs;
   lld_16 = llvmPackages_16.lld;
 
   lldb = lldb_14;
-  lldb_5 = llvmPackages_5.lldb;
   lldb_6 = llvmPackages_6.lldb;
   lldb_7 = llvmPackages_7.lldb;
   lldb_8 = llvmPackages_8.lldb;
@@ -16629,7 +16608,6 @@ with pkgs;
   lldb_16 = llvmPackages_16.lldb;
 
   llvm = llvmPackages.llvm;
-  llvm_5  = llvmPackages_5.llvm;
   llvm_6  = llvmPackages_6.llvm;
   llvm_7  = llvmPackages_7.llvm;
   llvm_8  = llvmPackages_8.llvm;
@@ -16662,13 +16640,6 @@ with pkgs;
       stdenv.targetPlatform));
   in pkgs.${"llvmPackages_${minSupported}"};
 
-  llvmPackages_5 = recurseIntoAttrs (callPackage ../development/compilers/llvm/5 {
-    inherit (stdenvAdapters) overrideCC;
-    buildLlvmTools = buildPackages.llvmPackages_5.tools;
-    targetLlvm = targetPackages.llvmPackages_5.llvm or llvmPackages_5.llvm;
-    targetLlvmLibraries = targetPackages.llvmPackages_5.libraries or llvmPackages_5.libraries;
-  });
-
   llvmPackages_6 = recurseIntoAttrs (callPackage ../development/compilers/llvm/6 {
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_6.tools;
@@ -17762,7 +17733,7 @@ with pkgs;
   ### End of CuboCore
 
   maude = callPackage ../development/interpreters/maude {
-    stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
+    stdenv = if stdenv.cc.isClang then llvmPackages_7.stdenv else stdenv;
   };
 
   me_cleaner = callPackage ../tools/misc/me_cleaner { };
@@ -18046,7 +18017,6 @@ with pkgs;
     mkRubyVersion
     mkRuby
     ruby_2_7
-    ruby_3_0
     ruby_3_1
     ruby_3_2
     ruby_3_3;
@@ -18055,7 +18025,6 @@ with pkgs;
   rubyPackages = rubyPackages_3_1;
 
   rubyPackages_2_7 = recurseIntoAttrs ruby_2_7.gems;
-  rubyPackages_3_0 = recurseIntoAttrs ruby_3_0.gems;
   rubyPackages_3_1 = recurseIntoAttrs ruby_3_1.gems;
   rubyPackages_3_2 = recurseIntoAttrs ruby_3_2.gems;
   rubyPackages_3_3 = recurseIntoAttrs ruby_3_3.gems;
@@ -19870,8 +19839,7 @@ with pkgs;
 
   qtcreator = qt6Packages.callPackage ../development/tools/qtcreator {
     inherit (linuxPackages) perf;
-    stdenv = llvmPackages_14.stdenv;
-    llvmPackages = llvmPackages_14;
+    stdenv = llvmPackages.stdenv;
   };
 
   qxmledit = libsForQt5.callPackage ../applications/editors/qxmledit {} ;
@@ -22766,6 +22734,8 @@ with pkgs;
 
   libfprint-2-tod1-vfs0090 = callPackage ../development/libraries/libfprint-2-tod1-vfs0090 { };
 
+  libfprint-2-tod1-elan = callPackage ../development/libraries/libfprint-2-tod1-elan { };
+
   libfpx = callPackage ../development/libraries/libfpx { };
 
   libgadu = callPackage ../development/libraries/libgadu { };
@@ -26571,6 +26541,8 @@ with pkgs;
 
   jicofo = callPackage ../servers/jicofo { };
 
+  jitsi-excalidraw = callPackage ../servers/jitsi-excalidraw { };
+
   jitsi-meet = callPackage ../servers/web-apps/jitsi-meet { };
 
   jitsi-meet-prosody = callPackage ../misc/jitsi-meet-prosody { };
@@ -28138,6 +28110,7 @@ with pkgs;
   linuxPackages_testing = linuxKernel.packages.linux_testing;
   linux_testing = linuxKernel.kernels.linux_testing;
 
+  # FIXME: Remove and alias to `linux(Packages)_testing`` after 23.11 is released
   linuxPackages_testing_bcachefs = linuxKernel.packages.linux_testing_bcachefs;
   linux_testing_bcachefs = linuxKernel.kernels.linux_testing_bcachefs;
 
@@ -32558,8 +32531,6 @@ with pkgs;
 
   noson = libsForQt5.callPackage ../applications/audio/noson { };
 
-  offpunk = callPackage ../applications/networking/browsers/offpunk { };
-
   owl-compositor = callPackage ../applications/window-managers/owl { };
 
   p2pool = callPackage ../applications/misc/p2pool { };
@@ -33132,7 +33103,7 @@ with pkgs;
       CoreMediaIO QuartzCore AppKit CoreWLAN WebKit IOKit GSS MediaPlayer IOSurface Metal MetalKit;
 
     stdenv = if stdenv.isDarwin
-      then darwin.apple_sdk_11_0.stdenv
+      then overrideLibcxx darwin.apple_sdk_11_0.llvmPackages_12.stdenv
       else stdenv;
 
     # telegram-desktop has random crashes when jemalloc is built with gcc.
@@ -33471,9 +33442,7 @@ with pkgs;
 
   linuxsampler = callPackage ../applications/audio/linuxsampler { };
 
-  llpp = callPackage ../applications/misc/llpp {
-    inherit (ocaml-ng.ocamlPackages_4_14) ocaml;
-  };
+  llpp = callPackage ../applications/misc/llpp { };
 
   lls = callPackage ../applications/networking/lls { };
 
@@ -33961,7 +33930,11 @@ with pkgs;
 
   normalize = callPackage ../applications/audio/normalize { };
 
-  norouter = callPackage ../tools/networking/norouter { };
+  norouter = callPackage ../tools/networking/norouter {
+    # doesn't build with go 1.21
+    # https://github.com/norouter/norouter/issues/165
+    buildGoModule = buildGo120Module;
+  };
 
   nqptp = callPackage ../tools/networking/nqptp { };
 
@@ -34101,8 +34074,6 @@ with pkgs;
 
   nwg-dock-hyprland = callPackage ../applications/misc/nwg-dock-hyprland { };
 
-  nwg-drawer = callPackage ../applications/misc/nwg-drawer { };
-
   nwg-launchers = callPackage ../applications/misc/nwg-launchers { };
 
   nwg-look = callPackage ../applications/misc/nwg-look { };
@@ -36361,13 +36332,6 @@ with pkgs;
     inherit (nodePackages) node-gyp;
   };
 
-  code-server = callPackage ../servers/code-server {
-    nodejs = nodejs_16;
-    inherit (darwin.apple_sdk.frameworks) AppKit Cocoa CoreServices Security;
-    inherit (darwin) cctools;
-    inherit (nodePackages) node-gyp;
-  };
-
   vue = callPackage ../applications/misc/vue { };
 
   vuze = callPackage ../applications/networking/p2p/vuze {
@@ -37697,6 +37661,9 @@ with pkgs;
 
   deliantra-server = callPackage ../games/deliantra/server.nix {
     stdenv = gcc10StdenvCompat;
+    # perl538 defines 'struct object' in sv.h. many conflicts result
+    perl = perl536;
+    perlPackages = perl536Packages;
   };
   deliantra-arch = callPackage ../games/deliantra/arch.nix {
     stdenv = gcc10StdenvCompat;
@@ -38347,7 +38314,6 @@ with pkgs;
   scid-vs-pc = callPackage ../games/scid-vs-pc { };
 
   scummvm = callPackage ../games/scummvm {
-    stdenv = if (stdenv.isDarwin && stdenv.isAarch64) then llvmPackages_14.stdenv else stdenv;
     inherit (darwin) cctools;
     inherit (darwin.apple_sdk.frameworks) Cocoa AudioToolbox Carbon CoreMIDI AudioUnit;
   };
@@ -40033,7 +39999,7 @@ with pkgs;
 
   root5 = lowPrio (callPackage ../applications/science/misc/root/5.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL;
-    stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
+    stdenv = if stdenv.cc.isClang then llvmPackages_7.stdenv else stdenv;
   });
 
   rinetd = callPackage ../servers/rinetd { };
@@ -40252,6 +40218,10 @@ with pkgs;
 
   cups-bjnp = callPackage ../misc/cups/drivers/cups-bjnp { };
 
+  dcp375cwlpr = (pkgsi686Linux.callPackage ../misc/cups/drivers/brother/dcp375cw { }).driver;
+
+  dcp375cw-cupswrapper = (callPackage ../misc/cups/drivers/brother/dcp375cw { }).cupswrapper;
+
   dcp9020cdwlpr = (pkgsi686Linux.callPackage ../misc/cups/drivers/brother/dcp9020cdw { }).driver;
 
   dcp9020cdw-cupswrapper = (callPackage ../misc/cups/drivers/brother/dcp9020cdw { }).cupswrapper;
@@ -41066,6 +41036,9 @@ with pkgs;
 
   hll2390dw-cups = callPackage ../misc/cups/drivers/hll2390dw-cups { };
 
+  mfc465cncupswrapper = callPackage ../misc/cups/drivers/brother/mfc465cncupswrapper { };
+  mfc465cnlpr = callPackage ../misc/cups/drivers/brother/mfc465cnlpr { };
+
   mfcj470dw-cupswrapper = callPackage ../misc/cups/drivers/mfcj470dwcupswrapper { };
   mfcj470dwlpr = pkgsi686Linux.callPackage ../misc/cups/drivers/mfcj470dwlpr { };
 
@@ -42008,7 +41981,7 @@ with pkgs;
   bottom = darwin.apple_sdk_11_0.callPackage ../tools/system/bottom { };
 
   cagebreak = callPackage ../applications/window-managers/cagebreak {
-    wlroots = wlroots_0_15;
+    wlroots = wlroots_0_16;
   };
 
   psftools = callPackage ../os-specific/linux/psftools { };
diff --git a/nixpkgs/pkgs/top-level/linux-kernels.nix b/nixpkgs/pkgs/top-level/linux-kernels.nix
index 2cd4319e6650..12ad5a678f21 100644
--- a/nixpkgs/pkgs/top-level/linux-kernels.nix
+++ b/nixpkgs/pkgs/top-level/linux-kernels.nix
@@ -201,6 +201,7 @@ in {
        then latest
        else testing;
 
+    # FIXME: Remove after 23.11 is released
     linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix {
       # Pinned on the last version which Kent's commits can be cleany rebased up.
       kernel = linux_6_5;
@@ -612,6 +613,7 @@ in {
 
     # Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds.
     linux_testing = packagesFor kernels.linux_testing;
+    # FIXME: Remove after 23.11 is released
     linux_testing_bcachefs = recurseIntoAttrs (packagesFor kernels.linux_testing_bcachefs);
 
     linux_hardened = recurseIntoAttrs (packagesFor kernels.linux_hardened);
diff --git a/nixpkgs/pkgs/top-level/perl-packages.nix b/nixpkgs/pkgs/top-level/perl-packages.nix
index 323cf1350cd8..967f7b0925c7 100644
--- a/nixpkgs/pkgs/top-level/perl-packages.nix
+++ b/nixpkgs/pkgs/top-level/perl-packages.nix
@@ -772,7 +772,7 @@ with self; {
     };
     propagatedBuildInputs = [ ExceptionClass Tk X11ProtocolOther XMLSimple ];
     buildInputs = [ DataDump FileWhich Readonly TestDifferences TestTrap ];
-    preCheck = "rm t/30cluster.t"; # do not run failing tests
+    preCheck = "rm t/30cluster.t t/15config.t"; # do not run failing tests
     postInstall = ''
       mkdir -p $out/share/bash-completion/completions
       mv $out/bin/clusterssh_bash_completion.dist \
@@ -1169,6 +1169,20 @@ with self; {
     };
   };
 
+  AsyncUtil = buildPerlPackage {
+    pname = "Async-Util";
+    version = "0.01";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/W/WH/WHITNEY/Async-Util-0.01.tar.gz";
+      hash = "sha256-jzKxHKvFD2Xjh79W8mWBV6IsNah5Nmbhtfis/hMQkQY=";
+    };
+    buildInputs = [ AnyEvent ListMoreUtils ];
+    meta = {
+      description = "Utilities for doing common async operations";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   ArchiveCpio = buildPerlPackage {
     pname = "Archive-Cpio";
     version = "0.10";
@@ -1253,6 +1267,18 @@ with self; {
     };
   };
 
+  AudioCuefileParser = buildPerlPackage {
+    pname = "Audio-Cuefile-Parser";
+    version = "0.02";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MA/MATTK/Audio-Cuefile-Parser-0.02.tar.gz";
+      hash = "sha256-ulbQcMhz2WxoatmoH99P6JuETkPrSd/gAL+c70PFtmk=";
+    };
+    meta = {
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   AudioFLACHeader = buildPerlPackage {
     pname = "Audio-FLAC-Header";
     version = "2.4";
@@ -3602,6 +3628,19 @@ with self; {
     };
   };
 
+  ClassMember = buildPerlPackage {
+    pname = "Class-Member";
+    version = "1.6";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/O/OP/OPI/Class-Member-1.6.tar.gz";
+      hash = "sha256-p1KK8in6OhIF3NJakd59dKxvp9lSgbmTtV6Lb0+HuZE=";
+    };
+    meta = {
+      description = "A set of modules to make the module developement easier";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   ClassMethodMaker = buildPerlPackage {
     pname = "Class-MethodMaker";
     version = "2.24";
@@ -5580,10 +5619,14 @@ with self; {
       url = "mirror://cpan/authors/id/S/SP/SPROUT/CSS-DOM-0.17.tar.gz";
       hash = "sha256-Zbl46/PDmF5V7jK7baHp+upJSoXTAFxjuux+lphZ8CY=";
     };
+
+    patches = [
+      # Replace apostrophe as package separator
+      # https://rt.cpan.org/Public/Bug/Display.html?id=146661
+      ../development/perl-modules/CSSDOM-replace-apostrophe.patch
+    ];
+
     propagatedBuildInputs = [ Clone ];
-    preCheck = ''
-      rm t/css-dom.t # Remove test that fails due to deprecated package separator warning
-    '';
     meta = {
       description = "Document Object Model for Cascading Style Sheets";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
@@ -8801,6 +8844,19 @@ with self; {
     };
   };
 
+  ENVUtil = buildPerlPackage {
+    pname = "ENV-Util";
+    version = "0.03";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/G/GA/GARU/ENV-Util-0.03.tar.gz";
+      hash = "sha256-B1574ehSxD6wiGYvr978FS9O9WyEPB4F2QDaGQb3P60=";
+    };
+    meta = {
+      description = "Parse prefixed environment variables and dotnev (.env) files into Perl";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   Error = buildPerlModule {
     pname = "Error";
     version = "0.17029";
@@ -12712,6 +12768,19 @@ with self; {
     };
   };
 
+  IOInterface = buildPerlModule {
+    pname = "IO-Interface";
+    version = "1.09";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/L/LD/LDS/IO-Interface-1.09.tar.gz";
+      hash = "sha256-5j6BxS6x4OYOwtmD9VUtJJPhFxeZJclnV/I8S9n6cTo=";
+    };
+    meta = {
+      description = "Access and modify network interface card configuration";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   IOInteractive = buildPerlPackage {
     pname = "IO-Interactive";
     version = "1.025";
@@ -17933,6 +18002,20 @@ with self; {
     };
   };
 
+  MP3CutGapless = buildPerlPackage {
+    pname = "MP3-Cut-Gapless";
+    version = "0.03";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/MP3-Cut-Gapless-0.03.tar.gz";
+      hash = "sha256-PoS3OdHx4902FvhR3GV14WXTKEZ/AySGB5UOWVH+pPM=";
+    };
+    propagatedBuildInputs = [ AudioCuefileParser ];
+    meta = {
+      description = "Split an MP3 file without gaps (based on pcutmp3)";
+      license = with lib.licenses; [ artistic1 ];
+    };
+  };
+
   MP3Info = buildPerlPackage {
     pname = "MP3-Info";
     version = "1.26";
@@ -18838,6 +18921,20 @@ with self; {
     };
   };
 
+  NetNVD = buildPerlPackage {
+    pname = "Net-NVD";
+    version = "0.0.3";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/G/GA/GARU/Net-NVD-0.0.3.tar.gz";
+      hash = "sha256-uKZXEg+UsO7R2OvbA4i8M2DSj6Xw+CNrnNjNrovv5Bg=";
+    };
+    propagatedBuildInputs = [ IOSocketSSL JSON ];
+    meta = {
+      description = "Query CVE data from NIST's NVD (National Vulnerability Database)";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   NetOAuth = buildPerlModule {
     pname = "Net-OAuth";
     version = "0.28";
diff --git a/nixpkgs/pkgs/top-level/pkg-config/pkg-config-data.json b/nixpkgs/pkgs/top-level/pkg-config/pkg-config-data.json
index 4578b0f92b25..50eae9ac572d 100644
--- a/nixpkgs/pkgs/top-level/pkg-config/pkg-config-data.json
+++ b/nixpkgs/pkgs/top-level/pkg-config/pkg-config-data.json
@@ -773,11 +773,6 @@
         "ruby_2_7"
       ]
     },
-    "ruby-3.0": {
-      "attrPath": [
-        "ruby_3_0"
-      ]
-    },
     "ruby-3.1": {
       "attrPath": [
         "ruby_3_1"
diff --git a/nixpkgs/pkgs/top-level/python-packages.nix b/nixpkgs/pkgs/top-level/python-packages.nix
index f21dc11dd49c..4b29edee0ec6 100644
--- a/nixpkgs/pkgs/top-level/python-packages.nix
+++ b/nixpkgs/pkgs/top-level/python-packages.nix
@@ -3441,6 +3441,8 @@ self: super: with self; {
 
   ecdsa = callPackage ../development/python-modules/ecdsa { };
 
+  echo = callPackage ../development/python-modules/echo { };
+
   ecoaliface = callPackage ../development/python-modules/ecoaliface { };
 
   ecos = callPackage ../development/python-modules/ecos { };
@@ -3803,6 +3805,8 @@ self: super: with self; {
 
   fastapi-mail = callPackage ../development/python-modules/fastapi-mail { };
 
+  fast-histogram = callPackage ../development/python-modules/fast-histogram { };
+
   fastavro = callPackage ../development/python-modules/fastavro { };
 
   fastbencode = callPackage ../development/python-modules/fastbencode { };
@@ -4508,6 +4512,8 @@ self: super: with self; {
 
   glom = callPackage ../development/python-modules/glom { };
 
+  glueviz = callPackage ../development/python-modules/glueviz { };
+
   glymur = callPackage ../development/python-modules/glymur { };
 
   gmpy2 = callPackage ../development/python-modules/gmpy2 { };
@@ -5324,6 +5330,8 @@ self: super: with self; {
 
   imgsize = callPackage ../development/python-modules/imgsize { };
 
+  imgtool = callPackage ../development/python-modules/imgtool { };
+
   iminuit = callPackage ../development/python-modules/iminuit { };
 
   immutabledict = callPackage ../development/python-modules/immutabledict { };
@@ -6354,6 +6362,8 @@ self: super: with self; {
 
   linkify-it-py = callPackage ../development/python-modules/linkify-it-py { };
 
+  linknlink = callPackage ../development/python-modules/linknlink { };
+
   linode-api = callPackage ../development/python-modules/linode-api { };
 
   linode = callPackage ../development/python-modules/linode { };
@@ -6390,6 +6400,8 @@ self: super: with self; {
     inherit (pkgs) fuse;
   };
 
+  llm = callPackage ../development/python-modules/llm { };
+
   llvmlite = callPackage ../development/python-modules/llvmlite {
     # llvmlite always requires a specific version of llvm.
     llvm = pkgs.llvm_14;
@@ -6883,6 +6895,8 @@ self: super: with self; {
 
   mitmproxy = callPackage ../development/python-modules/mitmproxy { };
 
+  mitmproxy-macos = callPackage ../development/python-modules/mitmproxy-macos { };
+
   mitmproxy-rs = callPackage ../development/python-modules/mitmproxy-rs { };
 
   mitmproxy-wireguard = callPackage ../development/python-modules/mitmproxy-wireguard { };
@@ -7068,6 +7082,8 @@ self: super: with self; {
 
   mplleaflet = callPackage ../development/python-modules/mplleaflet { };
 
+  mpl-scatter-density = callPackage ../development/python-modules/mpl-scatter-density { };
+
   mpmath = callPackage ../development/python-modules/mpmath { };
 
   mpris-server = callPackage ../development/python-modules/mpris-server { };
@@ -8454,10 +8470,7 @@ self: super: with self; {
 
   openai-triton-bin = callPackage ../development/python-modules/openai-triton/bin.nix { };
 
-  openai-whisper = callPackage ../development/python-modules/openai-whisper {
-    inherit (pkgs.config) cudaSupport;
-    openai-triton = self.openai-triton-cuda;
-  };
+  openai-whisper = callPackage ../development/python-modules/openai-whisper { };
 
   openant = callPackage ../development/python-modules/openant { };
 
@@ -9690,6 +9703,8 @@ self: super: with self; {
 
   pushover-complete = callPackage ../development/python-modules/pushover-complete { };
 
+  pvextractor = callPackage ../development/python-modules/pvextractor { };
+
   pvlib = callPackage ../development/python-modules/pvlib { };
 
   pvo = callPackage ../development/python-modules/pvo { };
@@ -12668,7 +12683,9 @@ self: super: with self; {
 
   scikit-survival = callPackage ../development/python-modules/scikit-survival { };
 
-  scs = callPackage ../development/python-modules/scs { };
+  scs = callPackage ../development/python-modules/scs {
+    inherit (pkgs.darwin.apple_sdk.frameworks) Accelerate;
+  };
 
   sdds = callPackage ../development/python-modules/sdds { };
 
diff --git a/nixpkgs/pkgs/top-level/release.nix b/nixpkgs/pkgs/top-level/release.nix
index 034dccdcd475..a8e9f397c0bf 100644
--- a/nixpkgs/pkgs/top-level/release.nix
+++ b/nixpkgs/pkgs/top-level/release.nix
@@ -143,10 +143,12 @@ let
 
               jobs.tests.cc-wrapper.llvmPackages.clang.x86_64-linux
               jobs.tests.cc-wrapper.llvmPackages.libcxx.x86_64-linux
-              jobs.tests.cc-wrapper.llvmPackages_5.clang.x86_64-linux
-              jobs.tests.cc-wrapper.llvmPackages_5.libcxx.x86_64-linux
               jobs.tests.cc-wrapper.llvmPackages_6.clang.x86_64-linux
               jobs.tests.cc-wrapper.llvmPackages_6.libcxx.x86_64-linux
+              jobs.tests.cc-wrapper.llvmPackages_7.clang.x86_64-linux
+              jobs.tests.cc-wrapper.llvmPackages_7.libcxx.x86_64-linux
+              jobs.tests.cc-wrapper.llvmPackages_7.clang.x86_64-linux
+              jobs.tests.cc-wrapper.llvmPackages_7.libcxx.x86_64-linux
               jobs.tests.cc-multilib-gcc.x86_64-linux
               jobs.tests.cc-multilib-clang.x86_64-linux
               jobs.tests.stdenv-inputs.x86_64-linux
@@ -243,6 +245,18 @@ let
     (mapTestOn ((packagePlatforms pkgs) // {
       haskell.compiler = packagePlatforms pkgs.haskell.compiler;
       haskellPackages = packagePlatforms pkgs.haskellPackages;
+      # Build selected packages (HLS) for multiple Haskell compilers to rebuild
+      # the cache after a staging merge
+      haskell.packages = lib.genAttrs [
+        # TODO: share this list between release.nix and release-haskell.nix
+        "ghc90"
+        "ghc92"
+        "ghc94"
+        "ghc96"
+      ] (compilerName: {
+        inherit (packagePlatforms pkgs.haskell.packages.${compilerName})
+          haskell-language-server;
+      });
       idrisPackages = packagePlatforms pkgs.idrisPackages;
       agdaPackages = packagePlatforms pkgs.agdaPackages;