summary refs log tree commit diff
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2022-05-09 14:27:13 +0200
committerRobert Hensing <robert@roberthensing.nl>2022-05-09 14:27:13 +0200
commitebf0465d09a31645e1ca1a70ef50dc4483506875 (patch)
treed8dff45d5d99bdeb56af7e9ac27b7e6a44f9f7f6
parent93abb7bef7a73f0c5fa0453d60c024ca7464f1c5 (diff)
parentecc106108cc2fd868be1624607dc1065ccb67fd0 (diff)
downloadnixpkgs-ebf0465d09a31645e1ca1a70ef50dc4483506875.tar
nixpkgs-ebf0465d09a31645e1ca1a70ef50dc4483506875.tar.gz
nixpkgs-ebf0465d09a31645e1ca1a70ef50dc4483506875.tar.bz2
nixpkgs-ebf0465d09a31645e1ca1a70ef50dc4483506875.tar.lz
nixpkgs-ebf0465d09a31645e1ca1a70ef50dc4483506875.tar.xz
nixpkgs-ebf0465d09a31645e1ca1a70ef50dc4483506875.tar.zst
nixpkgs-ebf0465d09a31645e1ca1a70ef50dc4483506875.zip
Merge remote-tracking branch 'upstream/master' into testers
-rw-r--r--doc/languages-frameworks/python.section.md2
-rw-r--r--maintainers/maintainer-list.nix50
-rw-r--r--maintainers/scripts/luarocks-packages.csv2
-rw-r--r--maintainers/team-list.nix13
-rw-r--r--nixos/doc/manual/from_md/installation/installing-from-other-distro.section.xml2
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2205.section.xml21
-rw-r--r--nixos/doc/manual/installation/installing-from-other-distro.section.md2
-rw-r--r--nixos/doc/manual/release-notes/rl-2205.section.md9
-rw-r--r--nixos/modules/hardware/keyboard/uhk.nix21
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-base.nix2
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl12
-rw-r--r--nixos/modules/installer/tools/tools.nix7
-rw-r--r--nixos/modules/misc/mandoc.nix4
-rw-r--r--nixos/modules/misc/version.nix9
-rw-r--r--nixos/modules/module-list.nix3
-rw-r--r--nixos/modules/security/pam.nix4
-rw-r--r--nixos/modules/security/wrappers/default.nix4
-rw-r--r--nixos/modules/services/backup/borgmatic.nix5
-rw-r--r--nixos/modules/services/continuous-integration/hydra/default.nix8
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json3
-rw-r--r--nixos/modules/services/games/factorio.nix15
-rw-r--r--nixos/modules/services/hardware/illum.nix1
-rw-r--r--nixos/modules/services/hardware/usbrelayd.nix7
-rw-r--r--nixos/modules/services/home-automation/home-assistant.nix9
-rw-r--r--nixos/modules/services/logging/logstash.nix2
-rw-r--r--nixos/modules/services/mail/spamassassin.nix2
-rw-r--r--nixos/modules/services/matrix/matrix-synapse.nix1
-rw-r--r--nixos/modules/services/misc/heisenbridge.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix9
-rw-r--r--nixos/modules/services/networking/gateone.nix4
-rw-r--r--nixos/modules/services/networking/ircd-hybrid/ircd.conf2
-rw-r--r--nixos/modules/services/networking/pleroma.nix8
-rw-r--r--nixos/modules/services/networking/pptpd.nix2
-rw-r--r--nixos/modules/services/networking/prayer.nix2
-rw-r--r--nixos/modules/services/networking/supplicant.nix4
-rw-r--r--nixos/modules/services/networking/tailscale.nix27
-rw-r--r--nixos/modules/services/networking/xl2tpd.nix6
-rw-r--r--nixos/modules/services/security/kanidm.nix345
-rw-r--r--nixos/modules/services/security/sshguard.nix2
-rw-r--r--nixos/modules/services/wayland/cage.nix2
-rw-r--r--nixos/modules/services/web-apps/restya-board.nix8
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/phosh.nix (renamed from nixos/modules/programs/phosh.nix)73
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix2
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm.nix2
-rw-r--r--nixos/modules/services/x11/display-managers/sddm.nix2
-rw-r--r--nixos/modules/system/boot/modprobe.nix2
-rw-r--r--nixos/modules/system/boot/networkd.nix1
-rw-r--r--nixos/modules/system/boot/plymouth.nix102
-rw-r--r--nixos/modules/system/boot/systemd/nspawn.nix6
-rw-r--r--nixos/modules/tasks/auto-upgrade.nix2
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix199
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix42
-rw-r--r--nixos/modules/tasks/network-interfaces.nix5
-rw-r--r--nixos/modules/testing/test-instrumentation.nix3
-rw-r--r--nixos/modules/virtualisation/amazon-init.nix2
-rw-r--r--nixos/modules/virtualisation/digital-ocean-init.nix2
-rw-r--r--nixos/modules/virtualisation/proxmox-lxc.nix11
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/installed-tests/default.nix1
-rw-r--r--nixos/tests/installed-tests/power-profiles-daemon.nix9
-rw-r--r--nixos/tests/installer-systemd-stage-1.nix2
-rw-r--r--nixos/tests/kanidm.nix75
-rw-r--r--nixos/tests/kernel-generic.nix1
-rw-r--r--nixos/tests/networking.nix20
-rw-r--r--nixos/tests/pleroma.nix4
-rw-r--r--nixos/tests/systemd-nspawn.nix13
-rw-r--r--nixos/tests/virtualbox.nix2
-rw-r--r--pkgs/applications/audio/airwindows-lv2/default.nix25
-rw-r--r--pkgs/applications/audio/amberol/default.nix8
-rw-r--r--pkgs/applications/audio/cdparanoia/configure.patch22
-rw-r--r--pkgs/applications/audio/cdparanoia/default.nix33
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix4
-rw-r--r--pkgs/applications/audio/monkeys-audio/default.nix21
-rw-r--r--pkgs/applications/audio/rhythmbox/default.nix82
-rw-r--r--pkgs/applications/editors/deadpixi-sam/default.nix7
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/ement/default.nix6
-rw-r--r--pkgs/applications/editors/gnome-latex/default.nix17
-rw-r--r--pkgs/applications/editors/nano/default.nix8
-rw-r--r--pkgs/applications/editors/oed/default.nix3
-rw-r--r--pkgs/applications/editors/standardnotes/default.nix1
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/editors/vim/configurable.nix6
-rw-r--r--pkgs/applications/editors/vis/default.nix41
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix12
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix12
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix1
-rw-r--r--pkgs/applications/emulators/citra/default.nix8
-rw-r--r--pkgs/applications/emulators/commanderx16/emulator.nix3
-rw-r--r--pkgs/applications/emulators/duckstation/default.nix5
-rw-r--r--pkgs/applications/emulators/simh/default.nix5
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--pkgs/applications/graphics/drawio/default.nix4
-rw-r--r--pkgs/applications/graphics/gqview/default.nix1
-rw-r--r--pkgs/applications/graphics/hydrus/default.nix4
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix7
-rw-r--r--pkgs/applications/graphics/jpegrescan/default.nix29
-rw-r--r--pkgs/applications/graphics/rnote/default.nix9
-rw-r--r--pkgs/applications/graphics/sane/backends/default.nix11
-rw-r--r--pkgs/applications/misc/1password-gui/beta.nix4
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix4
-rw-r--r--pkgs/applications/misc/archivy/default.nix18
-rw-r--r--pkgs/applications/misc/ausweisapp2/default.nix4
-rw-r--r--pkgs/applications/misc/bicon/default.nix31
-rw-r--r--pkgs/applications/misc/binance/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/catclock/default.nix18
-rw-r--r--pkgs/applications/misc/charm/default.nix5
-rw-r--r--pkgs/applications/misc/hstr/default.nix16
-rw-r--r--pkgs/applications/misc/logseq/default.nix4
-rw-r--r--pkgs/applications/misc/lutris/default.nix6
-rw-r--r--pkgs/applications/misc/mediainfo-gui/default.nix9
-rw-r--r--pkgs/applications/misc/nanoblogger/default.nix1
-rw-r--r--pkgs/applications/misc/nimbo/default.nix2
-rw-r--r--pkgs/applications/misc/oil-buku/default.nix3
-rw-r--r--pkgs/applications/misc/polybar/default.nix6
-rw-r--r--pkgs/applications/misc/privacyidea/default.nix2
-rw-r--r--pkgs/applications/misc/remnote/default.nix19
-rw-r--r--pkgs/applications/misc/rofi-rbw/default.nix26
-rw-r--r--pkgs/applications/misc/scli/default.nix6
-rw-r--r--pkgs/applications/misc/sigi/default.nix6
-rw-r--r--pkgs/applications/misc/swaynotificationcenter/default.nix7
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix23
-rw-r--r--pkgs/applications/misc/taskwarrior/default.nix1
-rw-r--r--pkgs/applications/misc/translate-shell/default.nix1
-rw-r--r--pkgs/applications/misc/web-media-controller/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json32
-rw-r--r--pkgs/applications/networking/browsers/firefox/librewolf/src.json6
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix67
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix20
-rw-r--r--pkgs/applications/networking/browsers/vimb/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/bosh-cli/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/fluxcd/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/k3s/default.nix21
-rwxr-xr-xpkgs/applications/networking/cluster/k3s/update.sh13
-rw-r--r--pkgs/applications/networking/cluster/krelay/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix3
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix5
-rw-r--r--pkgs/applications/networking/flexget/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/alfaview/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/chatty/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/freetalk/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/default.nix70
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix2
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix7
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/alot/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix5
-rw-r--r--pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix6
-rw-r--r--pkgs/applications/networking/n8n/default.nix15
-rwxr-xr-xpkgs/applications/networking/n8n/generate-dependencies.sh2
-rw-r--r--pkgs/applications/networking/n8n/node-composition.nix4
-rw-r--r--pkgs/applications/networking/n8n/node-env.nix32
-rw-r--r--pkgs/applications/networking/n8n/node-packages.nix118
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix4
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix9
-rw-r--r--pkgs/applications/networking/p2p/transgui/default.nix55
-rw-r--r--pkgs/applications/networking/protonvpn-cli/2.nix51
-rw-r--r--pkgs/applications/networking/protonvpn-cli/default.nix44
-rw-r--r--pkgs/applications/networking/syncplay/default.nix2
-rw-r--r--pkgs/applications/networking/syncthing/default.nix20
-rw-r--r--pkgs/applications/office/libreoffice/default.nix42
-rw-r--r--pkgs/applications/office/libreoffice/poppler-22-04-0.patch100
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/download.nix249
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/override.nix12
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/primary.nix10
-rw-r--r--pkgs/applications/office/libreoffice/src-still/download.nix231
-rw-r--r--pkgs/applications/office/libreoffice/src-still/override.nix41
-rw-r--r--pkgs/applications/office/libreoffice/src-still/primary.nix12
-rw-r--r--pkgs/applications/office/libreoffice/xdg-open-brief.patch13
-rw-r--r--pkgs/applications/office/paperless-ngx/default.nix4
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/office/scribus/unstable.nix5
-rw-r--r--pkgs/applications/office/shelf/default.nix58
-rw-r--r--pkgs/applications/office/timeular/default.nix17
-rw-r--r--pkgs/applications/office/todo.txt-cli/default.nix1
-rw-r--r--pkgs/applications/office/trilium/default.nix6
-rw-r--r--pkgs/applications/radio/kalibrate-rtl/default.nix3
-rw-r--r--pkgs/applications/radio/soapysdr/default.nix1
-rw-r--r--pkgs/applications/science/biology/bwa/default.nix12
-rw-r--r--pkgs/applications/science/electronics/horizon-eda/default.nix10
-rw-r--r--pkgs/applications/science/electronics/kicad/versions.nix42
-rw-r--r--pkgs/applications/science/electronics/verilator/default.nix4
-rw-r--r--pkgs/applications/science/logic/abc/default.nix3
-rw-r--r--pkgs/applications/science/logic/key/default.nix1
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix4
-rw-r--r--pkgs/applications/science/physics/elmerfem/default.nix31
-rw-r--r--pkgs/applications/science/physics/elmerfem/patches/0001-fix-import-of-QPainterPath.patch24
-rw-r--r--pkgs/applications/science/physics/elmerfem/patches/0002-fem-rename-loopvars-to-avoid-redefinition.patch82
-rw-r--r--pkgs/applications/science/physics/elmerfem/patches/0003-ignore-qwt_compat.patch36
-rw-r--r--pkgs/applications/science/robotics/qgroundcontrol/default.nix6
-rw-r--r--pkgs/applications/science/robotics/qgroundcontrol/fix-10132.patch62
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix4
-rw-r--r--pkgs/applications/version-management/fnc/default.nix11
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/data.json10
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/version-management/gitless/default.nix7
-rw-r--r--pkgs/applications/version-management/got/default.nix8
-rw-r--r--pkgs/applications/version-management/meld/default.nix7
-rw-r--r--pkgs/applications/version-management/p4v/default.nix48
-rw-r--r--pkgs/applications/version-management/rcshist/default.nix22
-rw-r--r--pkgs/applications/version-management/sublime-merge/default.nix8
-rw-r--r--pkgs/applications/video/ffmpeg-normalize/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix8
-rw-r--r--pkgs/applications/virtualization/docker/compose.nix6
-rw-r--r--pkgs/applications/virtualization/docker/default.nix16
-rw-r--r--pkgs/applications/window-managers/sway/bg.nix1
-rw-r--r--pkgs/applications/window-managers/sway/contrib.nix4
-rw-r--r--pkgs/applications/window-managers/sway/default.nix1
-rw-r--r--pkgs/applications/window-managers/sway/idle.nix1
-rw-r--r--pkgs/applications/window-managers/sway/lock-effects.nix4
-rw-r--r--pkgs/applications/window-managers/sway/lock-fancy.nix4
-rw-r--r--pkgs/applications/window-managers/sway/lock.nix13
-rw-r--r--pkgs/applications/window-managers/sway/wrapper.nix1
-rw-r--r--pkgs/applications/window-managers/wmfs/default.nix13
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix3
-rw-r--r--pkgs/build-support/setup-hooks/make-binary-wrapper.sh2
-rw-r--r--pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix20
-rw-r--r--pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix13
-rw-r--r--pkgs/build-support/testers/test/default.nix1
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix2
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix184
-rw-r--r--pkgs/data/fonts/khmeros/default.nix27
-rw-r--r--pkgs/data/fonts/lklug-sinhala/default.nix23
-rw-r--r--pkgs/data/fonts/nanum/default.nix27
-rw-r--r--pkgs/data/fonts/sil-padauk/default.nix27
-rw-r--r--pkgs/data/fonts/takao/default.nix27
-rw-r--r--pkgs/data/fonts/tibetan-machine/default.nix22
-rw-r--r--pkgs/data/misc/cldr-annotations/default.nix6
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/themes/qogir/default.nix9
-rw-r--r--pkgs/desktops/arcan/default.nix6
-rw-r--r--pkgs/desktops/arcan/durden/default.nix6
-rw-r--r--pkgs/desktops/arcan/pipeworld/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/gnome-control-center/default.nix12
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/mutter/default.nix4
-rw-r--r--pkgs/desktops/lxde/core/lxmenu-data/default.nix (renamed from pkgs/desktops/lxde/core/lxmenu-data.nix)0
-rw-r--r--pkgs/desktops/lxde/default.nix25
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix424
-rw-r--r--pkgs/desktops/rox/rox-filer/default.nix12
-rw-r--r--pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch4
-rw-r--r--pkgs/development/beam-modules/erlang-ls/default.nix4
-rw-r--r--pkgs/development/compilers/ats2/default.nix6
-rw-r--r--pkgs/development/compilers/chicken/4/default.nix2
-rw-r--r--pkgs/development/compilers/chicken/5/default.nix2
-rw-r--r--pkgs/development/compilers/cmdstan/default.nix19
-rw-r--r--pkgs/development/compilers/dotnet/build-dotnet.nix7
-rw-r--r--pkgs/development/compilers/elm/packages/node-packages.nix757
-rw-r--r--pkgs/development/compilers/fstar/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/11/Added-mcf-thread-model-support-from-mcfgthread.patch6
-rw-r--r--pkgs/development/compilers/gcc/11/default.nix12
-rw-r--r--pkgs/development/compilers/hip/default.nix8
-rw-r--r--pkgs/development/compilers/intel-graphics-compiler/default.nix30
-rw-r--r--pkgs/development/compilers/jasmin-compiler/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/rocm/default.nix10
-rw-r--r--pkgs/development/compilers/llvm/rocm/lld.nix7
-rw-r--r--pkgs/development/compilers/llvm/rocm/llvm/default.nix2
-rw-r--r--pkgs/development/compilers/nim/default.nix8
-rw-r--r--pkgs/development/compilers/open-watcom/v2.nix6
-rw-r--r--pkgs/development/compilers/openjdk/11.nix2
-rw-r--r--pkgs/development/compilers/openjdk/12.nix2
-rw-r--r--pkgs/development/compilers/openjdk/13.nix2
-rw-r--r--pkgs/development/compilers/openjdk/14.nix2
-rw-r--r--pkgs/development/compilers/openjdk/15.nix2
-rw-r--r--pkgs/development/compilers/openjdk/16.nix2
-rw-r--r--pkgs/development/compilers/openjdk/17.nix2
-rw-r--r--pkgs/development/compilers/openjdk/darwin/11.nix2
-rw-r--r--pkgs/development/compilers/openjdk/darwin/16.nix2
-rw-r--r--pkgs/development/compilers/openjdk/darwin/17.nix2
-rw-r--r--pkgs/development/compilers/openjdk/darwin/8.nix2
-rw-r--r--pkgs/development/compilers/openjdk/darwin/meta.nix2
-rw-r--r--pkgs/development/compilers/openjdk/meta.nix5
-rw-r--r--pkgs/development/compilers/spirv-llvm-translator/default.nix17
-rw-r--r--pkgs/development/compilers/vala/default.nix4
-rw-r--r--pkgs/development/compilers/vlang/default.nix1
-rw-r--r--pkgs/development/coq-modules/QuickChick/default.nix13
-rw-r--r--pkgs/development/coq-modules/category-theory/default.nix2
-rw-r--r--pkgs/development/coq-modules/goedel/default.nix2
-rw-r--r--pkgs/development/coq-modules/graph-theory/default.nix2
-rw-r--r--pkgs/development/coq-modules/itauto/default.nix4
-rw-r--r--pkgs/development/coq-modules/mathcomp-tarjan/default.nix2
-rw-r--r--pkgs/development/coq-modules/semantics/default.nix2
-rw-r--r--pkgs/development/coq-modules/smpl/default.nix4
-rw-r--r--pkgs/development/coq-modules/smtcoq/default.nix4
-rw-r--r--pkgs/development/embedded/arduino/arduino-cli/default.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-arm.nix17
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix22
-rw-r--r--pkgs/development/haskell-modules/configuration-darwin.nix5
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix27
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-head.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml12
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml1
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml52
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml29
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2381
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/default.nix14
-rw-r--r--pkgs/development/interpreters/clojure/babashka.nix4
-rw-r--r--pkgs/development/interpreters/hy/builder.nix40
-rw-r--r--pkgs/development/interpreters/hy/default.nix15
-rw-r--r--pkgs/development/interpreters/kona/default.nix1
-rw-r--r--pkgs/development/interpreters/perl/default.nix6
-rw-r--r--pkgs/development/interpreters/python/hooks/default.nix13
-rw-r--r--pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh83
-rw-r--r--pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh4
-rw-r--r--pkgs/development/interpreters/rakudo/moarvm.nix3
-rw-r--r--pkgs/development/libraries/amtk/default.nix13
-rw-r--r--pkgs/development/libraries/appstream/default.nix3
-rw-r--r--pkgs/development/libraries/aribb25/default.nix5
-rw-r--r--pkgs/development/libraries/audio/libopenmpt/default.nix4
-rw-r--r--pkgs/development/libraries/audio/libsmf/default.nix1
-rw-r--r--pkgs/development/libraries/aws-c-auth/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-cal/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-common/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-http/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-io/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-s3/default.nix9
-rw-r--r--pkgs/development/libraries/aws-crt-cpp/default.nix14
-rw-r--r--pkgs/development/libraries/babl/default.nix13
-rw-r--r--pkgs/development/libraries/belcard/default.nix6
-rw-r--r--pkgs/development/libraries/boolstuff/default.nix1
-rw-r--r--pkgs/development/libraries/capstone/default.nix3
-rw-r--r--pkgs/development/libraries/check/default.nix1
-rw-r--r--pkgs/development/libraries/expat/default.nix4
-rw-r--r--pkgs/development/libraries/faad2/default.nix2
-rw-r--r--pkgs/development/libraries/fcgi/default.nix1
-rw-r--r--pkgs/development/libraries/flatbuffers/generic.nix5
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix3
-rw-r--r--pkgs/development/libraries/gensio/default.nix1
-rw-r--r--pkgs/development/libraries/glibmm/2.68.nix4
-rw-r--r--pkgs/development/libraries/glibmm/default.nix4
-rw-r--r--pkgs/development/libraries/glpk/default.nix1
-rw-r--r--pkgs/development/libraries/gmime/3.nix8
-rw-r--r--pkgs/development/libraries/gnome-desktop/default.nix4
-rw-r--r--pkgs/development/libraries/gtk/3.x.nix12
-rw-r--r--pkgs/development/libraries/gtkmm/3.x.nix4
-rw-r--r--pkgs/development/libraries/icu/71.nix4
-rw-r--r--pkgs/development/libraries/imlib2/default.nix16
-rw-r--r--pkgs/development/libraries/kdb/default.nix4
-rw-r--r--pkgs/development/libraries/keystone/default.nix1
-rw-r--r--pkgs/development/libraries/kompute/default.nix47
-rw-r--r--pkgs/development/libraries/kreport/default.nix4
-rw-r--r--pkgs/development/libraries/ldns/default.nix5
-rw-r--r--pkgs/development/libraries/libarchive/default.nix17
-rw-r--r--pkgs/development/libraries/libargon2/default.nix1
-rw-r--r--pkgs/development/libraries/libaudec/default.nix3
-rw-r--r--pkgs/development/libraries/libb64/default.nix2
-rw-r--r--pkgs/development/libraries/libbencodetools/default.nix1
-rw-r--r--pkgs/development/libraries/libburn/default.nix3
-rw-r--r--pkgs/development/libraries/libcddb/default.nix1
-rw-r--r--pkgs/development/libraries/libcdio-paranoia/default.nix5
-rw-r--r--pkgs/development/libraries/libcmis/default.nix3
-rw-r--r--pkgs/development/libraries/libdc1394/default.nix3
-rw-r--r--pkgs/development/libraries/libdeltachat/default.nix11
-rw-r--r--pkgs/development/libraries/libdigidoc/default.nix3
-rw-r--r--pkgs/development/libraries/libeatmydata/default.nix1
-rw-r--r--pkgs/development/libraries/libee/default.nix5
-rw-r--r--pkgs/development/libraries/libexttextcat/default.nix3
-rw-r--r--pkgs/development/libraries/libffi/3.3.nix64
-rw-r--r--pkgs/development/libraries/libgit2/default.nix20
-rw-r--r--pkgs/development/libraries/libiconv/default.nix1
-rw-r--r--pkgs/development/libraries/libirecovery/default.nix5
-rw-r--r--pkgs/development/libraries/liblinphone/default.nix82
-rw-r--r--pkgs/development/libraries/liblognorm/default.nix3
-rw-r--r--pkgs/development/libraries/libmaxminddb/default.nix3
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix17
-rw-r--r--pkgs/development/libraries/libnatpmp/default.nix3
-rw-r--r--pkgs/development/libraries/libnotify/default.nix11
-rw-r--r--pkgs/development/libraries/libpg_query/default.nix4
-rw-r--r--pkgs/development/libraries/libpostal/default.nix1
-rw-r--r--pkgs/development/libraries/libpsl/default.nix3
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix3
-rw-r--r--pkgs/development/libraries/libressl/default.nix9
-rw-r--r--pkgs/development/libraries/libroxml/default.nix5
-rw-r--r--pkgs/development/libraries/librsvg/default.nix5
-rw-r--r--pkgs/development/libraries/librsync/default.nix3
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix6
-rw-r--r--pkgs/development/libraries/libsecret/default.nix1
-rw-r--r--pkgs/development/libraries/libshout/default.nix1
-rw-r--r--pkgs/development/libraries/libsndfile/default.nix4
-rw-r--r--pkgs/development/libraries/libsolv/default.nix4
-rw-r--r--pkgs/development/libraries/libu2f-host/default.nix3
-rw-r--r--pkgs/development/libraries/libubox/default.nix3
-rw-r--r--pkgs/development/libraries/libuv/default.nix2
-rw-r--r--pkgs/development/libraries/libvmaf/default.nix5
-rw-r--r--pkgs/development/libraries/libwebsockets/default.nix18
-rw-r--r--pkgs/development/libraries/libxkbcommon/default.nix1
-rw-r--r--pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix1
-rw-r--r--pkgs/development/libraries/libxls/default.nix3
-rw-r--r--pkgs/development/libraries/libxml2/default.nix4
-rw-r--r--pkgs/development/libraries/libyang/default.nix4
-rw-r--r--pkgs/development/libraries/libykneomgr/default.nix3
-rw-r--r--pkgs/development/libraries/lime/default.nix8
-rw-r--r--pkgs/development/libraries/lmdb/bin-ext.patch21
-rw-r--r--pkgs/development/libraries/lmdb/default.nix9
-rw-r--r--pkgs/development/libraries/lucene++/default.nix9
-rw-r--r--pkgs/development/libraries/matio/default.nix5
-rw-r--r--pkgs/development/libraries/mauikit-accounts/default.nix40
-rw-r--r--pkgs/development/libraries/mauikit-texteditor/default.nix42
-rw-r--r--pkgs/development/libraries/md4c/default.nix3
-rw-r--r--pkgs/development/libraries/mediastreamer/default.nix37
-rw-r--r--pkgs/development/libraries/mediastreamer/msopenh264.nix2
-rw-r--r--pkgs/development/libraries/mongoc/default.nix3
-rw-r--r--pkgs/development/libraries/nanomsg/default.nix1
-rw-r--r--pkgs/development/libraries/ndpi/default.nix1
-rw-r--r--pkgs/development/libraries/opencl-clang/default.nix6
-rw-r--r--pkgs/development/libraries/openssl/default.nix4
-rw-r--r--pkgs/development/libraries/pe-parse/default.nix9
-rw-r--r--pkgs/development/libraries/pipewire/default.nix11
-rw-r--r--pkgs/development/libraries/poppler/default.nix4
-rw-r--r--pkgs/development/libraries/precice/default.nix5
-rw-r--r--pkgs/development/libraries/presage/default.nix6
-rw-r--r--pkgs/development/libraries/proj-datumgrid/default.nix3
-rw-r--r--pkgs/development/libraries/protobuf/3.1.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.19.nix4
-rw-r--r--pkgs/development/libraries/protobuf/generic-v3.nix3
-rw-r--r--pkgs/development/libraries/rnnoise/default.nix3
-rw-r--r--pkgs/development/libraries/rocclr/default.nix11
-rw-r--r--pkgs/development/libraries/rocm-opencl-runtime/default.nix5
-rw-r--r--pkgs/development/libraries/rocm-runtime/default.nix4
-rw-r--r--pkgs/development/libraries/s2n-tls/default.nix4
-rw-r--r--pkgs/development/libraries/science/astronomy/cfitsio/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/cliquer/default.nix5
-rw-r--r--pkgs/development/libraries/science/math/flintqs/default.nix3
-rw-r--r--pkgs/development/libraries/serd/default.nix3
-rw-r--r--pkgs/development/libraries/signond/default.nix4
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix4
-rw-r--r--pkgs/development/libraries/slang/default.nix1
-rw-r--r--pkgs/development/libraries/soundtouch/default.nix3
-rw-r--r--pkgs/development/libraries/spglib/default.nix13
-rw-r--r--pkgs/development/libraries/sqlite/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/tools.nix10
-rw-r--r--pkgs/development/libraries/stxxl/default.nix1
-rw-r--r--pkgs/development/libraries/swiften/default.nix2
-rw-r--r--pkgs/development/libraries/tecla/default.nix4
-rw-r--r--pkgs/development/libraries/tepl/default.nix10
-rw-r--r--pkgs/development/libraries/tre/default.nix3
-rw-r--r--pkgs/development/libraries/umockdev/default.nix25
-rw-r--r--pkgs/development/libraries/umockdev/hardcode-paths.patch69
-rw-r--r--pkgs/development/libraries/uriparser/default.nix5
-rw-r--r--pkgs/development/libraries/uthenticode/default.nix19
-rw-r--r--pkgs/development/libraries/webrtc-audio-processing/0.3.nix5
-rw-r--r--pkgs/development/libraries/webrtc-audio-processing/enable-powerpc.patch37
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/default.nix4
-rw-r--r--pkgs/development/libraries/xmlsec/default.nix3
-rw-r--r--pkgs/development/libraries/zimg/default.nix4
-rw-r--r--pkgs/development/libraries/zlog/default.nix3
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix51
-rw-r--r--pkgs/development/lua-modules/overrides.nix46
-rw-r--r--pkgs/development/node-packages/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/janestreet/0.14.nix1
-rw-r--r--pkgs/development/ocaml-modules/janestreet/incr_dom_jsoo_4_0.patch24
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix4
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/aioairzone/default.nix4
-rw-r--r--pkgs/development/python-modules/aiolimiter/default.nix65
-rw-r--r--pkgs/development/python-modules/androguard/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/angrop/default.nix4
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/async-lru/default.nix13
-rw-r--r--pkgs/development/python-modules/aurorapy/default.nix4
-rw-r--r--pkgs/development/python-modules/awkward/default.nix2
-rw-r--r--pkgs/development/python-modules/aws-adfs/default.nix6
-rw-r--r--pkgs/development/python-modules/azure-mgmt-msi/default.nix19
-rw-r--r--pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix16
-rw-r--r--pkgs/development/python-modules/azure-mgmt-resource/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-servicebus/default.nix20
-rw-r--r--pkgs/development/python-modules/backports-zoneinfo/default.nix19
-rw-r--r--pkgs/development/python-modules/beaker/default.nix10
-rw-r--r--pkgs/development/python-modules/beancount/default.nix4
-rw-r--r--pkgs/development/python-modules/bond-api/default.nix4
-rw-r--r--pkgs/development/python-modules/brunt/default.nix47
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix2
-rw-r--r--pkgs/development/python-modules/cachy/default.nix4
-rw-r--r--pkgs/development/python-modules/chainer/default.nix7
-rw-r--r--pkgs/development/python-modules/ciscoconfparse/default.nix25
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix4
-rw-r--r--pkgs/development/python-modules/contexttimer/default.nix2
-rw-r--r--pkgs/development/python-modules/curio/default.nix3
-rw-r--r--pkgs/development/python-modules/databricks-connect/default.nix4
-rw-r--r--pkgs/development/python-modules/defcon/default.nix4
-rw-r--r--pkgs/development/python-modules/devolo-home-control-api/default.nix4
-rw-r--r--pkgs/development/python-modules/devolo-plc-api/default.nix4
-rw-r--r--pkgs/development/python-modules/django-tastypie/default.nix41
-rw-r--r--pkgs/development/python-modules/django-versatileimagefield/default.nix4
-rw-r--r--pkgs/development/python-modules/django/4.nix4
-rw-r--r--pkgs/development/python-modules/dnachisel/default.nix6
-rw-r--r--pkgs/development/python-modules/dunamai/default.nix6
-rw-r--r--pkgs/development/python-modules/fakeredis/default.nix4
-rw-r--r--pkgs/development/python-modules/fastapi/default.nix2
-rw-r--r--pkgs/development/python-modules/flametree/default.nix6
-rw-r--r--pkgs/development/python-modules/flask-restful/default.nix30
-rw-r--r--pkgs/development/python-modules/flask-security-too/default.nix2
-rw-r--r--pkgs/development/python-modules/globus-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/graphite-web/default.nix4
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/hatch-vcs/default.nix48
-rw-r--r--pkgs/development/python-modules/holoviews/default.nix32
-rw-r--r--pkgs/development/python-modules/httpcore/default.nix10
-rw-r--r--pkgs/development/python-modules/httpx-socks/default.nix11
-rw-r--r--pkgs/development/python-modules/httpx/default.nix21
-rw-r--r--pkgs/development/python-modules/hy/default.nix43
-rw-r--r--pkgs/development/python-modules/hyrule/default.nix43
-rw-r--r--pkgs/development/python-modules/imap-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/impacket/default.nix4
-rw-r--r--pkgs/development/python-modules/influxgraph/default.nix10
-rw-r--r--pkgs/development/python-modules/intbitset/default.nix7
-rw-r--r--pkgs/development/python-modules/ipywidgets/default.nix26
-rw-r--r--pkgs/development/python-modules/jupyter-sphinx/default.nix3
-rw-r--r--pkgs/development/python-modules/jupyter_server/default.nix2
-rw-r--r--pkgs/development/python-modules/karton-autoit-ripper/default.nix17
-rw-r--r--pkgs/development/python-modules/karton-classifier/default.nix4
-rw-r--r--pkgs/development/python-modules/limits/default.nix79
-rw-r--r--pkgs/development/python-modules/linkify-it-py/default.nix6
-rw-r--r--pkgs/development/python-modules/malduck/default.nix12
-rw-r--r--pkgs/development/python-modules/mastodon-py/default.nix4
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix4
-rw-r--r--pkgs/development/python-modules/mcstatus/default.nix4
-rw-r--r--pkgs/development/python-modules/meater-python/default.nix37
-rw-r--r--pkgs/development/python-modules/memcached/default.nix27
-rw-r--r--pkgs/development/python-modules/mocket/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy-boto3-s3/default.nix4
-rw-r--r--pkgs/development/python-modules/mysql-connector/default.nix41
-rw-r--r--pkgs/development/python-modules/nbclient/default.nix36
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix65
-rw-r--r--pkgs/development/python-modules/nettigo-air-monitor/default.nix4
-rw-r--r--pkgs/development/python-modules/notify-events/default.nix34
-rw-r--r--pkgs/development/python-modules/nutils/default.nix40
-rw-r--r--pkgs/development/python-modules/ocrmypdf/default.nix2
-rw-r--r--pkgs/development/python-modules/oscrypto/default.nix44
-rw-r--r--pkgs/development/python-modules/paramiko/default.nix24
-rw-r--r--pkgs/development/python-modules/passlib/default.nix19
-rw-r--r--pkgs/development/python-modules/pdfminer_six/default.nix24
-rw-r--r--pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--pkgs/development/python-modules/pex/default.nix4
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pkgconfig/default.nix40
-rw-r--r--pkgs/development/python-modules/pkutils/default.nix10
-rw-r--r--pkgs/development/python-modules/plugwise/default.nix20
-rw-r--r--pkgs/development/python-modules/poetry-dynamic-versioning/default.nix4
-rw-r--r--pkgs/development/python-modules/proglog/default.nix4
-rw-r--r--pkgs/development/python-modules/protonvpn-nm-lib/0001-Patching-GIRepository.patch22
-rw-r--r--pkgs/development/python-modules/protonvpn-nm-lib/default.nix16
-rw-r--r--pkgs/development/python-modules/pushbullet/default.nix4
-rw-r--r--pkgs/development/python-modules/pweave/default.nix3
-rw-r--r--pkgs/development/python-modules/py-canary/default.nix12
-rw-r--r--pkgs/development/python-modules/py-nextbusnext/default.nix32
-rw-r--r--pkgs/development/python-modules/py3exiv2/default.nix40
-rw-r--r--pkgs/development/python-modules/pyahocorasick/default.nix25
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--pkgs/development/python-modules/pycryptodome-test-vectors/default.nix4
-rw-r--r--pkgs/development/python-modules/pycurl/default.nix11
-rw-r--r--pkgs/development/python-modules/pydeps/default.nix4
-rw-r--r--pkgs/development/python-modules/pyicu/default.nix4
-rw-r--r--pkgs/development/python-modules/pyinfra/default.nix30
-rw-r--r--pkgs/development/python-modules/pylint-django/default.nix13
-rw-r--r--pkgs/development/python-modules/pylint-plugin-utils/default.nix39
-rw-r--r--pkgs/development/python-modules/pylint/default.nix11
-rw-r--r--pkgs/development/python-modules/pylsp-mypy/default.nix1
-rw-r--r--pkgs/development/python-modules/pymbolic/default.nix29
-rw-r--r--pkgs/development/python-modules/pyrainbird/default.nix58
-rw-r--r--pkgs/development/python-modules/pyrogram/default.nix4
-rw-r--r--pkgs/development/python-modules/pysnow/default.nix4
-rw-r--r--pkgs/development/python-modules/python-engineio/default.nix4
-rw-r--r--pkgs/development/python-modules/python-lsp-black/default.nix11
-rw-r--r--pkgs/development/python-modules/python-lsp-server/default.nix19
-rw-r--r--pkgs/development/python-modules/python-magic/default.nix2
-rw-r--r--pkgs/development/python-modules/python-memcached/default.nix40
-rw-r--r--pkgs/development/python-modules/python-socketio/default.nix4
-rw-r--r--pkgs/development/python-modules/python-trovo/default.nix4
-rw-r--r--pkgs/development/python-modules/pytube/default.nix4
-rw-r--r--pkgs/development/python-modules/pyupgrade/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvesync/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/pyzerproc/default.nix4
-rw-r--r--pkgs/development/python-modules/qnapstats/default.nix48
-rw-r--r--pkgs/development/python-modules/qstylizer/default.nix47
-rw-r--r--pkgs/development/python-modules/raincloudy/default.nix61
-rw-r--r--pkgs/development/python-modules/relatorio/default.nix34
-rw-r--r--pkgs/development/python-modules/requests-aws4auth/default.nix7
-rw-r--r--pkgs/development/python-modules/rich/default.nix4
-rw-r--r--pkgs/development/python-modules/scancode-toolkit/default.nix5
-rw-r--r--pkgs/development/python-modules/scrapy/default.nix4
-rw-r--r--pkgs/development/python-modules/sdds/default.nix31
-rw-r--r--pkgs/development/python-modules/setupmeta/default.nix4
-rw-r--r--pkgs/development/python-modules/setuptools-rust/default.nix4
-rw-r--r--pkgs/development/python-modules/snapcast/default.nix16
-rw-r--r--pkgs/development/python-modules/spglib/default.nix20
-rw-r--r--pkgs/development/python-modules/spyder-kernels/default.nix4
-rw-r--r--pkgs/development/python-modules/spyder/default.nix102
-rw-r--r--pkgs/development/python-modules/sqlite-utils/default.nix11
-rw-r--r--pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--pkgs/development/python-modules/testtools/default.nix7
-rw-r--r--pkgs/development/python-modules/tldextract/default.nix6
-rw-r--r--pkgs/development/python-modules/total-connect-client/default.nix4
-rw-r--r--pkgs/development/python-modules/treq/default.nix38
-rw-r--r--pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--pkgs/development/python-modules/trytond/default.nix61
-rw-r--r--pkgs/development/python-modules/ttp-templates/default.nix50
-rw-r--r--pkgs/development/python-modules/tweepy/default.nix6
-rw-r--r--pkgs/development/python-modules/twisted/default.nix23
-rw-r--r--pkgs/development/python-modules/txaio/default.nix1
-rw-r--r--pkgs/development/python-modules/txtorcon/default.nix2
-rw-r--r--pkgs/development/python-modules/types-dateutil/default.nix4
-rw-r--r--pkgs/development/python-modules/types-pytz/default.nix4
-rw-r--r--pkgs/development/python-modules/types-tabulate/default.nix4
-rw-r--r--pkgs/development/python-modules/types-toml/default.nix4
-rw-r--r--pkgs/development/python-modules/ukrainealarm/default.nix58
-rw-r--r--pkgs/development/python-modules/urwid/default.nix5
-rw-r--r--pkgs/development/python-modules/wandb/default.nix6
-rw-r--r--pkgs/development/python-modules/whispers/default.nix (renamed from pkgs/tools/security/whispers/default.nix)23
-rw-r--r--pkgs/development/python-modules/widgetsnbextension/default.nix11
-rw-r--r--pkgs/development/python-modules/xmltodict/default.nix2
-rw-r--r--pkgs/development/python-modules/yalexs/default.nix4
-rw-r--r--pkgs/development/python-modules/yte/default.nix6
-rw-r--r--pkgs/development/python-modules/zope_event/default.nix2
-rw-r--r--pkgs/development/tools/amazon-qldb-shell/default.nix7
-rw-r--r--pkgs/development/tools/ammonite/default.nix3
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix4
-rw-r--r--pkgs/development/tools/analysis/hopper/default.nix28
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix8
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix390
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_26/glibc.patch78
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_26/python-stub-path-fix.patch13
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix560
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_29/glibc.patch78
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_29/src-deps.json506
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_1/default.nix561
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_1/glibc.patch78
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_1/src-deps.json506
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/gnumake/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/jam/ftjam.nix3
-rw-r--r--pkgs/development/tools/build-managers/samurai/default.nix3
-rw-r--r--pkgs/development/tools/build-managers/sbt-extras/default.nix4
-rw-r--r--pkgs/development/tools/buildkit/default.nix5
-rw-r--r--pkgs/development/tools/compile-daemon/default.nix21
-rw-r--r--pkgs/development/tools/compile-daemon/deps.nix48
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix9
-rw-r--r--pkgs/development/tools/dapr/cli/default.nix3
-rw-r--r--pkgs/development/tools/database/sqlfluff/default.nix4
-rw-r--r--pkgs/development/tools/devpi-server/default.nix2
-rw-r--r--pkgs/development/tools/earthly/default.nix2
-rw-r--r--pkgs/development/tools/ent/default.nix3
-rw-r--r--pkgs/development/tools/flip-link/default.nix18
-rw-r--r--pkgs/development/tools/gnulib/default.nix3
-rw-r--r--pkgs/development/tools/go-junit-report/default.nix25
-rw-r--r--pkgs/development/tools/go-swag/default.nix1
-rw-r--r--pkgs/development/tools/goa/default.nix3
-rw-r--r--pkgs/development/tools/goconvey/default.nix21
-rw-r--r--pkgs/development/tools/goconvey/deps.nix20
-rw-r--r--pkgs/development/tools/jd-diff-patch/default.nix1
-rw-r--r--pkgs/development/tools/jmespath/default.nix3
-rw-r--r--pkgs/development/tools/kustomize/3.nix1
-rw-r--r--pkgs/development/tools/literate-programming/Literate/default.nix3
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix6
-rw-r--r--pkgs/development/tools/misc/chruby/default.nix3
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix2
-rw-r--r--pkgs/development/tools/misc/gnum4/default.nix7
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix8
-rw-r--r--pkgs/development/tools/misc/premake/default.nix5
-rw-r--r--pkgs/development/tools/misc/saleae-logic-2/default.nix4
-rw-r--r--pkgs/development/tools/misc/stlink/default.nix8
-rw-r--r--pkgs/development/tools/misc/uncrustify/default.nix4
-rw-r--r--pkgs/development/tools/misc/watson-ruby/default.nix1
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix21
-rw-r--r--pkgs/development/tools/pandoc/default.nix5
-rw-r--r--pkgs/development/tools/perseus-cli/default.nix16
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix117
-rw-r--r--pkgs/development/tools/phantomjs2/system-qtbase.patch13
-rw-r--r--pkgs/development/tools/prospector/default.nix14
-rw-r--r--pkgs/development/tools/protoc-gen-twirp_php/default.nix8
-rw-r--r--pkgs/development/tools/purescript/spago/spago.nix6
-rwxr-xr-xpkgs/development/tools/purescript/spago/update.sh5
-rw-r--r--pkgs/development/tools/rgp/default.nix6
-rw-r--r--pkgs/development/tools/rust/bindgen/unwrapped.nix3
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix3
-rwxr-xr-xpkgs/development/tools/rust/rust-analyzer/update.sh2
-rw-r--r--pkgs/development/tools/selenium/server/default.nix3
-rw-r--r--pkgs/development/tools/taplo-cli/default.nix12
-rw-r--r--pkgs/development/tools/treefmt/default.nix2
-rw-r--r--pkgs/development/tools/trunk/default.nix6
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/development/web/flyctl/default.nix8
-rw-r--r--pkgs/development/web/lucky-cli/default.nix4
-rw-r--r--pkgs/development/web/remarkjs/default.nix4
-rw-r--r--pkgs/development/web/shopify-cli/default.nix3
-rw-r--r--pkgs/games/anki/bin.nix26
-rw-r--r--pkgs/games/bugdom/default.nix5
-rw-r--r--pkgs/games/crossfire/crossfire-arch.nix6
-rw-r--r--pkgs/games/crossfire/crossfire-client.nix6
-rw-r--r--pkgs/games/crossfire/crossfire-maps.nix6
-rw-r--r--pkgs/games/crossfire/crossfire-server.nix6
-rw-r--r--pkgs/games/crossfire/default.nix8
-rw-r--r--pkgs/games/opentyrian/default.nix44
-rw-r--r--pkgs/games/papermc/default.nix6
-rw-r--r--pkgs/games/polymc/default.nix4
-rw-r--r--pkgs/games/r2mod_cli/default.nix1
-rw-r--r--pkgs/games/tcl2048/default.nix3
-rw-r--r--pkgs/misc/flashfocus/default.nix5
-rw-r--r--pkgs/misc/ghostscript/default.nix16
-rw-r--r--pkgs/misc/openrussian-cli/default.nix3
-rw-r--r--pkgs/misc/platformsh/default.nix3
-rw-r--r--pkgs/misc/screensavers/pipes/default.nix3
-rw-r--r--pkgs/os-specific/darwin/goku/default.nix4
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix12
-rw-r--r--pkgs/os-specific/linux/bolt/default.nix22
-rw-r--r--pkgs/os-specific/linux/dropwatch/default.nix4
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix7
-rw-r--r--pkgs/os-specific/linux/firejail/whitelist-nix-profile.patch9
-rw-r--r--pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix2
-rw-r--r--pkgs/os-specific/linux/g15daemon/default.nix5
-rw-r--r--pkgs/os-specific/linux/intel-compute-runtime/default.nix4
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix4
-rw-r--r--pkgs/os-specific/linux/kbd/default.nix1
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json60
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.15.nix4
-rw-r--r--pkgs/os-specific/linux/pax-utils/default.nix12
-rw-r--r--pkgs/os-specific/linux/power-profiles-daemon/default.nix71
-rw-r--r--pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch37
-rw-r--r--pkgs/os-specific/linux/read-edid/default.nix9
-rw-r--r--pkgs/os-specific/linux/read-edid/fno-common.patch22
-rw-r--r--pkgs/os-specific/linux/sgx/psw/default.nix25
-rw-r--r--pkgs/os-specific/linux/sgx/sdk/default.nix15
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix14
-rw-r--r--pkgs/os-specific/linux/uhk-agent/default.nix39
-rw-r--r--pkgs/os-specific/linux/uhk-udev-rules/default.nix20
-rw-r--r--pkgs/os-specific/linux/usbrelay/daemon.nix2
-rw-r--r--pkgs/os-specific/linux/usbrelay/default.nix14
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix2
-rw-r--r--pkgs/servers/alps/default.nix6
-rw-r--r--pkgs/servers/amqp/qpid-cpp/default.nix81
-rw-r--r--pkgs/servers/caddy/default.nix4
-rw-r--r--pkgs/servers/computing/slurm/default.nix17
-rw-r--r--pkgs/servers/dante/default.nix4
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix5
-rw-r--r--pkgs/servers/exhibitor/default.nix3
-rw-r--r--pkgs/servers/gotify/default.nix1
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix35
-rw-r--r--pkgs/servers/home-assistant/default.nix4
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/http/envoy/bump-brotli.patch15
-rw-r--r--pkgs/servers/http/envoy/default.nix21
-rw-r--r--pkgs/servers/http/envoy/fix-aarch64-wamr.patch38
-rw-r--r--pkgs/servers/icingaweb2/default.nix3
-rw-r--r--pkgs/servers/irc/inspircd/default.nix4
-rw-r--r--pkgs/servers/kanidm/default.nix89
-rw-r--r--pkgs/servers/mail/opensmtpd/filter-rspamd.nix3
-rw-r--r--pkgs/servers/mapserver/default.nix6
-rw-r--r--pkgs/servers/mautrix-facebook/default.nix9
-rw-r--r--pkgs/servers/mautrix-signal/default.nix2
-rw-r--r--pkgs/servers/mautrix-telegram/default.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/json-exporter.nix1
-rw-r--r--pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix1
-rw-r--r--pkgs/servers/nosql/victoriametrics/default.nix14
-rw-r--r--pkgs/servers/pinnwand/steck.nix2
-rw-r--r--pkgs/servers/pleroma/default.nix35
-rw-r--r--pkgs/servers/pleroma/mix.nix4
-rw-r--r--pkgs/servers/pulseaudio/default.nix4
-rw-r--r--pkgs/servers/radicale/3.x.nix2
-rw-r--r--pkgs/servers/t-rex/default.nix1
-rw-r--r--pkgs/servers/telegram-bot-api/default.nix25
-rw-r--r--pkgs/servers/unifiedpush-common-proxies/default.nix1
-rw-r--r--pkgs/servers/web-apps/engelsystem/default.nix3
-rw-r--r--pkgs/servers/web-apps/lemmy/server.nix1
-rw-r--r--pkgs/servers/web-apps/vikunja/api.nix1
-rw-r--r--pkgs/servers/web-apps/wiki-js/default.nix4
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix4
-rw-r--r--pkgs/servers/zigbee2mqtt/default.nix4
-rw-r--r--pkgs/servers/zigbee2mqtt/node-packages.nix4583
-rw-r--r--pkgs/shells/zsh/zplug/default.nix3
-rw-r--r--pkgs/shells/zsh/zsh-fzf-tab/default.nix6
-rw-r--r--pkgs/shells/zsh/zsh-history/default.nix5
-rw-r--r--pkgs/stdenv/adapters.nix35
-rw-r--r--pkgs/stdenv/darwin/default.nix75
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix2
-rw-r--r--pkgs/test/make-binary-wrapper/default.nix1
-rw-r--r--pkgs/test/make-binary-wrapper/overlength-strings.c25
-rw-r--r--pkgs/test/make-binary-wrapper/overlength-strings.cmdline1
-rw-r--r--pkgs/test/make-binary-wrapper/overlength-strings.env3
-rw-r--r--pkgs/test/nixos-functions/default.nix1
-rw-r--r--pkgs/tools/X11/opentabletdriver/default.nix4
-rw-r--r--pkgs/tools/X11/opentabletdriver/deps.nix2
-rw-r--r--pkgs/tools/X11/xnee/default.nix14
-rw-r--r--pkgs/tools/X11/xwinmosaic/default.nix12
-rw-r--r--pkgs/tools/admin/aws-rotate-key/default.nix22
-rw-r--r--pkgs/tools/admin/aws-rotate-key/deps.nix29
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix15
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/elasticsearch-curator/default.nix90
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix27
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/data.nix22
-rwxr-xr-xpkgs/tools/admin/google-cloud-sdk/update.sh2
-rw-r--r--pkgs/tools/admin/meshcentral/default.nix4
-rw-r--r--pkgs/tools/admin/meshcentral/package.json5
-rw-r--r--pkgs/tools/admin/meshcentral/yarn.lock735
-rw-r--r--pkgs/tools/admin/meshcentral/yarn.nix704
-rw-r--r--pkgs/tools/archivers/gnutar/default.nix4
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/glyr/default.nix3
-rw-r--r--pkgs/tools/audio/headset-charge-indicator/default.nix63
-rw-r--r--pkgs/tools/backup/autorestic/default.nix8
-rw-r--r--pkgs/tools/bootloaders/refind/default.nix10
-rw-r--r--pkgs/tools/compression/xdelta/default.nix1
-rw-r--r--pkgs/tools/compression/xdelta/unstable.nix1
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix18
-rw-r--r--pkgs/tools/filesystems/netatalk/default.nix4
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix4
-rw-r--r--pkgs/tools/graphics/grim/default.nix6
-rw-r--r--pkgs/tools/inputmethods/input-remapper/default.nix6
-rw-r--r--pkgs/tools/misc/anystyle-cli/default.nix1
-rw-r--r--pkgs/tools/misc/apkeep/default.nix6
-rw-r--r--pkgs/tools/misc/bdfresize/default.nix20
-rw-r--r--pkgs/tools/misc/bdfresize/remove-malloc-declaration.patch11
-rw-r--r--pkgs/tools/misc/boltbrowser/default.nix6
-rw-r--r--pkgs/tools/misc/bsp-layout/default.nix21
-rw-r--r--pkgs/tools/misc/calamares/default.nix7
-rw-r--r--pkgs/tools/misc/calamares/packagechooserq.patch136
-rw-r--r--pkgs/tools/misc/didyoumean/default.nix1
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix2
-rw-r--r--pkgs/tools/misc/direnv/default.nix2
-rw-r--r--pkgs/tools/misc/fortune/default.nix11
-rw-r--r--pkgs/tools/misc/go.rice/default.nix3
-rw-r--r--pkgs/tools/misc/graylog/default.nix3
-rw-r--r--pkgs/tools/misc/kak-lsp/default.nix6
-rw-r--r--pkgs/tools/misc/melody/default.nix6
-rw-r--r--pkgs/tools/misc/mmake/default.nix18
-rw-r--r--pkgs/tools/misc/mmake/deps.nix30
-rw-r--r--pkgs/tools/misc/mysql2pgsql/default.nix1
-rw-r--r--pkgs/tools/misc/neofetch/default.nix6
-rw-r--r--pkgs/tools/misc/ntfy-sh/default.nix4
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/contrib.nix5
-rw-r--r--pkgs/tools/misc/pre-commit/default.nix4
-rw-r--r--pkgs/tools/misc/recutils/default.nix9
-rw-r--r--pkgs/tools/misc/upterm/default.nix8
-rw-r--r--pkgs/tools/misc/usbimager/default.nix47
-rw-r--r--pkgs/tools/misc/vector/default.nix8
-rw-r--r--pkgs/tools/misc/wakatime/default.nix1
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix6
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix5
-rw-r--r--pkgs/tools/misc/zsh-autoenv/default.nix1
-rw-r--r--pkgs/tools/networking/aardvark-dns/default.nix6
-rw-r--r--pkgs/tools/networking/brook/default.nix4
-rw-r--r--pkgs/tools/networking/cmst/default.nix11
-rw-r--r--pkgs/tools/networking/curl/7.82.0-openssl-fix-CN-check.patch30
-rw-r--r--pkgs/tools/networking/curl/default.nix5
-rw-r--r--pkgs/tools/networking/getmail6/default.nix5
-rw-r--r--pkgs/tools/networking/netavark/default.nix6
-rw-r--r--pkgs/tools/networking/netcat-openbsd/default.nix54
-rw-r--r--pkgs/tools/networking/networkmanager/sstp/default.nix52
-rw-r--r--pkgs/tools/networking/obfs4/default.nix1
-rw-r--r--pkgs/tools/networking/ooniprobe-cli/default.nix1
-rw-r--r--pkgs/tools/networking/p2p/tahoe-lafs/default.nix3
-rw-r--r--pkgs/tools/networking/py-wmi-client/default.nix25
-rw-r--r--pkgs/tools/networking/s3cmd/default.nix4
-rw-r--r--pkgs/tools/networking/samplicator/default.nix1
-rw-r--r--pkgs/tools/networking/slack-cli/default.nix1
-rw-r--r--pkgs/tools/networking/tgt/default.nix4
-rw-r--r--pkgs/tools/networking/tinc/default.nix1
-rw-r--r--pkgs/tools/nix/nixos-generators/default.nix1
-rw-r--r--pkgs/tools/package-management/cargo-edit/default.nix6
-rw-r--r--pkgs/tools/package-management/morph/default.nix13
-rw-r--r--pkgs/tools/package-management/nix/default.nix6
-rw-r--r--pkgs/tools/security/bash-supergenpass/default.nix5
-rw-r--r--pkgs/tools/security/dieharder/default.nix31
-rw-r--r--pkgs/tools/security/dieharder/stdint.patch10
-rw-r--r--pkgs/tools/security/ecdsautils/default.nix15
-rw-r--r--pkgs/tools/security/erosmb/default.nix47
-rw-r--r--pkgs/tools/security/hfinger/default.nix2
-rw-r--r--pkgs/tools/security/kube-hunter/default.nix6
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock22
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix34
-rw-r--r--pkgs/tools/security/ncrack/default.nix12
-rw-r--r--pkgs/tools/security/pass/extensions/import.nix2
-rw-r--r--pkgs/tools/security/rustscan/default.nix2
-rw-r--r--pkgs/tools/security/sequoia/default.nix1
-rw-r--r--pkgs/tools/security/step-ca/default.nix5
-rw-r--r--pkgs/tools/security/swaggerhole/default.nix37
-rw-r--r--pkgs/tools/security/swtpm/default.nix4
-rw-r--r--pkgs/tools/security/trueseeing/default.nix44
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix5
-rw-r--r--pkgs/tools/security/wapiti/default.nix8
-rw-r--r--pkgs/tools/security/yersinia/default.nix54
-rw-r--r--pkgs/tools/system/collectd/default.nix3
-rw-r--r--pkgs/tools/system/illum/default.nix10
-rw-r--r--pkgs/tools/system/ipmitool/default.nix7
-rw-r--r--pkgs/tools/system/nkeys/default.nix1
-rw-r--r--pkgs/tools/system/ps_mem/default.nix8
-rw-r--r--pkgs/tools/system/rsyslog/default.nix4
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix4
-rw-r--r--pkgs/tools/system/taskspooler/default.nix5
-rw-r--r--pkgs/tools/text/bashblog/default.nix4
-rw-r--r--pkgs/tools/text/cidrgrep/default.nix25
-rw-r--r--pkgs/tools/text/codesearch/default.nix14
-rw-r--r--pkgs/tools/text/discount/default.nix1
-rw-r--r--pkgs/tools/text/gtranslator/default.nix20
-rw-r--r--pkgs/tools/text/opencc/default.nix4
-rw-r--r--pkgs/tools/text/replace/default.nix3
-rw-r--r--pkgs/tools/text/sift/default.nix10
-rw-r--r--pkgs/tools/text/xml/html-xml-utils/default.nix4
-rw-r--r--pkgs/tools/virtualization/kubevirt/default.nix43
-rw-r--r--pkgs/tools/virtualization/ovftool/default.nix186
-rw-r--r--pkgs/tools/wayland/wlogout/default.nix8
-rw-r--r--pkgs/top-level/aliases.nix8
-rw-r--r--pkgs/top-level/all-packages.nix249
-rw-r--r--pkgs/top-level/coq-packages.nix2
-rw-r--r--pkgs/top-level/linux-kernels.nix1
-rw-r--r--pkgs/top-level/lua-packages.nix12
-rw-r--r--pkgs/top-level/perl-packages.nix14
-rw-r--r--pkgs/top-level/python-aliases.nix2
-rw-r--r--pkgs/top-level/python-packages.nix41
-rw-r--r--pkgs/top-level/qt5-packages.nix4
-rw-r--r--pkgs/top-level/release-haskell.nix2
940 files changed, 11851 insertions, 13148 deletions
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md
index 693ea016e0a..fe28f94c069 100644
--- a/doc/languages-frameworks/python.section.md
+++ b/doc/languages-frameworks/python.section.md
@@ -288,7 +288,7 @@ self: super: {
         ps: with ps; [
           pyflakes
           pytest
-          python-language-server
+          black
         ]
       ))
 
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 81631a4293f..884dfbf2c19 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -513,15 +513,26 @@
     github = "alexnortung";
     githubId = 1552267;
   };
+  alexshpilkin = {
+    email = "ashpilkin@gmail.com";
+    github = "alexshpilkin";
+    githubId = 1010468;
+    keys = [{
+      longkeyid = "rsa4096/0x73E9AA114B3A894B";
+      fingerprint = "B595 D74D 6615 C010 469F  5A13 73E9 AA11 4B3A 894B";
+    }];
+    matrix = "@alexshpilkin:matrix.org";
+    name = "Alexander Shpilkin";
+  };
   alexvorobiev = {
     email = "alexander.vorobiev@gmail.com";
     github = "alexvorobiev";
     githubId = 782180;
     name = "Alex Vorobiev";
   };
-  alex-eyre = {
+  alexeyre = {
     email = "A.Eyre@sms.ed.ac.uk";
-    github = "alex-eyre";
+    github = "alexeyre";
     githubId = 38869148;
     name = "Alex Eyre";
   };
@@ -811,6 +822,16 @@
     githubId = 1771266;
     name = "Vo Anh Duy";
   };
+  Anillc = {
+    name = "Anillc";
+    email = "i@anillc.cn";
+    github = "Anillc";
+    githubId = 23411248;
+    keys = [{
+      longkeyid = "ed25519/0x0BE8A88F47B2145C";
+      fingerprint = "6141 1E4F FE10 CE7B 2E14  CD76 0BE8 A88F 47B2 145C";
+    }];
+  };
   anirrudh = {
     email = "anik597@gmail.com";
     github = "anirrudh";
@@ -972,6 +993,12 @@
     githubId = 1118815;
     name = "Vikram Narayanan";
   };
+  armeenm = {
+    email = "mahdianarmeen@gmail.com";
+    github = "armeenm";
+    githubId = 29145250;
+    name = "Armeen Mahdian";
+  };
   armijnhemel = {
     email = "armijn@tjaldur.nl";
     github = "armijnhemel";
@@ -5023,6 +5050,12 @@
     githubId = 222664;
     name = "Matthew Leach";
   };
+  hexchen = {
+    email = "nix@lilwit.ch";
+    github = "hexchen";
+    githubId = 41522204;
+    name = "hexchen";
+  };
   hh = {
     email = "hh@m-labs.hk";
     github = "HarryMakes";
@@ -9003,6 +9036,12 @@
     email = "nfjinjing@gmail.com";
     name = "Jinjing Wang";
   };
+  ngiger = {
+    email = "niklaus.giger@member.fsf.org";
+    github = "ngiger";
+    githubId = 265800;
+    name = "Niklaus Giger";
+  };
   nh2 = {
     email = "mail@nh2.me";
     matrix = "@nh2:matrix.org";
@@ -13976,6 +14015,13 @@
     githubId = 6191421;
     name = "Edward d'Albon";
   };
+  zebreus = {
+    matrix = "@lennart:cicen.net";
+    email = "lennarteichhorn+nixpkgs@gmail.com";
+    github = "Zebreus";
+    githubId = 1557253;
+    name = "Lennart Eichhorn";
+  };
   zef = {
     email = "zef@zef.me";
     name = "Zef Hemel";
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index 312aa0dad92..acd26ee93c0 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -22,6 +22,8 @@ ldoc,https://github.com/stevedonovan/LDoc.git,,,,,
 lgi,,,,,,
 linenoise,https://github.com/hoelzro/lua-linenoise.git,,,,,
 ljsyscall,,,,,lua5_1,lblasc
+lmathx,,,,,lua5_3,alexshpilkin
+lmpfrlib,,,,,lua5_3,alexshpilkin
 lpeg,,,,,,vyp
 lpeg_patterns,,,,,,
 lpeglabel,,,,,,
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index 26f0f1d48d4..8b21f98409e 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -445,6 +445,19 @@ with lib.maintainers; {
     enableFeatureFreezePing = true;
   };
 
+  numtide = {
+    members = [
+      mic92
+      flokli
+      jfroche
+      tazjin
+      zimbatm
+    ];
+    enableFeatureFreezePing = true;
+    scope = "Group registration for Numtide team members who collectively maintain packages.";
+    shortName = "Numtide team";
+  };
+
   openstack = {
     members = [
       emilytrau
diff --git a/nixos/doc/manual/from_md/installation/installing-from-other-distro.section.xml b/nixos/doc/manual/from_md/installation/installing-from-other-distro.section.xml
index 525531a4781..024a24379dd 100644
--- a/nixos/doc/manual/from_md/installation/installing-from-other-distro.section.xml
+++ b/nixos/doc/manual/from_md/installation/installing-from-other-distro.section.xml
@@ -248,7 +248,7 @@ $ nix-env -p /nix/var/nix/profiles/system -f '&lt;nixpkgs/nixos&gt;' -I nixos-co
         (since your Nix install was probably single user):
       </para>
       <programlisting>
-$ sudo chown -R 0.0 /nix
+$ sudo chown -R 0:0 /nix
 </programlisting>
     </listitem>
     <listitem>
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 6da24e3a8a8..ab0edcebc67 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -455,6 +455,12 @@
           <link xlink:href="options.html#opt-services.nifi.enable">services.nifi</link>.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://kanidm.github.io/kanidm/stable/">kanidm</link>,
+          an identity management server written in Rust.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-22.05-incompatibilities">
@@ -2465,6 +2471,21 @@
           hosts.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The option
+          <link xlink:href="options.html#opt-networking.useDHCP">networking.useDHCP</link>
+          isn’t deprecated anymore. When using
+          <link xlink:href="options.html#opt-networking.useNetworkd"><literal>systemd-networkd</literal></link>,
+          a generic <literal>.network</literal>-unit is added which
+          enables DHCP for each interface matching
+          <literal>en*</literal>, <literal>eth*</literal> or
+          <literal>wl*</literal> with priority 99 (which means that it
+          doesn’t have any effect if such an interface is matched by a
+          <literal>.network-</literal>unit with a lower priority). In
+          case of scripted networking, no behavior was changed.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
 </section>
diff --git a/nixos/doc/manual/installation/installing-from-other-distro.section.md b/nixos/doc/manual/installation/installing-from-other-distro.section.md
index d9060eb89c3..fa8806f791d 100644
--- a/nixos/doc/manual/installation/installing-from-other-distro.section.md
+++ b/nixos/doc/manual/installation/installing-from-other-distro.section.md
@@ -177,7 +177,7 @@ The first steps to all these are the same:
     was probably single user):
 
     ```ShellSession
-    $ sudo chown -R 0.0 /nix
+    $ sudo chown -R 0:0 /nix
     ```
 
 1.  Set up the `/etc/NIXOS` and `/etc/NIXOS_LUSTRATE` files:
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index 90d22643701..af65ae46131 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -135,6 +135,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [nifi](https://nifi.apache.org), an easy to use, powerful, and reliable system to process and distribute data. Available as [services.nifi](options.html#opt-services.nifi.enable).
 
+- [kanidm](https://kanidm.github.io/kanidm/stable/), an identity management server written in Rust.
+
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
 
 ## Backward Incompatibilities {#sec-release-22.05-incompatibilities}
@@ -875,4 +877,11 @@ In addition to numerous new and upgraded packages, this release has the followin
   `true` starting with NixOS 22.11. Enable it explicitly if you need to control
   Snapserver remotely or connect streamig clients from other hosts.
 
+- The option [networking.useDHCP](options.html#opt-networking.useDHCP) isn't deprecated anymore.
+  When using [`systemd-networkd`](options.html#opt-networking.useNetworkd), a generic
+  `.network`-unit is added which enables DHCP for each interface matching `en*`, `eth*`
+  or `wl*` with priority 99 (which means that it doesn't have any effect if such an interface is matched
+  by a `.network-`unit with a lower priority). In case of scripted networking, no behavior
+  was changed.
+
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
diff --git a/nixos/modules/hardware/keyboard/uhk.nix b/nixos/modules/hardware/keyboard/uhk.nix
new file mode 100644
index 00000000000..bf2d739c3a9
--- /dev/null
+++ b/nixos/modules/hardware/keyboard/uhk.nix
@@ -0,0 +1,21 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.hardware.keyboard.uhk;
+in
+{
+  options.hardware.keyboard.uhk = {
+    enable = mkEnableOption ''
+    non-root access to the firmware of UHK keyboards.
+      You need it when you want to flash a new firmware on the keyboard.
+      Access to the keyboard is granted to users in the "input" group.
+      You may want to install the uhk-agent package.
+    '';
+
+  };
+
+  config = mkIf cfg.enable {
+    services.udev.packages = [ pkgs.uhk-udev-rules ];
+  };
+}
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
index 618057618d0..3f92b779d60 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
@@ -46,5 +46,5 @@ with lib;
     done
   '';
 
-  system.stateVersion = mkDefault "18.03";
+  system.stateVersion = lib.mkDefault lib.trivial.release;
 }
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index fb5d3ba4732..b74ec838df4 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -581,17 +581,19 @@ ${\join "", (map { "  $_\n" } (uniq @attrs))}}
 EOF
 
 sub generateNetworkingDhcpConfig {
+    # FIXME disable networking.useDHCP by default when switching to networkd.
     my $config = <<EOF;
-  # The global useDHCP flag is deprecated, therefore explicitly set to false here.
-  # Per-interface useDHCP will be mandatory in the future, so this generated config
-  # replicates the default behaviour.
-  networking.useDHCP = lib.mkDefault false;
+  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
+  # (the default) this is the recommended approach. When using systemd-networkd it's
+  # still possible to use this option, but it's recommended to use it in conjunction
+  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
+  networking.useDHCP = lib.mkDefault true;
 EOF
 
     foreach my $path (glob "/sys/class/net/*") {
         my $dev = basename($path);
         if ($dev ne "lo") {
-            $config .= "  networking.interfaces.$dev.useDHCP = lib.mkDefault true;\n";
+            $config .= "  # networking.interfaces.$dev.useDHCP = lib.mkDefault true;\n";
         }
     }
 
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index bf5ec0f9690..04be272742c 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -34,7 +34,7 @@ let
     name = "nixos-generate-config";
     src = ./nixos-generate-config.pl;
     perl = "${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl";
-    detectvirt = "${pkgs.systemd}/bin/systemd-detect-virt";
+    detectvirt = "${config.systemd.package}/bin/systemd-detect-virt";
     btrfs = "${pkgs.btrfs-progs}/bin/btrfs";
     inherit (config.system.nixos-generate-config) configuration desktopConfiguration;
     xserverEnabled = config.services.xserver.enable;
@@ -177,6 +177,10 @@ in
         # users.users.jane = {
         #   isNormalUser = true;
         #   extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
+        #   packages = with pkgs; [
+        #     firefox
+        #     thunderbird
+        #   ];
         # };
 
         # List packages installed in system profile. To search, run:
@@ -184,7 +188,6 @@ in
         # environment.systemPackages = with pkgs; [
         #   vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
         #   wget
-        #   firefox
         # ];
 
         # Some programs need SUID wrappers, can be configured further or are
diff --git a/nixos/modules/misc/mandoc.nix b/nixos/modules/misc/mandoc.nix
index 3da60f2f8e6..838f2087656 100644
--- a/nixos/modules/misc/mandoc.nix
+++ b/nixos/modules/misc/mandoc.nix
@@ -53,7 +53,9 @@ in {
       # see: https://inbox.vuxu.org/mandoc-tech/20210906171231.GF83680@athene.usta.de/T/#e85f773c1781e3fef85562b2794f9cad7b2909a3c
       extraSetup = lib.mkIf config.documentation.man.generateCaches ''
         ${makewhatis} -T utf8 ${
-          lib.concatMapStringsSep " " (path: "\"$out/${path}\"") cfg.manPath
+          lib.concatMapStringsSep " " (path:
+            "$out/" + lib.escapeShellArg path
+          ) cfg.manPath
         }
       '';
     };
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index 931201ade29..010acdb72f6 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -146,6 +146,15 @@ in
       "/etc/os-release".source = initrdRelease;
       "/etc/initrd-release".source = initrdRelease;
     };
+
+    # We have to use `warnings` because when warning in the default of the option
+    # the warning would also be shown when building the manual since the manual
+    # has to evaluate the default.
+    #
+    # TODO Remove this and drop the default of the option so people are forced to set it.
+    # Doing this also means fixing the comment in nixos/modules/testing/test-instrumentation.nix
+    warnings = lib.optional (options.system.stateVersion.highestPrio == (lib.mkOptionDefault { }).priority)
+      "system.stateVersion is not set, defaulting to ${config.system.stateVersion}. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion.";
   };
 
   # uses version info nixpkgs, which requires a full nixpkgs path
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 9d9f2e9057c..b3efa5d5e6f 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -57,6 +57,7 @@
   ./hardware/sensor/hddtemp.nix
   ./hardware/sensor/iio.nix
   ./hardware/keyboard/teck.nix
+  ./hardware/keyboard/uhk.nix
   ./hardware/keyboard/zsa.nix
   ./hardware/ksm.nix
   ./hardware/ledger.nix
@@ -196,7 +197,6 @@
   ./programs/partition-manager.nix
   ./programs/plotinus.nix
   ./programs/proxychains.nix
-  ./programs/phosh.nix
   ./programs/qt5ct.nix
   ./programs/screen.nix
   ./programs/sedutil.nix
@@ -975,6 +975,7 @@
   ./services/security/hockeypuck.nix
   ./services/security/hologram-server.nix
   ./services/security/hologram-agent.nix
+  ./services/security/kanidm.nix
   ./services/security/munge.nix
   ./services/security/nginx-sso.nix
   ./services/security/oauth2_proxy.nix
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index b1fcb0b461f..23d1344a57a 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -626,7 +626,7 @@ let
             session optional ${pkgs.otpw}/lib/security/pam_otpw.so
           '' +
           optionalString cfg.startSession ''
-            session optional ${pkgs.systemd}/lib/security/pam_systemd.so
+            session optional ${config.systemd.package}/lib/security/pam_systemd.so
           '' +
           optionalString cfg.forwardXAuth ''
             session optional pam_xauth.so xauthpath=${pkgs.xorg.xauth}/bin/xauth systemuser=99
@@ -1242,7 +1242,7 @@ in
         mr ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so,
       '' +
       optionalString (isEnabled (cfg: cfg.startSession)) ''
-        mr ${pkgs.systemd}/lib/security/pam_systemd.so,
+        mr ${config.systemd.package}/lib/security/pam_systemd.so,
       '' +
       optionalString (isEnabled (cfg: cfg.enableAppArmor)
                      && config.security.apparmor.enable) ''
diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix
index e63f19010de..169ef744262 100644
--- a/nixos/modules/security/wrappers/default.nix
+++ b/nixos/modules/security/wrappers/default.nix
@@ -98,7 +98,7 @@ let
 
       # Prevent races
       chmod 0000 "$wrapperDir/${program}"
-      chown ${owner}.${group} "$wrapperDir/${program}"
+      chown ${owner}:${group} "$wrapperDir/${program}"
 
       # Set desired capabilities on the file plus cap_setpcap so
       # the wrapper program can elevate the capabilities set on
@@ -126,7 +126,7 @@ let
 
       # Prevent races
       chmod 0000 "$wrapperDir/${program}"
-      chown ${owner}.${group} "$wrapperDir/${program}"
+      chown ${owner}:${group} "$wrapperDir/${program}"
 
       chmod "u${if setuid then "+" else "-"}s,g${if setgid then "+" else "-"}s,${permissions}" "$wrapperDir/${program}"
     '';
diff --git a/nixos/modules/services/backup/borgmatic.nix b/nixos/modules/services/backup/borgmatic.nix
index 5e5c0bbeccc..9414d78aa75 100644
--- a/nixos/modules/services/backup/borgmatic.nix
+++ b/nixos/modules/services/backup/borgmatic.nix
@@ -4,7 +4,8 @@ with lib;
 
 let
   cfg = config.services.borgmatic;
-  cfgfile = pkgs.writeText "config.yaml" (builtins.toJSON cfg.settings);
+  settingsFormat = pkgs.formats.yaml { };
+  cfgfile = settingsFormat.generate "config.yaml" cfg.settings;
 in {
   options.services.borgmatic = {
     enable = mkEnableOption "borgmatic";
@@ -14,7 +15,7 @@ in {
         See https://torsion.org/borgmatic/docs/reference/configuration/
       '';
       type = types.submodule {
-        freeformType = with lib.types; attrsOf anything;
+        freeformType = settingsFormat.type;
         options.location = {
           source_directories = mkOption {
             type = types.listOf types.str;
diff --git a/nixos/modules/services/continuous-integration/hydra/default.nix b/nixos/modules/services/continuous-integration/hydra/default.nix
index cc5de97d6d1..90adab7fbf2 100644
--- a/nixos/modules/services/continuous-integration/hydra/default.nix
+++ b/nixos/modules/services/continuous-integration/hydra/default.nix
@@ -300,17 +300,17 @@ in
         };
         preStart = ''
           mkdir -p ${baseDir}
-          chown hydra.hydra ${baseDir}
+          chown hydra:hydra ${baseDir}
           chmod 0750 ${baseDir}
 
           ln -sf ${hydraConf} ${baseDir}/hydra.conf
 
           mkdir -m 0700 -p ${baseDir}/www
-          chown hydra-www.hydra ${baseDir}/www
+          chown hydra-www:hydra ${baseDir}/www
 
           mkdir -m 0700 -p ${baseDir}/queue-runner
           mkdir -m 0750 -p ${baseDir}/build-logs
-          chown hydra-queue-runner.hydra ${baseDir}/queue-runner ${baseDir}/build-logs
+          chown hydra-queue-runner:hydra ${baseDir}/queue-runner ${baseDir}/build-logs
 
           ${optionalString haveLocalDB ''
             if ! [ -e ${baseDir}/.db-created ]; then
@@ -338,7 +338,7 @@ in
             rmdir /nix/var/nix/gcroots/per-user/hydra-www/hydra-roots
           fi
 
-          chown hydra.hydra ${cfg.gcRootsDir}
+          chown hydra:hydra ${cfg.gcRootsDir}
           chmod 2775 ${cfg.gcRootsDir}
         '';
         serviceConfig.ExecStart = "${hydra-package}/bin/hydra-init";
diff --git a/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
index b19fb33ec17..114afbfb0ea 100644
--- a/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
@@ -62,6 +62,9 @@
           "application.process.binary": "teams"
         },
         {
+          "application.process.binary": "teams-insiders"
+        },
+        {
           "application.process.binary": "skypeforlinux"
         }
       ],
diff --git a/nixos/modules/services/games/factorio.nix b/nixos/modules/services/games/factorio.nix
index ff73d7a46ed..bb6898a08c5 100644
--- a/nixos/modules/services/games/factorio.nix
+++ b/nixos/modules/services/games/factorio.nix
@@ -87,6 +87,18 @@ in
           a new map with default settings will be generated before starting the service.
         '';
       };
+      loadLatestSave = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Load the latest savegame on startup. This overrides saveName, in that the latest
+          save will always be used even if a saved game of the given name exists. It still
+          controls the 'canonical' name of the savegame.
+
+          Set this to true to have the server automatically reload a recent autosave after
+          a crash or desync.
+        '';
+      };
       # TODO Add more individual settings as nixos-options?
       # TODO XXX The server tries to copy a newly created config file over the old one
       #   on shutdown, but fails, because it's in the nix store. When is this needed?
@@ -250,8 +262,9 @@ in
           "--config=${cfg.configFile}"
           "--port=${toString cfg.port}"
           "--bind=${cfg.bind}"
-          "--start-server=${mkSavePath cfg.saveName}"
+          (optionalString (!cfg.loadLatestSave) "--start-server=${mkSavePath cfg.saveName}")
           "--server-settings=${serverSettingsFile}"
+          (optionalString cfg.loadLatestSave "--start-server-load-latest")
           (optionalString (cfg.mods != []) "--mod-directory=${modDir}")
           (optionalString (cfg.admins != []) "--server-adminlist=${serverAdminsFile}")
         ];
diff --git a/nixos/modules/services/hardware/illum.nix b/nixos/modules/services/hardware/illum.nix
index ff73c99a653..7f7a8500023 100644
--- a/nixos/modules/services/hardware/illum.nix
+++ b/nixos/modules/services/hardware/illum.nix
@@ -28,6 +28,7 @@ in {
       description = "Backlight Adjustment Service";
       wantedBy = [ "multi-user.target" ];
       serviceConfig.ExecStart = "${pkgs.illum}/bin/illum-d";
+      serviceConfig.Restart = "on-failure";
     };
 
   };
diff --git a/nixos/modules/services/hardware/usbrelayd.nix b/nixos/modules/services/hardware/usbrelayd.nix
index c0322e89e6b..2cee4e1ff7e 100644
--- a/nixos/modules/services/hardware/usbrelayd.nix
+++ b/nixos/modules/services/hardware/usbrelayd.nix
@@ -26,8 +26,7 @@ in
 
   config = mkIf cfg.enable {
 
-    # TODO: Rename to .conf in upcomming release
-    environment.etc."usbrelayd.ini".text = ''
+    environment.etc."usbrelayd.conf".text = ''
       [MQTT]
       BROKER = ${cfg.broker}
       CLIENTNAME = ${cfg.clientName}
@@ -41,4 +40,8 @@ in
     };
     users.groups.usbrelay = { };
   };
+
+  meta = {
+    maintainers = with lib.maintainers; [ wentasah ];
+  };
 }
diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix
index 6022227f6ea..e255e5d2218 100644
--- a/nixos/modules/services/home-automation/home-assistant.nix
+++ b/nixos/modules/services/home-automation/home-assistant.nix
@@ -360,7 +360,14 @@ in {
   };
 
   config = mkIf cfg.enable {
-    networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
+    assertions = [
+      {
+        assertion = cfg.openFirewall -> !isNull cfg.config;
+        message = "openFirewall can only be used with a declarative config";
+      }
+    ];
+
+    networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.config.http.server_port ];
 
     systemd.services.home-assistant = {
       description = "Home Assistant";
diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix
index a08203dffe7..5d00feabe1c 100644
--- a/nixos/modules/services/logging/logstash.nix
+++ b/nixos/modules/services/logging/logstash.nix
@@ -109,7 +109,7 @@ in
           '''
             # Read from journal
             pipe {
-              command => "''${pkgs.systemd}/bin/journalctl -f -o json"
+              command => "''${config.systemd.package}/bin/journalctl -f -o json"
               type => "syslog" codec => json {}
             }
           '''
diff --git a/nixos/modules/services/mail/spamassassin.nix b/nixos/modules/services/mail/spamassassin.nix
index ac878222b26..3b10d8d2909 100644
--- a/nixos/modules/services/mail/spamassassin.nix
+++ b/nixos/modules/services/mail/spamassassin.nix
@@ -135,7 +135,7 @@ in
         User = "spamd";
         Group = "spamd";
         StateDirectory = "spamassassin";
-        ExecStartPost = "+${pkgs.systemd}/bin/systemctl -q --no-block try-reload-or-restart spamd.service";
+        ExecStartPost = "+${config.systemd.package}/bin/systemctl -q --no-block try-reload-or-restart spamd.service";
       };
 
       script = ''
diff --git a/nixos/modules/services/matrix/matrix-synapse.nix b/nixos/modules/services/matrix/matrix-synapse.nix
index a498aff7a55..87a977f8e1e 100644
--- a/nixos/modules/services/matrix/matrix-synapse.nix
+++ b/nixos/modules/services/matrix/matrix-synapse.nix
@@ -296,6 +296,7 @@ in {
               default = if lib.versionAtLeast config.system.stateVersion "22.05"
                 then "${cfg.dataDir}/media_store"
                 else "${cfg.dataDir}/media";
+              defaultText = "${cfg.dataDir}/media_store for when system.stateVersion is at least 22.05, ${cfg.dataDir}/media when lower than 22.05";
               description = ''
                 Directory where uploaded images and attachments are stored.
               '';
diff --git a/nixos/modules/services/misc/heisenbridge.nix b/nixos/modules/services/misc/heisenbridge.nix
index 7ce8a23d9af..deefb061d8b 100644
--- a/nixos/modules/services/misc/heisenbridge.nix
+++ b/nixos/modules/services/misc/heisenbridge.nix
@@ -204,7 +204,7 @@ in
         NoNewPrivileges = true;
         LockPersonality = true;
         RestrictRealtime = true;
-        SystemCallFilter = ["@system-service" "~@priviledged" "@chown"];
+        SystemCallFilter = ["@system-service" "~@privileged" "@chown"];
         SystemCallArchitectures = "native";
         RestrictAddressFamilies = "AF_INET AF_INET6";
       };
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index 52525e8935b..ceb2db1faef 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -3,6 +3,7 @@
 with lib;
 
 let
+  json = pkgs.formats.json { };
   cfg = config.services.prometheus;
 
   workingDir = "/var/lib/" + cfg.stateDir;
@@ -34,13 +35,7 @@ let
         promtool ${what} $out
       '' else file;
 
-  # Pretty-print JSON to a file
-  writePrettyJSON = name: x:
-    pkgs.runCommandLocal name { } ''
-      echo '${builtins.toJSON x}' | ${pkgs.jq}/bin/jq . > $out
-    '';
-
-  generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig;
+  generatedPrometheusYml = json.generate "prometheus.yml" promConfig;
 
   # This becomes the main config file for Prometheus
   promConfig = {
diff --git a/nixos/modules/services/networking/gateone.nix b/nixos/modules/services/networking/gateone.nix
index 3e3a3c1aa94..e68f8a47d5c 100644
--- a/nixos/modules/services/networking/gateone.nix
+++ b/nixos/modules/services/networking/gateone.nix
@@ -36,11 +36,11 @@ config = mkIf cfg.enable {
     preStart = ''
       if [ ! -d ${cfg.settingsDir} ] ; then
         mkdir -m 0750 -p ${cfg.settingsDir}
-        chown -R gateone.gateone ${cfg.settingsDir}
+        chown -R gateone:gateone ${cfg.settingsDir}
       fi
       if [ ! -d ${cfg.pidDir} ] ; then
         mkdir -m 0750 -p ${cfg.pidDir}
-        chown -R gateone.gateone ${cfg.pidDir}
+        chown -R gateone:gateone ${cfg.pidDir}
       fi
       '';
     #unitConfig.RequiresMountsFor = "${cfg.settingsDir}";
diff --git a/nixos/modules/services/networking/ircd-hybrid/ircd.conf b/nixos/modules/services/networking/ircd-hybrid/ircd.conf
index 17ef203840a..b82094cf5f0 100644
--- a/nixos/modules/services/networking/ircd-hybrid/ircd.conf
+++ b/nixos/modules/services/networking/ircd-hybrid/ircd.conf
@@ -98,7 +98,7 @@ serverinfo {
 	 * 
 	 * 	openssl genrsa -out rsa.key 2048
 	 *	openssl rsa -in rsa.key -pubout -out rsa.pub
-	 *	chown <ircd-user>.<ircd.group> rsa.key rsa.pub
+	 *	chown <ircd-user>:<ircd.group> rsa.key rsa.pub
 	 *	chmod 0600 rsa.key
 	 *	chmod 0644 rsa.pub
 	 */
diff --git a/nixos/modules/services/networking/pleroma.nix b/nixos/modules/services/networking/pleroma.nix
index c6d4c14dcb7..9b8382392c0 100644
--- a/nixos/modules/services/networking/pleroma.nix
+++ b/nixos/modules/services/networking/pleroma.nix
@@ -1,7 +1,6 @@
 { config, options, lib, pkgs, stdenv, ... }:
 let
   cfg = config.services.pleroma;
-  cookieFile = "/var/lib/pleroma/.cookie";
 in {
   options = {
     services.pleroma = with lib; {
@@ -9,7 +8,7 @@ in {
 
       package = mkOption {
         type = types.package;
-        default = pkgs.pleroma.override { inherit cookieFile; };
+        default = pkgs.pleroma;
         defaultText = literalExpression "pkgs.pleroma";
         description = "Pleroma package to use.";
       };
@@ -101,6 +100,7 @@ in {
       after = [ "network-online.target" "postgresql.service" ];
       wantedBy = [ "multi-user.target" ];
       restartTriggers = [ config.environment.etc."/pleroma/config.exs".source ];
+      environment.RELEASE_COOKIE = "/var/lib/pleroma/.cookie";
       serviceConfig = {
         User = cfg.user;
         Group = cfg.group;
@@ -118,10 +118,10 @@ in {
         # Better be safe than sorry migration-wise.
         ExecStartPre =
           let preScript = pkgs.writers.writeBashBin "pleromaStartPre" ''
-            if [ ! -f "${cookieFile}" ] || [ ! -s "${cookieFile}" ]
+            if [ ! -f /var/lib/pleroma/.cookie ]
             then
               echo "Creating cookie file"
-              dd if=/dev/urandom bs=1 count=16 | ${pkgs.hexdump}/bin/hexdump -e '16/1 "%02x"' > "${cookieFile}"
+              dd if=/dev/urandom bs=1 count=16 | hexdump -e '16/1 "%02x"' > /var/lib/pleroma/.cookie
             fi
             ${cfg.package}/bin/pleroma_ctl migrate
           '';
diff --git a/nixos/modules/services/networking/pptpd.nix b/nixos/modules/services/networking/pptpd.nix
index 3e7753b9dd3..423e14e998f 100644
--- a/nixos/modules/services/networking/pptpd.nix
+++ b/nixos/modules/services/networking/pptpd.nix
@@ -108,7 +108,7 @@ with lib;
         #username	pptpd	password	*
         EOF
 
-        chown root.root "$secrets"
+        chown root:root "$secrets"
         chmod 600 "$secrets"
       '';
 
diff --git a/nixos/modules/services/networking/prayer.nix b/nixos/modules/services/networking/prayer.nix
index ae9258b2712..513509eaca3 100644
--- a/nixos/modules/services/networking/prayer.nix
+++ b/nixos/modules/services/networking/prayer.nix
@@ -82,7 +82,7 @@ in
       serviceConfig.Type = "forking";
       preStart = ''
         mkdir -m 0755 -p ${stateDir}
-        chown ${prayerUser}.${prayerGroup} ${stateDir}
+        chown ${prayerUser}:${prayerGroup} ${stateDir}
       '';
       script = "${prayer}/sbin/prayer --config-file=${prayerCfg}";
     };
diff --git a/nixos/modules/services/networking/supplicant.nix b/nixos/modules/services/networking/supplicant.nix
index 8df450a11c6..e111b311d68 100644
--- a/nixos/modules/services/networking/supplicant.nix
+++ b/nixos/modules/services/networking/supplicant.nix
@@ -226,10 +226,10 @@ in
               ACTION=="add", SUBSYSTEM=="net", ENV{INTERFACE}=="${i}", TAG+="systemd", ENV{SYSTEMD_WANTS}+="supplicant-${replaceChars [" "] ["-"] iface}.service", TAG+="SUPPLICANT_ASSIGNED"''))}
 
           ${optionalString (hasAttr "WLAN" cfg) ''
-            ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", TAG!="SUPPLICANT_ASSIGNED", TAG+="systemd", PROGRAM="${pkgs.systemd}/bin/systemd-escape -p %E{INTERFACE}", ENV{SYSTEMD_WANTS}+="supplicant-wlan@$result.service"
+            ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", TAG!="SUPPLICANT_ASSIGNED", TAG+="systemd", PROGRAM="/run/current-system/systemd/bin/systemd-escape -p %E{INTERFACE}", ENV{SYSTEMD_WANTS}+="supplicant-wlan@$result.service"
           ''}
           ${optionalString (hasAttr "LAN" cfg) ''
-            ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="lan", TAG!="SUPPLICANT_ASSIGNED", TAG+="systemd", PROGRAM="${pkgs.systemd}/bin/systemd-escape -p %E{INTERFACE}", ENV{SYSTEMD_WANTS}+="supplicant-lan@$result.service"
+            ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="lan", TAG!="SUPPLICANT_ASSIGNED", TAG+="systemd", PROGRAM="/run/current-system/systemd/bin/systemd-escape -p %E{INTERFACE}", ENV{SYSTEMD_WANTS}+="supplicant-lan@$result.service"
           ''}
         '';
       })];
diff --git a/nixos/modules/services/networking/tailscale.nix b/nixos/modules/services/networking/tailscale.nix
index 1f64113950a..0133874d0e0 100644
--- a/nixos/modules/services/networking/tailscale.nix
+++ b/nixos/modules/services/networking/tailscale.nix
@@ -2,9 +2,13 @@
 
 with lib;
 
-let cfg = config.services.tailscale;
+let
+  cfg = config.services.tailscale;
+  firewallOn = config.networking.firewall.enable;
+  rpfMode = config.networking.firewall.checkReversePath;
+  rpfIsStrict = rpfMode == true || rpfMode == "strict";
 in {
-  meta.maintainers = with maintainers; [ danderson mbaillie ];
+  meta.maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 ];
 
   options.services.tailscale = {
     enable = mkEnableOption "Tailscale client daemon";
@@ -36,17 +40,34 @@ in {
   };
 
   config = mkIf cfg.enable {
+    warnings = optional (firewallOn && rpfIsStrict) "Strict reverse path filtering breaks Tailscale exit node use and some subnet routing setups. Consider setting `networking.firewall.checkReversePath` = 'loose'";
     environment.systemPackages = [ cfg.package ]; # for the CLI
     systemd.packages = [ cfg.package ];
     systemd.services.tailscaled = {
       wantedBy = [ "multi-user.target" ];
-      path = [ pkgs.openresolv pkgs.procps ];
+      path = [
+        pkgs.openresolv # for configuring DNS in some configs
+        pkgs.procps     # for collecting running services (opt-in feature)
+        pkgs.glibc      # for `getent` to look up user shells
+      ];
       serviceConfig.Environment = [
         "PORT=${toString cfg.port}"
         ''"FLAGS=--tun ${lib.escapeShellArg cfg.interfaceName}"''
       ] ++ (lib.optionals (cfg.permitCertUid != null) [
         "TS_PERMIT_CERT_UID=${cfg.permitCertUid}"
       ]);
+      # Restart tailscaled with a single `systemctl restart` at the
+      # end of activation, rather than a `stop` followed by a later
+      # `start`. Activation over Tailscale can hang for tens of
+      # seconds in the stop+start setup, if the activation script has
+      # a significant delay between the stop and start phases
+      # (e.g. script blocked on another unit with a slow shutdown).
+      #
+      # Tailscale is aware of the correctness tradeoff involved, and
+      # already makes its upstream systemd unit robust against unit
+      # version mismatches on restart for compatibility with other
+      # linux distros.
+      stopIfChanged = false;
     };
   };
 }
diff --git a/nixos/modules/services/networking/xl2tpd.nix b/nixos/modules/services/networking/xl2tpd.nix
index 7dbe51422d9..9418488c1e9 100644
--- a/nixos/modules/services/networking/xl2tpd.nix
+++ b/nixos/modules/services/networking/xl2tpd.nix
@@ -116,18 +116,18 @@ with lib;
         #username	xl2tpd	password	*
         EOF
 
-        chown root.root ppp/chap-secrets
+        chown root:root ppp/chap-secrets
         chmod 600 ppp/chap-secrets
 
         # The documentation says this file should be present but doesn't explain why and things work even if not there:
         [ -f l2tp-secrets ] || (echo -n "* * "; ${pkgs.apg}/bin/apg -n 1 -m 32 -x 32 -a 1 -M LCN) > l2tp-secrets
-        chown root.root l2tp-secrets
+        chown root:root l2tp-secrets
         chmod 600 l2tp-secrets
 
         popd > /dev/null
 
         mkdir -p /run/xl2tpd
-        chown root.root /run/xl2tpd
+        chown root:root /run/xl2tpd
         chmod 700       /run/xl2tpd
       '';
 
diff --git a/nixos/modules/services/security/kanidm.nix b/nixos/modules/services/security/kanidm.nix
new file mode 100644
index 00000000000..a7c51b9a877
--- /dev/null
+++ b/nixos/modules/services/security/kanidm.nix
@@ -0,0 +1,345 @@
+{ config, lib, options, pkgs, ... }:
+let
+  cfg = config.services.kanidm;
+  settingsFormat = pkgs.formats.toml { };
+  # Remove null values, so we can document optional values that don't end up in the generated TOML file.
+  filterConfig = lib.converge (lib.filterAttrsRecursive (_: v: v != null));
+  serverConfigFile = settingsFormat.generate "server.toml" (filterConfig cfg.serverSettings);
+  clientConfigFile = settingsFormat.generate "kanidm-config.toml" (filterConfig cfg.clientSettings);
+  unixConfigFile = settingsFormat.generate "kanidm-unixd.toml" (filterConfig cfg.unixSettings);
+
+  defaultServiceConfig = {
+    BindReadOnlyPaths = [
+      "/nix/store"
+      "-/etc/resolv.conf"
+      "-/etc/nsswitch.conf"
+      "-/etc/hosts"
+      "-/etc/localtime"
+    ];
+    CapabilityBoundingSet = "";
+    # ProtectClock= adds DeviceAllow=char-rtc r
+    DeviceAllow = "";
+    # Implies ProtectSystem=strict, which re-mounts all paths
+    # DynamicUser = true;
+    LockPersonality = true;
+    MemoryDenyWriteExecute = true;
+    NoNewPrivileges = true;
+    PrivateDevices = true;
+    PrivateMounts = true;
+    PrivateNetwork = true;
+    PrivateTmp = true;
+    PrivateUsers = true;
+    ProcSubset = "pid";
+    ProtectClock = true;
+    ProtectHome = true;
+    ProtectHostname = true;
+    # Would re-mount paths ignored by temporary root
+    #ProtectSystem = "strict";
+    ProtectControlGroups = true;
+    ProtectKernelLogs = true;
+    ProtectKernelModules = true;
+    ProtectKernelTunables = true;
+    ProtectProc = "invisible";
+    RestrictAddressFamilies = [ ];
+    RestrictNamespaces = true;
+    RestrictRealtime = true;
+    RestrictSUIDSGID = true;
+    SystemCallArchitectures = "native";
+    SystemCallFilter = [ "@system-service" "~@privileged @resources @setuid @keyring" ];
+    # Does not work well with the temporary root
+    #UMask = "0066";
+  };
+
+in
+{
+  options.services.kanidm = {
+    enableClient = lib.mkEnableOption "the Kanidm client";
+    enableServer = lib.mkEnableOption "the Kanidm server";
+    enablePam = lib.mkEnableOption "the Kanidm PAM and NSS integration.";
+
+    serverSettings = lib.mkOption {
+      type = lib.types.submodule {
+        freeformType = settingsFormat.type;
+
+        options = {
+          bindaddress = lib.mkOption {
+            description = "Address/port combination the webserver binds to.";
+            example = "[::1]:8443";
+            type = lib.types.str;
+          };
+          # Should be optional but toml does not accept null
+          ldapbindaddress = lib.mkOption {
+            description = ''
+              Address and port the LDAP server is bound to. Setting this to <literal>null</literal> disables the LDAP interface.
+            '';
+            example = "[::1]:636";
+            default = null;
+            type = lib.types.nullOr lib.types.str;
+          };
+          origin = lib.mkOption {
+            description = "The origin of your Kanidm instance. Must have https as protocol.";
+            example = "https://idm.example.org";
+            type = lib.types.strMatching "^https://.*";
+          };
+          domain = lib.mkOption {
+            description = ''
+              The <literal>domain</literal> that Kanidm manages. Must be below or equal to the domain
+              specified in <literal>serverSettings.origin</literal>.
+              This can be left at <literal>null</literal>, only if your instance has the role <literal>ReadOnlyReplica</literal>.
+              While it is possible to change the domain later on, it requires extra steps!
+              Please consider the warnings and execute the steps described
+              <link xlink:href="https://kanidm.github.io/kanidm/stable/administrivia.html#rename-the-domain">in the documentation</link>.
+            '';
+            example = "example.org";
+            default = null;
+            type = lib.types.nullOr lib.types.str;
+          };
+          db_path = lib.mkOption {
+            description = "Path to Kanidm database.";
+            default = "/var/lib/kanidm/kanidm.db";
+            readOnly = true;
+            type = lib.types.path;
+          };
+          log_level = lib.mkOption {
+            description = "Log level of the server.";
+            default = "default";
+            type = lib.types.enum [ "default" "verbose" "perfbasic" "perffull" ];
+          };
+          role = lib.mkOption {
+            description = "The role of this server. This affects the replication relationship and thereby available features.";
+            default = "WriteReplica";
+            type = lib.types.enum [ "WriteReplica" "WriteReplicaNoUI" "ReadOnlyReplica" ];
+          };
+        };
+      };
+      default = { };
+      description = ''
+        Settings for Kanidm, see
+        <link xlink:href="https://github.com/kanidm/kanidm/blob/master/kanidm_book/src/server_configuration.md">the documentation</link>
+        and <link xlink:href="https://github.com/kanidm/kanidm/blob/master/examples/server.toml">example configuration</link>
+        for possible values.
+      '';
+    };
+
+    clientSettings = lib.mkOption {
+      type = lib.types.submodule {
+        freeformType = settingsFormat.type;
+
+        options.uri = lib.mkOption {
+          description = "Address of the Kanidm server.";
+          example = "http://127.0.0.1:8080";
+          type = lib.types.str;
+        };
+      };
+      description = ''
+        Configure Kanidm clients, needed for the PAM daemon. See
+        <link xlink:href="https://github.com/kanidm/kanidm/blob/master/kanidm_book/src/client_tools.md#kanidm-configuration">the documentation</link>
+        and <link xlink:href="https://github.com/kanidm/kanidm/blob/master/examples/config">example configuration</link>
+        for possible values.
+      '';
+    };
+
+    unixSettings = lib.mkOption {
+      type = lib.types.submodule {
+        freeformType = settingsFormat.type;
+
+        options.pam_allowed_login_groups = lib.mkOption {
+          description = "Kanidm groups that are allowed to login using PAM.";
+          example = "my_pam_group";
+          type = lib.types.listOf lib.types.str;
+        };
+      };
+      description = ''
+        Configure Kanidm unix daemon.
+        See <link xlink:href="https://github.com/kanidm/kanidm/blob/master/kanidm_book/src/pam_and_nsswitch.md#the-unix-daemon">the documentation</link>
+        and <link xlink:href="https://github.com/kanidm/kanidm/blob/master/examples/unixd">example configuration</link>
+        for possible values.
+      '';
+    };
+  };
+
+  config = lib.mkIf (cfg.enableClient || cfg.enableServer || cfg.enablePam) {
+    assertions =
+      [
+        {
+          assertion = !cfg.enableServer || ((cfg.serverSettings.tls_chain or null) == null) || (!lib.isStorePath cfg.serverSettings.tls_chain);
+          message = ''
+            <option>services.kanidm.serverSettings.tls_chain</option> points to
+            a file in the Nix store. You should use a quoted absolute path to
+            prevent this.
+          '';
+        }
+        {
+          assertion = !cfg.enableServer || ((cfg.serverSettings.tls_key or null) == null) || (!lib.isStorePath cfg.serverSettings.tls_key);
+          message = ''
+            <option>services.kanidm.serverSettings.tls_key</option> points to
+            a file in the Nix store. You should use a quoted absolute path to
+            prevent this.
+          '';
+        }
+        {
+          assertion = !cfg.enableClient || options.services.kanidm.clientSettings.isDefined;
+          message = ''
+            <option>services.kanidm.clientSettings</option> needs to be configured
+            if the client is enabled.
+          '';
+        }
+        {
+          assertion = !cfg.enablePam || options.services.kanidm.clientSettings.isDefined;
+          message = ''
+            <option>services.kanidm.clientSettings</option> needs to be configured
+            for the PAM daemon to connect to the Kanidm server.
+          '';
+        }
+        {
+          assertion = !cfg.enableServer || (cfg.serverSettings.domain == null
+            -> cfg.serverSettings.role == "WriteReplica" || cfg.serverSettings.role == "WriteReplicaNoUI");
+          message = ''
+            <option>services.kanidm.serverSettings.domain</option> can only be set if this instance
+            is not a ReadOnlyReplica. Otherwise the db would inherit it from
+            the instance it follows.
+          '';
+        }
+      ];
+
+    environment.systemPackages = lib.mkIf cfg.enableClient [ pkgs.kanidm ];
+
+    systemd.services.kanidm = lib.mkIf cfg.enableServer {
+      description = "kanidm identity management daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      serviceConfig = defaultServiceConfig // {
+        StateDirectory = "kanidm";
+        StateDirectoryMode = "0700";
+        ExecStart = "${pkgs.kanidm}/bin/kanidmd server -c ${serverConfigFile}";
+        User = "kanidm";
+        Group = "kanidm";
+
+        AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
+        CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
+        # This would otherwise override the CAP_NET_BIND_SERVICE capability.
+        PrivateUsers = false;
+        # Port needs to be exposed to the host network
+        PrivateNetwork = false;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        TemporaryFileSystem = "/:ro";
+      };
+      environment.RUST_LOG = "info";
+    };
+
+    systemd.services.kanidm-unixd = lib.mkIf cfg.enablePam {
+      description = "Kanidm PAM daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      restartTriggers = [ unixConfigFile clientConfigFile ];
+      serviceConfig = defaultServiceConfig // {
+        CacheDirectory = "kanidm-unixd";
+        CacheDirectoryMode = "0700";
+        RuntimeDirectory = "kanidm-unixd";
+        ExecStart = "${pkgs.kanidm}/bin/kanidm_unixd";
+        User = "kanidm-unixd";
+        Group = "kanidm-unixd";
+
+        BindReadOnlyPaths = [
+          "/nix/store"
+          "-/etc/resolv.conf"
+          "-/etc/nsswitch.conf"
+          "-/etc/hosts"
+          "-/etc/localtime"
+          "-/etc/kanidm"
+          "-/etc/static/kanidm"
+        ];
+        BindPaths = [
+          # To create the socket
+          "/run/kanidm-unixd:/var/run/kanidm-unixd"
+        ];
+        # Needs to connect to kanidmd
+        PrivateNetwork = false;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
+        TemporaryFileSystem = "/:ro";
+      };
+      environment.RUST_LOG = "info";
+    };
+
+    systemd.services.kanidm-unixd-tasks = lib.mkIf cfg.enablePam {
+      description = "Kanidm PAM home management daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" "kanidm-unixd.service" ];
+      partOf = [ "kanidm-unixd.service" ];
+      restartTriggers = [ unixConfigFile clientConfigFile ];
+      serviceConfig = {
+        ExecStart = "${pkgs.kanidm}/bin/kanidm_unixd_tasks";
+
+        BindReadOnlyPaths = [
+          "/nix/store"
+          "-/etc/resolv.conf"
+          "-/etc/nsswitch.conf"
+          "-/etc/hosts"
+          "-/etc/localtime"
+          "-/etc/kanidm"
+          "-/etc/static/kanidm"
+        ];
+        BindPaths = [
+          # To manage home directories
+          "/home"
+          # To connect to kanidm-unixd
+          "/run/kanidm-unixd:/var/run/kanidm-unixd"
+        ];
+        # CAP_DAC_OVERRIDE is needed to ignore ownership of unixd socket
+        CapabilityBoundingSet = [ "CAP_CHOWN" "CAP_FOWNER" "CAP_DAC_OVERRIDE" "CAP_DAC_READ_SEARCH" ];
+        IPAddressDeny = "any";
+        # Need access to users
+        PrivateUsers = false;
+        # Need access to home directories
+        ProtectHome = false;
+        RestrictAddressFamilies = [ "AF_UNIX" ];
+        TemporaryFileSystem = "/:ro";
+      };
+      environment.RUST_LOG = "info";
+    };
+
+    # These paths are hardcoded
+    environment.etc = lib.mkMerge [
+      (lib.mkIf options.services.kanidm.clientSettings.isDefined {
+        "kanidm/config".source = clientConfigFile;
+      })
+      (lib.mkIf cfg.enablePam {
+        "kanidm/unixd".source = unixConfigFile;
+      })
+    ];
+
+    system.nssModules = lib.mkIf cfg.enablePam [ pkgs.kanidm ];
+
+    system.nssDatabases.group = lib.optional cfg.enablePam "kanidm";
+    system.nssDatabases.passwd = lib.optional cfg.enablePam "kanidm";
+
+    users.groups = lib.mkMerge [
+      (lib.mkIf cfg.enableServer {
+        kanidm = { };
+      })
+      (lib.mkIf cfg.enablePam {
+        kanidm-unixd = { };
+      })
+    ];
+    users.users = lib.mkMerge [
+      (lib.mkIf cfg.enableServer {
+        kanidm = {
+          description = "Kanidm server";
+          isSystemUser = true;
+          group = "kanidm";
+          packages = with pkgs; [ kanidm ];
+        };
+      })
+      (lib.mkIf cfg.enablePam {
+        kanidm-unixd = {
+          description = "Kanidm PAM daemon";
+          isSystemUser = true;
+          group = "kanidm-unixd";
+        };
+      })
+    ];
+  };
+
+  meta.maintainers = with lib.maintainers; [ erictapen Flakebi ];
+  meta.buildDocsInSandbox = false;
+}
diff --git a/nixos/modules/services/security/sshguard.nix b/nixos/modules/services/security/sshguard.nix
index 53bd9efa5ac..3be0a8c700b 100644
--- a/nixos/modules/services/security/sshguard.nix
+++ b/nixos/modules/services/security/sshguard.nix
@@ -17,7 +17,7 @@ let
       else "sshg-fw-ipset";
   in pkgs.writeText "sshguard.conf" ''
     BACKEND="${pkgs.sshguard}/libexec/${backend}"
-    LOGREADER="LANG=C ${pkgs.systemd}/bin/journalctl ${args}"
+    LOGREADER="LANG=C ${config.systemd.package}/bin/journalctl ${args}"
   '';
 
 in {
diff --git a/nixos/modules/services/wayland/cage.nix b/nixos/modules/services/wayland/cage.nix
index a32b81a916f..b818f5c463a 100644
--- a/nixos/modules/services/wayland/cage.nix
+++ b/nixos/modules/services/wayland/cage.nix
@@ -88,7 +88,7 @@ in {
       account required pam_unix.so
       session required pam_unix.so
       session required pam_env.so conffile=/etc/pam/environment readenv=0
-      session required ${pkgs.systemd}/lib/security/pam_systemd.so
+      session required ${config.systemd.package}/lib/security/pam_systemd.so
     '';
 
     hardware.opengl.enable = mkDefault true;
diff --git a/nixos/modules/services/web-apps/restya-board.nix b/nixos/modules/services/web-apps/restya-board.nix
index 4b36cc8754c..0bfa2368787 100644
--- a/nixos/modules/services/web-apps/restya-board.nix
+++ b/nixos/modules/services/web-apps/restya-board.nix
@@ -294,7 +294,7 @@ in
         ln -sf "${cfg.dataDir}/client/img" "${runDir}/client/img"
 
         chmod g+w "${runDir}/tmp/cache"
-        chown -R "${cfg.user}"."${cfg.group}" "${runDir}"
+        chown -R "${cfg.user}":"${cfg.group}" "${runDir}"
 
 
         mkdir -m 0750 -p "${cfg.dataDir}"
@@ -302,9 +302,9 @@ in
         mkdir -m 0750 -p "${cfg.dataDir}/client/img"
         cp -r "${pkgs.restya-board}/media/"* "${cfg.dataDir}/media"
         cp -r "${pkgs.restya-board}/client/img/"* "${cfg.dataDir}/client/img"
-        chown "${cfg.user}"."${cfg.group}" "${cfg.dataDir}"
-        chown -R "${cfg.user}"."${cfg.group}" "${cfg.dataDir}/media"
-        chown -R "${cfg.user}"."${cfg.group}" "${cfg.dataDir}/client/img"
+        chown "${cfg.user}":"${cfg.group}" "${cfg.dataDir}"
+        chown -R "${cfg.user}":"${cfg.group}" "${cfg.dataDir}/media"
+        chown -R "${cfg.user}":"${cfg.group}" "${cfg.dataDir}/client/img"
 
         ${optionalString (cfg.database.host == null) ''
           if ! [ -e "${cfg.dataDir}/.db-initialized" ]; then
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index 8247a7e381c..f48eac21bd8 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -18,7 +18,7 @@ in
   # determines the default: later modules (if enabled) are preferred.
   # E.g., if Plasma 5 is enabled, it supersedes xterm.
   imports = [
-    ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
+    ./none.nix ./xterm.nix ./phosh.nix ./xfce.nix ./plasma5.nix ./lumina.nix
     ./lxqt.nix ./enlightenment.nix ./gnome.nix ./retroarch.nix ./kodi.nix
     ./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix
     ./cinnamon.nix
diff --git a/nixos/modules/programs/phosh.nix b/nixos/modules/services/x11/desktop-managers/phosh.nix
index ad875616ac9..4bf78fa16e7 100644
--- a/nixos/modules/programs/phosh.nix
+++ b/nixos/modules/services/x11/desktop-managers/phosh.nix
@@ -3,7 +3,7 @@
 with lib;
 
 let
-  cfg = config.programs.phosh;
+  cfg = config.services.xserver.desktopManager.phosh;
 
   # Based on https://source.puri.sm/Librem5/librem5-base/-/blob/4596c1056dd75ac7f043aede07887990fd46f572/default/sm.puri.OSK0.desktop
   oskItem = pkgs.makeDesktopItem {
@@ -118,12 +118,39 @@ let
     [cursor]
     theme = ${phoc.cursorTheme}
   '';
-in {
+in
+
+{
   options = {
-    programs.phosh = {
-      enable = mkEnableOption ''
-        Whether to enable, Phosh, related packages and default configurations.
-      '';
+    services.xserver.desktopManager.phosh = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Enable the Phone Shell.";
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.phosh;
+        defaultText = literalExpression "pkgs.phosh";
+        example = literalExpression "pkgs.phosh";
+        description = ''
+          Package that should be used for Phosh.
+        '';
+      };
+
+      user = mkOption {
+        description = "The user to run the Phosh service.";
+        type = types.str;
+        example = "alice";
+      };
+
+      group = mkOption {
+        description = "The group to run the Phosh service.";
+        type = types.str;
+        example = "users";
+      };
+
       phocConfig = mkOption {
         description = ''
           Configurations for the Phoc compositor.
@@ -135,14 +162,42 @@ in {
   };
 
   config = mkIf cfg.enable {
+    systemd.defaultUnit = "graphical.target";
+    # Inspired by https://gitlab.gnome.org/World/Phosh/phosh/-/blob/main/data/phosh.service
+    systemd.services.phosh = {
+      wantedBy = [ "graphical.target" ];
+      serviceConfig = {
+        ExecStart = "${cfg.package}/bin/phosh";
+        User = cfg.user;
+        Group = cfg.group;
+        PAMName = "login";
+        WorkingDirectory = "~";
+        Restart = "always";
+
+        TTYPath = "/dev/tty7";
+        TTYReset = "yes";
+        TTYVHangup = "yes";
+        TTYVTDisallocate = "yes";
+
+        # Fail to start if not controlling the tty.
+        StandardInput = "tty-fail";
+        StandardOutput = "journal";
+        StandardError = "journal";
+
+        # Log this user with utmp, letting it show up with commands 'w' and 'who'.
+        UtmpIdentifier = "tty7";
+        UtmpMode = "user";
+      };
+    };
+
     environment.systemPackages = [
       pkgs.phoc
-      pkgs.phosh
+      cfg.package
       pkgs.squeekboard
       oskItem
     ];
 
-    systemd.packages = [ pkgs.phosh ];
+    systemd.packages = [ cfg.package ];
 
     programs.feedbackd.enable = true;
 
@@ -152,7 +207,7 @@ in {
 
     services.gnome.core-shell.enable = true;
     services.gnome.core-os-services.enable = true;
-    services.xserver.displayManager.sessionPackages = [ pkgs.phosh ];
+    services.xserver.displayManager.sessionPackages = [ cfg.package ];
 
     environment.etc."phosh/phoc.ini".source =
       if builtins.isPath cfg.phocConfig then cfg.phocConfig
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index 70ae6b8978d..4941d13c810 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -298,7 +298,7 @@ in
 
         session  required       pam_succeed_if.so audit quiet_success user = gdm
         session  required       pam_env.so conffile=/etc/pam/environment readenv=0
-        session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
+        session  optional       ${config.systemd.package}/lib/security/pam_systemd.so
         session  optional       pam_keyinit.so force revoke
         session  optional       pam_permit.so
       '';
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index 27dfed3cc14..302c8fe0d91 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -287,7 +287,7 @@ in
 
         session  required       pam_succeed_if.so audit quiet_success user = lightdm
         session  required       pam_env.so conffile=/etc/pam/environment readenv=0
-        session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
+        session  optional       ${config.systemd.package}/lib/security/pam_systemd.so
         session  optional       pam_keyinit.so force revoke
         session  optional       pam_permit.so
     '';
diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix
index 529a086381f..c44f24002e0 100644
--- a/nixos/modules/services/x11/display-managers/sddm.nix
+++ b/nixos/modules/services/x11/display-managers/sddm.nix
@@ -231,7 +231,7 @@ in
 
         session  required       pam_succeed_if.so audit quiet_success user = sddm
         session  required       pam_env.so conffile=/etc/pam/environment readenv=0
-        session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
+        session  optional       ${config.systemd.package}/lib/security/pam_systemd.so
         session  optional       pam_keyinit.so force revoke
         session  optional       pam_permit.so
       '';
diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix
index e683d181729..21be18ef866 100644
--- a/nixos/modules/system/boot/modprobe.nix
+++ b/nixos/modules/system/boot/modprobe.nix
@@ -52,7 +52,7 @@ with lib;
       '';
     environment.etc."modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases;
 
-    environment.etc."modprobe.d/systemd.conf".source = "${pkgs.systemd}/lib/modprobe.d/systemd.conf";
+    environment.etc."modprobe.d/systemd.conf".source = "${config.systemd.package}/lib/modprobe.d/systemd.conf";
 
     environment.systemPackages = [ pkgs.kmod ];
 
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index d1a6f46bfc4..0336930b3ab 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -779,6 +779,7 @@ let
           "RouteDenyList"
           "RouteAllowList"
           "DHCPv6Client"
+          "RouteMetric"
         ])
         (assertValueOneOf "UseDNS" boolValues)
         (assertValueOneOf "UseDomains" (boolValues ++ ["route"]))
diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix
index 78ae8e9d20b..8b57cae3c40 100644
--- a/nixos/modules/system/boot/plymouth.nix
+++ b/nixos/modules/system/boot/plymouth.nix
@@ -4,7 +4,10 @@ with lib;
 
 let
 
-  inherit (pkgs) plymouth nixos-icons;
+  inherit (pkgs) nixos-icons;
+  plymouth = pkgs.plymouth.override {
+    systemd = config.boot.initrd.systemd.package;
+  };
 
   cfg = config.boot.plymouth;
   opt = options.boot.plymouth;
@@ -143,7 +146,88 @@ in
     systemd.services.systemd-ask-password-plymouth.wantedBy = [ "multi-user.target" ];
     systemd.paths.systemd-ask-password-plymouth.wantedBy = [ "multi-user.target" ];
 
-    boot.initrd.extraUtilsCommands = ''
+    boot.initrd.systemd = {
+      extraBin.plymouth = "${plymouth}/bin/plymouth"; # for the recovery shell
+      storePaths = [
+        "${lib.getBin config.boot.initrd.systemd.package}/bin/systemd-tty-ask-password-agent"
+        "${plymouth}/bin/plymouthd"
+        "${plymouth}/sbin/plymouthd"
+      ];
+      packages = [ plymouth ]; # systemd units
+      contents = {
+        # Files
+        "/etc/plymouth/plymouthd.conf".source = configFile;
+        "/etc/plymouth/plymouthd.defaults".source = "${plymouth}/share/plymouth/plymouthd.defaults";
+        "/etc/plymouth/logo.png".source = cfg.logo;
+        # Directories
+        "/etc/plymouth/plugins".source = pkgs.runCommand "plymouth-initrd-plugins" {} ''
+          # Check if the actual requested theme is here
+          if [[ ! -d ${themesEnv}/share/plymouth/themes/${cfg.theme} ]]; then
+              echo "The requested theme: ${cfg.theme} is not provided by any of the packages in boot.plymouth.themePackages"
+              exit 1
+          fi
+
+          moduleName="$(sed -n 's,ModuleName *= *,,p' ${themesEnv}/share/plymouth/themes/${cfg.theme}/${cfg.theme}.plymouth)"
+
+          mkdir -p $out/renderers
+          # module might come from a theme
+          cp ${themesEnv}/lib/plymouth/{text,details,label,$moduleName}.so $out
+          cp ${plymouth}/lib/plymouth/renderers/{drm,frame-buffer}.so $out/renderers
+        '';
+        "/etc/plymouth/themes".source = pkgs.runCommand "plymouth-initrd-themes" {} ''
+          # Check if the actual requested theme is here
+          if [[ ! -d ${themesEnv}/share/plymouth/themes/${cfg.theme} ]]; then
+              echo "The requested theme: ${cfg.theme} is not provided by any of the packages in boot.plymouth.themePackages"
+              exit 1
+          fi
+
+          mkdir $out
+          cp -r ${themesEnv}/share/plymouth/themes/${cfg.theme} $out
+          # Copy more themes if the theme depends on others
+          for theme in $(grep -hRo '/etc/plymouth/themes/.*$' ${themesEnv} | xargs -n1 basename); do
+              if [[ -d "${themesEnv}/theme" ]]; then
+                  cp -r "${themesEnv}/theme" $out
+              fi
+          done
+        '';
+
+        # Fonts
+        "/etc/plymouth/fonts".source = pkgs.runCommand "plymouth-initrd-fonts" {} ''
+          mkdir -p $out
+          cp ${cfg.font} $out
+        '';
+        "/etc/fonts/fonts.conf".text = ''
+          <?xml version="1.0"?>
+          <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+          <fontconfig>
+              <dir>/etc/plymouth/fonts</dir>
+          </fontconfig>
+        '';
+      };
+      # Properly enable units. These are the units that arch copies
+      services = {
+        plymouth-halt.wantedBy = [ "halt.target" ];
+        plymouth-kexec.wantedBy = [ "kexec.target" ];
+        plymouth-poweroff.wantedBy = [ "poweroff.target" ];
+        plymouth-quit-wait.wantedBy = [ "multi-user.target" ];
+        plymouth-quit.wantedBy = [ "multi-user.target" ];
+        plymouth-read-write.wantedBy = [ "sysinit.target" ];
+        plymouth-reboot.wantedBy = [ "reboot.target" ];
+        plymouth-start.wantedBy = [ "initrd-switch-root.target" "sysinit.target" ];
+        plymouth-switch-root-initramfs.wantedBy = [ "halt.target" "kexec.target" "plymouth-switch-root-initramfs.service" "poweroff.target" "reboot.target" ];
+        plymouth-switch-root.wantedBy = [ "initrd-switch-root.target" ];
+      };
+    };
+
+    # Insert required udev rules. We take stage 2 systemd because the udev
+    # rules are only generated when building with logind.
+    boot.initrd.services.udev.packages = [ (pkgs.runCommand "initrd-plymouth-udev-rules" {} ''
+      mkdir -p $out/etc/udev/rules.d
+      cp ${config.systemd.package.out}/lib/udev/rules.d/{70-uaccess,71-seat}.rules $out/etc/udev/rules.d
+      sed -i '/loginctl/d' $out/etc/udev/rules.d/71-seat.rules
+    '') ];
+
+    boot.initrd.extraUtilsCommands = lib.mkIf (!config.boot.initrd.systemd.enable) ''
       copy_bin_and_libs ${plymouth}/bin/plymouth
       copy_bin_and_libs ${plymouth}/bin/plymouthd
 
@@ -198,18 +282,18 @@ in
       EOF
     '';
 
-    boot.initrd.extraUtilsCommandsTest = ''
+    boot.initrd.extraUtilsCommandsTest = mkIf (!config.boot.initrd.enable) ''
       $out/bin/plymouthd --help >/dev/null
       $out/bin/plymouth --help >/dev/null
     '';
 
-    boot.initrd.extraUdevRulesCommands = ''
+    boot.initrd.extraUdevRulesCommands = mkIf (!config.boot.initrd.enable) ''
       cp ${config.systemd.package}/lib/udev/rules.d/{70-uaccess,71-seat}.rules $out
       sed -i '/loginctl/d' $out/71-seat.rules
     '';
 
     # We use `mkAfter` to ensure that LUKS password prompt would be shown earlier than the splash screen.
-    boot.initrd.preLVMCommands = mkAfter ''
+    boot.initrd.preLVMCommands = mkIf (!config.boot.initrd.enable) (mkAfter ''
       mkdir -p /etc/plymouth
       mkdir -p /run/plymouth
       ln -s ${configFile} /etc/plymouth/plymouthd.conf
@@ -221,16 +305,16 @@ in
 
       plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session
       plymouth show-splash
-    '';
+    '');
 
-    boot.initrd.postMountCommands = ''
+    boot.initrd.postMountCommands = mkIf (!config.boot.initrd.enable) ''
       plymouth update-root-fs --new-root-dir="$targetRoot"
     '';
 
     # `mkBefore` to ensure that any custom prompts would be visible.
-    boot.initrd.preFailCommands = mkBefore ''
+    boot.initrd.preFailCommands = mkIf (!config.boot.initrd.enable) (mkBefore ''
       plymouth quit --wait
-    '';
+    '');
 
   };
 
diff --git a/nixos/modules/system/boot/systemd/nspawn.nix b/nixos/modules/system/boot/systemd/nspawn.nix
index bf9995d03cc..da03c60db52 100644
--- a/nixos/modules/system/boot/systemd/nspawn.nix
+++ b/nixos/modules/system/boot/systemd/nspawn.nix
@@ -16,7 +16,7 @@ let
       "LimitNOFILE" "LimitAS" "LimitNPROC" "LimitMEMLOCK" "LimitLOCKS"
       "LimitSIGPENDING" "LimitMSGQUEUE" "LimitNICE" "LimitRTPRIO" "LimitRTTIME"
       "OOMScoreAdjust" "CPUAffinity" "Hostname" "ResolvConf" "Timezone"
-      "LinkJournal"
+      "LinkJournal" "Ephemeral" "AmbientCapability"
     ])
     (assertValueOneOf "Boot" boolValues)
     (assertValueOneOf "ProcessTwo" boolValues)
@@ -26,11 +26,13 @@ let
   checkFiles = checkUnitConfig "Files" [
     (assertOnlyFields [
       "ReadOnly" "Volatile" "Bind" "BindReadOnly" "TemporaryFileSystem"
-      "Overlay" "OverlayReadOnly" "PrivateUsersChown"
+      "Overlay" "OverlayReadOnly" "PrivateUsersChown" "BindUser"
+      "Inaccessible" "PrivateUserOwnership"
     ])
     (assertValueOneOf "ReadOnly" boolValues)
     (assertValueOneOf "Volatile" (boolValues ++ [ "state" ]))
     (assertValueOneOf "PrivateUsersChown" boolValues)
+    (assertValueOneOf "PrivateUserOwnership" [ "off" "chown" "map" "auto" ])
   ];
 
   checkNetwork = checkUnitConfig "Network" [
diff --git a/nixos/modules/tasks/auto-upgrade.nix b/nixos/modules/tasks/auto-upgrade.nix
index d00dc761d6e..21a25cbfa96 100644
--- a/nixos/modules/tasks/auto-upgrade.nix
+++ b/nixos/modules/tasks/auto-upgrade.nix
@@ -190,7 +190,7 @@ in {
         nixos-rebuild = "${config.system.build.nixos-rebuild}/bin/nixos-rebuild";
         date     = "${pkgs.coreutils}/bin/date";
         readlink = "${pkgs.coreutils}/bin/readlink";
-        shutdown = "${pkgs.systemd}/bin/shutdown";
+        shutdown = "${config.systemd.package}/bin/shutdown";
         upgradeFlag = optional (cfg.channel == null) "--upgrade";
       in if cfg.allowReboot then ''
         ${nixos-rebuild} boot ${toString (cfg.flags ++ upgradeFlag)}
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 5eca68798d5..c8bbfe9769b 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -58,6 +58,13 @@ let
   # latter case it makes one last attempt at importing, allowing the system to
   # (eventually) boot even with a degraded pool.
   importLib = {zpoolCmd, awkCmd, cfgZfs}: ''
+    for o in $(cat /proc/cmdline); do
+      case $o in
+        zfs_force|zfs_force=1|zfs_force=y)
+          ZFS_FORCE="-f"
+          ;;
+      esac
+    done
     poolReady() {
       pool="$1"
       state="$("${zpoolCmd}" import 2>/dev/null | "${awkCmd}" "/pool: $pool/ { found = 1 }; /state:/ { if (found == 1) { print \$2; exit } }; END { if (found == 0) { print \"MISSING\" } }")"
@@ -78,6 +85,95 @@ let
     }
   '';
 
+  getPoolFilesystems = pool:
+    filter (x: x.fsType == "zfs" && (fsToPool x) == pool) config.system.build.fileSystems;
+
+  getPoolMounts = prefix: pool:
+    let
+      # Remove the "/" suffix because even though most mountpoints
+      # won't have it, the "/" mountpoint will, and we can't have the
+      # trailing slash in "/sysroot/" in stage 1.
+      mountPoint = fs: escapeSystemdPath (prefix + (lib.removeSuffix "/" fs.mountPoint));
+    in
+      map (x: "${mountPoint x}.mount") (getPoolFilesystems pool);
+
+  getKeyLocations = pool:
+    if isBool cfgZfs.requestEncryptionCredentials
+    then "${cfgZfs.package}/sbin/zfs list -rHo name,keylocation,keystatus ${pool}"
+    else "${cfgZfs.package}/sbin/zfs list -Ho name,keylocation,keystatus ${toString (filter (x: datasetToPool x == pool) cfgZfs.requestEncryptionCredentials)}";
+
+  createImportService = { pool, systemd, force, prefix ? "" }:
+    nameValuePair "zfs-import-${pool}" {
+      description = "Import ZFS pool \"${pool}\"";
+      # we need systemd-udev-settle to ensure devices are available
+      # In the future, hopefully someone will complete this:
+      # https://github.com/zfsonlinux/zfs/pull/4943
+      requires = [ "systemd-udev-settle.service" ];
+      after = [
+        "systemd-udev-settle.service"
+        "systemd-modules-load.service"
+        "systemd-ask-password-console.service"
+      ];
+      wantedBy = (getPoolMounts prefix pool) ++ [ "local-fs.target" ];
+      before = (getPoolMounts prefix pool) ++ [ "local-fs.target" ];
+      unitConfig = {
+        DefaultDependencies = "no";
+      };
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+      };
+      environment.ZFS_FORCE = optionalString force "-f";
+      script = (importLib {
+        # See comments at importLib definition.
+        zpoolCmd = "${cfgZfs.package}/sbin/zpool";
+        awkCmd = "${pkgs.gawk}/bin/awk";
+        inherit cfgZfs;
+      }) + ''
+        poolImported "${pool}" && exit
+        echo -n "importing ZFS pool \"${pool}\"..."
+        # Loop across the import until it succeeds, because the devices needed may not be discovered yet.
+        for trial in `seq 1 60`; do
+          poolReady "${pool}" && poolImport "${pool}" && break
+          sleep 1
+        done
+        poolImported "${pool}" || poolImport "${pool}"  # Try one last time, e.g. to import a degraded pool.
+        if poolImported "${pool}"; then
+          ${optionalString (if isBool cfgZfs.requestEncryptionCredentials
+                            then cfgZfs.requestEncryptionCredentials
+                            else cfgZfs.requestEncryptionCredentials != []) ''
+            ${getKeyLocations pool} | while IFS=$'\t' read ds kl ks; do
+              {
+              if [[ "$ks" != unavailable ]]; then
+                continue
+              fi
+              case "$kl" in
+                none )
+                  ;;
+                prompt )
+                  tries=3
+                  success=false
+                  while [[ $success != true ]] && [[ $tries -gt 0 ]]; do
+                    ${systemd}/bin/systemd-ask-password "Enter key for $ds:" | ${cfgZfs.package}/sbin/zfs load-key "$ds" \
+                      && success=true \
+                      || tries=$((tries - 1))
+                  done
+                  [[ $success = true ]]
+                  ;;
+                * )
+                  ${cfgZfs.package}/sbin/zfs load-key "$ds"
+                  ;;
+              esac
+              } < /dev/null # To protect while read ds kl in case anything reads stdin
+            done
+          ''}
+          echo "Successfully imported ${pool}"
+        else
+          exit 1
+        fi
+      '';
+    };
+
   zedConf = generators.toKeyValue {
     mkKeyValue = generators.mkKeyValueDefault {
       mkValueString = v:
@@ -428,14 +524,6 @@ in
           '';
         postDeviceCommands = concatStringsSep "\n" ([''
             ZFS_FORCE="${optionalString cfgZfs.forceImportRoot "-f"}"
-
-            for o in $(cat /proc/cmdline); do
-              case $o in
-                zfs_force|zfs_force=1)
-                  ZFS_FORCE="-f"
-                  ;;
-              esac
-            done
           ''] ++ [(importLib {
             # See comments at importLib definition.
             zpoolCmd = "zpool";
@@ -464,6 +552,21 @@ in
                 zfs load-key ${fs}
               '') cfgZfs.requestEncryptionCredentials}
         '') rootPools));
+
+        # Systemd in stage 1
+        systemd = {
+          packages = [cfgZfs.package];
+          services = listToAttrs (map (pool: createImportService {
+            inherit pool;
+            systemd = config.boot.initrd.systemd.package;
+            force = cfgZfs.forceImportRoot;
+            prefix = "/sysroot";
+          }) rootPools);
+          extraBin = {
+            # zpool and zfs are already in thanks to fsPackages
+            awk = "${pkgs.gawk}/bin/awk";
+          };
+        };
       };
 
       systemd.shutdownRamfs.contents."/etc/systemd/system-shutdown/zpool".source = pkgs.writeShellScript "zpool-sync-shutdown" ''
@@ -521,79 +624,11 @@ in
       systemd.packages = [ cfgZfs.package ];
 
       systemd.services = let
-        getPoolFilesystems = pool:
-          filter (x: x.fsType == "zfs" && (fsToPool x) == pool) config.system.build.fileSystems;
-
-        getPoolMounts = pool:
-          let
-            mountPoint = fs: escapeSystemdPath fs.mountPoint;
-          in
-            map (x: "${mountPoint x}.mount") (getPoolFilesystems pool);
-
-        createImportService = pool:
-          nameValuePair "zfs-import-${pool}" {
-            description = "Import ZFS pool \"${pool}\"";
-            # we need systemd-udev-settle until https://github.com/zfsonlinux/zfs/pull/4943 is merged
-            requires = [ "systemd-udev-settle.service" ];
-            after = [
-              "systemd-udev-settle.service"
-              "systemd-modules-load.service"
-              "systemd-ask-password-console.service"
-            ];
-            wantedBy = (getPoolMounts pool) ++ [ "local-fs.target" ];
-            before = (getPoolMounts pool) ++ [ "local-fs.target" ];
-            unitConfig = {
-              DefaultDependencies = "no";
-            };
-            serviceConfig = {
-              Type = "oneshot";
-              RemainAfterExit = true;
-            };
-            environment.ZFS_FORCE = optionalString cfgZfs.forceImportAll "-f";
-            script = (importLib {
-              # See comments at importLib definition.
-              zpoolCmd = "${cfgZfs.package}/sbin/zpool";
-              awkCmd = "${pkgs.gawk}/bin/awk";
-              inherit cfgZfs;
-            }) + ''
-              poolImported "${pool}" && exit
-              echo -n "importing ZFS pool \"${pool}\"..."
-              # Loop across the import until it succeeds, because the devices needed may not be discovered yet.
-              for trial in `seq 1 60`; do
-                poolReady "${pool}" && poolImport "${pool}" && break
-                sleep 1
-              done
-              poolImported "${pool}" || poolImport "${pool}"  # Try one last time, e.g. to import a degraded pool.
-              if poolImported "${pool}"; then
-                ${optionalString (if isBool cfgZfs.requestEncryptionCredentials
-                                  then cfgZfs.requestEncryptionCredentials
-                                  else cfgZfs.requestEncryptionCredentials != []) ''
-                  ${cfgZfs.package}/sbin/zfs list -rHo name,keylocation ${pool} | while IFS=$'\t' read ds kl; do
-                    {
-                      ${optionalString (!isBool cfgZfs.requestEncryptionCredentials) ''
-                         if ! echo '${concatStringsSep "\n" cfgZfs.requestEncryptionCredentials}' | grep -qFx "$ds"; then
-                           continue
-                         fi
-                       ''}
-                    case "$kl" in
-                      none )
-                        ;;
-                      prompt )
-                        ${config.systemd.package}/bin/systemd-ask-password "Enter key for $ds:" | ${cfgZfs.package}/sbin/zfs load-key "$ds"
-                        ;;
-                      * )
-                        ${cfgZfs.package}/sbin/zfs load-key "$ds"
-                        ;;
-                    esac
-                    } < /dev/null # To protect while read ds kl in case anything reads stdin
-                  done
-                ''}
-                echo "Successfully imported ${pool}"
-              else
-                exit 1
-              fi
-            '';
-          };
+        createImportService' = pool: createImportService {
+          inherit pool;
+          systemd = config.systemd.package;
+          force = cfgZfs.forceImportAll;
+        };
 
         # This forces a sync of any ZFS pools prior to poweroff, even if they're set
         # to sync=disabled.
@@ -619,7 +654,7 @@ in
             wantedBy = [ "zfs.target" ];
           };
 
-      in listToAttrs (map createImportService dataPools ++
+      in listToAttrs (map createImportService' dataPools ++
                       map createSyncService allPools ++
                       map createZfsService [ "zfs-mount" "zfs-share" "zfs-zed" ]);
 
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index 8654539b662..110e84494a3 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -43,12 +43,6 @@ in
     } {
       assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null;
       message = "networking.defaultGateway6.interface is not supported by networkd.";
-    } {
-      assertion = cfg.useDHCP == false;
-      message = ''
-        networking.useDHCP is not supported by networkd.
-        Please use per interface configuration and set the global option to false.
-      '';
     } ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
       assertion = !rstp;
       message = "networking.bridges.${n}.rstp is not supported by networkd.";
@@ -80,6 +74,42 @@ in
       in mkMerge [ {
         enable = true;
       }
+      (mkIf cfg.useDHCP {
+        networks."99-ethernet-default-dhcp" = lib.mkIf cfg.useDHCP {
+          # We want to match physical ethernet interfaces as commonly
+          # found on laptops, desktops and servers, to provide an
+          # "out-of-the-box" setup that works for common cases.  This
+          # heuristic isn't perfect (it could match interfaces with
+          # custom names that _happen_ to start with en or eth), but
+          # should be good enough to make the common case easy and can
+          # be overridden on a case-by-case basis using
+          # higher-priority networks or by disabling useDHCP.
+
+          # Type=ether matches veth interfaces as well, and this is
+          # more likely to result in interfaces being configured to
+          # use DHCP when they shouldn't.
+
+          # We set RequiredForOnline to false, because it's fairly
+          # common for such devices to have multiple interfaces and
+          # only one of them to be connected (e.g. a laptop with
+          # ethernet and WiFi interfaces). Maybe one day networkd will
+          # support "any"-style RequiredForOnline...
+          matchConfig.Name = ["en*" "eth*"];
+          DHCP = "yes";
+          linkConfig.RequiredForOnline = lib.mkDefault false;
+        };
+        networks."99-wireless-client-dhcp" = lib.mkIf cfg.useDHCP {
+          # Like above, but this is much more likely to be correct.
+          matchConfig.WLANInterfaceType = "station";
+          DHCP = "yes";
+          linkConfig.RequiredForOnline = lib.mkDefault false;
+          # We also set the route metric to one more than the default
+          # of 1024, so that Ethernet is preferred if both are
+          # available.
+          dhcpV4Config.RouteMetric = 1025;
+          ipv6AcceptRAConfig.RouteMetric = 1025;
+        };
+      })
       (mkMerge (forEach interfaces (i: {
         netdevs = mkIf i.virtual ({
           "40-${i.name}" = {
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index d09e9b99248..d56159f1596 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -1254,11 +1254,6 @@ in
         Whether to use DHCP to obtain an IP address and other
         configuration for all network interfaces that are not manually
         configured.
-
-        Using this option is highly discouraged and also incompatible with
-        <option>networking.useNetworkd</option>. Please use
-        <option>networking.interfaces.&lt;name&gt;.useDHCP</option> instead
-        and set this to false.
       '';
     };
 
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index 81541477b9e..4ab2578eb81 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -129,6 +129,9 @@ in
     # Make sure we use the Guest Agent from the QEMU package for testing
     # to reduce the closure size required for the tests.
     services.qemuGuest.package = pkgs.qemu_test.ga;
+
+    # Squelch warning about unset system.stateVersion
+    system.stateVersion = lib.mkDefault lib.trivial.release;
   };
 
 }
diff --git a/nixos/modules/virtualisation/amazon-init.nix b/nixos/modules/virtualisation/amazon-init.nix
index 4f2f8df90eb..9c2adb90bfd 100644
--- a/nixos/modules/virtualisation/amazon-init.nix
+++ b/nixos/modules/virtualisation/amazon-init.nix
@@ -11,7 +11,7 @@ let
     echo "attempting to fetch configuration from EC2 user data..."
 
     export HOME=/root
-    export PATH=${pkgs.lib.makeBinPath [ config.nix.package pkgs.systemd pkgs.gnugrep pkgs.git pkgs.gnutar pkgs.gzip pkgs.gnused pkgs.xz config.system.build.nixos-rebuild]}:$PATH
+    export PATH=${pkgs.lib.makeBinPath [ config.nix.package config.systemd.package pkgs.gnugrep pkgs.git pkgs.gnutar pkgs.gzip pkgs.gnused pkgs.xz config.system.build.nixos-rebuild]}:$PATH
     export NIX_PATH=nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:nixos-config=/etc/nixos/configuration.nix:/nix/var/nix/profiles/per-user/root/channels
 
     userData=/etc/ec2-metadata/user-data
diff --git a/nixos/modules/virtualisation/digital-ocean-init.nix b/nixos/modules/virtualisation/digital-ocean-init.nix
index 4339d91de16..df30104b7d7 100644
--- a/nixos/modules/virtualisation/digital-ocean-init.nix
+++ b/nixos/modules/virtualisation/digital-ocean-init.nix
@@ -46,7 +46,7 @@ in {
         RemainAfterExit = true;
       };
       restartIfChanged = false;
-      path = [ pkgs.jq pkgs.gnused pkgs.gnugrep pkgs.systemd config.nix.package config.system.build.nixos-rebuild ];
+      path = [ pkgs.jq pkgs.gnused pkgs.gnugrep config.systemd.package config.nix.package config.system.build.nixos-rebuild ];
       environment = {
         HOME = "/root";
         NIX_PATH = concatStringsSep ":" [
diff --git a/nixos/modules/virtualisation/proxmox-lxc.nix b/nixos/modules/virtualisation/proxmox-lxc.nix
index 3913b474afb..9b9f99e5b81 100644
--- a/nixos/modules/virtualisation/proxmox-lxc.nix
+++ b/nixos/modules/virtualisation/proxmox-lxc.nix
@@ -20,6 +20,15 @@ with lib;
         configuration from proxmox.
       '';
     };
+    manageHostName = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to manage hostname through nix options
+        When false, the hostname is picked up from /etc/hostname
+        populated by proxmox.
+      '';
+    };
   };
 
   config =
@@ -50,6 +59,8 @@ with lib;
         useDHCP = false;
         useHostResolvConf = false;
         useNetworkd = true;
+        # pick up hostname from /etc/hostname generated by proxmox
+        hostName = mkIf (!cfg.manageHostName) (mkForce "");
       };
 
       services.openssh = {
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index dda1c41f969..0c085b64efa 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -253,6 +253,7 @@ in
   k3s-single-node = handleTest ./k3s-single-node.nix {};
   k3s-single-node-docker = handleTest ./k3s-single-node-docker.nix {};
   kafka = handleTest ./kafka.nix {};
+  kanidm = handleTest ./kanidm.nix {};
   kbd-setfont-decompress = handleTest ./kbd-setfont-decompress.nix {};
   kbd-update-search-paths-patch = handleTest ./kbd-update-search-paths-patch.nix {};
   kea = handleTest ./kea.nix {};
diff --git a/nixos/tests/installed-tests/default.nix b/nixos/tests/installed-tests/default.nix
index fd16b481168..c6fb37cfe58 100644
--- a/nixos/tests/installed-tests/default.nix
+++ b/nixos/tests/installed-tests/default.nix
@@ -106,6 +106,5 @@ in
   malcontent = callInstalledTest ./malcontent.nix {};
   ostree = callInstalledTest ./ostree.nix {};
   pipewire = callInstalledTest ./pipewire.nix {};
-  power-profiles-daemon = callInstalledTest ./power-profiles-daemon.nix {};
   xdg-desktop-portal = callInstalledTest ./xdg-desktop-portal.nix {};
 }
diff --git a/nixos/tests/installed-tests/power-profiles-daemon.nix b/nixos/tests/installed-tests/power-profiles-daemon.nix
deleted file mode 100644
index 43629a0155d..00000000000
--- a/nixos/tests/installed-tests/power-profiles-daemon.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ pkgs, lib, makeInstalledTest, ... }:
-
-makeInstalledTest {
-  tested = pkgs.power-profiles-daemon;
-
-  testConfig = {
-    services.power-profiles-daemon.enable = true;
-  };
-}
diff --git a/nixos/tests/installer-systemd-stage-1.nix b/nixos/tests/installer-systemd-stage-1.nix
index a8b418626e6..d02387ee80e 100644
--- a/nixos/tests/installer-systemd-stage-1.nix
+++ b/nixos/tests/installer-systemd-stage-1.nix
@@ -27,7 +27,7 @@
     simpleUefiGrubSpecialisation
     simpleUefiSystemdBoot
     # swraid
-    # zfsroot
+    zfsroot
     ;
 
 }
diff --git a/nixos/tests/kanidm.nix b/nixos/tests/kanidm.nix
new file mode 100644
index 00000000000..d34f680f522
--- /dev/null
+++ b/nixos/tests/kanidm.nix
@@ -0,0 +1,75 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+  let
+    certs = import ./common/acme/server/snakeoil-certs.nix;
+    serverDomain = certs.domain;
+  in
+  {
+    name = "kanidm";
+    meta.maintainers = with pkgs.lib.maintainers; [ erictapen Flakebi ];
+
+    nodes.server = { config, pkgs, lib, ... }: {
+      services.kanidm = {
+        enableServer = true;
+        serverSettings = {
+          origin = "https://${serverDomain}";
+          domain = serverDomain;
+          bindaddress = "[::1]:8443";
+          ldapbindaddress = "[::1]:636";
+        };
+      };
+
+      services.nginx = {
+        enable = true;
+        recommendedProxySettings = true;
+        virtualHosts."${serverDomain}" = {
+          forceSSL = true;
+          sslCertificate = certs."${serverDomain}".cert;
+          sslCertificateKey = certs."${serverDomain}".key;
+          locations."/".proxyPass = "http://[::1]:8443";
+        };
+      };
+
+      security.pki.certificateFiles = [ certs.ca.cert ];
+
+      networking.hosts."::1" = [ serverDomain ];
+      networking.firewall.allowedTCPPorts = [ 80 443 ];
+
+      users.users.kanidm.shell = pkgs.bashInteractive;
+
+      environment.systemPackages = with pkgs; [ kanidm openldap ripgrep ];
+    };
+
+    nodes.client = { pkgs, nodes, ... }: {
+      services.kanidm = {
+        enableClient = true;
+        clientSettings = {
+          uri = "https://${serverDomain}";
+        };
+      };
+
+      networking.hosts."${nodes.server.config.networking.primaryIPAddress}" = [ serverDomain ];
+
+      security.pki.certificateFiles = [ certs.ca.cert ];
+    };
+
+    testScript = { nodes, ... }:
+      let
+        ldapBaseDN = builtins.concatStringsSep "," (map (s: "dc=" + s) (pkgs.lib.splitString "." serverDomain));
+
+        # We need access to the config file in the test script.
+        filteredConfig = pkgs.lib.converge
+          (pkgs.lib.filterAttrsRecursive (_: v: v != null))
+          nodes.server.config.services.kanidm.serverSettings;
+        serverConfigFile = (pkgs.formats.toml { }).generate "server.toml" filteredConfig;
+
+      in
+      ''
+        start_all()
+        server.wait_for_unit("kanidm.service")
+        server.wait_until_succeeds("curl -sf https://${serverDomain} | grep Kanidm")
+        server.wait_until_succeeds("ldapsearch -H ldap://[::1]:636 -b '${ldapBaseDN}' -x '(name=test)'")
+        client.wait_until_succeeds("kanidm login -D anonymous && kanidm self whoami | grep anonymous@${serverDomain}")
+        (rv, result) = server.execute("kanidmd recover_account -d quiet -c ${serverConfigFile} -n admin 2>&1 | rg -o '[A-Za-z0-9]{48}'")
+        assert rv == 0
+      '';
+  })
diff --git a/nixos/tests/kernel-generic.nix b/nixos/tests/kernel-generic.nix
index f34d5d60794..1e60198abdd 100644
--- a/nixos/tests/kernel-generic.nix
+++ b/nixos/tests/kernel-generic.nix
@@ -30,6 +30,7 @@ let
       linux_5_4_hardened
       linux_5_10_hardened
       linux_5_15_hardened
+      linux_5_17_hardened
 
       linux_testing;
   };
diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix
index a1150097a09..2cc1e9b0942 100644
--- a/nixos/tests/networking.nix
+++ b/nixos/tests/networking.nix
@@ -139,6 +139,26 @@ let
               client.wait_until_succeeds("ping -c 1 192.168.3.1")
         '';
     };
+    dhcpDefault = {
+      name = "useDHCP-by-default";
+      nodes.router = router;
+      nodes.client = { lib, ... }: {
+        # Disable test driver default config
+        networking.interfaces = lib.mkForce {};
+        networking.useNetworkd = networkd;
+        virtualisation.vlans = [ 1 ];
+      };
+      testScript = ''
+        start_all()
+        client.wait_for_unit("multi-user.target")
+        client.wait_until_succeeds("ip addr show dev eth1 | grep '192.168.1'")
+        client.shell_interact()
+        client.succeed("ping -c 1 192.168.1.1")
+        router.succeed("ping -c 1 192.168.1.1")
+        router.succeed("ping -c 1 192.168.1.2")
+        client.succeed("ping -c 1 192.168.1.2")
+      '';
+    };
     dhcpSimple = {
       name = "SimpleDHCP";
       nodes.router = router;
diff --git a/nixos/tests/pleroma.nix b/nixos/tests/pleroma.nix
index 90a9a251104..8998716243a 100644
--- a/nixos/tests/pleroma.nix
+++ b/nixos/tests/pleroma.nix
@@ -158,7 +158,9 @@ import ./make-test-python.nix ({ pkgs, ... }:
 
     # Waiting for pleroma to be up.
     timeout 5m bash -c 'while [[ "$(curl -s -o /dev/null -w '%{http_code}' https://pleroma.nixos.test/api/v1/instance)" != "200" ]]; do sleep 2; done'
-    pleroma_ctl user new jamy jamy@nixos.test --password 'jamy-password' --moderator --admin -y
+    # Toremove the RELEASE_COOKIE bit when https://github.com/NixOS/nixpkgs/issues/166229 gets fixed.
+    RELEASE_COOKIE="/var/lib/pleroma/.cookie" \
+      pleroma_ctl user new jamy jamy@nixos.test --password 'jamy-password' --moderator --admin -y
   '';
 
   tls-cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
diff --git a/nixos/tests/systemd-nspawn.nix b/nixos/tests/systemd-nspawn.nix
index 5bf55060d2e..c2cb92d1130 100644
--- a/nixos/tests/systemd-nspawn.nix
+++ b/nixos/tests/systemd-nspawn.nix
@@ -25,8 +25,15 @@ let
   nspawnImages = (pkgs.runCommand "localhost" { buildInputs = [ pkgs.coreutils pkgs.gnupg ]; } ''
     mkdir -p $out
     cd $out
+
+    # produce a testimage.raw
     dd if=/dev/urandom of=$out/testimage.raw bs=$((1024*1024+7)) count=5
-    sha256sum testimage.raw > SHA256SUMS
+
+    # produce a testimage2.tar.xz, containing the hello store path
+    tar cvJpf testimage2.tar.xz ${pkgs.hello}
+
+    # produce signature(s)
+    sha256sum testimage* > SHA256SUMS
     export GNUPGHOME="$(mktemp -d)"
     cp -R ${gpgKeyring}/* $GNUPGHOME
     gpg --batch --sign --detach-sign --output SHA256SUMS.gpg SHA256SUMS
@@ -56,5 +63,9 @@ in {
     client.succeed(
         "cmp /var/lib/machines/testimage.raw ${nspawnImages}/testimage.raw"
     )
+    client.succeed("machinectl pull-tar --verify=signature http://server/testimage2.tar.xz")
+    client.succeed(
+        "cmp /var/lib/machines/testimage2/${pkgs.hello}/bin/hello ${pkgs.hello}/bin/hello"
+    )
   '';
 })
diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix
index 27093aab96e..4eb402a7d36 100644
--- a/nixos/tests/virtualbox.nix
+++ b/nixos/tests/virtualbox.nix
@@ -222,7 +222,7 @@ let
               machine.execute(ru("VBoxManage controlvm ${name} poweroff"))
           machine.succeed("rm -rf ${sharePath}")
           machine.succeed("mkdir -p ${sharePath}")
-          machine.succeed("chown alice.users ${sharePath}")
+          machine.succeed("chown alice:users ${sharePath}")
 
 
       def create_vm_${name}():
diff --git a/pkgs/applications/audio/airwindows-lv2/default.nix b/pkgs/applications/audio/airwindows-lv2/default.nix
new file mode 100644
index 00000000000..c3cc1a21ffc
--- /dev/null
+++ b/pkgs/applications/audio/airwindows-lv2/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, lv2 }:
+
+stdenv.mkDerivation rec {
+  pname = "airwindows-lv2";
+  version = "1.0";
+  src = fetchFromGitHub {
+    owner = "hannesbraun";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-xokV4Af0evdo73D9JObzAmY1wD0aUyXiI0Z7BUN0m+M=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ lv2 ];
+
+  cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/lib/lv2" ];
+
+  meta = with lib; {
+    description = "Airwindows plugins (ported to LV2)";
+    homepage = "https://github.com/hannesbraun/airwindows-lv2";
+    license = licenses.mit;
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/audio/amberol/default.nix b/pkgs/applications/audio/amberol/default.nix
index f1da043d598..e337af93ec1 100644
--- a/pkgs/applications/audio/amberol/default.nix
+++ b/pkgs/applications/audio/amberol/default.nix
@@ -8,6 +8,7 @@
 , ninja
 , pkg-config
 , reuse
+, m4
 , wrapGAppsHook4
 , glib
 , gtk4
@@ -18,20 +19,20 @@
 
 stdenv.mkDerivation rec {
   pname = "amberol";
-  version = "0.4.3";
+  version = "0.6.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = pname;
     rev = version;
-    sha256 = "sha256-4yW7rVlP9Zskyt4l/VQoX+9q3TUdEuLZrNQuQvziIf4=";
+    hash = "sha256-7cwoP2Dvlrq44orckhCjFGrSVDuG8WdW8wbpAjD5zhI=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "sha256-1ahEWLBmkT+B8qD0Qd1skXqk1wvP6yuFNAQBRdispC4=";
+    hash = "sha256-CGPDaVS8F7H/tH0lRjFloWmZmW8NHheyZRCCqEavWeo=";
   };
 
   postPatch = ''
@@ -45,6 +46,7 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     reuse
+    m4
     wrapGAppsHook4
   ] ++ (with rustPlatform; [
     cargoSetupHook
diff --git a/pkgs/applications/audio/cdparanoia/configure.patch b/pkgs/applications/audio/cdparanoia/configure.patch
new file mode 100644
index 00000000000..81c50cec814
--- /dev/null
+++ b/pkgs/applications/audio/cdparanoia/configure.patch
@@ -0,0 +1,22 @@
+diff --git a/configure.in b/configure.ac
+similarity index 90%
+rename from configure.in
+rename to configure.ac
+index 3ad98ca11da..8fad378faf4 100644
+--- a/configure.in
++++ b/configure.ac
+@@ -1,13 +1,8 @@
+ AC_INIT(interface/interface.c)
+ 
+-cp $srcdir/configure.guess $srcdir/config.guess
+-cp $srcdir/configure.sub $srcdir/config.sub
+-
+ AC_CANONICAL_HOST
+ 
+-if test -z "$CC"; then
+-	AC_PROG_CC	
+-fi
++AC_PROG_CC
+ AC_PROG_RANLIB
+ AC_CHECK_PROG(AR,ar,ar)
+ AC_CHECK_PROG(INSTALL,install,install)
diff --git a/pkgs/applications/audio/cdparanoia/default.nix b/pkgs/applications/audio/cdparanoia/default.nix
index 10ff66de77e..7f699b82aef 100644
--- a/pkgs/applications/audio/cdparanoia/default.nix
+++ b/pkgs/applications/audio/cdparanoia/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl, gnu-config, IOKit, Carbon }:
+{ lib, stdenv, fetchurl, fetchpatch
+, updateAutotoolsGnuConfigScriptsHook, autoreconfHook
+, IOKit, Carbon
+}:
 
 stdenv.mkDerivation rec {
   pname = "cdparanoia-III";
@@ -10,16 +13,29 @@ stdenv.mkDerivation rec {
   };
 
   patches = lib.optionals stdenv.isDarwin [
-    (fetchurl {
+    (fetchpatch {
       url = "https://trac.macports.org/export/70964/trunk/dports/audio/cdparanoia/files/osx_interface.patch";
-      sha256 = "1n86kzm2ssl8fdf5wlhp6ncb2bf6b9xlb5vg0mhc85r69prqzjiy";
+      sha256 = "0hq3lvfr0h1m3p0r33jij0s1aspiqlpy533rwv19zrfllb39qvr8";
+      # Our configure patch will subsume it, but we want our configure
+      # patch to be used on all platforms so we cannot just start where
+      # this leaves off.
+      excludes = [ "configure.in" ];
     })
     (fetchurl {
       url = "https://trac.macports.org/export/70964/trunk/dports/audio/cdparanoia/files/patch-paranoia_paranoia.c.10.4.diff";
       sha256 = "17l2qhn8sh4jy6ryy5si6ll6dndcm0r537rlmk4a6a8vkn852vad";
     })
-    ] ++ lib.optional stdenv.hostPlatform.isMusl ./utils.patch
-    ++ [./fix_private_keyword.patch];
+  ] ++ [
+    # Has to come after darwin patches
+    ./fix_private_keyword.patch
+    # Order does not matter
+    ./configure.patch
+  ] ++ lib.optional stdenv.hostPlatform.isMusl ./utils.patch;
+
+  nativeBuildInputs = [
+    updateAutotoolsGnuConfigScriptsHook
+    autoreconfHook
+  ];
 
   propagatedBuildInputs = lib.optionals stdenv.isDarwin [
     Carbon
@@ -28,13 +44,6 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  preConfigure = ''
-    unset CC
-  '' + lib.optionalString (!stdenv.hostPlatform.isx86) ''
-    cp ${gnu-config}/config.sub configure.sub
-    cp ${gnu-config}/config.guess configure.guess
-  '';
-
   # Build system reuses the same object file names for shared and static
   # library. Occasionally fails in the middle:
   #    gcc -O2 -fsigned-char -g -O2 -c scan_devices.c
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index 828c415ac5f..1e55dbe8f87 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ buildPackages.stdenv.cc pkg-config cmake ];
 
-  buildInputs = [ glib libsndfile libpulseaudio libjack2 ]
-    ++ lib.optionals stdenv.isLinux [ alsa-lib ]
+  buildInputs = [ glib libsndfile libjack2 ]
+    ++ lib.optionals stdenv.isLinux [ alsa-lib libpulseaudio ]
     ++ lib.optionals stdenv.isDarwin [ AudioUnit CoreAudio CoreMIDI CoreServices ];
 
   cmakeFlags = [ "-Denable-framework=off" ];
diff --git a/pkgs/applications/audio/monkeys-audio/default.nix b/pkgs/applications/audio/monkeys-audio/default.nix
index 62b63f7e1ca..05647af2201 100644
--- a/pkgs/applications/audio/monkeys-audio/default.nix
+++ b/pkgs/applications/audio/monkeys-audio/default.nix
@@ -1,12 +1,22 @@
-{lib, stdenv, fetchurl}:
+{lib, gcc10Stdenv, fetchurl}:
 
-stdenv.mkDerivation rec {
+gcc10Stdenv.mkDerivation rec {
   version = "3.99-u4-b5";
-  pname = "monkeys-audio";
+  pname = "monkeys-audio-old";
 
   patches = [ ./buildfix.diff ];
 
   src = fetchurl {
+    /*
+    The real homepage is <https://monkeysaudio.com/>, but in fact we are
+    getting an old, ported to Linux version of the sources, made by (quoting
+    from the AUTHORS file found in the source):
+
+    Frank Klemm : First port to linux (with makefile)
+
+    SuperMMX <SuperMMX AT GMail DOT com> : Package the source, include the frontend and shared lib,
+         porting to Big Endian platform and adding other non-win32 enhancement.
+    */
     url = "https://deb-multimedia.org/pool/main/m/${pname}/${pname}_${version}.orig.tar.gz";
     sha256 = "0kjfwzfxfx7f958b2b1kf8yj655lp0ppmn0sh57gbkjvj8lml7nz";
   };
@@ -14,7 +24,10 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Lossless audio codec";
     platforms = platforms.linux;
-    license = licenses.lgpl2;
+    # This is not considered a GPL license, but it seems rather free although
+    # it's not standard, see a quote of it:
+    # https://github.com/NixOS/nixpkgs/pull/171682#issuecomment-1120260551
+    license = licenses.free;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix
index 2f35f1fe65c..0ba86567c7c 100644
--- a/pkgs/applications/audio/rhythmbox/default.nix
+++ b/pkgs/applications/audio/rhythmbox/default.nix
@@ -1,17 +1,30 @@
-{ lib, stdenv, fetchurl, pkg-config, fetchFromGitLab
+{ stdenv
+, lib
+, fetchurl
+, fetchpatch
+, pkg-config
+, meson
+, ninja
+, fetchFromGitLab
 , python3
-, perl
-, perlPackages
+, vala
+, glib
 , gtk3
-, intltool
 , libpeas
 , libsoup
+, libxml2
 , libsecret
 , libnotify
 , libdmapsharing
 , gnome
 , gobject-introspection
 , totem-pl-parser
+, libgudev
+, libgpod
+, libmtp
+, lirc
+, brasero
+, grilo
 , tdb
 , json-glib
 , itstool
@@ -19,38 +32,32 @@
 , gst_all_1
 , gst_plugins ? with gst_all_1; [ gst-plugins-good gst-plugins-ugly ]
 }:
-let
 
-  # The API version of libdmapsharing required by rhythmbox 3.4.4 is 3.0.
-
-  # This PR would solve the issue:
-  # https://gitlab.gnome.org/GNOME/rhythmbox/-/merge_requests/12
-  # Unfortunately applying this patch produces a rhythmbox which
-  # cannot fetch data from DAAP shares.
-
-  libdmapsharing_3 = libdmapsharing.overrideAttrs (old: rec {
-    version = "2.9.41";
-    src = fetchFromGitLab {
-      domain = "gitlab.gnome.org";
-      owner = "GNOME";
-      repo = old.pname;
-      rev = "${lib.toUpper old.pname}_${lib.replaceStrings ["."] ["_"] version}";
-      sha256 = "05kvrzf0cp3mskdy6iv7zqq24qdczl800q2dn1h4bk3d9wchgm4p";
-    };
-  });
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "rhythmbox";
-  version = "3.4.4";
+  version = "3.4.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf";
+    sha256 = "l+u8YPN4sibaRbtEbYmQL26hgx4j8Q76ujZVk7HnTyo=";
   };
 
+  patches = [
+    # Fix stuff linking against rhythmdb not finding libxml headers
+    # included by rhythmdb.h header.
+    # https://gitlab.gnome.org/GNOME/rhythmbox/-/merge_requests/147
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/rhythmbox/-/commit/7e8c7b803a45b7badf350132f8e78e3d75b99a21.patch";
+      sha256 = "5CE/NVlmx7FItNJCVQxx+x0DCYhUkAi/UuksfAiyWBg=";
+    })
+  ];
+
   nativeBuildInputs = [
     pkg-config
-    intltool perl perlPackages.XMLParser
+    meson
+    ninja
+    vala
+    glib
     itstool
     wrapGAppsHook
   ];
@@ -58,13 +65,20 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     python3
     libsoup
+    libxml2
     tdb
     json-glib
 
+    glib
     gtk3
     libpeas
     totem-pl-parser
-    gnome.adwaita-icon-theme
+    libgudev
+    libgpod
+    libmtp
+    lirc
+    brasero
+    grilo
 
     gobject-introspection
     python3.pkgs.pygobject3
@@ -76,16 +90,14 @@ in stdenv.mkDerivation rec {
     gst_all_1.gst-plugins-ugly
     gst_all_1.gst-libav
 
-    libdmapsharing_3 # necessary for daap support
+    libdmapsharing # for daap support
     libsecret
     libnotify
   ] ++ gst_plugins;
 
-  configureFlags = [
-    "--enable-daap"
-    "--enable-libnotify"
-    "--with-libsecret"
-  ];
+  postInstall = ''
+    glib-compile-schemas "$out/share/glib-2.0/schemas"
+  '';
 
   preFixup = ''
     gappsWrapperArgs+=(
@@ -93,8 +105,6 @@ in stdenv.mkDerivation rec {
     )
   '';
 
-  enableParallelBuilding = true;
-
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/applications/editors/deadpixi-sam/default.nix b/pkgs/applications/editors/deadpixi-sam/default.nix
index 3f84666fe02..4321119156e 100644
--- a/pkgs/applications/editors/deadpixi-sam/default.nix
+++ b/pkgs/applications/editors/deadpixi-sam/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace config.mk.def \
       --replace "/usr/include/freetype2" "${freetype.dev}/include/freetype2" \
-      --replace "CC=gcc" "CC=${stdenv.cc.targetPrefix}cc"
+      --replace "CC=gcc" "CC=${stdenv.cc.targetPrefix}cc" \
+      --replace "RXPATH=/usr/bin/ssh" "RXPATH=ssh"
   '';
 
   CFLAGS = "-D_DARWIN_C_SOURCE";
@@ -24,8 +25,12 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = false;
 
   postInstall = ''
+    substituteInPlace deadpixi-sam.desktop \
+      --replace "accessories-text-editor" "$out/share/icons/hicolor/scalable/apps/sam.svg"
     mkdir -p $out/share/applications
+    mkdir -p $out/share/icons/hicolor/scalable/apps
     mv deadpixi-sam.desktop $out/share/applications
+    mv sam.svg $out/share/icons/hicolor/scalable/apps
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix b/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
index ccbfe76719e..d6e8de3efad 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
@@ -13,13 +13,13 @@
 
 trivialBuild {
   pname = "ement";
-  version = "unstable-2022-04-22";
+  version = "unstable-2022-05-05";
 
   src = fetchFromGitHub {
     owner = "alphapapa";
     repo = "ement.el";
-    rev = "70da19e4c9210d362b1d6d9c17ab2c034a03250d";
-    sha256 = "sha256-Pxul0WrtyH2XZzF0fOOitLc3x/kc+Qc11RDH0n+Hm04=";
+    rev = "84739451afa8355360966dfa788d469d9dc4a8e3";
+    sha256 = "sha256-XdegBKZfoKbFaMM/l8249VD9KKC5/4gQIK6ggPcoOaE=";
   };
 
   packageRequires = [
diff --git a/pkgs/applications/editors/gnome-latex/default.nix b/pkgs/applications/editors/gnome-latex/default.nix
index 8fc6feecd57..fe8666fd741 100644
--- a/pkgs/applications/editors/gnome-latex/default.nix
+++ b/pkgs/applications/editors/gnome-latex/default.nix
@@ -1,7 +1,6 @@
-{ lib
-, stdenv
+{ stdenv
+, lib
 , fetchurl
-, fetchpatch
 , autoreconfHook
 , gtk-doc
 , vala
@@ -22,22 +21,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.38.0";
+  version = "3.40.0";
   pname = "gnome-latex";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xqd49pgi82dygqnxj08i1v22b0vwwhx3zvdinhrx4jny339yam8";
+    sha256 = "xad/55vUDjeOooyPRaZjJ/vIzFw7W48PCcAhfufMCpA=";
   };
 
-  patches = [
-    # Fix build with latest tepl.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/Archive/gnome-latex/commit/e1b01186f8a4e5d3fee4c9ccfbedd6d098517df9.patch";
-      sha256 = "H8cbp5hDZoXytEdKE2D/oYHNKIbEFwxQoEaC4JMfGHY=";
-    })
-  ];
-
   nativeBuildInputs = [
     pkg-config
     autoreconfHook
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 658c18e5cb5..20b18814cb7 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -16,11 +16,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "nano";
-  version = "6.2";
+  version = "6.3";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
-    sha256 = "K8oYBL6taq9K15H3VuR0m7Ve2GDuwQWpf7qGS8anfLM=";
+    sha256 = "61MtpJhWcnMLUA9oXbqriFpGbQj7v3QVgyuVgF5vhoc=";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
@@ -41,9 +41,7 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   passthru = {
-    tests = {
-      expect = callPackage ./test-with-expect.nix {};
-    };
+    tests = { expect = callPackage ./test-with-expect.nix { }; };
 
     updateScript = writeScript "update.sh" ''
       #!${stdenv.shell}
diff --git a/pkgs/applications/editors/oed/default.nix b/pkgs/applications/editors/oed/default.nix
index f4012220c50..a17199c2ff6 100644
--- a/pkgs/applications/editors/oed/default.nix
+++ b/pkgs/applications/editors/oed/default.nix
@@ -24,9 +24,10 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/ibara/oed";
     description = "Portable ed editor from OpenBSD";
+    homepage = "https://github.com/ibara/oed";
     license = with licenses; [ bsd2 ];
+    mainProgram = "ed";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix
index 6e478693d40..fa81414a7e7 100644
--- a/pkgs/applications/editors/standardnotes/default.nix
+++ b/pkgs/applications/editors/standardnotes/default.nix
@@ -49,6 +49,7 @@ in appimageTools.wrapType2 rec {
     # fixup and install desktop file
     ${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \
       --set-key Exec --set-value ${pname} standard-notes.desktop
+    mv usr/share/icons share
 
     rm usr/lib/* AppRun standard-notes.desktop .so*
   '';
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index fe5d5b85080..8c505865849 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.2.4609";
+  version = "8.2.4816";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "sha256-IiWZJ4zT+VbcxwKChl847pS9jU9AlxZ/yQUIL8I2MhQ=";
+    sha256 = "1lgqr3ki50hwkz4vhdyaryirrs99qq4kgkhmpx7ygvn6aj2wapg5";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index bc317b91597..d5dd00b4aa6 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -3,7 +3,7 @@
 , libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
 , libICE
 , vimPlugins
-, makeWrapper, makeBinaryWrapper
+, makeWrapper
 , wrapGAppsHook
 , runtimeShell
 
@@ -133,9 +133,7 @@ in stdenv.mkDerivation rec {
   ++ lib.optional wrapPythonDrv makeWrapper
   ++ lib.optional nlsSupport gettext
   ++ lib.optional perlSupport perl
-  # Make the inner wrapper binary to avoid double wrapping issues with wrapPythonDrv
-  # (https://github.com/NixOS/nixpkgs/pull/164163)
-  ++ lib.optional (guiSupport == "gtk3") (wrapGAppsHook.override { makeWrapper = makeBinaryWrapper; })
+  ++ lib.optional (guiSupport == "gtk3") wrapGAppsHook
   ;
 
   buildInputs = [
diff --git a/pkgs/applications/editors/vis/default.nix b/pkgs/applications/editors/vis/default.nix
index b9fcfe10221..a05b0e48e0b 100644
--- a/pkgs/applications/editors/vis/default.nix
+++ b/pkgs/applications/editors/vis/default.nix
@@ -1,6 +1,7 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper, makeDesktopItem
-, ncurses, libtermkey, lua
-, acl ? null, libselinux ? null
+{ lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper
+, copyDesktopItems, makeDesktopItem
+, ncurses, libtermkey, lua, tre
+, acl, libselinux
 }:
 
 let
@@ -17,12 +18,13 @@ stdenv.mkDerivation rec {
     owner = "martanne";
   };
 
-  nativeBuildInputs = [ pkg-config makeWrapper ];
+  nativeBuildInputs = [ pkg-config makeWrapper copyDesktopItems ];
 
   buildInputs = [
     ncurses
     libtermkey
     luaEnv
+    tre
   ] ++ lib.optionals stdenv.isLinux [
     acl
     libselinux
@@ -33,28 +35,27 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    mkdir -p "$out/share/applications"
-    cp $desktopItem/share/applications/* $out/share/applications
-    echo wrapping $out/bin/vis with runtime environment
     wrapProgram $out/bin/vis \
       --prefix LUA_CPATH ';' "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \
       --prefix LUA_PATH ';' "${luaEnv}/share/lua/${lua.luaversion}/?.lua" \
       --prefix VIS_PATH : "\$HOME/.config:$out/share/vis"
   '';
 
-  desktopItem = makeDesktopItem {
-    name = "vis";
-    exec = "vis %U";
-    type = "Application";
-    icon = "accessories-text-editor";
-    comment = meta.description;
-    desktopName = "vis";
-    genericName = "Text editor";
-    categories = [ "Application" "Development" "IDE" ];
-    mimeTypes = [ "text/plain" "application/octet-stream" ];
-    startupNotify = false;
-    terminal = true;
-  };
+  desktopItems = [
+    (makeDesktopItem {
+      name = "vis";
+      exec = "vis %U";
+      type = "Application";
+      icon = "accessories-text-editor";
+      comment = meta.description;
+      desktopName = "vis";
+      genericName = "Text editor";
+      categories = [ "Application" "Development" "IDE" ];
+      mimeTypes = [ "text/plain" "application/octet-stream" ];
+      startupNotify = false;
+      terminal = true;
+    })
+  ];
 
   meta = with lib; {
     description = "A vim like editor";
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index ffe7f9a336a..db018bfb67e 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -79,6 +79,18 @@ let
         };
       };
 
+      alefragnani.bookmarks = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "bookmarks";
+          publisher = "alefragnani";
+          version = "13.0.1";
+          sha256 = "sha256-4IZCPNk7uBqPw/FKT5ypU2QxadQzYfwbGxxT/bUnKdE=";
+        };
+        meta = {
+          license = lib.licenses.gpl3;
+        };
+      };
+
       alefragnani.project-manager = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "project-manager";
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index f479c6686af..3d663c39ec9 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -14,17 +14,17 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1si0r8nww5m3yn3vzw0pk3nykfvxnlwna4pp11bsli4vqj1ym2nz";
-    x86_64-darwin = "002rkvc8fa7r9x2dsjhkwzmc1sp5mq998frrw5xd6bym0cp4j76l";
-    aarch64-linux = "0w9gjk2a5z8cqlg43jn2r588asymiklm1b28l54gvqp7jawlb0fd";
-    aarch64-darwin = "18h2kk6fcdz38xzyn37brbbj4nbrjgzv9xsz7c7iai8d01vh7s33";
-    armv7l-linux = "16cs2ald40nh76m3fxxfd233hr687dhwbqdkvjz4s6xxwi0rhvwc";
+    x86_64-linux = "0ss7c0dvlgnfqi0snhx73ndzjbw24xz6pcny4v52mrd1kfhcmpvd";
+    x86_64-darwin = "0ds5jv5q6k1hzrwhcgkyvx0ls9p1q7zh0fqigpxandx6ysrd7cga";
+    aarch64-linux = "12zz02hdhhw19rx9kbi3yd5x81w1vs8vxjrnqqvva8bj0jnwf4iq";
+    aarch64-darwin = "07ws2dc2il7ky77j5pxaxqp5cyw0v04jnv98z1494pdmxyn8gf7q";
+    armv7l-linux = "0khyzc69rbfz2pnbab9v3as1hdzkzxfg3mxvf6g7ax9npvsrqw92";
   }.${system};
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.66.2";
+    version = "1.67.0";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index 41dfc3b1145..633688567ae 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -60,6 +60,7 @@ in
       downloadPage = "https://github.com/VSCodium/vscodium/releases";
       license = licenses.mit;
       maintainers = with maintainers; [ synthetica turion bobby285271 ];
+      mainProgram = "codium";
       platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" "armv7l-linux" ];
     };
   }
diff --git a/pkgs/applications/emulators/citra/default.nix b/pkgs/applications/emulators/citra/default.nix
index 92d0f5b1d36..31f5ebc3038 100644
--- a/pkgs/applications/emulators/citra/default.nix
+++ b/pkgs/applications/emulators/citra/default.nix
@@ -77,9 +77,11 @@ stdenv.mkDerivation {
     chmod -R a+w externals/zstd
   '';
 
-  # Todo: cubeb audio backend (the default one) doesn't work on the SDL interface.
-  # This seems to be a problem with libpulseaudio, other applications have similar problems (e.g Duckstation).
-  # Note that the two interfaces have two separate configuration files.
+  # Fixes https://github.com/NixOS/nixpkgs/issues/171173
+  postInstall = lib.optionalString (enableCubeb && enableSdl2) ''
+    wrapProgram "$out/bin/citra" \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpulseaudio ]}
+  '';
 
   meta = with lib; {
     homepage = "https://citra-emu.org";
diff --git a/pkgs/applications/emulators/commanderx16/emulator.nix b/pkgs/applications/emulators/commanderx16/emulator.nix
index d15c99d355b..d070c86eef8 100644
--- a/pkgs/applications/emulators/commanderx16/emulator.nix
+++ b/pkgs/applications/emulators/commanderx16/emulator.nix
@@ -29,10 +29,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://www.commanderx16.com/forum/index.php?/home/";
     description = "The official emulator of CommanderX16 8-bit computer";
+    homepage = "https://www.commanderx16.com/forum/index.php?/home/";
     license = licenses.bsd2;
     maintainers = with maintainers; [ AndersonTorres ];
+    mainProgram = "x16emu";
     inherit (SDL2.meta) platforms;
   };
 
diff --git a/pkgs/applications/emulators/duckstation/default.nix b/pkgs/applications/emulators/duckstation/default.nix
index 8e4d909a724..45bb9ed74f9 100644
--- a/pkgs/applications/emulators/duckstation/default.nix
+++ b/pkgs/applications/emulators/duckstation/default.nix
@@ -90,8 +90,9 @@ mkDerivation rec {
     runHook postCheck
   '';
 
+  # Libpulseaudio fixes https://github.com/NixOS/nixpkgs/issues/171173
   qtWrapperArgs = [
-    "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
+    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpulseaudio vulkan-loader ]}"
   ];
 
   meta = with lib; {
@@ -102,5 +103,3 @@ mkDerivation rec {
     platforms = platforms.linux;
   };
 }
-# TODO: default sound backend (cubeb) does not work, but SDL does. Strangely,
-# switching to cubeb while a game is running makes it work.
diff --git a/pkgs/applications/emulators/simh/default.nix b/pkgs/applications/emulators/simh/default.nix
index 1e939538cda..6f3409ec063 100644
--- a/pkgs/applications/emulators/simh/default.nix
+++ b/pkgs/applications/emulators/simh/default.nix
@@ -22,6 +22,11 @@ stdenv.mkDerivation rec {
 
   dontConfigure = true;
 
+  # Workaround to build against upstream gcc-10 and clang-11.
+  # Can be removed when next release contains
+  #    https://github.com/simh/simh/issues/794
+  NIX_CFLAGS_COMPILE = [ "-fcommon" ];
+
   makeFlags = [ "GCC=${stdenv.cc.targetPrefix}cc" "CC_STD=-std=c99" "LDFLAGS=-lm" ];
 
   preInstall = ''
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index 53b271b4d29..44d54014976 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -45,13 +45,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.1.0-32";
+  version = "7.1.0-33";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = version;
-    hash = "sha256-blDdNZJCyBdPEgdZXwgNUGSdSIwnqRaVLsLdFeA4JzQ=";
+    hash = "sha256-qiXTSQcc48IIzz7RUcyOH2w8JUOTdU1zg43gJhoELXo=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index f93e415bcd6..bb501947415 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "17.4.2";
+  version = "18.0.1";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
-    sha256 = "294f99d9060bc394490b20d2ddab75ed5c0166d7960850f065eb8897ef31a2e3";
+    sha256 = "4f3893f53e47a3937320676e02337a61c358c684d5cd0b378809b3d7deab0139";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/gqview/default.nix b/pkgs/applications/graphics/gqview/default.nix
index 427429404a0..3dbd1e0d77b 100644
--- a/pkgs/applications/graphics/gqview/default.nix
+++ b/pkgs/applications/graphics/gqview/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  NIX_CFLAGS_COMPILE = "-fcommon";
   NIX_LDFLAGS = "-lm";
 
   meta = with lib; {
diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix
index 5a25ad3998f..39eefb00345 100644
--- a/pkgs/applications/graphics/hydrus/default.nix
+++ b/pkgs/applications/graphics/hydrus/default.nix
@@ -10,14 +10,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "hydrus";
-  version = "482";
+  version = "483";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "hydrusnetwork";
     repo = "hydrus";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-b7zMHwsyZv4dCn4Gd/2a+MHhT3IHISJup/zm95pEcQ4=";
+    sha256 = "sha256-UU3XQ0NC/apJ0S/uDDNG+8DOD+sRyX98yMcjtL2Htig=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index d29d1d65346..75bfe5cff93 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -80,6 +80,13 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.com/inkscape/inkscape/-/commit/a18c57ffff313fd08bc8a44f6b6bf0b01d7e9b75.patch";
       sha256 = "UZb8ZTtfA5667uo5ZlVQ5vPowiSgd4ItAJ9U1BOsRQg=";
     })
+
+    # Fix build with poppler 22.04
+    # https://gitlab.com/inkscape/inkscape/-/merge_requests/4266
+    (fetchpatch {
+      url = "https://gitlab.com/inkscape/inkscape/-/commit/d989cdf1059c78bc3bb6414330242073768d640b.patch";
+      sha256 = "2cJZdunbRgPIwhJgz1dQoQRw3ZYZ2Fp6c3hpVBV2PbE=";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/graphics/jpegrescan/default.nix b/pkgs/applications/graphics/jpegrescan/default.nix
index f96742e6c06..7ec0e478a9b 100644
--- a/pkgs/applications/graphics/jpegrescan/default.nix
+++ b/pkgs/applications/graphics/jpegrescan/default.nix
@@ -1,15 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, libjpeg_turbo, perl, perlPackages }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, perl, perlPackages, libjpeg_original }:
 
 stdenv.mkDerivation rec {
   pname = "jpegrescan";
-  date = "2016-06-01";
-  name = "${pname}-${date}";
+  version = "unstable-2019-03-27";
+
+  dontBuild = true;
+  dontConfigure = true;
 
   src = fetchFromGitHub {
     owner = "kud";
     repo = pname;
-    rev = "e5e39cd972b48ccfb2cba4da6855c511385c05f9";
-    sha256 = "0jbx1vzkzif6yjx1fnsm7fjsmq166sh7mn22lf01ll7s245nmpdp";
+    rev = "3a7de06feabeb3c3235c3decbe2557893c1abe51";
+    sha256 = "0cnl46z28lkqc5x27b8rpghvagahivrqcfvhzcsv9w1qs8qbd6dm";
   };
 
   patchPhase = ''
@@ -23,24 +25,23 @@ stdenv.mkDerivation rec {
     mv jpegrescan $out/bin
     chmod +x $out/bin/jpegrescan
 
-    wrapProgram $out/bin/jpegrescan --prefix PERL5LIB : $PERL5LIB
+    wrapProgram $out/bin/jpegrescan \
+      --prefix PATH : "${libjpeg_original}/bin:" \
+      --prefix PERL5LIB : $PERL5LIB
   '';
 
   propagatedBuildInputs = [ perlPackages.FileSlurp ];
 
-  nativeBuildInputs = [
-    makeWrapper
-  ];
+  nativeBuildInputs = [ makeWrapper ];
 
-  buildInputs = [
-    perl libjpeg_turbo
-  ];
+  buildInputs = [ perl ];
 
   meta = with lib; {
-    description = "losslessly shrink any JPEG file";
+    description = "Losslessly shrink any JPEG file";
     homepage = "https://github.com/kud/jpegrescan";
     license = licenses.publicDomain;
-    maintainers = [ maintainers.ramkromberg ];
+    maintainers = with maintainers; [ ramkromberg ];
     platforms = platforms.all;
+    mainProgram = "jpegrescan";
   };
 }
diff --git a/pkgs/applications/graphics/rnote/default.nix b/pkgs/applications/graphics/rnote/default.nix
index ccccca8d65c..f1d809388a2 100644
--- a/pkgs/applications/graphics/rnote/default.nix
+++ b/pkgs/applications/graphics/rnote/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, alsa-lib
 , appstream-glib
 , desktop-file-utils
 , gio-sharp
@@ -21,19 +22,20 @@
 
 stdenv.mkDerivation rec {
   pname = "rnote";
-  version = "0.4.0";
+  version = "0.5.1-hotfix-1";
 
   src = fetchFromGitHub {
     owner = "flxzt";
     repo = "rnote";
     rev = "v${version}";
-    sha256 = "sha256-J7IW329rWFEoB+44762DAkWA8Hq4IVmXgc+QoDQaxV0=";
+    fetchSubmodules = true;
+    hash = "sha256-Oq/RKeKICyImSPr4GSNjPXZWtuRQ7+9nRfl9MmC+UYI=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-elXaikB/RemMxA4OXyZNQOgP1alImQMJHng5oX2j480=";
+    hash = "sha256-gdVy+7xSQVkI84Ta6KLOLR9UUsDoD2Cd0cuNU+OXf2M=";
   };
 
   nativeBuildInputs = [
@@ -51,6 +53,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    alsa-lib
     gio-sharp
     glib
     gstreamer
diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix
index 93a7d75ce45..d3c5b1c0b75 100644
--- a/pkgs/applications/graphics/sane/backends/default.nix
+++ b/pkgs/applications/graphics/sane/backends/default.nix
@@ -40,18 +40,19 @@ stdenv.mkDerivation {
   buildInputs = [
     avahi
     libgphoto2
-    libieee1284
     libjpeg
     libpng
     libtiff
     libusb1
-    libv4l
-    net-snmp
     curl
-    systemd
     libxml2
     poppler
     gawk
+  ] ++ lib.optionals stdenv.isLinux [
+    libieee1284
+    libv4l
+    net-snmp
+    systemd
   ];
 
   enableParallelBuilding = true;
@@ -113,6 +114,6 @@ stdenv.mkDerivation {
     '';
     homepage = "http://www.sane-project.org/";
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/applications/misc/1password-gui/beta.nix b/pkgs/applications/misc/1password-gui/beta.nix
index 480366921ae..d9d21f30f34 100644
--- a/pkgs/applications/misc/1password-gui/beta.nix
+++ b/pkgs/applications/misc/1password-gui/beta.nix
@@ -42,11 +42,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "1password";
-  version = "8.7.0-49.BETA";
+  version = "8.8.0-11.BETA";
 
   src = fetchurl {
     url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
-    sha256 = "sha256-cYT9Pi2WEjZQ5P7Dr84l65AHyD8tZrYC+m4hFxSsNd4=";
+    sha256 = "sha256-HU+nIz3aKXXdBWEBMSRlbi8yZ+JEsE33o6nfbWRgpBo=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index c43df6b5f57..72b542e24fe 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -42,11 +42,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "1password";
-  version = "8.6.1";
+  version = "8.7.0";
 
   src = fetchurl {
     url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
-    sha256 = "sha256-CbSx1UJAvNrA1gTQyi6r8NgjwQ7H+tqWU9t3TUNrDMg=";
+    sha256 = "sha256-Ubn1KEjK8H8d8+4QNEpEOuclWyD8ujUbO5CpzWr+kSg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/archivy/default.nix b/pkgs/applications/misc/archivy/default.nix
index e7146052702..c2cf561524f 100644
--- a/pkgs/applications/misc/archivy/default.nix
+++ b/pkgs/applications/misc/archivy/default.nix
@@ -49,21 +49,9 @@ buildPythonApplication rec {
     hash = "sha256-o5dVJDbdKgo6hMMU9mKzoouSgVWl7xSAp+Aq61VcfeU=";
   };
 
-  # Relax some dependencies
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace 'WTForms ==' 'WTForms >=' \
-      --replace 'attrs == 20.2.0' 'attrs' \
-      --replace 'elasticsearch ==' 'elasticsearch >=' \
-      --replace 'python_dotenv ==' 'python_dotenv >=' \
-      --replace 'python_frontmatter == 0.5.0' 'python_frontmatter' \
-      --replace 'requests ==' 'requests >=' \
-      --replace 'validators ==' 'validators >=' \
-      --replace 'flask-login == ' 'flask-login >= ' \
-      --replace 'tinydb ==' 'tinydb >=' \
-      --replace 'Flask_WTF == 0.14.3' 'Flask_WTF' \
-      --replace 'Flask ==' 'Flask >='
-  '';
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
+
+  pythonRelaxDeps = true;
 
   propagatedBuildInputs = [
     appdirs
diff --git a/pkgs/applications/misc/ausweisapp2/default.nix b/pkgs/applications/misc/ausweisapp2/default.nix
index 9f3c1c82b5e..6f55e5dd17c 100644
--- a/pkgs/applications/misc/ausweisapp2/default.nix
+++ b/pkgs/applications/misc/ausweisapp2/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "AusweisApp2";
-  version = "1.22.4";
+  version = "1.22.5";
 
   src = fetchFromGitHub {
     owner = "Governikus";
     repo = "AusweisApp2";
     rev = version;
-    sha256 = "sha256-Mms7Vibq1Rlb2XbxiV4o1UsjDRJcwG5ZZdPOWHjnW2A=";
+    sha256 = "sha256-EuHg8JrI6ZoyTXqD3v4cfk4/NovAj4fF2NY1V2ZF64c=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/misc/bicon/default.nix b/pkgs/applications/misc/bicon/default.nix
index 0b3ca09c6d0..dfb424ea9da 100644
--- a/pkgs/applications/misc/bicon/default.nix
+++ b/pkgs/applications/misc/bicon/default.nix
@@ -1,24 +1,35 @@
 { lib, stdenv
-  , fetchFromGitHub
-  , autoreconfHook
-  , pkg-config
-  , perl
-  , fribidi
-  , kbd
-  , xkbutils
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, pkg-config
+, perl
+, fribidi
+, kbd
+, xkbutils
 }:
 
 stdenv.mkDerivation rec {
   pname = "bicon";
-  version = "unstable-2018-09-10";
+  version = "unstable-2020-06-04";
 
   src = fetchFromGitHub {
     owner = "behdad";
     repo = pname;
-    rev = "38725c062a83ab19c4e4b4bc20eb9535561aa76c";
-    sha256 = "0hdslrci8pq300f3rrjsvl5psfrxdwyxf9g2m5g789sr049dksnq";
+    rev = "64ae10c94b94a573735a2c2b1502334b86d3b1f7";
+    sha256 = "0ixsf65j4dbdl2aazjc2j0hiagbp6svvfwfmyivha0i1k5yx12v1";
   };
 
+  patches = [
+    # Fix build on clang-13. Pull the change pending upstream
+    # inclusion: https://github.com/behdad/bicon/pull/29
+    (fetchpatch {
+      name = "clang.patch";
+      url = "https://github.com/behdad/bicon/commit/20f5a79571f222f96e07d7c0c5e76e2c9ff1c59a.patch";
+      sha256 = "0l1dm7w52k57nv3lvz5pkbwp021mlsk3csyalxi90np1lx5sqbd1";
+    })
+  ];
+
   buildInputs = [ fribidi kbd xkbutils perl ];
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
diff --git a/pkgs/applications/misc/binance/default.nix b/pkgs/applications/misc/binance/default.nix
index 86445f25984..d5d6f6b5358 100644
--- a/pkgs/applications/misc/binance/default.nix
+++ b/pkgs/applications/misc/binance/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "binance";
-  version = "1.30.1";
+  version = "1.35.0";
 
   src = fetchurl {
     url = "https://github.com/binance/desktop/releases/download/v${version}/${pname}-${version}-amd64-linux.deb";
-    sha256 = "sha256-Su8pVf5GSBK770D778MmrgYr0ov/JBTNcnL8EZzoG3U=";
+    sha256 = "sha256-6c7nrdViunnvPqqbt5/LQp2iS4EgZOCQ9PLcG+bY1YQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 8f672deb693..753be1eb88c 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -28,11 +28,11 @@
 
 mkDerivation rec {
   pname = "calibre";
-  version = "5.37.0";
+  version = "5.42.0";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-x2u4v0k05WMATSsuo76NnqChIz8BcTuZfPkZa0uLnMY=";
+    hash = "sha256-pob9GZl3Wiky5aMGGvcNQdDrKh19bo+n5ihdS45X+Vg=";
   };
 
   # https://sources.debian.org/patches/calibre/${version}+dfsg-1
diff --git a/pkgs/applications/misc/catclock/default.nix b/pkgs/applications/misc/catclock/default.nix
index fff8101e55a..494ed3001e5 100644
--- a/pkgs/applications/misc/catclock/default.nix
+++ b/pkgs/applications/misc/catclock/default.nix
@@ -1,14 +1,15 @@
-{ lib, stdenv, fetchFromGitHub, xlibsWrapper, motif }:
+{ stdenv, lib, fetchFromGitHub, xlibsWrapper, motif
+, withAudioTracking ? false, libpulseaudio, aubio }:
 
 stdenv.mkDerivation {
   pname = "catclock";
-  version = "unstable-2015-10-04";
+  version = "unstable-2021-11-15";
 
   src = fetchFromGitHub {
     owner = "BarkyTheDog";
     repo = "catclock";
-    rev = "d20b8825b38477a144e8a2a4bbd4779adb3620ac";
-    sha256 = "0fiv9rj8p8mifv24cxljdrrmh357q70zmzdci9bpbxnhs1gdpr63";
+    rev = "b2f277974b5a80667647303cabf8a89d6d6a4290";
+    sha256 = "0ls02j9waqg155rj6whisqm7ppsdabgkrln92n4rmkgnwv25hdbi";
   };
 
   preInstall = ''
@@ -17,14 +18,15 @@ stdenv.mkDerivation {
     cp xclock.man $out/share/man/man1/xclock.1
   '';
 
-  makeFlags = [
-    "DESTINATION=$(out)/bin/"
-  ];
+  makeFlags = [ "DESTINATION=$(out)/bin/" ]
+    ++ lib.optional withAudioTracking "WITH_TEMPO_TRACKER=1";
 
-  buildInputs = [ xlibsWrapper motif ];
+  buildInputs = [ xlibsWrapper motif ]
+    ++ lib.optionals withAudioTracking [ libpulseaudio aubio ];
 
   meta = with lib; {
     homepage = "http://codefromabove.com/2014/05/catclock/";
+    description = "Analog / Digital / Cat clock for X";
     license = with licenses; mit;
     maintainers = with maintainers; [ ramkromberg ];
     mainProgram = "xclock";
diff --git a/pkgs/applications/misc/charm/default.nix b/pkgs/applications/misc/charm/default.nix
index faaea86a664..61f0307f7c2 100644
--- a/pkgs/applications/misc/charm/default.nix
+++ b/pkgs/applications/misc/charm/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "charm";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "charm";
     rev = "v${version}";
-    sha256 = "sha256-XXKzK5MXJsB3LE7iE5BqnLm0hPs7WbyHR0x9aTldrj4=";
+    sha256 = "sha256-vNy2ai1s7TKCymYznvT0Wo6lg9qEyDzz8l3SYzScz8g=";
   };
 
   vendorSha256 = "sha256-6PGdM7aa1BGNZc3M35PJpmrlPUqkykxfTELdgeKcJD4=";
@@ -18,6 +18,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Manage your charm account on the CLI";
     homepage = "https://github.com/charmbracelet/charm";
+    changelog = "https://github.com/charmbracelet/charm/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ penguwin ];
   };
diff --git a/pkgs/applications/misc/hstr/default.nix b/pkgs/applications/misc/hstr/default.nix
index 888c7892514..bb31be1ad27 100644
--- a/pkgs/applications/misc/hstr/default.nix
+++ b/pkgs/applications/misc/hstr/default.nix
@@ -1,27 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, readline, ncurses
+{ lib, stdenv, fetchFromGitHub, readline, ncurses
 , autoreconfHook, pkg-config, gettext }:
 
 stdenv.mkDerivation rec {
   pname = "hstr";
-  version = "2.3";
+  version = "2.5";
 
   src = fetchFromGitHub {
     owner  = "dvorka";
     repo   = "hstr";
     rev    = version;
-    sha256 = "1chmfdi1dwg3sarzd01nqa82g65q7wdr6hrnj96l75vikwsg986y";
+    sha256 = "sha256-qIMnU+gRR3HPAOrrrduN68R5E8ZJKROfZ0sEHL0E4XU=";
   };
 
-  patches = [
-    # pull pending upstream inclusion fix for ncurses-6.3:
-    #  https://github.com/dvorka/hstr/pull/435
-    (fetchpatch {
-      name = "ncurses-6.3.patch";
-      url = "https://github.com/dvorka/hstr/commit/7fbd852c464ae3cfcd2f4fed9c62a21fb84c5439.patch";
-      sha256 = "15f0ja4bsh4jnchcg0ray8ijpdraag7k07ss87a6ymfs1rg6i0jr";
-    })
-  ];
-
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ readline ncurses gettext ];
 
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index 153e50f9a87..1fdf48ac1a0 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.6.5";
+  version = "0.6.6";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "WKROcCv0IzRnQd74j5Iget5jlfyDbeJ/PXgZmSNrSsQ=";
+    sha256 = "r6IBvhA8H8XnMIBgZZodyU61xtqNA4N9kCRv/QWQc9M=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix
index e48065e6d9a..58946f227ee 100644
--- a/pkgs/applications/misc/lutris/default.nix
+++ b/pkgs/applications/misc/lutris/default.nix
@@ -31,7 +31,7 @@
 , pyyaml
 , requests
 , keyring
-, python_magic
+, python-magic
 
   # commands that lutris needs
 , xrandr
@@ -104,7 +104,7 @@ buildPythonApplication rec {
     libnotify
     pango
     webkitgtk
-    python_magic
+    python-magic
   ] ++ gstDeps;
 
   propagatedBuildInputs = [
@@ -117,7 +117,7 @@ buildPythonApplication rec {
     pillow
     dbus-python
     keyring
-    python_magic
+    python-magic
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix
index 0ce8d8c373d..fc2c2ad618d 100644
--- a/pkgs/applications/misc/mediainfo-gui/default.nix
+++ b/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -1,17 +1,16 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libzen, libmediainfo, wxGTK30-gtk3
+{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libmediainfo, wxGTK30-gtk3
 , desktop-file-utils, libSM, imagemagick }:
 
 stdenv.mkDerivation rec {
-  version = "21.09";
+  version = "22.03";
   pname = "mediainfo-gui";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "0mqcqm8y2whnbdi2ry7jd755gfl5ccdqhwjh67hsyr7c0ajxk3vv";
+    sha256 = "sha256-Yjb5Kh1XqBdLPzDqbd6Kq1ONj2IPcoIk2FE3MWmAK+Q=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ libzen libmediainfo wxGTK30-gtk3 desktop-file-utils libSM
-                  imagemagick ];
+  buildInputs = [ libmediainfo wxGTK30-gtk3 desktop-file-utils libSM imagemagick ];
 
   sourceRoot = "./MediaInfo/Project/GNU/GUI/";
 
diff --git a/pkgs/applications/misc/nanoblogger/default.nix b/pkgs/applications/misc/nanoblogger/default.nix
index e8fa4d4fd37..0ae63d210e7 100644
--- a/pkgs/applications/misc/nanoblogger/default.nix
+++ b/pkgs/applications/misc/nanoblogger/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     description = "Small weblog engine written in Bash for the command line";
     homepage = "http://nanoblogger.sourceforge.net/";
     license = lib.licenses.gpl2;
+    mainProgram = "nb";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/nimbo/default.nix b/pkgs/applications/misc/nimbo/default.nix
index 8af9d1471a0..5ad86eeccd4 100644
--- a/pkgs/applications/misc/nimbo/default.nix
+++ b/pkgs/applications/misc/nimbo/default.nix
@@ -52,6 +52,6 @@ python3.pkgs.buildPythonApplication rec {
     description = "Run machine learning jobs on AWS with a single command";
     homepage = "https://github.com/nimbo-sh/nimbo";
     license = licenses.bsl11;
-    maintainers = with maintainers; [ alex-eyre noreferences ];
+    maintainers = with maintainers; [ alexeyre noreferences ];
   };
 }
diff --git a/pkgs/applications/misc/oil-buku/default.nix b/pkgs/applications/misc/oil-buku/default.nix
index e0c05488288..5f895179f1f 100644
--- a/pkgs/applications/misc/oil-buku/default.nix
+++ b/pkgs/applications/misc/oil-buku/default.nix
@@ -38,7 +38,8 @@ stdenvNoCC.mkDerivation rec {
     description = "Search-as-you-type cli frontend for the buku bookmarks manager using peco";
     homepage = "https://github.com/AndreiUlmeyda/oil";
     license = licenses.gpl3Only;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ atila ];
+    mainProgram = "oil";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index f737f18d158..b670f85f7a6 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -44,13 +44,13 @@
 
 stdenv.mkDerivation rec {
   pname = "polybar";
-  version = "3.6.2";
+  version = "3.6.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    hash = "sha256-mLAcA8afGLNhRRU/x/TngCMcSRXdEM5wKWoYZhezJqU=";
+    hash = "sha256-FKkPSAEMzptnjJq3xTk+fpD8XjASQ3smX5imstDyLNE=";
     fetchSubmodules = true;
   };
 
@@ -120,7 +120,7 @@ stdenv.mkDerivation rec {
       having a black belt in shell scripting.
     '';
     license = licenses.mit;
-    maintainers = with maintainers; [ afldcr Br1ght0ne fortuneteller2k ];
+    maintainers = with maintainers; [ afldcr Br1ght0ne fortuneteller2k ckie ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/privacyidea/default.nix b/pkgs/applications/misc/privacyidea/default.nix
index 2a3a1a47410..225dfb93637 100644
--- a/pkgs/applications/misc/privacyidea/default.nix
+++ b/pkgs/applications/misc/privacyidea/default.nix
@@ -9,7 +9,7 @@ let
         version = "1.3.24";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519";
+          hash = "sha256-67t3fL+TEjWbiXv4G6ANrg9ctp+6KhgmXcwYpvXvdRk=";
         };
       });
       flask_migrate = super.flask_migrate.overridePythonAttrs (oldAttrs: rec {
diff --git a/pkgs/applications/misc/remnote/default.nix b/pkgs/applications/misc/remnote/default.nix
new file mode 100644
index 00000000000..d19d27153fa
--- /dev/null
+++ b/pkgs/applications/misc/remnote/default.nix
@@ -0,0 +1,19 @@
+{ lib, fetchurl, appimageTools }:
+
+appimageTools.wrapType2 rec {
+  pname = "remnote";
+  version = "1.7.6";
+
+  src = fetchurl {
+    url = "https://download.remnote.io/RemNote-${version}.AppImage";
+    sha256 = "sha256-yRUpLev/Fr3mOamkFgevArv2UoXgV4e6zlyv7FaQ4RM=";
+  };
+
+  meta = with lib; {
+    description = "A note-taking application focused on learning and productivity";
+    homepage = "https://remnote.com/";
+    maintainers = with maintainers; [ max-niederman ];
+    license = licenses.unfree;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/rofi-rbw/default.nix b/pkgs/applications/misc/rofi-rbw/default.nix
new file mode 100644
index 00000000000..6a631d5a950
--- /dev/null
+++ b/pkgs/applications/misc/rofi-rbw/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonApplication, fetchFromGitHub, configargparse }:
+
+buildPythonApplication rec {
+  pname = "rofi-rbw";
+  version = "0.5.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "fdw";
+    repo = "rofi-rbw";
+    rev = version;
+    hash = "sha256-1RDwb8lKls6+X/XtARbi4F7sK4nT03Iy3Wb9N1LEa5o=";
+  };
+
+  propagatedBuildInputs = [ configargparse ];
+
+  pythonImportsCheck = [ "rofi_rbw" ];
+
+  meta = with lib; {
+    description = "Rofi frontend for Bitwarden";
+    homepage = "https://github.com/fdw/rofi-rbw";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dit7ya ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/scli/default.nix b/pkgs/applications/misc/scli/default.nix
index 05223aeb5c1..9729301f6e7 100644
--- a/pkgs/applications/misc/scli/default.nix
+++ b/pkgs/applications/misc/scli/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "scli";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "isamert";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-DUDf5FlcNZzZASa8vTc72Z1/Dk+iAhtcgVJtjDUwyEo=";
+    sha256 = "sha256-YEgeeoUqDeBx3jPddTeykl+68lS8gVKD+zdo+gRTaT4=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -47,6 +47,6 @@ python3.pkgs.buildPythonApplication rec {
     description = "Simple terminal user interface for Signal";
     homepage = "https://github.com/isamert/scli";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ alex-eyre ];
+    maintainers = with maintainers; [ alexeyre ];
   };
 }
diff --git a/pkgs/applications/misc/sigi/default.nix b/pkgs/applications/misc/sigi/default.nix
index ff74d8b098f..e3384ff6dd7 100644
--- a/pkgs/applications/misc/sigi/default.nix
+++ b/pkgs/applications/misc/sigi/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sigi";
-  version = "3.2.1";
+  version = "3.3.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-1eZ6i0CvjNyYlWb7c0OPlGtvVSFpi8hiOl/7qeeE9wA=";
+    sha256 = "sha256-dcfzCac4dT2X1hgTSh30G7h2XtvVj1jMUmrUzqZ11y8=";
   };
 
-  cargoSha256 = "sha256-Tyrcu/BYt9k4igiEIiZ2I7VIGiBZ3D2i6XfT/XGlU+U=";
+  cargoSha256 = "sha256-CQofC9Y0y8XASLpjk9B6mMlSQqiXnoGZ8kJh16txiPA=";
   nativeBuildInputs = [ installShellFiles ];
 
   # In case anything goes wrong.
diff --git a/pkgs/applications/misc/swaynotificationcenter/default.nix b/pkgs/applications/misc/swaynotificationcenter/default.nix
index a93436362ad..c05778d6aae 100644
--- a/pkgs/applications/misc/swaynotificationcenter/default.nix
+++ b/pkgs/applications/misc/swaynotificationcenter/default.nix
@@ -4,6 +4,7 @@
 , meson
 , ninja
 , pkg-config
+, scdoc
 , vala
 , gtk3
 , glib
@@ -20,16 +21,16 @@
 
 stdenv.mkDerivation rec {
   pname = "SwayNotificationCenter";
-  version = "0.3";
+  version = "0.5";
 
   src = fetchFromGitHub {
     owner = "ErikReider";
     repo = "SwayNotificationCenter";
     rev = "v${version}";
-    hash = "sha256-gXo/V2FHkHZBRmaimqJCzi0BqS4tP9IniIlubBmK5u0=";
+    hash = "sha256-Jjbr6GJ0MHlO+T/simPNYQnB5b7Cr85j4GRjRGa5B6s=";
   };
 
-  nativeBuildInputs = [ gobject-introspection meson ninja pkg-config vala wrapGAppsHook ];
+  nativeBuildInputs = [ gobject-introspection meson ninja pkg-config scdoc vala wrapGAppsHook ];
 
   buildInputs = [ dbus dbus-glib gdk-pixbuf glib gtk-layer-shell gtk3 json-glib libhandy librsvg ];
 
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index f2c8e6075d9..3ea247f4b08 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -10,6 +10,7 @@
 , gtk3
 , gsettings-desktop-schemas
 , p7zip
+, autoPatchelfHook
 , libXxf86vm
 , unzip
 }:
@@ -41,14 +42,17 @@ let
     };
 
     postPatch = ''
-      patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_awt.so
-      patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_x11.so
-      patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_awt.so
-      patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_x11.so
+      addAutoPatchelfSearchPath ${jre8}/lib/openjdk/jre/lib/
+      autoPatchelf lib
+
+      # Nix cannot see the runtime references to the paths we just patched in
+      # once they've been compressed into the .jar. Scan for and remember them
+      # as plain text so they don't get overlooked.
+      find . -name '*.so' | xargs strings | { grep '/nix/store' || :; } >> ./.jar-paths
     '';
 
-    nativeBuildInputs = [ makeWrapper unzip ];
-    buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas ];
+    nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
+    buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas libXxf86vm ];
 
     buildPhase = ''
       runHook preBuild
@@ -80,6 +84,13 @@ let
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
         --add-flags "-Dsun.java2d.opengl=true -jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}"
 
+
+      # remember the store paths found inside the .jar libraries. note that
+      # which file they are in does not matter in particular, just that some
+      # file somewhere lists them in plain-text
+      mkdir -p $out/nix-support
+      cp .jar-paths $out/nix-support/depends
+
       runHook postInstall
     '';
 
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index 5a12380a4ff..56baa1e9d82 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
     homepage = "https://taskwarrior.org";
     license = licenses.mit;
     maintainers = with maintainers; [ marcweber oxalica ];
+    mainProgram = "task";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/translate-shell/default.nix b/pkgs/applications/misc/translate-shell/default.nix
index be2ee1e7a85..e46f5d2b8c1 100644
--- a/pkgs/applications/misc/translate-shell/default.nix
+++ b/pkgs/applications/misc/translate-shell/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
     description = "Command-line translator using Google Translate, Bing Translator, Yandex.Translate, and Apertium";
     license = licenses.unlicense;
     maintainers = with maintainers; [ ebzzry infinisil ];
+    mainProgram = "trans";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/web-media-controller/default.nix b/pkgs/applications/misc/web-media-controller/default.nix
index 7e0fbb999f5..d2b5b924ea8 100644
--- a/pkgs/applications/misc/web-media-controller/default.nix
+++ b/pkgs/applications/misc/web-media-controller/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
     description = "MPRIS proxy for usage with 'Web Media Controller' web extension";
     license = licenses.unlicense;
     maintainers = with maintainers; [ doronbehar ];
+    mainProgram = "web-media-controller";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index 20ee39b549a..b216d750d56 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -90,11 +90,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.38.109";
+  version = "1.38.111";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "sha256-w/Wm8msW4etF6E1UDujLfixhxmKBcnB+uw/CMcj4jGI=";
+    sha256 = "sha256-sUTQktCQOVyXbw58u9ilFZaKg6D24Okpa+rUIO56ors=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index bb994f7008f..02292a8c61e 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,8 +1,8 @@
 {
   "stable": {
-    "version": "101.0.4951.41",
-    "sha256": "0dzsbr309n70jg7fpq2qfnrgcm4553akvdmnzhss1fc85s467609",
-    "sha256bin64": "12nzzsp4040mwc7jah5w0p58ckv8s16wv6ylf6vlmfby06a4xlkq",
+    "version": "101.0.4951.54",
+    "sha256": "1d808a7mvg0nd0mm20c1ny5kdvb2xvrs8vz4nnk456ix8pywcv62",
+    "sha256bin64": "1m6s6xf2wvz535w6jskk3pnibvsjpzmbxvd9rlxmqr08y219gp5y",
     "deps": {
       "gn": {
         "version": "2022-03-14",
@@ -12,16 +12,16 @@
       }
     },
     "chromedriver": {
-      "version": "101.0.4951.15",
-      "sha256_linux": "1i8ay83gh1q6nd0v14qv7gjar9h4fccb50a8b6fg671pg0l6vn24",
-      "sha256_darwin": "0ldxy1dxb99xps0h1d1264njc55q4bd000bdnaaks9kyx2djn54b",
-      "sha256_darwin_aarch64": "14awsldpqz2y187jwbcli8v7f1r6gsybk8yx8jqg26y8iyg3lrx9"
+      "version": "101.0.4951.41",
+      "sha256_linux": "0zsh6cm7h1m0k5mx1cd29knxjxaadjjcbp7m5fr2mx9c21a1nlcr",
+      "sha256_darwin": "09py50436y81lw2vk44256dmzsg8dqj14fd0g0gs1cc3ps6q4awl",
+      "sha256_darwin_aarch64": "0krjijd0zgwg8d44miz43xrjdlvfiymbrrz5r1hzpx64555ch12y"
     }
   },
   "beta": {
-    "version": "102.0.5005.27",
-    "sha256": "0fznry72w50dpijg55yxkaz1hv1zkvvxini3yxadwpfa5y0mpn3m",
-    "sha256bin64": "0k543zz3njsn5kh1wf90hqywll9s6g4xrnh2zqph066l91gj17rx",
+    "version": "102.0.5005.40",
+    "sha256": "1max5ndvl59j2hlv9k88dmadr4q05q1clzlc6zba0gcbvqx5q9jb",
+    "sha256bin64": "1byqx9w0hqwk3vizdas3dylbm69108bnq4xlm0mp1p1gh37h1642",
     "deps": {
       "gn": {
         "version": "2022-04-14",
@@ -32,15 +32,15 @@
     }
   },
   "dev": {
-    "version": "103.0.5028.0",
-    "sha256": "06i6kgsdril5gfbjl1sh0z5hqvq64bchhb2z8w0h8cw9977bvqk6",
-    "sha256bin64": "09hxvcv5n1kd4qnwh6pxzmrlnc8xijm7rwb1c8c57v0jjb32x9ry",
+    "version": "103.0.5042.0",
+    "sha256": "0wm8m1mff8gb0x7whif16gvmhibgc8ndygnawkwq3g4fvninb65h",
+    "sha256bin64": "0vzmpi36a86kgxhdxvbqbn7i1wf2annar1mi15gra1cjpz3lf9kh",
     "deps": {
       "gn": {
-        "version": "2022-04-26",
+        "version": "2022-05-02",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "ced9fbfe6943854e65ada4ac1849d1fa4cb19348",
-        "sha256": "14fgjsfqihmma1cr8n30n37vxkf20paa6swq2yxn1agjvfr9cdvl"
+        "rev": "53ef169800760fdc09f0773bf380fe99eaeab339",
+        "sha256": "08i7qc4qvf8gb3vryajvww75wk653fybf1bb2k40r8i07znhy78r"
       }
     }
   },
diff --git a/pkgs/applications/networking/browsers/firefox/librewolf/src.json b/pkgs/applications/networking/browsers/firefox/librewolf/src.json
index f46736d0672..8f36d68e7f2 100644
--- a/pkgs/applications/networking/browsers/firefox/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/firefox/librewolf/src.json
@@ -1,8 +1,8 @@
 {
-  "packageVersion": "100.0-1",
+  "packageVersion": "100.0-2",
   "source": {
-    "rev": "100.0-1",
-    "sha256": "1xczvsd39g821bh5n12vnn7sgi0x5dqj6vfizkavxj0a05jb4fla"
+    "rev": "100.0-2",
+    "sha256": "0pr7fb91zw5qlnfvaavzksd3c2xzgn1344mmfnz9yx2g42vcyi7d"
   },
   "firefox": {
     "version": "100.0",
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index d5055f04ed8..235794dd421 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, makeDesktopItem, makeWrapper, lndir, config
-, replace, fetchurl, zip, unzip, jq, xdg-utils, writeText
+, fetchurl, zip, unzip, jq, xdg-utils, writeText
 
 ## various stuff that can be plugged in
 , ffmpeg, xorg, alsa-lib, libpulseaudio, libcanberra-gtk3, libglvnd, libnotify, opensc
@@ -176,7 +176,7 @@ let
         startupWMClass = wmClass;
       };
 
-      nativeBuildInputs = [ makeWrapper lndir replace jq ];
+      nativeBuildInputs = [ makeWrapper lndir jq ];
       buildInputs = [ browser.gtk3 ];
 
 
@@ -206,48 +206,50 @@ let
         done
 
         # fix links and absolute references
-        cd "${browser}"
 
         find . -type l -print0 | while read -d $'\0' l; do
-          target="$(readlink "$l" | replace-literal -es -- "${browser}" "$out")"
+          target="$(readlink "$l")"
+          target=''${target/#"${browser}"/"$out"}
           ln -sfT "$target" "$out/$l"
         done
 
-        # This will not patch binaries, only "text" files.
-        # Its there for the wrapper mostly.
-        cd "$out"
-        replace-literal -esfR -- "${browser}" "$out"
-
         # create the wrapper
 
         executablePrefix="$out/bin"
         executablePath="$executablePrefix/${applicationName}"
+        oldWrapperArgs=()
 
-        if [ ! -x "$executablePath" ]
-        then
-            echo "cannot find executable file \`${browser}/bin/${applicationName}'"
-            exit 1
-        fi
-
-        if [ ! -L "$executablePath" ]
-        then
-          # Careful here, the file at executablePath may already be
-          # a wrapper. That is why we postfix it with -old instead
-          # of -wrapped.
-          oldExe="$executablePrefix"/".${applicationName}"-old
-          mv "$executablePath" "$oldExe"
-        else
+        if [[ -L $executablePath ]]; then
+          # Symbolic link: wrap the link's target.
           oldExe="$(readlink -v --canonicalize-existing "$executablePath")"
-        fi
-
-        if [ ! -x "${browser}/bin/${applicationName}" ]
-        then
-            echo "cannot find executable file \`${browser}/bin/${applicationName}'"
-            exit 1
+          rm "$executablePath"
+        elif wrapperCmd=$(strings -dw "$executablePath" | sed -n '/^makeCWrapper/,/^$/ p'); [[ $wrapperCmd ]]; then
+          # If the executable is a binary wrapper, we need to update its target to
+          # point to $out, but we can't just edit the binary in-place because of length
+          # issues. So we extract the command used to create the wrapper and add the
+          # arguments to our wrapper.
+          parseMakeCWrapperCall() {
+            shift # makeCWrapper
+            oldExe=$1; shift
+            for arg do case $arg in
+              --inherit-argv0) oldWrapperArgs+=(--argv0 '$0');; # makeWrapper doesn't understand --inherit-argv0
+              *) oldWrapperArgs+=("$arg");;
+            esac done
+          }
+          eval "parseMakeCWrapperCall ''${wrapperCmd//"${browser}"/"$out"}"
+          rm "$executablePath"
+        else
+          if read -rn2 shebang < "$executablePath" && [[ $shebang == '#!' ]]; then
+            # Shell wrapper: patch in place to point to $out.
+            sed -i "s@${browser}@$out@g" "$executablePath"
+          fi
+          # Suffix the executable with -old, because -wrapped might already be used by the old wrapper.
+          oldExe="$executablePrefix/.${applicationName}"-old
+          mv "$executablePath" "$oldExe"
         fi
 
         makeWrapper "$oldExe" \
-          "$out/bin/${applicationName}${nameSuffix}" \
+          "''${executablePath}${nameSuffix}" \
             --prefix LD_LIBRARY_PATH ':' "$libs" \
             --suffix-each GTK_PATH ':' "$gtk_modules" \
             --prefix PATH ':' "${xdg-utils}/bin" \
@@ -258,9 +260,8 @@ let
             --set MOZ_ALLOW_DOWNGRADE 1 \
             --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
             --suffix XDG_DATA_DIRS : '${gnome.adwaita-icon-theme}/share' \
-            ${lib.optionalString forceWayland ''
-              --set MOZ_ENABLE_WAYLAND "1" \
-            ''}
+            ${lib.optionalString forceWayland "--set MOZ_ENABLE_WAYLAND 1"} \
+            "''${oldWrapperArgs[@]}"
         #############################
         #                           #
         #   END EXTRA PREF CHANGES  #
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 56c7083fee6..9293cc3050d 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -87,7 +87,7 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "11.0.10";
+  version = "11.0.11";
 
   lang = "en-US";
 
@@ -98,7 +98,7 @@ let
         "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
         "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
       ];
-      sha256 = "1j39v01bb97hkhkfvz7xyfmv6y0sjjcymvn3sa9ahz2av1xlrplp";
+      sha256 = "1dx92jdnvs7w52mps4zhnnjym6jsl9vwfiav1jw8qq0g8hslgybd";
     };
 
     i686-linux = fetchurl {
@@ -107,7 +107,7 @@ let
         "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
         "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
       ];
-      sha256 = "0vh913z828ncb8pwz461xx61ylxqp44rf9iah7n6lzda7hcw79r3";
+      sha256 = "165mg9gwmlqwskbk3i8lhjjqp4lmpq5vzdvd9zalx69xqh9v85i5";
     };
   };
 in
@@ -357,7 +357,7 @@ stdenv.mkDerivation rec {
       TMPDIR="\''${TMPDIR:-/tmp}" \
       HOME="\$HOME" \
       XAUTHORITY="\''${XAUTHORITY:-\$HOME/.Xauthority}" \
-      DISPLAY="\$DISPLAY" \
+      DISPLAY="\''${DISPLAY:-}" \
       DBUS_SESSION_BUS_ADDRESS="\''${DBUS_SESSION_BUS_ADDRESS:-unix:path=\$XDG_RUNTIME_DIR/bus}" \\
       \
       XDG_DATA_HOME="\$HOME/.local/share" \
@@ -366,10 +366,10 @@ stdenv.mkDerivation rec {
       PULSE_SERVER="\''${PULSE_SERVER:-}" \
       PULSE_COOKIE="\''${PULSE_COOKIE:-}" \
       \
-      MOZ_ENABLE_WAYLAND=\$MOZ_ENABLE_WAYLAND \
-      WAYLAND_DISPLAY="\$WAYLAND_DISPLAY" \
-      XDG_RUNTIME_DIR="\$XDG_RUNTIME_DIR" \
-      XCURSOR_PATH="\$XCURSOR_PATH" \
+      MOZ_ENABLE_WAYLAND="\''${MOZ_ENABLE_WAYLAND:-}" \
+      WAYLAND_DISPLAY="\''${WAYLAND_DISPLAY:-}" \
+      XDG_RUNTIME_DIR="\''${XDG_RUNTIME_DIR:-}" \
+      XCURSOR_PATH="\''${XCURSOR_PATH:-}" \
       \
       APULSE_PLAYBACK_DEVICE="\''${APULSE_PLAYBACK_DEVICE:-plug:dmix}" \
       \
@@ -409,9 +409,7 @@ stdenv.mkDerivation rec {
     LD_LIBRARY_PATH=$libPath $TBB_IN_STORE/TorBrowser/Tor/tor --version >/dev/null
 
     echo "Checking tor-browser wrapper ..."
-    DISPLAY="" MOZ_ENABLE_WAYLAND="" WAYLAND_DISPLAY="" XAUTHORITY="" \
-      XCURSOR_PATH="" XDG_RUNTIME_DIR="" XDG_SESSION_TYPE="" \
-      DBUS_SESSION_BUS_ADDRESS="" TBB_HOME=$(mktemp -d) \
+      TBB_HOME=$(mktemp -d) \
       $out/bin/tor-browser --version >/dev/null
   '';
 
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
index 240d9a972fb..35fece92529 100644
--- a/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vimb";
-  version = "3.3.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "fanglingsu";
     repo = "vimb";
     rev = version;
-    sha256 = "1qg18z2gnsli9qgrqfhqfrsi6g9mcgr90w8yab28nxrq4aha6brf";
+    sha256 = "sha256-Eq4riJSznKpkW9JJDnTCLxZ9oMJTmWkIoGphOiCcSAg=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook pkg-config ];
diff --git a/pkgs/applications/networking/cluster/bosh-cli/default.nix b/pkgs/applications/networking/cluster/bosh-cli/default.nix
index beedc41fa8e..069307c41e9 100644
--- a/pkgs/applications/networking/cluster/bosh-cli/default.nix
+++ b/pkgs/applications/networking/cluster/bosh-cli/default.nix
@@ -39,5 +39,6 @@ buildGoModule rec {
     changelog = "https://github.com/cloudfoundry/bosh-cli/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ ris ];
+    mainProgram = "bosh";
   };
 }
diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix
index 3889082ec0c..21e2f00c3e2 100644
--- a/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -66,5 +66,6 @@ in buildGoModule rec {
     homepage = "https://fluxcd.io";
     license = licenses.asl20;
     maintainers = with maintainers; [ bryanasdev000 jlesquembre superherointj ];
+    mainProgram = "flux";
   };
 }
diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix
index aeca62764f0..3cceae804cf 100644
--- a/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/default.nix
@@ -46,17 +46,15 @@ with lib;
 # Those pieces of software we entirely ignore upstream's handling of, and just
 # make sure they're in the path if desired.
 let
-  k3sVersion = "1.23.5+k3s1";     # k3s git tag
-  k3sCommit = "313aaca547f030752788dce696fdf8c9568bc035"; # k3s git commit at the above version
-  k3sRepoSha256 = "0vk72609cyyh64irp14jp2zspnxw34jm710cbwgklx0ch6kiz88d";
-  k3sVendorSha256 = "sha256-d7kQsJi/eQbaTUDglp3gFpc5Im6CyD9coKeM3kMrbjI=";
-
-  k3sServerVendorSha256 = "sha256-E3USXNuXY0lzZH+t3O7BOQ8rKNNQ6avOMItgOEi1cEg=";
+  k3sVersion = "1.23.6+k3s1";     # k3s git tag
+  k3sCommit = "418c3fa858b69b12b9cefbcff0526f666a6236b9"; # k3s git commit at the above version
+  k3sRepoSha256 = "0fmw491dn5mpi058mr7sij51i5m4qg2grx30cnl3h2v4s0sdkx2i";
+  k3sVendorSha256 = "sha256-iHg5ySMaiSWXs98YGmxPwdZr4zdBIFma12dNEuf30Hs=";
 
   # taken from ./manifests/traefik.yaml, extracted from '.spec.chart' https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/download#L9
   # The 'patch' and 'minor' versions are currently hardcoded as single digits only, so ignore the trailing two digits. Weird, I know.
-  traefikChartVersion = "10.14.1";
-  traefikChartSha256 = "09a6cialx7nrh7nwi1gkkh8zcsasxcgb52dyx0r8bjq9ng29simj";
+  traefikChartVersion = "10.19.3";
+  traefikChartSha256 = "04zg5li957svgscdmkzmzjkwljaljyav68rzxmhakkwgav6q9058";
 
   # taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
   k3sRootVersion = "0.11.0";
@@ -68,8 +66,8 @@ let
 
   # taken from go.mod, the 'github.com/containerd/containerd' line
   # run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'`
-  containerdVersion = "1.5.10-k3s1";
-  containerdSha256 = "1ff2sfaqpjimq7w0lprci6ibyi6v65ap6b9sr6b0j12gqr2sqwa5";
+  containerdVersion = "1.5.11-k3s2";
+  containerdSha256 = "16132snvrg8r0vwm6c0lz0q6fx686s2ix53nm3aka9a83xs75vf2";
 
   # run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
   criCtlVersion = "1.22.0-k3s1";
@@ -175,7 +173,7 @@ let
     version = k3sVersion;
 
     src = k3sRepo;
-    vendorSha256 = k3sServerVendorSha256;
+    vendorSha256 = k3sVendorSha256;
 
     nativeBuildInputs = [ pkg-config ];
     buildInputs = [ libseccomp ];
@@ -223,7 +221,6 @@ buildGoModule rec {
   version = k3sVersion;
 
   src = k3sRepo;
-  proxyVendor = true;
   vendorSha256 = k3sVendorSha256;
 
   patches = [
diff --git a/pkgs/applications/networking/cluster/k3s/update.sh b/pkgs/applications/networking/cluster/k3s/update.sh
index 8f199bf9cc0..6c9755334cd 100755
--- a/pkgs/applications/networking/cluster/k3s/update.sh
+++ b/pkgs/applications/networking/cluster/k3s/update.sh
@@ -81,19 +81,6 @@ setKV containerdSha256 ${CONTAINERD_SHA256}
 
 setKV criCtlVersion ${CRI_CTL_VERSION}
 
-setKV k3sServerVendorSha256 "0000000000000000000000000000000000000000000000000000"
-
-set +e
-K3S_SERVER_VENDOR_SHA256=$(nix-build ${NIXPKGS_ROOT} --no-out-link -A k3s 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g')
-set -e
-
-if [ -n "${K3S_SERVER_VENDOR_SHA256:-}" ]; then
-    setKV k3sServerVendorSha256 ${K3S_SERVER_VENDOR_SHA256}
-else
-    echo "Update failed. K3S_SERVER_VENDOR_SHA256 is empty."
-    exit 1
-fi
-
 set +e
 K3S_VENDOR_SHA256=$(nix-prefetch -I nixpkgs=${NIXPKGS_ROOT} "{ sha256 }: (import ${NIXPKGS_ROOT}. {}).k3s.go-modules.overrideAttrs (_: { vendorSha256 = sha256; })")
 set -e
diff --git a/pkgs/applications/networking/cluster/krelay/default.nix b/pkgs/applications/networking/cluster/krelay/default.nix
index f0a9912ab91..16e9203bf9c 100644
--- a/pkgs/applications/networking/cluster/krelay/default.nix
+++ b/pkgs/applications/networking/cluster/krelay/default.nix
@@ -27,5 +27,6 @@ buildGoModule rec {
     changelog = "https://github.com/knight42/krelay/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ ivankovnatsky ];
+    mainProgram = "kubectl-relay";
   };
 }
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index d4a9ba4af7d..3ee00d4121a 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -7,6 +7,7 @@
 , which
 , libvirt
 , vmnet
+, makeWrapper
 }:
 
 buildGoModule rec {
@@ -24,7 +25,7 @@ buildGoModule rec {
     sha256 = "sha256-WIk4ibq7jcqao0Qiz3mz9yfHdxTUlvtPuEh4gApSDBg=";
   };
 
-  nativeBuildInputs = [ installShellFiles pkg-config which ];
+  nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ];
 
   buildInputs = if stdenv.isDarwin then [ vmnet ] else if stdenv.isLinux then [ libvirt ] else null;
 
@@ -35,9 +36,8 @@ buildGoModule rec {
   installPhase = ''
     install out/minikube -Dt $out/bin
 
+    wrapProgram $out/bin/minikube --set MINIKUBE_WANTUPDATENOTIFICATION false
     export HOME=$PWD
-    export MINIKUBE_WANTUPDATENOTIFICATION=false
-    export MINIKUBE_WANTKUBECTLDOWNLOADMSG=false
 
     for shell in bash zsh fish; do
       $out/bin/minikube completion $shell > minikube.$shell
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index bab73c41f5f..89bbd0cb7d6 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -60,9 +60,10 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Build, deploy, and manage your applications with Docker and Kubernetes";
-    license = licenses.asl20;
     homepage = "http://www.openshift.org";
+    license = licenses.asl20;
     maintainers = with maintainers; [ offline bachp moretea stehessel ];
+    mainProgram = "oc";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 73f618cb029..b4191bbd78c 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -63,11 +63,10 @@ let
           kalbasit
           marsam
           maxeaubrey
+          techknowlogick
           timstott
-          zimbatm
           zowoq
-          techknowlogick
-        ];
+        ] ++ teams.numtide.members;
       };
     } // attrs');
 
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 8421a077d00..d74378378b9 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.3.8";
+  version = "3.3.9";
 
   # Fetch from GitHub in order to use `requirements.in`
   src = fetchFromGitHub {
     owner = "flexget";
     repo = "flexget";
-    rev = "v${version}";
-    hash = "sha256-ZGs5ixNcrkoZ4TRVuIUeNF1FNJwKpYElNv6oPhGiEmU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-29V22B1Nkgj/qc6uyAOSOZ1rrjjtf75I9Eycu8I5ysQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/alfaview/default.nix b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
index eae63701d4d..94ad490aead 100644
--- a/pkgs/applications/networking/instant-messengers/alfaview/default.nix
+++ b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, lib, fetchurl, dpkg, autoPatchelfHook, makeWrapper
+{ stdenv, lib, fetchurl, dpkg, autoPatchelfHook, makeWrapper, wrapGAppsHook
 , alsa-lib, dbus, fontconfig, freetype, glib, gst_all_1, libGL
 , libinput, libpulseaudio, libsecret, libtiff, libxkbcommon
 , mesa, openssl, systemd, xorg }:
 
 stdenv.mkDerivation rec {
   pname = "alfaview";
-  version = "8.42.0";
+  version = "8.43.0";
 
   src = fetchurl {
     url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb";
-    sha256 = "sha256-O440sk6OJUsO+5TuzLxkUELnCfxKd5byoxSD+Rs4h1c=";
+    sha256 = "sha256-Rm1U3gxrToNCigL5AomftSUED7X3i7a6enmFnEzWV4c=";
   };
 
   nativeBuildInputs = [
     dpkg
     makeWrapper
     autoPatchelfHook
+    wrapGAppsHook
   ];
 
   buildInputs = [
@@ -25,6 +26,7 @@ stdenv.mkDerivation rec {
     freetype
     glib
     gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-good
     gst_all_1.gst-plugins-base
     libGL
     libinput
@@ -72,7 +74,7 @@ stdenv.mkDerivation rec {
     description = "Video-conferencing application, specialized in virtual online meetings, seminars, training sessions and conferences";
     homepage = "https://alfaview.com";
     license = licenses.unfree;
-    maintainers = with maintainers; [ wolfangaukang ];
+    maintainers = with maintainers; [ wolfangaukang hexchen ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/chatty/default.nix b/pkgs/applications/networking/instant-messengers/chatty/default.nix
index 586d49cf96f..2b8edf319cf 100644
--- a/pkgs/applications/networking/instant-messengers/chatty/default.nix
+++ b/pkgs/applications/networking/instant-messengers/chatty/default.nix
@@ -29,7 +29,7 @@
 
 stdenv.mkDerivation rec {
   pname = "chatty";
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchFromGitLab {
     domain = "source.puri.sm";
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     repo = "chatty";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-BILi3+i7SCiK7dVbckv3cNMNyEwgKMf0ct0z/J1xysI=";
+    hash = "sha256-uDuSx+tWv6DV93/99QUcUKZaWA9kNW8phHZhetYlG/M=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/freetalk/default.nix b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
index 4c28e346a12..ffe82e6708a 100644
--- a/pkgs/applications/networking/instant-messengers/freetalk/default.nix
+++ b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib, stdenv, fetchFromGitHub, fetchpatch
 , guile, pkg-config, glib, loudmouth, gmp, libidn, readline, libtool
 , libunwind, ncurses, curl, jansson, texinfo
 , automake, autoconf }:
@@ -13,6 +13,16 @@ stdenv.mkDerivation rec {
     sha256 = "09jwk2i8qd8c7wrn9xbqcwm32720dwxis22kf3jpbg8mn6w6i757";
   };
 
+  patches = [
+    # Pull pending patch for -fno-common tuulchain support:
+    #   https://github.com/GNUFreetalk/freetalk/pull/39
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/GNUFreetalk/freetalk/commit/f04d6bc8422be44cdf51b29c9a4310f20a18775a.patch";
+      sha256 = "1zjm56cdibnqabgcwl2bx79dj6dmqjf40zghqwwb0lfi60v1njqf";
+    })
+  ];
+
   preConfigure = ''
     ./autogen.sh
   '';
diff --git a/pkgs/applications/networking/instant-messengers/linphone/default.nix b/pkgs/applications/networking/instant-messengers/linphone/default.nix
index 3b11f7fc1a8..306a53f0a3c 100644
--- a/pkgs/applications/networking/instant-messengers/linphone/default.nix
+++ b/pkgs/applications/networking/instant-messengers/linphone/default.nix
@@ -1,51 +1,18 @@
-{ bcg729
-, bctoolbox
-, bcunit
+{ bctoolbox
 , belcard
 , belle-sip
 , belr
-, bzrtp
-, cairo
 , cmake
-, cyrus_sasl
 , fetchFromGitLab
-, fetchurl
-, ffmpeg
-, gdk-pixbuf
-, glib
-, graphviz
-, gtk2
-, intltool
 , lib
-, libexosip
 , liblinphone
-, libmatroska
-, libnotify
-, libosip
-, libsoup
-, libupnp
-, libX11
-, libxml2
-, makeWrapper
-, mbedtls
 , mediastreamer
 , mediastreamer-openh264
 , minizip2
 , mkDerivation
-, openldap
-, ortp
-, pango
-, pkg-config
-, qtbase
 , qtgraphicaleffects
 , qtquickcontrols2
 , qttranslations
-, readline
-, speex
-, sqlite
-
-, udev
-, zlib
 }:
 
 # How to update Linphone? (The Qt desktop app)
@@ -95,57 +62,22 @@ mkDerivation rec {
   # linphone-desktop.
   buildInputs = [
     # Made by BC
-    bcg729
     bctoolbox
     belcard
     belle-sip
     belr
-    bzrtp
     liblinphone
     mediastreamer
     mediastreamer-openh264
-    ortp
-
-    # Vendored by BC but we use upstream, might cause problems
-    libmatroska
 
-    cairo
-    cyrus_sasl
-    ffmpeg
-    gdk-pixbuf
-    glib
-    gtk2
-    libX11
-    libexosip
-    libnotify
-    libosip
-    libsoup
-    libupnp
-    libxml2
-    mbedtls
     minizip2
-    openldap
-    pango
-    qtbase
     qtgraphicaleffects
     qtquickcontrols2
     qttranslations
-    readline
-    speex
-    sqlite
-    udev
-    zlib
   ];
 
   nativeBuildInputs = [
-    # Made by BC
-    bcunit
-
     cmake
-    graphviz
-    intltool
-    makeWrapper
-    pkg-config
   ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index aeb20d6779e..fe3f90346f1 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -43,13 +43,13 @@ assert enablePsiMedia -> enablePlugins;
 
 mkDerivation rec {
   pname = "psi-plus";
-  version = "1.5.1615";
+  version = "1.5.1618";
 
   src = fetchFromGitHub {
     owner = "psi-plus";
     repo = "psi-plus-snapshots";
     rev = version;
-    sha256 = "sha256-aD+JVGmBWHUav2bH9rXGtgqI+/5lJTMrYLRP7E65JxI=";
+    sha256 = "sha256-ueZYFOZFCPQrg9etZCrY5ZTn7PZMkcuwbXVPPbW9S/A=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index c96fb1b58a9..6afccfaaa07 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -24,7 +24,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "5.39.0"; # Please backport all updates to the stable channel.
+  version = "5.42.0"; # Please backport all updates to the stable channel.
   # All releases have a limited lifetime and "expire" 90 days after the release.
   # When releases "expire" the application becomes unusable until an update is
   # applied. The expiration date for the current release can be extracted with:
@@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "sha256-Dy5orMKZvvnHZu/2U5YIJdDR4eDM3SBjXVGHuBv0kgc=";
+    sha256 = "sha256-xjSj7eKaDV8WB0SiPb4orxKK8mV2a2EWiMBK7BE8mgU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index c848cb55c0d..f81b8853c8b 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20220425";
+  version = "20220430";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    sha256 = "sha256-FWW4rVaoShT55ZWN/siFHoTTNcarnfTa2h/J2GWxLW8=";
+    sha256 = "sha256-clG0B7PgtlpsSnZgglkv7y7SOtMTBvwJMnvMrcTWXdI=";
   };
 
   # Remove when Apple SDK is >= 10.13
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
index a900a469e03..2dc16701222 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
@@ -18,7 +18,7 @@ let
   scriptPython = python.withPackages (ps: with ps; [
     aiohttp
     requests
-    python_magic
+    python-magic
   ]);
 
   version = "0.3.0";
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix
index 987271e4ffa..fd5f376ad26 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix
@@ -24,6 +24,9 @@ let
 
     buildInputs = [ gmp ];
 
+    # Tests are relying on old Python 2 modules.
+    doCheck = false;
+
     preConfigure = ''
       sed -i 's,/usr/include,/no-such-dir,' configure
       sed -i "s!,'/usr/include/'!!" setup.py
@@ -66,5 +69,9 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ oxzi ];
     description = "WeeChat script for Off-the-Record messaging";
+    knownVulnerabilities = [
+      "There is no upstream release since 2018-03."
+      "Utilizes deprecated and vulnerable pycrypto library with Debian patches from 2020-04."
+    ];
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix
index 5d00242452b..97634c1d2cd 100644
--- a/pkgs/applications/networking/mailreaders/aerc/default.nix
+++ b/pkgs/applications/networking/mailreaders/aerc/default.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "aerc";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromSourcehut {
     owner = "~rjarry";
     repo = pname;
     rev = version;
-    sha256 = "sha256-D4cZVNh3YFaVRHGFn5Nt6kMSRCShj0w5n7pTxgYik2s=";
+    sha256 = "sha256-v1+12UCgBbH/2PxZ9QdDN30LmyzVcfGlYiVNVPYO3zs=";
   };
 
   proxyVendor = true;
diff --git a/pkgs/applications/networking/mailreaders/alot/default.nix b/pkgs/applications/networking/mailreaders/alot/default.nix
index cb49829dce0..d8a4d1066ec 100644
--- a/pkgs/applications/networking/mailreaders/alot/default.nix
+++ b/pkgs/applications/networking/mailreaders/alot/default.nix
@@ -40,7 +40,7 @@ with python3.pkgs; buildPythonApplication rec {
     file
     gpgme
     notmuch2
-    python_magic
+    python-magic
     service-identity
     twisted
     urwid
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 43cd7183c51..2bcfd839e28 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "20220415";
+  version = "20220429";
   pname = "neomutt";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = version;
-    sha256 = "sha256-iVKDgVN7YFPEMP+OISS7jRG9Whs2QG60yH1r2kw3MUQ=";
+    sha256 = "sha256-LBY7WtmEMg/PcMS/Tc5XEYunIWjoI4IQfUJURKgy1YA=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 18e09326f35..06bbf293f1d 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -79,6 +79,11 @@ stdenv.mkDerivation rec {
   in ''
     mkdir -p test/test-databases
     ln -s ${test-database} test/test-databases/database-v1.tar.xz
+  ''
+  # TODO: restore after resolved upstream
+  # https://www.mail-archive.com/notmuch@notmuchmail.org/msg52808.html
+  + ''
+    rm test/T355-smime.sh
   '';
 
   doCheck = !stdenv.hostPlatform.isDarwin && (lib.versionAtLeast gmime.version "3.0.3");
diff --git a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
index e5edfaa4670..92a8563633c 100644
--- a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
+++ b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
@@ -3,12 +3,12 @@ electron, libsecret }:
 
 stdenv.mkDerivation rec {
   pname = "tutanota-desktop";
-  version = "3.91.10";
+  version = "3.95.4";
 
   src = fetchurl {
-    url = "https://github.com/tutao/tutanota/releases/download/tutanota-release-${version}/${pname}-${version}-unpacked-linux.tar.gz";
+    url = "https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${version}/${pname}-${version}-unpacked-linux.tar.gz";
     name = "tutanota-desktop-${version}.tar.gz";
-    sha256 = "sha256-RlEgpXco0lkkjlJ8FZz4MxYznKLPl1Lxkb5MSmhOTzI=";
+    sha256 = "0kkkp0nw4fby4663w7g0k2y1sg89pm336slzii1s3n70h8cak3dx";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/n8n/default.nix b/pkgs/applications/networking/n8n/default.nix
index 72b4c772048..84ac952846f 100644
--- a/pkgs/applications/networking/n8n/default.nix
+++ b/pkgs/applications/networking/n8n/default.nix
@@ -1,9 +1,8 @@
-{ pkgs, nodejs-14_x, stdenv, lib }:
+{ pkgs, nodejs-16_x, stdenv, lib, nixosTests }:
 
 let
   nodePackages = import ./node-composition.nix {
     inherit pkgs;
-    nodejs = nodejs-14_x;
     inherit (stdenv.hostPlatform) system;
   };
 in
@@ -12,7 +11,17 @@ nodePackages.n8n.override {
     node-pre-gyp
   ];
 
-  passthru.updateScript = ./generate-dependencies.sh;
+  dontNpmInstall = true;
+
+  postInstall = ''
+    mkdir -p $out/bin
+    ln -s $out/lib/node_modules/n8n/bin/n8n $out/bin/n8n
+  '';
+
+  passthru = {
+    updateScript = ./generate-dependencies.sh;
+    tests = nixosTests.n8n;
+  };
 
   meta = with lib; {
     description = "Free and open fair-code licensed node based Workflow Automation Tool";
diff --git a/pkgs/applications/networking/n8n/generate-dependencies.sh b/pkgs/applications/networking/n8n/generate-dependencies.sh
index f7412bc5e5e..7c1b90a0403 100755
--- a/pkgs/applications/networking/n8n/generate-dependencies.sh
+++ b/pkgs/applications/networking/n8n/generate-dependencies.sh
@@ -13,7 +13,7 @@
 cd "$(dirname $(readlink -f $0))"
 
 node2nix \
-  --14 \
+  --nodejs-16 \
   --strip-optional-dependencies \
   --node-env node-env.nix \
   --input package.json \
diff --git a/pkgs/applications/networking/n8n/node-composition.nix b/pkgs/applications/networking/n8n/node-composition.nix
index 53bdef1f986..ca76a98f5a6 100644
--- a/pkgs/applications/networking/n8n/node-composition.nix
+++ b/pkgs/applications/networking/n8n/node-composition.nix
@@ -1,8 +1,8 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-16_x"}:
 
 let
   nodeEnv = import ./node-env.nix {
diff --git a/pkgs/applications/networking/n8n/node-env.nix b/pkgs/applications/networking/n8n/node-env.nix
index 5f055785791..2590dd267a4 100644
--- a/pkgs/applications/networking/n8n/node-env.nix
+++ b/pkgs/applications/networking/n8n/node-env.nix
@@ -98,7 +98,7 @@ let
       ''
       + (lib.concatMapStrings (dependency:
         ''
-          if [ ! -e "${dependency.name}" ]; then
+          if [ ! -e "${dependency.packageName}" ]; then
               ${composePackage dependency}
           fi
         ''
@@ -257,8 +257,8 @@ let
           var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
 
           if(![1, 2].includes(packageLock.lockfileVersion)) {
-             process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
-             process.exit(1);
+            process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
+            process.exit(1);
           }
 
           if(packageLock.dependencies !== undefined) {
@@ -390,7 +390,7 @@ let
   buildNodePackage =
     { name
     , packageName
-    , version
+    , version ? null
     , dependencies ? []
     , buildInputs ? []
     , production ? true
@@ -409,7 +409,7 @@ let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
     in
     stdenv.mkDerivation ({
-      name = "${name}-${version}";
+      name = "${name}${if version == null then "" else "-${version}"}";
       buildInputs = [ tarWrapper python nodejs ]
         ++ lib.optional (stdenv.isLinux) utillinux
         ++ lib.optional (stdenv.isDarwin) libtool
@@ -441,6 +441,14 @@ let
         if [ -d "$out/lib/node_modules/.bin" ]
         then
             ln -s $out/lib/node_modules/.bin $out/bin
+
+            # Patch the shebang lines of all the executables
+            ls $out/bin/* | while read i
+            do
+                file="$(readlink -f "$i")"
+                chmod u+rwx "$file"
+                patchShebangs "$file"
+            done
         fi
 
         # Create symlinks to the deployed manual page folders, if applicable
@@ -471,7 +479,7 @@ let
   buildNodeDependencies =
     { name
     , packageName
-    , version
+    , version ? null
     , src
     , dependencies ? []
     , buildInputs ? []
@@ -489,7 +497,7 @@ let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
     in
       stdenv.mkDerivation ({
-        name = "node-dependencies-${name}-${version}";
+        name = "node-dependencies-${name}${if version == null then "" else "-${version}"}";
 
         buildInputs = [ tarWrapper python nodejs ]
           ++ lib.optional (stdenv.isLinux) utillinux
@@ -519,6 +527,7 @@ let
             if [ -f ${src}/package-lock.json ]
             then
                 cp ${src}/package-lock.json .
+                chmod 644 package-lock.json
             fi
           ''}
 
@@ -541,7 +550,7 @@ let
   buildNodeShell =
     { name
     , packageName
-    , version
+    , version ? null
     , src
     , dependencies ? []
     , buildInputs ? []
@@ -557,9 +566,10 @@ let
 
     let
       nodeDependencies = buildNodeDependencies args;
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "unpackPhase" "buildPhase" ];
     in
-    stdenv.mkDerivation {
-      name = "node-shell-${name}-${version}";
+    stdenv.mkDerivation ({
+      name = "node-shell-${name}${if version == null then "" else "-${version}"}";
 
       buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
       buildCommand = ''
@@ -578,7 +588,7 @@ let
         export NODE_PATH=${nodeDependencies}/lib/node_modules
         export PATH="${nodeDependencies}/bin:$PATH"
       '';
-    };
+    } // extraArgs);
 in
 {
   buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix
index c0a2b9a5fd9..0b6f39726a7 100644
--- a/pkgs/applications/networking/n8n/node-packages.nix
+++ b/pkgs/applications/networking/n8n/node-packages.nix
@@ -1,16 +1,16 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
-    "@azure/abort-controller-1.0.5" = {
+    "@azure/abort-controller-1.1.0" = {
       name = "_at_azure_slash_abort-controller";
       packageName = "@azure/abort-controller";
-      version = "1.0.5";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.0.5.tgz";
-        sha512 = "G5sjKExiVsbFQo+4YY5MBPOSsh3EUv6XmqjgJaF/VCjckWLGGKPUPGfbCSn6Xal6gzGoPQMOQ+wCCGNCX9NAPg==";
+        url = "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz";
+        sha512 = "TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==";
       };
     };
     "@azure/core-asynciterator-polyfill-1.0.2" = {
@@ -31,13 +31,13 @@ let
         sha512 = "7CU6DmCHIZp5ZPiZ9r3J17lTKMmYsm/zGvNkjArQwPkrLlZ1TZ+EUYfGgh2X31OLMVAQCTJZW4cXHJi02EbJnA==";
       };
     };
-    "@azure/core-http-2.2.4" = {
+    "@azure/core-http-2.2.5" = {
       name = "_at_azure_slash_core-http";
       packageName = "@azure/core-http";
-      version = "2.2.4";
+      version = "2.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-http/-/core-http-2.2.4.tgz";
-        sha512 = "QmmJmexXKtPyc3/rsZR/YTLDvMatzbzAypJmLzvlfxgz/SkgnqV/D4f6F2LsK6tBj1qhyp8BoXiOebiej0zz3A==";
+        url = "https://registry.npmjs.org/@azure/core-http/-/core-http-2.2.5.tgz";
+        sha512 = "kctMqSQ6zfnlFpuYzfUKadeTyOQYbIQ+3Rj7dzVC3Dk1dOnHroTwR9hLYKX8/n85iJpkyaksaXpuh5L7GJRYuQ==";
       };
     };
     "@azure/core-lro-2.2.4" = {
@@ -976,13 +976,13 @@ let
         sha512 = "z4oo33lmnvvNRqfUe3YjDGGpqu/L2+wXBIhMtwq6oqZ+exOUAkQYM6zd2VWKF7AIlajOF8ZZuPFfryTG9iLC/w==";
       };
     };
-    "aws-sdk-2.1125.0" = {
+    "aws-sdk-2.1129.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1125.0";
+      version = "2.1129.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1125.0.tgz";
-        sha512 = "2syNkKDqDcDmB/chc61a5xx+KYzaarLs1/KshE0b1Opp2oSq2FARyUBbk59HgwKaDUB61uPF33ZG9sHiIVx2hQ==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1129.0.tgz";
+        sha512 = "gQZaByfW7zKCg1n/kA+xDdLhI/SauaokRTq+lztK1cCCdFkR5CShcKeK/qUgVxjy43mwB7CkeTh1WUr2NMb0jg==";
       };
     };
     "aws-sign2-0.7.0" = {
@@ -1858,13 +1858,13 @@ let
         sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     };
-    "core-js-3.22.3" = {
+    "core-js-3.22.4" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.22.3";
+      version = "3.22.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.3.tgz";
-        sha512 = "1t+2a/d2lppW1gkLXx3pKPVGbBdxXAkqztvWb1EJ8oF8O2gIGiytzflNiFEehYwVK/t2ryUsGBoOFFvNx95mbg==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.4.tgz";
+        sha512 = "1uLykR+iOfYja+6Jn/57743gc9n73EWiOnSJJ4ba3B4fOEYDBv25MagmEZBxTp5cWq4b/KPx/l77zgsp28ju4w==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -2641,13 +2641,13 @@ let
         sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     };
-    "follow-redirects-1.14.9" = {
+    "follow-redirects-1.15.0" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.14.9";
+      version = "1.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz";
-        sha512 = "MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz";
+        sha512 = "aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==";
       };
     };
     "for-each-0.3.3" = {
@@ -4522,13 +4522,13 @@ let
         sha512 = "qIcmHAtVJotgiYo3vVMLwC9qaU5ih5ti4+aPu2I1onD6WEu8GMNF38AzIAceYl6U8EhvDB+DOsF/SjYHfl26iw==";
       };
     };
-    "n8n-editor-ui-0.142.0" = {
+    "n8n-editor-ui-0.142.1" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "0.142.0";
+      version = "0.142.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.142.0.tgz";
-        sha512 = "aDXm64Y+tcLicd0z9pIxhSfqCb/JjsMIAOJ7DB35HKg7riOE7TGBHkWQ6F61XEjusJLl6ZGr15V+9EoCTu+02g==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.142.1.tgz";
+        sha512 = "Me8fk76HeWUmTPnksH4kzG0bKOp1yLFjAC4F+EcEllIIf+x75kjN+gSH4uwgvspzGCVO88ZnppWoGQwvHQpXQw==";
       };
     };
     "n8n-nodes-base-0.173.0" = {
@@ -4567,13 +4567,13 @@ let
         sha512 = "wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==";
       };
     };
-    "nanoid-3.3.3" = {
+    "nanoid-3.3.4" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.3.3";
+      version = "3.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz";
-        sha512 = "p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz";
+        sha512 = "MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==";
       };
     };
     "native-duplexpair-1.0.0" = {
@@ -4693,13 +4693,13 @@ let
         sha512 = "KUdDsspqx89sD4UUyUKzdlUOper3hRkDVkrKh/89G+d9WKsU5ox51NWS4tB1XR5dPUdR4SP0E3molyEfOvSa3g==";
       };
     };
-    "nodemailer-6.7.4" = {
+    "nodemailer-6.7.5" = {
       name = "nodemailer";
       packageName = "nodemailer";
-      version = "6.7.4";
+      version = "6.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.4.tgz";
-        sha512 = "TBSS3qS8WG45ycUwEvEA/3UM1o3sLz9jUl4TPUKPz4ImWWM6UgRCb5pLO+HOouDKEj57yNLOrzQlO8+9IjWZoA==";
+        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.5.tgz";
+        sha512 = "6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg==";
       };
     };
     "nopt-5.0.0" = {
@@ -6367,13 +6367,13 @@ let
         sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     };
-    "sqlite3-5.0.6" = {
+    "sqlite3-5.0.7" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "5.0.6";
+      version = "5.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.6.tgz";
-        sha512 = "uT1dC6N3ReF+jchY01zvl1wVFFJ5xO86wSnCpK39uA/zmAHBDm6TiAq1v876QKv8JgiijxQ7/fb5C2LPm7ZAJA==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.7.tgz";
+        sha512 = "9PUfvpol1/5SI3WZawFINwpRz6qhUeJJtFNG6rr0CvDWMXN75PJPv+3b0aVEOOx5rAZIPcXW2zVasH8foqw7Gg==";
       };
     };
     "sqlstring-2.3.3" = {
@@ -6493,22 +6493,22 @@ let
         sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
       };
     };
-    "string.prototype.trimend-1.0.4" = {
+    "string.prototype.trimend-1.0.5" = {
       name = "string.prototype.trimend";
       packageName = "string.prototype.trimend";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz";
-        sha512 = "y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==";
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz";
+        sha512 = "I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==";
       };
     };
-    "string.prototype.trimstart-1.0.4" = {
+    "string.prototype.trimstart-1.0.5" = {
       name = "string.prototype.trimstart";
       packageName = "string.prototype.trimstart";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz";
-        sha512 = "jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==";
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz";
+        sha512 = "THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==";
       };
     };
     "string_decoder-0.10.31" = {
@@ -7534,13 +7534,13 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "0.175.0";
+    version = "0.175.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-0.175.0.tgz";
-      sha512 = "FKIroWsEZNZ/HUdM6iQ8QY6WxYs4uQufodBoKpbcu6JJKF/ufYO4U8lpIM0nV2YCMaB+JAVvswim0SUDB6KF3A==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-0.175.1.tgz";
+      sha512 = "rInwNB6wxOs79EvC2HFALyDhdDPJwLVT+z1LivxLRD9dZOrtlMD9wdDfESpHYS5ikND4T5JW32HaxGF9nnzlJA==";
     };
     dependencies = [
-      (sources."@azure/abort-controller-1.0.5" // {
+      (sources."@azure/abort-controller-1.1.0" // {
         dependencies = [
           sources."tslib-2.4.0"
         ];
@@ -7551,7 +7551,7 @@ in
           sources."tslib-2.4.0"
         ];
       })
-      (sources."@azure/core-http-2.2.4" // {
+      (sources."@azure/core-http-2.2.5" // {
         dependencies = [
           sources."tough-cookie-4.0.0"
           sources."tslib-2.4.0"
@@ -7725,7 +7725,7 @@ in
         ];
       })
       sources."avsc-5.7.4"
-      (sources."aws-sdk-2.1125.0" // {
+      (sources."aws-sdk-2.1129.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."events-1.1.1"
@@ -7902,7 +7902,7 @@ in
       sources."cookie-0.4.1"
       sources."cookie-parser-1.4.6"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.3"
+      sources."core-js-3.22.4"
       sources."core-util-is-1.0.2"
       sources."crc-32-1.2.2"
       sources."cron-1.7.2"
@@ -8012,7 +8012,7 @@ in
       })
       sources."flatted-3.2.5"
       sources."fn.name-1.1.0"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."for-each-0.3.3"
       sources."forever-agent-0.6.1"
       sources."form-data-4.0.0"
@@ -8282,7 +8282,7 @@ in
       sources."mz-2.7.0"
       sources."n8n-core-0.116.0"
       sources."n8n-design-system-0.19.0"
-      sources."n8n-editor-ui-0.142.0"
+      sources."n8n-editor-ui-0.142.1"
       (sources."n8n-nodes-base-0.173.0" // {
         dependencies = [
           sources."iconv-lite-0.6.3"
@@ -8296,7 +8296,7 @@ in
         ];
       })
       sources."nanoclone-0.2.1"
-      sources."nanoid-3.3.3"
+      sources."nanoid-3.3.4"
       sources."native-duplexpair-1.0.0"
       (sources."nearley-2.20.1" // {
         dependencies = [
@@ -8317,7 +8317,7 @@ in
       sources."node-html-parser-5.3.3"
       sources."node-ssh-12.0.4"
       sources."nodeify-1.0.1"
-      sources."nodemailer-6.7.4"
+      sources."nodemailer-6.7.5"
       sources."nopt-5.0.0"
       sources."normalize-path-3.0.0"
       sources."normalize-wheel-1.0.1"
@@ -8577,7 +8577,7 @@ in
         ];
       })
       sources."sprintf-js-1.1.2"
-      sources."sqlite3-5.0.6"
+      sources."sqlite3-5.0.7"
       sources."sqlstring-2.3.3"
       sources."sse-channel-3.1.1"
       sources."ssf-0.11.2"
@@ -8591,8 +8591,8 @@ in
       sources."stream-shift-1.0.1"
       sources."string-similarity-4.0.4"
       sources."string-width-4.2.3"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-0.10.31"
       sources."strip-ansi-6.0.1"
       sources."strtok3-6.3.0"
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index f4e4c8279de..4d62cc4c828 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "liferea";
-  version = "1.12.9";
+  version = "1.13.8";
 
   src = fetchurl {
     url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
-    sha256 = "06ybr1wjlfir8iqjx6x0v1knd4b2hsy30qmkk4kssy6ky2ahc66q";
+    sha256 = "0x2857nhn98hlzqxmxb2h2wcasr5jkhciih71wcnp0cja60aw20h";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 2c07d637bd4..32dadb8e5f9 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -6,6 +6,7 @@
 , inotify-tools
 , installShellFiles
 , libcloudproviders
+, librsvg
 , libsecret
 , openssl
 , pcre
@@ -20,7 +21,6 @@
 , plasma5Packages
 , sphinx
 , sqlite
-, inkscape
 , xdg-utils
 }:
 
@@ -50,18 +50,15 @@ mkDerivation rec {
     done
   '';
 
-  # required to not include inkscape in the wrapper
-  strictDeps = true;
-
   nativeBuildInputs = [
     pkg-config
     cmake
-    inkscape
+    extra-cmake-modules
+    librsvg
     sphinx
   ];
 
   buildInputs = [
-    extra-cmake-modules
     inotify-tools
     libcloudproviders
     libsecret
diff --git a/pkgs/applications/networking/p2p/transgui/default.nix b/pkgs/applications/networking/p2p/transgui/default.nix
index da7633221a5..a0e2388d16c 100644
--- a/pkgs/applications/networking/p2p/transgui/default.nix
+++ b/pkgs/applications/networking/p2p/transgui/default.nix
@@ -1,30 +1,38 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, makeDesktopItem, unzip, fpc, lazarus,
-libX11, glib, gtk2, gdk-pixbuf, pango, atk, cairo, openssl }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, makeDesktopItem, fetchpatch, unzip
+, fpc, lazarus, libX11, glib, gtk2, gdk-pixbuf, pango, atk, cairo, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "transgui";
-  version = "5.18.0";
+  version = "unstable-2022-02-02";
 
   src = fetchFromGitHub {
     owner = "transmission-remote-gui";
     repo = "transgui";
-    rev = "v${version}";
-    sha256 = "1dyx778756zhvz5sxgdvy49p2c0x44w4nmcfd90wqrmgfknncnf5";
+    rev = "0e2c2a07c1b21b1704c0a4945a111a8aa1050a1a";
+    sha256 = "1x9wzii3q9zanpik4xc99jqsfrqch8vjmlx12jrvczxcfy51b1ba";
   };
 
+  patches = [
+    # TDDO: remove when transgui updates for transmission-daemon v3 rpc protocol
+    (fetchpatch {
+      url = "https://github.com/transmission-remote-gui/transgui/commit/9275c3fb877dd753a1940d1b900630cdc09a0cc2.patch";
+      sha256 = "0w2x7gcxp5kqczdz7ckfqhdz9hhkm62k8gcws54d6km7x9vc1023";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config unzip ];
   buildInputs = [
-    fpc lazarus stdenv.cc
-    libX11 glib gtk2 gdk-pixbuf pango atk cairo openssl
+    fpc lazarus stdenv.cc libX11 glib gtk2 gdk-pixbuf
+    pango atk cairo openssl
   ];
 
-  NIX_LDFLAGS = "
-    -L${stdenv.cc.cc.lib}/lib
-    -lX11 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0
-    -lgdk_pixbuf-2.0 -lpango-1.0 -latk-1.0 -lcairo -lc -lcrypto
-  ";
+  NIX_LDFLAGS = ''
+    -L${stdenv.cc.cc.lib}/lib -lX11 -lglib-2.0 -lgtk-x11-2.0
+    -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpango-1.0 -latk-1.0 -lcairo
+    -lc -lcrypto
+  '';
 
-  prePatch = ''
+  postPatch = ''
     substituteInPlace restranslator.pas --replace /usr/ $out/
   '';
 
@@ -33,23 +41,19 @@ stdenv.mkDerivation rec {
     lazbuild -B transgui.lpr --lazarusdir=${lazarus}/share/lazarus
   '';
 
-  makeFlags = [
-    "FPC=fpc"
-    "PP=fpc"
-    "INSTALL_PREFIX=$(out)"
-  ];
+  makeFlags = [ "FPC=fpc" "PP=fpc" "INSTALL_PREFIX=$(out)" ];
 
   LCL_PLATFORM = "gtk2";
 
-  desktopItem = makeDesktopItem rec {
-    name = "transgui";
-    exec = name + " %U";
-    icon = name;
+  desktopItem = makeDesktopItem {
+    name = pname;
+    exec = "${pname} %U";
+    icon = pname;
     type = "Application";
     comment = meta.description;
     desktopName = "Transmission Remote GUI";
     genericName = "BitTorrent Client";
-    categories = [ "Application" "Network" "FileTransfer" "P2P" "GTK" ];
+    categories = [ "Network" "FileTransfer" "P2P" "GTK" ];
     startupNotify = true;
     mimeTypes = [ "application/x-bittorrent" "x-scheme-handler/magnet" ];
   };
@@ -64,10 +68,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A cross platform front-end for the Transmission Bit-Torrent client";
+    description = "A cross platform front-end for the Transmission BitTorrent client";
     homepage = "https://sourceforge.net/p/transgui";
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ ramkromberg ];
-    platforms = lib.platforms.linux;
+    mainProgram = "transgui";
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/applications/networking/protonvpn-cli/2.nix b/pkgs/applications/networking/protonvpn-cli/2.nix
new file mode 100644
index 00000000000..c3e9bd2ac21
--- /dev/null
+++ b/pkgs/applications/networking/protonvpn-cli/2.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, pythonOlder
+, requests
+, docopt
+, pythondialog
+, jinja2
+, distro
+, dialog
+, iptables
+, openvpn }:
+
+buildPythonApplication rec {
+  pname = "protonvpn-cli_2";
+  version = "2.2.11";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "Rafficer";
+    repo = "linux-cli-community";
+    # There is a tag and branch with the same name
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-CWQpisJPBXbf+d5tCGuxfSQQZBeF36WFF4b6OSUn3GY=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    docopt
+    pythondialog
+    jinja2
+    distro
+    dialog
+    openvpn
+    iptables
+  ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Linux command-line client for ProtonVPN using Openvpn";
+    homepage = "https://github.com/Rafficer/linux-cli-community";
+    maintainers = with maintainers; [ jtcoolen jefflabonte shamilton ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    mainProgram = "protonvpn";
+  };
+}
diff --git a/pkgs/applications/networking/protonvpn-cli/default.nix b/pkgs/applications/networking/protonvpn-cli/default.nix
index e46909d2a7c..5182b5c256f 100644
--- a/pkgs/applications/networking/protonvpn-cli/default.nix
+++ b/pkgs/applications/networking/protonvpn-cli/default.nix
@@ -1,37 +1,41 @@
-{ lib, fetchFromGitHub, python3Packages, openvpn, dialog, iptables }:
+{ lib
+, buildPythonApplication
+, pythonOlder
+, fetchFromGitHub
+, protonvpn-nm-lib
+, pythondialog
+, dialog
+}:
 
-python3Packages.buildPythonApplication rec {
-  pname = "protonvpn-linux-cli";
-  version = "2.2.6";
+buildPythonApplication rec {
+  pname = "protonvpn-cli";
+  version = "3.11.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "protonvpn";
     repo = "linux-cli";
-    rev = "v${version}";
-    sha256 = "0y7v9ikrmy5dbjlpbpacp08gy838i8z54m8m4ps7ldk1j6kyia3n";
+    rev = version;
+    sha256 = "sha256-u+POtUz7NoGS23aOmvDCZPUp2HW1xXGtfbZR88cWCBc=";
   };
 
-  propagatedBuildInputs = (with python3Packages; [
-      requests
-      docopt
-      setuptools
-      jinja2
-      pythondialog
-    ]) ++ [
-      dialog
-      openvpn
-      iptables
-    ];
+  propagatedBuildInputs = [
+    protonvpn-nm-lib
+    pythondialog
+    dialog
+  ];
 
-  # No tests
+  # Project has a dummy test
   doCheck = false;
 
   meta = with lib; {
     description = "Linux command-line client for ProtonVPN";
     homepage = "https://github.com/protonvpn/linux-cli";
-    maintainers = with maintainers; [ jtcoolen jefflabonte shamilton ];
+    maintainers = with maintainers; [ wolfangaukang ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    mainProgram = "protonvpn";
+    mainProgram = "protonvpn-cli";
   };
 }
diff --git a/pkgs/applications/networking/syncplay/default.nix b/pkgs/applications/networking/syncplay/default.nix
index 4927bc51b23..96420ff04de 100644
--- a/pkgs/applications/networking/syncplay/default.nix
+++ b/pkgs/applications/networking/syncplay/default.nix
@@ -14,7 +14,7 @@ buildPythonApplication rec {
   };
 
   propagatedBuildInputs = [ twisted certifi ]
-    ++ twisted.extras.tls
+    ++ twisted.extras-require.tls
     ++ lib.optional enableGUI pyside2;
   nativeBuildInputs = lib.optionals enableGUI [ qt5.wrapQtAppsHook ];
 
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index e4088c3c460..fc10b706bdc 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -4,21 +4,21 @@ let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
       pname = stname;
-      version = "1.19.2";
+      version = "1.20.1";
 
       src = fetchFromGitHub {
-        owner  = "syncthing";
-        repo   = "syncthing";
-        rev    = "v${version}";
-        sha256 = "sha256-Zday5lBsRCl00vnnXNKu6VMlq8zmwgI0I+73Pir7ss4=";
+        owner = "syncthing";
+        repo = "syncthing";
+        rev = "v${version}";
+        hash = "sha256-QJevD/meVPEHnfwT1Eu3cwfVFU+ab/16eJBl6cuhGdA=";
       };
 
-      vendorSha256 = "sha256-2yK0eE34cA7U1nDWRp/JigFpeveipmCuL4jP+94T3Sg=";
+      vendorSha256 = "sha256-NuiT2GytWaGkgSyl+qoe9DjCCL7wSHc6FU8C6rsy6Vc=";
 
       doCheck = false;
 
-      BUILD_USER="nix";
-      BUILD_HOST="nix";
+      BUILD_USER = "nix";
+      BUILD_HOST = "nix";
 
       buildPhase = ''
         runHook preBuild
@@ -45,11 +45,13 @@ let
         changelog = "https://github.com/syncthing/syncthing/releases/tag/v${version}";
         license = licenses.mpl20;
         maintainers = with maintainers; [ joko peterhoeg andrew-d ];
+        mainProgram = target;
         platforms = platforms.unix;
       };
     };
 
-in {
+in
+{
   syncthing = common {
     stname = "syncthing";
     target = "syncthing";
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 5ebde5e10de..c1744389e98 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -12,7 +12,7 @@
 , libatomic_ops, graphite2, harfbuzz, libodfgen, libzmf
 , librevenge, libe-book, libmwaw, glm, gst_all_1
 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
-, gnome, glib, ncurses, libepoxy, gpgme
+, gnome, glib, ncurses, libepoxy, gpgme, abseil-cpp
 , langs ? [ "ca" "cs" "da" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ro" "ru" "sl" "uk" "zh-CN" ]
 , withHelp ? true
 , kdeIntegration ? false, mkDerivation ? null, qtbase ? null, qtx11extras ? null
@@ -90,6 +90,9 @@ in (mkDrv rec {
       url = "https://github.com/archlinux/svntogit-packages/raw/f82958b9538f86e41b51f1ba7134968d2f3788d1/trunk/poppler-22.03.0.patch";
       sha256 = "5h4qJmx6Q3Q3dHUlSi8JXBziN2mAswGVWk5aDTLTwls=";
     })
+
+    # Fix build with poppler 22.04
+    ./poppler-22-04-0.patch
   ];
 
   ### QT/KDE
@@ -174,7 +177,6 @@ in (mkDrv rec {
       # this I actually hate, this should be a data consistency test!
       sed -e '/CPPUNIT_TEST(testTdf115013);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
       # rendering-dependent test
-      sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
       # tilde expansion in path processing checks the existence of $HOME
       sed -e 's@OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx
       # fails on systems using ZFS, see https://github.com/NixOS/nixpkgs/issues/19071
@@ -187,9 +189,6 @@ in (mkDrv rec {
       # one more fragile test?
       sed -e '/CPPUNIT_TEST(testTdf77014);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
       # rendering-dependent tests
-      sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
-      sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
-      sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
       sed -e '/CPPUNIT_TEST(testLegacyCellAnchoredRotatedShape)/d' -i sc/qa/unit/filters-test.cxx
       sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx
       sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
@@ -220,37 +219,6 @@ in (mkDrv rec {
       sed -e '/CPPUNIT_TEST(testTdf113818);/d' -i './sd/qa/unit/export-tests.cxx'
       sed -e '/CPPUNIT_TEST(testTdf119629);/d' -i './sd/qa/unit/export-tests.cxx'
       sed -e '/CPPUNIT_TEST(testTdf113822);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(test);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testConditionalFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF16LErtlSHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256ODF12);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256W3C);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_XL_SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testColorScaleExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testDataBarExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testNamedRangeBugfdo62729);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRichTextExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testFormulaRefSheetNameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellValuesExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellNoteExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedChartODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellAnchoredGroupXLS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCeilingFloorODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRelativePathsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testSheetProtectionODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testSwappedOutImageExport);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testLinkedGraphicRT);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testImageWithSpecialID);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testAbsNamedRangeHTML);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testMoveCellAnchoredShapesODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRefStringUnspecified);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHeaderImageODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf88657ODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testExponentWithoutSignFormatXLSX);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHiddenRepeatedRowsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHyperlinkTargetFrameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
       sed -e '/CPPUNIT_TEST(testTdf105739);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
       sed -e '/CPPUNIT_TEST(testPageBitmapWithTransparency);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
       sed -e '/CPPUNIT_TEST(testTdf115005);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
@@ -409,7 +377,7 @@ in (mkDrv rec {
       mdds bluez5 libwps libabw libzmf
       libxshmfence libatomic_ops graphite2 harfbuzz gpgme util-linux
       librevenge libe-book libmwaw glm ncurses libepoxy
-      libodfgen CoinMP librdf_rasqal gnome.adwaita-icon-theme gettext
+      libodfgen CoinMP librdf_rasqal gnome.adwaita-icon-theme gettext abseil-cpp
     ]
     ++ (with gst_all_1; [
       gstreamer
diff --git a/pkgs/applications/office/libreoffice/poppler-22-04-0.patch b/pkgs/applications/office/libreoffice/poppler-22-04-0.patch
new file mode 100644
index 00000000000..c907bf1680b
--- /dev/null
+++ b/pkgs/applications/office/libreoffice/poppler-22-04-0.patch
@@ -0,0 +1,100 @@
+Patch from OpenSUSE
+https://build.opensuse.org/package/view_file/LibreOffice:Factory/libreoffice/poppler-22-04-0.patch?expand=1&rev=45e176f964509ebe3560d0dbf1ec8be9
+Index: libreoffice-7.3.3.1/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+===================================================================
+--- libreoffice-7.3.3.1.orig/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
++++ libreoffice-7.3.3.1/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+@@ -474,12 +474,21 @@ int PDFOutDev::parseFont( long long nNew
+     {
+         // TODO(P3): Unfortunately, need to read stream twice, since
+         // we must write byte count to stdout before
++#if POPPLER_CHECK_VERSION(22, 04, 0) // readEmbFontFile signature changed
++        auto pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef());
++        if ( pBuf )
++        {
++            aNewFont.isEmbedded = true;
++            nSize = pBuf->size();
++        }
++#else
+         char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize );
+         if( pBuf )
+         {
+             aNewFont.isEmbedded = true;
+             gfree(pBuf);
+         }
++#endif
+     }
+ 
+     m_aFontMap[ nNewId ] = aNewFont;
+@@ -492,21 +501,35 @@ void PDFOutDev::writeFontFile( GfxFont*
+         return;
+ 
+     int nSize = 0;
++#if POPPLER_CHECK_VERSION(22, 04, 0) // readEmbFontFile signature changed
++    auto pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef());
++    if ( !pBuf )
++        return;
++    nSize = pBuf->size();
++#else
+     char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize );
+     if( !pBuf )
+         return;
++#endif
+ 
+     // ---sync point--- see SYNC STREAMS above
+     fflush(stdout);
+ 
++#if POPPLER_CHECK_VERSION(22, 04, 0) // readEmbFontFile signature changed
++    if( fwrite(pBuf->data(), sizeof(unsigned char), nSize, g_binary_out) != static_cast<size_t>(nSize) )
++    {
++#else
+     if( fwrite(pBuf, sizeof(char), nSize, g_binary_out) != static_cast<size_t>(nSize) )
+     {
+         gfree(pBuf);
++#endif
+         exit(1); // error
+     }
+     // ---sync point--- see SYNC STREAMS above
+     fflush(g_binary_out);
++#if !POPPLER_CHECK_VERSION(22, 04, 0) // readEmbFontFile signature changed
+     gfree(pBuf);
++#endif
+ }
+ 
+ #if POPPLER_CHECK_VERSION(0, 83, 0)
+@@ -759,7 +782,11 @@ void PDFOutDev::updateFont(GfxState *sta
+ {
+     assert(state);
+ 
++#if POPPLER_CHECK_VERSION(22, 04, 0)
++    std::shared_ptr<GfxFont> gfxFont = state->getFont();
++#else
+     GfxFont *gfxFont = state->getFont();
++#endif
+     if( !gfxFont )
+         return;
+ 
+@@ -776,7 +803,11 @@ void PDFOutDev::updateFont(GfxState *sta
+         m_aFontMap.find( fontID );
+     if( it == m_aFontMap.end() )
+     {
++#if POPPLER_CHECK_VERSION(22, 04, 0)
++        nEmbedSize = parseFont( fontID, gfxFont.get(), state );
++#else
+         nEmbedSize = parseFont( fontID, gfxFont, state );
++#endif
+         it = m_aFontMap.find( fontID );
+     }
+ 
+@@ -806,7 +837,11 @@ void PDFOutDev::updateFont(GfxState *sta
+ 
+     if (nEmbedSize)
+     {
++#if POPPLER_CHECK_VERSION(22, 04, 0)
++        writeFontFile(gfxFont.get());
++#else
+         writeFontFile(gfxFont);
++#endif
+     }
+ }
+ 
diff --git a/pkgs/applications/office/libreoffice/src-fresh/download.nix b/pkgs/applications/office/libreoffice/src-fresh/download.nix
index 9bfccf4c306..5ed0517e944 100644
--- a/pkgs/applications/office/libreoffice/src-fresh/download.nix
+++ b/pkgs/applications/office/libreoffice/src-fresh/download.nix
@@ -21,11 +21,11 @@
     md5name = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19-apr-util-1.5.4.tar.gz";
   }
   {
-    name = "boost_1_75_0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/boost_1_75_0.tar.xz";
-    sha256 = "cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b";
+    name = "boost_1_77_0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/boost_1_77_0.tar.xz";
+    sha256 = "9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e";
     md5 = "";
-    md5name = "cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b-boost_1_75_0.tar.xz";
+    md5name = "9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e-boost_1_77_0.tar.xz";
   }
   {
     name = "box2d-2.3.1.tar.gz";
@@ -56,11 +56,11 @@
     md5name = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269-bzip2-1.0.8.tar.gz";
   }
   {
-    name = "cairo-1.16.0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/cairo-1.16.0.tar.xz";
-    sha256 = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331";
+    name = "cairo-1.17.4.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/cairo-1.17.4.tar.xz";
+    sha256 = "74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705";
     md5 = "";
-    md5name = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331-cairo-1.16.0.tar.xz";
+    md5name = "74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705-cairo-1.17.4.tar.xz";
   }
   {
     name = "libcdr-0.1.7.tar.xz";
@@ -126,11 +126,11 @@
     md5name = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9-libe-book-0.1.3.tar.xz";
   }
   {
-    name = "libepoxy-1.5.3.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libepoxy-1.5.3.tar.xz";
-    sha256 = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d";
+    name = "libepoxy-1.5.9.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libepoxy-1.5.9.tar.xz";
+    sha256 = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4";
     md5 = "";
-    md5name = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d-libepoxy-1.5.3.tar.xz";
+    md5name = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4-libepoxy-1.5.9.tar.xz";
   }
   {
     name = "epm-3.7.tar.gz";
@@ -154,11 +154,11 @@
     md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
   }
   {
-    name = "expat-2.4.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/expat-2.4.1.tar.bz2";
-    sha256 = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40";
+    name = "expat-2.4.6.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/expat-2.4.6.tar.xz";
+    sha256 = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b";
     md5 = "";
-    md5name = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40-expat-2.4.1.tar.bz2";
+    md5name = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b-expat-2.4.6.tar.xz";
   }
   {
     name = "Firebird-3.0.7.33374-0.tar.bz2";
@@ -168,11 +168,11 @@
     md5name = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76-Firebird-3.0.7.33374-0.tar.bz2";
   }
   {
-    name = "fontconfig-2.13.91.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/fontconfig-2.13.91.tar.gz";
-    sha256 = "19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5";
+    name = "fontconfig-2.13.94.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/fontconfig-2.13.94.tar.xz";
+    sha256 = "a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c";
     md5 = "";
-    md5name = "19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5-fontconfig-2.13.91.tar.gz";
+    md5name = "a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c-fontconfig-2.13.94.tar.xz";
   }
   {
     name = "crosextrafonts-20130214.tar.gz";
@@ -315,25 +315,25 @@
     md5name = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac-libfreehand-0.1.2.tar.xz";
   }
   {
-    name = "freetype-2.9.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/freetype-2.9.1.tar.bz2";
-    sha256 = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d";
+    name = "freetype-2.11.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/freetype-2.11.0.tar.xz";
+    sha256 = "8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7";
     md5 = "";
-    md5name = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d-freetype-2.9.1.tar.bz2";
+    md5name = "8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7-freetype-2.11.0.tar.xz";
   }
   {
-    name = "glm-0.9.9.7.zip";
-    url = "https://dev-www.libreoffice.org/src/glm-0.9.9.7.zip";
-    sha256 = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95";
+    name = "glm-0.9.9.8.zip";
+    url = "https://dev-www.libreoffice.org/src/glm-0.9.9.8.zip";
+    sha256 = "6bba5f032bed47c73ad9397f2313b9acbfb56253d0d0576b5873d3dcb25e99ad";
     md5 = "";
-    md5name = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95-glm-0.9.9.7.zip";
+    md5name = "6bba5f032bed47c73ad9397f2313b9acbfb56253d0d0576b5873d3dcb25e99ad-glm-0.9.9.8.zip";
   }
   {
-    name = "gpgme-1.13.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/gpgme-1.13.1.tar.bz2";
-    sha256 = "c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46";
+    name = "gpgme-1.16.0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/gpgme-1.16.0.tar.bz2";
+    sha256 = "6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0";
     md5 = "";
-    md5name = "c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46-gpgme-1.13.1.tar.bz2";
+    md5name = "6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0-gpgme-1.16.0.tar.bz2";
   }
   {
     name = "graphite2-minimal-1.3.14.tgz";
@@ -343,11 +343,11 @@
     md5name = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc-graphite2-minimal-1.3.14.tgz";
   }
   {
-    name = "harfbuzz-2.6.0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/harfbuzz-2.6.0.tar.xz";
-    sha256 = "9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966";
+    name = "harfbuzz-2.8.2.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/harfbuzz-2.8.2.tar.xz";
+    sha256 = "d58461395ce28b9dc03903254374dd70c38c8c28c5046db123c08f7ab9417be7";
     md5 = "";
-    md5name = "9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966-harfbuzz-2.6.0.tar.xz";
+    md5name = "d58461395ce28b9dc03903254374dd70c38c8c28c5046db123c08f7ab9417be7-harfbuzz-2.8.2.tar.xz";
   }
   {
     name = "hsqldb_1_8_0.zip";
@@ -371,18 +371,18 @@
     md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
   }
   {
-    name = "icu4c-69_1-src.tgz";
-    url = "https://dev-www.libreoffice.org/src/icu4c-69_1-src.tgz";
-    sha256 = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745";
+    name = "icu4c-70_1-src.tgz";
+    url = "https://dev-www.libreoffice.org/src/icu4c-70_1-src.tgz";
+    sha256 = "8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5";
     md5 = "";
-    md5name = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745-icu4c-69_1-src.tgz";
+    md5name = "8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5-icu4c-70_1-src.tgz";
   }
   {
-    name = "icu4c-69_1-data.zip";
-    url = "https://dev-www.libreoffice.org/src/icu4c-69_1-data.zip";
-    sha256 = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf";
+    name = "icu4c-70_1-data.zip";
+    url = "https://dev-www.libreoffice.org/src/icu4c-70_1-data.zip";
+    sha256 = "c72723ddba3300ffb231d6b09e2a728ea6e89de10ed5927f74bacbd77042336e";
     md5 = "";
-    md5name = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf-icu4c-69_1-data.zip";
+    md5name = "c72723ddba3300ffb231d6b09e2a728ea6e89de10ed5927f74bacbd77042336e-icu4c-70_1-data.zip";
   }
   {
     name = "flow-engine-0.9.4.zip";
@@ -462,18 +462,18 @@
     md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
   }
   {
-    name = "libjpeg-turbo-1.5.3.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.3.tar.gz";
-    sha256 = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523";
+    name = "libjpeg-turbo-2.1.1.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-2.1.1.tar.gz";
+    sha256 = "20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4";
     md5 = "";
-    md5name = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523-libjpeg-turbo-1.5.3.tar.gz";
+    md5name = "20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4-libjpeg-turbo-2.1.1.tar.gz";
   }
   {
-    name = "language-subtag-registry-2021-08-06.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2021-08-06.tar.bz2";
-    sha256 = "08452d3997c78e21f2d81e31409dc46557707be6dc1df3129674019659e5ff9b";
+    name = "language-subtag-registry-2021-12-29.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2021-12-29.tar.bz2";
+    sha256 = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837";
     md5 = "";
-    md5name = "08452d3997c78e21f2d81e31409dc46557707be6dc1df3129674019659e5ff9b-language-subtag-registry-2021-08-06.tar.bz2";
+    md5name = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837-language-subtag-registry-2021-12-29.tar.bz2";
   }
   {
     name = "JLanguageTool-1.7.0.tar.bz2";
@@ -483,18 +483,18 @@
     md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
   }
   {
-    name = "lcms2-2.11.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/lcms2-2.11.tar.gz";
-    sha256 = "dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e";
+    name = "lcms2-2.12.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/lcms2-2.12.tar.gz";
+    sha256 = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5";
     md5 = "";
-    md5name = "dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e-lcms2-2.11.tar.gz";
+    md5name = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5-lcms2-2.12.tar.gz";
   }
   {
-    name = "libassuan-2.5.3.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/libassuan-2.5.3.tar.bz2";
-    sha256 = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702";
+    name = "libassuan-2.5.5.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libassuan-2.5.5.tar.bz2";
+    sha256 = "8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4";
     md5 = "";
-    md5name = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702-libassuan-2.5.3.tar.bz2";
+    md5name = "8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4-libassuan-2.5.5.tar.bz2";
   }
   {
     name = "libatomic_ops-7.6.8.tar.gz";
@@ -511,11 +511,11 @@
     md5name = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a-libeot-0.01.tar.bz2";
   }
   {
-    name = "libexttextcat-3.4.5.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libexttextcat-3.4.5.tar.xz";
-    sha256 = "13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191b87f7a63e82797dac8";
+    name = "libexttextcat-3.4.6.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libexttextcat-3.4.6.tar.xz";
+    sha256 = "6d77eace20e9ea106c1330e268ede70c9a4a89744ddc25715682754eca3368df";
     md5 = "";
-    md5name = "13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191b87f7a63e82797dac8-libexttextcat-3.4.5.tar.xz";
+    md5name = "6d77eace20e9ea106c1330e268ede70c9a4a89744ddc25715682754eca3368df-libexttextcat-3.4.6.tar.xz";
   }
   {
     name = "libffi-3.3.tar.gz";
@@ -525,25 +525,25 @@
     md5name = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056-libffi-3.3.tar.gz";
   }
   {
-    name = "libgpg-error-1.37.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/libgpg-error-1.37.tar.bz2";
-    sha256 = "b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763";
+    name = "libgpg-error-1.43.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libgpg-error-1.43.tar.bz2";
+    sha256 = "a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf";
     md5 = "";
-    md5name = "b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763-libgpg-error-1.37.tar.bz2";
+    md5name = "a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf-libgpg-error-1.43.tar.bz2";
   }
   {
-    name = "liblangtag-0.6.2.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2";
-    sha256 = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e";
+    name = "liblangtag-0.6.3.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.3.tar.bz2";
+    sha256 = "1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd";
     md5 = "";
-    md5name = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e-liblangtag-0.6.2.tar.bz2";
+    md5name = "1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd-liblangtag-0.6.3.tar.bz2";
   }
   {
-    name = "libnumbertext-1.0.7.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libnumbertext-1.0.7.tar.xz";
-    sha256 = "17b8249cb89ae11ae15a85612d2665626c0e0e3e56b35654363ba6566d8b61fc";
+    name = "libnumbertext-1.0.10.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libnumbertext-1.0.10.tar.xz";
+    sha256 = "a285573864eaac8d36a0f66d946e9b1d3cf01c5d93d31fda00264a76f2633beb";
     md5 = "";
-    md5name = "17b8249cb89ae11ae15a85612d2665626c0e0e3e56b35654363ba6566d8b61fc-libnumbertext-1.0.7.tar.xz";
+    md5name = "a285573864eaac8d36a0f66d946e9b1d3cf01c5d93d31fda00264a76f2633beb-libnumbertext-1.0.10.tar.xz";
   }
   {
     name = "ltm-1.0.zip";
@@ -553,25 +553,25 @@
     md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip";
   }
   {
-    name = "xmlsec1-1.2.32.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.32.tar.gz";
-    sha256 = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043";
+    name = "xmlsec1-1.2.33.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.33.tar.gz";
+    sha256 = "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931";
     md5 = "";
-    md5name = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043-xmlsec1-1.2.32.tar.gz";
+    md5name = "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931-xmlsec1-1.2.33.tar.gz";
   }
   {
-    name = "libxml2-2.9.12.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.12.tar.gz";
-    sha256 = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92";
+    name = "libxml2-2.9.13.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.13.tar.xz";
+    sha256 = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e";
     md5 = "";
-    md5name = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92-libxml2-2.9.12.tar.gz";
+    md5name = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e-libxml2-2.9.13.tar.xz";
   }
   {
-    name = "libxslt-1.1.34.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/libxslt-1.1.34.tar.gz";
-    sha256 = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f";
+    name = "libxslt-1.1.35.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libxslt-1.1.35.tar.xz";
+    sha256 = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79";
     md5 = "";
-    md5name = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f-libxslt-1.1.34.tar.gz";
+    md5name = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79-libxslt-1.1.35.tar.xz";
   }
   {
     name = "lp_solve_5.5.tar.gz";
@@ -595,11 +595,11 @@
     md5name = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b-mariadb-connector-c-3.1.8-src.tar.gz";
   }
   {
-    name = "mdds-1.7.0.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/mdds-1.7.0.tar.bz2";
-    sha256 = "a66a2a8293a3abc6cd9baff7c236156e2666935cbfb69a15d64d38141638fecf";
+    name = "mdds-2.0.1.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/mdds-2.0.1.tar.bz2";
+    sha256 = "3ab33fce58e6acf9540cc1a52264be6863ef80f55ac287194cc98cda48e71fe6";
     md5 = "";
-    md5name = "a66a2a8293a3abc6cd9baff7c236156e2666935cbfb69a15d64d38141638fecf-mdds-1.7.0.tar.bz2";
+    md5name = "3ab33fce58e6acf9540cc1a52264be6863ef80f55ac287194cc98cda48e71fe6-mdds-2.0.1.tar.bz2";
   }
   {
     name = "mDNSResponder-878.200.35.tar.gz";
@@ -616,11 +616,11 @@
     md5name = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba-libmspub-0.1.4.tar.xz";
   }
   {
-    name = "libmwaw-0.3.19.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.19.tar.xz";
-    sha256 = "b272e234eefc828c4bb8344af0f047a62e070f530e9e2fba11b04c8db8eda5af";
+    name = "libmwaw-0.3.21.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.21.tar.xz";
+    sha256 = "e8750123a78d61b943cef78b7736c8a7f20bb0a649aa112402124fba794fc21c";
     md5 = "";
-    md5name = "b272e234eefc828c4bb8344af0f047a62e070f530e9e2fba11b04c8db8eda5af-libmwaw-0.3.19.tar.xz";
+    md5name = "e8750123a78d61b943cef78b7736c8a7f20bb0a649aa112402124fba794fc21c-libmwaw-0.3.21.tar.xz";
   }
   {
     name = "mythes-1.2.4.tar.gz";
@@ -679,11 +679,11 @@
     md5name = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1-openssl-1.1.1l.tar.gz";
   }
   {
-    name = "liborcus-0.16.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/liborcus-0.16.1.tar.bz2";
-    sha256 = "c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4";
+    name = "liborcus-0.17.2.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/liborcus-0.17.2.tar.bz2";
+    sha256 = "2a86c405a5929f749b27637509596421d46805753364ab258b035fd01fbde143";
     md5 = "";
-    md5name = "c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4-liborcus-0.16.1.tar.bz2";
+    md5name = "2a86c405a5929f749b27637509596421d46805753364ab258b035fd01fbde143-liborcus-0.17.2.tar.bz2";
   }
   {
     name = "libpagemaker-0.0.4.tar.xz";
@@ -693,18 +693,18 @@
     md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz";
   }
   {
-    name = "pdfium-4500.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/pdfium-4500.tar.bz2";
-    sha256 = "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304";
+    name = "pdfium-4699.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/pdfium-4699.tar.bz2";
+    sha256 = "ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf";
     md5 = "";
-    md5name = "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304-pdfium-4500.tar.bz2";
+    md5name = "ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf-pdfium-4699.tar.bz2";
   }
   {
-    name = "pixman-0.34.0.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
-    sha256 = "21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e";
-    md5 = "e80ebae4da01e77f68744319f01d52a3";
-    md5name = "e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
+    name = "pixman-0.40.0.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/pixman-0.40.0.tar.gz";
+    sha256 = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc";
+    md5 = "";
+    md5name = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc-pixman-0.40.0.tar.gz";
   }
   {
     name = "libpng-1.6.37.tar.xz";
@@ -791,11 +791,11 @@
     md5name = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc-serf-1.3.9.tar.bz2";
   }
   {
-    name = "skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
-    sha256 = "abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d";
+    name = "skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz";
+    sha256 = "97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177";
     md5 = "";
-    md5name = "abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d-skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
+    md5name = "97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177-skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz";
   }
   {
     name = "libstaroffice-0.0.7.tar.xz";
@@ -861,11 +861,11 @@
     md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
   }
   {
-    name = "zlib-1.2.11.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/zlib-1.2.11.tar.xz";
-    sha256 = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066";
+    name = "zlib-1.2.12.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/zlib-1.2.12.tar.xz";
+    sha256 = "7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18";
     md5 = "";
-    md5name = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066-zlib-1.2.11.tar.xz";
+    md5name = "7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18-zlib-1.2.12.tar.xz";
   }
   {
     name = "libzmf-0.0.2.tar.xz";
@@ -875,10 +875,17 @@
     md5name = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22-libzmf-0.0.2.tar.xz";
   }
   {
-    name = "zxing-cpp-1.1.1.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/zxing-cpp-1.1.1.tar.gz";
-    sha256 = "e595b3fa2ec320beb0b28f6af56b1141853257c2611686685639cebb3b248c86";
+    name = "zxing-cpp-1.2.0.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/zxing-cpp-1.2.0.tar.gz";
+    sha256 = "653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a";
+    md5 = "";
+    md5name = "653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a-zxing-cpp-1.2.0.tar.gz";
+  }
+  {
+    name = "libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz";
+    sha256 = "471dd83a813ed2816c2246c373004470ad0f6612c7ce72038929dc5161cdd58e";
     md5 = "";
-    md5name = "e595b3fa2ec320beb0b28f6af56b1141853257c2611686685639cebb3b248c86-zxing-cpp-1.1.1.tar.gz";
+    md5name = "471dd83a813ed2816c2246c373004470ad0f6612c7ce72038929dc5161cdd58e-libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz";
   }
 ]
diff --git a/pkgs/applications/office/libreoffice/src-fresh/override.nix b/pkgs/applications/office/libreoffice/src-fresh/override.nix
index 1e0ee64bd1f..ace442176dd 100644
--- a/pkgs/applications/office/libreoffice/src-fresh/override.nix
+++ b/pkgs/applications/office/libreoffice/src-fresh/override.nix
@@ -3,9 +3,21 @@ attrs:
 {
   postConfigure = attrs.postConfigure + ''
     sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/inc/swmodeltestbase.hxx'
+    sed -e '/CPPUNIT_ASSERT(!bRTL);/d' -i './vcl/qa/cppunit/text.cxx'
+
+    sed -e '/CPPUNIT_ASSERT_EQUAL(0, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(4, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(11, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(18, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+
+    sed -e '/CPPUNIT_ASSERT_EQUAL(3, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(9, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(17, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(22, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
   '';
   configureFlags = attrs.configureFlags ++ [
     (lib.enableFeature kdeIntegration "kf5")
     "--without-system-zxing"
+    "--without-system-cuckoo"
   ];
 }
diff --git a/pkgs/applications/office/libreoffice/src-fresh/primary.nix b/pkgs/applications/office/libreoffice/src-fresh/primary.nix
index 7d13558b935..50b28e6cf6b 100644
--- a/pkgs/applications/office/libreoffice/src-fresh/primary.nix
+++ b/pkgs/applications/office/libreoffice/src-fresh/primary.nix
@@ -7,8 +7,8 @@ rec {
   };
 
   major = "7";
-  minor = "2";
-  patch = "5";
+  minor = "3";
+  patch = "3";
   tweak = "2";
 
   subdir = "${major}.${minor}.${patch}";
@@ -17,13 +17,13 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "sha256-Z8G/sFnUMyhrAlKpFWJ7M69ju19LbslQnRO53UdVEqc=";
+    sha256 = "sha256-7hK9vhYhwg4nRLxbbFlngQ8lpXYLmKxYEtVQqwCWhoU=";
   };
 
   # FIXME rename
   translations = fetchSrc {
     name = "translations";
-    sha256 = "sha256-9rnuRifsEX7RAUdsX6VVw/xQS6dZeS3RbKnoC39uMd8=";
+    sha256 = "sha256-uRsKSC+kLVnhYF85o5FxZuf/dr+o6bYtbu8KmwSzNRw=";
   };
 
   # the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
@@ -31,6 +31,6 @@ rec {
 
   help = fetchSrc {
     name = "help";
-    sha256 = "sha256-6vERLWh0fkQcSRkC37fw2HBqxVtbr9kPEhOyWXjMrfM=";
+    sha256 = "sha256-aIY07MuALBVklhJLOUwOxeIQWam2zQCVkw+edvnu/ps=";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/src-still/download.nix b/pkgs/applications/office/libreoffice/src-still/download.nix
index 57eebe6ec6d..dddb89671b0 100644
--- a/pkgs/applications/office/libreoffice/src-still/download.nix
+++ b/pkgs/applications/office/libreoffice/src-still/download.nix
@@ -7,13 +7,6 @@
     md5name = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed-libabw-0.1.3.tar.xz";
   }
   {
-    name = "commons-logging-1.2-src.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz";
-    sha256 = "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81";
-    md5 = "";
-    md5name = "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81-commons-logging-1.2-src.tar.gz";
-  }
-  {
     name = "apr-1.5.2.tar.gz";
     url = "https://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz";
     sha256 = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb";
@@ -28,11 +21,11 @@
     md5name = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19-apr-util-1.5.4.tar.gz";
   }
   {
-    name = "boost_1_71_0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/boost_1_71_0.tar.xz";
-    sha256 = "35e06a3bd7cd8f66be822c7d64e80c2b6051a181e9e897006917cb8e7988a543";
+    name = "boost_1_75_0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/boost_1_75_0.tar.xz";
+    sha256 = "cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b";
     md5 = "";
-    md5name = "35e06a3bd7cd8f66be822c7d64e80c2b6051a181e9e897006917cb8e7988a543-boost_1_71_0.tar.xz";
+    md5name = "cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b-boost_1_75_0.tar.xz";
   }
   {
     name = "box2d-2.3.1.tar.gz";
@@ -42,11 +35,11 @@
     md5name = "58ffc8475a8650aadc351345aef696937747b40501ab78d72c197c5ff5b3035c-box2d-2.3.1.tar.gz";
   }
   {
-    name = "breakpad.zip";
-    url = "https://dev-www.libreoffice.org/src/breakpad.zip";
-    sha256 = "7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9";
+    name = "breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz";
+    sha256 = "c44a2e898895cfc13b42d2371ba4b88b0777d7782214d6cdc91c33720f3b0d91";
     md5 = "";
-    md5name = "7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9-breakpad.zip";
+    md5name = "c44a2e898895cfc13b42d2371ba4b88b0777d7782214d6cdc91c33720f3b0d91-breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz";
   }
   {
     name = "bsh-2.0b6-src.zip";
@@ -56,11 +49,11 @@
     md5name = "beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip";
   }
   {
-    name = "bzip2-1.0.6.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
-    sha256 = "a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd";
-    md5 = "00b516f4704d4a7cb50a1d97e6e8e15b";
-    md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
+    name = "bzip2-1.0.8.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/bzip2-1.0.8.tar.gz";
+    sha256 = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269";
+    md5 = "";
+    md5name = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269-bzip2-1.0.8.tar.gz";
   }
   {
     name = "cairo-1.16.0.tar.xz";
@@ -70,11 +63,11 @@
     md5name = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331-cairo-1.16.0.tar.xz";
   }
   {
-    name = "libcdr-0.1.6.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libcdr-0.1.6.tar.xz";
-    sha256 = "01cd00b04a030977e544433c2d127c997205332cd9b8e35ec0ee17110da7f861";
+    name = "libcdr-0.1.7.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libcdr-0.1.7.tar.xz";
+    sha256 = "5666249d613466b9aa1e987ea4109c04365866e9277d80f6cd9663e86b8ecdd4";
     md5 = "";
-    md5name = "01cd00b04a030977e544433c2d127c997205332cd9b8e35ec0ee17110da7f861-libcdr-0.1.6.tar.xz";
+    md5name = "5666249d613466b9aa1e987ea4109c04365866e9277d80f6cd9663e86b8ecdd4-libcdr-0.1.7.tar.xz";
   }
   {
     name = "clucene-core-2.3.3.4.tar.gz";
@@ -119,11 +112,11 @@
     md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
   }
   {
-    name = "curl-7.78.0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/curl-7.78.0.tar.xz";
-    sha256 = "be42766d5664a739c3974ee3dfbbcbe978a4ccb1fe628bb1d9b59ac79e445fb5";
+    name = "curl-7.79.1.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/curl-7.79.1.tar.xz";
+    sha256 = "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689";
     md5 = "";
-    md5name = "be42766d5664a739c3974ee3dfbbcbe978a4ccb1fe628bb1d9b59ac79e445fb5-curl-7.78.0.tar.xz";
+    md5name = "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689-curl-7.79.1.tar.xz";
   }
   {
     name = "libe-book-0.1.3.tar.xz";
@@ -154,25 +147,25 @@
     md5name = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad-libepubgen-0.1.1.tar.xz";
   }
   {
-    name = "libetonyek-0.1.9.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libetonyek-0.1.9.tar.xz";
-    sha256 = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a";
+    name = "libetonyek-0.1.10.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libetonyek-0.1.10.tar.xz";
+    sha256 = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a";
     md5 = "";
-    md5name = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a-libetonyek-0.1.9.tar.xz";
+    md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
   }
   {
-    name = "expat-2.4.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/expat-2.4.1.tar.bz2";
-    sha256 = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40";
+    name = "expat-2.4.6.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/expat-2.4.6.tar.xz";
+    sha256 = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b";
     md5 = "";
-    md5name = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40-expat-2.4.1.tar.bz2";
+    md5name = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b-expat-2.4.6.tar.xz";
   }
   {
-    name = "Firebird-3.0.0.32483-0.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/Firebird-3.0.0.32483-0.tar.bz2";
-    sha256 = "6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860";
+    name = "Firebird-3.0.7.33374-0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/Firebird-3.0.7.33374-0.tar.bz2";
+    sha256 = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76";
     md5 = "";
-    md5name = "6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860-Firebird-3.0.0.32483-0.tar.bz2";
+    md5name = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76-Firebird-3.0.7.33374-0.tar.bz2";
   }
   {
     name = "fontconfig-2.13.91.tar.gz";
@@ -217,11 +210,11 @@
     md5name = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3-liberation-narrow-fonts-ttf-1.07.6.tar.gz";
   }
   {
-    name = "liberation-fonts-ttf-2.00.4.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.00.4.tar.gz";
-    sha256 = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45";
+    name = "liberation-fonts-ttf-2.1.4.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.1.4.tar.gz";
+    sha256 = "26f85412dd0aa9d061504a1cc8aaf0aa12a70710e8d47d8b65a1251757c1a5ef";
     md5 = "";
-    md5name = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45-liberation-fonts-ttf-2.00.4.tar.gz";
+    md5name = "26f85412dd0aa9d061504a1cc8aaf0aa12a70710e8d47d8b65a1251757c1a5ef-liberation-fonts-ttf-2.1.4.tar.gz";
   }
   {
     name = "LinLibertineG-20120116.zip";
@@ -266,11 +259,11 @@
     md5name = "29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994-noto-fonts-20171024.tar.gz";
   }
   {
-    name = "culmus-0.131.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/culmus-0.131.tar.gz";
-    sha256 = "dcf112cfcccb76328dcfc095f4d7c7f4d2f7e48d0eed5e78b100d1d77ce2ed1b";
+    name = "culmus-0.133.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/culmus-0.133.tar.gz";
+    sha256 = "c0c6873742d07544f6bacf2ad52eb9cb392974d56427938dc1dfbc8399c64d05";
     md5 = "";
-    md5name = "dcf112cfcccb76328dcfc095f4d7c7f4d2f7e48d0eed5e78b100d1d77ce2ed1b-culmus-0.131.tar.gz";
+    md5name = "c0c6873742d07544f6bacf2ad52eb9cb392974d56427938dc1dfbc8399c64d05-culmus-0.133.tar.gz";
   }
   {
     name = "libre-hebrew-1.0.tar.gz";
@@ -378,18 +371,18 @@
     md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
   }
   {
-    name = "icu4c-68_1-src.tgz";
-    url = "https://dev-www.libreoffice.org/src/icu4c-68_1-src.tgz";
-    sha256 = "a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d";
+    name = "icu4c-69_1-src.tgz";
+    url = "https://dev-www.libreoffice.org/src/icu4c-69_1-src.tgz";
+    sha256 = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745";
     md5 = "";
-    md5name = "a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d-icu4c-68_1-src.tgz";
+    md5name = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745-icu4c-69_1-src.tgz";
   }
   {
-    name = "icu4c-68_1-data.zip";
-    url = "https://dev-www.libreoffice.org/src/icu4c-68_1-data.zip";
-    sha256 = "03ea8b4694155620548c8c0ba20444f1e7db246cc79e3b9c4fc7a960b160d510";
+    name = "icu4c-69_1-data.zip";
+    url = "https://dev-www.libreoffice.org/src/icu4c-69_1-data.zip";
+    sha256 = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf";
     md5 = "";
-    md5name = "03ea8b4694155620548c8c0ba20444f1e7db246cc79e3b9c4fc7a960b160d510-icu4c-68_1-data.zip";
+    md5name = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf-icu4c-69_1-data.zip";
   }
   {
     name = "flow-engine-0.9.4.zip";
@@ -476,11 +469,11 @@
     md5name = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523-libjpeg-turbo-1.5.3.tar.gz";
   }
   {
-    name = "language-subtag-registry-2021-03-05.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2021-03-05.tar.bz2";
-    sha256 = "ce80e8face06bf2ada363e0c159e3f990c4116fdae9232ca43e6369aa82bf16a";
+    name = "language-subtag-registry-2021-12-29.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2021-12-29.tar.bz2";
+    sha256 = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837";
     md5 = "";
-    md5name = "ce80e8face06bf2ada363e0c159e3f990c4116fdae9232ca43e6369aa82bf16a-language-subtag-registry-2021-03-05.tar.bz2";
+    md5name = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837-language-subtag-registry-2021-12-29.tar.bz2";
   }
   {
     name = "JLanguageTool-1.7.0.tar.bz2";
@@ -560,25 +553,25 @@
     md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip";
   }
   {
-    name = "xmlsec1-1.2.30.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.30.tar.gz";
-    sha256 = "2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8";
+    name = "xmlsec1-1.2.32.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.32.tar.gz";
+    sha256 = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043";
     md5 = "";
-    md5name = "2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8-xmlsec1-1.2.30.tar.gz";
+    md5name = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043-xmlsec1-1.2.32.tar.gz";
   }
   {
-    name = "libxml2-2.9.12.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.12.tar.gz";
-    sha256 = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92";
+    name = "libxml2-2.9.13.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.13.tar.xz";
+    sha256 = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e";
     md5 = "";
-    md5name = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92-libxml2-2.9.12.tar.gz";
+    md5name = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e-libxml2-2.9.13.tar.xz";
   }
   {
-    name = "libxslt-1.1.34.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/libxslt-1.1.34.tar.gz";
-    sha256 = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f";
+    name = "libxslt-1.1.35.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libxslt-1.1.35.tar.xz";
+    sha256 = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79";
     md5 = "";
-    md5name = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f-libxslt-1.1.34.tar.gz";
+    md5name = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79-libxslt-1.1.35.tar.xz";
   }
   {
     name = "lp_solve_5.5.tar.gz";
@@ -623,11 +616,11 @@
     md5name = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba-libmspub-0.1.4.tar.xz";
   }
   {
-    name = "libmwaw-0.3.17.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.17.tar.xz";
-    sha256 = "8e1537eb1de1b4714f4bf0a20478f342c5d71a65bf99307a694b1e9e30bb911c";
+    name = "libmwaw-0.3.19.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.19.tar.xz";
+    sha256 = "b272e234eefc828c4bb8344af0f047a62e070f530e9e2fba11b04c8db8eda5af";
     md5 = "";
-    md5name = "8e1537eb1de1b4714f4bf0a20478f342c5d71a65bf99307a694b1e9e30bb911c-libmwaw-0.3.17.tar.xz";
+    md5name = "b272e234eefc828c4bb8344af0f047a62e070f530e9e2fba11b04c8db8eda5af-libmwaw-0.3.19.tar.xz";
   }
   {
     name = "mythes-1.2.4.tar.gz";
@@ -651,11 +644,11 @@
     md5name = "07a9e5b70f121a62706140d4cacc3006d3efb869da40f3a2bf7a65d37847f4d9-nss-3.73-with-nspr-4.32.tar.gz";
   }
   {
-    name = "libodfgen-0.1.6.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/libodfgen-0.1.6.tar.bz2";
-    sha256 = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2";
+    name = "libodfgen-0.1.8.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libodfgen-0.1.8.tar.xz";
+    sha256 = "55200027fd46623b9bdddd38d275e7452d1b0ff8aeddcad6f9ae6dc25f610625";
     md5 = "";
-    md5name = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2-libodfgen-0.1.6.tar.bz2";
+    md5name = "55200027fd46623b9bdddd38d275e7452d1b0ff8aeddcad6f9ae6dc25f610625-libodfgen-0.1.8.tar.xz";
   }
   {
     name = "odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
@@ -672,11 +665,11 @@
     md5name = "8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
   }
   {
-    name = "openldap-2.4.45.tgz";
-    url = "https://dev-www.libreoffice.org/src/openldap-2.4.45.tgz";
-    sha256 = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824";
+    name = "openldap-2.4.59.tgz";
+    url = "https://dev-www.libreoffice.org/src/openldap-2.4.59.tgz";
+    sha256 = "99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34";
     md5 = "";
-    md5name = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824-openldap-2.4.45.tgz";
+    md5name = "99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34-openldap-2.4.59.tgz";
   }
   {
     name = "openssl-1.1.1l.tar.gz";
@@ -693,13 +686,6 @@
     md5name = "c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4-liborcus-0.16.1.tar.bz2";
   }
   {
-    name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
-    sha256 = "b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb";
-    md5 = "";
-    md5name = "b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb-owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
-  }
-  {
     name = "libpagemaker-0.0.4.tar.xz";
     url = "https://dev-www.libreoffice.org/src/libpagemaker-0.0.4.tar.xz";
     sha256 = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d";
@@ -707,11 +693,11 @@
     md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz";
   }
   {
-    name = "pdfium-4306.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/pdfium-4306.tar.bz2";
-    sha256 = "eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8";
+    name = "pdfium-4500.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/pdfium-4500.tar.bz2";
+    sha256 = "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304";
     md5 = "";
-    md5name = "eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8-pdfium-4306.tar.bz2";
+    md5name = "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304-pdfium-4500.tar.bz2";
   }
   {
     name = "pixman-0.34.0.tar.gz";
@@ -728,32 +714,32 @@
     md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz";
   }
   {
-    name = "poppler-21.01.0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/poppler-21.01.0.tar.xz";
-    sha256 = "016dde34e5f868ea98a32ca99b643325a9682281500942b7113f4ec88d20e2f3";
+    name = "poppler-21.11.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/poppler-21.11.0.tar.xz";
+    sha256 = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584";
     md5 = "";
-    md5name = "016dde34e5f868ea98a32ca99b643325a9682281500942b7113f4ec88d20e2f3-poppler-21.01.0.tar.xz";
+    md5name = "31b76b5cac0a48612fdd154c02d9eca01fd38fb8eaa77c1196840ecdeb53a584-poppler-21.11.0.tar.xz";
   }
   {
-    name = "postgresql-13.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/postgresql-13.1.tar.bz2";
-    sha256 = "12345c83b89aa29808568977f5200d6da00f88a035517f925293355432ffe61f";
+    name = "poppler-data-0.4.10.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/poppler-data-0.4.10.tar.gz";
+    sha256 = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30";
     md5 = "";
-    md5name = "12345c83b89aa29808568977f5200d6da00f88a035517f925293355432ffe61f-postgresql-13.1.tar.bz2";
+    md5name = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30-poppler-data-0.4.10.tar.gz";
   }
   {
-    name = "Python-3.8.8rc1.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/Python-3.8.8rc1.tar.xz";
-    sha256 = "bd746ed1ad9ccfa9b2a8d13736a5c452025c3600913d000078e6ed1df3d767b6";
+    name = "postgresql-13.5.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/postgresql-13.5.tar.bz2";
+    sha256 = "9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3";
     md5 = "";
-    md5name = "bd746ed1ad9ccfa9b2a8d13736a5c452025c3600913d000078e6ed1df3d767b6-Python-3.8.8rc1.tar.xz";
+    md5name = "9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3-postgresql-13.5.tar.bz2";
   }
   {
-    name = "QR-Code-generator-1.4.0.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/QR-Code-generator-1.4.0.tar.gz";
-    sha256 = "fcdf9fd69fde07ae4dca2351d84271a9de8093002f733b77c70f52f1630f6e4a";
+    name = "Python-3.8.10.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/Python-3.8.10.tar.xz";
+    sha256 = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9";
     md5 = "";
-    md5name = "fcdf9fd69fde07ae4dca2351d84271a9de8093002f733b77c70f52f1630f6e4a-QR-Code-generator-1.4.0.tar.gz";
+    md5name = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9-Python-3.8.10.tar.xz";
   }
   {
     name = "libqxp-0.0.2.tar.xz";
@@ -798,18 +784,18 @@
     md5name = "798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
   }
   {
-    name = "serf-1.2.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/serf-1.2.1.tar.bz2";
-    sha256 = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700";
+    name = "serf-1.3.9.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/serf-1.3.9.tar.bz2";
+    sha256 = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc";
     md5 = "";
-    md5name = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700-serf-1.2.1.tar.bz2";
+    md5name = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc-serf-1.3.9.tar.bz2";
   }
   {
-    name = "skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz";
-    sha256 = "f293656a15342a53bb407b932fc907c6894178a162f09728bd383e24d84b1301";
+    name = "skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
+    sha256 = "abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d";
     md5 = "";
-    md5name = "f293656a15342a53bb407b932fc907c6894178a162f09728bd383e24d84b1301-skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz";
+    md5name = "abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d-skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
   }
   {
     name = "libstaroffice-0.0.7.tar.xz";
@@ -888,4 +874,11 @@
     md5 = "";
     md5name = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22-libzmf-0.0.2.tar.xz";
   }
+  {
+    name = "zxing-cpp-1.1.1.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/zxing-cpp-1.1.1.tar.gz";
+    sha256 = "e595b3fa2ec320beb0b28f6af56b1141853257c2611686685639cebb3b248c86";
+    md5 = "";
+    md5name = "e595b3fa2ec320beb0b28f6af56b1141853257c2611686685639cebb3b248c86-zxing-cpp-1.1.1.tar.gz";
+  }
 ]
diff --git a/pkgs/applications/office/libreoffice/src-still/override.nix b/pkgs/applications/office/libreoffice/src-still/override.nix
index 186f4b17d6a..75fb085b9c9 100644
--- a/pkgs/applications/office/libreoffice/src-still/override.nix
+++ b/pkgs/applications/office/libreoffice/src-still/override.nix
@@ -3,11 +3,46 @@ attrs:
 {
   postConfigure = attrs.postConfigure + ''
     sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/inc/swmodeltestbase.hxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
+    sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
+    sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
+    sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
+    sed -e '/CPPUNIT_TEST(test);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testConditionalFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF16LErtlSHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256ODF12);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256W3C);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testProtectionKeyODS_XL_SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testColorScaleExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testDataBarExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testNamedRangeBugfdo62729);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testRichTextExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testFormulaRefSheetNameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testCellValuesExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testCellNoteExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testEmbeddedChartODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testCellAnchoredGroupXLS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testCeilingFloorODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testRelativePathsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testSheetProtectionODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testSwappedOutImageExport);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testLinkedGraphicRT);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testImageWithSpecialID);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testAbsNamedRangeHTML);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testMoveCellAnchoredShapesODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testRefStringUnspecified);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testHeaderImageODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testTdf88657ODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testExponentWithoutSignFormatXLSX);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testHiddenRepeatedRowsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testHyperlinkTargetFrameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
   '';
   configureFlags = attrs.configureFlags ++ [
     (lib.enableFeature kdeIntegration "kf5")
-    "--with-commons-logging-jar=${commonsLogging}/share/java/commons-logging-1.2.jar"
-    "--without-system-qrcodegen"
+    "--without-system-zxing"
   ];
-  patches = attrs.patches or [] ++ [ ../xdg-open-brief.patch ]; # drop this when switching to 7.2
+
+  patches = attrs.patches or [];
 }
diff --git a/pkgs/applications/office/libreoffice/src-still/primary.nix b/pkgs/applications/office/libreoffice/src-still/primary.nix
index 83179f2a136..52226fdc2d9 100644
--- a/pkgs/applications/office/libreoffice/src-still/primary.nix
+++ b/pkgs/applications/office/libreoffice/src-still/primary.nix
@@ -7,9 +7,9 @@ rec {
   };
 
   major = "7";
-  minor = "1";
-  patch = "8";
-  tweak = "1";
+  minor = "2";
+  patch = "6";
+  tweak = "2";
 
   subdir = "${major}.${minor}.${patch}";
 
@@ -17,13 +17,13 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "sha256-TGcR2/TSQJOjq7G1vXSa4MaEA6fG95rHVZfnjoiqeJM=";
+    sha256 = "sha256-SDdlqYuS2Q6MjHNeCNM8KjS1/h+8jn9rH5x0rRoUHjE=";
   };
 
   # FIXME rename
   translations = fetchSrc {
     name = "translations";
-    sha256 = "sha256-jy5dUzKCEBYiTXh6dBwgdfW1Ok5l1iDGyL13icQHWEM=";
+    sha256 = "sha256-fUZflmrCi4mOa6iZTm+K9IvRTlSjcI4UJ4EoyK/HHck=";
   };
 
   # the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
@@ -31,6 +31,6 @@ rec {
 
   help = fetchSrc {
     name = "help";
-    sha256 = "sha256-tr2hmCeRRyft03Nfk8afSaurCV6DJSYuxKo4GPK/It4=";
+    sha256 = "sha256-TjAgz7yV7y5VNrEuT2eElkNGZzh6J58T1TC3u2Ap2o4=";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/xdg-open-brief.patch b/pkgs/applications/office/libreoffice/xdg-open-brief.patch
deleted file mode 100644
index 0a2f02e71fe..00000000000
--- a/pkgs/applications/office/libreoffice/xdg-open-brief.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/shell/source/unix/misc/senddoc.sh b/shell/source/unix/misc/senddoc.sh
-index 4519e01f26e2..8985711a2c01 100755
---- a/shell/source/unix/misc/senddoc.sh
-+++ b/shell/source/unix/misc/senddoc.sh
-@@ -393,6 +393,8 @@ case `basename "$MAILER" | sed 's/-.*$//'` in
-             MAILER=/usr/bin/kde-open
-         elif [ -x /usr/bin/xdg-open ] ; then
-             MAILER=/usr/bin/xdg-open
-+        elif type -p xdg-open >/dev/null 2>&1 ; then
-+            MAILER="$(type -p xdg-open)"
-         else
-             echo "Unsupported mail client: `basename $MAILER | sed 's/-.*^//'`"
-             exit 2
diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix
index ec83da852ab..17a1a56b769 100644
--- a/pkgs/applications/office/paperless-ngx/default.nix
+++ b/pkgs/applications/office/paperless-ngx/default.nix
@@ -106,7 +106,7 @@ py.pkgs.pythonPackages.buildPythonApplication rec {
     python-dotenv
     python-gnupg
     python-Levenshtein
-    python_magic
+    python-magic
     pytz
     pyyaml
     redis
@@ -122,7 +122,7 @@ py.pkgs.pythonPackages.buildPythonApplication rec {
     threadpoolctl
     tika
     tqdm
-    twisted.extras.tls
+    twisted.extras-require.tls
     txaio
     tzlocal
     urllib3
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index 5e154510940..653e72a163e 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.57.1";
+  version = "0.57.2";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "sha256-uEEFkHyApf+TObcu+Yo5vBOs2Erq0IXGhbjzlEe8NmI=";
+    sha256 = "sha256-ftLKlNzr46iL/V+P3J1wtoUByGHHl7wrh4xctU4JYkM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/scribus/unstable.nix b/pkgs/applications/office/scribus/unstable.nix
index 754c9ba03d4..d3f706bbf05 100644
--- a/pkgs/applications/office/scribus/unstable.nix
+++ b/pkgs/applications/office/scribus/unstable.nix
@@ -84,6 +84,11 @@ mkDerivation rec {
       url = "https://github.com/scribusproject/scribus/commit/48263954a7dee0be815b00f417ae365ab26cdd85.patch";
       sha256 = "1WE9kALFw79bQH88NUafXaZ1Y/vJEKTIWxlk5c+opsQ=";
     })
+    # For Poppler 22.04
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/f2237b8f0b5cf7690e864a22ef7a63a6d769fa36.patch";
+      sha256 = "FXpLoX/a2Jy3GcfzrUUyVUfEAp5wAy2UfzfVA5lhwJw=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/shelf/default.nix b/pkgs/applications/office/shelf/default.nix
new file mode 100644
index 00000000000..7ad3b915188
--- /dev/null
+++ b/pkgs/applications/office/shelf/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, applet-window-buttons
+, karchive
+, kcoreaddons
+, ki18n
+, kio
+, kirigami2
+, mauikit
+, mauikit-filebrowsing
+, mauikit-texteditor
+, qtmultimedia
+, qtquickcontrols2
+, poppler
+}:
+
+mkDerivation rec {
+  pname = "shelf";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "shelf";
+    rev = "v${version}";
+    sha256 = "sha256-0a5UHrYrkLR35cezjin+K9cTk3+aLeUAkvBbmKMK61w=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    applet-window-buttons
+    karchive
+    kcoreaddons
+    ki18n
+    kio
+    kirigami2
+    mauikit
+    mauikit-filebrowsing
+    mauikit-texteditor
+    qtmultimedia
+    qtquickcontrols2
+    poppler
+  ];
+
+  meta = with lib; {
+    description = "Document and EBook collection manager";
+    homepage = "https://invent.kde.org/maui/shelf";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/applications/office/timeular/default.nix b/pkgs/applications/office/timeular/default.nix
index 477ae48b5f4..aa591c225ad 100644
--- a/pkgs/applications/office/timeular/default.nix
+++ b/pkgs/applications/office/timeular/default.nix
@@ -7,35 +7,30 @@
 }:
 
 let
-  version = "3.9.1";
+  version = "4.8.0";
   pname = "timeular";
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
-    sha256 = "103hy443p697jdkz6li8s1n6kg1r55jmiw2vbjz12kskf7njg4y4";
+    sha256 = "sha256:0y2asw3jf2n4c7y0yr669jfqw4frp5nzzv3lffimfdr78gihma66";
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 in appimageTools.wrapType2 rec {
-  inherit name src;
-
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
+  inherit pname version src;
 
   extraPkgs = pkgs: with pkgs; [
     libsecret
   ];
 
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
+    mv $out/bin/{${pname}-${version},${pname}}
     install -m 444 -D ${appimageContents}/timeular.desktop $out/share/applications/timeular.desktop
     install -m 444 -D ${appimageContents}/timeular.png $out/share/icons/hicolor/512x512/apps/timeular.png
     substituteInPlace $out/share/applications/timeular.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
+      --replace "Exec=AppRun --no-sandbox %U" "Exec=$out/bin/${pname}"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/office/todo.txt-cli/default.nix b/pkgs/applications/office/todo.txt-cli/default.nix
index 0e06cf2f65a..fbeea839962 100644
--- a/pkgs/applications/office/todo.txt-cli/default.nix
+++ b/pkgs/applications/office/todo.txt-cli/default.nix
@@ -23,6 +23,7 @@ in stdenv.mkDerivation {
     description = "Simple plaintext todo list manager";
     homepage = "http://todotxt.com";
     license = lib.licenses.gpl3;
+    mainProgram = "todo.sh";
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix
index 7190fe90040..9e2752e163f 100644
--- a/pkgs/applications/office/trilium/default.nix
+++ b/pkgs/applications/office/trilium/default.nix
@@ -19,16 +19,16 @@ let
     maintainers = with maintainers; [ fliegendewurst ];
   };
 
-  version = "0.50.3";
+  version = "0.51.2";
 
   desktopSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "sha256-0N2+NcdZGxaj4LcG5edyd3ry+0dSQSfUQRqZEYFfWqQ=";
+    sha256 = "17bqcnpvflpi5dlz9m294diwd6as5wha5jcv9a3qvhh4pq0nyr4z";
   };
 
   serverSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-    sha256 = "sha256-za32yRhusReoGIRdbfx30CPH63BVXz2Z7jkhxtb7XSo=";
+    sha256 = "0jjvg75a4va5d81x8dvpzmzax7p0bqd7psv0alkkl13m91gai6ig";
   };
 
 in {
diff --git a/pkgs/applications/radio/kalibrate-rtl/default.nix b/pkgs/applications/radio/kalibrate-rtl/default.nix
index eb5937bbc3c..b463faa4a25 100644
--- a/pkgs/applications/radio/kalibrate-rtl/default.nix
+++ b/pkgs/applications/radio/kalibrate-rtl/default.nix
@@ -26,7 +26,8 @@ stdenv.mkDerivation {
     '';
     homepage = "https://github.com/steve-m/kalibrate-rtl";
     license = licenses.bsd2;
-    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ bjornfor viraptor ];
+    mainProgram = "kal";
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/applications/radio/soapysdr/default.nix b/pkgs/applications/radio/soapysdr/default.nix
index 79dcab19acb..4875a4818f8 100644
--- a/pkgs/applications/radio/soapysdr/default.nix
+++ b/pkgs/applications/radio/soapysdr/default.nix
@@ -51,6 +51,7 @@ in stdenv.mkDerivation {
     description = "Vendor and platform neutral SDR support library";
     license = licenses.boost;
     maintainers = with maintainers; [ markuskowa ];
+    mainProgram = "SoapySDRUtil";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/biology/bwa/default.nix b/pkgs/applications/science/biology/bwa/default.nix
index d4727b41bd0..801ad00876b 100644
--- a/pkgs/applications/science/biology/bwa/default.nix
+++ b/pkgs/applications/science/biology/bwa/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, zlib }:
+{ lib, stdenv, fetchurl, fetchpatch, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "bwa";
@@ -9,6 +9,16 @@ stdenv.mkDerivation rec {
     sha256 = "1zfhv2zg9v1icdlq4p9ssc8k01mca5d1bd87w71py2swfi74s6yy";
   };
 
+  patches = [
+    # Pull upstream patch for -fno-common toolchain support like upstream
+    # gcc-10: https://github.com/lh3/bwa/pull/267
+    (fetchpatch {
+      name  = "fno-common.patch";
+      url = "https://github.com/lh3/bwa/commit/2a1ae7b6f34a96ea25be007ac9d91e57e9d32284.patch";
+      sha256 = "1lihfxai6vcshv5vr3m7yhk833bdivkja3gld6ilwrc4z28f6wqy";
+    })
+  ];
+
   buildInputs = [ zlib ];
 
   # Avoid hardcoding gcc to allow environments with a different
diff --git a/pkgs/applications/science/electronics/horizon-eda/default.nix b/pkgs/applications/science/electronics/horizon-eda/default.nix
index 6029bf5a994..f18afb77587 100644
--- a/pkgs/applications/science/electronics/horizon-eda/default.nix
+++ b/pkgs/applications/science/electronics/horizon-eda/default.nix
@@ -8,10 +8,11 @@
 , glm
 , gtkmm3
 , lib
+, libarchive
 , libgit2
 , librsvg
+, libspnav
 , libuuid
-, libzip
 , opencascade
 , pkg-config
 , podofo
@@ -23,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "horizon-eda";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "horizon-eda";
     repo = "horizon";
     rev = "v${version}";
-    sha256 = "sha256-MUS1dIsULDJ5DahCtDpbHZq56nltHShli7+uoW1/Tqw=";
+    sha256 = "0lw5j1zqd2wdafgxl4ahcphaabs7vlw4kaa1c566hwfjxs46dmg9";
   };
 
   buildInputs = [
@@ -38,10 +39,11 @@ stdenv.mkDerivation rec {
     libepoxy
     glm
     gtkmm3
+    libarchive
     libgit2
     librsvg
+    libspnav
     libuuid
-    libzip
     opencascade
     podofo
     python3
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index 9adfac344b3..658223dc4ec 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,45 +3,45 @@
 {
   "kicad" = {
     kicadVersion = {
-      version =			"6.0.4";
+      version =			"6.0.5";
       src = {
-        rev =			"6f826c9f35a3dc9a104bb24a0a89a2e04b2d9721";
-        sha256 =		"0lki59ws0ncqkp9wxrhyni1ck2sx5z07mmpkjg0d9jpkync9hx9y";
+        rev =			"a6ca702e916df70e499615d8613102e780e96a40";
+        sha256 =		"19mg672h1gjdvnkp13cpkhk67xpwms72y4gd6g8983fcsxr8nq23";
       };
     };
     libVersion = {
-      version =			"6.0.4";
+      version =			"6.0.5";
       libSources = {
-        symbols.rev =		"9d00fbb9373571e54d9f29985b21a03d862795a4";
-        symbols.sha256 =	"12lyc187337bf2frl3jvwqdwwnd69f7l414k3kxhccs3sa2mcf1y";
-        templates.rev =		"c4f4fe4b821e062a3ddd275f9313d5d81ff8f8d7";
+        symbols.rev =		"c7f82c947ab3a1afec8d7b602ee7c6bfdfb24693";
+        symbols.sha256 =	"1dhgdp08ah08fc5nvwkqmgpl2any9vgy1gykmyzsd4dl8hhvznh5";
+        templates.rev =		"5ec65bfd3ecefaf85f79db02981f0568fe8b0eb8";
         templates.sha256 =	"13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm";
-        footprints.rev =	"c48d3dfcfa6ce58ec11e10b7a74878bb69fae580";
-        footprints.sha256 =	"0px2g9jansky0rvc0bdjylbmv8xwhc0q63g88hd2nzbknqli9f1y";
-        packages3d.rev =	"b1de0b5c3edc16999602b809a05017da62ff52cc";
-        packages3d.sha256 =	"0ms9py93qyihxrhh9wm2ziycmdn88m36r8adx22ynjnxixw1f9ja";
+        footprints.rev =	"35e3d08f1ab23b5b08ba903572776aab6de7499f";
+        footprints.sha256 =	"0sxzd4dr1g12ck8b2wsyg9r2s1j3472nksrjrwpzjdyfc8rqbjai";
+        packages3d.rev =	"6ea94caf40c4bdccecb569e81ed82b902d4c104e";
+        packages3d.sha256 =	"00i6mybg3pprzb283b26z5b2g7a8sbghlvc0fwk9gwrp3wz1yqzc";
       };
     };
   };
   "kicad-unstable" = {
     kicadVersion = {
-      version =			"2022-03-19";
+      version =			"2022-05-06";
       src = {
-        rev =			"58c146a7c00ee64ca07cacbcc594121f40aa2aeb";
-        sha256 =		"0gcbl11pq0dgp590hdwsh5np7spixk5kgva0v8mx9rqd374z4bdm";
+        rev =			"dfdedfa605f58711d286d6e24e4ae9b5f75444e6";
+        sha256 =		"1bs7s2x0zh3wbk2hawg47v1s3nidmcl0xaardbpiafrrnh1qprf2";
       };
     };
     libVersion = {
-      version =			"2022-03-19";
+      version =			"2022-05-06";
       libSources = {
-        symbols.rev =		"9b8d3163450172a7f368462c6d005841ad199144";
-        symbols.sha256 =	"12lyc187337bf2frl3jvwqdwwnd69f7l414k3kxhccs3sa2mcf1y";
+        symbols.rev =		"e1d70243a68a721a9f94a7df1d04c9c6ebc056ef";
+        symbols.sha256 =	"0gbl22g73cms9jrk9f6dlgd3ksnhiik39aywfm15m98jfglnlbg8";
         templates.rev =		"a27d83f0a20f0be0c1ab04b139a0c518da51a5d4";
         templates.sha256 =	"13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm";
-        footprints.rev =	"c871df2c81a894bc5e91d2d517b76884d5a918aa";
-        footprints.sha256 =	"0px2g9jansky0rvc0bdjylbmv8xwhc0q63g88hd2nzbknqli9f1y";
-        packages3d.rev =	"6ff98426fd51d53c55bc48025d66d3d0b0c5df92";
-        packages3d.sha256 =	"0ms9py93qyihxrhh9wm2ziycmdn88m36r8adx22ynjnxixw1f9ja";
+        footprints.rev =	"25bb68c2d0e61d1e1e31375adfcf0b6ccdb33ff9";
+        footprints.sha256 =	"0sxzd4dr1g12ck8b2wsyg9r2s1j3472nksrjrwpzjdyfc8rqbjai";
+        packages3d.rev =	"ac7189ed55d5a3bf5eaa87d31fb97a3e7b5ad80e";
+        packages3d.sha256 =	"00i6mybg3pprzb283b26z5b2g7a8sbghlvc0fwk9gwrp3wz1yqzc";
       };
     };
   };
diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix
index 13876430822..05d7d0388f0 100644
--- a/pkgs/applications/science/electronics/verilator/default.nix
+++ b/pkgs/applications/science/electronics/verilator/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.220";
+  version = "4.222";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Y0j6j8kPCONlegFoWl46LXtfoiLhzMsHCVv+kLe7UyE=";
+    sha256 = "sha256-AvjcStbiXDdhJnaSJJ5Mp6zscvaxhb+A2J+0gpm2rFI=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/logic/abc/default.nix b/pkgs/applications/science/logic/abc/default.nix
index 20c33f0fbae..4e808dd8f19 100644
--- a/pkgs/applications/science/logic/abc/default.nix
+++ b/pkgs/applications/science/logic/abc/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
     description = "A tool for squential logic synthesis and formal verification";
     homepage    = "https://people.eecs.berkeley.edu/~alanmi/abc";
     license     = licenses.mit;
-    platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice ];
+    mainProgram = "abc";
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/logic/key/default.nix b/pkgs/applications/science/logic/key/default.nix
index aee1a9c63f8..5a48abfc4aa 100644
--- a/pkgs/applications/science/logic/key/default.nix
+++ b/pkgs/applications/science/logic/key/default.nix
@@ -115,6 +115,7 @@ in stdenv.mkDerivation rec {
     '';
     license = licenses.gpl2;
     maintainers = with maintainers; [ fgaz ];
+    mainProgram = executable-name;
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index 47d46dcd128..66acf07f8e4 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "snakemake";
-  version = "7.6.1";
+  version = "7.6.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-McknAQDzpTE1WdIBr8HsFpGzXuJT2kDNvLzK2gn75GM=";
+    hash = "sha256-mIl5c+HR2kqgJzbLVTQjJlf4Ca/+Icqg9G49yIUyipc=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/science/physics/elmerfem/default.nix b/pkgs/applications/science/physics/elmerfem/default.nix
index 63dfe6c2837..a203db1204c 100644
--- a/pkgs/applications/science/physics/elmerfem/default.nix
+++ b/pkgs/applications/science/physics/elmerfem/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, git, gfortran, mpi, blas, liblapack, qt4, qwt6_qt4, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, cmake, git, gfortran, mpi, blas, liblapack, pkg-config, libGL, libGLU, opencascade, libsForQt5, vtkWithQt5}:
 
 stdenv.mkDerivation rec {
   pname = "elmerfem";
@@ -13,19 +13,44 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  nativeBuildInputs = [ cmake gfortran pkg-config git ];
-  buildInputs = [ mpi blas liblapack qt4 qwt6_qt4 ];
+  nativeBuildInputs = [
+    cmake
+    gfortran
+    pkg-config
+    libsForQt5.wrapQtAppsHook
+  ];
+  buildInputs = [
+    mpi
+    blas
+    liblapack
+    libsForQt5.qtbase
+    libsForQt5.qtscript
+    libsForQt5.qwt
+    libGL
+    libGLU
+    opencascade
+    vtkWithQt5
+  ];
 
   preConfigure = ''
     patchShebangs ./
   '';
 
+  patches = [
+    ./patches/0001-fix-import-of-QPainterPath.patch
+    ./patches/0002-fem-rename-loopvars-to-avoid-redefinition.patch
+    ./patches/0003-ignore-qwt_compat.patch
+  ];
+
   storepath = placeholder "out";
 
   cmakeFlags = [
   "-DELMER_INSTALL_LIB_DIR=${storepath}/lib"
   "-DWITH_OpenMP:BOOLEAN=TRUE"
   "-DWITH_MPI:BOOLEAN=TRUE"
+  "-DWITH_QT5:BOOLEAN=TRUE"
+  "-DWITH_OCC:BOOLEAN=TRUE"
+  "-DWITH_VTK:BOOLEAN=TRUE"
   "-DWITH_ELMERGUI:BOOLEAN=TRUE"
   "-DCMAKE_INSTALL_LIBDIR=lib"
   "-DCMAKE_INSTALL_INCLUDEDIR=include"
diff --git a/pkgs/applications/science/physics/elmerfem/patches/0001-fix-import-of-QPainterPath.patch b/pkgs/applications/science/physics/elmerfem/patches/0001-fix-import-of-QPainterPath.patch
new file mode 100644
index 00000000000..a9e1ba442b4
--- /dev/null
+++ b/pkgs/applications/science/physics/elmerfem/patches/0001-fix-import-of-QPainterPath.patch
@@ -0,0 +1,24 @@
+From 87885de957aa3f891fe963503c94685675c24f49 Mon Sep 17 00:00:00 2001
+From: grindhold <grindhold@gmx.net>
+Date: Wed, 27 Apr 2022 19:16:42 +0200
+Subject: [PATCH] fix import of QPainterPath
+
+---
+ ElmerGUI/Application/twod/renderarea.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ElmerGUI/Application/twod/renderarea.cpp b/ElmerGUI/Application/twod/renderarea.cpp
+index 4c2515c5..65128ea9 100644
+--- a/ElmerGUI/Application/twod/renderarea.cpp
++++ b/ElmerGUI/Application/twod/renderarea.cpp
+@@ -38,6 +38,7 @@
+  *                                                                           *
+  *****************************************************************************/
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QMouseEvent>
+ #include <QFile>
+ #include <QTextStream>
+-- 
+2.33.3
+
diff --git a/pkgs/applications/science/physics/elmerfem/patches/0002-fem-rename-loopvars-to-avoid-redefinition.patch b/pkgs/applications/science/physics/elmerfem/patches/0002-fem-rename-loopvars-to-avoid-redefinition.patch
new file mode 100644
index 00000000000..6c2782b9e0b
--- /dev/null
+++ b/pkgs/applications/science/physics/elmerfem/patches/0002-fem-rename-loopvars-to-avoid-redefinition.patch
@@ -0,0 +1,82 @@
+From 06634e5fd46a27dca11b87d4a38e9ead561de3d5 Mon Sep 17 00:00:00 2001
+From: grindhold <grindhold@gmx.net>
+Date: Thu, 28 Apr 2022 15:47:07 +0200
+Subject: [PATCH] fem: rename loopvars to avoid redefinition
+
+---
+ fem/src/modules/DCRComplexSolve.F90 | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/fem/src/modules/DCRComplexSolve.F90 b/fem/src/modules/DCRComplexSolve.F90
+index 469214ee..268591fd 100644
+--- a/fem/src/modules/DCRComplexSolve.F90
++++ b/fem/src/modules/DCRComplexSolve.F90
+@@ -502,14 +502,14 @@ CONTAINS
+ 
+       IF ( SIZE(Hwrk,1) == 1 ) THEN
+ 
+-         DO i=1,MIN(3,SIZE(Hwrk,2))
+-            Tensor( i,1:n ) = Hwrk( 1,1,1:n )
++         DO k=1,MIN(3,SIZE(Hwrk,2))
++            Tensor( k,1:n ) = Hwrk( 1,1,1:n )
+          END DO
+ 
+       ELSE
+ 
+-        DO i=1,MIN(3,SIZE(Hwrk,1))
+-           Tensor( i,1:n ) = Hwrk( i,1,1:n )
++        DO k=1,MIN(3,SIZE(Hwrk,1))
++           Tensor( k,1:n ) = Hwrk( k,1,1:n )
+         END DO
+ 
+       END IF
+@@ -1391,21 +1391,21 @@ contains
+ 
+       IF ( SIZE(Hwrk,1) == 1 ) THEN
+ 
+-         DO i=1,MIN(3,SIZE(Hwrk,2))
+-            Tensor( i,i,1:n ) = Hwrk( 1,1,1:n )
++         DO k=1,MIN(3,SIZE(Hwrk,2))
++            Tensor( k,k,1:n ) = Hwrk( 1,1,1:n )
+          END DO
+ 
+       ELSE IF ( SIZE(Hwrk,2) == 1 ) THEN
+ 
+-         DO i=1,MIN(3,SIZE(Hwrk,1))
+-            Tensor(i,i,1:n) = Hwrk(i,1,1:n)
++         DO k=1,MIN(3,SIZE(Hwrk,1))
++            Tensor(k,k,1:n) = Hwrk(k,1,1:n)
+          END DO
+ 
+       ELSE
+ 
+-        DO i=1,MIN(3,SIZE(Hwrk,1))
++        DO k=1,MIN(3,SIZE(Hwrk,1))
+            DO j=1,MIN(3,SIZE(Hwrk,2))
+-              Tensor( i,j,1:n ) = Hwrk(i,j,1:n)
++              Tensor( k,j,1:n ) = Hwrk(k,j,1:n)
+            END DO
+         END DO
+ 
+@@ -1443,14 +1443,14 @@ contains
+ 
+       IF ( SIZE(Hwrk,1) == 1 ) THEN
+ 
+-         DO i=1,MIN(3,SIZE(Hwrk,2))
+-            Tensor( i,1:n ) = Hwrk( 1,1,1:n )
++         DO k=1,MIN(3,SIZE(Hwrk,2))
++            Tensor( k,1:n ) = Hwrk( 1,1,1:n )
+          END DO
+ 
+       ELSE
+ 
+-        DO i=1,MIN(3,SIZE(Hwrk,1))
+-           Tensor( i,1:n ) = Hwrk( i,1,1:n )
++        DO k=1,MIN(3,SIZE(Hwrk,1))
++           Tensor( k,1:n ) = Hwrk( k,1,1:n )
+         END DO
+ 
+       END IF
+-- 
+2.33.3
+
diff --git a/pkgs/applications/science/physics/elmerfem/patches/0003-ignore-qwt_compat.patch b/pkgs/applications/science/physics/elmerfem/patches/0003-ignore-qwt_compat.patch
new file mode 100644
index 00000000000..26954008d5d
--- /dev/null
+++ b/pkgs/applications/science/physics/elmerfem/patches/0003-ignore-qwt_compat.patch
@@ -0,0 +1,36 @@
+From 26601fec36a4978e805aad40e6d0cbf268c653d2 Mon Sep 17 00:00:00 2001
+From: grindhold <grindhold@gmx.net>
+Date: Thu, 28 Apr 2022 17:13:06 +0200
+Subject: [PATCH] ignore qwt_compat
+
+---
+ ElmerGUI/Application/src/convergenceview.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ElmerGUI/Application/src/convergenceview.h b/ElmerGUI/Application/src/convergenceview.h
+index 377b644b..64250149 100755
+--- a/ElmerGUI/Application/src/convergenceview.h
++++ b/ElmerGUI/Application/src/convergenceview.h
+@@ -52,7 +52,7 @@
+ #include <qwt_plot_grid.h>

+ #include <qwt_legend.h>

+ /*#include <qwt_data.h> <-- deprecated in Qwt6, using qwt_compat.h instead*/

+-#include <qwt_compat.h>

++/*#include <qwt_compat.h>*/

+ #include <qwt_text.h>

+ #include <qwt_scale_engine.h>

+ 

+@@ -76,8 +76,8 @@ public:
+   

+ private:

+   int d_count;

+-  QwtArray<double> d_x;

+-  QwtArray<double> d_y;

++  QVector<double> d_x;

++  QVector<double> d_y;

+ };

+ 

+ class Curve

+-- 
+2.33.3
+
diff --git a/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
index afd05c3e8f7..7a75c8edb2b 100644
--- a/pkgs/applications/science/robotics/qgroundcontrol/default.nix
+++ b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
@@ -68,6 +68,12 @@ mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [
+    # fix build problems caused by https://github.com/mavlink/qgroundcontrol/pull/10132
+    # remove once updated past 4.2.0
+    ./fix-10132.patch
+  ];
+
   meta = with lib; {
     description = "Provides full ground station support and configuration for the PX4 and APM Flight Stacks";
     homepage = "http://qgroundcontrol.com/";
diff --git a/pkgs/applications/science/robotics/qgroundcontrol/fix-10132.patch b/pkgs/applications/science/robotics/qgroundcontrol/fix-10132.patch
new file mode 100644
index 00000000000..0a666132f93
--- /dev/null
+++ b/pkgs/applications/science/robotics/qgroundcontrol/fix-10132.patch
@@ -0,0 +1,62 @@
+diff --git a/libs/qmlglsink/gst-plugins-good/ext/qt/gstqsgtexture.cc b/libs/qmlglsink/gst-plugins-good/ext/qt/gstqsgtexture.cc
+index 2b314e0..ad1425e 100644
+--- a/libs/qmlglsink/gst-plugins-good/ext/qt/gstqsgtexture.cc
++++ b/libs/qmlglsink/gst-plugins-good/ext/qt/gstqsgtexture.cc
+@@ -35,7 +35,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+ 
+ GstQSGTexture::GstQSGTexture ()
+ {
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   initializeOpenGLFunctions();
+ 
+diff --git a/libs/qmlglsink/gst-plugins-good/ext/qt/gstqtglutility.cc b/libs/qmlglsink/gst-plugins-good/ext/qt/gstqtglutility.cc
+index 3a68576..5203d13 100644
+--- a/libs/qmlglsink/gst-plugins-good/ext/qt/gstqtglutility.cc
++++ b/libs/qmlglsink/gst-plugins-good/ext/qt/gstqtglutility.cc
+@@ -58,7 +58,7 @@ gst_qt_get_gl_display ()
+ {
+   GstGLDisplay *display = NULL;
+   QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ());
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   g_assert (app != NULL);
+ 
+diff --git a/libs/qmlglsink/gst-plugins-good/ext/qt/qtitem.cc b/libs/qmlglsink/gst-plugins-good/ext/qt/qtitem.cc
+index f031b36..3c6722a 100644
+--- a/libs/qmlglsink/gst-plugins-good/ext/qt/qtitem.cc
++++ b/libs/qmlglsink/gst-plugins-good/ext/qt/qtitem.cc
+@@ -106,7 +106,7 @@ void InitializeSceneGraph::run()
+ 
+ QtGLVideoItem::QtGLVideoItem()
+ {
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   if (g_once_init_enter (&_debug)) {
+     GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglwidget", 0, "Qt GL Widget");
+diff --git a/libs/qmlglsink/gst-plugins-good/ext/qt/qtwindow.cc b/libs/qmlglsink/gst-plugins-good/ext/qt/qtwindow.cc
+index 8bf14ae..2f88aa9 100644
+--- a/libs/qmlglsink/gst-plugins-good/ext/qt/qtwindow.cc
++++ b/libs/qmlglsink/gst-plugins-good/ext/qt/qtwindow.cc
+@@ -107,7 +107,7 @@ QtGLWindow::QtGLWindow ( QWindow * parent, QQuickWindow *src ) :
+   QQuickWindow( parent ), source (src)
+ {
+   QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ());
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   g_assert (app != NULL);
+ 
+@@ -156,7 +156,7 @@ QtGLWindow::beforeRendering()
+ 
+   g_mutex_lock (&this->priv->lock);
+ 
+-  static volatile gsize once = 0;
++  static gsize once = 0;
+   if (g_once_init_enter(&once)) {
+     this->priv->start = QDateTime::currentDateTime().toMSecsSinceEpoch();
+     g_once_init_leave(&once,1);
+
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index 52e691f9850..65e15a12cc7 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -58,7 +58,7 @@ buildPythonApplication rec {
   ] ++ lib.optionals stdenv.isLinux [
     fontconfig libunistring libcanberra libX11
     libXrandr libXinerama libXcursor libxkbcommon libXi libXext
-    wayland-protocols wayland dbus
+    wayland-protocols wayland dbus libGL
   ];
 
   nativeBuildInputs = [
@@ -75,8 +75,6 @@ buildPythonApplication rec {
     libicns  # For the png2icns tool.
   ];
 
-  propagatedBuildInputs = lib.optional stdenv.isLinux libGL;
-
   outputs = [ "out" "terminfo" "shell_integration" ];
 
   patches = [
diff --git a/pkgs/applications/version-management/fnc/default.nix b/pkgs/applications/version-management/fnc/default.nix
index 1e234dea5e3..3d0c7a9cd30 100644
--- a/pkgs/applications/version-management/fnc/default.nix
+++ b/pkgs/applications/version-management/fnc/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, stdenv, zlib, ncurses, libiconv }:
+{ lib, fetchurl, fetchpatch, stdenv, zlib, ncurses, libiconv }:
 
 stdenv.mkDerivation rec {
   pname = "fnc";
@@ -9,6 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "1phqxh0afky7q2qmhgjlsq1awbv4254yd8wpzxlww4p7a57cp0lk";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "sqlite3-upgrade.patch";
+      url = "https://fnc.bsdbox.org/vpatch?from=12e8919d436f52ca&to=091ce838edf67f1d";
+      sha256 = "sha256-uKSO+lCY6h7Wkv5T7zeagMbpDxj6oirA/bty6i6Py8s=";
+    })
+  ];
+  patchFlags = [ "-p0" ];
+
   buildInputs = [ libiconv ncurses zlib ];
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index 6b6da70bb94..4f774f5b2f4 100644
--- a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -1,5 +1,7 @@
 { lib
 , buildPythonApplication
+, pytest-mock
+, pytestCheckHook
 , fetchFromGitHub
 , installShellFiles
 , git
@@ -21,7 +23,7 @@ buildPythonApplication rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  checkInputs = [ git ];
+  checkInputs = [ git pytest-mock pytestCheckHook ];
 
   postInstall = ''
     installShellCompletion --bash --name git-machete completion/git-machete.completion.bash
diff --git a/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix b/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
index 87d92e72a8f..d5791f6506c 100644
--- a/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
@@ -2,17 +2,17 @@
 
 let
   pname = "radicle-upstream";
-  version = "0.2.12";
+  version = "0.3.0";
   name = "${pname}-${version}";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://releases.radicle.xyz/radicle-upstream-${version}.AppImage";
-      sha256 = "7520c7feb94234df6f8523689d098e0d19510e2ac0122e482d1e01086c9b02fe";
+      sha256 = "sha256-Y7V89G+nXRtknOukvBN8Q+sNx91YNPDT0p5hrFYe/Sk=";
     };
     x86_64-darwin = fetchurl {
       url = "https://releases.radicle.xyz/radicle-upstream-${version}.dmg";
-      sha256 = "8bbff051f169f029044e4c4965cad88f48e939b945fd5c253f0c39665a19ce44";
+      sha256 = "sha256-EuWGbn6qggi8/9Rci8iaXfuVKE+QXb1BHEYDvotR/q4=";
     };
   };
   src = srcs.${stdenv.hostPlatform.system};
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 4585eda4947..cc8cd00b7d1 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,14 +1,14 @@
 {
-  "version": "14.10.1",
-  "repo_hash": "13868wb0zr862xaxapp8nxh16gjsawklw66rlxx95bhhm3r81nrp",
+  "version": "14.10.2",
+  "repo_hash": "0f7cfc1wrzz4m5yhd6jnp3dqpdy7vbj8bf826zjsi2ss48430bk0",
   "yarn_hash": "17wxqvig34namf8kvh8bwci3y0f3k2nl4zs99jcvskdad9p45rlc",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v14.10.1-ee",
+  "rev": "v14.10.2-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "14.10.1",
+    "GITALY_SERVER_VERSION": "14.10.2",
     "GITLAB_PAGES_VERSION": "1.56.1",
     "GITLAB_SHELL_VERSION": "13.25.1",
-    "GITLAB_WORKHORSE_VERSION": "14.10.1"
+    "GITLAB_WORKHORSE_VERSION": "14.10.2"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 3126ce718e8..127a4ec461f 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -11,7 +11,7 @@ let
     gemdir = ./.;
   };
 
-  version = "14.10.1";
+  version = "14.10.2";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";
 in
 
@@ -23,7 +23,7 @@ buildGoModule {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-4TbCfe41Nea1p0aDqGbF4SskUl5r9LRHKA16DH97jMI=";
+    sha256 = "sha256-hLTzkW5GDq1AgTwe1pVj6Tiyd0JpJ76ATFu3Q+m9MVg=";
   };
 
   vendorSha256 = "sha256-ZL61t+Ii2Ns3TmitiF93exinod54+RCqrbdpU67HeY0=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 602d8650f33..2613fe85f81 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "14.10.1";
+  version = "14.10.2";
 
   src = fetchFromGitLab {
     owner = data.owner;
diff --git a/pkgs/applications/version-management/gitless/default.nix b/pkgs/applications/version-management/gitless/default.nix
index a7218347258..31ab40d7947 100644
--- a/pkgs/applications/version-management/gitless/default.nix
+++ b/pkgs/applications/version-management/gitless/default.nix
@@ -15,16 +15,15 @@ python3.pkgs.buildPythonApplication rec {
     hash = "sha256-xo5EWtP2aN8YzP8ro3bnxZwUGUp0PHD0g8hk+Y+gExE=";
   };
 
+  nativeBuildInputs = [ python3.pkgs.pythonRelaxDepsHook ];
+
   propagatedBuildInputs = with python3.pkgs; [
     sh
     pygit2
     clint
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "pygit2==0.28.2" "pygit2>=0.28.2"
-  '';
+  pythonRelaxDeps = [ "pygit2" ];
 
   doCheck = false;
 
diff --git a/pkgs/applications/version-management/got/default.nix b/pkgs/applications/version-management/got/default.nix
index 9e444fb3b39..f38bb042c43 100644
--- a/pkgs/applications/version-management/got/default.nix
+++ b/pkgs/applications/version-management/got/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchurl, pkg-config, openssl, libuuid, libmd, zlib, ncurses }:
+{ lib, stdenv, fetchurl, pkg-config, openssl, libbsd, libuuid, libmd, zlib, ncurses }:
 
 stdenv.mkDerivation rec {
   pname = "got";
-  version = "0.68.1";
+  version = "0.69";
 
   src = fetchurl {
     url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
-    sha256 = "122wignzrhsw00mfnh7mxcxvjyp9rk73yxzfyvmg7f5kmb0hng35";
+    sha256 = "1cnl0yk866wzjwgas587kvb08njq7db71b5xqsdrwd1varp010vm";
   };
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ openssl libuuid libmd zlib ncurses ];
+  buildInputs = [ openssl libbsd libuuid libmd zlib ncurses ];
 
   doInstallCheck = true;
 
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 462744641e3..f8f58cdcaba 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -36,6 +36,13 @@ python3.pkgs.buildPythonApplication rec {
       url  = "https://gitlab.gnome.org/GNOME/meld/-/commit/cc7746c141d976a4779cf868774fae1fe7627a6d.patch";
       sha256 = "sha256-4uJZyF00Z6svzrOebByZV1hutCZRkIQYC4rUxQr5fdQ=";
     })
+
+    # Fix view not rendering with adwaita-icon-theme 42 due to removed icons.
+    # https://gitlab.gnome.org/GNOME/meld/-/merge_requests/83
+    (fetchpatch {
+      url  = "https://gitlab.gnome.org/GNOME/meld/-/commit/f850cdf3eaf0f08abea003d5fae118a5e92a3d61.patch";
+      sha256 = "PaK8Rpv79UwMUligm9pIY16JW/dm7eVXntAwTV4hnbE=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/version-management/p4v/default.nix b/pkgs/applications/version-management/p4v/default.nix
index 476df99d232..2e0e01e5c98 100644
--- a/pkgs/applications/version-management/p4v/default.nix
+++ b/pkgs/applications/version-management/p4v/default.nix
@@ -1,12 +1,38 @@
-{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebengine, qtwebkit, openssl, xkeyboard_config, patchelfUnstable, wrapQtAppsHook }:
+{ stdenv
+, fetchurl
+, lib
+, qtbase
+, qtwebengine
+, qtdeclarative
+, qtwebchannel
+, syntax-highlighting
+, openssl
+, xkeyboard_config
+, patchelfUnstable
+, wrapQtAppsHook
+, writeText
+}:
+let
+  # This abomination exists because p4v calls CRYPTO_set_mem_functions and
+  # expects it to succeed. The function will fail if CRYPTO_malloc has already
+  # been called, which happens at init time via qtwebengine -> ... -> libssh. I
+  # suspect it was meant to work with a version of Qt where openssl is
+  # statically linked or some other library is used.
+  crypto-hack = writeText "crypto-hack.c" ''
+      #include <stddef.h>
+      int CRYPTO_set_mem_functions(
+            void *(*m)(size_t, const char *, int),
+            void *(*r)(void *, size_t, const char *, int),
+            void (*f)(void *, const char *, int)) { return 1; }
+    '';
 
-stdenv.mkDerivation rec {
+in stdenv.mkDerivation rec {
   pname = "p4v";
-  version = "2020.1.1966006";
+  version = "2021.3.2186916";
 
   src = fetchurl {
-    url = "https://cdist2.perforce.com/perforce/r20.1/bin.linux26x86_64/p4v.tgz";
-    sha256 = "0zc70d7jgdrd2jli338n1h05hgb7jmmv8hvq205wh78vvllrlv10";
+    url = "http://web.archive.org/web/20211118024745/https://cdist2.perforce.com/perforce/r21.3/bin.linux26x86_64/p4v.tgz";
+    sha256 = "1zldg21xq4srww9pcfbv3p8320ghjnh333pz5r70z1gwbq4vf3jq";
   };
 
   dontBuild = true;
@@ -15,11 +41,10 @@ stdenv.mkDerivation rec {
   ldLibraryPath = lib.makeLibraryPath [
       stdenv.cc.cc.lib
       qtbase
-      qtmultimedia
-      qtscript
-      qtsensors
       qtwebengine
-      qtwebkit
+      qtdeclarative
+      qtwebchannel
+      syntax-highlighting
       openssl
   ];
 
@@ -29,14 +54,17 @@ stdenv.mkDerivation rec {
     cp -r bin $out
     mkdir -p $out/lib
     cp -r lib/P4VResources $out/lib
+    $CC -fPIC -shared -o $out/lib/libcrypto-hack.so ${crypto-hack}
 
     for f in $out/bin/*.bin ; do
       patchelf --set-rpath $ldLibraryPath --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $f
       # combining this with above breaks rpath (patchelf bug?)
-      patchelf --add-needed libstdc++.so $f \
+      patchelf --add-needed libstdc++.so \
+               --add-needed $out/lib/libcrypto-hack.so \
                --clear-symbol-version _ZNSt20bad_array_new_lengthD1Ev \
                --clear-symbol-version _ZTVSt20bad_array_new_length \
                --clear-symbol-version _ZTISt20bad_array_new_length \
+               --clear-symbol-version _ZdlPvm \
                $f
       wrapQtApp $f \
         --suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb
diff --git a/pkgs/applications/version-management/rcshist/default.nix b/pkgs/applications/version-management/rcshist/default.nix
new file mode 100644
index 00000000000..cd176972277
--- /dev/null
+++ b/pkgs/applications/version-management/rcshist/default.nix
@@ -0,0 +1,22 @@
+{ lib
+, stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation {
+  pname = "rcshist";
+  version = "1.04";
+
+  src = fetchurl {
+    url = "https://invisible-island.net/datafiles/release/rcshist.tar.gz";
+    sha256 = "01ab3xwgm934lxr8bm758am3vxwx4hxx7cc9prbgqj5nh30vdg1n";
+  };
+
+  meta = {
+    description = "Utitity to display complete revision history of a set of RCS files";
+    homepage = "https://invisible-island.net/rcshist/rcshist.html";
+    license = lib.licenses.bsd2;
+    maintainers = [ lib.maintainers.kaction ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/version-management/sublime-merge/default.nix b/pkgs/applications/version-management/sublime-merge/default.nix
index fc8e5d4e4b1..6526fdb2d1b 100644
--- a/pkgs/applications/version-management/sublime-merge/default.nix
+++ b/pkgs/applications/version-management/sublime-merge/default.nix
@@ -4,13 +4,13 @@ let
   common = opts: callPackage (import ./common.nix opts);
 in {
   sublime-merge = common {
-    buildVersion = "2068";
-    sha256 = "sha256-CseZQgjqr8B66Slf/yFZZsnRFc3zqCGKFAzSdMRQdNI=";
+    buildVersion = "2071";
+    sha256 = "xYVk5Fx6VdoHzf0cbmhwKyEr5HDEZgPgDoBWQg/tS0U=";
   } {};
 
   sublime-merge-dev = common {
-    buildVersion = "2067";
-    sha256 = "sha256-ViBBi9Ghh4dHg7Gmg4i/B+Q4OgDd4XiHNIs12qffZdg=";
+    buildVersion = "2070";
+    sha256 = "2AA2HBF19g34ov6ytjL2caqS7Ro4eyj18vzwINm0CTw=";
     dev = true;
   } {};
 }
diff --git a/pkgs/applications/video/ffmpeg-normalize/default.nix b/pkgs/applications/video/ffmpeg-normalize/default.nix
index 9331471c747..7f705bc3526 100644
--- a/pkgs/applications/video/ffmpeg-normalize/default.nix
+++ b/pkgs/applications/video/ffmpeg-normalize/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonApplication rec {
   pname = "ffmpeg-normalize";
-  version = "1.22.9";
+  version = "1.23.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-RBrCIDinPXbXKqrrhqVf3rV4rfi+2PttIaYxUKOk7hs=";
+    sha256 = "sha256-DSBh3m7gGm5fWH47YWALlyhi4x6A2RcVrpuDDpXolSI=";
   };
 
   propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ];
diff --git a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix
index 7698e6619d9..1319f72f4e9 100644
--- a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix
+++ b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix
@@ -2,11 +2,11 @@
 buildKodiAddon rec {
   pname = "inputstreamhelper";
   namespace = "script.module.inputstreamhelper";
-  version = "0.5.8+matrix.1";
+  version = "0.5.10+matrix.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
-    sha256 = "xdsUzmz8ji9JcYLEUFWwvXq0Oig5i08VPQD93K8R9hk=";
+    sha256 = "FcOktwtOT7kDM+3y9qPDk3xU1qVeCduyAdUzebtJzv4=";
   };
 
   passthru = {
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix b/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix
index d21d78c42b2..20c49692b8d 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix
@@ -10,21 +10,21 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-gstreamer";
-  version = "0.2.1";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "fzwoch";
     repo = "obs-gstreamer";
     rev = "v${version}";
-    sha256 = "1fdpwr8br8x9cnrhr3j4f0l81df26n3bj2ibi3cg96rl86054nid";
+    hash = "sha256-KhSBZcV2yILTf5+aNoYWDfNwPiJoyYPeIOQMDFvOusg=";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja ];
-  buildInputs = [ gst_all_1.gstreamermm obs-studio ];
+  buildInputs = with gst_all_1; [ gstreamer gst-plugins-base obs-studio ];
 
   meta = with lib; {
     description = "An OBS Studio source, encoder and video filter plugin to use GStreamer elements/pipelines in OBS Studio";
-    homepage = "https://github.com/fswoch/obs-gstreamer";
+    homepage = "https://github.com/fzwoch/obs-gstreamer";
     maintainers = with maintainers; [ ahuzik ];
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" "i686-linux" ];
diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix
index fc264cdc590..1b58b4ee9cf 100644
--- a/pkgs/applications/virtualization/docker/compose.nix
+++ b/pkgs/applications/virtualization/docker/compose.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "docker-compose";
-  version = "2.4.1";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    sha256 = "sha256-6yc+7Fc22b8xN8thRrxxpjdEz19aBYCWxgkh/nra784=";
+    sha256 = "sha256-gb2XFIzYU1dZh8WPheb4073AOLdfT7CbBD89HxobY9Y=";
   };
 
-  vendorSha256 = "sha256-N+paN3zEXzzUFb2JPVIDZYZ0h0iu7naiw4pSVnGsuKQ=";
+  vendorSha256 = "sha256-2pWBMXVnmKE4D7JXaKOqtuCz7nsX2a/58lyLp58OTYI=";
 
   ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index ef9050f47d9..125061bedaf 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -186,7 +186,7 @@ rec {
       export BUILDTIME="1970-01-01T00:00:00Z"
       source ./scripts/build/.variables
       export CGO_ENABLED=1
-      go build -tags pkcs11 --ldflags "$LDFLAGS" github.com/docker/cli/cmd/docker
+      go build -tags pkcs11 --ldflags "$GO_LDFLAGS" github.com/docker/cli/cmd/docker
       cd -
     '';
 
@@ -243,19 +243,19 @@ rec {
   # Get revisions from
   # https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
   docker_20_10 = callPackage dockerGen rec {
-    version = "20.10.14";
+    version = "20.10.15";
     rev = "v${version}";
-    sha256 = "sha256-eDwgqFx4io++SMOjhxMxVzqzcOgOnv6Xe/qmmPCvZts=";
+    sha256 = "sha256-uzwnXDomho5/Px4Ou/zP8Vedo2J9hVfcaFzM9vWh2Mo=";
     moby-src = fetchFromGitHub {
       owner = "moby";
       repo = "moby";
       rev = "v${version}";
-      sha256 = "sha256-I5oxpFLH789I2Sb29OXDaM4fCbQT/KvPq0DYcAVp0aI=";
+      sha256 = "sha256-+Eds5WI+Ujz/VxkWb1ToaGLk7wROTwWwJYpiZRIxAf0";
     };
-    runcRev = "v1.0.3";
-    runcSha256 = "sha256-Tl/JKbIpao+FCjngPzaVkxse50zo3XQ9Mg/AdkblMcI=";
-    containerdRev = "v1.5.11";
-    containerdSha256 = "sha256-YzFtv6DIjImSK0SywxhZrEeEmCnHTceAi3pfwnPubKg=";
+    runcRev = "v1.1.1";
+    runcSha256 = "sha256-6g2km+Y45INo2MTWMFFQFhfF8DAR5Su+YrJS8k3LYBY=";
+    containerdRev = "v1.6.4";
+    containerdSha256 = "sha256-425BcVHCliAHFQqGn6sWH/ahDX3JR6l/sYZWHpgmZW0=";
     tiniRev = "v0.19.0";
     tiniSha256 = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
   };
diff --git a/pkgs/applications/window-managers/sway/bg.nix b/pkgs/applications/window-managers/sway/bg.nix
index e98adefa447..7ef4a7d1f6a 100644
--- a/pkgs/applications/window-managers/sway/bg.nix
+++ b/pkgs/applications/window-managers/sway/bg.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     hash = "sha256-Lt/hn/K+CjcmU3Bs5wChiZq0VGNcraH4tSVYsmYnKjc=";
   };
 
+  strictDeps = true;
   depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols cairo gdk-pixbuf ];
diff --git a/pkgs/applications/window-managers/sway/contrib.nix b/pkgs/applications/window-managers/sway/contrib.nix
index caf34e543b7..a221eb7a8e6 100644
--- a/pkgs/applications/window-managers/sway/contrib.nix
+++ b/pkgs/applications/window-managers/sway/contrib.nix
@@ -10,6 +10,7 @@
 , slurp
 , grim
 , jq
+, bash
 
 , python3Packages
 }:
@@ -27,8 +28,9 @@ grimshot = stdenv.mkDerivation rec {
 
   outputs = [ "out" "man" ];
 
+  strictDeps = true;
   nativeBuildInputs = [ makeWrapper installShellFiles ];
-
+  buildInputs = [ bash ];
   installPhase = ''
     installManPage contrib/grimshot.1
 
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index 727d9b4e6b3..1b662575134 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
     ./sway-config-nixos-paths.patch
   ];
 
+  strictDeps = true;
   depsBuildBuild = [
     pkg-config
   ];
diff --git a/pkgs/applications/window-managers/sway/idle.nix b/pkgs/applications/window-managers/sway/idle.nix
index da23386d41c..4b2909eac21 100644
--- a/pkgs/applications/window-managers/sway/idle.nix
+++ b/pkgs/applications/window-managers/sway/idle.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     sha256 = "06iq12p4438d6bv3jlqsf01wjaxrzlnj1bnicn41kad563aq41xl";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols ]
                 ++ lib.optionals systemdSupport [ systemd ];
diff --git a/pkgs/applications/window-managers/sway/lock-effects.nix b/pkgs/applications/window-managers/sway/lock-effects.nix
index 9e919d3f88e..f186927f29f 100644
--- a/pkgs/applications/window-managers/sway/lock-effects.nix
+++ b/pkgs/applications/window-managers/sway/lock-effects.nix
@@ -8,6 +8,7 @@
 , scdoc
 , wayland
 , wayland-protocols
+, wayland-scanner
 , libxkbcommon
 , cairo
 , gdk-pixbuf
@@ -36,7 +37,8 @@ stdenv.mkDerivation rec {
     sed -iE "s/version: '1\.3',/version: '${version}',/" meson.build
   '';
 
-  nativeBuildInputs = [ meson ninja pkg-config scdoc ];
+  strictDeps = true;
+  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner];
   buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ];
 
   mesonFlags = [
diff --git a/pkgs/applications/window-managers/sway/lock-fancy.nix b/pkgs/applications/window-managers/sway/lock-fancy.nix
index 8c2a7e91649..8ca1dd77877 100644
--- a/pkgs/applications/window-managers/sway/lock-fancy.nix
+++ b/pkgs/applications/window-managers/sway/lock-fancy.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, coreutils, grim, gawk, jq, swaylock
-, imagemagick, getopt, fontconfig, wmctrl, makeWrapper
+, imagemagick, getopt, fontconfig, wmctrl, makeWrapper, bash
 }:
 
 let
@@ -30,7 +30,9 @@ in stdenv.mkDerivation rec {
       --replace "/usr/share" "$out/share"
   '';
 
+  strictDeps = true;
   nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ bash ];
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
diff --git a/pkgs/applications/window-managers/sway/lock.nix b/pkgs/applications/window-managers/sway/lock.nix
index b70160b1dbf..970fdfe371f 100644
--- a/pkgs/applications/window-managers/sway/lock.nix
+++ b/pkgs/applications/window-managers/sway/lock.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib, stdenv, fetchFromGitHub, fetchpatch
 , meson, ninja, pkg-config, scdoc, wayland-scanner
 , wayland, wayland-protocols, libxkbcommon, cairo, gdk-pixbuf, pam
 }:
@@ -14,6 +14,17 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-VVGgidmSQWKxZNx9Cd6z52apxpxVfmX3Ut/G9kzfDcY=";
   };
 
+  patches = [
+    # remove once when updating to 1.7
+    # https://github.com/swaywm/swaylock/pull/235
+    (fetchpatch {
+      url = "https://github.com/swaywm/swaylock/commit/5a1e6ad79aa7d79b32d36cda39400f3e889b8f8f.diff";
+      sha256 = "sha256-ZcZVImUzvng7sluC6q2B5UL8sVunLe4PIfc+tyw48RQ=";
+    })
+  ];
+
+  strictDeps = true;
+  depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ];
 
diff --git a/pkgs/applications/window-managers/sway/wrapper.nix b/pkgs/applications/window-managers/sway/wrapper.nix
index c1f531683d7..1eb9693379e 100644
--- a/pkgs/applications/window-managers/sway/wrapper.nix
+++ b/pkgs/applications/window-managers/sway/wrapper.nix
@@ -37,6 +37,7 @@ in symlinkJoin {
   paths = (optional withBaseWrapper baseWrapper)
     ++ [ sway ];
 
+  strictDeps = true;
   nativeBuildInputs = [ makeWrapper ]
     ++ (optional withGtkWrapper wrapGAppsHook);
 
diff --git a/pkgs/applications/window-managers/wmfs/default.nix b/pkgs/applications/window-managers/wmfs/default.nix
index 9169aea4f51..eaafac71b6c 100644
--- a/pkgs/applications/window-managers/wmfs/default.nix
+++ b/pkgs/applications/window-managers/wmfs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub,
+{ lib, stdenv, fetchFromGitHub, fetchpatch,
   libX11, libXinerama, libXrandr, libXpm, libXft, imlib2 }:
 stdenv.mkDerivation {
   pname = "wmfs";
@@ -12,6 +12,17 @@ stdenv.mkDerivation {
     rev = "b7b8ff812d28c79cb22a73db2739989996fdc6c2";
   };
 
+  patches = [
+    # Pull patch pending upstream inclusion to fix build on
+    # -fno-common toolchain like upstream gcc-10:
+    #  https://github.com/xorg62/wmfs/pull/104
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/xorg62/wmfs/commit/e4ec12618f4689d791892ebb49df9610a25d24d3.patch";
+      sha256 = "0qvwry9sikvr85anzha9x4gcx0r2ckwdxqw2in2l6bl9z9d9c0w2";
+    })
+  ];
+
   buildInputs = [
     imlib2
     libX11
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index eea1e3baeec..e122871f8f5 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -346,6 +346,9 @@ crate_: lib.makeOverridable
       outputs = if buildTests then [ "out" ] else [ "out" "lib" ];
       outputDev = if buildTests then [ "out" ] else [ "lib" ];
 
+      meta = {
+        mainProgram = crateName;
+      };
     } // extraDerivationAttrs
     )
   )
diff --git a/pkgs/build-support/setup-hooks/make-binary-wrapper.sh b/pkgs/build-support/setup-hooks/make-binary-wrapper.sh
index 986be5b9e11..3931b37c242 100644
--- a/pkgs/build-support/setup-hooks/make-binary-wrapper.sh
+++ b/pkgs/build-support/setup-hooks/make-binary-wrapper.sh
@@ -33,6 +33,7 @@ assertExecutable() {
 # To troubleshoot a binary wrapper after you compiled it,
 # use the `strings` command or open the binary file in a text editor.
 makeWrapper() {
+    local NIX_CFLAGS_COMPILE= NIX_CFLAGS_LINK=
     local original="$1"
     local wrapper="$2"
     shift 2
@@ -44,6 +45,7 @@ makeWrapper() {
     makeDocumentedCWrapper "$original" "$@" | \
       @CC@ \
         -Wall -Werror -Wpedantic \
+        -Wno-overlength-strings \
         -Os \
         -x c \
         -o "$wrapper" -
diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix b/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix
index d0ea088bf71..8c10f67c152 100644
--- a/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix
+++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , lib
 , makeSetupHook
-, makeWrapper
+, makeBinaryWrapper
 , gobject-introspection
 , isGraphical ? true
 , gtk3
@@ -34,7 +34,7 @@ makeSetupHook {
   ] ++ [
 
     # We use the wrapProgram function.
-    makeWrapper
+    makeBinaryWrapper
   ];
   substitutions = {
     passthru.tests = let
@@ -59,8 +59,8 @@ makeSetupHook {
         tested = basic;
       in testLib.runTest "basic-contains-dconf" (
         testLib.skip stdenv.isDarwin ''
-          ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GIO_EXTRA_MODULES=" "${dconf.lib}/lib/gio/modules"}
-          ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GIO_EXTRA_MODULES=" "${dconf.lib}/lib/gio/modules"}
+          ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GIO_EXTRA_MODULES" "${dconf.lib}/lib/gio/modules"}
+          ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GIO_EXTRA_MODULES" "${dconf.lib}/lib/gio/modules"}
         ''
       );
 
@@ -98,8 +98,8 @@ makeSetupHook {
       typelib-user-has-gi-typelib-path = let
         tested = typelib-user;
       in testLib.runTest "typelib-user-has-gi-typelib-path" ''
-        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH=" "${typelib-Mahjong}/lib/girepository-1.0"}
-        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH=" "${typelib-Mahjong}/lib/girepository-1.0"}
+        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH" "${typelib-Mahjong}/lib/girepository-1.0"}
+        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH" "${typelib-Mahjong}/lib/girepository-1.0"}
       '';
 
       # Simple derivation containing a gobject-introspection typelib in lib output.
@@ -143,8 +143,8 @@ makeSetupHook {
       typelib-multiout-user-has-gi-typelib-path = let
         tested = typelib-multiout-user;
       in testLib.runTest "typelib-multiout-user-has-gi-typelib-path" ''
-        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH=" "${typelib-Bechamel.lib}/lib/girepository-1.0"}
-        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH=" "${typelib-Bechamel.lib}/lib/girepository-1.0"}
+        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH" "${typelib-Bechamel.lib}/lib/girepository-1.0"}
+        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH" "${typelib-Bechamel.lib}/lib/girepository-1.0"}
       '';
 
       # Simple derivation that contains a typelib as well as a program using it.
@@ -169,8 +169,8 @@ makeSetupHook {
       typelib-self-user-has-gi-typelib-path = let
         tested = typelib-self-user;
       in testLib.runTest "typelib-self-user-has-gi-typelib-path" ''
-        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH=" "${typelib-self-user}/lib/girepository-1.0"}
-        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH=" "${typelib-self-user}/lib/girepository-1.0"}
+        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH" "${typelib-self-user}/lib/girepository-1.0"}
+        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH" "${typelib-self-user}/lib/girepository-1.0"}
       '';
     };
   };
diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix b/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix
index 1757bdbbe25..42866c3419d 100644
--- a/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix
+++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix
@@ -1,5 +1,4 @@
-{ runCommand
-}:
+{ lib, runCommand }:
 
 rec {
   runTest = name: body: runCommand name { } ''
@@ -19,12 +18,14 @@ rec {
   '';
 
   expectSomeLineContainingYInFileXToMentionZ = file: filter: expected: ''
-    if ! cat "${file}" | grep "${filter}"; then
-        ${fail "The file “${file}” should include a line containing “${filter}”."}
+    file=${lib.escapeShellArg file} filter=${lib.escapeShellArg filter} expected=${lib.escapeShellArg expected}
+
+    if ! grep --text --quiet "$filter" "$file"; then
+        ${fail "The file “$file” should include a line containing “$filter”."}
     fi
 
-    if ! cat "${file}" | grep "${filter}" | grep ${expected}; then
-        ${fail "The file “${file}” should include a line containing “${filter}” that also contains “${expected}”."}
+    if ! grep --text "$filter" "$file" | grep --text --quiet "$expected"; then
+        ${fail "The file “$file” should include a line containing “$filter” that also contains “$expected”."}
     fi
   '';
 }
diff --git a/pkgs/build-support/testers/test/default.nix b/pkgs/build-support/testers/test/default.nix
index 30e778cf652..09c50d9b7cb 100644
--- a/pkgs/build-support/testers/test/default.nix
+++ b/pkgs/build-support/testers/test/default.nix
@@ -19,6 +19,7 @@ lib.recurseIntoAttrs {
     nodes.machine = { pkgs, ... }: {
       system.nixos = dummyVersioning;
       environment.systemPackages = [ pkgs.proof-of-overlay-hello figlet ];
+      system.stateVersion = lib.trivial.release;
     };
     testScript = ''
       machine.succeed("hello | figlet >/dev/console")
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index 859dae4e49c..fbf16d16fd6 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -11,7 +11,7 @@ let
     (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
 in stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "15.2.0";
+  version = "15.3.0";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index 3e9e69ae9df..181aa44e018 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,95 +1,95 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  iosevka = "0yyz8vmpi8pww0p9na564lvbkwhdhpk4bcyrli91dn5gq0pc1pvv";
-  iosevka-aile = "1lciycahvxgvmcniq4h3m1v3rc42nmv8ydb0fpbl9g4sc0qp81hq";
-  iosevka-curly = "02jvrj7kzd4bx3maj1bq2p9j746b8c5713d8lqkxx4fn9fm0zppq";
-  iosevka-curly-slab = "1bhvf95xs74wm8srsvl4yxwvl36llk93mpl1y9acc5z9rdcpzjqq";
-  iosevka-etoile = "1zmgfxfsbxv1k4fwnc7g2jlfhmlzp5kap8m3f10fqanpnkd0yf08";
-  iosevka-slab = "1qy86kdl6lgq5k1qb97adibpfjm4vg1wdnxbqizhqka5bc7avyzb";
-  iosevka-ss01 = "1k451iv9fvp86arw0z685xyixlkpnsg3mxl6k9s47xxf9r82ab2a";
-  iosevka-ss02 = "066l1jamvlnksl1jn4l5qqll4wi19w0jr9x7bw0lpdic9478cs8g";
-  iosevka-ss03 = "0qh5ds9s7rghmar90ymxvcninmcm2hc05f83ixjadjfg9a27sff7";
-  iosevka-ss04 = "1zl2m68wqync8n93n06yj49r6n652yakrvdcsdvqm3agajnz0wnk";
-  iosevka-ss05 = "0rxakr04kwrwjfq7a6y2vdyjfgn162d8353pn7nc9wsfyrjbqpc2";
-  iosevka-ss06 = "0lfv6cvqy1mcn7zds7c6w68ky4y3clmvxcrg5knilm7sfql1jis1";
-  iosevka-ss07 = "1cc15rnnq2vzp22p8ld94jl2lyn6k8bra5792yqvyg23lf493jk2";
-  iosevka-ss08 = "0ysrq40kpvgfiapk1x9nzvvd81r0kyl1jlywwhmm3f4qca86a3ja";
-  iosevka-ss09 = "1535y8gmlkd1nqywcbmp7x9y9ahmskmwgs138baaj642jbq85l1b";
-  iosevka-ss10 = "01z7nwyqqda6jw819ajr9cd691yxd0b3irj4amdwnl6b46a278q7";
-  iosevka-ss11 = "0zi2n6h7jqf4vbg6r5vjzk0y8fj1lfjifsa1s3j0dmgs05m2bzc8";
-  iosevka-ss12 = "1h5bw4fp6kgszzwd9dpi461yf3mnkm0b5cgpaliyl2qpd8jivmm1";
-  iosevka-ss13 = "06v5angxqnbz9a53358ls0w78ib1d57g3svnfyplw7ynd0rrvw93";
-  iosevka-ss14 = "0ic0hh6xh1pl1jzkmp1ddbzhvfzislimlgwsdcnimzxk6ga5k44j";
-  iosevka-ss15 = "1mg363g47j90z00dpha81jk0n2ck59ca172g165m7cmz1bb425iq";
-  iosevka-ss16 = "0bs3rhwgnv9cwzgmsgzgjgv6awz5igxcvq64xpycw0dp17wbfl1z";
-  iosevka-ss17 = "0ssi56j8jdkhpsq7acczy3z9v8q3amr6a6jxv49rd4473fxzh3zc";
-  iosevka-ss18 = "13s77f1ki09szpa64qb00421kj2n5q2lv0vb2ahnlvphsbgik1j6";
-  sgr-iosevka = "0pqhpm13q23f82lkcimk8pinm41j6xmdlqxmfzg1y7m50gzdm10r";
-  sgr-iosevka-aile = "1malyfkc9dd552p04vq2b2nlv613pjzw84q8gnlpy8bycgx5np3s";
-  sgr-iosevka-curly = "0b8gnk8hsily9wp91hi66xjyj5hwqcab7j64x1xzzdc7fnfaz0qq";
-  sgr-iosevka-curly-slab = "0i9k38a7fb9z6jwds92kz3pgf1ryjz1m12ad1mslwq82kwy00h3f";
-  sgr-iosevka-etoile = "0rw4dhivxf3yls28zs34xia56dzx1w2as2j619ji36dpmh1v3ljn";
-  sgr-iosevka-fixed = "1zcr7zcpca5bhgaisjjlbn7zn1ih6mz6k4nj27y4ya8hnasfqxlh";
-  sgr-iosevka-fixed-curly = "17jvx2rvfqx6ip8h8srr6iwy55nnwvkrrflr4hxdyv8ggi8d8y7d";
-  sgr-iosevka-fixed-curly-slab = "01s3wz0r2wmybws96s1mcplx7zrbciqabsgaa5jy4kwn8rg0ajpi";
-  sgr-iosevka-fixed-slab = "1xbsrywi413r6gkmwc11yw8pkrc6hkf5309dfr25qwnn6c8wvqiy";
-  sgr-iosevka-fixed-ss01 = "17776y4lv7vyqhcanmayvksh85v0907vys4f3hpxjbw86497f4zj";
-  sgr-iosevka-fixed-ss02 = "0cwz8bfj05vr2800r35nd8d7r05hr4fd2wbx26dga3qnddawcgbp";
-  sgr-iosevka-fixed-ss03 = "1df1aigpy5g46g68l9fln2af4fafl9fs197nz49biw66ndraym4c";
-  sgr-iosevka-fixed-ss04 = "02g22kfd4nw8cvfkcjw9mixvw2abfzpbalcwcqidyn8qd3s51x1v";
-  sgr-iosevka-fixed-ss05 = "12zwmzh0ilclkpw18lqkp4dpawngwf21ah90ywi3spzl9whqk5wc";
-  sgr-iosevka-fixed-ss06 = "01ajn8gwqljx8da9fv9dlawwafcnqvf9pld9h8lygrg67kf3p1j6";
-  sgr-iosevka-fixed-ss07 = "000sk29gfp9z7690880kixmk08swnwpp8zs89idgpg5qhs5479qm";
-  sgr-iosevka-fixed-ss08 = "1fcw4wmz12ar5hy3r5hmagwss46yjsckk4hxhjfphbapznmyw2dx";
-  sgr-iosevka-fixed-ss09 = "0jxpf854njzjw7r1q1jaizbfhaal7idhs9v5l64c03q40s2cycxr";
-  sgr-iosevka-fixed-ss10 = "0n40gl7ygcc03n6673rkjdfqshd6fx7f0a831fz007s61c38rdl9";
-  sgr-iosevka-fixed-ss11 = "0r0wlmpa5nmgwx92f6x2jimgyh5x05id39wsmxpyhjfrl4dchkgm";
-  sgr-iosevka-fixed-ss12 = "02dvkr2vim8zyd1gngjk41bbg5ncjr6yfxigy5l9gjm64x6q2szz";
-  sgr-iosevka-fixed-ss13 = "14vz894yxw5252krpwh9981hmslwmyxdgp96kpq37lp35w7bhkc0";
-  sgr-iosevka-fixed-ss14 = "0jaz1g89dj27s3xgcginxx4s3kr7114x7wqqda96jyc1zrg79am4";
-  sgr-iosevka-fixed-ss15 = "1h12kcik341vp3yra8izcbj3490payjqy8b0y739s4bj6zmx7zb3";
-  sgr-iosevka-fixed-ss16 = "0yiyxbi1snd33ys8ip29xprwm0876j818g3fr2g6d955lp94crkp";
-  sgr-iosevka-fixed-ss17 = "1sv4zf5w7amhd591cjky7z2fc90hiiwj1g987scwcbvc0fb5gj86";
-  sgr-iosevka-fixed-ss18 = "09yh76152ar2lkw1gavd9x5i6a6vswhw9qyic0zixzr2rmcm2j35";
-  sgr-iosevka-slab = "0xdljj5bh4jsbwjgicpbi91hkjqvzxis9asd4g0vy3qqdr393i9k";
-  sgr-iosevka-ss01 = "0fllywsy23d6nfvgpb98af76cwbq8pizjvcah0p8j4qql6353d5y";
-  sgr-iosevka-ss02 = "0mlp4l3bbm2rm9gjb4pa8k730x3yb85qck7a1n5wdfz881mz6z59";
-  sgr-iosevka-ss03 = "0kcimy2i28a82s74987f6dxkdxzr06fzsi6rb7wz5v4rn5v7vmm9";
-  sgr-iosevka-ss04 = "0ynrq7di10349lfqm34vzr6z9z5hx6lz4q2z73ri91si224qsgih";
-  sgr-iosevka-ss05 = "1p2062x9wd5kkas3j5aqkx7r4asm2727i0sjf207w4lh3r37k9by";
-  sgr-iosevka-ss06 = "0zcpnw5mk3js5rc0cgpn5fncqqwf5s032z04xbaagzsmp7f3f1p9";
-  sgr-iosevka-ss07 = "09h686i2jq2p9i0684kjmsfgdpfwkbncbg3zxhz4m1x4wpfblhk8";
-  sgr-iosevka-ss08 = "0jbzr6saijbmbj1dkc4djawr75agp2c8krsnwskqr9dhisrmnjfk";
-  sgr-iosevka-ss09 = "10ffzi57gibz6w7yn4ign8vn6cagc680jrv81aqdkgav2bx71z9g";
-  sgr-iosevka-ss10 = "0d0wn7564zyvfk79hfqgnm3aa94k8xbddgmmxpq5jk918a1m6614";
-  sgr-iosevka-ss11 = "1zmbnhr1jz53yhighcn8dkj72s4y66ma61qjf5y3z64j7ql99kxi";
-  sgr-iosevka-ss12 = "06czjy90yx7pv958agwwnwn2vpfv1ha2j90bmcjg2c6shvnz5hsr";
-  sgr-iosevka-ss13 = "19k47hb167l6jsymznivdy6mgz228vcc4r5mzjjcszy4ba6n5qvg";
-  sgr-iosevka-ss14 = "0nkj7jmpbwfq7pl7s3ih30zs0szqf7xsbjn70w5i5x2g8fc3sffj";
-  sgr-iosevka-ss15 = "18l78cg3vxibngdbx2ikqhgz1v499ihf7bmdd5w92wrkkjgd0q8m";
-  sgr-iosevka-ss16 = "00mn81r50aw3ymp3mnwb8j6z6n98y03z0g5b8jfybpah65rgsrra";
-  sgr-iosevka-ss17 = "07vpvldkph4wn50vj5179h6zrw7vaf9mylksscw4wyqalinhiiqk";
-  sgr-iosevka-ss18 = "1h0jq8d2lbh0lfsmqcwbw6q9fbhbfrnn3c58xnknr9ys32xc88l2";
-  sgr-iosevka-term = "1j7sv5k4pbrq278nwfxshw23f7hdigy90w82a11s8nkq5b7f81wd";
-  sgr-iosevka-term-curly = "1v3vcvq6p4a3y1alkg45l2jipf0mwsv4x57yxl0dd41fb30araxw";
-  sgr-iosevka-term-curly-slab = "05is4yw7v32yf1h3b5j86wmz0x9fgbp5q99jw2zgn5lmv8x71dgh";
-  sgr-iosevka-term-slab = "1a0fn07ykx93y2myxdmg4xnz67dwmdl66n8la8x1h502b4hacqpl";
-  sgr-iosevka-term-ss01 = "1bwnyd6g0c185ny3d34pza1szc8pzkj15hk76g7s3jancgyajcj8";
-  sgr-iosevka-term-ss02 = "17srbkd4pbr2wwzcw6ycm1c4n5jlk4p5wlm1baqfzvffldbp609k";
-  sgr-iosevka-term-ss03 = "1w9ydkm0lsd0chyhi3b24n6syns55jwgnxkbnn7z7hh9llglplsj";
-  sgr-iosevka-term-ss04 = "1znabmm2plb5w5f8qj61shzm4v6kdqdak547j64w768g6pgc61hh";
-  sgr-iosevka-term-ss05 = "0pg3zannb29pxbfcjarj39my2lhwnid3yr7sbhk5i6sxy8klwjdv";
-  sgr-iosevka-term-ss06 = "0n25hc5gfi4zcc2zr0r5zh0q8v16z8ak2iphh5406pdgj3n9lmi9";
-  sgr-iosevka-term-ss07 = "0kmv8p689wf3mpiaq3749a3361nsckg0v4hsaw2mlshvhp4159h4";
-  sgr-iosevka-term-ss08 = "04g0q2pgimj73hgxr9nv8qmbc6n6fsadhy5x3l3cwcw7wh7s0g37";
-  sgr-iosevka-term-ss09 = "19qssfrmkvdq7bl0bg3a9v6sgnn2hg93kq0qh4j9chr7ffxnlmb2";
-  sgr-iosevka-term-ss10 = "1qc3cfw9f959h1gafhsddrlw2cbvazv17yllsj6rw4rff3bqscaq";
-  sgr-iosevka-term-ss11 = "1jbz5qg2vgrqmhbz8yvmampv7zkmksilvd7y2zrz4h5s2jbr32sg";
-  sgr-iosevka-term-ss12 = "0afcjcpb4dw4d3dggm82yls09rl71x4jqavbil4z7br96vgipdg9";
-  sgr-iosevka-term-ss13 = "04zbhi5mpycb9c6gf5ci1h6pbghy8vmajmzifcpg8d0fb9vyz370";
-  sgr-iosevka-term-ss14 = "0bps3zgarjdq5xn92rgdasnhcqlrmxwpa4bv9wr40df7zxhlvkr4";
-  sgr-iosevka-term-ss15 = "0ylxgmrsl596zdlph2f2lcfy9a37wi0x7418y53g43bdd33kcpxp";
-  sgr-iosevka-term-ss16 = "1ql8x3r19sa36424wijrzxnl3mfz7rjnwlavd0bz8qinfdvjvdsf";
-  sgr-iosevka-term-ss17 = "0plhqk7j64wfs61snly0m49lghk4srmribfqlzdk9xrvnv9h7zv1";
-  sgr-iosevka-term-ss18 = "1h7z1cnd4ia1pbyj5sq1718z8n747cq8kdy97c4vdmw6gjl8wp5x";
+  iosevka = "0nh0vsm9gpl5fsyfp11f8ks5jk4wf5r0nhqq92p7fdyrv6x8ygci";
+  iosevka-aile = "0hjys81klq8f2vhk68bmd2vd6fzpbhvkx74jxbfi6fq487a5g6ix";
+  iosevka-curly = "06npnjgwn3a78p3i5pdjs4bg69r3jz7y25qdii6wri3zna21w55r";
+  iosevka-curly-slab = "0mr8v0k8v9b45hyylmyjqa2npi16zq0ga4kdx7782qy5x96fxkwh";
+  iosevka-etoile = "0q1w9xqjr7zfghpvqp1c54y8z1i353fgfshj11bva3bb1vcgllk7";
+  iosevka-slab = "1pppsjj8nwg76lidv52z0swlhrg44lw5y0kcv5hw56cgz17vnhw0";
+  iosevka-ss01 = "1xj6zsadpxd7rcx5sklvzbcis09xpkdj0rcxjb87d6da6x52897a";
+  iosevka-ss02 = "0nj50p4wbin3cjsyw1mviy4s4asy77z8kgmbwl43cqyh8693q61i";
+  iosevka-ss03 = "0ksdy6dz5nh13j95vq6r0z56lgzw9rxk6w3c1g4h9qr8x0h81i9s";
+  iosevka-ss04 = "0qyrycc0ly69hs8zva0mqlbpxqcx4kcpw05li96bbigjv481li5g";
+  iosevka-ss05 = "01kyjl53afz6s21ca7csr1pmn2b80cr55raq9maacx7dkphs85pk";
+  iosevka-ss06 = "0ay7qzh17l3fpsfj48kiadbvs02v8jh3g0xz6rr6948z08sw2qx2";
+  iosevka-ss07 = "0wwn88y7k6gxwvg34wpfg95biip45viarm5h4dv06ygfl8sjva1a";
+  iosevka-ss08 = "00y5l3zb1b3l6yh0m5v80jwhkdj1njnk165wnjbg1w5qgl0yr3ww";
+  iosevka-ss09 = "1f42cwz34zqc8dkw1ahypj5f31fsxs9rx3zyqk58w7pn85sjq3n6";
+  iosevka-ss10 = "0bvip0lvmh11x0l0pj94n1akn0y18srai0k737xdn5s1h86jg2nf";
+  iosevka-ss11 = "0m4h9i7fmicxh3g57fprcgfhh4255vyc5sdkvd5iv225bwsfr4mr";
+  iosevka-ss12 = "13qxfz3d2h1w8gicssadgfr5inr6i7mmyjni4wi2ij6p4y0dlg5f";
+  iosevka-ss13 = "0q5xkxv040j1h1p11w6b0ngyzjkhhfzclxssrcyaxfkcnn7nkfqq";
+  iosevka-ss14 = "0xkhcjzha9kkgymcq18n50jp1ikd0n8nisii40ihibiifcgrfp28";
+  iosevka-ss15 = "17m7v4p62apnj7i86b6gm6yg1kyyawjly9qch1ii1wawj6aixyrp";
+  iosevka-ss16 = "1amyc0f1mmwqz161m9jxgasgij6bzxazm6r4r1y1z800z6zd03hm";
+  iosevka-ss17 = "0ia2p364avlad7v0z50zvzkaj33c2ys90dywy8i877nh2hzj61ky";
+  iosevka-ss18 = "12rfjmfc8vkj6r91idlic2gpmr7gba2dg79s71jgiclkfr0fsb1m";
+  sgr-iosevka = "1wqcx09aps43yavm5gm43xgq5xzrs0bs6abspqxzg7hpzfh0s5fn";
+  sgr-iosevka-aile = "0335bfjc0ddia8y2sv6h5x4hdg1abwsdfy3cb59w25y46l7vlk3k";
+  sgr-iosevka-curly = "1clspm5b30253d5qg23sklvgvvcnvrhb7hjxgyglg6abksw1r7xj";
+  sgr-iosevka-curly-slab = "0m9km2bvjmd09nj4gqwnjxik4iq7qabcaa42r5kdkj2b214hz622";
+  sgr-iosevka-etoile = "0yg0086d4dl5faadcvv20kbppi75msc8680v8w8g8db2w6b0ahfh";
+  sgr-iosevka-fixed = "19msi71p9d2kvm2yr6gxg08wzhnhx3vxn7ivq89yxs4793mznbza";
+  sgr-iosevka-fixed-curly = "0fxwlcpl8mxkk4gcs53fadfcc3fayyg3vpplvvhq6vj6rh4fsmjd";
+  sgr-iosevka-fixed-curly-slab = "1kfvzan5h6b790ci9b8dsv3k89l181fj39x0yn2i4va10vhrif8j";
+  sgr-iosevka-fixed-slab = "0h7rnmrabay0qvs2l40s2sn5hlx1q02n1wdl9zbjnc0mkhlyhpav";
+  sgr-iosevka-fixed-ss01 = "0ssyd2x43bxv7b3giirsnxr6mp33l27iph8gcfnb7bqxb6iy8iar";
+  sgr-iosevka-fixed-ss02 = "0vliidfhihkvhslhbd39kj4f909k9m3jl0dkjvlyxhwcabydcqwp";
+  sgr-iosevka-fixed-ss03 = "1l2b2svij67m2dgv036a0sv66w84j64wgizv1m4zk1i70i529l4a";
+  sgr-iosevka-fixed-ss04 = "0g32q7l5ppl15jvfdhl3hr1a3jm48bzsqsdw5zby1qi9v004bcq6";
+  sgr-iosevka-fixed-ss05 = "0rf36r4yidjfid5rxvsg2pxmlzhk48vb307ilyqahdlffhncac9f";
+  sgr-iosevka-fixed-ss06 = "170m8fsgy0spv311ddg11nzhpf030b0psxd7q654xylfcbldzwxa";
+  sgr-iosevka-fixed-ss07 = "16vym343hp6m9ln4swlypws9sbwn4grj772yxckfdj1w91hk9a3a";
+  sgr-iosevka-fixed-ss08 = "13xrjbxss2dahqnxalr5afky8056ysdrw9m2schnd9r885lfjdaw";
+  sgr-iosevka-fixed-ss09 = "1v11x60fnrchghvj0m10dzi17b2i844588gkrn71bz5xjdvd2cf9";
+  sgr-iosevka-fixed-ss10 = "1hi5wsf2fjs1j6iahlv9pyhfzswz1sly89wi2lw4ll5s42na31qb";
+  sgr-iosevka-fixed-ss11 = "1mzz3rvg35k796rra19rb5zmffwhjfr6q8q5632cjygiqizd99k2";
+  sgr-iosevka-fixed-ss12 = "11k9z0k0p0nf9c6yi5m19nnzf6pbq6zqjlcp9cz4snz91wg4py9b";
+  sgr-iosevka-fixed-ss13 = "1mdwd5xb0c5ypjbr6bgd378kid01lqq2knmrbvlq7py145c8wnhq";
+  sgr-iosevka-fixed-ss14 = "0qzr0iw1axpn1dv5zpkcnk5r7678093q7cas9kbf4nb69r59zg3w";
+  sgr-iosevka-fixed-ss15 = "13aqp10x0zdah7337pl8wr0v0w61yj70pracxh9znwl5a62rq98l";
+  sgr-iosevka-fixed-ss16 = "082zh32xghi7vavadgkx85lbqsmmzn9dv26ywvzkw9kf8v1kp931";
+  sgr-iosevka-fixed-ss17 = "0biijj9iwpa8i5sg721r3a6i3mbmyz9hc7j35dqxjvzyxa1c8lqf";
+  sgr-iosevka-fixed-ss18 = "07s5lq0cm00ja3l0wq01y5nky7jhjsizx71rz63p1ln7iakq84fl";
+  sgr-iosevka-slab = "1sqw8v56qgs5hvnm48psdv27gs83mn37hiqzskgqbyx1njkncrw1";
+  sgr-iosevka-ss01 = "094bx7vkqjx4wpc0wqylviwy0k00w4wshngw6nk4mgsxbirxlvnm";
+  sgr-iosevka-ss02 = "1m7ny32qx7s42lvnq6xw45ij7l270wj1nk2dkjdpfsagfyg869kv";
+  sgr-iosevka-ss03 = "1z947mrpr9lz7wk3357y81yb8adqi8hn32bqm14bp330n658a5jj";
+  sgr-iosevka-ss04 = "0jn0g2hy7l98sw3z1wvr263fqca6a4cmljsfam6qm48z3izcya2n";
+  sgr-iosevka-ss05 = "0k5s1q84ssy95k4szd614y9f8cibhj7an9lalb5h4ds4mbmhsc4y";
+  sgr-iosevka-ss06 = "170jz7fppj4zc1ik033jbkp71grkm2fyfybvy48zdbdzan050b87";
+  sgr-iosevka-ss07 = "1s8y27fv0klijsz9wac7nyxcj8mqcj3a09qmifaqvx80zl50yjwy";
+  sgr-iosevka-ss08 = "0002i1411s82qm75hmdshry4k5fs1bsj4s8ardy8llpfs3z9w501";
+  sgr-iosevka-ss09 = "16l3099djsxb42j51yr21xjamws731f87c2dgrkxhf2hy8rr2pv4";
+  sgr-iosevka-ss10 = "1r67zpqai0c4cjpfslapdp411c62vlbjsf2qdwws5fk0s6sk4wra";
+  sgr-iosevka-ss11 = "0y2qbrgsfcssqwq8ljqhz7wzpyg5z7ji5a35w9dp7wfaz4fmiifh";
+  sgr-iosevka-ss12 = "1zy4972m7wdawjx4rlwkf78fg6l53gyqc368dk8c0ng5sz5s5jc9";
+  sgr-iosevka-ss13 = "0yrg0pdandgqcz3dqjm5y8kaapryxynrj9v2br542vh6vp0w13zn";
+  sgr-iosevka-ss14 = "1c0bh3qach06wiprpi3mglnkzmmb6asah9d1s9g2vpx825vvwf6f";
+  sgr-iosevka-ss15 = "0qqqjh1rlz3al9qs09iqzgmsjww1cnp4vy700b2hmdhl46rjjipy";
+  sgr-iosevka-ss16 = "030x1234vhnryvy4hlw5b42blx2yrm0kikr07clmp8fqvdba1wy1";
+  sgr-iosevka-ss17 = "0k1sjpphgajdxk1l41fhfl93mj58ijhyba40m4h261p58ygbnszv";
+  sgr-iosevka-ss18 = "1sf5zcp3js6hsm47mr4kbx7q4x1kk999080jfx118yfvgj5whmq1";
+  sgr-iosevka-term = "0vxgcp3mi1brbcz6xvf6y3kbfd11x35blkf2aa82f47yqh26n96w";
+  sgr-iosevka-term-curly = "0fgvsq28g63xbcxbcfrkbina5cvvj6c677mgadhbvyjml4lm57pz";
+  sgr-iosevka-term-curly-slab = "0sqi5iz4pz7l5jqxw0a150j3nffzivlpzsaglzfrq50xcqqk3an1";
+  sgr-iosevka-term-slab = "1yihqfandm61rfkiifw7mxi10b59cvf41k4mgviw9ylrg7ca47km";
+  sgr-iosevka-term-ss01 = "10phwnsc4my2gr38974mf1qy4fwp9bqd06bwqcafxvp776s0ya1x";
+  sgr-iosevka-term-ss02 = "0zvi1114hw4xp68cgyp8n4i7lfm547l9awz1ffkvj07l5zshhjpf";
+  sgr-iosevka-term-ss03 = "1g1l9dq0fgywfxzdlwc0h8a8x8178m7x74rms6vwsgjgjfz83cca";
+  sgr-iosevka-term-ss04 = "13gcv4nn06jwafm74km0j48lmfjyi5x0hcgf1wrbhrabd06vrbc5";
+  sgr-iosevka-term-ss05 = "13i912b8s42gjcxrhiqp26779zfpy38rr8pf2gyb5njv4pvxxk6m";
+  sgr-iosevka-term-ss06 = "1k631gf37maz6zi1cf46nr93x7lvdmdl43ri4c9mbx1q5f36ys8w";
+  sgr-iosevka-term-ss07 = "0zr85cmrg4my5f255wbg27rhlkflsbp2jksrhgm4f6a2fn2qn0fy";
+  sgr-iosevka-term-ss08 = "1y9ly507xqp6h3bldfw1fji1gxszpj3jxv1by4b3r1as63vdhqkj";
+  sgr-iosevka-term-ss09 = "198myb085pp427lwf7ih2kddh52jpn1930p6a8q1n6fig1vbk76x";
+  sgr-iosevka-term-ss10 = "1csdkbfffjpcqhhf9n7c3gxar2403x2zwqg7nlsnih1hgpvhvxx8";
+  sgr-iosevka-term-ss11 = "0yid9w70jqvy4a6mglfi3n12g0k0ad52zdx0szgjsrbw98mfrqdr";
+  sgr-iosevka-term-ss12 = "08ad3mwp3rfd3mikah9nhcn4d3is5gqqfza3vz3ddnj48fdqd4sm";
+  sgr-iosevka-term-ss13 = "0myic6pzhdbmcp8fdhc5idsspsrrrxvb7m7ycc8vigqd1inmz091";
+  sgr-iosevka-term-ss14 = "1yw6zv4hfksmkdh0403l6dmc54hd04qfzafhvhc5r53kd4ja1k93";
+  sgr-iosevka-term-ss15 = "1y9gclnvidhadcr842ah3s16wrv0mbil7z5varri9hambaryz3z5";
+  sgr-iosevka-term-ss16 = "0qn3k93scc6hsxayfzagdgxqiv40vgz0ac0fa93zdyp5krb46rff";
+  sgr-iosevka-term-ss17 = "1l7jfb3x83kxlhj4zi8w1adxzf6k66zdzp93zif0mhvk9718ckws";
+  sgr-iosevka-term-ss18 = "19ip13fmkrismwm1ymhwfsv9a4w57460dkjmngpk2kp1av5nqc0m";
 }
diff --git a/pkgs/data/fonts/khmeros/default.nix b/pkgs/data/fonts/khmeros/default.nix
new file mode 100644
index 00000000000..28db0d00981
--- /dev/null
+++ b/pkgs/data/fonts/khmeros/default.nix
@@ -0,0 +1,27 @@
+{ fetchzip, lib }:
+
+let
+  version = "5.0";
+in
+fetchzip {
+  name = "khmeros-${version}";
+  url = "mirror://debian/pool/main/f/fonts-khmeros/fonts-khmeros_${version}.orig.tar.xz";
+  sha256 = "sha256-pS+7RQbGwlBxdCfSVxHmARCAkZrZttwYNlV/CrxqI+w=";
+
+  postFetch = ''
+    unpackDir="$TMPDIR/unpack"
+    mkdir "$unpackDir"
+    cd "$unpackDir"
+    tar xf "$downloadedFile" --strip-components=1
+    mkdir -p $out/share/fonts
+    cp *.ttf $out/share/fonts
+  '';
+
+  meta = with lib; {
+    description = "KhmerOS Unicode fonts for the Khmer language";
+    homepage = "http://www.khmeros.info/";
+    license = licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/lklug-sinhala/default.nix b/pkgs/data/fonts/lklug-sinhala/default.nix
new file mode 100644
index 00000000000..45f907f1cf0
--- /dev/null
+++ b/pkgs/data/fonts/lklug-sinhala/default.nix
@@ -0,0 +1,23 @@
+{ fetchzip, lib }:
+
+let
+  version = "0.6";
+in
+fetchzip {
+  name = "lklug-sinhala-${version}";
+  url = "mirror://debian/pool/main/f/fonts-lklug-sinhala/fonts-lklug-sinhala_${version}.orig.tar.xz";
+  sha256 = "sha256-Fy+QnAajA4yLf/I1vOQll5pRd0ZLfLe8UXq4XMC9qNc=";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    tar xf $downloadedFile --strip-components=1 -C $out/share/fonts fonts-lklug-sinhala-${version}/lklug.ttf
+  '';
+
+  meta = with lib; {
+    description = "Unicode Sinhala font by Lanka Linux User Group";
+    homepage = "http://www.lug.lk/fonts/lklug";
+    license = licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/nanum/default.nix b/pkgs/data/fonts/nanum/default.nix
new file mode 100644
index 00000000000..1aac2c53d82
--- /dev/null
+++ b/pkgs/data/fonts/nanum/default.nix
@@ -0,0 +1,27 @@
+{ fetchzip, lib }:
+
+let
+  version = "20170925";
+in
+fetchzip {
+  name = "nanum-${version}";
+  url = "mirror://ubuntu/pool/universe/f/fonts-nanum/fonts-nanum_${version}.orig.tar.xz";
+  sha256 = "sha256-lSTeQEuMmlQxiQqrx9tNScifE8nMOUDJF3lCfoAFIJk=";
+
+  postFetch = ''
+    unpackDir="$TMPDIR/unpack"
+    mkdir "$unpackDir"
+    cd "$unpackDir"
+    tar xf "$downloadedFile" --strip-components=1
+    mkdir -p $out/share/fonts
+    cp *.ttf $out/share/fonts
+  '';
+
+  meta = with lib; {
+    description = "Nanum Korean font set";
+    homepage = "https://hangeul.naver.com/font";
+    license = licenses.ofl;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/sil-padauk/default.nix b/pkgs/data/fonts/sil-padauk/default.nix
new file mode 100644
index 00000000000..1b574e2da2d
--- /dev/null
+++ b/pkgs/data/fonts/sil-padauk/default.nix
@@ -0,0 +1,27 @@
+{ fetchzip, lib }:
+
+let
+  version = "3.003";
+in
+fetchzip {
+  name = "sil-padauk-${version}";
+  url = "mirror://debian/pool/main/f/fonts-sil-padauk/fonts-sil-padauk_${version}.orig.tar.xz";
+  sha256 = "sha256-oK+EufbvsqXunTgcWj+DiNdfpRl+VPO60Wc9KYjZv5A=";
+
+  postFetch = ''
+    unpackDir="$TMPDIR/unpack"
+    mkdir "$unpackDir"
+    cd "$unpackDir"
+    tar xf "$downloadedFile" --strip-components=1
+    mkdir -p $out/share/fonts
+    cp *.ttf $out/share/fonts
+  '';
+
+  meta = with lib; {
+    description = "Burmese Unicode 6 TrueType font";
+    homepage = "https://software.sil.org/padauk";
+    license = licenses.ofl;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/takao/default.nix b/pkgs/data/fonts/takao/default.nix
new file mode 100644
index 00000000000..dcbce858e01
--- /dev/null
+++ b/pkgs/data/fonts/takao/default.nix
@@ -0,0 +1,27 @@
+{ fetchzip, lib }:
+
+let
+  version = "00303.01";
+in
+fetchzip {
+  name = "takao-${version}";
+  url = "mirror://ubuntu/pool/universe/f/fonts-takao/fonts-takao_${version}.orig.tar.gz";
+  sha256 = "sha256-TlPq3iIv8vHlxYu5dkX/Lf6ediYKQaQ5uMbFvypQM/w=";
+
+  postFetch = ''
+    unpackDir="$TMPDIR/unpack"
+    mkdir "$unpackDir"
+    cd "$unpackDir"
+    tar xf "$downloadedFile" --strip-components=1
+    mkdir -p $out/share/fonts
+    cp *.ttf $out/share/fonts
+  '';
+
+  meta = with lib; {
+    description = "Japanese TrueType Gothic, P Gothic, Mincho, P Mincho fonts";
+    homepage = "https://launchpad.net/takao-fonts";
+    license = licenses.ipa;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/tibetan-machine/default.nix b/pkgs/data/fonts/tibetan-machine/default.nix
new file mode 100644
index 00000000000..67393a9c4ab
--- /dev/null
+++ b/pkgs/data/fonts/tibetan-machine/default.nix
@@ -0,0 +1,22 @@
+{ fetchzip, lib }:
+
+let
+  version = "1.901b";
+in
+fetchzip {
+  name = "tibetan-machine-${version}";
+  url = "mirror://debian/pool/main/f/fonts-tibetan-machine/fonts-tibetan-machine_${version}.orig.tar.bz2";
+  sha256 = "sha256-A+RgpFLsP4iTzl0PMRHaNzWGbDR5Qa38lRegNJ96ULo=";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    tar xf $downloadedFile --strip-components=1 -C $out/share/fonts ttf-tmuni-${version}/TibMachUni-${version}.ttf
+  '';
+
+  meta = with lib; {
+    description = "Tibetan Machine - an OpenType Tibetan, Dzongkha and Ladakhi font";
+    license = licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/misc/cldr-annotations/default.nix b/pkgs/data/misc/cldr-annotations/default.nix
index 14c8d36f28b..cdc7a978e6b 100644
--- a/pkgs/data/misc/cldr-annotations/default.nix
+++ b/pkgs/data/misc/cldr-annotations/default.nix
@@ -1,18 +1,18 @@
 { lib, fetchzip }:
 
 let
-  version = "40.0";
+  version = "41.0";
 in fetchzip rec {
   name = "cldr-annotations-${version}";
 
-  url = "https://unicode.org/Public/cldr/40/cldr-common-${version}.zip";
+  url = "https://unicode.org/Public/cldr/${lib.versions.major version}/cldr-common-${version}.zip";
 
   postFetch = ''
     mkdir -p $out/share/unicode/cldr
     unzip -d $out/share/unicode/cldr $downloadedFile 'common/annotations/*' 'common/annotationsDerived/*'
   '';
 
-  sha256 = "sha256-L4NSMNFYKJWV3qKQhio9eMABtDlLieT9VeMZfzeAkbM=";
+  sha256 = "sha256-3dHVZGx3FmR97fzhlTSx/xp6YTAV+sMExl6gpLzl1MY=";
 
   meta = with lib; {
     description = "Names and keywords for Unicode characters from the Common Locale Data Repository";
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index e99d660bcf3..9454a39d9d7 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "762464dcc5ce93f1c6a9a746feb6bd1bd0c47006",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/762464dcc5ce93f1c6a9a746feb6bd1bd0c47006.tar.gz",
-  "sha256": "0k1qp34lsc08a99p669v8n0fxs6mdzwc2bz87v0hdah4qagi4z4g",
-  "msg": "Update from Hackage at 2022-04-20T23:34:08Z"
+  "commit": "08ae12813ead00810e00ffe9dae284fcafe6a08a",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/08ae12813ead00810e00ffe9dae284fcafe6a08a.tar.gz",
+  "sha256": "00jc08pifnp791s1scscdhgwlf75v9682a7vjis1djnhj3y5s3ny",
+  "msg": "Update from Hackage at 2022-05-01T06:09:30Z"
 }
diff --git a/pkgs/data/themes/qogir/default.nix b/pkgs/data/themes/qogir/default.nix
index e3e3b6e485b..528ff53be37 100644
--- a/pkgs/data/themes/qogir/default.nix
+++ b/pkgs/data/themes/qogir/default.nix
@@ -7,17 +7,18 @@
 , librsvg
 , sassc
 , which
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "qogir-theme";
-  version = "2021-12-25";
+  version = "2022-04-29";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "1h10yqz3i59bxhkk2r2p8as8g9ibx38bbpdxi7jgg2pxr581mn4f";
+    sha256 = "oFGJ29He7ZmryW/Eg+JLM9C3FzNjmKjzNtyXDHGuhwo=";
   };
 
   nativeBuildInputs = [
@@ -38,12 +39,14 @@ stdenv.mkDerivation rec {
   installPhase = ''
     patchShebangs .
     mkdir -p $out/share/themes
-    name= ./install.sh -t all -d $out/share/themes
+    name= HOME="$TMPDIR" ./install.sh -t all -d $out/share/themes
     mkdir -p $out/share/doc/${pname}
     cp -a src/firefox $out/share/doc/${pname}
     rm $out/share/themes/*/{AUTHORS,COPYING}
   '';
 
+  passthru.updateScript = gitUpdater { inherit pname version; };
+
   meta = with lib; {
     description = "Flat Design theme for GTK based desktop environments";
     homepage = "https://vinceliuice.github.io/Qogir-theme";
diff --git a/pkgs/desktops/arcan/default.nix b/pkgs/desktops/arcan/default.nix
index 9d9f28a7953..3db4d4eb819 100644
--- a/pkgs/desktops/arcan/default.nix
+++ b/pkgs/desktops/arcan/default.nix
@@ -1,6 +1,6 @@
-{ callPackage, lib, pkgs }:
+{ config, lib, pkgs }:
 
-rec {
+lib.makeScope pkgs.newScope (self: with self; {
   # Dependencies
 
   espeak = pkgs.espeak-ng;
@@ -40,4 +40,4 @@ rec {
     name = "all-wrapped";
     appls = [ durden pipeworld ];
   };
-}
+})
diff --git a/pkgs/desktops/arcan/durden/default.nix b/pkgs/desktops/arcan/durden/default.nix
index 46012d69d2d..5447105d358 100644
--- a/pkgs/desktops/arcan/durden/default.nix
+++ b/pkgs/desktops/arcan/durden/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "durden";
-  version = "0.6.1+date=2022-03-11";
+  version = "0.6.1+date=2022-04-16";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = pname;
-    rev = "fec2a1051500df28becce188d932645743091efa";
-    hash = "sha256-uZ7oTnkWG3P/4ETgn6MQ9v47mRAJnvyzglQS7jlabPA=";
+    rev = "b07ba6535addf0d36a64385745cd9595f7d214b1";
+    hash = "sha256-nDSuJrJvJOVpRax+AwuNAZ3Ioqfoo10EGCab1EiPbIY=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/desktops/arcan/pipeworld/default.nix b/pkgs/desktops/arcan/pipeworld/default.nix
index 09f809aa471..86ab4259640 100644
--- a/pkgs/desktops/arcan/pipeworld/default.nix
+++ b/pkgs/desktops/arcan/pipeworld/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pipeworld";
-  version = "0.pre+date=2021-12-03";
+  version = "0.pre+date=2022-04-03";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = pname;
-    rev = "c653414670cafb0c73a57492aa3d9510460b16a9";
-    hash = "sha256-XuAsuTC+P6yoNlDnsT2fiWoqKW+1JKc9NF+Vn/ta0pk=";
+    rev = "f60d0b93fcd5462f47b1c928c109f5b4cbd74eef";
+    hash = "sha256-PNziP5LaUODZwtAHvg8uYt/EyoD3mB5aWIfp7n5a82E=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
index c7da1e43a15..dbe3665f1ef 100644
--- a/pkgs/desktops/gnome/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
@@ -2,7 +2,6 @@
 , lib
 , stdenv
 , substituteAll
-, fetchpatch
 , accountsservice
 , adwaita-icon-theme
 , colord
@@ -64,11 +63,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-control-center";
-  version = "42.0";
+  version = "42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-BzLvp8QXHOCg7UEGWAtM41pXsQFSwOo20jkTSRN3fto=";
+    sha256 = "sha256-+zCv+Q++HSrVYQfW6fX4pKOq82NbvYiSDXW1aLt3Z4U=";
   };
 
   patches = [
@@ -79,13 +78,6 @@ stdenv.mkDerivation rec {
       inherit glibc libgnomekbd tzdata;
       inherit cups networkmanagerapplet;
     })
-
-    # Fix Online Accounts configuration on X11
-    # https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1272
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-control-center/-/commit/7fe322b9cedae313cd9af6f403eab9bfc6027674.patch";
-      sha256 = "cv1abqv0Kbfkfu7mZzEaZKXPE85yVBcQbjNHW+8ODFE=";
-    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
index 1083fe11106..2815c3d53ea 100644
--- a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extensions";
-  version = "42.0";
+  version = "42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "PuZbdbGv2LzKCioD2psohHh+1A4leogdmqbvfIcnYC8=";
+    sha256 = "LYjv61d+2viqrkMcd5um5uuWHuvd8FzKLsyhqgTbekA=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix
index 1ad36f7e96b..e3b8d6c344d 100644
--- a/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -67,13 +67,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "42.0";
+  version = "42.1";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "M9QE+zyTud5CmE8BEKKWnWpKckfCf+f14kxn7P7HUJQ=";
+    sha256 = "9e6KYVj6EiYnQScmy4gATn4tBGrcMiFQViROWbdAY+o=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix
index f92b162476a..415fd7b80c9 100644
--- a/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/pkgs/desktops/gnome/core/mutter/default.nix
@@ -47,13 +47,13 @@
 
 let self = stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "42.0";
+  version = "42.1";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "0eJARGt/jNij/52q4zbByQFhk7p+B2nHml5sA4SQIuU=";
+    sha256 = "cZQhi/7EW5o+/avOb4RQ7Uw5dyIaHqQBTC5Fii/poVQ=";
   };
 
   patches = [
diff --git a/pkgs/desktops/lxde/core/lxmenu-data.nix b/pkgs/desktops/lxde/core/lxmenu-data/default.nix
index e52445aa0b0..e52445aa0b0 100644
--- a/pkgs/desktops/lxde/core/lxmenu-data.nix
+++ b/pkgs/desktops/lxde/core/lxmenu-data/default.nix
diff --git a/pkgs/desktops/lxde/default.nix b/pkgs/desktops/lxde/default.nix
new file mode 100644
index 00000000000..8421bc5dac6
--- /dev/null
+++ b/pkgs/desktops/lxde/default.nix
@@ -0,0 +1,25 @@
+{ config, lib, pkgs }:
+
+lib.makeScope pkgs.newScope (self: with self; {
+
+  inherit (pkgs) gtk2-x11;
+
+  lxappearance = callPackage ./core/lxappearance { };
+
+  lxappearance-gtk2 = callPackage ./core/lxappearance {
+    gtk2 = gtk2-x11;
+    withGtk3 = false;
+  };
+
+  lxmenu-data = callPackage ./core/lxmenu-data { };
+
+  lxpanel = callPackage ./core/lxpanel {
+    gtk2 = gtk2-x11;
+  };
+
+  lxrandr = callPackage ./core/lxrandr { };
+
+  lxsession = callPackage ./core/lxsession { };
+
+  lxtask = callPackage ./core/lxtask { };
+})
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index c7b7599c319..77129d34307 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.24.4/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.24.5/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index fc9e97c7f68..d4369a90735 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,427 +4,427 @@
 
 {
   bluedevil = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/bluedevil-5.24.4.tar.xz";
-      sha256 = "1mph04r6l9bxml1brwifbnk6lkjxkzxx75b3g3myzijjv6f8wxw3";
-      name = "bluedevil-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/bluedevil-5.24.5.tar.xz";
+      sha256 = "1yhynfpgm2cwvimh63hihg5dm0hzjp20364bvjyyh108830rjsf9";
+      name = "bluedevil-5.24.5.tar.xz";
     };
   };
   breeze = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/breeze-5.24.4.tar.xz";
-      sha256 = "01cqji6figwb95drcq9vrqlkv7xmpn2csbi2mvixbcdawqhywsg3";
-      name = "breeze-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/breeze-5.24.5.tar.xz";
+      sha256 = "18zhm9my0vhwiq95v3p48z8s5m4a5c7kw8n144ykqlm51nssc9c5";
+      name = "breeze-5.24.5.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/breeze-grub-5.24.4.tar.xz";
-      sha256 = "1p154g2x1g00iam2gkv7pml1r0b91b21s8fgrfrqg5pj45ysp5bc";
-      name = "breeze-grub-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/breeze-grub-5.24.5.tar.xz";
+      sha256 = "02lcv23l3zr0g6nggmrxz4pgq852fir9yramhaxmcg634pxiacni";
+      name = "breeze-grub-5.24.5.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/breeze-gtk-5.24.4.tar.xz";
-      sha256 = "0s51azc2xmh7agbqlm9rn39c5qh6rfwyc2dq4sfv6vspm1883zmj";
-      name = "breeze-gtk-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/breeze-gtk-5.24.5.tar.xz";
+      sha256 = "0c25z69lyjczm05jraqk2f09sipkhpsz5zirwzqdq3apip06qw93";
+      name = "breeze-gtk-5.24.5.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/breeze-plymouth-5.24.4.tar.xz";
-      sha256 = "038pglghl40nyq6lzydijy3wnr5agvfzddjxrf6lc9m6qapqd37v";
-      name = "breeze-plymouth-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/breeze-plymouth-5.24.5.tar.xz";
+      sha256 = "044sbffr4sqvgkfbraa4rvlsih7zz9b300hipp33mwhpzyjjcpdc";
+      name = "breeze-plymouth-5.24.5.tar.xz";
     };
   };
   discover = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/discover-5.24.4.tar.xz";
-      sha256 = "0smhys51chvjh2ij4mk03cfnq09n8cq22iag1ld9j2125l5iwa99";
-      name = "discover-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/discover-5.24.5.tar.xz";
+      sha256 = "18a8z9ifyyjmmc620dsh491vb1q3q9bxd8gfjf5k87mgwmg1wmwk";
+      name = "discover-5.24.5.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/drkonqi-5.24.4.tar.xz";
-      sha256 = "1yn7yj8nwnxm1s0si2353wl17jv7c7l5dc7833ndl56phv2999x0";
-      name = "drkonqi-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/drkonqi-5.24.5.tar.xz";
+      sha256 = "1ps1p8pvp51rswynbv337qr3qj2z7r7kd9qpxgcrha9pql01h5gy";
+      name = "drkonqi-5.24.5.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kactivitymanagerd-5.24.4.tar.xz";
-      sha256 = "0aamfgc4bdrysq7ps134pf5v4bgiwrsxffi0nb6d8zazswgkfa41";
-      name = "kactivitymanagerd-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kactivitymanagerd-5.24.5.tar.xz";
+      sha256 = "0j6d50cjry4j3vzxb6hd4w95y2h3l0yfhyrhl693njr64aq7d4pa";
+      name = "kactivitymanagerd-5.24.5.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kde-cli-tools-5.24.4.tar.xz";
-      sha256 = "1w2rhz32xaqhmq5lyvfmjrbssqf9f35k5fk02f05fz79yk9wir7z";
-      name = "kde-cli-tools-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kde-cli-tools-5.24.5.tar.xz";
+      sha256 = "0afksrxd6mq9rcvh3g8y05kl0la4wmn1yksif8p1bcxpd4sdvw77";
+      name = "kde-cli-tools-5.24.5.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kde-gtk-config-5.24.4.tar.xz";
-      sha256 = "02spbx2rniiyvzj4qb6lgzj0f83k4vq53fk4i1m45438z7aslymi";
-      name = "kde-gtk-config-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kde-gtk-config-5.24.5.tar.xz";
+      sha256 = "0sg8kqlkklvjhj69z5wzhvi0hddxa192j4vc4wc9hmfl1wirr8cq";
+      name = "kde-gtk-config-5.24.5.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kdecoration-5.24.4.tar.xz";
-      sha256 = "05ccyb314mxf0d4ivj71l9lh13s3fqr7f4d2rmg6qshsql39569c";
-      name = "kdecoration-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kdecoration-5.24.5.tar.xz";
+      sha256 = "1hjjl6k09zi8n9nblbcm69c3br6d4dhzaw55xyygglaz6kb8fc17";
+      name = "kdecoration-5.24.5.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kdeplasma-addons-5.24.4.tar.xz";
-      sha256 = "03b8d3kdzwpyqrqkmpswryksrhav3mwcnbyzdc3g2kpk2qnx68fp";
-      name = "kdeplasma-addons-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kdeplasma-addons-5.24.5.tar.xz";
+      sha256 = "03p8wmsb5nl7j6kwl6j8nwlf6v7snh933jyglgp2vnclqp1jpd9x";
+      name = "kdeplasma-addons-5.24.5.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kgamma5-5.24.4.tar.xz";
-      sha256 = "0z1zrw5id455idjbaqracs1vcwgs93an7w27ggfqs6i8nabrivbk";
-      name = "kgamma5-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kgamma5-5.24.5.tar.xz";
+      sha256 = "1i7i3dc5qfb3v9hz9w9hszr8jbbdbfq0b59a4bh1p6xakxx8k1l0";
+      name = "kgamma5-5.24.5.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/khotkeys-5.24.4.tar.xz";
-      sha256 = "033dgz8wbsw2nj133hnmygz1izmcpxdn80jbjbm66nhbbyq7bb2s";
-      name = "khotkeys-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/khotkeys-5.24.5.tar.xz";
+      sha256 = "06m7yrs75arwdfrkpkn9b5kiz2xlrsxlpsjr18j1pjhxras0f8vs";
+      name = "khotkeys-5.24.5.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kinfocenter-5.24.4.tar.xz";
-      sha256 = "0f5q6ajyd794p1z9j3il8sajlqkdcnf06xq4612qxdp49nb88nyw";
-      name = "kinfocenter-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kinfocenter-5.24.5.tar.xz";
+      sha256 = "0c2bq7m8c9r17s8qalp4cdz1qimzwnvh9wrba4rqcmxwbv043ln1";
+      name = "kinfocenter-5.24.5.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kmenuedit-5.24.4.tar.xz";
-      sha256 = "0ril8jxqkaavc4bkpksnyxn3bww7b81gnp9bnb17acrr2nd7wyhl";
-      name = "kmenuedit-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kmenuedit-5.24.5.tar.xz";
+      sha256 = "02il6bhayjni0jsx1d1cnmxv5yc7r0d02s2v6cs87fbdrnl7d9vq";
+      name = "kmenuedit-5.24.5.tar.xz";
     };
   };
   kscreen = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kscreen-5.24.4.tar.xz";
-      sha256 = "0shvhymdfxw1gz49y1s79zik9kkg5qh0mqdj6dx0s6r3w6vysj1h";
-      name = "kscreen-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kscreen-5.24.5.tar.xz";
+      sha256 = "1g5mlc78giq8zrpyq6d2jhqgyj6yh2nhbqv6wjm9cdbq4nnm3hyr";
+      name = "kscreen-5.24.5.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kscreenlocker-5.24.4.tar.xz";
-      sha256 = "1xzc80awsapsg65kk21ssp7y0jb374k1w2bb7gvzj8j40rrn48pv";
-      name = "kscreenlocker-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kscreenlocker-5.24.5.tar.xz";
+      sha256 = "13prkdwxd200ps4cy6rf2n4g9ll6fp1f93dk1njr9ilzbj2a2w1j";
+      name = "kscreenlocker-5.24.5.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/ksshaskpass-5.24.4.tar.xz";
-      sha256 = "1pa41w793dbi3rv6mm1a4xp46n80qwdpdlwhi6z4x76hjvqx9i9l";
-      name = "ksshaskpass-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/ksshaskpass-5.24.5.tar.xz";
+      sha256 = "1jw3hfnlplqsss1h49p5f3722qc22ln22sahs5ypsxszmqihpqiz";
+      name = "ksshaskpass-5.24.5.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/ksystemstats-5.24.4.tar.xz";
-      sha256 = "1pa7xrw5ij32bm66pn72zkzz8y70fq71n4kigm9ixc1s2glkbiwd";
-      name = "ksystemstats-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/ksystemstats-5.24.5.tar.xz";
+      sha256 = "1xsrlwm1hhagwjyjm240bfmri24z88v95m9pz95dpbcllkwdib0b";
+      name = "ksystemstats-5.24.5.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kwallet-pam-5.24.4.tar.xz";
-      sha256 = "0s6z7ds42a7kba25jd7pzylw7d2mc27xgymmdrpkg2afqanf3m4r";
-      name = "kwallet-pam-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kwallet-pam-5.24.5.tar.xz";
+      sha256 = "1smclklxcfbxxxi3lgw2p6wmvj50fg40323j1b8p5z731ywdk3i3";
+      name = "kwallet-pam-5.24.5.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kwayland-integration-5.24.4.tar.xz";
-      sha256 = "1cnfb81yv6m37m2kyk523skqbk5in1kpbpxq60ivjri91sm4pryj";
-      name = "kwayland-integration-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kwayland-integration-5.24.5.tar.xz";
+      sha256 = "1v12631xdjdp2wkjvyls8g0sv18amy7g4mddrh45pybhpc3rcsl0";
+      name = "kwayland-integration-5.24.5.tar.xz";
     };
   };
   kwayland-server = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kwayland-server-5.24.4.tar.xz";
-      sha256 = "1279nqhy1qyz84dkn23rvzak8bg71hbrp09jlhv9mkjdb3bhnyfi";
-      name = "kwayland-server-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kwayland-server-5.24.5.tar.xz";
+      sha256 = "0ydj6p489psqblqd88lk04q62qn1spa1m0zdjq8d32a4g4lvxnid";
+      name = "kwayland-server-5.24.5.tar.xz";
     };
   };
   kwin = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kwin-5.24.4.tar.xz";
-      sha256 = "1qwcd6iw6yvpchiwmvq5nwsr465jmrmscf286mjrc65im4hj6572";
-      name = "kwin-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kwin-5.24.5.tar.xz";
+      sha256 = "10mgbs1mbhjzbwx07q77wdzhj11yc156j75fbvy8mszb9hjiappk";
+      name = "kwin-5.24.5.tar.xz";
     };
   };
   kwrited = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kwrited-5.24.4.tar.xz";
-      sha256 = "0j86ih4g762a94cyzilcbigh7iv04a80bqrlxm02fbqhffv01mv2";
-      name = "kwrited-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kwrited-5.24.5.tar.xz";
+      sha256 = "0gfjvj8wnfgb3s2daz7xpg9flc8xv6hk12z6ckbchq71w4gs6132";
+      name = "kwrited-5.24.5.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/layer-shell-qt-5.24.4.tar.xz";
-      sha256 = "03qyf6pvk36ig6ilimq02q19frdlsmrkbng2iz3d59k15zdrz5x0";
-      name = "layer-shell-qt-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/layer-shell-qt-5.24.5.tar.xz";
+      sha256 = "0ydjfxrkmpi052gfhkccsp9m5az3z6qiggb5wx6cjz39q06614gm";
+      name = "layer-shell-qt-5.24.5.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/libkscreen-5.24.4.tar.xz";
-      sha256 = "1xv7vml5lxj1lnansisfbfym35h265ggwsyjplz76aibj5nyqv81";
-      name = "libkscreen-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/libkscreen-5.24.5.tar.xz";
+      sha256 = "1jbgq1ddl0q5y8cx4m7k5q38gl0kxv929wxr3hn3vr906fpiiwbz";
+      name = "libkscreen-5.24.5.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/libksysguard-5.24.4.tar.xz";
-      sha256 = "00i4l2kc02wymmiqh7wam8dp4h9hvn8nsxfv258waq7pnxzjmnkn";
-      name = "libksysguard-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/libksysguard-5.24.5.tar.xz";
+      sha256 = "1v21xckvwx6xkiqihv3pc2ps5mmc4ahp5vadxm3lrh0pdqxb6v5h";
+      name = "libksysguard-5.24.5.tar.xz";
     };
   };
   milou = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/milou-5.24.4.tar.xz";
-      sha256 = "0z7kmygvjzj30llwg8gpibjja2gzc09nh9pxrpy78pa1jxnas29i";
-      name = "milou-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/milou-5.24.5.tar.xz";
+      sha256 = "1rh5zy1x427cv07zmikmh0rmviz7vcvnz2pyravyfzaxay5lwnf1";
+      name = "milou-5.24.5.tar.xz";
     };
   };
   oxygen = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/oxygen-5.24.4.tar.xz";
-      sha256 = "1d3sz2qc1cz9x6g04r0scvw9fmrazfn5v3iav4cn7wdkz8x06kc0";
-      name = "oxygen-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/oxygen-5.24.5.tar.xz";
+      sha256 = "1gh06wwm6gdjpsbjlxnrrlgsfd5w7lb0pddcml9l2w0dvlgfyn1v";
+      name = "oxygen-5.24.5.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-browser-integration-5.24.4.tar.xz";
-      sha256 = "1havd775d4x2y36nkba2k6vdf839dspk10mxccnk2wkhdxmzfyk7";
-      name = "plasma-browser-integration-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-browser-integration-5.24.5.tar.xz";
+      sha256 = "1xybyn6vsahr5j0g57bsfxmz78w35ibzavcax1inrdlnb7sblrqv";
+      name = "plasma-browser-integration-5.24.5.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-desktop-5.24.4.tar.xz";
-      sha256 = "09fhqz2sp4caabr1li1shjd8l052vp4d10ci7pwsqj8f61331qmh";
-      name = "plasma-desktop-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-desktop-5.24.5.tar.xz";
+      sha256 = "0iic01iwg4bkp8sfp4mbm5lvbj98wjcyi0k79jfr1sx78dn7jn5g";
+      name = "plasma-desktop-5.24.5.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-disks-5.24.4.tar.xz";
-      sha256 = "1mi5fp3305kjw41zhbccxyg666gcmmrvckipjhnnnfwd3gl372ng";
-      name = "plasma-disks-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-disks-5.24.5.tar.xz";
+      sha256 = "1x3lm5cnwa51i8kcmp7pq29fpa9za3ypsmmldf2jbisawjnrb50k";
+      name = "plasma-disks-5.24.5.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-firewall-5.24.4.tar.xz";
-      sha256 = "0f9g5m2ddbp2axfxqc4d92fzg6r4z1l56i6nsry6nlz6cqky3fm2";
-      name = "plasma-firewall-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-firewall-5.24.5.tar.xz";
+      sha256 = "0mk9plb1rwng77qy55c7y7ga4fkafan89bf4vqsc4i9nfn49d944";
+      name = "plasma-firewall-5.24.5.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-integration-5.24.4.tar.xz";
-      sha256 = "1d2d7cmhdhmdzs91vpc2p3fg413daqhqilp8d2qbpsks5hyrkm3k";
-      name = "plasma-integration-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-integration-5.24.5.tar.xz";
+      sha256 = "0ynzx99jn4fqzbrv9mav0sw06rzf7mm1rv17g17vsxijwbhr0i6d";
+      name = "plasma-integration-5.24.5.tar.xz";
     };
   };
   plasma-mobile = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-mobile-5.24.4.tar.xz";
-      sha256 = "1hgcnb4flw224j57fxkhaiwapymq6ccjwqj8s6jgqzc3ax0py0vr";
-      name = "plasma-mobile-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-mobile-5.24.5.tar.xz";
+      sha256 = "0400rwx4pbz4kfy06f2vxchlf9vr6dx71wsi6vir3vdmvl43yazd";
+      name = "plasma-mobile-5.24.5.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-nano-5.24.4.tar.xz";
-      sha256 = "1fdq4r5zlkf3qb0a47zv3apgnqs4gqqfj8pdlcmzkyn9xykzs9vw";
-      name = "plasma-nano-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-nano-5.24.5.tar.xz";
+      sha256 = "0zxvqzg1p6ci6581bh4nhsq2p6pq66pmvs93zlj89ml4am176213";
+      name = "plasma-nano-5.24.5.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-nm-5.24.4.tar.xz";
-      sha256 = "0bzc48vdrnd6n9qcm8ms7wrjm2yl7h9dik32arwdxx56vb7jhv08";
-      name = "plasma-nm-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-nm-5.24.5.tar.xz";
+      sha256 = "0adl5wfrz16hc7j64830cx1ga0bh9zd8bff95a30zdiggp7jc45f";
+      name = "plasma-nm-5.24.5.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-pa-5.24.4.tar.xz";
-      sha256 = "09fkaq2zzicgr214zi2wf7cirffm7mwh55bivvafblp1wlavkrgz";
-      name = "plasma-pa-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-pa-5.24.5.tar.xz";
+      sha256 = "1lgq2lydl65bh01043ji7kkignrb5lfcvbhy0g4g7lw778whv3q6";
+      name = "plasma-pa-5.24.5.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-sdk-5.24.4.tar.xz";
-      sha256 = "1zkggp9a1yz5mwwvndizwlan6wlb2fy8n940ljnhldccl91mgwzc";
-      name = "plasma-sdk-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-sdk-5.24.5.tar.xz";
+      sha256 = "0d35sckjvi77b3475pfh1ixdsdx0m7b0hbsx5rbjgj4b05cdpm0w";
+      name = "plasma-sdk-5.24.5.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-systemmonitor-5.24.4.tar.xz";
-      sha256 = "0jcsmmg0asf2npl3f1nbzazz3i8m9b34q55088k8jjakwwxqbwhz";
-      name = "plasma-systemmonitor-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-systemmonitor-5.24.5.tar.xz";
+      sha256 = "1vx0w5kmnp3chhydas7ijy8h1xf6dggd1ryhbr3k9qz2qihxfsqm";
+      name = "plasma-systemmonitor-5.24.5.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-tests-5.24.4.tar.xz";
-      sha256 = "1ms298h9wghj9gpi7laf1dsd7s3yiycy44k4s5v4id8vfarnbs27";
-      name = "plasma-tests-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-tests-5.24.5.tar.xz";
+      sha256 = "1aqmmix0ds9vg4cjj8dagaya10ainhcciixamdylz1p7vgzpsrkx";
+      name = "plasma-tests-5.24.5.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-thunderbolt-5.24.4.tar.xz";
-      sha256 = "1cqabdsg8v8b00ppbabrg2gih16lf79lr5i8mqvjnc73npacvzhy";
-      name = "plasma-thunderbolt-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-thunderbolt-5.24.5.tar.xz";
+      sha256 = "1q0r9l2b06qkbyxa25lvqdwz0rgcjvp48gwkw0xhhaf6fyaai1cl";
+      name = "plasma-thunderbolt-5.24.5.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-vault-5.24.4.tar.xz";
-      sha256 = "0rj9z2c52mya2fjm4bimqz5z3lj2qg764zri6bqwrgwgsjwc4s81";
-      name = "plasma-vault-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-vault-5.24.5.tar.xz";
+      sha256 = "16cyzyfzwqwqsg7hhg576acvxvbd12b7mznvicrrqnyf4wvw68l1";
+      name = "plasma-vault-5.24.5.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-workspace-5.24.4.tar.xz";
-      sha256 = "0w7cnawnpcg5zk9bycjcnc8yfz21whrhd9h2z7hizgfnj2q403jv";
-      name = "plasma-workspace-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-workspace-5.24.5.tar.xz";
+      sha256 = "1xk4424az7sgb0kyysr1s2x756vj4km50xxzkn1s1kxyw28jd4dr";
+      name = "plasma-workspace-5.24.5.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-workspace-wallpapers-5.24.4.tar.xz";
-      sha256 = "0hpg7nn5wsn56my48jk225x1qb70sgf3hf8q5swwqc1xc6xzcg14";
-      name = "plasma-workspace-wallpapers-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-workspace-wallpapers-5.24.5.tar.xz";
+      sha256 = "0aabmd4zswmzdy958y1yq0yp1v9i8kzl959d6r4pwi0lmhr6g6qi";
+      name = "plasma-workspace-wallpapers-5.24.5.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plymouth-kcm-5.24.4.tar.xz";
-      sha256 = "0s5h25vyk5yzipwj91rb62xzgi6aafpwikh7ibpmmh2wn71x3amr";
-      name = "plymouth-kcm-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plymouth-kcm-5.24.5.tar.xz";
+      sha256 = "04m4129hxgq4g9v8gvi8q0hzhqzd866j3j1ffxs5vfd27r155wcr";
+      name = "plymouth-kcm-5.24.5.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.24.4";
+    version = "1-5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/polkit-kde-agent-1-5.24.4.tar.xz";
-      sha256 = "1bc5ss6v4d7kwk1chhvpis5srs8lfypims46wgxjncyhjg2lcllm";
-      name = "polkit-kde-agent-1-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/polkit-kde-agent-1-5.24.5.tar.xz";
+      sha256 = "0w78c59nm71xnd5prm035z94r5bzlqr0fyri43a8vrfyyb21r9l9";
+      name = "polkit-kde-agent-1-5.24.5.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/powerdevil-5.24.4.tar.xz";
-      sha256 = "0sjlx5fhfdld1i352adi2bhyd29ja9lbmzhfxgnvmpfl6q7c0w7g";
-      name = "powerdevil-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/powerdevil-5.24.5.tar.xz";
+      sha256 = "1wr3rk318j93rnyh24icl4yxdj40zasymlddc71ram80fswa2k4n";
+      name = "powerdevil-5.24.5.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/qqc2-breeze-style-5.24.4.tar.xz";
-      sha256 = "1d0cgsxvnm0zza7n5hz47n28yrr35hp0vniggifncm0ag8sn0kmd";
-      name = "qqc2-breeze-style-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/qqc2-breeze-style-5.24.5.tar.xz";
+      sha256 = "1m0xnx46zkv1dlwkgns1ibgsl934jbcfz35jlm4p8l6n1y2jcjyg";
+      name = "qqc2-breeze-style-5.24.5.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/sddm-kcm-5.24.4.tar.xz";
-      sha256 = "0pfqp5das7pxpmh111i2dlfqm6xzzd99bcb32bbmd9v6w2wlgwxy";
-      name = "sddm-kcm-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/sddm-kcm-5.24.5.tar.xz";
+      sha256 = "15z5hfpczi73vqjfj9z2ai2r4187fyrvfnikcfb18g2bdh1n54ng";
+      name = "sddm-kcm-5.24.5.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/systemsettings-5.24.4.tar.xz";
-      sha256 = "0cqm7s89jvzqz1fw32284ppnm3dc69yvc8bqqgw5jdbbjnc1z4k9";
-      name = "systemsettings-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/systemsettings-5.24.5.tar.xz";
+      sha256 = "1rg9zx7fhrg91nlarv0cz384agbik47sccj7hhshnxnq1czvawjv";
+      name = "systemsettings-5.24.5.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/xdg-desktop-portal-kde-5.24.4.tar.xz";
-      sha256 = "07nwb6ff8rnlk2play9gar52d8d44b8y412hnx9a9d4b50b4js0i";
-      name = "xdg-desktop-portal-kde-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/xdg-desktop-portal-kde-5.24.5.tar.xz";
+      sha256 = "1zn6wln8pccj1x3labms7xippn6xgv4aamwpmzk2rvwss9jwz75m";
+      name = "xdg-desktop-portal-kde-5.24.5.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/rox/rox-filer/default.nix b/pkgs/desktops/rox/rox-filer/default.nix
index 032209c2f18..e26c9059225 100644
--- a/pkgs/desktops/rox/rox-filer/default.nix
+++ b/pkgs/desktops/rox/rox-filer/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , pkg-config
 , wrapGAppsHook
 , libxml2
@@ -27,13 +28,20 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./rox-filer-2.11-in-source-build.patch
+    # Pull upstream fix for -fno-common toolchains like upstream gcc-10:
+    #   https://github.com/rox-desktop/rox-filer/pull/15
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/rox-desktop/rox-filer/commit/86b0bb9144186d51ea9b898905111bd8b143b552.patch";
+      sha256 = "1csyx229i09p00lbdlkdqdhn3x2lb5zby1h9rkjgzlr2qz74gc69";
+    })
   ];
 
   # go to the source directory after unpacking the sources
   setSourceRoot = "export sourceRoot=rox-filer-${version}/ROX-Filer/";
 
-  # patch source with defined patches
-  patchFlags = [ "-p0" ];
+  # account for 'setSourceRoot' offset
+  patchFlags = [ "-p2" ];
 
   # patch the main.c to disable the lookup of the APP_DIR environment variable,
   # which is used to lookup the location for certain images when rox-filer
diff --git a/pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch b/pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch
index 11bd8004459..c68bba7ec6c 100644
--- a/pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch
+++ b/pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch
@@ -1,5 +1,5 @@
---- src/configure	2011-10-09 16:32:14.000000000 +0200
-+++ src/configure2	2016-03-20 09:26:31.640891863 +0100
+--- a/Rox-Filer/src/configure	2011-10-09 16:32:14.000000000 +0200
++++ b/Rox-Filer/src/configure	2016-03-20 09:26:31.640891863 +0100
 @@ -2132,13 +2132,6 @@
  
  
diff --git a/pkgs/development/beam-modules/erlang-ls/default.nix b/pkgs/development/beam-modules/erlang-ls/default.nix
index 47fbcc5f38e..badda3a6a57 100644
--- a/pkgs/development/beam-modules/erlang-ls/default.nix
+++ b/pkgs/development/beam-modules/erlang-ls/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub, fetchgit, fetchHex, rebar3Relx, buildRebar3, rebar3-proper
 , stdenv, writeScript, lib }:
 let
-  version = "0.31.0";
+  version = "0.32.0";
   owner = "erlang-ls";
   repo = "erlang_ls";
   deps = import ./rebar-deps.nix {
@@ -19,7 +19,7 @@ rebar3Relx {
   inherit version;
   src = fetchFromGitHub {
     inherit owner repo;
-    sha256 = "sha256-tpJUCHrSFNEzNrln7nKwav0GSBW+4fwjSB3WI1MKW9A=";
+    sha256 = "sha256-aYMfsaqdsxlWatvXBWIxKJ7baruH1kqp2nrXL+/IrUQ=";
     rev = version;
   };
   releaseType = "escript";
diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix
index e8c3af5d7e1..f8de9f57b5d 100644
--- a/pkgs/development/compilers/ats2/default.nix
+++ b/pkgs/development/compilers/ats2/default.nix
@@ -3,11 +3,11 @@
 , withContrib ? true }:
 
 let
-  versionPkg = "0.4.1" ;
+  versionPkg = "0.4.2";
 
   contrib = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-contrib-${versionPkg}.tgz";
-    sha256 = "184m4hz2xszhcfc6w9fw9qibhmcvgjmikwfwkb345xypr59jm93d";
+    hash = "sha256-m0hfBLsaNiLaIktcioK+ZtWUsWht3IDSJ6CzgJmS06c=";
   };
 
   postInstallContrib = lib.optionalString withContrib
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-gmp-${version}.tgz";
-    sha256 = "0c4nqp6yzmpj0mcpg7ibmwyqi8hjw3sza8myvy4nzq3fa6wldy5l";
+    hash = "sha256-UWgDjFojPBYgykrCrJyYvVWY+Gc5d4aRGjTWjc528AM=";
   };
 
   buildInputs = [ gmp ];
diff --git a/pkgs/development/compilers/chicken/4/default.nix b/pkgs/development/compilers/chicken/4/default.nix
index 5445469b776..08952e028de 100644
--- a/pkgs/development/compilers/chicken/4/default.nix
+++ b/pkgs/development/compilers/chicken/4/default.nix
@@ -13,7 +13,7 @@ let
       bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; };
     };
 
-    chickenEggs = callPackage ./eggs.nix { };
+    chickenEggs = lib.recurseIntoAttrs (callPackage ./eggs.nix { });
 
     egg2nix = callPackage ./egg2nix.nix { };
   };
diff --git a/pkgs/development/compilers/chicken/5/default.nix b/pkgs/development/compilers/chicken/5/default.nix
index 5445469b776..08952e028de 100644
--- a/pkgs/development/compilers/chicken/5/default.nix
+++ b/pkgs/development/compilers/chicken/5/default.nix
@@ -13,7 +13,7 @@ let
       bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; };
     };
 
-    chickenEggs = callPackage ./eggs.nix { };
+    chickenEggs = lib.recurseIntoAttrs (callPackage ./eggs.nix { });
 
     egg2nix = callPackage ./egg2nix.nix { };
   };
diff --git a/pkgs/development/compilers/cmdstan/default.nix b/pkgs/development/compilers/cmdstan/default.nix
index a41f836e10c..40fdcb29013 100644
--- a/pkgs/development/compilers/cmdstan/default.nix
+++ b/pkgs/development/compilers/cmdstan/default.nix
@@ -2,11 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "cmdstan";
-  version = "2.17.1";
+  version = "2.29.2";
 
+  # includes stanc binaries needed to build cmdstand
   src = fetchurl {
     url = "https://github.com/stan-dev/cmdstan/releases/download/v${version}/cmdstan-${version}.tar.gz";
-    sha256 = "1vq1cnrkvrvbfl40j6ajc60jdrjcxag1fi6kff5pqmadfdz9564j";
+    sha256 = "sha256-VntTH6c//fcGyqF+szROHftB6GmTyvi6QIdf+RAzUVM=";
   };
 
   buildFlags = [ "build" ];
@@ -14,7 +15,16 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
   checkInputs = [ python3 ];
-  checkPhase = "python ./runCmdStanTests.py src/test/interface"; # see #5368
+
+  postPatch = ''
+    substituteInPlace stan/lib/stan_math/make/libraries \
+      --replace "/usr/bin/env bash" "bash"
+    patchShebangs .
+  '';
+
+  checkPhase = ''
+    ./runCmdStanTests.py -j$NIX_BUILD_CORES src/test/interface
+  '';
 
   installPhase = ''
     mkdir -p $out/opt $out/bin
@@ -28,6 +38,9 @@ stdenv.mkDerivation rec {
     chmod a+x $out/bin/stan
   '';
 
+  # Hack to ensure that patchelf --shrink-rpath get rids of a $TMPDIR reference.
+  preFixup = "rm -rf $(pwd)";
+
   meta = {
     description = "Command-line interface to Stan";
     longDescription = ''
diff --git a/pkgs/development/compilers/dotnet/build-dotnet.nix b/pkgs/development/compilers/dotnet/build-dotnet.nix
index bfc2ab7f9b0..4a30107bbec 100644
--- a/pkgs/development/compilers/dotnet/build-dotnet.nix
+++ b/pkgs/development/compilers/dotnet/build-dotnet.nix
@@ -87,10 +87,11 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://dotnet.github.io/";
     description = builtins.getAttr type descriptions;
-    platforms = builtins.attrNames srcs;
-    maintainers = with maintainers; [ kuznero ];
+    homepage = "https://dotnet.github.io/";
     license = licenses.mit;
+    maintainers = with maintainers; [ kuznero ];
+    mainProgram = "dotnet";
+    platforms = builtins.attrNames srcs;
   };
 }
diff --git a/pkgs/development/compilers/elm/packages/node-packages.nix b/pkgs/development/compilers/elm/packages/node-packages.nix
index 37e91efa59c..97d3c78220a 100644
--- a/pkgs/development/compilers/elm/packages/node-packages.nix
+++ b/pkgs/development/compilers/elm/packages/node-packages.nix
@@ -31,13 +31,13 @@ let
         sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
       };
     };
-    "@babel/compat-data-7.17.7" = {
+    "@babel/compat-data-7.17.10" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.17.7";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz";
-        sha512 = "p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz";
+        sha512 = "GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==";
       };
     };
     "@babel/core-7.12.10" = {
@@ -49,13 +49,13 @@ let
         sha512 = "eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==";
       };
     };
-    "@babel/generator-7.17.7" = {
+    "@babel/generator-7.17.10" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.17.7";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz";
-        sha512 = "oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz";
+        sha512 = "46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==";
       };
     };
     "@babel/helper-annotate-as-pure-7.16.7" = {
@@ -76,22 +76,22 @@ let
         sha512 = "C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==";
       };
     };
-    "@babel/helper-compilation-targets-7.17.7" = {
+    "@babel/helper-compilation-targets-7.17.10" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.17.7";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz";
-        sha512 = "UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz";
+        sha512 = "gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.17.6" = {
+    "@babel/helper-create-class-features-plugin-7.17.9" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.17.6";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz";
-        sha512 = "SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz";
+        sha512 = "kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==";
       };
     };
     "@babel/helper-create-regexp-features-plugin-7.17.0" = {
@@ -121,22 +121,13 @@ let
         sha512 = "KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==";
       };
     };
-    "@babel/helper-function-name-7.16.7" = {
+    "@babel/helper-function-name-7.17.9" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.16.7";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz";
-        sha512 = "QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==";
-      };
-    };
-    "@babel/helper-get-function-arity-7.16.7" = {
-      name = "_at_babel_slash_helper-get-function-arity";
-      packageName = "@babel/helper-get-function-arity";
-      version = "7.16.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz";
-        sha512 = "flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz";
+        sha512 = "7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==";
       };
     };
     "@babel/helper-hoist-variables-7.16.7" = {
@@ -265,31 +256,31 @@ let
         sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
       };
     };
-    "@babel/helpers-7.17.8" = {
+    "@babel/helpers-7.17.9" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.17.8";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz";
-        sha512 = "QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz";
+        sha512 = "cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==";
       };
     };
-    "@babel/highlight-7.16.10" = {
+    "@babel/highlight-7.17.9" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.16.10";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz";
-        sha512 = "5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz";
+        sha512 = "J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==";
       };
     };
-    "@babel/parser-7.17.8" = {
+    "@babel/parser-7.17.10" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.17.8";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz";
-        sha512 = "BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz";
+        sha512 = "n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==";
       };
     };
     "@babel/plugin-proposal-async-generator-functions-7.16.8" = {
@@ -652,13 +643,13 @@ let
         sha512 = "KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.17.7" = {
+    "@babel/plugin-transform-modules-commonjs-7.17.9" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.17.7";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz";
-        sha512 = "ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz";
+        sha512 = "2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==";
       };
     };
     "@babel/plugin-transform-modules-systemjs-7.17.8" = {
@@ -679,13 +670,13 @@ let
         sha512 = "EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.16.8" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.17.10" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.16.8";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz";
-        sha512 = "j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz";
+        sha512 = "v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==";
       };
     };
     "@babel/plugin-transform-new-target-7.16.7" = {
@@ -724,13 +715,13 @@ let
         sha512 = "z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.16.7" = {
+    "@babel/plugin-transform-regenerator-7.17.9" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.16.7";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz";
-        sha512 = "mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz";
+        sha512 = "Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==";
       };
     };
     "@babel/plugin-transform-reserved-words-7.16.7" = {
@@ -850,22 +841,22 @@ let
         sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
       };
     };
-    "@babel/traverse-7.17.3" = {
+    "@babel/traverse-7.17.10" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.17.3";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz";
-        sha512 = "5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz";
+        sha512 = "VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==";
       };
     };
-    "@babel/types-7.17.0" = {
+    "@babel/types-7.17.10" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.17.0";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz";
-        sha512 = "TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz";
+        sha512 = "9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==";
       };
     };
     "@hapi/address-2.1.4" = {
@@ -913,6 +904,33 @@ let
         sha512 = "tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==";
       };
     };
+    "@jridgewell/gen-mapping-0.1.1" = {
+      name = "_at_jridgewell_slash_gen-mapping";
+      packageName = "@jridgewell/gen-mapping";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz";
+        sha512 = "sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==";
+      };
+    };
+    "@jridgewell/set-array-1.1.1" = {
+      name = "_at_jridgewell_slash_set-array";
+      packageName = "@jridgewell/set-array";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz";
+        sha512 = "Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==";
+      };
+    };
+    "@jridgewell/sourcemap-codec-1.4.13" = {
+      name = "_at_jridgewell_slash_sourcemap-codec";
+      packageName = "@jridgewell/sourcemap-codec";
+      version = "1.4.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz";
+        sha512 = "GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==";
+      };
+    };
     "@kwsites/file-exists-1.1.1" = {
       name = "_at_kwsites_slash_file-exists";
       packageName = "@kwsites/file-exists";
@@ -1048,22 +1066,31 @@ let
         sha512 = "SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==";
       };
     };
-    "@types/http-proxy-1.17.8" = {
+    "@types/http-proxy-1.17.9" = {
       name = "_at_types_slash_http-proxy";
       packageName = "@types/http-proxy";
-      version = "1.17.8";
+      version = "1.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz";
-        sha512 = "5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==";
+        url = "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz";
+        sha512 = "QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==";
       };
     };
-    "@types/jest-27.4.1" = {
+    "@types/jest-27.5.0" = {
       name = "_at_types_slash_jest";
       packageName = "@types/jest";
-      version = "27.4.1";
+      version = "27.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz";
-        sha512 = "23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==";
+        url = "https://registry.npmjs.org/@types/jest/-/jest-27.5.0.tgz";
+        sha512 = "9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==";
+      };
+    };
+    "@types/json-buffer-3.0.0" = {
+      name = "_at_types_slash_json-buffer";
+      packageName = "@types/json-buffer";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz";
+        sha512 = "3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==";
       };
     };
     "@types/json-schema-7.0.11" = {
@@ -1093,13 +1120,13 @@ let
         sha512 = "Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==";
       };
     };
-    "@types/node-17.0.23" = {
+    "@types/node-17.0.31" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.23";
+      version = "17.0.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz";
-        sha512 = "UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz";
+        sha512 = "AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==";
       };
     };
     "@types/parse-json-4.0.0" = {
@@ -1147,13 +1174,13 @@ let
         sha512 = "ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==";
       };
     };
-    "@types/uglify-js-3.13.1" = {
+    "@types/uglify-js-3.13.2" = {
       name = "_at_types_slash_uglify-js";
       packageName = "@types/uglify-js";
-      version = "3.13.1";
+      version = "3.13.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz";
-        sha512 = "O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==";
+        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.2.tgz";
+        sha512 = "/xFrPIo+4zOeNGtVMbf9rUm0N+i4pDf1ynExomqtokIJmVzR3962lJ1UE+MmexMkA0cmN9oTzg5Xcbwge0Ij2Q==";
       };
     };
     "@types/webpack-4.41.32" = {
@@ -1777,13 +1804,13 @@ let
         sha1 = "f8fc04ca3a13784ade9e1641af98578cfbd647a9";
       };
     };
-    "async-2.6.3" = {
+    "async-2.6.4" = {
       name = "async";
       packageName = "async";
-      version = "2.6.3";
+      version = "2.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-2.6.3.tgz";
-        sha512 = "zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==";
+        url = "https://registry.npmjs.org/async/-/async-2.6.4.tgz";
+        sha512 = "mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==";
       };
     };
     "async-each-1.0.3" = {
@@ -2101,13 +2128,13 @@ let
         sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
       };
     };
-    "body-parser-1.19.2" = {
+    "body-parser-1.20.0" = {
       name = "body-parser";
       packageName = "body-parser";
-      version = "1.19.2";
+      version = "1.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz";
-        sha512 = "SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==";
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz";
+        sha512 = "DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==";
       };
     };
     "bonjour-3.5.0" = {
@@ -2227,13 +2254,13 @@ let
         sha512 = "VBorw+tgpOtZ1BYhrVSVTzTt/3+vSE3eFUh0N2GCFK1HffceOaf32YS/bs6WiFhjDAblAFrx85jMy3BG9fBK2Q==";
       };
     };
-    "browserslist-4.20.2" = {
+    "browserslist-4.20.3" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.20.2";
+      version = "4.20.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz";
-        sha512 = "CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz";
+        sha512 = "NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==";
       };
     };
     "buffer-4.9.2" = {
@@ -2479,13 +2506,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001324" = {
+    "caniuse-lite-1.0.30001338" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001324";
+      version = "1.0.30001338";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001324.tgz";
-        sha512 = "/eYp1J6zYh1alySQB4uzYFkLmxxI8tk0kxldbNHXp8+v+rdMKdUBNjRLz7T7fz6Iox+1lIdYpc7rq6ZcXfTukg==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001338.tgz";
+        sha512 = "1gLHWyfVoRDsHieO+CaeYe7jSo/MT7D7lhaXUiwwbuR5BwQxORs0f1tAwUSQr3YbxRXJvxHM/PA5FfPQRnsPeQ==";
       };
     };
     "case-sensitive-paths-webpack-plugin-2.3.0" = {
@@ -2839,13 +2866,13 @@ let
         sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
       };
     };
-    "color-string-1.9.0" = {
+    "color-string-1.9.1" = {
       name = "color-string";
       packageName = "color-string";
-      version = "1.9.0";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz";
-        sha512 = "9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==";
+        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz";
+        sha512 = "shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==";
       };
     };
     "colorette-1.4.0" = {
@@ -2983,6 +3010,15 @@ let
         sha512 = "Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==";
       };
     };
+    "compress-brotli-1.3.8" = {
+      name = "compress-brotli";
+      packageName = "compress-brotli";
+      version = "1.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz";
+        sha512 = "lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==";
+      };
+    };
     "compressible-2.0.18" = {
       name = "compressible";
       packageName = "compressible";
@@ -3109,13 +3145,13 @@ let
         sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
       };
     };
-    "cookie-0.4.2" = {
+    "cookie-0.5.0" = {
       name = "cookie";
       packageName = "cookie";
-      version = "0.4.2";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz";
-        sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz";
+        sha512 = "YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==";
       };
     };
     "cookie-signature-1.0.6" = {
@@ -3163,13 +3199,13 @@ let
         sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     };
-    "core-js-compat-3.21.1" = {
+    "core-js-compat-3.22.4" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.21.1";
+      version = "3.22.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz";
-        sha512 = "gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.4.tgz";
+        sha512 = "dIWcsszDezkFZrfm1cnB4f/J85gyhiCpxbgBdohWCDtSVuAaChTSpPV7ldOQf/Xds2U5xCIJZOK82G4ZPAIswA==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -3622,13 +3658,13 @@ let
         sha512 = "4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==";
       };
     };
-    "define-properties-1.1.3" = {
+    "define-properties-1.1.4" = {
       name = "define-properties";
       packageName = "define-properties";
-      version = "1.1.3";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
-        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
+        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz";
+        sha512 = "uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==";
       };
     };
     "define-property-0.2.5" = {
@@ -3829,13 +3865,13 @@ let
         sha512 = "2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==";
       };
     };
-    "dom-serializer-1.3.2" = {
+    "dom-serializer-1.4.1" = {
       name = "dom-serializer";
       packageName = "dom-serializer";
-      version = "1.3.2";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz";
-        sha512 = "5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==";
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz";
+        sha512 = "VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==";
       };
     };
     "domain-browser-1.2.0" = {
@@ -3856,13 +3892,13 @@ let
         sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==";
       };
     };
-    "domelementtype-2.2.0" = {
+    "domelementtype-2.3.0" = {
       name = "domelementtype";
       packageName = "domelementtype";
-      version = "2.2.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz";
-        sha512 = "DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==";
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz";
+        sha512 = "OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==";
       };
     };
     "domhandler-4.3.1" = {
@@ -3964,13 +4000,13 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
-    "electron-to-chromium-1.4.103" = {
+    "electron-to-chromium-1.4.137" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.103";
+      version = "1.4.137";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz";
-        sha512 = "c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz";
+        sha512 = "0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==";
       };
     };
     "elliptic-6.5.4" = {
@@ -4054,13 +4090,13 @@ let
         sha512 = "sd3nCQMeYMaY84Sz41bVJ30ZvQN1/4ZcD8uYMOuUbM39FDh58NY9/AcImVJ7Z+gjCFdcSU6VscZzhUoPW8jp6Q==";
       };
     };
-    "elm-tooling-1.7.0" = {
+    "elm-tooling-1.8.0" = {
       name = "elm-tooling";
       packageName = "elm-tooling";
-      version = "1.7.0";
+      version = "1.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elm-tooling/-/elm-tooling-1.7.0.tgz";
-        sha512 = "EHZ54voWrG3BhUONbH/wFw5U95H6N7R4QFgXHDrPIaDBDdeyNkpFu4QWArSWkhzxyCF7hqT8ya2yy7SferDsgg==";
+        url = "https://registry.npmjs.org/elm-tooling/-/elm-tooling-1.8.0.tgz";
+        sha512 = "IjMvW/VHqxLidlJSAocBGDBmqiZ1NS0lK/UCMRU4ULEEaTVjpSd/9Dv0mH2ok0H0egSTYx19GnrdL4Lq9h+z+A==";
       };
     };
     "elm-webpack-loader-6.0.1" = {
@@ -4171,13 +4207,13 @@ let
         sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
       };
     };
-    "es-abstract-1.19.2" = {
+    "es-abstract-1.20.0" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.19.2";
+      version = "1.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz";
-        sha512 = "gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.0.tgz";
+        sha512 = "URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==";
       };
     };
     "es-to-primitive-1.2.1" = {
@@ -4405,13 +4441,13 @@ let
         sha1 = "6af8a502350db3246ecc4becf6b5a34d22f7ed53";
       };
     };
-    "express-4.17.3" = {
+    "express-4.18.1" = {
       name = "express";
       packageName = "express";
-      version = "4.17.3";
+      version = "4.18.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-4.17.3.tgz";
-        sha512 = "yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==";
+        url = "https://registry.npmjs.org/express/-/express-4.18.1.tgz";
+        sha512 = "zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==";
       };
     };
     "express-ws-2.0.0" = {
@@ -4666,6 +4702,15 @@ let
         sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
       };
     };
+    "finalhandler-1.2.0" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz";
+        sha512 = "5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==";
+      };
+    };
     "find-0.2.7" = {
       name = "find";
       packageName = "find";
@@ -4819,13 +4864,13 @@ let
         sha512 = "SDgHBgV+RCjrYs8aUwCb9rTgbTVuSdzvFmLaChsLre1yf+D64khCW++VYciaByZ8Rm0uKF8R/XEpXuTRSGUM1A==";
       };
     };
-    "follow-redirects-1.14.9" = {
+    "follow-redirects-1.15.0" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.14.9";
+      version = "1.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz";
-        sha512 = "MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz";
+        sha512 = "aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==";
       };
     };
     "for-in-1.0.2" = {
@@ -5044,6 +5089,24 @@ let
         sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
       };
     };
+    "function.prototype.name-1.1.5" = {
+      name = "function.prototype.name";
+      packageName = "function.prototype.name";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz";
+        sha512 = "uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==";
+      };
+    };
+    "functions-have-names-1.2.3" = {
+      name = "functions-have-names";
+      packageName = "functions-have-names";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz";
+        sha512 = "xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==";
+      };
+    };
     "gensync-1.0.0-beta.2" = {
       name = "gensync";
       packageName = "gensync";
@@ -5287,13 +5350,13 @@ let
         sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
       };
     };
-    "graceful-fs-4.2.9" = {
+    "graceful-fs-4.2.10" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.9";
+      version = "4.2.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz";
-        sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz";
+        sha512 = "9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==";
       };
     };
     "gzip-size-5.0.0" = {
@@ -5350,13 +5413,13 @@ let
         sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
       };
     };
-    "has-bigints-1.0.1" = {
+    "has-bigints-1.0.2" = {
       name = "has-bigints";
       packageName = "has-bigints";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz";
-        sha512 = "LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==";
+        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz";
+        sha512 = "tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==";
       };
     };
     "has-flag-3.0.0" = {
@@ -5377,6 +5440,15 @@ let
         sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
       };
     };
+    "has-property-descriptors-1.0.0" = {
+      name = "has-property-descriptors";
+      packageName = "has-property-descriptors";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz";
+        sha512 = "62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==";
+      };
+    };
     "has-symbol-support-x-1.4.2" = {
       name = "has-symbol-support-x";
       packageName = "has-symbol-support-x";
@@ -5629,15 +5701,6 @@ let
         sha512 = "ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==";
       };
     };
-    "http-errors-1.8.1" = {
-      name = "http-errors";
-      packageName = "http-errors";
-      version = "1.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz";
-        sha512 = "Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==";
-      };
-    };
     "http-errors-2.0.0" = {
       name = "http-errors";
       packageName = "http-errors";
@@ -6088,13 +6151,13 @@ let
         sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
       };
     };
-    "is-core-module-2.8.1" = {
+    "is-core-module-2.9.0" = {
       name = "is-core-module";
       packageName = "is-core-module";
-      version = "2.8.1";
+      version = "2.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz";
-        sha512 = "SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==";
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz";
+        sha512 = "+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==";
       };
     };
     "is-data-descriptor-0.1.4" = {
@@ -6790,13 +6853,13 @@ let
         sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
       };
     };
-    "keyv-4.1.1" = {
+    "keyv-4.2.2" = {
       name = "keyv";
       packageName = "keyv";
-      version = "4.1.1";
+      version = "4.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-4.1.1.tgz";
-        sha512 = "tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ==";
+        url = "https://registry.npmjs.org/keyv/-/keyv-4.2.2.tgz";
+        sha512 = "uYS0vKTlBIjNCAUqrjlxmruxOEiZxZIHXyp32sdcGmP+ukFrmWUnE//RcPXJH3Vxrni1H2gsQbjHE0bH7MtMQQ==";
       };
     };
     "killable-1.0.1" = {
@@ -7555,13 +7618,13 @@ let
         sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
       };
     };
-    "moment-2.29.1" = {
+    "moment-2.29.3" = {
       name = "moment";
       packageName = "moment";
-      version = "2.29.1";
+      version = "2.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz";
-        sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
+        url = "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz";
+        sha512 = "c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==";
       };
     };
     "move-concurrently-1.0.1" = {
@@ -7672,13 +7735,13 @@ let
         sha512 = "8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==";
       };
     };
-    "nanoid-3.3.2" = {
+    "nanoid-3.3.4" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.3.2";
+      version = "3.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz";
-        sha512 = "CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz";
+        sha512 = "MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==";
       };
     };
     "nanomatch-1.2.13" = {
@@ -7780,13 +7843,13 @@ let
         sha512 = "rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==";
       };
     };
-    "node-releases-2.0.2" = {
+    "node-releases-2.0.4" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "2.0.2";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz";
-        sha512 = "XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz";
+        sha512 = "gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==";
       };
     };
     "node-watch-0.5.5" = {
@@ -8770,13 +8833,13 @@ let
         sha512 = "yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==";
       };
     };
-    "postcss-8.4.12" = {
+    "postcss-8.4.13" = {
       name = "postcss";
       packageName = "postcss";
-      version = "8.4.12";
+      version = "8.4.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz";
-        sha512 = "lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz";
+        sha512 = "jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==";
       };
     };
     "postcss-calc-7.0.5" = {
@@ -9346,6 +9409,15 @@ let
         sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
       };
     };
+    "qs-6.10.3" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz";
+        sha512 = "wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==";
+      };
+    };
     "qs-6.5.1" = {
       name = "qs";
       packageName = "qs";
@@ -9373,15 +9445,6 @@ let
         sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
       };
     };
-    "qs-6.9.7" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.9.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz";
-        sha512 = "IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==";
-      };
-    };
     "query-string-4.3.4" = {
       name = "query-string";
       packageName = "query-string";
@@ -9472,13 +9535,13 @@ let
         sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
       };
     };
-    "raw-body-2.4.3" = {
+    "raw-body-2.5.1" = {
       name = "raw-body";
       packageName = "raw-body";
-      version = "2.4.3";
+      version = "2.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz";
-        sha512 = "UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==";
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz";
+        sha512 = "qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==";
       };
     };
     "rc-1.2.8" = {
@@ -9670,13 +9733,13 @@ let
         sha1 = "d33eb95d0d2001a4be39659707c51b0cb71ce029";
       };
     };
-    "regenerator-transform-0.14.5" = {
+    "regenerator-transform-0.15.0" = {
       name = "regenerator-transform";
       packageName = "regenerator-transform";
-      version = "0.14.5";
+      version = "0.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz";
-        sha512 = "eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==";
+        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz";
+        sha512 = "LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==";
       };
     };
     "regex-not-1.0.2" = {
@@ -9688,13 +9751,13 @@ let
         sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
       };
     };
-    "regexp.prototype.flags-1.4.1" = {
+    "regexp.prototype.flags-1.4.3" = {
       name = "regexp.prototype.flags";
       packageName = "regexp.prototype.flags";
-      version = "1.4.1";
+      version = "1.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz";
-        sha512 = "pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==";
+        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz";
+        sha512 = "fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==";
       };
     };
     "regexpu-core-5.0.1" = {
@@ -10228,13 +10291,13 @@ let
         sha512 = "+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==";
       };
     };
-    "semver-7.3.5" = {
+    "semver-7.3.7" = {
       name = "semver";
       packageName = "semver";
-      version = "7.3.5";
+      version = "7.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz";
-        sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
+        url = "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz";
+        sha512 = "QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==";
       };
     };
     "semver-regex-3.1.3" = {
@@ -10273,15 +10336,6 @@ let
         sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==";
       };
     };
-    "send-0.17.2" = {
-      name = "send";
-      packageName = "send";
-      version = "0.17.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.17.2.tgz";
-        sha512 = "UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==";
-      };
-    };
     "send-0.18.0" = {
       name = "send";
       packageName = "send";
@@ -10336,15 +10390,6 @@ let
         sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
       };
     };
-    "serve-static-1.14.2" = {
-      name = "serve-static";
-      packageName = "serve-static";
-      version = "1.14.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz";
-        sha512 = "+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==";
-      };
-    };
     "serve-static-1.15.0" = {
       name = "serve-static";
       packageName = "serve-static";
@@ -10489,13 +10534,13 @@ let
         sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
       };
     };
-    "simple-git-3.5.0" = {
+    "simple-git-3.7.1" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "3.5.0";
+      version = "3.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.5.0.tgz";
-        sha512 = "fZsaq5nzdxQRhMNs6ESGLpMUHoL5GRP+boWPhq9pMYMKwOGZV2jHOxi8AbFFA2Y/6u4kR99HoULizSbpzaODkA==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.7.1.tgz";
+        sha512 = "+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A==";
       };
     };
     "simple-swizzle-0.2.2" = {
@@ -10948,22 +10993,22 @@ let
         sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
       };
     };
-    "string.prototype.trimend-1.0.4" = {
+    "string.prototype.trimend-1.0.5" = {
       name = "string.prototype.trimend";
       packageName = "string.prototype.trimend";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz";
-        sha512 = "y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==";
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz";
+        sha512 = "I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==";
       };
     };
-    "string.prototype.trimstart-1.0.4" = {
+    "string.prototype.trimstart-1.0.5" = {
       name = "string.prototype.trimstart";
       packageName = "string.prototype.trimstart";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz";
-        sha512 = "jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==";
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz";
+        sha512 = "THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==";
       };
     };
     "string_decoder-0.10.31" = {
@@ -11524,13 +11569,13 @@ let
         sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
       };
     };
-    "tslib-2.3.1" = {
+    "tslib-2.4.0" = {
       name = "tslib";
       packageName = "tslib";
-      version = "2.3.1";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz";
-        sha512 = "77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz";
+        sha512 = "d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==";
       };
     };
     "tsyringe-4.6.0" = {
@@ -11605,13 +11650,13 @@ let
         sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
       };
     };
-    "typescript-4.6.3" = {
+    "typescript-4.6.4" = {
       name = "typescript";
       packageName = "typescript";
-      version = "4.6.3";
+      version = "4.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz";
-        sha512 = "yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz";
+        sha512 = "9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==";
       };
     };
     "uglify-es-3.3.10" = {
@@ -11650,13 +11695,13 @@ let
         sha512 = "UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==";
       };
     };
-    "unbox-primitive-1.0.1" = {
+    "unbox-primitive-1.0.2" = {
       name = "unbox-primitive";
       packageName = "unbox-primitive";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz";
-        sha512 = "tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==";
+        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz";
+        sha512 = "61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==";
       };
     };
     "unicode-canonical-property-names-ecmascript-2.0.0" = {
@@ -12732,7 +12777,7 @@ in
       sources."fresh-0.5.2"
       sources."fs-extra-2.0.0"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."http-errors-1.7.2"
@@ -12940,7 +12985,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -12977,7 +13022,7 @@ in
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
-      sources."moment-2.29.1"
+      sources."moment-2.29.3"
       sources."murmur-hash-js-1.0.0"
       sources."mustache-3.2.1"
       sources."nice-try-1.0.5"
@@ -13109,7 +13154,7 @@ in
       sources."balanced-match-1.0.2"
       sources."batch-0.6.1"
       sources."binary-extensions-2.2.0"
-      sources."body-parser-1.19.2"
+      sources."body-parser-1.20.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."bytes-3.1.2"
@@ -13119,6 +13164,7 @@ in
           sources."lowercase-keys-2.0.0"
         ];
       })
+      sources."call-bind-1.0.2"
       sources."chalk-3.0.0"
       sources."chokidar-3.5.3"
       sources."clone-response-1.0.2"
@@ -13128,44 +13174,44 @@ in
       sources."concat-map-0.0.1"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."cross-spawn-7.0.3"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
       sources."defer-to-connect-1.1.3"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
+      sources."depd-2.0.0"
+      sources."destroy-1.2.0"
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      (sources."express-4.17.3" // {
-        dependencies = [
-          sources."serve-static-1.14.2"
-        ];
-      })
+      sources."express-4.18.1"
       (sources."express-ws-4.0.0" // {
         dependencies = [
           sources."ws-5.2.3"
         ];
       })
       sources."fill-range-7.0.1"
-      sources."finalhandler-1.1.2"
+      sources."finalhandler-1.2.0"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
+      sources."function-bind-1.1.1"
+      sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
       sources."got-9.6.0"
+      sources."has-1.0.3"
       sources."has-flag-4.0.0"
+      sources."has-symbols-1.0.3"
       sources."http-cache-semantics-4.1.0"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -13195,7 +13241,8 @@ in
       sources."negotiator-0.6.3"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
-      sources."on-finished-2.3.0"
+      sources."object-inspect-1.12.0"
+      sources."on-finished-2.4.1"
       sources."once-1.4.0"
       sources."open-7.4.2"
       sources."p-cancelable-1.1.0"
@@ -13208,9 +13255,9 @@ in
       sources."prepend-http-2.0.0"
       sources."proxy-addr-2.0.7"
       sources."pump-3.0.0"
-      sources."qs-6.9.7"
+      sources."qs-6.10.3"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.3"
+      sources."raw-body-2.5.1"
       sources."rc-1.2.8"
       sources."readdirp-3.6.0"
       sources."registry-auth-token-4.2.1"
@@ -13220,33 +13267,26 @@ in
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-6.3.0"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
         ];
       })
       (sources."serve-index-1.9.1" // {
         dependencies = [
+          sources."depd-1.1.2"
           sources."http-errors-1.6.3"
           sources."inherits-2.0.3"
           sources."setprototypeof-1.1.0"
+          sources."statuses-1.5.0"
         ];
       })
-      (sources."serve-static-1.15.0" // {
-        dependencies = [
-          sources."depd-2.0.0"
-          sources."destroy-1.2.0"
-          sources."http-errors-2.0.0"
-          sources."ms-2.1.3"
-          sources."on-finished-2.4.1"
-          sources."send-0.18.0"
-          sources."statuses-2.0.1"
-        ];
-      })
+      sources."serve-static-1.15.0"
       sources."setprototypeof-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."statuses-1.5.0"
+      sources."side-channel-1.0.4"
+      sources."statuses-2.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."tmp-0.1.0"
@@ -13395,7 +13435,7 @@ in
       })
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."fresh-0.5.2"
       sources."fsevents-2.3.2"
       sources."get-stream-4.1.0"
@@ -13492,13 +13532,13 @@ in
       sources."commander-7.2.0"
       sources."concat-map-0.0.1"
       sources."cross-spawn-7.0.3"
-      sources."elm-tooling-1.7.0"
+      sources."elm-tooling-1.8.0"
       sources."fill-range-7.0.1"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."has-flag-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -13548,8 +13588,9 @@ in
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.23"
+      sources."@types/node-17.0.31"
       sources."@types/responselike-1.0.0"
       sources."cacheable-lookup-2.0.1"
       sources."cacheable-request-7.0.2"
@@ -13559,6 +13600,7 @@ in
           sources."mimic-response-1.0.1"
         ];
       })
+      sources."compress-brotli-1.3.8"
       sources."config-chain-1.1.13"
       sources."decompress-response-5.0.0"
       sources."defer-to-connect-2.0.1"
@@ -13568,7 +13610,7 @@ in
       sources."get-proxy-2.1.0"
       sources."get-stream-5.2.0"
       sources."got-10.7.0"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
       sources."http-cache-semantics-4.1.0"
@@ -13578,7 +13620,7 @@ in
       sources."isurl-1.0.0"
       sources."json-buffer-3.0.1"
       sources."jsonfile-4.0.0"
-      sources."keyv-4.1.1"
+      sources."keyv-4.2.2"
       sources."lowercase-keys-2.0.0"
       sources."lru-cache-6.0.0"
       sources."mimic-response-2.1.0"
@@ -13595,7 +13637,7 @@ in
       sources."responselike-2.0.0"
       sources."safe-buffer-5.2.1"
       sources."safename-1.0.2"
-      sources."semver-7.3.5"
+      sources."semver-7.3.7"
       sources."to-readable-stream-2.1.0"
       sources."tunnel-agent-0.6.0"
       sources."type-fest-0.10.0"
@@ -13697,7 +13739,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -13823,7 +13865,7 @@ in
       sources."compare-versions-3.6.0"
       sources."core-util-is-1.0.3"
       sources."fs-extra-6.0.1"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
       sources."jsonfile-4.0.0"
@@ -13866,22 +13908,21 @@ in
     dependencies = [
       sources."@babel/cli-7.12.10"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
+      sources."@babel/compat-data-7.17.10"
       sources."@babel/core-7.12.10"
-      sources."@babel/generator-7.17.7"
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.17.7" // {
+      (sources."@babel/helper-compilation-targets-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.17.6"
+      sources."@babel/helper-create-class-features-plugin-7.17.9"
       sources."@babel/helper-create-regexp-features-plugin-7.17.0"
       sources."@babel/helper-environment-visitor-7.16.7"
       sources."@babel/helper-explode-assignable-expression-7.16.7"
-      sources."@babel/helper-function-name-7.16.7"
-      sources."@babel/helper-get-function-arity-7.16.7"
+      sources."@babel/helper-function-name-7.17.9"
       sources."@babel/helper-hoist-variables-7.16.7"
       sources."@babel/helper-member-expression-to-functions-7.17.7"
       sources."@babel/helper-module-imports-7.16.7"
@@ -13896,9 +13937,9 @@ in
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
       sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.17.8"
-      sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.17.8"
+      sources."@babel/helpers-7.17.9"
+      sources."@babel/highlight-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
       sources."@babel/plugin-proposal-class-properties-7.16.7"
       sources."@babel/plugin-proposal-dynamic-import-7.16.7"
@@ -13939,15 +13980,15 @@ in
       sources."@babel/plugin-transform-literals-7.16.7"
       sources."@babel/plugin-transform-member-expression-literals-7.16.7"
       sources."@babel/plugin-transform-modules-amd-7.16.7"
-      sources."@babel/plugin-transform-modules-commonjs-7.17.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.17.9"
       sources."@babel/plugin-transform-modules-systemjs-7.17.8"
       sources."@babel/plugin-transform-modules-umd-7.16.7"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.10"
       sources."@babel/plugin-transform-new-target-7.16.7"
       sources."@babel/plugin-transform-object-super-7.16.7"
       sources."@babel/plugin-transform-parameters-7.16.7"
       sources."@babel/plugin-transform-property-literals-7.16.7"
-      sources."@babel/plugin-transform-regenerator-7.16.7"
+      sources."@babel/plugin-transform-regenerator-7.17.9"
       sources."@babel/plugin-transform-reserved-words-7.16.7"
       sources."@babel/plugin-transform-runtime-7.12.10"
       sources."@babel/plugin-transform-shorthand-properties-7.16.7"
@@ -13961,26 +14002,29 @@ in
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/runtime-7.12.5"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.3"
-      sources."@babel/types-7.17.0"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
       sources."@hapi/address-2.1.4"
       sources."@hapi/bourne-1.3.2"
       sources."@hapi/hoek-8.5.1"
       sources."@hapi/joi-15.1.1"
       sources."@hapi/topo-3.1.6"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@types/glob-7.2.0"
       sources."@types/html-minifier-terser-5.1.2"
-      sources."@types/http-proxy-1.17.8"
+      sources."@types/http-proxy-1.17.9"
       sources."@types/json-schema-7.0.11"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.23"
+      sources."@types/node-17.0.31"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
       sources."@types/source-list-map-0.1.2"
       sources."@types/tapable-1.0.8"
-      (sources."@types/uglify-js-3.13.1" // {
+      (sources."@types/uglify-js-3.13.2" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -14098,12 +14142,12 @@ in
       sources."bindings-1.5.0"
       sources."bluebird-3.7.2"
       sources."bn.js-5.2.0"
-      (sources."body-parser-1.19.2" // {
+      (sources."body-parser-1.20.0" // {
         dependencies = [
           sources."bytes-3.1.2"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."qs-6.9.7"
+          sources."qs-6.10.3"
         ];
       })
       (sources."bonjour-3.5.0" // {
@@ -14126,7 +14170,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."buffer-4.9.2"
       sources."buffer-from-1.1.2"
       sources."buffer-indexof-1.1.1"
@@ -14143,7 +14187,7 @@ in
       sources."camel-case-4.1.2"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001324"
+      sources."caniuse-lite-1.0.30001338"
       sources."case-sensitive-paths-webpack-plugin-2.3.0"
       sources."caseless-0.12.0"
       (sources."chalk-2.4.2" // {
@@ -14199,7 +14243,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."colorette-1.4.0"
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
@@ -14226,7 +14270,7 @@ in
       })
       sources."content-type-1.0.4"
       sources."convert-source-map-1.8.0"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
@@ -14242,7 +14286,7 @@ in
         ];
       })
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.21.1" // {
+      (sources."core-js-compat-3.22.4" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -14265,7 +14309,7 @@ in
           sources."camelcase-6.3.0"
           sources."loader-utils-2.0.2"
           sources."lru-cache-6.0.0"
-          sources."semver-7.3.5"
+          sources."semver-7.3.7"
           sources."yallist-4.0.0"
         ];
       })
@@ -14299,7 +14343,7 @@ in
       sources."decode-uri-component-0.2.0"
       sources."deep-equal-0.2.2"
       sources."default-gateway-4.2.0"
-      sources."define-properties-1.1.3"
+      sources."define-properties-1.1.4"
       sources."define-property-2.0.2"
       (sources."del-4.1.1" // {
         dependencies = [
@@ -14311,9 +14355,9 @@ in
         ];
       })
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
+      sources."depd-2.0.0"
       sources."des.js-1.0.1"
-      sources."destroy-1.0.4"
+      sources."destroy-1.2.0"
       sources."detect-node-2.1.0"
       (sources."detect-port-alt-1.1.6" // {
         dependencies = [
@@ -14331,9 +14375,9 @@ in
       sources."dns-packet-1.3.4"
       sources."dns-txt-2.0.2"
       sources."dom-converter-0.2.0"
-      sources."dom-serializer-1.3.2"
+      sources."dom-serializer-1.4.1"
       sources."domain-browser-1.2.0"
-      sources."domelementtype-2.2.0"
+      sources."domelementtype-2.3.0"
       sources."domhandler-4.3.1"
       sources."domutils-2.8.0"
       sources."dot-case-3.0.4"
@@ -14343,7 +14387,7 @@ in
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.103"
+      sources."electron-to-chromium-1.4.137"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -14365,7 +14409,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."elm-tooling-1.7.0"
+      sources."elm-tooling-1.8.0"
       sources."elm-webpack-loader-6.0.1"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
@@ -14379,7 +14423,7 @@ in
       sources."entities-2.2.0"
       sources."errno-0.1.8"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.19.2"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -14428,12 +14472,12 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
           sources."array-flatten-1.1.1"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."qs-6.9.7"
+          sources."qs-6.10.3"
           sources."safe-buffer-5.2.1"
         ];
       })
@@ -14491,7 +14535,7 @@ in
       sources."file-uri-to-path-1.0.0"
       sources."filesize-3.6.1"
       sources."fill-range-7.0.1"
-      (sources."finalhandler-1.1.2" // {
+      (sources."finalhandler-1.2.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -14507,7 +14551,7 @@ in
       sources."find-up-4.1.0"
       sources."firstline-1.3.1"
       sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -14522,6 +14566,8 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-1.0.3"
       sources."get-intrinsic-1.1.1"
@@ -14550,7 +14596,7 @@ in
           sources."slash-1.0.0"
         ];
       })
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       (sources."gzip-size-5.0.0" // {
         dependencies = [
           sources."pify-3.0.0"
@@ -14560,8 +14606,9 @@ in
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-flag-3.0.0"
+      sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
       sources."has-value-1.0.0"
@@ -14595,7 +14642,7 @@ in
       sources."html-webpack-plugin-4.5.0"
       sources."htmlparser2-6.1.0"
       sources."http-deceiver-1.2.7"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."http-parser-js-0.5.6"
       sources."http-proxy-1.18.1"
       sources."http-proxy-middleware-0.21.0"
@@ -14649,7 +14696,7 @@ in
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
@@ -14769,7 +14816,7 @@ in
       sources."multicast-dns-service-types-1.1.0"
       sources."mute-stream-0.0.8"
       sources."nan-2.15.0"
-      sources."nanoid-3.3.2"
+      sources."nanoid-3.3.4"
       sources."nanomatch-1.2.13"
       sources."ncp-1.0.1"
       sources."negotiator-0.6.3"
@@ -14791,7 +14838,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.2"
+      sources."node-releases-2.0.4"
       sources."normalize-package-data-2.5.0"
       sources."normalize-path-3.0.0"
       sources."normalize-range-0.1.2"
@@ -14828,7 +14875,7 @@ in
       sources."object.pick-1.3.0"
       sources."object.values-1.1.5"
       sources."obuf-1.1.2"
-      sources."on-finished-2.3.0"
+      sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
@@ -14892,7 +14939,7 @@ in
       sources."pkginfo-0.4.1"
       (sources."portfinder-1.0.28" // {
         dependencies = [
-          sources."async-2.6.3"
+          sources."async-2.6.4"
           sources."debug-3.2.7"
           sources."minimist-1.2.6"
           sources."mkdirp-0.5.6"
@@ -14931,7 +14978,7 @@ in
           sources."path-type-4.0.0"
           sources."resolve-from-4.0.0"
           sources."schema-utils-3.1.1"
-          sources."semver-7.3.5"
+          sources."semver-7.3.7"
           sources."yallist-4.0.0"
         ];
       })
@@ -15024,7 +15071,7 @@ in
       })
       (sources."postcss-safe-parser-5.0.2" // {
         dependencies = [
-          sources."postcss-8.4.12"
+          sources."postcss-8.4.13"
         ];
       })
       sources."postcss-selector-parser-6.0.10"
@@ -15068,7 +15115,7 @@ in
       sources."randombytes-2.1.0"
       sources."randomfill-1.0.4"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.3" // {
+      (sources."raw-body-2.5.1" // {
         dependencies = [
           sources."bytes-3.1.2"
         ];
@@ -15128,9 +15175,9 @@ in
       sources."regenerate-1.4.2"
       sources."regenerate-unicode-properties-10.0.1"
       sources."regenerator-runtime-0.13.9"
-      sources."regenerator-transform-0.14.5"
+      sources."regenerator-transform-0.15.0"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.4.1"
+      sources."regexp.prototype.flags-1.4.3"
       sources."regexpu-core-5.0.1"
       sources."regjsgen-0.6.0"
       (sources."regjsparser-0.8.4" // {
@@ -15180,7 +15227,7 @@ in
       sources."select-hose-2.0.0"
       sources."selfsigned-1.10.14"
       sources."semver-5.7.1"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
@@ -15194,13 +15241,15 @@ in
       (sources."serve-index-1.9.1" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."depd-1.1.2"
           sources."http-errors-1.6.3"
           sources."inherits-2.0.3"
           sources."ms-2.0.0"
           sources."setprototypeof-1.1.0"
+          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -15308,7 +15357,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."stream-browserify-2.0.2"
       sources."stream-each-1.2.3"
       sources."stream-http-2.8.3"
@@ -15320,8 +15369,8 @@ in
           sources."strip-ansi-6.0.1"
         ];
       })
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.1.1"
       (sources."stringify-object-3.3.0" // {
         dependencies = [
@@ -15350,7 +15399,7 @@ in
           sources."css-what-3.4.2"
           (sources."dom-serializer-0.2.2" // {
             dependencies = [
-              sources."domelementtype-2.2.0"
+              sources."domelementtype-2.3.0"
             ];
           })
           sources."domelementtype-1.3.1"
@@ -15400,7 +15449,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
       sources."tough-cookie-2.5.0"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."tty-browserify-0.0.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
@@ -15435,7 +15484,7 @@ in
           sources."yallist-2.1.2"
         ];
       })
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."unicode-canonical-property-names-ecmascript-2.0.0"
       sources."unicode-match-property-ecmascript-2.0.0"
       sources."unicode-match-property-value-ecmascript-2.0.0"
@@ -15681,7 +15730,7 @@ in
       sha512 = "DKhH6o+SNo3m8y9qAM932/gLMK0YmNSJevHdBYkaDWfKiw+vlo4Wtfskb8CI8ZAzWrAOcDNiLCsEbSsbPHk2Vg==";
     };
     dependencies = [
-      sources."@types/jest-27.4.1"
+      sources."@types/jest-27.5.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-5.2.0"
       sources."balanced-match-1.0.2"
@@ -15726,7 +15775,7 @@ in
       sources."supports-color-7.2.0"
       sources."temp-0.9.4"
       sources."ts-union-2.3.0"
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
     ];
@@ -15743,18 +15792,19 @@ in
   elm-review = nodeEnv.buildNodePackage {
     name = "elm-review";
     packageName = "elm-review";
-    version = "2.7.1";
+    version = "2.7.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-review/-/elm-review-2.7.1.tgz";
-      sha512 = "leDgjvE6ldYSOG/jMLmMw2g1vRnrd9nH9mnQcJt57SY2F4FnZT2hfIbuIUBXPaBwhWwC0a6BRt+Jv/2sGOG03A==";
+      url = "https://registry.npmjs.org/elm-review/-/elm-review-2.7.2.tgz";
+      sha512 = "llkRvxgR2GOmtc7wi2vAM+u9j61Pf1fmPsAbpsE4X0ZfusJv0Dddor3lHNNZ0MmpYzNxpm7npxNqYRXs5JIz9A==";
     };
     dependencies = [
       sources."@sindresorhus/is-2.1.1"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.23"
+      sources."@types/node-17.0.31"
       sources."@types/responselike-1.0.0"
       (sources."ansi-escapes-4.3.2" // {
         dependencies = [
@@ -15786,6 +15836,7 @@ in
       })
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       sources."cross-spawn-7.0.3"
       sources."debug-4.3.4"
@@ -15793,7 +15844,7 @@ in
       sources."defaults-1.0.3"
       sources."defer-to-connect-2.0.1"
       sources."duplexer3-0.1.4"
-      sources."elm-tooling-1.7.0"
+      sources."elm-tooling-1.8.0"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."fast-levenshtein-3.0.0"
@@ -15808,7 +15859,7 @@ in
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
       sources."got-10.7.0"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."has-flag-4.0.0"
       sources."http-cache-semantics-4.1.0"
       sources."ieee754-1.2.1"
@@ -15824,7 +15875,7 @@ in
       sources."isexe-2.0.0"
       sources."json-buffer-3.0.1"
       sources."jsonfile-6.1.0"
-      sources."keyv-4.1.1"
+      sources."keyv-4.2.2"
       sources."kleur-3.0.3"
       sources."locate-path-5.0.0"
       sources."log-symbols-4.1.0"
@@ -15905,8 +15956,8 @@ in
       sources."git-clone-able-0.1.2"
       sources."lru-cache-6.0.0"
       sources."ms-2.1.2"
-      sources."semver-7.3.5"
-      sources."simple-git-3.5.0"
+      sources."semver-7.3.7"
+      sources."simple-git-3.7.1"
       sources."upath-2.0.1"
       sources."yallist-4.0.0"
     ];
diff --git a/pkgs/development/compilers/fstar/default.nix b/pkgs/development/compilers/fstar/default.nix
index fc0f50d0797..eb81efe2de0 100644
--- a/pkgs/development/compilers/fstar/default.nix
+++ b/pkgs/development/compilers/fstar/default.nix
@@ -64,9 +64,10 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "ML-like functional programming language aimed at program verification";
     homepage = "https://www.fstar-lang.org";
-    license = licenses.asl20;
     changelog = "https://github.com/FStarLang/FStar/raw/v${version}/CHANGES.md";
-    platforms = with platforms; darwin ++ linux;
+    license = licenses.asl20;
     maintainers = with maintainers; [ gebner pnmadelaine ];
+    mainProgram = "fstar.exe";
+    platforms = with platforms; darwin ++ linux;
   };
 }
diff --git a/pkgs/development/compilers/gcc/11/Added-mcf-thread-model-support-from-mcfgthread.patch b/pkgs/development/compilers/gcc/11/Added-mcf-thread-model-support-from-mcfgthread.patch
index d9809e828f1..77202438e47 100644
--- a/pkgs/development/compilers/gcc/11/Added-mcf-thread-model-support-from-mcfgthread.patch
+++ b/pkgs/development/compilers/gcc/11/Added-mcf-thread-model-support-from-mcfgthread.patch
@@ -222,16 +222,16 @@ index de920d714c6..665fb74bd6b 100644
 +#ifdef __USING_MCFGTHREAD__
 +
 +#include <mcfgthread/gthread.h>
-+
++namespace __cxxabiv1 {
 +extern "C" int
-+__cxxabiv1::__cxa_thread_atexit (void (*dtor)(void *),
++__cxa_thread_atexit (void (_GLIBCXX_CDTOR_CALLABI *dtor)(void *),
 +				 void *obj, void *dso_handle)
 +  _GLIBCXX_NOTHROW
 +{
 +  return ::_MCFCRT_AtThreadExit((void (*)(_MCFCRT_STD intptr_t))dtor, (_MCFCRT_STD intptr_t)obj) ? 0 : -1;
 +  (void)dso_handle;
 +}
-+
++}
 +#else // __USING_MCFGTHREAD__
 +
  #ifdef _GLIBCXX_THREAD_ATEXIT_WIN32
diff --git a/pkgs/development/compilers/gcc/11/default.nix b/pkgs/development/compilers/gcc/11/default.nix
index 79e682e88c4..607c9eeac2f 100644
--- a/pkgs/development/compilers/gcc/11/default.nix
+++ b/pkgs/development/compilers/gcc/11/default.nix
@@ -52,7 +52,13 @@ with lib;
 with builtins;
 
 let majorVersion = "11";
-    version = "${majorVersion}.2.0";
+    # The patch below for aarch64-darwin does not apply to 11.3.0 and an
+    # updated version is not available. Keep aarch64-darwin on 11.2.0 so the
+    # large body of packages which depend on gfortran are still functional
+    # until GCC 12 is the default.
+    # On x86_64-darwin, building libgcc suffers from some different issues with 11.3.0.
+    version = if stdenv.isDarwin then
+      "${majorVersion}.2.0" else "${majorVersion}.3.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -91,7 +97,9 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
-    sha256 = "sha256-0I7cU2tUw3KhAQ/2YZ3SdMDxYDqkkhK6IPeqLNo2+os=";
+    sha256 = if stdenv.isDarwin
+      then "sha256-0I7cU2tUw3KhAQ/2YZ3SdMDxYDqkkhK6IPeqLNo2+os="
+      else "sha256-tHzygYaR9bHiHfK7OMeV+sLPvWQO3i0KXhyJ4zijrDk=";
   };
 
   inherit patches;
diff --git a/pkgs/development/compilers/hip/default.nix b/pkgs/development/compilers/hip/default.nix
index 2153a30cb16..f073eca91d5 100644
--- a/pkgs/development/compilers/hip/default.nix
+++ b/pkgs/development/compilers/hip/default.nix
@@ -31,13 +31,13 @@
 let
   hip = stdenv.mkDerivation rec {
     pname = "hip";
-    version = "5.0.2";
+    version = "5.1.1";
 
     src = fetchFromGitHub {
       owner = "ROCm-Developer-Tools";
       repo = "HIP";
       rev = "rocm-${version}";
-      hash = "sha256-w023vBLJaiFbRdvz9UfZLPasRjk3VqM9zwctCIJ5hGU=";
+      hash = "sha256-/kIZrbzq1u1pIs1jlmRYZNUGteqVQTI4TlXsHsVIUKE=";
     };
 
     # - fix bash paths
@@ -102,13 +102,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "hip";
-  version = "5.0.2";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "ROCm-Developer-Tools";
     repo = "hipamd";
     rev = "rocm-${version}";
-    hash = "sha256-hhTwKG0wDpbIBI8S61AhdNldX+STO8C66xi2EzmJSBs=";
+    hash = "sha256-TuCMRJb6G/bhD8hG6Ot7MIkgBoShjVboeXrlGh9eYpQ=";
   };
 
   nativeBuildInputs = [ cmake python3 makeWrapper perl ];
diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix
index 176affd047c..0eab971fb97 100644
--- a/pkgs/development/compilers/intel-graphics-compiler/default.nix
+++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix
@@ -9,6 +9,8 @@
 , lld_11
 , opencl-clang
 , python3
+, spirv-tools
+, spirv-headers
 , spirv-llvm-translator
 
 , buildWithPatches ? true
@@ -18,8 +20,8 @@ let
   vc_intrinsics_src = fetchFromGitHub {
     owner = "intel";
     repo = "vc-intrinsics";
-    rev = "e5ad7e02aa4aa21a3cd7b3e5d1f3ec9b95f58872";
-    sha256 = "Vg1mngwpIQ3Tik0GgRXPG22lE4sLEAEFch492G2aIXs=";
+    rev = "v0.3.0";
+    sha256 = "sha256-1Rm4TCERTOcPGWJF+yNoKeB9x3jfqnh7Vlv+0Xpmjbk=";
   };
   llvmPkgs = llvmPackages_11 // {
     inherit spirv-llvm-translator;
@@ -31,18 +33,18 @@ in
 
 stdenv.mkDerivation rec {
   pname = "intel-graphics-compiler";
-  version = "1.0.8744";
+  version = "1.0.11061";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "intel-graphics-compiler";
     rev = "igc-${version}";
-    sha256 = "G5+dYD8uZDPkRyn1sgXsRngdq4NJndiCJCYTRXyUgTA=";
+    sha256 = "sha256-qS/+GTqHtp3T6ggPKrCDsrTb7XvVOUaNbMzGU51jTu4=";
   };
 
   nativeBuildInputs = [ clang cmake bison flex python3 ];
 
-  buildInputs = [ clang opencl-clang spirv-llvm-translator llvm lld_11 ];
+  buildInputs = [ spirv-headers spirv-tools clang opencl-clang spirv-llvm-translator llvm lld_11 ];
 
   strictDeps = true;
 
@@ -52,6 +54,21 @@ stdenv.mkDerivation rec {
   # https://github.com/intel/intel-graphics-compiler/issues/98
   doCheck = false;
 
+  postPatch = ''
+    substituteInPlace ./external/SPIRV-Tools/CMakeLists.txt \
+      --replace '$'''{SPIRV-Tools_DIR}../../..' \
+                '${spirv-tools}' \
+      --replace 'SPIRV-Headers_INCLUDE_DIR "/usr/include"' \
+                'SPIRV-Headers_INCLUDE_DIR "${spirv-headers}/include"' \
+      --replace 'set_target_properties(SPIRV-Tools' \
+                'set_target_properties(SPIRV-Tools-shared' \
+      --replace 'IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools' \
+                'IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools-shared'
+    substituteInPlace ./IGC/AdaptorOCL/igc-opencl.pc.in \
+      --replace '/@CMAKE_INSTALL_INCLUDEDIR@' "/include" \
+      --replace '/@CMAKE_INSTALL_LIBDIR@' "/lib"
+  '';
+
   # Handholding the braindead build script
   # cmake requires an absolute path
   prebuilds = runCommandLocal "igc-cclang-prebuilds" { } ''
@@ -64,8 +81,9 @@ stdenv.mkDerivation rec {
   '';
 
   cmakeFlags = [
+    "-Wno-dev"
     "-DVC_INTRINSICS_SRC=${vc_intrinsics_src}"
-    "-DINSTALL_SPIRVDLL=0"
+    "-DIGC_OPTION__SPIRV_TOOLS_MODE=Prebuilds"
     "-DCCLANG_BUILD_PREBUILDS=ON"
     "-DCCLANG_BUILD_PREBUILDS_DIR=${prebuilds}"
     "-DIGC_PREFERRED_LLVM_VERSION=${getVersion llvm}"
diff --git a/pkgs/development/compilers/jasmin-compiler/default.nix b/pkgs/development/compilers/jasmin-compiler/default.nix
index 7642ae4aff2..dbacda5c479 100644
--- a/pkgs/development/compilers/jasmin-compiler/default.nix
+++ b/pkgs/development/compilers/jasmin-compiler/default.nix
@@ -34,8 +34,9 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A workbench for high-assurance and high-speed cryptography";
     homepage = "https://github.com/jasmin-lang/jasmin/";
-    platforms = lib.platforms.all;
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.vbgl ];
+    mainProgram = "jasminc";
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/compilers/llvm/rocm/default.nix b/pkgs/development/compilers/llvm/rocm/default.nix
index 18fd44612f1..e700e1a08b2 100644
--- a/pkgs/development/compilers/llvm/rocm/default.nix
+++ b/pkgs/development/compilers/llvm/rocm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, buildPackages, fetchFromGitHub, callPackage, wrapCCWith, overrideCC }:
 
 let
-  version = "5.0.2";
+  version = "5.1.1";
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "llvm-project";
     rev = "rocm-${version}";
-    hash = "sha256-wPzwbeQUFE6RAytrz5lBa6UUPoVL0UeMyY3qa4M6W6M=";
+    hash = "sha256-5SGIWiyfHvfwIUc4bhdWrlhBfK5ssA7tm5r3zKdr3kg=";
   };
 in rec {
   clang = wrapCCWith rec {
@@ -52,12 +52,10 @@ in rec {
   };
 
   lld = callPackage ./lld.nix {
-    inherit llvm version;
-    src = "${src}/lld";
+    inherit llvm src version;
   };
 
   llvm = callPackage ./llvm {
-    inherit version;
-    src = "${src}/llvm";
+    inherit src version;
   };
 }
diff --git a/pkgs/development/compilers/llvm/rocm/lld.nix b/pkgs/development/compilers/llvm/rocm/lld.nix
index 2e3e1ca13d4..272e430c1fc 100644
--- a/pkgs/development/compilers/llvm/rocm/lld.nix
+++ b/pkgs/development/compilers/llvm/rocm/lld.nix
@@ -3,6 +3,7 @@
 , cmake
 , libxml2
 , llvm
+, ninja
 
 , version
 , src
@@ -11,15 +12,17 @@
 stdenv.mkDerivation rec {
   inherit version src;
 
+  sourceRoot = "${src.name}/lld";
+
   pname = "lld";
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ninja ];
 
   buildInputs = [ libxml2 llvm ];
 
   outputs = [ "out" "dev" ];
 
-  cmakeFlags = [ "-DLLVM_MAIN_SRC_DIR=${llvm.src}" ];
+  cmakeFlags = [ "-DLLVM_MAIN_SRC_DIR=${src}/llvm" ];
 
   postInstall = ''
     moveToOutput include "$dev"
diff --git a/pkgs/development/compilers/llvm/rocm/llvm/default.nix b/pkgs/development/compilers/llvm/rocm/llvm/default.nix
index 722ca1a762a..80a387b3650 100644
--- a/pkgs/development/compilers/llvm/rocm/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/rocm/llvm/default.nix
@@ -28,6 +28,8 @@ in stdenv.mkDerivation rec {
 
   pname = "rocm-llvm";
 
+  sourceRoot = "${src.name}/llvm";
+
   outputs = [ "out" "python" ]
     ++ lib.optional enableSharedLibraries "lib";
 
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
index 4b0e6e618e3..f7250885f14 100644
--- a/pkgs/development/compilers/nim/default.nix
+++ b/pkgs/development/compilers/nim/default.nix
@@ -183,6 +183,14 @@ in {
       install -Dt $out/bin src/nimble
       runHook postBuild
     '';
+
+    meta = with lib; {
+      description = "Package manager for the Nim programming language";
+      homepage = "https://github.com/nim-lang/nimble";
+      license = licenses.bsd3;
+      maintainers = with maintainers; [ ehmry ];
+      mainProgram = "nimble";
+    };
   };
 
   nim = let
diff --git a/pkgs/development/compilers/open-watcom/v2.nix b/pkgs/development/compilers/open-watcom/v2.nix
index 77606d8a511..751afe8556c 100644
--- a/pkgs/development/compilers/open-watcom/v2.nix
+++ b/pkgs/development/compilers/open-watcom/v2.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation rec {
   pname = "open-watcom-v2";
-  version = "unstable-2022-04-29";
+  version = "unstable-2022-05-04";
   name = "${pname}-unwrapped-${version}";
 
   src = fetchFromGitHub {
     owner = "open-watcom";
     repo = "open-watcom-v2";
-    rev = "520d9d7025b46b926123257b029b3dbce9a96065";
-    sha256 = "aACkkTzOH8F82GPyySjtb7CGozR8OjgzqZVRiNTiS10=";
+    rev = "01662ab4eb50c0757969fa53bd4270dbbba45dc5";
+    sha256 = "Nl5mcPDCr08XkVMWqkbbgTP/YjpfwMOo2GVu43FQQ3Y=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix
index 1a74a78fc6c..0dc085d032b 100644
--- a/pkgs/development/compilers/openjdk/11.nix
+++ b/pkgs/development/compilers/openjdk/11.nix
@@ -147,7 +147,7 @@ let
 
     disallowedReferences = [ openjdk11-bootstrap ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/12.nix b/pkgs/development/compilers/openjdk/12.nix
index 8f2b6d40546..addaa13270d 100644
--- a/pkgs/development/compilers/openjdk/12.nix
+++ b/pkgs/development/compilers/openjdk/12.nix
@@ -151,7 +151,7 @@ let
 
     disallowedReferences = [ openjdk11 ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/13.nix b/pkgs/development/compilers/openjdk/13.nix
index 7fb1c35cf9f..37ff9983378 100644
--- a/pkgs/development/compilers/openjdk/13.nix
+++ b/pkgs/development/compilers/openjdk/13.nix
@@ -151,7 +151,7 @@ let
 
     disallowedReferences = [ openjdk13-bootstrap ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/14.nix b/pkgs/development/compilers/openjdk/14.nix
index 29a5c3cc5c3..d4e88f278cd 100644
--- a/pkgs/development/compilers/openjdk/14.nix
+++ b/pkgs/development/compilers/openjdk/14.nix
@@ -147,7 +147,7 @@ let
 
     disallowedReferences = [ openjdk14-bootstrap ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/15.nix b/pkgs/development/compilers/openjdk/15.nix
index 987d018cdf3..e692de71a10 100644
--- a/pkgs/development/compilers/openjdk/15.nix
+++ b/pkgs/development/compilers/openjdk/15.nix
@@ -147,7 +147,7 @@ let
 
     disallowedReferences = [ openjdk15-bootstrap ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/16.nix b/pkgs/development/compilers/openjdk/16.nix
index 0a4a8e1de41..3e9ae98f366 100644
--- a/pkgs/development/compilers/openjdk/16.nix
+++ b/pkgs/development/compilers/openjdk/16.nix
@@ -154,7 +154,7 @@ let
 
     disallowedReferences = [ openjdk16-bootstrap ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version.feature;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/17.nix b/pkgs/development/compilers/openjdk/17.nix
index de12711894f..45acc7f1ce9 100644
--- a/pkgs/development/compilers/openjdk/17.nix
+++ b/pkgs/development/compilers/openjdk/17.nix
@@ -157,7 +157,7 @@ let
 
     disallowedReferences = [ openjdk17-bootstrap ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version.feature;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/darwin/11.nix b/pkgs/development/compilers/openjdk/darwin/11.nix
index d8c1bb6bf25..1ca2901b048 100644
--- a/pkgs/development/compilers/openjdk/darwin/11.nix
+++ b/pkgs/development/compilers/openjdk/darwin/11.nix
@@ -86,7 +86,7 @@ let
       home = jdk;
     };
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
   };
 in
 jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/16.nix b/pkgs/development/compilers/openjdk/darwin/16.nix
index d491d75322f..b8f6b2d62ad 100644
--- a/pkgs/development/compilers/openjdk/darwin/16.nix
+++ b/pkgs/development/compilers/openjdk/darwin/16.nix
@@ -86,7 +86,7 @@ let
       home = jdk;
     };
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
   };
 in
 jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/17.nix b/pkgs/development/compilers/openjdk/darwin/17.nix
index 98e6fc6216e..2720a887565 100644
--- a/pkgs/development/compilers/openjdk/darwin/17.nix
+++ b/pkgs/development/compilers/openjdk/darwin/17.nix
@@ -75,7 +75,7 @@ let
       home = jdk;
     };
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
   };
 in
 jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/8.nix b/pkgs/development/compilers/openjdk/darwin/8.nix
index aeb60d8bc46..3048c53f10f 100644
--- a/pkgs/development/compilers/openjdk/darwin/8.nix
+++ b/pkgs/development/compilers/openjdk/darwin/8.nix
@@ -90,7 +90,7 @@ let
       home = jdk;
     };
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
   };
 in
 jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/meta.nix b/pkgs/development/compilers/openjdk/darwin/meta.nix
index abe469af691..f07a7f38a45 100644
--- a/pkgs/development/compilers/openjdk/darwin/meta.nix
+++ b/pkgs/development/compilers/openjdk/darwin/meta.nix
@@ -1,4 +1,4 @@
-lib: (removeAttrs (import ../meta.nix lib) [ "maintainers" ]) // {
+lib: version: (removeAttrs (import ../meta.nix lib version) [ "maintainers" ]) // {
   platforms = lib.platforms.darwin;
   homepage = "https://www.azul.com/";
 }
diff --git a/pkgs/development/compilers/openjdk/meta.nix b/pkgs/development/compilers/openjdk/meta.nix
index d635d5c01e6..c66ecc29cf5 100644
--- a/pkgs/development/compilers/openjdk/meta.nix
+++ b/pkgs/development/compilers/openjdk/meta.nix
@@ -1,8 +1,11 @@
-lib: with lib; {
+lib: version: with lib; {
   homepage = "https://openjdk.java.net/";
   license = licenses.gpl2Only;
   description = "The open-source Java Development Kit";
   maintainers = with maintainers; [ edwtjo asbachb ];
   platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" ];
   mainProgram = "java";
+  knownVulnerabilities = optionals (builtins.elem (versions.major version) [ "12" "13" "14" "15" "16" ]) [
+    "This OpenJDK version has reached its end of life."
+  ];
 }
diff --git a/pkgs/development/compilers/spirv-llvm-translator/default.nix b/pkgs/development/compilers/spirv-llvm-translator/default.nix
index 0dff7f0e1b0..3ae837ac46b 100644
--- a/pkgs/development/compilers/spirv-llvm-translator/default.nix
+++ b/pkgs/development/compilers/spirv-llvm-translator/default.nix
@@ -4,27 +4,34 @@
 , pkg-config
 , lit
 , llvm_11
+, spirv-headers
+, spirv-tools
 }:
 
 stdenv.mkDerivation rec {
   pname = "SPIRV-LLVM-Translator";
-  version = "unstable-2021-06-13";
+  version = "unstable-2022-05-04";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-LLVM-Translator";
-    rev = "c67e6f26a7285aa753598ef792593ac4a545adf9";
-    sha256 = "sha256-1s3lVNTQDl+pUvbzSMsp3cOUSm6I4DzqJxnLMeeE3F4=";
+    rev = "99420daab98998a7e36858befac9c5ed109d4920";
+    sha256 = "sha256-/vUyL6Wh8hykoGz1QmT1F7lfGDEmG4U3iqmqrJxizOg=";
   };
 
-  nativeBuildInputs = [ pkg-config cmake llvm_11.dev ];
+  nativeBuildInputs = [ pkg-config cmake llvm_11.dev spirv-tools ];
 
-  buildInputs = [ llvm_11 ];
+  buildInputs = [ spirv-headers llvm_11 ];
 
   checkInputs = [ lit ];
 
+  makeFlags = [ "llvm-spirv" ];
+
   cmakeFlags = [
     "-DLLVM_INCLUDE_TESTS=ON"
+    "-DLLVM_DIR=${llvm_11.dev}"
+    "-DBUILD_SHARED_LIBS=YES"
+    "-DLLVM_SPIRV_BUILD_EXTERNAL=YES"
   ];
 
   # FIXME: CMake tries to run "/llvm-lit" which of course doesn't exist
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 8013f283c70..8dc2b4c02bb 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -100,8 +100,8 @@ in rec {
   };
 
   vala_0_56 = generic {
-    version = "0.56.0";
-    sha256 = "2SvRPFYwkF7rapg9y3AiBNqXMUYMKm5OOfhnmW83EEA=";
+    version = "0.56.1";
+    sha256 = "xRi4Hf3agtHN9Yaz+bIyMWLLlr08taLANlDOoCXZH7k=";
   };
 
   vala = vala_0_54;
diff --git a/pkgs/development/compilers/vlang/default.nix b/pkgs/development/compilers/vlang/default.nix
index 0c24e67123c..065e4462f2e 100644
--- a/pkgs/development/compilers/vlang/default.nix
+++ b/pkgs/development/compilers/vlang/default.nix
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
     description = "Simple, fast, safe, compiled language for developing maintainable software";
     license = licenses.mit;
     maintainers = with maintainers; [ Madouura ];
+    mainProgram = "v";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/coq-modules/QuickChick/default.nix b/pkgs/development/coq-modules/QuickChick/default.nix
index 56ce94ecc6f..db3227c1770 100644
--- a/pkgs/development/coq-modules/QuickChick/default.nix
+++ b/pkgs/development/coq-modules/QuickChick/default.nix
@@ -1,11 +1,12 @@
 { lib, mkCoqDerivation, coq, ssreflect, coq-ext-lib, simple-io, version ? null }:
 
 let recent = lib.versions.isGe "8.7" coq.coq-version; in
-mkCoqDerivation {
+(mkCoqDerivation {
   pname = "QuickChick";
   owner = "QuickChick";
   inherit version;
   defaultVersion = with lib; with versions; lib.switch [ coq.coq-version ssreflect.version ] [
+      { cases = [ (isGe "8.13") pred.true  ]; out = "1.6.2"; }
       { cases = [ "8.13" pred.true  ]; out = "1.5.0"; }
       { cases = [ "8.12" pred.true  ]; out = "1.4.0"; }
       { cases = [ "8.11" pred.true  ]; out = "1.3.2"; }
@@ -16,6 +17,7 @@ mkCoqDerivation {
       { cases = [ "8.6"  pred.true  ];  out = "20171102"; }
       { cases = [ "8.5"  pred.true  ];  out = "20170512"; }
     ] null;
+  release."1.6.2".sha256    = "0g5q9zw3xd4zndihq96nxkq4w3dh05418wzlwdk1nnn3b6vbx6z0";
   release."1.5.0".sha256    = "1lq8x86vd3vqqh2yq6hvyagpnhfq5wmk5pg2z0xq7b7dcw7hyfkw";
   release."1.4.0".sha256    = "068p48pm5yxjc3yv8qwzp25bp9kddvxj81l31mjkyx3sdrsw3kyc";
   release."1.3.2".sha256    = "0lciwaqv288dh2f13xk2x0lrn6zyrkqy6g4yy927wwzag2gklfrs";
@@ -46,4 +48,11 @@ mkCoqDerivation {
     description = "Randomized property-based testing plugin for Coq; a clone of Haskell QuickCheck";
     maintainers = with maintainers; [ jwiegley ];
   };
-}
+}).overrideAttrs (o:
+  let after_1_6 = lib.versions.isGe "1.6" o.version || o.version == "dev";
+  in {
+    nativeBuildInputs = o.nativeBuildInputs
+    ++ lib.optional after_1_6 coq.ocamlPackages.cppo;
+    propagatedBuildInputs = o.propagatedBuildInputs
+    ++ lib.optionals after_1_6 (with coq.ocamlPackages; [ findlib zarith ]);
+})
diff --git a/pkgs/development/coq-modules/category-theory/default.nix b/pkgs/development/coq-modules/category-theory/default.nix
index ae3f7e809fb..7cff9ddef4b 100644
--- a/pkgs/development/coq-modules/category-theory/default.nix
+++ b/pkgs/development/coq-modules/category-theory/default.nix
@@ -16,7 +16,7 @@ with lib; mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.10" "8.14"; out = "20211213"; }
+    { case = range "8.10" "8.15"; out = "20211213"; }
     { case = range "8.8" "8.9"; out = "20190414"; }
     { case = range "8.6" "8.7"; out = "20180709"; }
   ] null;
diff --git a/pkgs/development/coq-modules/goedel/default.nix b/pkgs/development/coq-modules/goedel/default.nix
index c50f8672e01..ecd154c82ed 100644
--- a/pkgs/development/coq-modules/goedel/default.nix
+++ b/pkgs/development/coq-modules/goedel/default.nix
@@ -12,7 +12,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.11" "8.14"; out = "8.13.0"; }
+    { case = range "8.11" "8.15"; out = "8.13.0"; }
   ] null;
 
   propagatedBuildInputs = [ hydra-battles pocklington ];
diff --git a/pkgs/development/coq-modules/graph-theory/default.nix b/pkgs/development/coq-modules/graph-theory/default.nix
index eedbe6fb5d8..9ba5f03a562 100644
--- a/pkgs/development/coq-modules/graph-theory/default.nix
+++ b/pkgs/development/coq-modules/graph-theory/default.nix
@@ -12,7 +12,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.13" "8.14"; out = "0.9"; }
+    { case = range "8.13" "8.15"; out = "0.9"; }
   ] null;
 
   propagatedBuildInputs = [ mathcomp-algebra mathcomp-finmap mathcomp-fingroup hierarchy-builder ];
diff --git a/pkgs/development/coq-modules/itauto/default.nix b/pkgs/development/coq-modules/itauto/default.nix
index af535993362..4993a76b4f0 100644
--- a/pkgs/development/coq-modules/itauto/default.nix
+++ b/pkgs/development/coq-modules/itauto/default.nix
@@ -6,9 +6,13 @@ mkCoqDerivation rec {
   owner = "fbesson";
   domain = "gitlab.inria.fr";
 
+  release."8.15.0".sha256 = "sha256:10qpv4nx1p0wm9sas47yzsg9z22dhvizszfa21yff08a8fr0igya";
+  release."8.14.0".sha256 = "sha256:1k6pqhv4dwpkwg81f2rlfg40wh070ks1gy9r0ravm2zhsbxqcfc9";
   release."8.13+no".sha256 = "sha256-gXoxtLcHPoyjJkt7WqvzfCMCQlh6kL2KtCGe3N6RC/A=";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
+    { case = isEq "8.15"; out = "8.15.0"; }
+    { case = isEq "8.14"; out = "8.14.0"; }
     { case = isEq "8.13"; out = "8.13+no"; }
   ] null;
 
diff --git a/pkgs/development/coq-modules/mathcomp-tarjan/default.nix b/pkgs/development/coq-modules/mathcomp-tarjan/default.nix
index 6f82532ada3..35e9398f3ad 100644
--- a/pkgs/development/coq-modules/mathcomp-tarjan/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-tarjan/default.nix
@@ -9,7 +9,7 @@ with lib; mkCoqDerivation {
   inherit version;
   defaultVersion = with versions;
     switch [ coq.version mathcomp-ssreflect.version ] [{
-      cases = [ (range "8.10" "8.14") (isGe "1.12.0") ]; out = "1.0.0";
+      cases = [ (range "8.10" "8.15") (isGe "1.12.0") ]; out = "1.0.0";
   }] null;
   release."1.0.0".sha256 = "sha256:0r459r0makshzwlygw6kd4lpvdjc43b3x5y9aa8x77f2z5gymjq1";
 
diff --git a/pkgs/development/coq-modules/semantics/default.nix b/pkgs/development/coq-modules/semantics/default.nix
index 89567d401b2..e112512ec5c 100644
--- a/pkgs/development/coq-modules/semantics/default.nix
+++ b/pkgs/development/coq-modules/semantics/default.nix
@@ -16,7 +16,7 @@ mkCoqDerivation rec {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.10" "8.14"; out = "8.14.0"; }
+    { case = range "8.10" "8.15"; out = "8.14.0"; }
     { case = "8.9"; out = "8.9.0"; }
     { case = "8.8"; out = "8.8.0"; }
     { case = "8.7"; out = "8.7.0"; }
diff --git a/pkgs/development/coq-modules/smpl/default.nix b/pkgs/development/coq-modules/smpl/default.nix
index 63bed38ead9..f03065cf045 100644
--- a/pkgs/development/coq-modules/smpl/default.nix
+++ b/pkgs/development/coq-modules/smpl/default.nix
@@ -8,10 +8,14 @@ mkCoqDerivation {
   release."8.10.2".sha256 = "sha256-TUfTZKBgrSOT6piXRViHSGPE9NSj3bGx2XBIw6YCcEs=";
   release."8.12".sha256 = "sha256-UQbDHLVBKYk++o+Y2B6ARYRYGglytsnXhguwMatjOHg=";
   release."8.13".sha256 = "sha256-HxQBaIE2CjyfG4GoIXprfehqjsr/Z74YdodxMmrbzSg=";
+  release."8.14".sha256 = "sha256:0wmrc741j67ch4rkygjkrz5i9afi01diyyj69i24cmasvx4wad38";
+  release."8.15".sha256 = "sha256:0m9xlkdhilvqb0v4q9c4hzfwffbccd6029ks39xg7qbiq6zklpvp";
   releaseRev = v: "v${v}";
 
   inherit version;
   defaultVersion = with versions; switch coq.version [
+    { case = isEq "8.15"; out = "8.15"; }
+    { case = isEq "8.14"; out = "8.14"; }
     { case = "8.13.2"; out = "8.13"; }
     { case = "8.12.2"; out = "8.12"; }
     { case = "8.10.2"; out = "8.10.2"; }
diff --git a/pkgs/development/coq-modules/smtcoq/default.nix b/pkgs/development/coq-modules/smtcoq/default.nix
index 416b8d1bb58..0389b45fb5c 100644
--- a/pkgs/development/coq-modules/smtcoq/default.nix
+++ b/pkgs/development/coq-modules/smtcoq/default.nix
@@ -9,8 +9,8 @@ mkCoqDerivation {
   release."itp22".sha256 = "sha256-CdPfgDfeJy8Q6ZlQeVCSR/x8ZlJ2kSEF6F5UnAespnQ=";
 
   inherit version;
-  defaultVersion = with versions; switch [ coq.version mathcomp.version ] [
-    { cases = [ (isGe "8.13") ]; out = "itp22"; }
+  defaultVersion = with versions; switch coq.version [
+    { case = isEq "8.13"; out = "itp22"; }
   ] null;
 
   propagatedBuildInputs = [ trakt cvc4 ] ++ lib.optionals (!stdenv.isDarwin) [ veriT ];
diff --git a/pkgs/development/embedded/arduino/arduino-cli/default.nix b/pkgs/development/embedded/arduino/arduino-cli/default.nix
index dc463c9fc4d..a432058f083 100644
--- a/pkgs/development/embedded/arduino/arduino-cli/default.nix
+++ b/pkgs/development/embedded/arduino/arduino-cli/default.nix
@@ -4,13 +4,13 @@ let
 
   pkg = buildGoModule rec {
     pname = "arduino-cli";
-    version = "0.20.2";
+    version = "0.21.1";
 
     src = fetchFromGitHub {
       owner = "arduino";
       repo = pname;
       rev = version;
-      sha256 = "sha256-q2uaJTfCcS/kv6xU5NjafzfcM3TixJlH5KzgEpLJKkQ=";
+      sha256 = "sha256-IXzN6CnZCzrkcLVNmKc1WB0V+TTa56CBzASzK0FQO8c=";
     };
 
     subPackages = [ "." ];
diff --git a/pkgs/development/haskell-modules/configuration-arm.nix b/pkgs/development/haskell-modules/configuration-arm.nix
index f3b65167ea6..62aa67efd77 100644
--- a/pkgs/development/haskell-modules/configuration-arm.nix
+++ b/pkgs/development/haskell-modules/configuration-arm.nix
@@ -99,19 +99,22 @@ self: super: {
   hls-class-plugin = dontCheck super.hls-class-plugin;
   hls-selection-range-plugin = dontCheck super.hls-selection-range-plugin;
 
-  # Similar RTS issue in test suite:
-  # rts/linker/elf_reloc_aarch64.c:98: encodeAddendAarch64: Assertion `isInt64(21+12, addend)' failed.
-  hls-hlint-plugin = dontCheck super.hls-hlint-plugin;
-  hls-ormolu-plugin = dontCheck super.hls-ormolu-plugin;
-  hls-haddock-comments-plugin = dontCheck super.hls-haddock-comments-plugin;
-
-
   # https://github.com/ekmett/half/issues/35
   half = dontCheck super.half;
 
   # We disable profiling on aarch64, so tests naturally fail
   ghc-prof = dontCheck super.ghc-prof;
 
+} // lib.optionalAttrs (pkgs.stdenv.hostPlatform.isAarch64 && builtins.compareVersions super.ghc.version "9.2" < 0) {
+  # Some aarch64 issues have been fixed since 9.2
+
+  # Similar RTS issue in test suite:
+  # rts/linker/elf_reloc_aarch64.c:98: encodeAddendAarch64: Assertion `isInt64(21+12, addend)' failed.
+  # Fixed since 9.2
+  hls-ormolu-plugin = dontCheck super.hls-ormolu-plugin;
+  hls-haddock-comments-plugin = dontCheck super.hls-haddock-comments-plugin;
+  hls-rename-plugin = dontCheck super.hls-rename-plugin;
+  hls-fourmolu-plugin = dontCheck super.hls-fourmolu-plugin;
 } // lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch32 {
   # AARCH32-SPECIFIC OVERRIDES
 
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 8393d02a316..06b394bbe5e 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1667,19 +1667,6 @@ self: super: {
 
   lsp = assert super.lsp.version == "1.4.0.0"; dontCheck super.lsp;
 
-  hls-test-utils = assert super.hls-test-utils.version == "1.2.0.0"; appendPatches [
-    (fetchpatch {
-      url = "https://github.com/haskell/haskell-language-server/commit/074593987e9086e308b89ecde336de2c64861dc0.patch";
-      sha256 = "sha256-uTlIbGQKulP3963UPL2V9cqMoIvPscK+s2W/HtBmMWc=";
-      relative = "hls-test-utils";
-    })
-    (fetchpatch {
-      url = "https://github.com/haskell/haskell-language-server/commit/78305f21783807b04baebca4860c255bfe84d4ab.patch";
-      sha256 = "sha256-oe8Q8kBJBkel+pR5imFj43NVpm4afcyLgAUCWhrIoPk=";
-      relative = "hls-test-utils";
-    })
-   ] super.hls-test-utils;
-
   # 2021-05-08: Tests fail: https://github.com/haskell/haskell-language-server/issues/1809
   hls-eval-plugin = dontCheck super.hls-eval-plugin;
 
@@ -2321,6 +2308,10 @@ self: super: {
   # 2021-09-18: https://github.com/haskell/haskell-language-server/issues/2205
   hls-stylish-haskell-plugin = doJailbreak super.hls-stylish-haskell-plugin;
 
+  # Necesssary .txt files are not included in sdist.
+  # https://github.com/haskell/haskell-language-server/pull/2887
+  hls-change-type-signature-plugin = dontCheck super.hls-change-type-signature-plugin;
+
   # Too strict bounds on hspec
   # https://github.com/haskell-works/hw-hspec-hedgehog/issues/62
   # https://github.com/haskell-works/hw-prim/issues/132
@@ -2657,4 +2648,9 @@ self: super: {
     sha256 = "sha256-fW5bVbAGQxU/gd9zqgVNclwKraBtUjkKDek7L0c4+O0=";
   }) super.wstunnel;
 
+  # Adjustment of bounds on servant is unreleased
+  # https://github.com/haskell-servant/servant-cassava/commit/66617547851d38d48f5f1d1b786db1286bdafa9d
+  servant-cassava = assert super.servant-cassava.version == "0.10.1";
+    doJailbreak super.servant-cassava;
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-darwin.nix b/pkgs/development/haskell-modules/configuration-darwin.nix
index 2eea5f8c58b..d40643114e4 100644
--- a/pkgs/development/haskell-modules/configuration-darwin.nix
+++ b/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -200,6 +200,8 @@ self: super: ({
   hls-haddock-comments-plugin = dontCheck super.hls-haddock-comments-plugin;
   hls-floskell-plugin = dontCheck super.hls-floskell-plugin;
   hls-call-hierarchy-plugin = dontCheck super.hls-call-hierarchy-plugin;
+  # 2022-05-05: Tests fail and I have no way to debug them.
+  hls-rename-plugin = dontCheck super.hls-rename-plugin;
 
   # We are lacking pure pgrep at the moment for tests to work
   tmp-postgres = dontCheck super.tmp-postgres;
@@ -289,4 +291,7 @@ self: super: ({
   # tests appear to be failing to link or something:
   # https://hydra.nixos.org/build/174540882/nixlog/9
   regex-rure = dontCheck super.regex-rure;
+  # same
+  # https://hydra.nixos.org/build/174540882/nixlog/9
+  jacinda = dontCheck super.jacinda;
 })
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
index c8e7c8179e6..48972849cf6 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
@@ -43,7 +43,9 @@ self: super: {
   time = null;
   transformers = null;
   unix = null;
-  xhtml = null;
+  # GHC only bundles the xhtml library if haddock is enabled, check if this is
+  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
+  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
 
   # cabal-install needs more recent versions of Cabal and base16-bytestring.
   cabal-install = super.cabal-install.overrideScope (self: super: {
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
index 5eaa1ae413d..11c3677913e 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -42,7 +42,9 @@ self: super: {
   time = null;
   transformers = null;
   unix = null;
-  xhtml = null;
+  # GHC only bundles the xhtml library if haddock is enabled, check if this is
+  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
+  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
 
   # Needs Cabal 3.0.x.
   cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_2_1_0; });
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index 98eaab70731..d7b049b205b 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -42,7 +42,9 @@ self: super: {
   time = null;
   transformers = null;
   unix = null;
-  xhtml = null;
+  # GHC only bundles the xhtml library if haddock is enabled, check if this is
+  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
+  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
 
   # GHC 8.8.x can build haddock version 2.23.*
   haddock = self.haddock_2_23_1;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
index 855afa28101..db38ebd8b70 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
@@ -44,7 +44,9 @@ self: super: {
   time = null;
   transformers = null;
   unix = null;
-  xhtml = null;
+  # GHC only bundles the xhtml library if haddock is enabled, check if this is
+  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
+  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
 
   # cabal-install needs more recent versions of Cabal and base16-bytestring.
   cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: {
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
index 249816cc49c..93fe7ab26c7 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
@@ -44,7 +44,9 @@ self: super: {
   time = null;
   transformers = null;
   unix = null;
-  xhtml = null;
+  # GHC only bundles the xhtml library if haddock is enabled, check if this is
+  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
+  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
 
   # Tests fail because of typechecking changes
   conduit = dontCheck super.conduit;
@@ -90,7 +92,7 @@ self: super: {
     # causing the build-depends to be skipped. Since the dependency
     # list hasn't changed much since 0.6.4, we can just reuse the
     # normal expression.
-    inherit (self.ghc-exactprint_1_4_1) src version;
+    inherit (self.ghc-exactprint_1_5_0) src version;
     revision = null; editedCabalFile = null;
     libraryHaskellDepends = [
       self.fail
@@ -195,17 +197,7 @@ self: super: {
   } super.memory);
 
   # Use hlint from git for GHC 9.2.1 support
-  hlint = doDistribute (
-    overrideSrc {
-      version = "unstable-2021-12-12";
-      src = pkgs.fetchFromGitHub {
-        owner = "ndmitchell";
-        repo = "hlint";
-        rev = "77a9702e10b772a7695c08682cd4f450fd0e9e46";
-        sha256 = "0hpp3iw7m7w2abr8vb86gdz3x6c8lj119zxln933k90ia7bmk8jc";
-      };
-    } super.hlint
-  );
+  hlint = self.hlint_3_4;
 
   # https://github.com/sjakobi/bsb-http-chunked/issues/38
   bsb-http-chunked = dontCheck super.bsb-http-chunked;
@@ -216,7 +208,7 @@ self: super: {
   some = doJailbreak super.some;
   fourmolu = super.fourmolu_0_6_0_0;
   # hls-fourmolu-plugin in this version has a to strict upper bound of fourmolu <= 0.5.0.0
-  hls-fourmolu-plugin = assert super.hls-fourmolu-plugin.version == "1.0.2.0"; doJailbreak super.hls-fourmolu-plugin;
+  hls-fourmolu-plugin = assert super.hls-fourmolu-plugin.version == "1.0.3.0"; doJailbreak super.hls-fourmolu-plugin;
   implicit-hie-cradle = doJailbreak super.implicit-hie-cradle;
   # 1.3 introduced support for GHC 9.2.x, so when this assert fails, the jailbreak can be removed
   hashtables = assert super.hashtables.version == "1.2.4.2"; doJailbreak super.hashtables;
@@ -226,18 +218,11 @@ self: super: {
   # Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html
   haskell-language-server = overrideCabal (old: {libraryHaskellDepends = builtins.filter (x: x != super.hls-tactics-plugin) old.libraryHaskellDepends;})
     (appendConfigureFlags [
-    "-f-alternateNumberFormat"
-    "-f-class"
-    "-f-eval"
     "-f-haddockComments"
-    "-f-hlint"
     "-f-retrie"
     "-f-splice"
     "-f-tactics"
   ] (super.haskell-language-server.override {
-    hls-alternate-number-format-plugin = null;
-    hls-class-plugin = null;
-    hls-eval-plugin = null;
     hls-haddock-comments-plugin = null;
     hls-hlint-plugin = null;
     hls-retrie-plugin = null;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-head.nix b/pkgs/development/haskell-modules/configuration-ghc-head.nix
index bc65e209911..ad3aea047ae 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-head.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-head.nix
@@ -52,7 +52,9 @@ self: super: {
   time = null;
   transformers = null;
   unix = null;
-  xhtml = null;
+  # GHC only bundles the xhtml library if haddock is enabled, check if this is
+  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
+  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
 
   # https://github.com/tibbe/unordered-containers/issues/214
   unordered-containers = dontCheck super.unordered-containers;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 6afd1dc17d5..509da53381d 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -455,6 +455,7 @@ broken-packages:
   - bower-json
   - bowntz
   - bpath
+  - BPS
   - braid
   - brain-bleep
   - Bravo
@@ -511,6 +512,7 @@ broken-packages:
   - bytestring-substring
   - bytestring-time
   - bytestring-typenats
+  - bzlib-conduit-jappie
   - c10k
   - c2ats
   - cab
@@ -523,6 +525,7 @@ broken-packages:
   - cabal-constraints
   - cabal-db
   - cabal-dependency-licenses
+  - cabal-detailed-quickcheck
   - cabal-dev
   - cabal-dir
   - cabal-edit
@@ -854,6 +857,7 @@ broken-packages:
   - CoreDump
   - CoreErlang
   - core-haskell
+  - core-webserver-warp
   - Coroutine
   - coroutine-object
   - CouchDB
@@ -1236,6 +1240,7 @@ broken-packages:
   - ede
   - edenmodules
   - edis
+  - EdisonAPI
   - EdisonCore
   - edit
   - edit-lenses
@@ -2100,6 +2105,7 @@ broken-packages:
   - hdo
   - hdph-closure
   - hdr-histogram
+  - HDRUtils
   - headergen
   - heap-console
   - heapsort
@@ -3932,6 +3938,7 @@ broken-packages:
   - polysemy-mocks
   - polysemy-readline
   - polysemy-req
+  - polysemy-scoped-fs
   - polysemy-zoo
   - polytypeable
   - polyvariadic
@@ -4221,6 +4228,7 @@ broken-packages:
   - Referees
   - references
   - refined-http-api-data
+  - refined-with
   - reflection-extras
   - reflex-basic-host
   - reflex-dom-ace
@@ -4486,7 +4494,6 @@ broken-packages:
   - servant-auth-hmac
   - servant-avro
   - servant-benchmark
-  - servant-cassava
   - servant-client-js
   - servant-db
   - servant-dhall
@@ -5269,6 +5276,7 @@ broken-packages:
   - typalyze
   - typeable-mock
   - typeable-th
+  - typecheck-plugin-nat-simple
   - type-combinators
   - typed-digits
   - typed-encoding
@@ -5388,6 +5396,7 @@ broken-packages:
   - utf8-prelude
   - utf8-validator
   - UTFTConverter
+  - util
   - util-logict
   - util-plus
   - util-primitive
@@ -5804,3 +5813,4 @@ broken-packages:
   - Zwaluw
   - zxcvbn-hs
   - zydiskell
+  - zyre2
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index b1bee72c8e2..a444cdcd63f 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -121,7 +121,6 @@ extra-packages:
   - brick == 0.64.*                     # 2021-12-03: matterhorn depends on brick < 0.65
   - path == 0.9.0                       # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.2
   - ormolu == 0.2.*                     # 2022-02-21: For ghc 8.8 and 8.10
-  - ghc-exactprint == 1.4.*             # 2022-02-07: preserve for now, 1.5.0 has a breaking change without type changes
   - ShellCheck == 0.7.2                 # 2022-02-20: haskell-ci 0.14 needs this
   - weeder == 2.2.*                     # 2022-02-21: preserve for GHC 8.10.7
   - attoparsec == 0.13.*                # 2022-02-23: Needed to compile elm for now
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index e0e60d509a0..64f9195673d 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 19.4
+# Stackage LTS 19.5
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -78,7 +78,7 @@ default-package-overrides:
   - array-memoize ==0.6.0
   - arrow-extras ==0.1.0.1
   - arrows ==0.4.4.2
-  - ascii ==1.1.2.0
+  - ascii ==1.1.3.0
   - ascii-case ==1.0.0.10
   - ascii-char ==1.0.0.14
   - asciidiagram ==1.3.3.3
@@ -86,7 +86,7 @@ default-package-overrides:
   - ascii-numbers ==1.0.0.0
   - ascii-predicates ==1.0.0.10
   - ascii-progress ==0.3.3.0
-  - ascii-superset ==1.0.1.12
+  - ascii-superset ==1.0.1.13
   - ascii-th ==1.0.0.10
   - asn1-encoding ==0.9.6
   - asn1-parse ==0.9.5
@@ -297,8 +297,8 @@ default-package-overrides:
   - cast ==0.1.0.2
   - caster ==0.0.3.0
   - cayley-client ==0.4.17
-  - cborg ==0.2.6.0
-  - cborg-json ==0.2.3.0
+  - cborg ==0.2.7.0
+  - cborg-json ==0.2.4.0
   - cdar-mBound ==0.1.0.4
   - c-enum ==0.1.1.3
   - cereal ==0.5.8.2
@@ -630,7 +630,7 @@ default-package-overrides:
   - dual ==0.1.1.1
   - dual-tree ==0.2.3.0
   - dublincore-xml-conduit ==0.1.0.2
-  - dunai ==0.8.1
+  - dunai ==0.8.2
   - duration ==0.2.0.0
   - dvorak ==0.1.0.0
   - dynamic-state ==0.3.1
@@ -874,7 +874,7 @@ default-package-overrides:
   - ghc-check ==0.5.0.6
   - ghc-compact ==0.1.0.0
   - ghc-core ==0.5.6
-  - ghc-events ==0.17.0.2
+  - ghc-events ==0.17.0.3
   - ghc-exactprint ==0.6.4
   - ghcid ==0.8.7
   - ghci-hexcalc ==0.1.1.0
@@ -980,7 +980,7 @@ default-package-overrides:
   - HandsomeSoup ==0.4.2
   - handwriting ==0.1.0.3
   - happstack-server ==7.7.2
-  - happstack-server-tls ==7.2.1.1
+  - happstack-server-tls ==7.2.1.2
   - happy ==1.20.0
   - happy-meta ==0.2.0.11
   - HasBigDecimal ==0.1.1
@@ -1012,7 +1012,7 @@ default-package-overrides:
   - hasql-optparse-applicative ==0.3.0.8
   - hasql-pool ==0.5.2.2
   - hasql-queue ==1.2.0.2
-  - hasql-th ==0.4.0.11
+  - hasql-th ==0.4.0.12
   - hasql-transaction ==1.0.1.1
   - has-transformers ==0.1.0.4
   - hasty-hamiltonian ==1.3.4
@@ -1216,6 +1216,7 @@ default-package-overrides:
   - hw-json-simd ==0.1.1.1
   - hw-json-simple-cursor ==0.1.1.1
   - hw-json-standard-cursor ==0.2.3.2
+  - hwk ==0.6
   - hw-kafka-client ==4.0.3
   - hw-mquery ==0.2.1.1
   - hworker ==0.1.0.1
@@ -1240,7 +1241,7 @@ default-package-overrides:
   - hxt-unicode ==9.0.2.4
   - hybrid-vectors ==0.2.2
   - hyper ==0.2.1.1
-  - hyperloglog ==0.4.5
+  - hyperloglog ==0.4.6
   - hyphenation ==0.8.2
   - iconv ==0.4.1.3
   - identicon ==0.2.2
@@ -1787,7 +1788,7 @@ default-package-overrides:
   - pattern-arrows ==0.0.2
   - pava ==0.1.1.3
   - pcg-random ==0.1.3.7
-  - pcre2 ==2.1.0.1
+  - pcre2 ==2.1.1
   - pcre-heavy ==1.0.0.2
   - pcre-light ==0.4.1.0
   - pcre-utils ==0.1.8.2
@@ -2030,10 +2031,10 @@ default-package-overrides:
   - ref-fd ==0.5
   - refined ==0.6.3
   - reflection ==2.1.6
-  - reform ==0.2.7.4
-  - reform-blaze ==0.2.4.3
+  - reform ==0.2.7.5
+  - reform-blaze ==0.2.4.4
   - reform-hamlet ==0.0.5.3
-  - reform-happstack ==0.2.5.4
+  - reform-happstack ==0.2.5.5
   - RefSerialize ==0.4.0
   - ref-tf ==0.5.0.1
   - regex ==1.1.0.1
@@ -2136,7 +2137,7 @@ default-package-overrides:
   - sdl2 ==2.5.3.0
   - sdl2-ttf ==2.1.2
   - search-algorithms ==0.3.2
-  - secp256k1-haskell ==0.6.0
+  - secp256k1-haskell ==0.6.1
   - securemem ==0.1.10
   - selda ==0.5.1.0
   - selda-sqlite ==0.1.7.1
@@ -2158,7 +2159,7 @@ default-package-overrides:
   - sequence-formats ==1.6.6.1
   - sequenceTools ==1.5.2
   - serf ==0.1.1.0
-  - serialise ==0.2.4.0
+  - serialise ==0.2.5.0
   - servant ==0.19
   - servant-auth ==0.4.1.0
   - servant-auth-client ==0.4.1.0
@@ -2245,6 +2246,7 @@ default-package-overrides:
   - singletons-presburger ==0.6.1.0
   - singletons-th ==3.0
   - siphash ==1.0.3
+  - Sit ==0.2022.3.18
   - sitemap-gen ==0.1.0.0
   - sized ==1.0.0.0
   - skein ==1.0.9.4
@@ -2382,7 +2384,7 @@ default-package-overrides:
   - SVGFonts ==1.8.0.1
   - svg-tree ==0.6.2.4
   - swagger2 ==2.8.2
-  - swish ==0.10.1.0
+  - swish ==0.10.2.0
   - syb ==0.7.2.1
   - sydtest-discover ==0.0.0.1
   - symbol ==0.2.4
@@ -2716,7 +2718,7 @@ default-package-overrides:
   - wai-cors ==0.2.7
   - wai-enforce-https ==1.0.0.0
   - wai-eventsource ==3.0.0
-  - wai-extra ==3.1.8
+  - wai-extra ==3.1.10
   - wai-feature-flags ==0.1.0.3
   - wai-handler-launch ==3.0.3.1
   - wai-logger ==2.4.0
@@ -2749,11 +2751,11 @@ default-package-overrides:
   - webgear-server ==1.0.1
   - webpage ==0.0.5.1
   - web-plugins ==0.4.1
-  - web-routes ==0.27.14.3
-  - web-routes-boomerang ==0.28.4.2
-  - web-routes-happstack ==0.23.12.1
-  - web-routes-hsp ==0.24.6.1
-  - web-routes-wai ==0.24.3.1
+  - web-routes ==0.27.14.4
+  - web-routes-boomerang ==0.28.4.3
+  - web-routes-happstack ==0.23.12.2
+  - web-routes-hsp ==0.24.6.2
+  - web-routes-wai ==0.24.3.2
   - webrtc-vad ==0.1.0.3
   - websockets ==0.12.7.3
   - websockets-simple ==0.2.0
@@ -2839,7 +2841,7 @@ default-package-overrides:
   - yesod-auth-hashdb ==1.7.1.7
   - yesod-auth-oauth2 ==0.7.0.1
   - yesod-bin ==1.6.2.1
-  - yesod-core ==1.6.22.0
+  - yesod-core ==1.6.23
   - yesod-eventsource ==1.6.0.1
   - yesod-form ==1.7.0
   - yesod-form-bootstrap4 ==3.0.1
@@ -2854,7 +2856,7 @@ default-package-overrides:
   - yesod-routes-flow ==3.0.0.2
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.1.0
-  - yesod-test ==1.6.12
+  - yesod-test ==1.6.13
   - yesod-websockets ==0.3.0.3
   - yes-precure5-command ==5.5.3
   - yi-rope ==0.11
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 198572573b8..3828a55fab4 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -436,12 +436,14 @@ dont-distribute-packages:
  - adp-multi-monadiccp
  - aeson-native
  - aeson-result
+ - affine
  - afv
  - agda-server
  - agda-snippets-hakyll
  - agentx
  - aip
  - aivika-distributed
+ - alg
  - algebra-checkers
  - algebra-driven-design
  - algebra-sql
@@ -647,6 +649,7 @@ dont-distribute-packages:
  - apiary-websockets
  - apis
  - apotiki
+ - appendful-persistent
  - approx-rand-test
  - arbor-monad-metric-datadog
  - archive-tar-bytestring
@@ -663,7 +666,7 @@ dont-distribute-packages:
  - ascii
  - ascii-cows
  - ascii-table
- - ascii_1_2_0_0
+ - ascii_1_2_2_0
  - asic
  - asif
  - assert4hs-hspec
@@ -770,6 +773,7 @@ dont-distribute-packages:
  - berp
  - bff
  - bglib
+ - bifunctor
  - billboard-parser
  - billeksah-forms
  - billeksah-main
@@ -784,6 +788,7 @@ dont-distribute-packages:
  - bindings-ppdev
  - bindynamic
  - binembed-example
+ - binrep
  - bioace
  - bioalign
  - biofasta
@@ -864,6 +869,7 @@ dont-distribute-packages:
  - bytelog
  - bytestring-builder-varword
  - bytestring-read
+ - ca
  - cabal-bounds
  - cabal-cache
  - cabal-cargs
@@ -913,6 +919,7 @@ dont-distribute-packages:
  - cassy
  - casui
  - categorical-algebra
+ - category
  - category-extras
  - cautious-gen
  - cctools-workqueue
@@ -1068,7 +1075,9 @@ dont-distribute-packages:
  - configifier
  - configurator-ng
  - conic-graphs
+ - constraint
  - constraint-manip
+ - constraint-reflection
  - constructible
  - consumers
  - container
@@ -1095,6 +1104,7 @@ dont-distribute-packages:
  - copilot-libraries
  - copilot-sbv
  - copilot-theorem
+ - core-webserver-servant
  - coroutine-enumerator
  - coroutine-iteratee
  - couch-simple
@@ -1389,6 +1399,8 @@ dont-distribute-packages:
  - exinst-deepseq
  - exinst-hashable
  - exinst-serialise
+ - exist
+ - exist-instances
  - expand
  - expat-enumerator
  - expiring-containers
@@ -1404,6 +1416,7 @@ dont-distribute-packages:
  - extract-dependencies
  - factual-api
  - fadno
+ - fair
  - fallingblocks
  - family-tree
  - fast-arithmetic
@@ -1484,6 +1497,7 @@ dont-distribute-packages:
  - fluent-logger
  - fluent-logger-conduit
  - fmt-for-rio
+ - foldable1
  - follower
  - foo
  - formal
@@ -1565,6 +1579,7 @@ dont-distribute-packages:
  - geniconvert
  - geniserver
  - genvalidity-aeson
+ - genvalidity-appendful
  - genvalidity-hspec-aeson
  - genvalidity-mergeful
  - genvalidity-mergeless
@@ -2379,6 +2394,7 @@ dont-distribute-packages:
  - iteratee-parsec
  - iteratee-stm
  - iterio-server
+ - ival
  - ivor
  - ivory-avr-atmega328p-registers
  - ivory-backend-c
@@ -2391,6 +2407,7 @@ dont-distribute-packages:
  - ivory-serialize
  - ivory-stdlib
  - ivy-web
+ - ix
  - ixset
  - ixset-typed-binary-instance
  - ixset-typed-cassava
@@ -2474,6 +2491,7 @@ dont-distribute-packages:
  - keid-sound-openal
  - keid-ui-dearimgui
  - kevin
+ - key-vault
  - keyring
  - keysafe
  - keystore
@@ -3058,7 +3076,6 @@ dont-distribute-packages:
  - phonetic-languages-simplified-base
  - phonetic-languages-simplified-common
  - phonetic-languages-simplified-examples-array
- - phonetic-languages-simplified-examples-common
  - phonetic-languages-simplified-generalized-examples-array
  - phonetic-languages-simplified-generalized-examples-common
  - phonetic-languages-simplified-generalized-properties-array
@@ -3154,6 +3171,7 @@ dont-distribute-packages:
  - process-streaming
  - procrastinating-structure
  - producer
+ - product
  - product-isomorphic
  - prof2dot
  - profiterole
@@ -3249,9 +3267,11 @@ dont-distribute-packages:
  - raketka
  - rallod
  - random-access-file
+ - random-class
  - random-effin
  - random-hypergeometric
  - range-space
+ - ranged-list
  - rasa
  - rasa-example-config
  - rasa-ext-bufs
@@ -3414,6 +3434,7 @@ dont-distribute-packages:
  - roundtrip-xml
  - route-generator
  - route-planning
+ - row
  - rpc
  - rpf
  - rsagl
@@ -3602,6 +3623,7 @@ dont-distribute-packages:
  - smcdel
  - smith-cli
  - smith-client
+ - smt
  - smtlib2-debug
  - smtlib2-pipe
  - smtlib2-quickcheck
@@ -3936,6 +3958,7 @@ dont-distribute-packages:
  - twitter-conduit
  - twitter-enumerator
  - twitter-types-lens
+ - txt
  - type-assertions
  - type-cache
  - type-cereal
@@ -3981,6 +4004,7 @@ dont-distribute-packages:
  - uniqueness-periods-vector-filters
  - uniqueness-periods-vector-general
  - uniqueness-periods-vector-properties
+ - universal
  - universe
  - universe-dependent-sum
  - universe-th
@@ -4021,6 +4045,7 @@ dont-distribute-packages:
  - vacuum-graphviz
  - vacuum-opengl
  - vacuum-ubigraph
+ - valid
  - variable-precision
  - vault-tool-server
  - vault-trans
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 612b0a224c5..01d73c4a2a3 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -1331,6 +1331,34 @@ self: {
        license = lib.licenses.gpl2Only;
      }) {};
 
+  "BPS" = callPackage
+    ({ mkDerivation, base, extra, free, mtl, resourcet, STMonadTrans
+     , symbol, template-haskell, TLT, transformers
+     }:
+     mkDerivation {
+       pname = "BPS";
+       version = "0.1.0.0";
+       sha256 = "0rkrjj42p9ybcifmsmz8717yyf2q3vzwm4y42khxz824vdxa9q2j";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base extra free mtl resourcet STMonadTrans symbol template-haskell
+         transformers
+       ];
+       executableHaskellDepends = [
+         base extra free mtl resourcet STMonadTrans symbol template-haskell
+         transformers
+       ];
+       testHaskellDepends = [
+         base extra free mtl resourcet STMonadTrans symbol template-haskell
+         TLT transformers
+       ];
+       description = "Translations of classic Truth Maintenance Systems";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "Baggins" = callPackage
     ({ mkDerivation, base, cairo, containers, mtl }:
      mkDerivation {
@@ -5186,9 +5214,13 @@ self: {
        pname = "EdisonAPI";
        version = "1.3.1";
        sha256 = "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm";
+       revision = "1";
+       editedCabalFile = "1nlw49ifjvav102pigksi46xg0zwnpfj29j3db0rr76hykikpipy";
        libraryHaskellDepends = [ base mtl ];
        description = "A library of efficient, purely-functional data structures (API)";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "EdisonCore" = callPackage
@@ -8142,6 +8174,8 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) pfstools;};
 
   "HERA" = callPackage
@@ -19773,8 +19807,8 @@ self: {
      }:
      mkDerivation {
        pname = "TLT";
-       version = "0.1.0.0";
-       sha256 = "125hfd8ig706zsizyn959qsjcadsgbiqq3dnygjxambvd2d135pr";
+       version = "0.1.0.1";
+       sha256 = "1b91ax19dfgi50rlkfvjjywzz6w998d5jsq5c0yz620rcdl7jrki";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -25032,14 +25066,12 @@ self: {
      }) {};
 
   "aeson-helper" = callPackage
-    ({ mkDerivation, aeson, base, text, unordered-containers, vector }:
+    ({ mkDerivation, aeson, base, text, vector }:
      mkDerivation {
        pname = "aeson-helper";
-       version = "0.1.0.0";
-       sha256 = "0s4gq827i2wyflcaxbhlr8f8svlw8szzmwax9d7vnxk9wy9fw8w0";
-       libraryHaskellDepends = [
-         aeson base text unordered-containers vector
-       ];
+       version = "0.2.0.0";
+       sha256 = "1im4grk23vkxgpa1fhhdg0ghg5j1z2qcwqvnpjk1s168993j2522";
+       libraryHaskellDepends = [ aeson base text vector ];
        description = "Aeson helper func";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -25350,8 +25382,8 @@ self: {
     ({ mkDerivation, aeson, aeson-helper, base, text }:
      mkDerivation {
        pname = "aeson-result";
-       version = "0.1.0.0";
-       sha256 = "10bnzh7vlh42sip0z7mvx5jxrsi7p2s3vqy55pfg2pb17czzly2y";
+       version = "0.2.0.0";
+       sha256 = "1sssh9k4fkmsn96m796f5j3p5a5sc8khqgjfj4pzi1r935368n1f";
        libraryHaskellDepends = [ aeson aeson-helper base text ];
        description = "API Result for aeson";
        license = lib.licenses.bsd3;
@@ -25710,6 +25742,7 @@ self: {
        libraryHaskellDepends = [ alg base ];
        description = "Affine spaces (generalized)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "affine-invariant-ensemble-mcmc" = callPackage
@@ -26507,22 +26540,27 @@ self: {
      }) {};
 
   "alfred-margaret" = callPackage
-    ({ mkDerivation, aeson, base, containers, deepseq, hashable, hspec
-     , hspec-expectations, primitive, QuickCheck, quickcheck-instances
-     , text, unordered-containers, vector
+    ({ mkDerivation, aeson, base, bytestring, containers, criterion
+     , deepseq, hashable, hspec, hspec-expectations, primitive
+     , QuickCheck, quickcheck-instances, text, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "alfred-margaret";
-       version = "1.1.1.0";
-       sha256 = "1z3plc2a6qnlx1cpb3icw44h3lbspaq2n7djl4pljhb4dm5bflbq";
+       version = "1.1.2.0";
+       sha256 = "02p9djplw187v4k7mi6mh6mjjs7gir0crghyxfkjqjrxk5s7f3j7";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         aeson base containers deepseq hashable primitive text
+         aeson base bytestring containers deepseq hashable primitive text
          unordered-containers vector
        ];
+       executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         base deepseq hspec hspec-expectations QuickCheck
+         base deepseq hspec hspec-expectations primitive QuickCheck
          quickcheck-instances text
        ];
+       benchmarkHaskellDepends = [ base criterion deepseq vector ];
        description = "Fast Aho-Corasick string searching";
        license = lib.licenses.bsd3;
      }) {};
@@ -26533,11 +26571,12 @@ self: {
        pname = "alg";
        version = "0.2.13.1";
        sha256 = "0764j2njb86qdskck3nvbrh61v99hqdhf8aj9irblm6smdlrv4l3";
-       revision = "1";
-       editedCabalFile = "0rm66k502d8la140ffawd38yaf0hr92h8x7xrq6krn6ypljwql0v";
+       revision = "2";
+       editedCabalFile = "1ffcn0ahv2jl6191baik5sqsh5mb61n1g4rgkiybd1mspgsmnnwy";
        libraryHaskellDepends = [ base dual util ];
        description = "Algebraic structures";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "alga" = callPackage
@@ -30788,8 +30827,8 @@ self: {
      }:
      mkDerivation {
        pname = "annotated-exception";
-       version = "0.2.0.1";
-       sha256 = "0lqr283ql82kfpd6rvznwj4p0h4176mg9xnb1wnzdxxbl9rn3xgl";
+       version = "0.2.0.2";
+       sha256 = "07njn6r1c3n1nblnlz5q2jrk5887vxxr2yzw4khqwayy0nmgbc7l";
        libraryHaskellDepends = [
          base containers safe-exceptions text unliftio-core
        ];
@@ -30898,6 +30937,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ansi-terminal_0_11_3" = callPackage
+    ({ mkDerivation, base, colour }:
+     mkDerivation {
+       pname = "ansi-terminal";
+       version = "0.11.3";
+       sha256 = "0swy5alj4xvfsnjrfiwxdlgzdnggjy6lgbfwph2d7c8zyzn67mgl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base colour ];
+       description = "Simple ANSI terminal support, with Windows compatibility";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ansi-terminal-game" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, bytestring, cereal
      , clock, containers, exceptions, hspec, linebreak, mintty, mtl
@@ -32342,6 +32395,44 @@ self: {
        broken = true;
      }) {};
 
+  "appendful" = callPackage
+    ({ mkDerivation, aeson, base, containers, deepseq, mtl, validity
+     , validity-containers
+     }:
+     mkDerivation {
+       pname = "appendful";
+       version = "0.0.0.0";
+       sha256 = "1wb2abnr2k7d7bgvh3zjyg55s1236cgnz1idldpxcrib30nr01l8";
+       libraryHaskellDepends = [
+         aeson base containers deepseq mtl validity validity-containers
+       ];
+       license = lib.licenses.mit;
+     }) {};
+
+  "appendful-persistent" = callPackage
+    ({ mkDerivation, appendful, base, containers, genvalidity
+     , genvalidity-appendful, genvalidity-hspec, genvalidity-persistent
+     , hspec, microlens, monad-logger, mtl, path, path-io, persistent
+     , persistent-sqlite, persistent-template, QuickCheck, text
+     , validity
+     }:
+     mkDerivation {
+       pname = "appendful-persistent";
+       version = "0.0.0.0";
+       sha256 = "0h0hdjkkrz8ckhs8r8n0vm983513lahi9bd89i1hyqlycrckbphl";
+       libraryHaskellDepends = [
+         appendful base containers microlens persistent
+       ];
+       testHaskellDepends = [
+         appendful base containers genvalidity genvalidity-appendful
+         genvalidity-hspec genvalidity-persistent hspec monad-logger mtl
+         path path-io persistent persistent-sqlite persistent-template
+         QuickCheck text validity
+       ];
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "appendmap" = callPackage
     ({ mkDerivation, base, containers, hspec, QuickCheck }:
      mkDerivation {
@@ -34059,8 +34150,10 @@ self: {
      }:
      mkDerivation {
        pname = "ascii";
-       version = "1.1.2.0";
-       sha256 = "17yh71i28m1m4hnlbd6sp234kwqpgsdpn4bmv2g283vq37mkn09n";
+       version = "1.1.3.0";
+       sha256 = "0pzyamd64mj8sx5a43gi7yjdy5dx6k9648ihbgsri8k8srlhm0c8";
+       revision = "1";
+       editedCabalFile = "0lxjb940qm86i1b2i9dgyj8874y49spwmkm5ninxd5hs7g9manll";
        libraryHaskellDepends = [
          ascii-case ascii-char ascii-group ascii-numbers ascii-predicates
          ascii-superset ascii-th base bytestring text
@@ -34071,15 +34164,15 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ascii_1_2_0_0" = callPackage
+  "ascii_1_2_2_0" = callPackage
     ({ mkDerivation, ascii-case, ascii-char, ascii-group, ascii-numbers
      , ascii-predicates, ascii-superset, ascii-th, base, bytestring
      , hedgehog, text
      }:
      mkDerivation {
        pname = "ascii";
-       version = "1.2.0.0";
-       sha256 = "1m043s6030mwz4gam83nb1dyxsbkaar6i7cdvzjfgawv9gdpwkbb";
+       version = "1.2.2.0";
+       sha256 = "1s6xm2b0g1jcbg8xfkhysmk4rhsx2342dd980md827rnfc5l4w80";
        libraryHaskellDepends = [
          ascii-case ascii-char ascii-group ascii-numbers ascii-predicates
          ascii-superset ascii-th base bytestring text
@@ -34289,22 +34382,6 @@ self: {
      }:
      mkDerivation {
        pname = "ascii-superset";
-       version = "1.0.1.12";
-       sha256 = "04kp4v0m1z1sh78862qryhkq1a5jzv1hdkyyrsv2m7caqkh8rn2c";
-       libraryHaskellDepends = [
-         ascii-char base bytestring hashable text
-       ];
-       testHaskellDepends = [ ascii-char base hedgehog text ];
-       description = "Representing ASCII with refined supersets";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "ascii-superset_1_0_1_13" = callPackage
-    ({ mkDerivation, ascii-char, base, bytestring, hashable, hedgehog
-     , text
-     }:
-     mkDerivation {
-       pname = "ascii-superset";
        version = "1.0.1.13";
        sha256 = "0pf1awrx0bfpgyc96r1ycybgpy801iqxr8qf3vp9pvbnfava1v8s";
        libraryHaskellDepends = [
@@ -34313,7 +34390,6 @@ self: {
        testHaskellDepends = [ ascii-char base hedgehog text ];
        description = "Representing ASCII with refined supersets";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ascii-table" = callPackage
@@ -36342,27 +36418,25 @@ self: {
      , http-types, language-bash, megaparsec, network-uri
      , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
      , rio, scheduler, stm, tasty, tasty-hunit, text, time, transformers
-     , typed-process, versions
+     , typed-process, unix, versions
      }:
      mkDerivation {
        pname = "aura";
-       version = "3.2.7";
-       sha256 = "07ya2vd94grh6fs7k5kq25yh95xfk5mdqcgqq84anjz0phprq5z3";
-       revision = "1";
-       editedCabalFile = "16z28nkj5ladbbrg2h5sc1qcl3335g3i37x02h0by8bpqbkld6xr";
+       version = "3.2.8";
+       sha256 = "1frvim9asp0849g7f5c1hcjkr82c9w27im479vmk6n4zzssvzach";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson algebraic-graphs aur base bytestring containers filepath
          hashable http-client http-types language-bash megaparsec
          network-uri prettyprinter prettyprinter-ansi-terminal rio scheduler
-         stm text time transformers typed-process versions
+         stm text time transformers typed-process unix versions
        ];
        executableHaskellDepends = [
          aeson aur base bytestring containers http-client http-client-tls
          megaparsec optparse-applicative prettyprinter
          prettyprinter-ansi-terminal rio scheduler text transformers
-         typed-process versions
+         typed-process unix versions
        ];
        testHaskellDepends = [
          base bytestring containers megaparsec rio tasty tasty-hunit text
@@ -36523,8 +36597,8 @@ self: {
      }:
      mkDerivation {
        pname = "autodocodec";
-       version = "0.0.1.0";
-       sha256 = "0g0k1c76nfkw8l5x6isz6fkci9bjn67qdpmjksf4qdfla28v35ha";
+       version = "0.0.1.1";
+       sha256 = "12wvqn2hqfi4fh4w53qs137x5cdbqwvlksbncnbcnzdlad7ncfqa";
        libraryHaskellDepends = [
          aeson base bytestring containers hashable mtl scientific text time
          unordered-containers validity validity-scientific vector
@@ -36561,8 +36635,8 @@ self: {
      }:
      mkDerivation {
        pname = "autodocodec-schema";
-       version = "0.1.0.0";
-       sha256 = "0qk1fjb47whpbnj2w776sk5mnb1m4z1dq6fmxhvjih3xsrpjq7s3";
+       version = "0.1.0.1";
+       sha256 = "1nzwbj3r5gps2lnriig38h1y51m4pd997z65kpsmxzcbyakdxjnd";
        libraryHaskellDepends = [
          aeson autodocodec base containers mtl text unordered-containers
          validity validity-aeson validity-containers validity-text
@@ -36596,8 +36670,8 @@ self: {
      }:
      mkDerivation {
        pname = "autodocodec-yaml";
-       version = "0.1.0.0";
-       sha256 = "1wa51mas9jxzhig651i9r21fxahk8rdwg7waxx4ilayzdfhaic4b";
+       version = "0.1.0.1";
+       sha256 = "1js3w0r7nrvl70vkkwblx8zqax22idblpdzs1ljr4x0jiwwji8bs";
        libraryHaskellDepends = [
          autodocodec autodocodec-schema base bytestring containers path
          path-io safe-coloured-text scientific text unordered-containers
@@ -38839,10 +38913,8 @@ self: {
     ({ mkDerivation, barbies, base, split, template-haskell }:
      mkDerivation {
        pname = "barbies-th";
-       version = "0.1.9";
-       sha256 = "1brikm7qr2yi3426vgwjjxjrvw060sb0v7jbxrhazjps28f6aa3n";
-       revision = "1";
-       editedCabalFile = "0iij1y72q28wvj8hfx000cpckl1wlcgj050380lx526cmwavy151";
+       version = "0.1.10";
+       sha256 = "0h16ywwf6dgazwnsqxl82l28vjx51gmh2xn8idlvc7kkl8ylgq54";
        libraryHaskellDepends = [ barbies base split template-haskell ];
        testHaskellDepends = [ barbies base ];
        description = "Create strippable HKD via TH";
@@ -40546,8 +40618,8 @@ self: {
      }:
      mkDerivation {
        pname = "bearriver";
-       version = "0.13.3";
-       sha256 = "0qakz6fidvhg121j442lsvcz9va0xa0rks41qj293mnrs8savv0p";
+       version = "0.13.4";
+       sha256 = "1c2w0ll84mrzkwg3314pnmasgaql0yjhrb5wy7zlm18s3bgpcysb";
        libraryHaskellDepends = [
          base dunai MonadRandom mtl simple-affine-space transformers
        ];
@@ -41297,6 +41369,7 @@ self: {
        libraryHaskellDepends = [ base category ];
        description = "Bifunctors";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bifunctors" = callPackage
@@ -43054,6 +43127,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "binrep" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cereal, refined
+     , refined-with, text
+     }:
+     mkDerivation {
+       pname = "binrep";
+       version = "0.1.0";
+       sha256 = "10b65qdk4h96q44bl6ic8c4v2lfkr3vsm15zpia0dlikxnibvb8i";
+       libraryHaskellDepends = [
+         aeson base bytestring cereal refined refined-with text
+       ];
+       description = "Encode binary representations via types";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "bins" = callPackage
     ({ mkDerivation, base, containers, finite-typelits
      , ghc-typelits-knownnat, ghc-typelits-natnormalise, math-functions
@@ -49597,6 +49686,35 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) bzip2;};
 
+  "bzlib-conduit-jappie" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bytestring, bzip2, conduit
+     , data-default-class, hspec, mtl, random, resourcet
+     }:
+     mkDerivation {
+       pname = "bzlib-conduit-jappie";
+       version = "0.3.0.3";
+       sha256 = "10fvvcv205r45yk02fi4cyqq1r7f98hl5p4psfr3xixlzsyh6n8k";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bindings-DSL bytestring conduit data-default-class mtl
+         resourcet
+       ];
+       librarySystemDepends = [ bzip2 ];
+       libraryPkgconfigDepends = [ bzip2 ];
+       testHaskellDepends = [
+         base bindings-DSL bytestring conduit data-default-class hspec mtl
+         random resourcet
+       ];
+       benchmarkHaskellDepends = [
+         base bindings-DSL bytestring conduit data-default-class mtl
+         resourcet
+       ];
+       description = "Streaming compression/decompression via conduits";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {inherit (pkgs) bzip2;};
+
   "c-dsl" = callPackage
     ({ mkDerivation, base, language-c }:
      mkDerivation {
@@ -49840,6 +49958,7 @@ self: {
        libraryHaskellDepends = [ alg base ];
        description = "Cellular Automata";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ca-patterns" = callPackage
@@ -50170,6 +50289,19 @@ self: {
        broken = true;
      }) {};
 
+  "cabal-detailed-quickcheck" = callPackage
+    ({ mkDerivation, base, Cabal, QuickCheck }:
+     mkDerivation {
+       pname = "cabal-detailed-quickcheck";
+       version = "0.1.1.3";
+       sha256 = "1zy2b86ns5jhrl6z6qw6g1zq5nv3lpf4askpr40l9gid61h6mr01";
+       libraryHaskellDepends = [ base Cabal QuickCheck ];
+       description = "QuickCheck for Cabal tests";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cabal-dev" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cabal-install, containers
      , directory, filepath, HTTP, mtl, network, pretty, process, setenv
@@ -51998,6 +52130,27 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "calligraphy" = callPackage
+    ({ mkDerivation, array, base, containers, directory, enummapset
+     , filepath, ghc, hspec, HUnit, mtl, optparse-applicative, process
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "calligraphy";
+       version = "0.1.2";
+       sha256 = "08kiqp1z60hbfxm5s2d0hdr516gbq8fqyz0ddlr3vk0g9npm3nj2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base containers directory enummapset filepath ghc mtl
+         optparse-applicative process text
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base containers hspec HUnit QuickCheck ];
+       description = "HIE-based Haskell call graph and source code visualizer";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "camfort" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, fgl, filepath, flint, fortran-src
@@ -53708,9 +53861,12 @@ self: {
        pname = "category";
        version = "0.2.5.0";
        sha256 = "0iya7q3b1z1bxv4amsibmc1lrmf7dng76nzcnanwy300jm1n42w7";
+       revision = "1";
+       editedCabalFile = "13yj1v414llr5cxdd5f3wdy75si2hj7f3k1f6w7kwj84gbrii5rr";
        libraryHaskellDepends = [ alg base dual transformers ];
        description = "Categorical types and classes";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "category-extras" = callPackage
@@ -53980,10 +54136,8 @@ self: {
      }:
      mkDerivation {
        pname = "cborg";
-       version = "0.2.6.0";
-       sha256 = "1mvsavi8ngsvmcvlmaygsnygf7hn8kdqdhfff91n1zajgpz577h6";
-       revision = "1";
-       editedCabalFile = "0ry5p8cnmm772m3z074azh1ldxvq851dmffsp2b7vljjhzd9j4sc";
+       version = "0.2.7.0";
+       sha256 = "076656vq2qabhdnwzifc5gsj20vwh69vhy19dh0qa1f2lqxrzfvq";
        libraryHaskellDepends = [
          array base bytestring containers deepseq ghc-bignum ghc-prim half
          primitive text
@@ -54004,8 +54158,8 @@ self: {
      }:
      mkDerivation {
        pname = "cborg-json";
-       version = "0.2.3.0";
-       sha256 = "1nsind3yiix6mb3xgwcnb267d8w9k0dvfnj78jc58gybx5hl9n53";
+       version = "0.2.4.0";
+       sha256 = "1h5i8sf1q1xr4c2y945vanj6n1wkkag1vflfjys7ygbgddbcq7rv";
        libraryHaskellDepends = [
          aeson aeson-pretty base cborg scientific text unordered-containers
          vector
@@ -54039,8 +54193,8 @@ self: {
        pname = "cci";
        version = "0.3.1";
        sha256 = "0pvap67fn9kmjvn2qqq3x99k3mzrrsnb6q6fhawvyxv8drihsfc7";
-       revision = "1";
-       editedCabalFile = "11s00cbbimpglashmp1vmw1xhd4y2g1spn01ajvx3sw6wdyh614n";
+       revision = "2";
+       editedCabalFile = "123jmn7lgz1hmkygjzqckffm77783pfzddnjyvvv7rsnpgl4ckqn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ];
@@ -57365,8 +57519,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-shake";
-       version = "0.2.2";
-       sha256 = "10gj6764qhdy6ki0dyy75ycpj5il26jgxxjcr0xy9kkixi3wgsrb";
+       version = "0.3.0";
+       sha256 = "1iprssnpxykh9fjgckjnh5qlmnf1drgzjjfcq9fxyqs755y38vbi";
        libraryHaskellDepends = [
          aeson base bytestring clash-ghc clash-lib clash-prelude directory
          shake split stache text unordered-containers
@@ -57673,8 +57827,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks";
-       version = "0.28.0";
-       sha256 = "11cr4mql6jhskhk1hg2c7kkvv005bha7y9b3ccpgy1147grnp00m";
+       version = "0.28.0.1";
+       sha256 = "1h18gh6042qq7qphiqdj9ww9k2pghj3dzz33rdh6w4jlx967w6bw";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson aeson-qq attoparsec base blaze-html bytestring
@@ -57847,8 +58001,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-page";
-       version = "0.4.3.25";
-       sha256 = "0ii9984y7792i7kiwnqmgn9mfyky2k9dkx3fnzkirypqbxyri92s";
+       version = "0.4.3.26";
+       sha256 = "1h348cgxrvj6p4kd4vzfkdjvx592p7yb16mmxp27k61jvncg1vjw";
        libraryHaskellDepends = [
          acid-state aeson attoparsec base clckwrks containers directory
          filepath happstack-hsp happstack-server hsp hsx2hs ixset mtl
@@ -57872,8 +58026,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-redirect";
-       version = "0.0.1.2";
-       sha256 = "1vb0knjy0qkbpzni10bgvznnjxc7bv7pbp1l9frdffdsrssgyx8w";
+       version = "0.0.1.3";
+       sha256 = "15qcqrrznx7wz0anfwvs0rr3jl51ifcb0gxlr236c4c4xx8wfhna";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -57894,8 +58048,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-theme-bootstrap";
-       version = "0.4.3.2";
-       sha256 = "0ag94kc0csjnh88vw6ljifv6cqqwc8wizyizqk0mj4qpp73z6qd2";
+       version = "0.4.3.5";
+       sha256 = "07gms8mcp4lbi6fqxanzg2z7ybjhisxaal7yix3039glh54d2gv3";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base clckwrks happstack-authenticate hsp hsx-jmacro hsx2hs jmacro
@@ -64877,6 +65031,7 @@ self: {
        libraryHaskellDepends = [ base category unconstrained ];
        description = "Reified constraints";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "constraint-classes" = callPackage
@@ -64911,6 +65066,7 @@ self: {
        libraryHaskellDepends = [ base category constraint reflection ];
        description = "Constraint reflection";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "constraint-tuples" = callPackage
@@ -65272,14 +65428,14 @@ self: {
      }) {};
 
   "context" = callPackage
-    ({ mkDerivation, async, base, containers, ghc-prim, hspec
-     , hspec-discover
+    ({ mkDerivation, async, base, containers, exceptions, ghc-prim
+     , hspec, hspec-discover
      }:
      mkDerivation {
        pname = "context";
-       version = "0.1.1.1";
-       sha256 = "0zn8hnyf04q7brchll3xnk0ifxadl050wric191irmnl29m6p5k8";
-       libraryHaskellDepends = [ base containers ];
+       version = "0.2.0.0";
+       sha256 = "1s915v2wbmhwp3qwk5p7n1iz510wfdmi4nq2zg1m04q7dpzhl0xz";
+       libraryHaskellDepends = [ base containers exceptions ];
        testHaskellDepends = [ async base ghc-prim hspec ];
        testToolDepends = [ hspec-discover ];
        description = "Thread-indexed, nested contexts";
@@ -65339,8 +65495,8 @@ self: {
      }:
      mkDerivation {
        pname = "context-http-client";
-       version = "0.1.0.0";
-       sha256 = "0ad917jnzqd2idzh6a5j9nvjf2pg7l968vmn38cxgh9hfq3yhwm7";
+       version = "0.2.0.0";
+       sha256 = "0d7hdqcvfay8m1inbl19z4hj8qqi2a00qsxh7n7s03075rd8wzs0";
        libraryHaskellDepends = [ base context http-client ];
        testHaskellDepends = [
          async base bytestring case-insensitive context hspec http-client
@@ -65352,12 +65508,14 @@ self: {
      }) {};
 
   "context-resource" = callPackage
-    ({ mkDerivation, async, base, context, hspec, hspec-discover }:
+    ({ mkDerivation, async, base, context, exceptions, hspec
+     , hspec-discover
+     }:
      mkDerivation {
        pname = "context-resource";
-       version = "0.1.0.0";
-       sha256 = "0695m9hnx8grfmyy7mzd6n3426qc18sh14hy6glhr5nwj9c4k4c2";
-       libraryHaskellDepends = [ base context ];
+       version = "0.2.0.0";
+       sha256 = "0jjy6i6vcg3b9chrkw7l2yza8kdxl8d4bdlrqp0anpaxwm1q34da";
+       libraryHaskellDepends = [ base context exceptions ];
        testHaskellDepends = [ async base context hspec ];
        testToolDepends = [ hspec-discover ];
        description = "Thread-safe, pool-compatible resource provider";
@@ -65385,8 +65543,8 @@ self: {
      }:
      mkDerivation {
        pname = "context-wai-middleware";
-       version = "0.1.0.0";
-       sha256 = "0bisqsngccddkamf60qyk4h9w4w80ppks51i4p9bl39kmf7hd65l";
+       version = "0.2.0.0";
+       sha256 = "017zwjq4kl3jjmrdp0x6zxbsd9k5xnvcgf4r1cjk7cnlch36cwmn";
        libraryHaskellDepends = [ base context wai ];
        testHaskellDepends = [
          async base bytestring case-insensitive context hspec http-client
@@ -66384,6 +66542,24 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "core-data_0_3_2_2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, core-text
+     , hashable, prettyprinter, scientific, text, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "core-data";
+       version = "0.3.2.2";
+       sha256 = "000ffh2lrv5yl9gybx3i8gp66f1vd1w6mhih8bipxf7fzgsn6pik";
+       libraryHaskellDepends = [
+         aeson base bytestring containers core-text hashable prettyprinter
+         scientific text unordered-containers vector
+       ];
+       description = "Convenience wrappers around common data structures and encodings";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "core-haskell" = callPackage
     ({ mkDerivation, base, haskeline, haskell-src-exts, hint }:
      mkDerivation {
@@ -66422,6 +66598,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "core-program_0_4_6_1" = callPackage
+    ({ mkDerivation, async, base, bytestring, chronologique, core-data
+     , core-text, directory, exceptions, filepath, fsnotify, hashable
+     , hourglass, mtl, prettyprinter, safe-exceptions, stm
+     , template-haskell, terminal-size, text, text-short, transformers
+     , typed-process, unix
+     }:
+     mkDerivation {
+       pname = "core-program";
+       version = "0.4.6.1";
+       sha256 = "0vjrffccnh7vl86mfm7i4rfwk9pzsg47g0gd4pg6fsdcs6118amq";
+       libraryHaskellDepends = [
+         async base bytestring chronologique core-data core-text directory
+         exceptions filepath fsnotify hashable hourglass mtl prettyprinter
+         safe-exceptions stm template-haskell terminal-size text text-short
+         transformers typed-process unix
+       ];
+       description = "Opinionated Haskell Interoperability";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "core-telemetry" = callPackage
     ({ mkDerivation, async, base, bytestring, chronologique, core-data
      , core-program, core-text, exceptions, http-streams, io-streams
@@ -66441,6 +66639,26 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "core-telemetry_0_2_0_1" = callPackage
+    ({ mkDerivation, async, base, bytestring, chronologique, core-data
+     , core-program, core-text, exceptions, http-streams, io-streams
+     , mtl, network-info, random, safe-exceptions, scientific, stm
+     , template-haskell, text, unix
+     }:
+     mkDerivation {
+       pname = "core-telemetry";
+       version = "0.2.0.1";
+       sha256 = "1l302ncnv1w3p84v16acxvkyr6kvrr6385i7qdrmqi0a8yfwizb0";
+       libraryHaskellDepends = [
+         async base bytestring chronologique core-data core-program
+         core-text exceptions http-streams io-streams mtl network-info
+         random safe-exceptions scientific stm template-haskell text unix
+       ];
+       description = "Advanced telemetry";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "core-text" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, colour, deepseq
      , fingertree, hashable, prettyprinter, template-haskell, text
@@ -66458,6 +66676,24 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "core-text_0_3_7_1" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, colour, deepseq
+     , fingertree, hashable, prettyprinter, template-haskell, text
+     , text-short
+     }:
+     mkDerivation {
+       pname = "core-text";
+       version = "0.3.7.1";
+       sha256 = "11l89p9fn05l8h7dx6mpw4mhwhcxhdl2879lj628bxjal3f2fys3";
+       libraryHaskellDepends = [
+         ansi-terminal base bytestring colour deepseq fingertree hashable
+         prettyprinter template-haskell text text-short
+       ];
+       description = "A rope type based on a finger tree over UTF-8 fragments";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "core-warn" = callPackage
     ({ mkDerivation, base, containers, containers-good-graph, ghc, syb
      }:
@@ -66488,6 +66724,7 @@ self: {
        ];
        description = "Interoperability with Servant";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "core-webserver-warp" = callPackage
@@ -66497,14 +66734,16 @@ self: {
      }:
      mkDerivation {
        pname = "core-webserver-warp";
-       version = "0.1.1.0";
-       sha256 = "0yfd2037bq6vljixkhrk2v2mlywj2br16pf5dpz2vahjpk0079yj";
+       version = "0.1.1.3";
+       sha256 = "1yjy5y0lvwkjyribhqavcda57s30jc7xjacng2g3p256kfp7mc2r";
        libraryHaskellDepends = [
          async base bytestring core-data core-program core-telemetry
          core-text http-types http2 mtl safe-exceptions vault wai warp
        ];
        description = "Interoperability with Wai/Warp";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "corebot-bliki" = callPackage
@@ -66763,6 +67002,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "countable_1_2" = callPackage
+    ({ mkDerivation, base, bytestring, silently, tasty, tasty-golden
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "countable";
+       version = "1.2";
+       sha256 = "119v5ms4nyxikfwlmz71qk9gqp53zkpyxc6wm3qp5bm9b6n1ff47";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base bytestring silently tasty tasty-golden tasty-hunit
+       ];
+       description = "Countable, Searchable, Finite, Empty classes";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "countable-inflections" = callPackage
     ({ mkDerivation, base, bytestring, exceptions, hspec, pcre-utils
      , QuickCheck, regex-pcre-builtin, text
@@ -67221,8 +67477,8 @@ self: {
      }:
      mkDerivation {
        pname = "cql";
-       version = "4.0.3";
-       sha256 = "1b6bqhg3rf2kk7i81l4vsgyp7zxiycifdrsj8qa4sqx78m72dmxh";
+       version = "4.0.4";
+       sha256 = "04s947r9wsqamqx3sq0h41l0mwxcw7pqc11jlrj8r94wgiikpkh2";
        libraryHaskellDepends = [
          base bytestring cereal containers Decimal iproute network
          template-haskell text time transformers uuid vector
@@ -69519,6 +69775,24 @@ self: {
        broken = true;
      }) {};
 
+  "csv-sip" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers, hspec, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "csv-sip";
+       version = "0.1.0";
+       sha256 = "1m33kw4rgzq7ivhr44giagp0b2xx0h9q0ipidll8xrrklvxzkcsc";
+       libraryHaskellDepends = [
+         base bytestring conduit containers text transformers
+       ];
+       testHaskellDepends = [
+         base bytestring conduit containers hspec text transformers
+       ];
+       description = "extracts data from a CSV file";
+       license = lib.licenses.gpl3Plus;
+     }) {};
+
   "csv-table" = callPackage
     ({ mkDerivation, base, containers, csv, filepath, process }:
      mkDerivation {
@@ -76028,6 +76302,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "derivingvia-extras" = callPackage
+    ({ mkDerivation, base, hashable }:
+     mkDerivation {
+       pname = "derivingvia-extras";
+       version = "0.1.0.0";
+       sha256 = "11fsx8pbxqp968pgvms6qzw5x871r3c94m812nz81fpqkm6mv5cz";
+       libraryHaskellDepends = [ base hashable ];
+       description = "DerivingVia extras - Miscellaneous /via/ types";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "derp" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -77132,6 +77417,26 @@ self: {
        broken = true;
      }) {};
 
+  "dhall-text-shell" = callPackage
+    ({ mkDerivation, base, containers, dhall, filepath
+     , optparse-applicative, process, text
+     }:
+     mkDerivation {
+       pname = "dhall-text-shell";
+       version = "0.2.0.0";
+       sha256 = "10i1i7fk9y5hsxjjb87jbfnprg7nkrvpax6kd4blfphpzs2mpz5b";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers dhall filepath optparse-applicative process text
+       ];
+       executableHaskellDepends = [
+         base containers dhall filepath optparse-applicative process text
+       ];
+       description = "Render dhall text with shell commands as function arguments";
+       license = lib.licenses.mit;
+     }) {};
+
   "dhall-to-cabal" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, contravariant
      , dhall, Diff, directory, filepath, microlens, optparse-applicative
@@ -77396,6 +77701,26 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "diagnose" = callPackage
+    ({ mkDerivation, base, data-default, hashable, prettyprinter
+     , prettyprinter-ansi-terminal, unordered-containers, wcwidth
+     }:
+     mkDerivation {
+       pname = "diagnose";
+       version = "1.8.2";
+       sha256 = "11hyd08aixx795mf79ybzkz59s68v59rdl6lkyjvzn06sh1fvvdc";
+       libraryHaskellDepends = [
+         base data-default hashable prettyprinter
+         prettyprinter-ansi-terminal unordered-containers wcwidth
+       ];
+       testHaskellDepends = [
+         base data-default hashable prettyprinter
+         prettyprinter-ansi-terminal unordered-containers wcwidth
+       ];
+       description = "Beautiful error reporting done easily";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "diagrams" = callPackage
     ({ mkDerivation, diagrams-contrib, diagrams-core, diagrams-lib
      , diagrams-svg
@@ -83602,8 +83927,8 @@ self: {
      }:
      mkDerivation {
        pname = "dunai";
-       version = "0.8.1";
-       sha256 = "1zijhrk50cyyrb6jqlf8q0hh87lbfy5k9iy6w2az66nm89ckxrv9";
+       version = "0.8.2";
+       sha256 = "1hcjzd6zki10lkh6f11naxqrnkdmiqm4hwyj5acj4naqkakc6mmp";
        libraryHaskellDepends = [
          base MonadRandom simple-affine-space transformers transformers-base
        ];
@@ -83633,8 +83958,8 @@ self: {
     ({ mkDerivation, base, dunai, normaldistribution, QuickCheck }:
      mkDerivation {
        pname = "dunai-test";
-       version = "0.8.1";
-       sha256 = "1iy989wz4jnn9g892p7n0f1hj2hd61a01vxnqz5fr0yppbsckp3h";
+       version = "0.8.2";
+       sha256 = "0cicvzp604945mmlnrxwkkcyl01id933jrnnrv3y0c5xqlly2y9r";
        libraryHaskellDepends = [
          base dunai normaldistribution QuickCheck
        ];
@@ -90357,6 +90682,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "exact-pi_0_5_0_2" = callPackage
+    ({ mkDerivation, base, numtype-dk, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "exact-pi";
+       version = "0.5.0.2";
+       sha256 = "1xmc3vlzfccrn5szglnxx13akxw2xacgl40kqh0kiw82d58x47a4";
+       libraryHaskellDepends = [ base numtype-dk ];
+       testHaskellDepends = [
+         base numtype-dk QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Exact rational multiples of pi (and integer powers of pi)";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "exact-real" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, checkers, criterion
      , doctest, groups, integer-gmp, QuickCheck, random, tasty
@@ -90431,6 +90773,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "exception-hierarchy_0_1_0_7" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "exception-hierarchy";
+       version = "0.1.0.7";
+       sha256 = "14kk0rync05rq2adx5lk59y56h97s0yv7mqfn2grhhwqb10maqj0";
+       libraryHaskellDepends = [ base template-haskell ];
+       description = "Exception type hierarchy with TemplateHaskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "exception-mailer" = callPackage
     ({ mkDerivation, base, hslogger, mime-mail, text }:
      mkDerivation {
@@ -90960,6 +91314,7 @@ self: {
        libraryHaskellDepends = [ base base-unicode-symbols util ];
        description = "Dependent sum type";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "exist-instances" = callPackage
@@ -90975,6 +91330,7 @@ self: {
        ];
        description = "Instances for \"exist\" package (requires more language extensions and dependencies)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "existential" = callPackage
@@ -91803,6 +92159,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "extensioneer" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, hpack, mtl
+     , optparse-applicative, yaml
+     }:
+     mkDerivation {
+       pname = "extensioneer";
+       version = "0.1.0.0";
+       sha256 = "02n7ajra4vx63wjjj4dj54md87hk0cjz61bh6m3ql37h97iqsiqx";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base Cabal containers directory hpack mtl optparse-applicative yaml
+       ];
+       description = "Inspect extensions in cabal and hpack files";
+       license = lib.licenses.mit;
+     }) {};
+
   "extensions" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, colourista, containers
      , directory, filepath, ghc-boot-th, hedgehog, hspec, hspec-hedgehog
@@ -92258,6 +92631,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Lists with fair choice";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fair-predicates" = callPackage
@@ -93145,8 +93519,8 @@ self: {
      }:
      mkDerivation {
        pname = "fb";
-       version = "2.1.1";
-       sha256 = "0j2rckrv1aksfp2wyiyffqg40jl927vs97fk2lyzkscz673jd9s9";
+       version = "2.1.1.1";
+       sha256 = "18hqmhfzniydmxwi8b21iz04pc6x8hdy8pj6960ihrk20ddkih3d";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring conduit conduit-extra cryptonite
          data-default http-client http-conduit http-types memory
@@ -93217,8 +93591,8 @@ self: {
      }:
      mkDerivation {
        pname = "fbrnch";
-       version = "1.0.0";
-       sha256 = "1j5whbx72q7jvjkv952y8qmgqkm19dprn6p1glvgsck8nhmffkkd";
+       version = "1.1";
+       sha256 = "11vhm176dm2i4zy7ipg20rsmp7rdabq8gh29byflqxm5s5wp86y6";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -93313,16 +93687,20 @@ self: {
      }) {};
 
   "fcf-containers" = callPackage
-    ({ mkDerivation, base, doctest, first-class-families, Glob }:
+    ({ mkDerivation, base, doctest, first-class-families, ghc-prim
+     , Glob, mtl
+     }:
      mkDerivation {
        pname = "fcf-containers";
-       version = "0.6.0";
-       sha256 = "09sr1xqdjzfk5gysd7hi66xadwcfrjq4q3vakmdilc14lw833wgp";
+       version = "0.7.0";
+       sha256 = "0ai2hmcva84z29jxr3inngnicx0wn05vnh9lw460fcfckdfxf5xf";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base first-class-families ];
+       libraryHaskellDepends = [ base first-class-families ghc-prim mtl ];
        executableHaskellDepends = [ base first-class-families ];
-       testHaskellDepends = [ base doctest first-class-families Glob ];
+       testHaskellDepends = [
+         base doctest first-class-families ghc-prim Glob
+       ];
        description = "Data structures and algorithms for first-class-families";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -97605,6 +97983,7 @@ self: {
        libraryHaskellDepends = [ base transformers util ];
        description = "Foldable types with at least 1 element";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "foldl" = callPackage
@@ -103836,8 +104215,8 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-aeson";
-       version = "1.0.0.0";
-       sha256 = "1k28vl7i2idv44962wspvhpqpfznj52ckd3g7h580894vghhwi89";
+       version = "1.0.0.1";
+       sha256 = "0j5sms6f3ivxn981gzqsyhks2q2fws8xdbnnffb209dr0afg00b1";
        libraryHaskellDepends = [
          aeson base genvalidity genvalidity-scientific genvalidity-text
          genvalidity-unordered-containers genvalidity-vector QuickCheck
@@ -103854,6 +104233,32 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "genvalidity-appendful" = callPackage
+    ({ mkDerivation, appendful, base, containers, criterion
+     , genvalidity, genvalidity-containers, genvalidity-criterion
+     , genvalidity-hspec, genvalidity-hspec-aeson, genvalidity-time
+     , genvalidity-uuid, hspec, mtl, pretty-show, QuickCheck, random
+     , time, uuid
+     }:
+     mkDerivation {
+       pname = "genvalidity-appendful";
+       version = "0.0.0.0";
+       sha256 = "0sri0xdaqxpaapjspq4gipmvh7az3dilbzd4v5ihgcsjfk7kxmaj";
+       libraryHaskellDepends = [
+         appendful base containers genvalidity genvalidity-containers
+         genvalidity-time QuickCheck
+       ];
+       testHaskellDepends = [
+         appendful base containers genvalidity-hspec genvalidity-hspec-aeson
+         genvalidity-uuid hspec mtl pretty-show QuickCheck random time uuid
+       ];
+       benchmarkHaskellDepends = [
+         appendful base criterion genvalidity-criterion
+       ];
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "genvalidity-bytestring" = callPackage
     ({ mkDerivation, base, bytestring, criterion, deepseq, genvalidity
      , genvalidity-criterion, genvalidity-hspec, hspec, QuickCheck
@@ -103879,6 +104284,29 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "genvalidity-case-insensitive" = callPackage
+    ({ mkDerivation, base, case-insensitive, criterion, genvalidity
+     , genvalidity-criterion, genvalidity-hspec, hspec, QuickCheck
+     , validity-case-insensitive
+     }:
+     mkDerivation {
+       pname = "genvalidity-case-insensitive";
+       version = "0.0.0.0";
+       sha256 = "1lmg44ihas98h02121bv1wy59k0za65nsgb64nh0al5bs6m7vsrl";
+       libraryHaskellDepends = [
+         base case-insensitive genvalidity validity-case-insensitive
+       ];
+       testHaskellDepends = [
+         base case-insensitive genvalidity-hspec hspec
+       ];
+       benchmarkHaskellDepends = [
+         base case-insensitive criterion genvalidity genvalidity-criterion
+         QuickCheck
+       ];
+       description = "GenValidity support for case-insensitive";
+       license = lib.licenses.mit;
+     }) {};
+
   "genvalidity-containers" = callPackage
     ({ mkDerivation, base, containers, criterion, genvalidity
      , genvalidity-criterion, genvalidity-hspec, genvalidity-property
@@ -105304,25 +105732,6 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-events";
-       version = "0.17.0.2";
-       sha256 = "0dkzxpfiqpd1i1lhrssp1b242111228ap113iavarr9hb7y8rl72";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base binary bytestring containers text vector
-       ];
-       executableHaskellDepends = [ base containers ];
-       testHaskellDepends = [ base ];
-       description = "Library and tool for parsing .eventlog files from GHC";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "ghc-events_0_17_0_3" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, containers, text
-     , vector
-     }:
-     mkDerivation {
-       pname = "ghc-events";
        version = "0.17.0.3";
        sha256 = "0m50x2ycv43d7yzwksbs1zc11wlyiszjz662fj47v9r7hacx335v";
        isLibrary = true;
@@ -105334,7 +105743,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Library and tool for parsing .eventlog files from GHC";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ghc-events-analyze" = callPackage
@@ -105412,21 +105820,6 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghc-exactprint_1_4_1" = callPackage
-    ({ mkDerivation }:
-     mkDerivation {
-       pname = "ghc-exactprint";
-       version = "1.4.1";
-       sha256 = "0q9z43753arxbcs6mz26kz4dsz0c2i5hkxa125gl36vsipxfrq92";
-       revision = "1";
-       editedCabalFile = "00wvn8j7439r5pp9wjqasv710amrsf34qpa3czxja2khg9jdnngj";
-       isLibrary = true;
-       isExecutable = true;
-       description = "ExactPrint for GHC";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "ghc-exactprint_1_5_0" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -105442,6 +105835,18 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "ghc-gc-hook" = callPackage
+    ({ mkDerivation, base, clock }:
+     mkDerivation {
+       pname = "ghc-gc-hook";
+       version = "0.2.0.0";
+       sha256 = "0k7w7imrlg2gdcibkm6b02phk163xv4lnsab316jcfdid53zi7j2";
+       libraryHaskellDepends = [ base clock ];
+       testHaskellDepends = [ base clock ];
+       description = "GHC garbage collection hook";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "ghc-gc-tune" = callPackage
     ({ mkDerivation, base, directory, filepath, process }:
      mkDerivation {
@@ -105474,6 +105879,8 @@ self: {
        pname = "ghc-heap";
        version = "9.2.1";
        sha256 = "10d7p12p9v5z426rxx1cyhk90hx6ab6l98bk1v4a9gk551fcqsv9";
+       revision = "1";
+       editedCabalFile = "11kwkc96vk0jd7lpm0bz5x2ji4qc222wm2lc3y4lfx0knir2kyi6";
        libraryHaskellDepends = [ base containers ghc-prim rts ];
        description = "Functions for walking GHC's heap";
        license = lib.licenses.bsd3;
@@ -106716,15 +107123,16 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, array, async, base
      , base16-bytestring, binary, bytestring, case-insensitive
      , containers, cryptohash-sha1, data-default, deepseq, dependent-map
-     , dependent-sum, Diff, directory, dlist, exceptions, extra
-     , filepath, fingertree, focus, fuzzy, ghc, ghc-boot, ghc-boot-th
-     , ghc-check, ghc-exactprint, ghc-paths, ghc-trace-events
-     , ghc-typelits-knownnat, gitrev, Glob, haddock-library, hashable
-     , heapsize, hie-bios, hie-compat, hiedb, hls-graph, hls-plugin-api
-     , hp2pretty, hslogger, implicit-hie, implicit-hie-cradle, lens
-     , list-t, lsp, lsp-test, lsp-types, monoid-subclasses, mtl
-     , network-uri, opentelemetry, optparse-applicative, parallel
-     , prettyprinter, prettyprinter-ansi-terminal, process, QuickCheck
+     , dependent-sum, Diff, directory, dlist, enummapset, exceptions
+     , extra, filepath, fingertree, focus, fuzzy, ghc, ghc-boot
+     , ghc-boot-th, ghc-check, ghc-exactprint, ghc-paths
+     , ghc-trace-events, ghc-typelits-knownnat, gitrev, Glob
+     , haddock-library, hashable, heapsize, hie-bios, hie-compat, hiedb
+     , hls-graph, hls-plugin-api, hp2pretty, hslogger, implicit-hie
+     , implicit-hie-cradle, lens, list-t, lsp, lsp-test, lsp-types
+     , monoid-subclasses, mtl, network-uri, opentelemetry
+     , optparse-applicative, parallel, prettyprinter
+     , prettyprinter-ansi-terminal, process, QuickCheck
      , quickcheck-instances, random, record-dot-preprocessor
      , record-hasfield, regex-tdfa, retrie, rope-utf16-splay, safe
      , safe-exceptions, shake, shake-bench, sorted-list, sqlite-simple
@@ -106735,15 +107143,17 @@ self: {
      }:
      mkDerivation {
        pname = "ghcide";
-       version = "1.6.0.1";
-       sha256 = "14k1x54kk27yaaw8n0iq1kq1hl4j417bgbvdiy0a6zg6h7rdnwzw";
+       version = "1.7.0.0";
+       sha256 = "097vpp1gds36ijldz29bsk71pxc82l966ka578cxsrcdc3g3ll1b";
+       revision = "1";
+       editedCabalFile = "0xvszq1jad6126vg73qys8z9jys7b1gs75fsaa4kq5dnrfg8hpx3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty array async base base16-bytestring binary
          bytestring case-insensitive containers cryptohash-sha1 data-default
-         deepseq dependent-map dependent-sum Diff directory dlist exceptions
-         extra filepath fingertree focus fuzzy ghc ghc-boot ghc-boot-th
+         deepseq dependent-map dependent-sum Diff directory dlist enummapset
+         exceptions extra filepath fingertree focus ghc ghc-boot ghc-boot-th
          ghc-check ghc-exactprint ghc-paths ghc-trace-events Glob
          haddock-library hashable heapsize hie-bios hie-compat hiedb
          hls-graph hls-plugin-api hslogger implicit-hie-cradle lens list-t
@@ -106763,13 +107173,14 @@ self: {
        ];
        testHaskellDepends = [
          aeson async base binary bytestring containers data-default
-         directory extra filepath ghc ghc-typelits-knownnat haddock-library
-         hls-graph hls-plugin-api lens list-t lsp lsp-test lsp-types
-         network-uri optparse-applicative process QuickCheck
-         quickcheck-instances random record-dot-preprocessor record-hasfield
-         regex-tdfa rope-utf16-splay safe safe-exceptions shake
-         sqlite-simple stm stm-containers tasty tasty-expected-failure
-         tasty-hunit tasty-quickcheck tasty-rerun text unordered-containers
+         directory extra filepath fuzzy ghc ghc-typelits-knownnat
+         haddock-library hls-graph hls-plugin-api lens list-t lsp lsp-test
+         lsp-types monoid-subclasses network-uri optparse-applicative
+         parallel process QuickCheck quickcheck-instances random
+         record-dot-preprocessor record-hasfield regex-tdfa rope-utf16-splay
+         safe safe-exceptions shake sqlite-simple stm stm-containers tasty
+         tasty-expected-failure tasty-hunit tasty-quickcheck tasty-rerun
+         text unordered-containers vector
        ];
        testToolDepends = [ implicit-hie ];
        benchmarkHaskellDepends = [
@@ -109337,6 +109748,37 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "github_0_28" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, base16-bytestring
+     , binary, binary-instances, bytestring, containers, cryptohash-sha1
+     , deepseq, deepseq-generics, exceptions, file-embed, hashable
+     , hspec, hspec-discover, http-client, http-client-tls
+     , http-link-header, http-types, iso8601-time, mtl, network-uri
+     , tagged, text, time-compat, tls, transformers, transformers-compat
+     , unordered-containers, vector, vector-instances
+     }:
+     mkDerivation {
+       pname = "github";
+       version = "0.28";
+       sha256 = "142l0zff852606hkpvkhvagp6h3ziq2z2x7x2pa77q5ymyq48089";
+       libraryHaskellDepends = [
+         aeson base base-compat base16-bytestring binary binary-instances
+         bytestring containers cryptohash-sha1 deepseq deepseq-generics
+         exceptions hashable http-client http-client-tls http-link-header
+         http-types iso8601-time mtl network-uri tagged text time-compat tls
+         transformers transformers-compat unordered-containers vector
+         vector-instances
+       ];
+       testHaskellDepends = [
+         aeson base base-compat bytestring file-embed hspec tagged text
+         unordered-containers vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Access to the GitHub API, v3";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "github-backup" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, directory
      , exceptions, filepath, git, github, hslogger, IfElse, mtl, network
@@ -114082,8 +114524,8 @@ self: {
      }:
      mkDerivation {
        pname = "gopro-plus";
-       version = "0.6.5.0";
-       sha256 = "09hj57r77r9mx2dy830n9qv3ap2nsg8a94gmpzf69zddqvk1fhm8";
+       version = "0.6.5.1";
+       sha256 = "06sasqagh4xa6gkhgjxf7jpvwfp9q27r0qnpr7rq0dxwsbrpqgnp";
        libraryHaskellDepends = [
          aeson base bytestring containers exceptions filepath
          generic-deriving generic-random lens lens-aeson monad-logger mtl
@@ -114654,13 +115096,13 @@ self: {
     ({ mkDerivation, attoparsec, base, Cabal, cabal-doctest, checkers
      , containers, criterion, deepseq, doctest, input-parsers
      , markdown-unlit, monoid-subclasses, parsers, QuickCheck
-     , rank2classes, size-based, tasty, tasty-quickcheck, testing-feat
-     , text, transformers, witherable
+     , rank2classes, tasty, tasty-quickcheck, text, transformers
+     , witherable
      }:
      mkDerivation {
        pname = "grammatical-parsers";
-       version = "0.5.2";
-       sha256 = "1xnm5j0lznabscpswzvxjccwxb6c8js7jg3z1ddd60gffq69wpip";
+       version = "0.6";
+       sha256 = "1ck7zv110yrwz04q10j38wx6ipap88np9px6l94rxbha1m1k7nhi";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -114673,8 +115115,7 @@ self: {
        ];
        testHaskellDepends = [
          base checkers containers doctest monoid-subclasses parsers
-         QuickCheck rank2classes size-based tasty tasty-quickcheck
-         testing-feat witherable
+         QuickCheck rank2classes tasty tasty-quickcheck witherable
        ];
        testToolDepends = [ markdown-unlit ];
        benchmarkHaskellDepends = [
@@ -118492,6 +118933,37 @@ self: {
        broken = true;
      }) {};
 
+  "hackage-cli" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , deepseq, directory, filepath, http-io-streams, io-streams
+     , microlens, microlens-mtl, microlens-th, mtl, netrc
+     , optparse-applicative, pretty, process-extras, semigroups
+     , stringsearch, tagsoup, tar, tasty, tasty-golden, text, time
+     , unordered-containers, zlib
+     }:
+     mkDerivation {
+       pname = "hackage-cli";
+       version = "0.0.3.6";
+       sha256 = "1wnh3571mgwyl9c5bfkwvr4rvsnw41qb9mlz1nda1ya53qfdjl4p";
+       isLibrary = false;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring Cabal containers mtl pretty
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring Cabal containers deepseq directory filepath
+         http-io-streams io-streams microlens microlens-mtl microlens-th mtl
+         netrc optparse-applicative process-extras semigroups stringsearch
+         tagsoup tar text time unordered-containers zlib
+       ];
+       testHaskellDepends = [
+         base bytestring Cabal filepath tasty tasty-golden
+       ];
+       doHaddock = false;
+       description = "CLI tool for Hackage";
+       license = lib.licenses.gpl3Plus;
+     }) {};
+
   "hackage-db" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, containers
      , directory, exceptions, filepath, tar, time, utf8-string
@@ -121137,8 +121609,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-authenticate";
-       version = "2.6.0";
-       sha256 = "0sqldnhfp631vb3v69zm856zax89mgykvj4f9siisqn41qz097zx";
+       version = "2.6.1";
+       sha256 = "1kyh4l3c4xf6ykjmjvza44d0mf69wpwgi7v88g7lh3ag26m455w3";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson authenticate base base64-bytestring boomerang
@@ -121311,8 +121783,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-foundation";
-       version = "0.5.9.1";
-       sha256 = "05fcvwa25x993ba8h034877di4y1m3yp5f5fvx4jxdybpf868jnn";
+       version = "0.5.9.3";
+       sha256 = "1qm6kk5p5j7gvr6ckjibls5pid3qqihv9csd50q5yb1vzdqv1pii";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state base happstack-hsp happstack-server hsp lifted-base
@@ -121385,8 +121857,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-hsp";
-       version = "7.3.7.5";
-       sha256 = "1krjas0id8an3ry83xrgxl9cb18n17r394ivz05c45mwan6sbpqf";
+       version = "7.3.7.6";
+       sha256 = "1y23yzppvxjhmvaq9yl02v8mp6ww91jpsvqfhpzxkw1jccz54bcq";
        libraryHaskellDepends = [
          base bytestring happstack-server harp hsp hsx2hs mtl syb text
          utf8-string
@@ -121439,8 +121911,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-jmacro";
-       version = "7.0.12.3";
-       sha256 = "1phhy9sq7hiz3c50k5wyclrsjqacw8mcdyg80h3xi43zgjmff23w";
+       version = "7.0.12.4";
+       sha256 = "1zqfivzwq6wfwfgds5icy5rs5vrxiw9w1wzxn5jlqn7zkz3svbl9";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cereal digest happstack-server
          jmacro text utf8-string wl-pprint-text
@@ -121454,8 +121926,8 @@ self: {
     ({ mkDerivation, base, bytestring, happstack-server, mtl, text }:
      mkDerivation {
        pname = "happstack-lite";
-       version = "7.3.7";
-       sha256 = "12vyyjl0n9dqp8mh5279930rnbwaxxlzw34651sa7h9gir9hv1zv";
+       version = "7.3.8";
+       sha256 = "0bvcgacsngpj92ldb2fd7yj67im0bn4jnd5a1ldpbk43w85f91pk";
        libraryHaskellDepends = [
          base bytestring happstack-server mtl text
        ];
@@ -121533,8 +122005,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-server-tls";
-       version = "7.2.1.1";
-       sha256 = "0bply7dxz2046h0v0ydkicjvl491k0llapf2shxjqnskjjr5rqnk";
+       version = "7.2.1.2";
+       sha256 = "1qij3hx3y54s3vvcs7z656144cbp94aigy84ywfyp8238f4p5yq5";
        libraryHaskellDepends = [
          base bytestring extensible-exceptions happstack-server hslogger
          HsOpenSSL network sendfile time unix
@@ -123742,51 +124214,52 @@ self: {
      , cryptohash-sha1, data-default, deepseq, directory, extra
      , filepath, ghc, ghc-boot-th, ghc-paths, ghcide, githash, gitrev
      , hashable, hie-bios, hiedb, hls-alternate-number-format-plugin
-     , hls-call-hierarchy-plugin, hls-class-plugin, hls-eval-plugin
-     , hls-explicit-imports-plugin, hls-floskell-plugin
-     , hls-fourmolu-plugin, hls-graph, hls-haddock-comments-plugin
-     , hls-hlint-plugin, hls-module-name-plugin, hls-ormolu-plugin
-     , hls-plugin-api, hls-pragmas-plugin
-     , hls-qualify-imported-names-plugin, hls-refine-imports-plugin
-     , hls-retrie-plugin, hls-selection-range-plugin, hls-splice-plugin
-     , hls-test-utils, hslogger, hspec-expectations, lens, lens-aeson
-     , lsp, lsp-test, lsp-types, mtl, optparse-applicative
-     , optparse-simple, process, regex-tdfa, safe-exceptions
-     , sqlite-simple, stm, temporary, text, transformers
-     , unordered-containers
+     , hls-call-hierarchy-plugin, hls-change-type-signature-plugin
+     , hls-class-plugin, hls-eval-plugin, hls-explicit-imports-plugin
+     , hls-floskell-plugin, hls-fourmolu-plugin, hls-graph
+     , hls-haddock-comments-plugin, hls-hlint-plugin
+     , hls-module-name-plugin, hls-ormolu-plugin, hls-plugin-api
+     , hls-pragmas-plugin, hls-qualify-imported-names-plugin
+     , hls-refine-imports-plugin, hls-rename-plugin, hls-retrie-plugin
+     , hls-selection-range-plugin, hls-splice-plugin, hls-test-utils
+     , hspec-expectations, lens, lens-aeson, lsp, lsp-test, lsp-types
+     , mtl, optparse-applicative, optparse-simple, prettyprinter
+     , process, regex-tdfa, safe-exceptions, sqlite-simple, stm
+     , temporary, text, transformers, unix, unordered-containers
      }:
      mkDerivation {
        pname = "haskell-language-server";
-       version = "1.6.1.1";
-       sha256 = "03z650zk7ma0gsmb7mirzarwg0535kwmwyf0h8a89s8bqfcd5mxf";
+       version = "1.7.0.0";
+       sha256 = "1p5dr5j7vl86a4ig6y6cxf7rk8lswxsdxq9029sydghnyl3kaf3f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson-pretty async base base16-bytestring bytestring containers
          cryptohash-sha1 data-default directory extra filepath ghc ghcide
-         githash hie-bios hiedb hls-graph hls-plugin-api hslogger lsp
-         optparse-applicative optparse-simple process safe-exceptions
-         sqlite-simple text unordered-containers
+         githash hie-bios hiedb hls-graph hls-plugin-api lsp
+         optparse-applicative optparse-simple prettyprinter process
+         safe-exceptions sqlite-simple text unordered-containers
        ];
        executableHaskellDepends = [
          aeson async base base16-bytestring binary bytestring containers
          cryptohash-sha1 data-default deepseq directory extra filepath ghc
          ghc-boot-th ghc-paths ghcide gitrev hashable hie-bios hiedb
          hls-alternate-number-format-plugin hls-call-hierarchy-plugin
-         hls-class-plugin hls-eval-plugin hls-explicit-imports-plugin
-         hls-floskell-plugin hls-fourmolu-plugin hls-graph
-         hls-haddock-comments-plugin hls-hlint-plugin hls-module-name-plugin
-         hls-ormolu-plugin hls-plugin-api hls-pragmas-plugin
-         hls-qualify-imported-names-plugin hls-refine-imports-plugin
-         hls-retrie-plugin hls-selection-range-plugin hls-splice-plugin
-         hslogger lens lsp mtl optparse-applicative optparse-simple process
+         hls-change-type-signature-plugin hls-class-plugin hls-eval-plugin
+         hls-explicit-imports-plugin hls-floskell-plugin hls-fourmolu-plugin
+         hls-graph hls-haddock-comments-plugin hls-hlint-plugin
+         hls-module-name-plugin hls-ormolu-plugin hls-plugin-api
+         hls-pragmas-plugin hls-qualify-imported-names-plugin
+         hls-refine-imports-plugin hls-rename-plugin hls-retrie-plugin
+         hls-selection-range-plugin hls-splice-plugin lens lsp mtl
+         optparse-applicative optparse-simple prettyprinter process
          regex-tdfa safe-exceptions sqlite-simple stm temporary text
-         transformers unordered-containers
+         transformers unix unordered-containers
        ];
        testHaskellDepends = [
          aeson base bytestring containers data-default directory extra
          filepath ghcide hls-plugin-api hls-test-utils hspec-expectations
-         lens lens-aeson lsp-test lsp-types process text
+         lens lens-aeson lsp-test lsp-types prettyprinter process text
          unordered-containers
        ];
        testToolDepends = [ ghcide ];
@@ -127414,8 +127887,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-th";
-       version = "0.4.0.11";
-       sha256 = "1dkx0r874qzn2kb8wimr1n75vmx70jx5ddi8088dlw5cxhj2v950";
+       version = "0.4.0.12";
+       sha256 = "0fcfm2d66f7hzzc9s73dd9dxcjsrr33c1q0v04j3zqm159kk69jd";
        libraryHaskellDepends = [
          base bytestring containers contravariant foldl hasql
          postgresql-syntax template-haskell template-haskell-compat-v0208
@@ -127425,15 +127898,15 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hasql-th_0_4_0_12" = callPackage
+  "hasql-th_0_4_0_14" = callPackage
     ({ mkDerivation, base, bytestring, containers, contravariant, foldl
      , hasql, postgresql-syntax, template-haskell
      , template-haskell-compat-v0208, text, uuid, vector
      }:
      mkDerivation {
        pname = "hasql-th";
-       version = "0.4.0.12";
-       sha256 = "0fcfm2d66f7hzzc9s73dd9dxcjsrr33c1q0v04j3zqm159kk69jd";
+       version = "0.4.0.14";
+       sha256 = "0zskfsvxzilz6j3cd09hl6ixn3j9daksqjcb73pfm1f9hhrasa2a";
        libraryHaskellDepends = [
          base bytestring containers contravariant foldl hasql
          postgresql-syntax template-haskell template-haskell-compat-v0208
@@ -127484,8 +127957,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-url";
-       version = "0.1.0.0";
-       sha256 = "12zsw4jag27g0bgxm9sp45bs2i7p5h42zs5avj01zlddpyhla0wx";
+       version = "0.2.0.0";
+       sha256 = "1f8vc7s031f33rkbzlmqac3h1g6aynj9z03x4lx19526q2d2r7ns";
        libraryHaskellDepends = [
          base bytestring hasql network-uri split
        ];
@@ -130362,26 +130835,27 @@ self: {
      }) {};
 
   "helic" = callPackage
-    ({ mkDerivation, aeson, base, chronos, containers, exon, gi-gdk
-     , gi-glib, gi-gtk, hostname, http-client, http-client-tls, incipit
-     , optparse-applicative, path, path-io, polysemy, polysemy-chronos
-     , polysemy-conc, polysemy-http, polysemy-log, polysemy-plugin
-     , polysemy-process, polysemy-test, polysemy-time, servant
-     , servant-client, servant-client-core, servant-server, table-layout
-     , tasty, template-haskell, terminal-size, torsor, transformers
-     , typed-process, unix, wai-extra, warp, yaml
+    ({ mkDerivation, aeson, base, chronos, containers, exon
+     , fast-logger, gi-gdk, gi-glib, gi-gtk, hostname, http-client
+     , http-client-tls, incipit, optparse-applicative, path, path-io
+     , polysemy, polysemy-chronos, polysemy-conc, polysemy-http
+     , polysemy-log, polysemy-plugin, polysemy-process, polysemy-test
+     , polysemy-time, servant, servant-client, servant-client-core
+     , servant-server, table-layout, tasty, template-haskell
+     , terminal-size, torsor, transformers, typed-process, unix
+     , wai-extra, warp, yaml
      }:
      mkDerivation {
        pname = "helic";
-       version = "0.5.1.0";
-       sha256 = "1gglcac10abszarmrgggrirf51jj0qcbp7gdqh93kghx1pqv4ldg";
+       version = "0.5.2.0";
+       sha256 = "0yklds711iya00fmp9l1kdyipdm8mrfssabqf8g7f55p1nnmn91g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base chronos exon gi-gdk gi-glib gi-gtk hostname http-client
-         http-client-tls incipit optparse-applicative path path-io polysemy
-         polysemy-chronos polysemy-conc polysemy-http polysemy-log
-         polysemy-plugin polysemy-process polysemy-time servant
+         aeson base chronos exon fast-logger gi-gdk gi-glib gi-gtk hostname
+         http-client http-client-tls incipit optparse-applicative path
+         path-io polysemy polysemy-chronos polysemy-conc polysemy-http
+         polysemy-log polysemy-plugin polysemy-process polysemy-time servant
          servant-client servant-client-core servant-server table-layout
          template-haskell terminal-size transformers typed-process unix
          wai-extra warp yaml
@@ -132972,6 +133446,8 @@ self: {
        pname = "hiedb";
        version = "0.4.1.0";
        sha256 = "1389qmlga5rq8has02rn35pzag5wnfpx3w77r60mzl3b4pkpzi7i";
+       revision = "1";
+       editedCabalFile = "1ayy7xjbwfbdln1bqk9lpv2afc8kbzxyz9858gfafdd08kx0xmw1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -135287,6 +135763,33 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
+  "hlint_3_4" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs
+     , containers, cpphs, data-default, directory, extra, file-embed
+     , filepath, filepattern, ghc-lib-parser, ghc-lib-parser-ex
+     , hscolour, process, refact, text, transformers, uniplate
+     , unordered-containers, utf8-string, vector, yaml
+     }:
+     mkDerivation {
+       pname = "hlint";
+       version = "3.4";
+       sha256 = "15cfvch0yrzkl7qr87966amdsy05a7axvjc6wmw99ys9d5fn3z3n";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base bytestring cmdargs containers cpphs
+         data-default directory extra file-embed filepath filepattern
+         ghc-lib-parser ghc-lib-parser-ex hscolour process refact text
+         transformers uniplate unordered-containers utf8-string vector yaml
+       ];
+       executableHaskellDepends = [ base ];
+       description = "Source code suggestions";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ maralorn ];
+     }) {};
+
   "hlint-test" = callPackage
     ({ mkDerivation, base, hlint }:
      mkDerivation {
@@ -135425,8 +135928,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-alternate-number-format-plugin";
-       version = "1.0.1.0";
-       sha256 = "1xr4rizv1k6dx32mnny55s33cngmvy0a52sswpk17fl4zx3bd0pp";
+       version = "1.1.0.0";
+       sha256 = "1s81p2jnln8v8ny13cf26d9925lfcyhs5di5xbh3p9645ngdiy9h";
        libraryHaskellDepends = [
          aeson base containers ghc-boot-th ghcide hie-compat hls-graph
          hls-plugin-api lens lsp mtl regex-tdfa syb text
@@ -135447,8 +135950,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-brittany-plugin";
-       version = "1.0.2.0";
-       sha256 = "0vxlhggmbrfmf81qgpxmrpsflmi32hafhy21dxain1as5hrnxw8g";
+       version = "1.0.2.1";
+       sha256 = "0f86iymcinbad9cpghi7965xhv4ky6kq4jqsn7nndq2jklwgrw7i";
        libraryHaskellDepends = [
          base brittany czipwith extra filepath ghc-boot-th ghc-exactprint
          ghcide hls-plugin-api lens lsp-types text transformers
@@ -135465,8 +135968,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-call-hierarchy-plugin";
-       version = "1.0.2.0";
-       sha256 = "0772kxdp6ww91a1b0c8lfxjlpvwr8smcf8ayvaxazw76hisxrrj5";
+       version = "1.0.3.0";
+       sha256 = "0yfl75d2ddkzrz3p1pn8spra0qssqazsqklan46zmagrv69yg5iv";
        libraryHaskellDepends = [
          aeson base bytestring containers extra ghc ghcide hiedb
          hls-plugin-api lens lsp sqlite-simple text unordered-containers
@@ -135479,6 +135982,26 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "hls-change-type-signature-plugin" = callPackage
+    ({ mkDerivation, base, filepath, ghcide, hls-plugin-api
+     , hls-test-utils, lsp, lsp-types, QuickCheck, regex-tdfa, syb, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hls-change-type-signature-plugin";
+       version = "1.0.1.0";
+       sha256 = "0wl4vgml491gkvzmsfj3nlwx18ywvrdwgwdkqjp0rwid0pidd6z8";
+       libraryHaskellDepends = [
+         base ghcide hls-plugin-api lsp-types regex-tdfa syb text
+         transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         base filepath hls-test-utils lsp QuickCheck regex-tdfa text
+       ];
+       description = "Change a declarations type signature with a Code Action";
+       license = lib.licenses.asl20;
+     }) {};
+
   "hls-class-plugin" = callPackage
     ({ mkDerivation, aeson, base, containers, filepath, ghc
      , ghc-exactprint, ghcide, hls-plugin-api, hls-test-utils, lens, lsp
@@ -135486,10 +136009,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-class-plugin";
-       version = "1.0.2.0";
-       sha256 = "0drpxrazhwd228skgky7xdzcf22gi1pi2lby0dj0nzpzhrdl0pw0";
-       revision = "1";
-       editedCabalFile = "18x8k0gwpxv0vs4d8rbl5p0pjf75apb142i0p8vssbpvjwiwx33i";
+       version = "1.0.3.0";
+       sha256 = "0ad7ypw7d8waz3nq9p6m8l91rcibd2fzxxmdrpncwshiyrhazq3l";
        libraryHaskellDepends = [
          aeson base containers ghc ghc-exactprint ghcide hls-plugin-api lens
          lsp text transformers
@@ -135507,23 +136028,22 @@ self: {
      , ghc-paths, ghcide, hashable, hls-graph, hls-plugin-api
      , hls-test-utils, lens, lsp, lsp-types, megaparsec, mtl
      , parser-combinators, pretty-simple, QuickCheck, safe-exceptions
-     , temporary, text, time, transformers, unliftio
-     , unordered-containers
+     , text, time, transformers, unliftio, unordered-containers
      }:
      mkDerivation {
        pname = "hls-eval-plugin";
-       version = "1.2.1.0";
-       sha256 = "18xjq664b8aj199gd1sswa7gndwikch77v3p1c36yshfa0rviwi8";
+       version = "1.2.2.0";
+       sha256 = "17si94yzxz19hcddn57wf0npxc9m9vzb08b2gph7pkbxprsksb6g";
        libraryHaskellDepends = [
          aeson base containers data-default deepseq Diff directory dlist
          extra filepath ghc ghc-boot-th ghc-paths ghcide hashable hls-graph
          hls-plugin-api lens lsp lsp-types megaparsec mtl parser-combinators
-         pretty-simple QuickCheck safe-exceptions temporary text time
-         transformers unliftio unordered-containers
+         pretty-simple QuickCheck safe-exceptions text time transformers
+         unliftio unordered-containers
        ];
        testHaskellDepends = [
-         aeson base directory extra filepath hls-test-utils lens lsp-types
-         text
+         aeson base containers directory extra filepath hls-plugin-api
+         hls-test-utils lens lsp-types text
        ];
        description = "Eval plugin for Haskell Language Server";
        license = lib.licenses.asl20;
@@ -135555,8 +136075,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-explicit-imports-plugin";
-       version = "1.0.2.0";
-       sha256 = "04v6sgzsjqk4qj586qzvfvq405z0zpc08xljxb12glmqghvi5xjg";
+       version = "1.1.0.0";
+       sha256 = "1r5cy59xk35d6smnrka42hxfa012h45nvsmlr1a1kbyac8ywzf6m";
        libraryHaskellDepends = [
          aeson base containers deepseq ghc ghcide hls-graph hls-plugin-api
          lsp text unordered-containers
@@ -135572,8 +136092,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-floskell-plugin";
-       version = "1.0.1.0";
-       sha256 = "1slzv2c5lzxprh8yhfk8iabmmlhh3sx97m393nrnwrjcbpzq0vai";
+       version = "1.0.1.1";
+       sha256 = "01c8xwfdgx5g5ipb366q0smjisyq1dfjz7scjfg5p3lyn0v555wb";
        libraryHaskellDepends = [
          base floskell ghcide hls-plugin-api lsp-types text transformers
        ];
@@ -135583,18 +136103,23 @@ self: {
      }) {};
 
   "hls-fourmolu-plugin" = callPackage
-    ({ mkDerivation, base, filepath, fourmolu, ghc, ghc-boot-th, ghcide
-     , hls-plugin-api, hls-test-utils, lens, lsp, lsp-test, text
+    ({ mkDerivation, aeson, base, containers, filepath, fourmolu, ghc
+     , ghc-boot-th, ghcide, hls-plugin-api, hls-test-utils, lens, lsp
+     , lsp-test, process-extras, text
      }:
      mkDerivation {
        pname = "hls-fourmolu-plugin";
-       version = "1.0.2.0";
-       sha256 = "0n9yk539wc046i6sx68gsbrc4jfmp1nsm2nir00q4sdcf7flcvff";
+       version = "1.0.3.0";
+       sha256 = "103rndxbmv72ghbh685766498j9rqnmgdwsrswk5nrf7afwd9x8w";
        libraryHaskellDepends = [
          base filepath fourmolu ghc ghc-boot-th ghcide hls-plugin-api lens
-         lsp text
+         lsp process-extras text
+       ];
+       testHaskellDepends = [
+         aeson base containers filepath hls-plugin-api hls-test-utils
+         lsp-test
        ];
-       testHaskellDepends = [ base filepath hls-test-utils lsp-test ];
+       testToolDepends = [ fourmolu ];
        description = "Integration with the Fourmolu code formatter";
        license = lib.licenses.asl20;
      }) {};
@@ -135602,19 +136127,25 @@ self: {
   "hls-graph" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, containers
      , deepseq, directory, exceptions, extra, filepath, focus, hashable
-     , js-dgtable, js-flot, js-jquery, list-t, primitive, stm
-     , stm-containers, time, transformers, unordered-containers
+     , hspec, hspec-discover, js-dgtable, js-flot, js-jquery, list-t
+     , primitive, stm, stm-containers, tasty, tasty-hspec, tasty-hunit
+     , tasty-rerun, text, time, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "hls-graph";
-       version = "1.6.0.0";
-       sha256 = "0raz4gkfhxzbmg5rf65yp5p0i3mpd0rlraz90gwbvf5l1z9jlqml";
+       version = "1.7.0.0";
+       sha256 = "1mq1pvn5z8fnlsj9iqck05shm8fak9zf05mbcbrxb5jvq0a31ypd";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson async base bytestring containers deepseq directory exceptions
          extra filepath focus hashable js-dgtable js-flot js-jquery list-t
          primitive stm stm-containers time transformers unordered-containers
        ];
+       testHaskellDepends = [
+         base containers directory extra filepath hspec stm stm-containers
+         tasty tasty-hspec tasty-hunit tasty-rerun text
+       ];
+       testToolDepends = [ hspec-discover ];
        description = "Haskell Language Server internal graph API";
        license = lib.licenses.asl20;
      }) {};
@@ -135628,6 +136159,8 @@ self: {
        pname = "hls-haddock-comments-plugin";
        version = "1.0.1.0";
        sha256 = "1jlz6vg5ff2j2vba4yg8nymxfs7vmg5h3kzjhsj6bs2jn8kh722r";
+       revision = "1";
+       editedCabalFile = "004pi0hl1mf5njvadc45bkgahi97xdpf6pfafq1np5059ccyfd8d";
        libraryHaskellDepends = [
          base containers ghc ghc-exactprint ghcide hls-plugin-api lsp-types
          text unordered-containers
@@ -135642,18 +136175,18 @@ self: {
      , containers, data-default, deepseq, Diff, directory, extra
      , filepath, ghc, ghc-exactprint, ghc-lib-parser-ex, ghcide
      , hashable, hlint, hls-plugin-api, hls-test-utils, hslogger, lens
-     , lsp, lsp-types, regex-tdfa, stm, temporary, text, transformers
-     , unordered-containers
+     , lsp, lsp-types, refact, regex-tdfa, stm, temporary, text
+     , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "hls-hlint-plugin";
-       version = "1.0.3.0";
-       sha256 = "0vzgsh6x8bjgi3l6nc9kfgbczxnd7fws5bmglac5khr0z042babb";
+       version = "1.0.4.0";
+       sha256 = "089pa1fg4ygc39a70g6x1ma1fci6jrkypg7hsmq4gf3h2rwiyvwy";
        libraryHaskellDepends = [
          aeson apply-refact base binary bytestring containers data-default
          deepseq Diff directory extra filepath ghc ghc-exactprint
          ghc-lib-parser-ex ghcide hashable hlint hls-plugin-api hslogger
-         lens lsp regex-tdfa stm temporary text transformers
+         lens lsp refact regex-tdfa stm temporary text transformers
          unordered-containers
        ];
        testHaskellDepends = [
@@ -135671,8 +136204,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-module-name-plugin";
-       version = "1.0.1.0";
-       sha256 = "108p9j01d2s14akbwgwmpwb2a5r5d14vqzy6lw8n5cymgfdlza4a";
+       version = "1.0.2.0";
+       sha256 = "09548l8vmfq2y83agsr12w0x82drhmwa4bxpwby0mf466f4hj8da";
        libraryHaskellDepends = [
          aeson base directory filepath ghcide hls-plugin-api lsp text
          transformers unordered-containers
@@ -135689,8 +136222,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-ormolu-plugin";
-       version = "1.0.2.0";
-       sha256 = "1jbh16z4yzl3lx9q7pcrkfrmip6rifif3rirfn7dvyj1q7cf1fk4";
+       version = "1.0.2.1";
+       sha256 = "1if4gahvdayx1ar4wxi4mk074zxpx6wzkwdd64fnri4k5xb15sa7";
        libraryHaskellDepends = [
          base filepath ghc ghc-boot-th ghcide hls-plugin-api lens lsp ormolu
          text
@@ -135703,18 +136236,17 @@ self: {
   "hls-plugin-api" = callPackage
     ({ mkDerivation, aeson, base, containers, data-default
      , dependent-map, dependent-sum, Diff, dlist, extra, ghc, hashable
-     , hls-graph, hslogger, lens, lens-aeson, lsp, lsp-types
-     , opentelemetry, optparse-applicative, process, regex-tdfa, tasty
-     , tasty-hunit, tasty-rerun, text, transformers, unix
-     , unordered-containers
+     , hls-graph, lens, lens-aeson, lsp, lsp-types, opentelemetry
+     , optparse-applicative, process, regex-tdfa, tasty, tasty-hunit
+     , tasty-rerun, text, transformers, unix, unordered-containers
      }:
      mkDerivation {
        pname = "hls-plugin-api";
-       version = "1.3.0.0";
-       sha256 = "0dkpamqgw2icx6zns79cpzsnsr33qg0i3ix66hvcl5fhhp363g9m";
+       version = "1.4.0.0";
+       sha256 = "0yk2y6qw88vhww8z10d2kgn57wsarfnp6z1gmjl1ik2w96a8g3mv";
        libraryHaskellDepends = [
          aeson base containers data-default dependent-map dependent-sum Diff
-         dlist extra ghc hashable hls-graph hslogger lens lens-aeson lsp
+         dlist extra ghc hashable hls-graph lens lens-aeson lsp
          opentelemetry optparse-applicative process regex-tdfa text
          transformers unix unordered-containers
        ];
@@ -135732,8 +136264,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-pragmas-plugin";
-       version = "1.0.2.0";
-       sha256 = "0bmifvjhcvwhivnx6s971nidjdb2ichphp70pahx72ai24ffqqx9";
+       version = "1.0.2.1";
+       sha256 = "11l79214wz21v7plqf2wb6ac8bgw74fhql1p5cvkv8gr80hpb4jk";
        libraryHaskellDepends = [
          base containers extra fuzzy ghc ghcide hls-plugin-api lens lsp text
          transformers unordered-containers
@@ -135754,6 +136286,8 @@ self: {
        pname = "hls-qualify-imported-names-plugin";
        version = "1.0.1.0";
        sha256 = "0h456cq3qvksrkzfzpq2qsabsl3vpg4gh2mwyxc39xh4qm7ifban";
+       revision = "1";
+       editedCabalFile = "0pb9fgpbv24726n250rkb33gx3f3xcaxmv1qqh12q4sz181qn4mb";
        libraryHaskellDepends = [
          aeson base containers deepseq dlist ghc ghcide hls-graph
          hls-plugin-api lsp text transformers unordered-containers
@@ -135770,8 +136304,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-refine-imports-plugin";
-       version = "1.0.1.0";
-       sha256 = "10q5yjpny5aah245ivazqn2h05ak428qc9arpzlg5ks2n4n293lf";
+       version = "1.0.2.0";
+       sha256 = "01hgz66dm6rpk7fp6b2byzvnaan3snvimkicl67c6qxla9dpxcjn";
        libraryHaskellDepends = [
          aeson base containers deepseq ghc ghcide
          hls-explicit-imports-plugin hls-graph hls-plugin-api lsp text
@@ -135783,19 +136317,23 @@ self: {
      }) {};
 
   "hls-rename-plugin" = callPackage
-    ({ mkDerivation, base, containers, extra, filepath, ghc
-     , ghc-exactprint, ghcide, hiedb, hls-plugin-api, hls-test-utils
-     , lsp, lsp-types, syb, text, transformers
+    ({ mkDerivation, aeson, base, containers, extra, filepath, ghc
+     , ghc-exactprint, ghcide, hashable, hiedb, hls-plugin-api
+     , hls-test-utils, lsp, lsp-types, mod, syb, text, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "hls-rename-plugin";
-       version = "1.0.0.1";
-       sha256 = "04l2w3x60ayxa9a6cdmscrfvyx9fsnbl4q05m8f0s1s18zlgjf86";
+       version = "1.0.0.2";
+       sha256 = "1cqcyyh4ywxwl2wppdacp2y6hpbl5534vq8xw2ih489qczcg6s78";
        libraryHaskellDepends = [
-         base containers extra ghc ghc-exactprint ghcide hiedb
-         hls-plugin-api lsp lsp-types syb text transformers
+         base containers extra ghc ghc-exactprint ghcide hashable hiedb
+         hls-plugin-api lsp lsp-types mod syb text transformers
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base containers filepath hls-plugin-api hls-test-utils
        ];
-       testHaskellDepends = [ base filepath hls-test-utils ];
        description = "Rename plugin for Haskell Language Server";
        license = lib.licenses.asl20;
      }) {};
@@ -135808,8 +136346,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-retrie-plugin";
-       version = "1.0.2.0";
-       sha256 = "0w41di7rqy8xrcaavzlfhai73yw0whmnyqxhyfjwx93y1sy1l6zg";
+       version = "1.0.2.1";
+       sha256 = "1vl7kdw8sm9r5q35lnihq0r98wd2s3mm76c7wp0cwd55qdkaf7qv";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory extra ghc ghcide
          hashable hls-plugin-api lsp lsp-types retrie safe-exceptions stm
@@ -135828,6 +136366,8 @@ self: {
        pname = "hls-selection-range-plugin";
        version = "1.0.0.0";
        sha256 = "1pfgxz7nyqr8gaxxv7nc0d4rpfc4rbgdkafy1fpgcsbkqx9llkn0";
+       revision = "1";
+       editedCabalFile = "1njq2p1z9z5gy0fxgbp81q4syqw3hx1b5151g93qhhla9d0cr7nv";
        libraryHaskellDepends = [
          aeson base containers extra ghcide hls-plugin-api lsp mtl
          semigroupoids text transformers
@@ -135850,6 +136390,8 @@ self: {
        pname = "hls-splice-plugin";
        version = "1.0.1.0";
        sha256 = "07v4rgss140vfc4xqibccimm48ys4awz7yficr0wf440p6i83qdc";
+       revision = "1";
+       editedCabalFile = "15hr2vc1r4zxf4z26byax95cdqhl1733fna16lifrdj15xkwxs3r";
        libraryHaskellDepends = [
          aeson base containers dlist extra foldl ghc ghc-exactprint ghcide
          hls-plugin-api lens lsp retrie syb text transformers unliftio-core
@@ -135867,8 +136409,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-stylish-haskell-plugin";
-       version = "1.0.1.0";
-       sha256 = "1f9g113xrb167cpdjifd2zp8ps1w2apvkghdiagc9rzw1fl0l7l4";
+       version = "1.0.1.1";
+       sha256 = "1k9bv31226zgy5aqxzzj7npph2ff0r5bx692q5n26lpil2ivq6sn";
        libraryHaskellDepends = [
          base directory filepath ghc ghc-boot-th ghcide hls-plugin-api
          lsp-types stylish-haskell text
@@ -135890,8 +136432,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-tactics-plugin";
-       version = "1.6.1.0";
-       sha256 = "15ynxlafrs0hss5qcn4aj8iip8iy631hfgqql0irqskvf3x5yxlx";
+       version = "1.6.2.0";
+       sha256 = "07qh9sz3rbqflfryxaj7y8vjmv388jdsmaxvz5z0xfq895yk968p";
        libraryHaskellDepends = [
          aeson base containers deepseq directory extra filepath fingertree
          generic-lens ghc ghc-boot-th ghc-exactprint ghc-source-gen ghcide
@@ -135912,20 +136454,19 @@ self: {
   "hls-test-utils" = callPackage
     ({ mkDerivation, aeson, async, base, blaze-markup, bytestring
      , containers, data-default, directory, extra, filepath, ghcide
-     , hls-graph, hls-plugin-api, hspec, hspec-core, lens, lsp, lsp-test
-     , lsp-types, tasty, tasty-expected-failure, tasty-golden
-     , tasty-hunit, tasty-rerun, temporary, text, unordered-containers
+     , hls-graph, hls-plugin-api, lens, lsp, lsp-test, lsp-types, tasty
+     , tasty-expected-failure, tasty-golden, tasty-hunit, tasty-rerun
+     , temporary, text, unordered-containers
      }:
      mkDerivation {
        pname = "hls-test-utils";
-       version = "1.2.0.0";
-       sha256 = "1y3g101n7z78f5shfqfklg5zgl8gpkic0dwvpr5072dq1vvpfdvf";
+       version = "1.3.0.0";
+       sha256 = "1qm3lna4jy658bmbr6gpjq2gmcz03rdz535gilxycbjkxl2z3hkq";
        libraryHaskellDepends = [
          aeson async base blaze-markup bytestring containers data-default
-         directory extra filepath ghcide hls-graph hls-plugin-api hspec
-         hspec-core lens lsp lsp-test lsp-types tasty tasty-expected-failure
-         tasty-golden tasty-hunit tasty-rerun temporary text
-         unordered-containers
+         directory extra filepath ghcide hls-graph hls-plugin-api lens lsp
+         lsp-test lsp-types tasty tasty-expected-failure tasty-golden
+         tasty-hunit tasty-rerun temporary text unordered-containers
        ];
        description = "Utilities used in the tests of Haskell Language Server";
        license = lib.licenses.asl20;
@@ -138743,6 +139284,45 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "hpack_0_35_0" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
+     , containers, cryptonite, deepseq, directory, filepath, Glob, hspec
+     , hspec-discover, http-client, http-client-tls, http-types, HUnit
+     , infer-license, interpolate, mockery, pretty, QuickCheck
+     , scientific, template-haskell, temporary, text, transformers
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "hpack";
+       version = "0.35.0";
+       sha256 = "1cii4bdn4rm2l3yw9vsv4ygn61zmalaa282iqg9rihys90nvrgf6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bifunctors bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob http-client http-client-tls
+         http-types infer-license pretty scientific text transformers
+         unordered-containers vector yaml
+       ];
+       executableHaskellDepends = [
+         aeson base bifunctors bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob http-client http-client-tls
+         http-types infer-license pretty scientific text transformers
+         unordered-containers vector yaml
+       ];
+       testHaskellDepends = [
+         aeson base bifunctors bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob hspec http-client http-client-tls
+         http-types HUnit infer-license interpolate mockery pretty
+         QuickCheck scientific template-haskell temporary text transformers
+         unordered-containers vector yaml
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A modern format for Haskell packages";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hpack-convert" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, base-compat, bytestring
      , Cabal, containers, deepseq, directory, filepath, Glob, hspec
@@ -138806,7 +139386,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "hpack-dhall_0_5_5" = callPackage
+  "hpack-dhall_0_5_7" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, Cabal
      , dhall, dhall-json, Diff, directory, filepath, hpack, megaparsec
      , microlens, optparse-applicative, prettyprinter, tasty
@@ -138814,8 +139394,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpack-dhall";
-       version = "0.5.5";
-       sha256 = "1256vqqncgir0ir7i0vnvr7v5jkyx5ggng8gyi4qsqs8lmqn11r3";
+       version = "0.5.7";
+       sha256 = "1hwq3painl4ix7pldkzi5a8zakh9f67kcyabfbdky8b49dc5703r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -140417,8 +140997,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-api";
-       version = "0.0.3.3";
-       sha256 = "0hrlz77p5w57ax4jml5c415qb1bfh8zi357xvnb0bin7g5a00fn8";
+       version = "0.0.3.4";
+       sha256 = "0qg5kaybxax632nbj6qjrn02j1c954kpw5xv3yqsysdqqcqxw6bg";
        libraryHaskellDepends = [
          async attoparsec base binary bytestring charset clock containers
          ghc-prim hashable http-types memory mtl template-haskell text
@@ -140560,8 +141140,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-wai";
-       version = "0.0.1.2";
-       sha256 = "1yxy49cacldbic67ic35ym48zd0c1cwx1cjh6l0fxn26yvjp1i68";
+       version = "0.0.1.3";
+       sha256 = "1dczyw9w9pahrrj0q2qcnkx7kc46k7gqrrpbspdc0rc09idk33jx";
        libraryHaskellDepends = [
          base bytestring hs-opentelemetry-api http-types iproute network
          text vault wai
@@ -145507,8 +146087,8 @@ self: {
     ({ mkDerivation, base, hsp, jmacro, mtl, text, wl-pprint-text }:
      mkDerivation {
        pname = "hsx-jmacro";
-       version = "7.3.8.1";
-       sha256 = "0ndgy5vf5rwgwqya75ny5vbr7hfqwjrdgfgpwf5410bk0603v47i";
+       version = "7.3.8.2";
+       sha256 = "0zb6mjky88qn918vaqbwjszjb6zczb4kqpnw3p222z44if3xpzsq";
        libraryHaskellDepends = [
          base hsp jmacro mtl text wl-pprint-text
        ];
@@ -150684,24 +151264,6 @@ self: {
      }) {};
 
   "hyperloglog" = callPackage
-    ({ mkDerivation, approximate, base, binary, bits, bytes, cereal
-     , cereal-vector, comonad, deepseq, distributive, hashable, lens
-     , reflection, semigroupoids, semigroups, siphash, tagged, vector
-     }:
-     mkDerivation {
-       pname = "hyperloglog";
-       version = "0.4.5";
-       sha256 = "0v2zw0p104gbydj6hp2cxa2s4b85pq4srcspr582aqj38bs7spfz";
-       libraryHaskellDepends = [
-         approximate base binary bits bytes cereal cereal-vector comonad
-         deepseq distributive hashable lens reflection semigroupoids
-         semigroups siphash tagged vector
-       ];
-       description = "An approximate streaming (constant space) unique object counter";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hyperloglog_0_4_6" = callPackage
     ({ mkDerivation, approximate, base, binary, bits, bytes, bytestring
      , cereal, cereal-vector, comonad, cpu, deepseq, distributive
      , hashable, lens, reflection, semigroupoids, semigroups, tagged
@@ -150718,7 +151280,6 @@ self: {
        ];
        description = "An approximate streaming (constant space) unique object counter";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hyperloglogplus" = callPackage
@@ -152813,8 +153374,8 @@ self: {
      }:
      mkDerivation {
        pname = "implicit-hie";
-       version = "0.1.2.6";
-       sha256 = "1j2q1mqxfgcb8r6388xanmp5i1sdh6w52s08nd94g5lpg93mjz2q";
+       version = "0.1.2.7";
+       sha256 = "0yb457n26455kbq6kv8g48q66pmmaxcpikmpg9gm00sd6adgq6gl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -155745,8 +156306,8 @@ self: {
        pname = "io-streams-haproxy";
        version = "1.0.1.0";
        sha256 = "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp";
-       revision = "3";
-       editedCabalFile = "02k9halblgnynlm781ahc81yxla8z7cck1gikm8555v78rf5hv7x";
+       revision = "5";
+       editedCabalFile = "073aciql0czvpaiwh9mpljcd1j2a8p5ka5awsw1j3dh7bdyg2mp7";
        libraryHaskellDepends = [
          attoparsec base bytestring io-streams network transformers
        ];
@@ -155898,6 +156459,8 @@ self: {
        pname = "ip";
        version = "1.7.4";
        sha256 = "1hvqgah86z2saizhjpq2352x2ncxjsshvzj66bmij3yk6y107yfs";
+       revision = "1";
+       editedCabalFile = "09yrwzklzbfvh5x4j7k4vx7a49kndfz9d8kjkfvwi3frqzhr209m";
        libraryHaskellDepends = [
          aeson attoparsec base bytebuild byteslice bytesmith bytestring
          deepseq hashable natural-arithmetic primitive text text-short
@@ -157254,6 +157817,7 @@ self: {
        ];
        description = "Intervals";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ivar-simple" = callPackage
@@ -157547,6 +158111,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Indexed monads";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ix-shapable" = callPackage
@@ -157596,8 +158161,8 @@ self: {
      }:
      mkDerivation {
        pname = "ixset";
-       version = "1.1.1.1";
-       sha256 = "1d3h53sq8i8azzr71yi4h5zma2bb2f623gpfw25x2kd4slhpkrgf";
+       version = "1.1.1.2";
+       sha256 = "15dgh9lgjqgn0483p98q21ym1mrwi5h7ygdjxf48aap1d20x6swp";
        libraryHaskellDepends = [
          base containers safecopy syb syb-with-class template-haskell
        ];
@@ -158515,8 +159080,8 @@ self: {
      }:
      mkDerivation {
        pname = "jmacro";
-       version = "0.6.17";
-       sha256 = "14vmnaqr3lhcj7y5rj4jgm2w89kkznfksy53pinmc1xq1bd8b7px";
+       version = "0.6.17.1";
+       sha256 = "17z39w888nrq0jfzi74z1wnswzmcyi2x6h2p2nnmhyjsgvpjkcxa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -162562,8 +163127,8 @@ self: {
      }:
      mkDerivation {
        pname = "keter";
-       version = "1.8.4";
-       sha256 = "10p8hc1jfzkg3s8shazkip95i6r5a8gyiz6m1khl7myvb05i21gc";
+       version = "1.9";
+       sha256 = "00mgh6447p0gsvm7agy1i9a874afirirx2a7qdqnbw1m14j3mzfl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -162658,6 +163223,7 @@ self: {
        ];
        description = "Store of values of arbitrary types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "keycloak-hs" = callPackage
@@ -163373,8 +163939,8 @@ self: {
      }:
      mkDerivation {
        pname = "koji-tool";
-       version = "0.8.2";
-       sha256 = "0hhpw8v09alicymbndl6lpflasmzchrf8zg1l4gqd8j9sj2rrzqg";
+       version = "0.8.3";
+       sha256 = "17xd1755yr2acf6brwbxn3yzbndv982s7jgxbj9dmd7my6v1d9i2";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -175140,15 +175706,15 @@ self: {
      }:
      mkDerivation {
        pname = "lsfrom";
-       version = "0.1";
-       sha256 = "04cv4x88r10b9zkfiy1kclq3dm79akg1p16djfad8h5x988c7bq1";
+       version = "0.1.1.1";
+       sha256 = "1vm80k8gsh4k7937i02wv4dk2s173c9wvgiilc1am3ddp7x7ms1h";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base filepath simple-cmd simple-cmd-args
        ];
        testHaskellDepends = [ base directory filepath simple-cmd ];
-       description = "List dir files starting from a specific name";
+       description = "List directory files starting from a specific name";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
@@ -177899,8 +178465,8 @@ self: {
        pname = "map-syntax";
        version = "0.3";
        sha256 = "0b3ddi998saw5gi5r4bjbpid03rxlifn08zv15wf0b90ambhcc4k";
-       revision = "3";
-       editedCabalFile = "19p79gjwlpgx210zlc9625vwp6mjmnb9mvxaz1h5zmgir8dwb4lv";
+       revision = "4";
+       editedCabalFile = "09sr3lzgkqs59vnwsimqgv098h3hj4srr2avza3z05gfkvxqj8yw";
        libraryHaskellDepends = [ base containers mtl ];
        testHaskellDepends = [
          base containers deepseq hspec HUnit mtl QuickCheck transformers
@@ -177974,8 +178540,8 @@ self: {
     ({ mkDerivation, base, tidal }:
      mkDerivation {
        pname = "maquinitas-tidal";
-       version = "0.2.4";
-       sha256 = "0apr5qkir3b6mnczi50lf3p349p1q3bl1sn4yg9dls2n3m147mf7";
+       version = "0.2.5";
+       sha256 = "1jqa471r7r3my32lrjcrfc35259kj7afp1jgj8jr3r62dd8ckq63";
        libraryHaskellDepends = [ base tidal ];
        description = "library for MIDI control of hardware";
        license = lib.licenses.mit;
@@ -186573,6 +187139,44 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) glew;};
 
+  "monomer_1_4_0_0" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
+     , bytestring-to-vector, c2hs, containers, data-default, exceptions
+     , extra, formatting, glew, hspec, http-client, JuicyPixels, lens
+     , mtl, nanovg, OpenGLRaw, process, random, sdl2, stm, text
+     , text-show, time, transformers, vector, websockets, wreq, wuss
+     }:
+     mkDerivation {
+       pname = "monomer";
+       version = "1.4.0.0";
+       sha256 = "104j89l1c39yl9sqfv1nsq7c3p00v0h28kvrmym46b5w1hd86xxr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async attoparsec base bytestring bytestring-to-vector containers
+         data-default exceptions extra formatting http-client JuicyPixels
+         lens mtl nanovg OpenGLRaw process sdl2 stm text text-show time
+         transformers vector wreq
+       ];
+       librarySystemDepends = [ glew ];
+       libraryToolDepends = [ c2hs ];
+       executableHaskellDepends = [
+         aeson async attoparsec base bytestring bytestring-to-vector
+         containers data-default exceptions extra formatting http-client
+         JuicyPixels lens mtl nanovg OpenGLRaw process random sdl2 stm text
+         text-show time transformers vector websockets wreq wuss
+       ];
+       testHaskellDepends = [
+         async attoparsec base bytestring bytestring-to-vector containers
+         data-default exceptions extra formatting hspec http-client
+         JuicyPixels lens mtl nanovg OpenGLRaw process sdl2 stm text
+         text-show time transformers vector wreq
+       ];
+       description = "A GUI library for writing native Haskell applications";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) glew;};
+
   "monomorphic" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -201718,8 +202322,8 @@ self: {
      }:
      mkDerivation {
        pname = "org-mode";
-       version = "2.0.0";
-       sha256 = "17yn9si0mxyydjgv40q6rc5nw579kswlx69ycyinhdx0q34ds7rl";
+       version = "2.0.1";
+       sha256 = "0g22gjy7l6c28j60vbhazgcl0da58mml307qsp4zac4j4nshv7y2";
        libraryHaskellDepends = [
          base containers filepath hashable megaparsec parser-combinators
          text time
@@ -201738,8 +202342,8 @@ self: {
      }:
      mkDerivation {
        pname = "org-mode-lucid";
-       version = "1.6.1";
-       sha256 = "0fkwwwrmfq22g1yak9srmlbq5yixf4kdwfapq0dyr8f3pqaglf1v";
+       version = "1.6.2";
+       sha256 = "0qz8s63m2l0aff23fgdn97xxswbn3ah3m4rx9snfi5cscsrzsb8h";
        libraryHaskellDepends = [
          base containers hashable lucid org-mode text
        ];
@@ -206916,8 +207520,8 @@ self: {
      }:
      mkDerivation {
        pname = "pcf-font";
-       version = "0.2.2.0";
-       sha256 = "1vwqy2zkj0yb0b7hx3hrcfdcg46j67sv9l8ljik8wrm7811d0rwa";
+       version = "0.2.2.1";
+       sha256 = "1gzlbdyhcrf7ap6zjd0fvkfwyakvb805198hpb9a86hrs5bih9mj";
        libraryHaskellDepends = [
          base binary bytestring containers vector zlib
        ];
@@ -207056,8 +207660,8 @@ self: {
      }:
      mkDerivation {
        pname = "pcre2";
-       version = "2.1.0.1";
-       sha256 = "06fj8p49whxixphncmzm0c85wzqrsmg59zbb423qnqqmcwjwy2qf";
+       version = "2.1.1";
+       sha256 = "07ls9vxj5l8wvrj75wvyrq6qsz7fz0pamx92ik50cpl71p76lc92";
        libraryHaskellDepends = [
          base containers microlens mtl template-haskell text
        ];
@@ -209099,8 +209703,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-typed-db";
-       version = "0.1.0.5";
-       sha256 = "0xqvaypl987br15pymky9qa1z62sfa32kmcgpvnl8zpgdjsa17nc";
+       version = "0.1.0.6";
+       sha256 = "1hvja9yh40nqifvy0fsamdfj3f9ps85g187c7m3hg2yqz4w8pm05";
        libraryHaskellDepends = [
          aeson base bytestring conduit http-api-data monad-logger
          path-pieces persistent resource-pool resourcet template-haskell
@@ -209826,8 +210430,8 @@ self: {
     ({ mkDerivation, base, subG }:
      mkDerivation {
        pname = "phonetic-languages-constraints-array";
-       version = "0.1.1.0";
-       sha256 = "1c5n04zkfhws6ciilbkya4fyr3qc2yszmqrbb7pk3jcjnv2xp32b";
+       version = "0.1.2.0";
+       sha256 = "1s28pipyijz13sn6wni9v850w8c6n6rkiqmavhddfnichwp3gq55";
        libraryHaskellDepends = [ base subG ];
        description = "Constraints to filter the needed permutations";
        license = lib.licenses.mit;
@@ -209872,8 +210476,8 @@ self: {
     ({ mkDerivation, base, filters-basic, mmsyn2-array }:
      mkDerivation {
        pname = "phonetic-languages-filters-array";
-       version = "0.3.0.0";
-       sha256 = "0g1nyab2cagppwj75vr2fj0yd9g3hs1qdkb2grj14j13bvaqbi7p";
+       version = "0.4.0.0";
+       sha256 = "0rkgwf9v98vdflhkcfn7s0in8dw69rh2dcv8n9lvpjd0ccmlvil8";
        libraryHaskellDepends = [ base filters-basic mmsyn2-array ];
        description = "Allows to change the structure of the function output";
        license = lib.licenses.mit;
@@ -210041,8 +210645,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-examples-array";
-       version = "0.17.1.0";
-       sha256 = "00lb3h4b0yd3ra0i6g64r8vfn2cyazrqai51arfprihyj31zm9kq";
+       version = "0.18.0.2";
+       sha256 = "0m79iv739cakgpfbixg613fhwjnvy4nidqvfrvqgq53wn4x9pdm3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -210075,25 +210679,22 @@ self: {
      }) {};
 
   "phonetic-languages-simplified-examples-common" = callPackage
-    ({ mkDerivation, base, heaps, phonetic-languages-constraints-array
-     , phonetic-languages-ukrainian-array
-     }:
+    ({ mkDerivation, base, heaps, phonetic-languages-ukrainian-array }:
      mkDerivation {
        pname = "phonetic-languages-simplified-examples-common";
-       version = "0.4.4.0";
-       sha256 = "1y5nrr23blxm08s62q58aq0yiifxgds9lf2wf45zz11w1z16ff1n";
+       version = "0.4.6.0";
+       sha256 = "13i8pq52bfmxvidvykn1hcy9yv2i8yni76mcnbmfwdbd1sy615pn";
        libraryHaskellDepends = [
-         base heaps phonetic-languages-constraints-array
-         phonetic-languages-ukrainian-array
+         base heaps phonetic-languages-ukrainian-array
        ];
        description = "Some commonly used by phonetic-languages-simplified* series functions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-simplified-generalized-examples-array" = callPackage
-    ({ mkDerivation, base, cli-arguments, heaps, mmsyn2-array, mmsyn3
-     , parallel, phonetic-languages-constraints-array
+    ({ mkDerivation, base, cli-arguments, foldable-ix, heaps
+     , mmsyn2-array, mmsyn3, parallel
+     , phonetic-languages-constraints-array
      , phonetic-languages-filters-array
      , phonetic-languages-permutations-array
      , phonetic-languages-phonetics-basics, phonetic-languages-plus
@@ -210104,10 +210705,10 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-generalized-examples-array";
-       version = "0.15.0.0";
-       sha256 = "1rayhhyvqskxw374jrl5h92lhx0n3k3wda7vw4wkgw3kbargwm7q";
+       version = "0.16.0.0";
+       sha256 = "16ia1kd217hy0wpdjd60l1qdz2ivcm1n0sncp106x4dksy4xc1pv";
        libraryHaskellDepends = [
-         base cli-arguments heaps mmsyn2-array mmsyn3 parallel
+         base cli-arguments foldable-ix heaps mmsyn2-array mmsyn3 parallel
          phonetic-languages-constraints-array
          phonetic-languages-filters-array
          phonetic-languages-permutations-array
@@ -214165,20 +214766,21 @@ self: {
      }) {};
 
   "polysemy-RandomFu" = callPackage
-    ({ mkDerivation, base, hspec, hspec-discover, polysemy
-     , polysemy-plugin, polysemy-zoo, random-fu, random-source, text
-     , vector
+    ({ mkDerivation, base, hspec, hspec-discover, mtl, polysemy
+     , polysemy-plugin, polysemy-zoo, random, random-fu, random-source
+     , rvar, text, vector
      }:
      mkDerivation {
        pname = "polysemy-RandomFu";
-       version = "0.4.4.1";
-       sha256 = "1zw8n16dm2l8rwrf014kb9jhp3q4a719bp8p08s4fnlksqkf88vl";
+       version = "0.5.0.0";
+       sha256 = "0zjywc9m7y56kzxvzayq4psjz6zip1x40cpjkvw39i5p2jkycc4c";
        libraryHaskellDepends = [
-         base polysemy polysemy-plugin polysemy-zoo random-fu random-source
+         base mtl polysemy polysemy-plugin polysemy-zoo random random-fu
+         random-source rvar
        ];
        testHaskellDepends = [
-         base hspec polysemy polysemy-plugin polysemy-zoo random-fu
-         random-source text vector
+         base hspec mtl polysemy polysemy-plugin polysemy-zoo random
+         random-fu random-source text vector
        ];
        testToolDepends = [ hspec-discover ];
        description = "Experimental, RandomFu effect and interpreters for polysemy";
@@ -214234,8 +214836,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-conc";
-       version = "0.7.0.0";
-       sha256 = "0jr5wh0sxbymz4p9x2p86cm9djr8bybss747xx9c778va0vgcncg";
+       version = "0.8.0.1";
+       sha256 = "0l1hgv9xlax5ycp66j5asfhfi9jyfcwvd9z132pbx8dyj4ikzp8y";
        libraryHaskellDepends = [
          async base containers incipit-core polysemy polysemy-resume
          polysemy-time stm stm-chans torsor unagi-chan unix
@@ -214580,19 +215182,21 @@ self: {
     ({ mkDerivation, base, incipit-core, path, path-io, polysemy
      , polysemy-conc, polysemy-plugin, polysemy-resume, polysemy-test
      , polysemy-time, posix-pty, process, stm-chans, tasty
-     , typed-process, unix
+     , tasty-expected-failure, typed-process, unix
      }:
      mkDerivation {
        pname = "polysemy-process";
-       version = "0.7.0.0";
-       sha256 = "0g1rmii4jnffl2f4ziibw62nkgzl92wf4pvq0fvzwkm01rpm9frz";
+       version = "0.8.0.1";
+       sha256 = "0ayn6l2c6009wrxc4rya6dc8185wp6krdck8mbbasrlvah3in3cs";
        libraryHaskellDepends = [
          base incipit-core path path-io polysemy polysemy-conc
-         polysemy-resume posix-pty process stm-chans typed-process unix
+         polysemy-resume polysemy-time posix-pty process stm-chans
+         typed-process unix
        ];
        testHaskellDepends = [
          base incipit-core polysemy polysemy-conc polysemy-plugin
-         polysemy-resume polysemy-test polysemy-time tasty typed-process
+         polysemy-resume polysemy-test polysemy-time tasty
+         tasty-expected-failure typed-process
        ];
        description = "Polysemy Effects for System Processes";
        license = "BSD-2-Clause-Patent";
@@ -214656,6 +215260,28 @@ self: {
        license = "BSD-2-Clause-Patent";
      }) {};
 
+  "polysemy-scoped-fs" = callPackage
+    ({ mkDerivation, base, bytestring, directory, doctest, extra, path
+     , polysemy, polysemy-fs, polysemy-path, polysemy-plugin, text
+     }:
+     mkDerivation {
+       pname = "polysemy-scoped-fs";
+       version = "0.1.0.0";
+       sha256 = "08mj5q8rfbhyd7ns4vf696cqvm0792f5dv3x1w0ci3spl2m7nhdi";
+       libraryHaskellDepends = [
+         base bytestring directory doctest extra path polysemy polysemy-fs
+         polysemy-path polysemy-plugin text
+       ];
+       testHaskellDepends = [
+         base bytestring directory doctest extra path polysemy polysemy-fs
+         polysemy-path polysemy-plugin text
+       ];
+       description = "Well-typed filesystem operation effects";
+       license = lib.licenses.agpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "polysemy-several" = callPackage
     ({ mkDerivation, base, polysemy }:
      mkDerivation {
@@ -216626,6 +217252,30 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "postgresql-syntax_0_4_1" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, hashable
+     , headed-megaparsec, hedgehog, megaparsec, parser-combinators
+     , QuickCheck, quickcheck-instances, rerebase, tasty, tasty-hunit
+     , tasty-quickcheck, text, text-builder, unordered-containers
+     }:
+     mkDerivation {
+       pname = "postgresql-syntax";
+       version = "0.4.1";
+       sha256 = "1ls3jjgbvdy0x3110lgjd3icas187qyd31cwvi858l6ayhwf9kck";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive hashable headed-megaparsec
+         megaparsec parser-combinators text text-builder
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         hedgehog QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       description = "PostgreSQL AST parsing and rendering";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "postgresql-transactional" = callPackage
     ({ mkDerivation, base, monad-control, mtl, postgresql-simple }:
      mkDerivation {
@@ -217109,17 +217759,17 @@ self: {
      }:
      mkDerivation {
        pname = "powerdns";
-       version = "0.4.0";
-       sha256 = "0gcf04naa9ai4f6v7ycakwmdz379dqrr3nl0ry1pnqck835p629a";
+       version = "0.4.1";
+       sha256 = "1ss88q1lndjvmy7bp2jxh7qbh6z57kl1q5zcv4kzjampajf1fjbi";
        revision = "1";
-       editedCabalFile = "1pf6f09kdawn17nrjn221xr40g66wa282r65521y4mdmlm6yrfd0";
+       editedCabalFile = "08n8l7629ci2xksjihqwrag0gcj0cdhaj94awmybd454j4idy5c1";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive containers
          deepseq hashable servant servant-client servant-client-core text
          time
        ];
        testHaskellDepends = [
-         base http-client servant-client servant-client-core tasty
+         base http-client servant servant-client servant-client-core tasty
          tasty-hunit
        ];
        description = "PowerDNS API bindings for api/v1";
@@ -219627,8 +220277,8 @@ self: {
      }:
      mkDerivation {
        pname = "procex";
-       version = "0.3.1";
-       sha256 = "16f91ic12wldf59dabdca76bdcvq5r1alf05bai060dby5qqj2qj";
+       version = "0.3.2";
+       sha256 = "0962i86fdlgrzrzq6sp1v5hpkp1vsrsacpnalxvsz1nc81pi14qj";
        libraryHaskellDepends = [
          async base bytestring containers deepseq unix utf8-string
        ];
@@ -219724,6 +220374,7 @@ self: {
        libraryHaskellDepends = [ base category ];
        description = "Product category";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "product-isomorphic" = callPackage
@@ -221661,8 +222312,8 @@ self: {
      }:
      mkDerivation {
        pname = "ptera-th";
-       version = "0.3.0.0";
-       sha256 = "0w5kr7cp0kcxh1cmqb38waxci81i9ccqn42kvhkrkzf35pnkn0m4";
+       version = "0.4.0.0";
+       sha256 = "00rvc6y3wnxsr3ybxd3wmywgcwsajjh0g40magnlfzkgdnih9qg2";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          array base containers enummapset-th ghc-prim membership ptera
@@ -221727,6 +222378,22 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "ptr-poker_0_1_2_8" = callPackage
+    ({ mkDerivation, base, bytestring, gauge, hedgehog, numeric-limits
+     , rerebase, scientific, text
+     }:
+     mkDerivation {
+       pname = "ptr-poker";
+       version = "0.1.2.8";
+       sha256 = "10bbfw0jdzvds4j6qcgppn4l7xflqa2578w6sqmz807mwr563f8c";
+       libraryHaskellDepends = [ base bytestring scientific text ];
+       testHaskellDepends = [ hedgehog numeric-limits rerebase ];
+       benchmarkHaskellDepends = [ gauge rerebase ];
+       description = "Pointer poking action construction and composition toolkit";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ptrdiff" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -222330,18 +222997,18 @@ self: {
      , fsnotify, gitrev, Glob, happy, haskeline, hspec, hspec-discover
      , http-types, HUnit, language-javascript, lifted-async, lifted-base
      , memory, microlens, microlens-platform, monad-control
-     , monad-logger, mtl, network, optparse-applicative, parallel
-     , parsec, pattern-arrows, process, protolude, purescript-cst
-     , QuickCheck, regex-base, regex-tdfa, safe, scientific, semialign
-     , semigroups, serialise, sourcemap, split, stm, stringsearch, syb
-     , text, these, time, transformers, transformers-base
-     , transformers-compat, unordered-containers, utf8-string, vector
-     , wai, wai-websockets, warp, websockets
+     , monad-logger, monoidal-containers, mtl, network
+     , optparse-applicative, parallel, parsec, pattern-arrows, process
+     , protolude, QuickCheck, regex-base, regex-tdfa, safe, scientific
+     , semialign, semigroups, serialise, sourcemap, split, stm
+     , stringsearch, syb, text, these, time, transformers
+     , transformers-base, transformers-compat, unordered-containers
+     , utf8-string, vector
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.14.9";
-       sha256 = "13canh915v668ii58y880b6zgzga3qmxxiblljs9qsdpwx1q7yzd";
+       version = "0.15.0";
+       sha256 = "0md1rkm7w6yn45i4igwqpvb82p491ai1w1z2yiym1qyi8p08798g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -222350,10 +223017,10 @@ self: {
          cheapskate clock containers cryptonite data-ordlist deepseq
          directory dlist edit-distance file-embed filepath fsnotify Glob
          haskeline language-javascript lifted-async lifted-base memory
-         microlens microlens-platform monad-control monad-logger mtl
-         parallel parsec pattern-arrows process protolude purescript-cst
-         regex-tdfa safe scientific semialign semigroups serialise sourcemap
-         split stm stringsearch syb text these time transformers
+         microlens microlens-platform monad-control monad-logger
+         monoidal-containers mtl parallel parsec pattern-arrows process
+         protolude regex-tdfa safe scientific semialign semigroups serialise
+         sourcemap split stm stringsearch syb text these time transformers
          transformers-base transformers-compat unordered-containers
          utf8-string vector
        ];
@@ -222365,12 +223032,12 @@ self: {
          directory dlist edit-distance exceptions file-embed filepath
          fsnotify gitrev Glob haskeline http-types language-javascript
          lifted-async lifted-base memory microlens microlens-platform
-         monad-control monad-logger mtl network optparse-applicative
-         parallel parsec pattern-arrows process protolude purescript-cst
-         regex-tdfa safe scientific semialign semigroups serialise sourcemap
-         split stm stringsearch syb text these time transformers
+         monad-control monad-logger monoidal-containers mtl network
+         optparse-applicative parallel parsec pattern-arrows process
+         protolude regex-tdfa safe scientific semialign semigroups serialise
+         sourcemap split stm stringsearch syb text these time transformers
          transformers-base transformers-compat unordered-containers
-         utf8-string vector wai wai-websockets warp websockets
+         utf8-string vector
        ];
        executableToolDepends = [ happy ];
        testHaskellDepends = [
@@ -222379,11 +223046,11 @@ self: {
          cheapskate clock containers cryptonite data-ordlist deepseq
          directory dlist edit-distance file-embed filepath fsnotify Glob
          haskeline hspec HUnit language-javascript lifted-async lifted-base
-         memory microlens microlens-platform monad-control monad-logger mtl
-         parallel parsec pattern-arrows process protolude purescript-cst
-         QuickCheck regex-base regex-tdfa safe scientific semialign
-         semigroups serialise sourcemap split stm stringsearch syb text
-         these time transformers transformers-base transformers-compat
+         memory microlens microlens-platform monad-control monad-logger
+         monoidal-containers mtl parallel parsec pattern-arrows process
+         protolude QuickCheck regex-base regex-tdfa safe scientific
+         semialign semigroups serialise sourcemap split stm stringsearch syb
+         text these time transformers transformers-base transformers-compat
          unordered-containers utf8-string vector
        ];
        testToolDepends = [ happy hspec-discover ];
@@ -225845,6 +226512,7 @@ self: {
        libraryHaskellDepends = [ base primitive transformers util ];
        description = "Class of random value generation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "random-derive" = callPackage
@@ -226178,6 +226846,7 @@ self: {
        testHaskellDepends = [ base doctest typecheck-plugin-nat-simple ];
        description = "The list like structure whose length or range of length can be specified";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "rangemin" = callPackage
@@ -228959,6 +229628,19 @@ self: {
        broken = true;
      }) {};
 
+  "refined-with" = callPackage
+    ({ mkDerivation, aeson, base, deepseq, hashable, refined }:
+     mkDerivation {
+       pname = "refined-with";
+       version = "0.3.0";
+       sha256 = "1d74ax7z822xsdnajsja1h49j966s7ym2ah35bpxlikl1l2wsmnh";
+       libraryHaskellDepends = [ aeson base deepseq hashable refined ];
+       description = "Refinement types with an \"refinement applied\" switch";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "refinery" = callPackage
     ({ mkDerivation, base, checkers, exceptions, hspec, mmorph, mtl
      , QuickCheck
@@ -229815,31 +230497,19 @@ self: {
     ({ mkDerivation, base, containers, mtl, semigroups, text }:
      mkDerivation {
        pname = "reform";
-       version = "0.2.7.4";
-       sha256 = "0dl0jz5ibcj4vafpf0a0v52rac4nmmif69817g7qgxavc093nq82";
-       libraryHaskellDepends = [ base containers mtl semigroups text ];
-       description = "reform is a type-safe HTML form generation and validation library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "reform_0_2_7_5" = callPackage
-    ({ mkDerivation, base, containers, mtl, semigroups, text }:
-     mkDerivation {
-       pname = "reform";
        version = "0.2.7.5";
        sha256 = "14p98i2682dm1n4drdrvilz67wfp2lr7m8f0wlmk40q3qmhc05xb";
        libraryHaskellDepends = [ base containers mtl semigroups text ];
        description = "reform is a type-safe HTML form generation and validation library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "reform-blaze" = callPackage
     ({ mkDerivation, base, blaze-html, blaze-markup, reform, text }:
      mkDerivation {
        pname = "reform-blaze";
-       version = "0.2.4.3";
-       sha256 = "1r5j827diiqybjm75j0gmfb81q7irdc11sj714589xbb6lkz3g0i";
+       version = "0.2.4.4";
+       sha256 = "0cf1nimvkpag4fqs9jk17cl0h9wkpv2lcq5m1l704pznms22s7c7";
        libraryHaskellDepends = [
          base blaze-html blaze-markup reform text
        ];
@@ -229866,8 +230536,8 @@ self: {
      }:
      mkDerivation {
        pname = "reform-happstack";
-       version = "0.2.5.4";
-       sha256 = "1xknj906vr0q6vrxrvna1777v7hsdg1l3r0wwnga7k1yn5hcfc76";
+       version = "0.2.5.5";
+       sha256 = "0knsx790vf5xvnxhfdz48gz3352z98ghy1ld7yh3rmp1apciqd35";
        libraryHaskellDepends = [
          base bytestring happstack-server mtl random reform text utf8-string
        ];
@@ -230902,8 +231572,8 @@ self: {
      }:
      mkDerivation {
        pname = "registry-messagepack";
-       version = "0.1.0.2";
-       sha256 = "0pwljb8zdq5m47zjfbmy8827g99y2fai6ib9z2p82kkknag1mg5q";
+       version = "0.1.0.3";
+       sha256 = "0i49cic87jdkfalwbyry7c6f1828vd1n33nkdjmxa73w3vhjklf5";
        libraryHaskellDepends = [
          base containers msgpack protolude registry template-haskell text
          transformers vector
@@ -233210,8 +233880,8 @@ self: {
      }:
      mkDerivation {
        pname = "restful-snap";
-       version = "0.4.1";
-       sha256 = "1447hbwky8lslblq3vpm7d1zyri4apmf459fbaq3m15kkd1qsyxq";
+       version = "0.4.2";
+       sha256 = "0639j9dv51jra3mx9pqsb9hwrp73cw4xlc27p4hklk3xqr0fvf0p";
        libraryHaskellDepends = [
          base blaze-builder bytestring containers data-default
          digestive-functors errors heist lens map-syntax mtl old-locale
@@ -233434,8 +234104,8 @@ self: {
        pname = "retrie";
        version = "1.2.0.1";
        sha256 = "1n3g9wr45xz1q2mhlj1r2709rqakczrvd7x6vxh7iapz43f69c6x";
-       revision = "1";
-       editedCabalFile = "0dx1gxf2c88rzd1z83lmvgpbv8xny9yz8px4cjjpnmlrah1fmmqh";
+       revision = "2";
+       editedCabalFile = "0h6r4jg9mnqwvlsl3s6yl2zvhkwr8pdypbzvky4kwz4zvc03j5ql";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -233464,8 +234134,8 @@ self: {
      }:
      mkDerivation {
        pname = "retroclash-lib";
-       version = "0.1.1";
-       sha256 = "1v8xw37cbnz16gqmf65hgk0kvh0vgmq8sj6nh4ngz48l6i5wylv6";
+       version = "0.1.2";
+       sha256 = "11f15nhxp8aaim6yrzlh33dilp2zywdfikgdii44q0mszmm9q0vr";
        libraryHaskellDepends = [
          barbies base clash-ghc clash-lib clash-prelude containers
          ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
@@ -234461,6 +235131,35 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "rio_0_1_22_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, directory
+     , exceptions, filepath, hashable, hspec, hspec-discover, microlens
+     , microlens-mtl, mtl, primitive, process, QuickCheck, text, time
+     , typed-process, unix, unliftio, unliftio-core
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "rio";
+       version = "0.1.22.0";
+       sha256 = "0rpc4f2yvw0y6mqz9ykm3778j6srya7ssww691kpf9nb8vddgjb6";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq directory exceptions filepath
+         hashable microlens microlens-mtl mtl primitive process text time
+         typed-process unix unliftio unliftio-core unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers deepseq directory exceptions filepath
+         hashable hspec microlens microlens-mtl mtl primitive process
+         QuickCheck text time typed-process unix unliftio unliftio-core
+         unordered-containers vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A standard library for Haskell";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "rio-app" = callPackage
     ({ mkDerivation, base, optparse-simple, resourcet, rio }:
      mkDerivation {
@@ -236042,6 +236741,7 @@ self: {
        doHaddock = false;
        description = "Row types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "row-types" = callPackage
@@ -237886,15 +238586,15 @@ self: {
        license = lib.licenses.mit;
      }) {inherit (pkgs) libsodium;};
 
-  "saltine_0_2_0_0" = callPackage
+  "saltine_0_2_0_1" = callPackage
     ({ mkDerivation, base, bytestring, criterion, deepseq, hashable
      , libsodium, profunctors, QuickCheck, semigroups, test-framework
      , test-framework-quickcheck2, text
      }:
      mkDerivation {
        pname = "saltine";
-       version = "0.2.0.0";
-       sha256 = "1xgrnm6qmm0mymq3dh4mdvzi8sfssnpz06xsrw8zdpa1vl0a0gm6";
+       version = "0.2.0.1";
+       sha256 = "181fxlp8p0zhz58h23fxavhcbxkwhd3a3idlbhawb2rhiah6fs6f";
        libraryHaskellDepends = [
          base bytestring deepseq hashable profunctors text
        ];
@@ -238750,6 +239450,36 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) z3;};
 
+  "sbv_9_0" = callPackage
+    ({ mkDerivation, array, async, base, bytestring, containers
+     , deepseq, directory, filepath, hlint, libBF, mtl, pretty, process
+     , QuickCheck, random, syb, tasty, tasty-bench, tasty-golden
+     , tasty-hunit, tasty-quickcheck, template-haskell, text, time
+     , transformers, uniplate, z3
+     }:
+     mkDerivation {
+       pname = "sbv";
+       version = "9.0";
+       sha256 = "0r84ak8n8vqs1xbvxjzai828yr5msjyf5igf6qmn6f47m0mhf6cz";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array async base containers deepseq directory filepath libBF mtl
+         pretty process QuickCheck random syb template-haskell text time
+         transformers uniplate
+       ];
+       testHaskellDepends = [
+         base bytestring containers directory filepath hlint mtl process
+         QuickCheck random tasty tasty-golden tasty-hunit tasty-quickcheck
+       ];
+       testSystemDepends = [ z3 ];
+       benchmarkHaskellDepends = [
+         base deepseq filepath process random tasty tasty-bench time
+       ];
+       description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) z3;};
+
   "sbvPlugin" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, ghc
      , ghc-prim, mtl, process, sbv, tasty, tasty-golden
@@ -238757,8 +239487,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbvPlugin";
-       version = "9.0.1";
-       sha256 = "1hg1sxnspyxjpj98c2h7hzf93m9acw8cjiva4wsnxl1gspln4gwb";
+       version = "9.2.2";
+       sha256 = "0cv2f6n32m8xaii5dpk3kz6wclxgmri1zfh09dq23s91l5asrp1v";
        libraryHaskellDepends = [
          base containers ghc ghc-prim mtl sbv template-haskell
        ];
@@ -240077,8 +240807,8 @@ self: {
      }:
      mkDerivation {
        pname = "scotty-utils";
-       version = "0.1.0.0";
-       sha256 = "0f77b5xmr5gwswz15i5833karfr1qvyaaiy58khd75n9awfx5jqv";
+       version = "0.2.0.0";
+       sha256 = "0b2r43dcgcq7azcn0l9lxml84h6w5bk09h65y1mlvccwzhwbfini";
        libraryHaskellDepends = [
          aeson aeson-result base http-types scotty text
        ];
@@ -241109,29 +241839,6 @@ self: {
      }:
      mkDerivation {
        pname = "secp256k1-haskell";
-       version = "0.6.0";
-       sha256 = "0qq37xy61kk5h9h6zaiycjlrr1k9kjddy319qgqi0ja9vkm8msj1";
-       libraryHaskellDepends = [
-         base base16 bytestring cereal deepseq entropy hashable QuickCheck
-         string-conversions unliftio-core
-       ];
-       libraryPkgconfigDepends = [ secp256k1 ];
-       testHaskellDepends = [
-         base base16 bytestring cereal deepseq entropy hashable hspec HUnit
-         monad-par mtl QuickCheck string-conversions unliftio-core
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Bindings for secp256k1";
-       license = lib.licenses.mit;
-     }) {inherit (pkgs) secp256k1;};
-
-  "secp256k1-haskell_0_6_1" = callPackage
-    ({ mkDerivation, base, base16, bytestring, cereal, deepseq, entropy
-     , hashable, hspec, hspec-discover, HUnit, monad-par, mtl
-     , QuickCheck, secp256k1, string-conversions, unliftio-core
-     }:
-     mkDerivation {
-       pname = "secp256k1-haskell";
        version = "0.6.1";
        sha256 = "0abxwmls4rvsnck7p5gpajmha2vc9fbcrr2q1alkpw8acmgfhr76";
        libraryHaskellDepends = [
@@ -241146,7 +241853,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Bindings for secp256k1";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) secp256k1;};
 
   "secp256k1-legacy" = callPackage
@@ -242455,10 +243161,8 @@ self: {
      }:
      mkDerivation {
        pname = "serialise";
-       version = "0.2.4.0";
-       sha256 = "07i50rza58x8j7kw9w2mhbks41gjv6xgnlgfdb0hw2cwdmkrmjqd";
-       revision = "1";
-       editedCabalFile = "0rgc0sr4csmiq38sf6x1xz6cqmp30nn8837xsfwpvcfb7kh4bqy0";
+       version = "0.2.5.0";
+       sha256 = "08ny0bdxd591w4bx6sd16ndik0j8g3578ck6zj667rm1z3ssqqj2";
        libraryHaskellDepends = [
          array base bytestring cborg containers ghc-prim half hashable
          primitive strict text these time unordered-containers vector
@@ -243101,8 +243805,6 @@ self: {
        ];
        description = "Servant CSV content-type for cassava";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-checked-exceptions" = callPackage
@@ -243514,8 +244216,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-errors";
-       version = "0.1.6.0";
-       sha256 = "0qap8wbchpl48aigwqgxrgb6v3d6h80fpxq319c399pwrrkzyh9v";
+       version = "0.1.7.0";
+       sha256 = "0g7mclwxvjw9jwxmd8nkz9a0v4jwm9nxpwlranfdm2f55pa288i1";
        libraryHaskellDepends = [
          aeson base base-compat bytestring http-api-data http-media
          http-types scientific servant string-conversions text
@@ -243801,14 +244503,14 @@ self: {
     ({ mkDerivation, base, servant-server, text }:
      mkDerivation {
        pname = "servant-htmx";
-       version = "0.1.0.1";
-       sha256 = "1plqqaa3vhmwg37bai6xpi415fd772fx6rf0dr919mc79ms0zcfx";
+       version = "0.1.0.2";
+       sha256 = "06lcs2qv6dxlx6sj16qr426vm7rklv80d720hrw4zfdba5rsl7d9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base servant-server text ];
        executableHaskellDepends = [ base servant-server text ];
        testHaskellDepends = [ base servant-server text ];
-       description = "A library for using htmx with servant";
+       description = "A library for using servant with htmx";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
@@ -246602,16 +247304,16 @@ self: {
   "shake-bench" = callPackage
     ({ mkDerivation, aeson, base, Chart, Chart-diagrams
      , diagrams-contrib, diagrams-core, diagrams-lib, diagrams-svg
-     , directory, extra, filepath, lens, lens-aeson, shake, text
+     , directory, extra, filepath, lens, lens-aeson, mtl, shake, text
      }:
      mkDerivation {
        pname = "shake-bench";
-       version = "0.1.0.3";
-       sha256 = "04pngr9a1g7dr7kb0xp9k2yrbg6vqk3lfpksz6bbyydbmypix3ay";
+       version = "0.1.1.0";
+       sha256 = "1p2xa2kxfvzy2c188i9czr5w4jck4sxw2jb7s9dc1b5xf1a4bi01";
        libraryHaskellDepends = [
          aeson base Chart Chart-diagrams diagrams-contrib diagrams-core
          diagrams-lib diagrams-svg directory extra filepath lens lens-aeson
-         shake text
+         mtl shake text
        ];
        description = "Build rules for historical benchmarking";
        license = lib.licenses.asl20;
@@ -247024,6 +247726,33 @@ self: {
        maintainers = with lib.maintainers; [ psibi ];
      }) {};
 
+  "shakespeare_2_0_27" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , containers, directory, exceptions, file-embed, ghc-prim, hspec
+     , HUnit, parsec, process, scientific, template-haskell, text
+     , th-lift, time, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "shakespeare";
+       version = "2.0.27";
+       sha256 = "1bnl7m96x8qr2rvkfzjy01d720xb3c55l3vg0zm2lfbz3gpml1jz";
+       libraryHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions file-embed ghc-prim parsec process scientific
+         template-haskell text th-lift time transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions ghc-prim hspec HUnit parsec process template-haskell
+         text time transformers
+       ];
+       description = "A toolkit for making compile-time interpolated templates";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ psibi ];
+     }) {};
+
   "shakespeare-babel" = callPackage
     ({ mkDerivation, base, classy-prelude, data-default, directory
      , process, shakespeare, template-haskell
@@ -248719,6 +249448,8 @@ self: {
        pname = "simple-cmd";
        version = "0.2.4";
        sha256 = "19kd863gm33sj01biqz94jk9cy8vb07xlqmw2m9vlh16h3phgqv1";
+       revision = "1";
+       editedCabalFile = "01sqxzvkkj4lvsp3kd8qjb5p2k6ylkiv4a2dc821ihapr0cf2fzj";
        libraryHaskellDepends = [
          base directory extra filepath process unix
        ];
@@ -248727,6 +249458,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "simple-cmd_0_2_5" = callPackage
+    ({ mkDerivation, base, directory, extra, filepath, hspec, process
+     , time, unix
+     }:
+     mkDerivation {
+       pname = "simple-cmd";
+       version = "0.2.5";
+       sha256 = "151js143l6b5rg6llvmcy1hcg80cmbp50ydrjhyfjqj32a1ygrsz";
+       libraryHaskellDepends = [
+         base directory extra filepath process time unix
+       ];
+       testHaskellDepends = [ base hspec ];
+       description = "Simple String-based process commands";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "simple-cmd-args" = callPackage
     ({ mkDerivation, base, optparse-applicative }:
      mkDerivation {
@@ -249730,8 +250478,8 @@ self: {
      }:
      mkDerivation {
        pname = "simplexmq";
-       version = "1.0.2";
-       sha256 = "142jpsy8myjffx4c1iw21iv210wgnyikmr66bih4gm3xgbqniz9q";
+       version = "1.1.0";
+       sha256 = "1qzrc32bs4s2qn8hz6z0ni5nv89a6vakl5wzk8sa7p2b3fkrc3gw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -251626,14 +252374,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "smash_0_1_3" = callPackage
+    ({ mkDerivation, base, bifunctors, binary, deepseq, hashable, mtl
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "smash";
+       version = "0.1.3";
+       sha256 = "1i8a8i81xs68zrsv173q0xv0f9cmxmhkgd5k90x60kv7v5pwpqw4";
+       libraryHaskellDepends = [
+         base bifunctors binary deepseq hashable mtl template-haskell
+       ];
+       description = "Combinators for Maybe types";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "smash-aeson" = callPackage
     ({ mkDerivation, aeson, base, smash, unordered-containers }:
      mkDerivation {
        pname = "smash-aeson";
-       version = "0.1.0.0";
-       sha256 = "0vmazs3ypqxaw4zdywimxfzrsvidnyk5damx6fpy549ny9319rqs";
-       revision = "1";
-       editedCabalFile = "1y0k6gz9qlr98f543607zkx6a97fnzh3zrbi2b59rlljp0rjvdw8";
+       version = "0.2.0.1";
+       sha256 = "0gbqvm34afkv1v0xajz8cjw0xaih3ls4dh1ygcbybgic08y0xl85";
        libraryHaskellDepends = [ aeson base smash unordered-containers ];
        description = "Aeson support for the smash library";
        license = lib.licenses.bsd3;
@@ -251645,8 +252407,8 @@ self: {
     ({ mkDerivation, base, lens, smash }:
      mkDerivation {
        pname = "smash-lens";
-       version = "0.1.0.1";
-       sha256 = "1j7v3713aahp3vh7dswrkdfrnksi1zlw9iv9zanhb714s6anyq66";
+       version = "0.1.0.3";
+       sha256 = "0lzvw7349wv1fjsm4q4jwggmjx9cxsrrjydvpq3q12kj6s9p9m5k";
        libraryHaskellDepends = [ base lens smash ];
        testHaskellDepends = [ base ];
        description = "Optics for the `smash` library";
@@ -251669,12 +252431,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "smash-microlens_0_1_0_2" = callPackage
+    ({ mkDerivation, base, microlens, smash }:
+     mkDerivation {
+       pname = "smash-microlens";
+       version = "0.1.0.2";
+       sha256 = "0rfpdaw1zs8fpw6kp5zkrhj8nmx839fp2ca0cgk14g431yl651ir";
+       libraryHaskellDepends = [ base microlens smash ];
+       testHaskellDepends = [ base ];
+       description = "Optics for the `smash` library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "smash-optics" = callPackage
     ({ mkDerivation, base, optics-core, smash }:
      mkDerivation {
        pname = "smash-optics";
-       version = "0.1.0.1";
-       sha256 = "1jf60vx8hlmyjgap91fvwn0p0hnazpcimshhkz5lsys0ynd4pcwh";
+       version = "0.1.0.2";
+       sha256 = "0acxkswkvbcwd8mawy9w029h01g3l30rkvvy6yzkb693l8xwiiry";
        libraryHaskellDepends = [ base optics-core smash ];
        description = "Optics for the `smash` library using `optics-core`";
        license = lib.licenses.bsd3;
@@ -251884,6 +252659,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Interface to Satisfiability Modulo Theories solvers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "smt-lib" = callPackage
@@ -252138,14 +252914,14 @@ self: {
      }:
      mkDerivation {
        pname = "snack";
-       version = "0.1.0.0";
-       sha256 = "01h49r64mg55ii32gnd7bab4rmgp73r3gks9g35z2qgdacwijwac";
+       version = "0.2.0.0";
+       sha256 = "13crnza7fav388s3n8gywbjam97xqhdqh0r10dcgpm5jffi8vns2";
        libraryHaskellDepends = [ base bytestring bytestring-lexing text ];
        benchmarkHaskellDepends = [
          attoparsec base bytestring criterion string-conversions text
        ];
        description = "Strict ByteString Parser Combinator";
-       license = lib.licenses.mit;
+       license = lib.licenses.cc0;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
@@ -252521,6 +253297,8 @@ self: {
        pname = "snap-server";
        version = "1.1.2.0";
        sha256 = "0w4yv9a5ilpma0335ariwap2iscmdbaaif88lq3cm7px910nyc4j";
+       revision = "1";
+       editedCabalFile = "0ijwp0s976cpb4nny8l7vpf5xny6k8dy2xb1rya1l2x5yzj7hlrj";
        configureFlags = [ "-fopenssl" ];
        isLibrary = true;
        isExecutable = true;
@@ -252666,21 +253444,21 @@ self: {
     ({ mkDerivation, base, blaze-builder, bytestring
      , digestive-functors, digestive-functors-heist
      , digestive-functors-snap, errors, heist, lens, map-syntax
-     , persistent, persistent-postgresql, persistent-template, readable
-     , restful-snap, snap, snap-extras, snaplet-persistent, text, time
-     , transformers, unordered-containers, xmlhtml
+     , persistent, persistent-postgresql, readable, restful-snap, snap
+     , snap-extras, snaplet-persistent, text, time, transformers
+     , unordered-containers, xmlhtml
      }:
      mkDerivation {
        pname = "snaplet-actionlog";
-       version = "0.3.1";
-       sha256 = "1cs1spfy253zf2lxjdx2ki20ikzyj035xcxkzldxkn994amw2p7l";
+       version = "0.4.0";
+       sha256 = "1sg6pni9317v9g0v69b4a8rhnln6bal9iv0znz07ssgj9jg1ppp0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base blaze-builder bytestring digestive-functors
          digestive-functors-heist digestive-functors-snap errors heist lens
-         map-syntax persistent persistent-postgresql persistent-template
-         readable restful-snap snap snap-extras snaplet-persistent text time
-         transformers unordered-containers xmlhtml
+         map-syntax persistent persistent-postgresql readable restful-snap
+         snap snap-extras snaplet-persistent text time transformers
+         unordered-containers xmlhtml
        ];
        description = "Generic action log snaplet for the Snap Framework";
        license = lib.licenses.bsd3;
@@ -259761,6 +260539,56 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "store_0_7_15" = callPackage
+    ({ mkDerivation, array, async, base, base-orphans
+     , base64-bytestring, bifunctors, bytestring, cereal, cereal-vector
+     , clock, containers, contravariant, criterion, cryptohash, deepseq
+     , directory, filepath, free, ghc-prim, hashable, hspec
+     , hspec-discover, hspec-smallcheck, integer-gmp, lifted-base
+     , monad-control, mono-traversable, nats, network, primitive
+     , resourcet, safe, smallcheck, store-core, syb, template-haskell
+     , text, th-lift, th-lift-instances, th-orphans, th-reify-many
+     , th-utilities, time, transformers, unordered-containers, vector
+     , vector-binary-instances, void, weigh
+     }:
+     mkDerivation {
+       pname = "store";
+       version = "0.7.15";
+       sha256 = "0ws8gck230q2wcmgbpynvppd122ag1rksjjg67wcy62dfkzdk264";
+       libraryHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring containers contravariant cryptohash deepseq directory
+         filepath free ghc-prim hashable hspec hspec-smallcheck integer-gmp
+         lifted-base monad-control mono-traversable nats network primitive
+         resourcet safe smallcheck store-core syb template-haskell text
+         th-lift th-lift-instances th-orphans th-reify-many th-utilities
+         time transformers unordered-containers vector void
+       ];
+       testHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring clock containers contravariant cryptohash deepseq
+         directory filepath free ghc-prim hashable hspec hspec-smallcheck
+         integer-gmp lifted-base monad-control mono-traversable nats network
+         primitive resourcet safe smallcheck store-core syb template-haskell
+         text th-lift th-lift-instances th-orphans th-reify-many
+         th-utilities time transformers unordered-containers vector void
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring cereal cereal-vector containers contravariant criterion
+         cryptohash deepseq directory filepath free ghc-prim hashable hspec
+         hspec-smallcheck integer-gmp lifted-base monad-control
+         mono-traversable nats network primitive resourcet safe smallcheck
+         store-core syb template-haskell text th-lift th-lift-instances
+         th-orphans th-reify-many th-utilities time transformers
+         unordered-containers vector vector-binary-instances void weigh
+       ];
+       description = "Fast binary serialization";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "store-core" = callPackage
     ({ mkDerivation, base, bytestring, ghc-prim, primitive, text
      , transformers
@@ -261406,8 +262234,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "string-interpreter";
-       version = "0.5.5.0";
-       sha256 = "094fh3byv0bgcaccq15nqra31cw12csmyqj38hib2a2p6jnc3mq1";
+       version = "0.6.0.0";
+       sha256 = "0a0i95j8y49wijh2c0bpy5fwz72w0p6nh19df56g2yy7xik5h6xq";
        libraryHaskellDepends = [ base ];
        description = "Is used in the phonetic languages approach (e. g. in the recursive mode).";
        license = lib.licenses.mit;
@@ -262282,8 +263110,8 @@ self: {
      }:
      mkDerivation {
        pname = "stylish-haskell";
-       version = "0.14.1.0";
-       sha256 = "1chgkxqbnrgq7w9zzx118igp08h9vfgp150akazmgimy378cadlk";
+       version = "0.14.2.0";
+       sha256 = "1k2ffsizpy476v3zj6j634ap62qklzv80ryyh7c3j5l2cbzfv0gi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -263844,23 +264672,23 @@ self: {
 
   "swish" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, hashable
-     , HUnit, intern, mtl, network-uri, old-locale, polyparse
-     , semigroups, test-framework, test-framework-hunit, text, time
+     , HUnit, intern, mtl, network-uri, polyparse, semigroups
+     , test-framework, test-framework-hunit, text, time
      }:
      mkDerivation {
        pname = "swish";
-       version = "0.10.1.0";
-       sha256 = "0xy12fmmiydaqm0cng24qd7c1py1sbb4ww66w0n5w26kwgh622cc";
+       version = "0.10.2.0";
+       sha256 = "162sq6k9ylzlnqj4l9plykvhhrkc7sc08bza6az5cadfvnqlham8";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers directory filepath hashable intern mtl network-uri
-         old-locale polyparse text time
+         polyparse text time
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         base containers hashable HUnit network-uri old-locale semigroups
+         base containers hashable HUnit network-uri semigroups
          test-framework test-framework-hunit text time
        ];
        description = "A semantic web toolkit";
@@ -264027,17 +264855,17 @@ self: {
      , MonadRandom, mtl, optparse-applicative, path, path-io
      , pretty-show, QuickCheck, quickcheck-io, random, random-shuffle
      , safe, safe-coloured-text, safe-coloured-text-terminfo, split, stm
-     , sydtest-discover, text, yaml
+     , sydtest-discover, text
      }:
      mkDerivation {
        pname = "sydtest";
-       version = "0.9.0.0";
-       sha256 = "1gp9kifyh88pjnk7vnb0p09fkcmnhy5akgfdacmrmgwcnyswx6f1";
+       version = "0.10.0.0";
+       sha256 = "009d4ai8dqhxcrgkd0d37l97dkiqh7qmr1wvhwj38mblrhpgpm3z";
        libraryHaskellDepends = [
          async autodocodec autodocodec-yaml base bytestring containers Diff
          dlist envparse filepath MonadRandom mtl optparse-applicative path
          path-io pretty-show QuickCheck quickcheck-io random-shuffle safe
-         safe-coloured-text safe-coloured-text-terminfo split stm text yaml
+         safe-coloured-text safe-coloured-text-terminfo split stm text
        ];
        testHaskellDepends = [
          base bytestring path path-io QuickCheck random safe-coloured-text
@@ -264050,17 +264878,18 @@ self: {
      }) {};
 
   "sydtest-aeson" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, path
-     , path-io, sydtest, sydtest-discover, text
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, deepseq
+     , directory, path, path-io, sydtest, sydtest-discover, text
      }:
      mkDerivation {
        pname = "sydtest-aeson";
-       version = "0.0.0.0";
-       sha256 = "0x4n27v60m6h44xwpf60j11j1r9r1zzixlszq21skrf2r6lla2gn";
+       version = "0.1.0.0";
+       sha256 = "1kidxlaw8snyzl0nq2vynjz179blh03cvg2qdjr5j521cjxxmwf8";
        libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring path path-io sydtest text
+         aeson aeson-pretty base bytestring deepseq path path-io sydtest
+         text
        ];
-       testHaskellDepends = [ aeson base sydtest text ];
+       testHaskellDepends = [ aeson base directory sydtest text ];
        testToolDepends = [ sydtest-discover ];
        description = "An aeson companion library for sydtest";
        license = "unknown";
@@ -264113,8 +264942,8 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest-hedgehog";
-       version = "0.1.0.0";
-       sha256 = "0p0aj2jd6cgi3mdzdlwksczikxsx9ajh0lcvd6k4059x1ddjxplb";
+       version = "0.2.0.0";
+       sha256 = "084nqzl1i5phy0hwdgcx0dvlajr8g1iva73f3j9y9rsgl08wh727";
        libraryHaskellDepends = [ base containers hedgehog stm sydtest ];
        testHaskellDepends = [ base hedgehog sydtest ];
        testToolDepends = [ sydtest-discover ];
@@ -264149,8 +264978,8 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest-hspec";
-       version = "0.1.0.0";
-       sha256 = "17j48cp7n0smci0m42yyvkz0rd5xfrysb2f6hwxaqhl703ifhlyy";
+       version = "0.3.0.0";
+       sha256 = "1vda3jhgnqbs0sw219li3s83vyqr1k1hzvy0prr2c4hv62cr47p3";
        libraryHaskellDepends = [
          base hspec-core mtl QuickCheck stm sydtest
        ];
@@ -264204,19 +265033,19 @@ self: {
 
   "sydtest-persistent-postgresql" = callPackage
     ({ mkDerivation, base, monad-logger, mtl, persistent
-     , persistent-postgresql, persistent-template, sydtest
-     , sydtest-discover, sydtest-persistent, tmp-postgres
+     , persistent-postgresql, sydtest, sydtest-discover
+     , sydtest-persistent, tmp-postgres
      }:
      mkDerivation {
        pname = "sydtest-persistent-postgresql";
-       version = "0.2.0.0";
-       sha256 = "0c3f9m3d7nryb2xvfp7zrqqi9136mgf89ccwg8vlaapnx1bqap43";
+       version = "0.2.0.1";
+       sha256 = "1j4mb5vxwcdpfnrbk1xk8cg9s93dzndhdg2b4xgb91ix1c2ly5rz";
        libraryHaskellDepends = [
          base monad-logger mtl persistent persistent-postgresql sydtest
          sydtest-persistent tmp-postgres
        ];
        testHaskellDepends = [
-         base persistent persistent-postgresql persistent-template sydtest
+         base persistent persistent-postgresql sydtest
        ];
        testToolDepends = [ sydtest-discover ];
        description = "An persistent-postgresql companion library for sydtest";
@@ -264226,20 +265055,17 @@ self: {
 
   "sydtest-persistent-sqlite" = callPackage
     ({ mkDerivation, base, monad-logger, mtl, persistent
-     , persistent-sqlite, persistent-template, sydtest, sydtest-discover
-     , sydtest-persistent
+     , persistent-sqlite, sydtest, sydtest-discover, sydtest-persistent
      }:
      mkDerivation {
        pname = "sydtest-persistent-sqlite";
-       version = "0.2.0.0";
-       sha256 = "1l17n6hgc64ngjfdgg6c1zhnlg6ks9bvb7hbv5yf454bhbm6p83s";
+       version = "0.2.0.1";
+       sha256 = "1hy0i03pmdxmrw8nh07m8s7vr9af7m54gw0myn6flw9x57s2zk7v";
        libraryHaskellDepends = [
-         base monad-logger mtl persistent persistent-sqlite
-         persistent-template sydtest sydtest-persistent
-       ];
-       testHaskellDepends = [
-         base persistent persistent-sqlite persistent-template sydtest
+         base monad-logger mtl persistent persistent-sqlite sydtest
+         sydtest-persistent
        ];
+       testHaskellDepends = [ base persistent persistent-sqlite sydtest ];
        testToolDepends = [ sydtest-discover ];
        description = "A persistent-sqlite companion library for sydtest";
        license = "unknown";
@@ -264283,19 +265109,18 @@ self: {
      }) {};
 
   "sydtest-servant" = callPackage
-    ({ mkDerivation, base, http-client, servant, servant-client
-     , servant-server, stm, sydtest, sydtest-discover, sydtest-wai
+    ({ mkDerivation, base, http-client, servant-client, servant-server
+     , stm, sydtest, sydtest-discover, sydtest-wai
      }:
      mkDerivation {
        pname = "sydtest-servant";
-       version = "0.2.0.1";
-       sha256 = "1yclwmcqp6wkcd980ha7a93dz99zc55mcw2z5fwhk3gfwdpdfyfj";
+       version = "0.2.0.2";
+       sha256 = "0gmaf1p7f588mvcf486wb32qjh74gvqyf965wczh5h0phgyg2f8z";
        libraryHaskellDepends = [
-         base http-client servant servant-client servant-server sydtest
-         sydtest-wai
+         base http-client servant-client servant-server sydtest sydtest-wai
        ];
        testHaskellDepends = [
-         base servant servant-client servant-server stm sydtest sydtest-wai
+         base servant-client servant-server stm sydtest sydtest-wai
        ];
        testToolDepends = [ sydtest-discover ];
        description = "A servant companion library for sydtest";
@@ -268862,6 +269687,8 @@ self: {
        pname = "telegram-bot-simple";
        version = "0.5";
        sha256 = "0mzzq7lfl56h1i9dr617h5vcv47j2nsf77pkq18s8wk5zrc67r2w";
+       revision = "1";
+       editedCabalFile = "0nz2g3jfb3l66ixrxlz257pmg2qbg7l6wsi0q38iv8fl4483md2s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -271065,6 +271892,26 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "text-builder_0_6_7" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, QuickCheck
+     , quickcheck-instances, rerebase, tasty, tasty-hunit
+     , tasty-quickcheck, text, text-builder-dev
+     }:
+     mkDerivation {
+       pname = "text-builder";
+       version = "0.6.7";
+       sha256 = "00pl4jbqpcrfc00m3hf871g9k7s0n6xf2igb7ba1dnqh76w4lw4h";
+       libraryHaskellDepends = [ base bytestring text text-builder-dev ];
+       testHaskellDepends = [
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "An efficient strict text builder";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "text-builder-dev" = callPackage
     ({ mkDerivation, base, bytestring, criterion, deferred-folds
      , QuickCheck, quickcheck-instances, rerebase, split, tasty
@@ -271088,6 +271935,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "text-builder-dev_0_3_1" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, deferred-folds
+     , QuickCheck, quickcheck-instances, rerebase, split, tasty
+     , tasty-hunit, tasty-quickcheck, text, transformers
+     }:
+     mkDerivation {
+       pname = "text-builder-dev";
+       version = "0.3.1";
+       sha256 = "18ipiiqrr0hz0yl7lqv2y730vl6mzqp0jg1yir097gp53ky6hzyw";
+       libraryHaskellDepends = [
+         base bytestring deferred-folds split text transformers
+       ];
+       testHaskellDepends = [
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "Edge of developments for \"text-builder\"";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "text-containers" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, ghc-prim
      , hashable, QuickCheck, quickcheck-instances, tasty
@@ -273744,6 +274613,34 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
+  "tidal_1_8_0" = callPackage
+    ({ mkDerivation, async, base, bifunctors, bytestring, clock, colour
+     , containers, criterion, deepseq, exceptions, hint, hosc, microspec
+     , mtl, network, parsec, primitive, random, text, transformers
+     , weigh
+     }:
+     mkDerivation {
+       pname = "tidal";
+       version = "1.8.0";
+       sha256 = "19gh5l8hna9s4k5qw98qcr1s9wpqi6mf2kxd4kz6lzl3yxj56y6z";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bifunctors bytestring clock colour containers deepseq
+         exceptions hosc mtl network parsec primitive random text
+         transformers
+       ];
+       executableHaskellDepends = [ async base exceptions hint ];
+       testHaskellDepends = [
+         base containers deepseq hosc microspec parsec
+       ];
+       benchmarkHaskellDepends = [ base criterion weigh ];
+       description = "Pattern language for improvised music";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tidal-midi" = callPackage
     ({ mkDerivation, base, containers, PortMidi, tidal, time
      , transformers
@@ -279586,17 +280483,19 @@ self: {
 
   "twain" = callPackage
     ({ mkDerivation, aeson, base, bytestring, case-insensitive, cookie
-     , either, exceptions, http-types, http2, text, time, transformers
-     , vault, wai, wai-extra
+     , either, exceptions, hspec, hspec-discover, hspec-wai, http-types
+     , http2, text, time, transformers, vault, wai, wai-extra
      }:
      mkDerivation {
        pname = "twain";
-       version = "2.0.1.0";
-       sha256 = "0wal0qr3bacy7phgbvi2sif5q490jk8mhw675lpl2ch8dmmf769p";
+       version = "2.1.0.0";
+       sha256 = "0ffppxfdrjgqr3csm2cwsc2sgxgrl9dqx60n2zffnh3c7qc7z749";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive cookie either exceptions
          http-types http2 text time transformers vault wai wai-extra
        ];
+       testHaskellDepends = [ base hspec hspec-discover hspec-wai ];
+       testToolDepends = [ hspec-discover ];
        description = "Tiny web application framework for WAI";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -280215,6 +281114,7 @@ self: {
        testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ];
        description = "Text";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "txt-sushi" = callPackage
@@ -281075,16 +281975,20 @@ self: {
      }) {};
 
   "typecheck-plugin-nat-simple" = callPackage
-    ({ mkDerivation, base, containers, ghc }:
+    ({ mkDerivation, base, containers, ghc, ghc-tcplugins-extra }:
      mkDerivation {
        pname = "typecheck-plugin-nat-simple";
-       version = "0.1.0.4";
-       sha256 = "0ybkkfk9ha3f1f5cq45r0rmnws0ai6imwic0srf78d6ys3q5n5n5";
+       version = "0.1.0.6";
+       sha256 = "0qhqys9kiisgy8gwfz92ffvmccgan2v95zxyfnbjqj1z9ks26br5";
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base containers ghc ];
-       testHaskellDepends = [ base containers ghc ];
+       libraryHaskellDepends = [
+         base containers ghc ghc-tcplugins-extra
+       ];
+       testHaskellDepends = [ base containers ghc ghc-tcplugins-extra ];
        description = "Simple type check plugin which calculate addition, subtraction and less-or-equal-than";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "typed-admin" = callPackage
@@ -283829,6 +284733,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Universal";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "universal-binary" = callPackage
@@ -284300,6 +285205,32 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "unliftio_0_2_22_0" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, deepseq
+     , directory, filepath, gauge, hspec, process, QuickCheck, stm, time
+     , transformers, unix, unliftio-core
+     }:
+     mkDerivation {
+       pname = "unliftio";
+       version = "0.2.22.0";
+       sha256 = "125vzwkzp53i5n0yxy7bbivpzgf3c7ynsfhn04xk1ymy9fqsvi0z";
+       libraryHaskellDepends = [
+         async base bytestring deepseq directory filepath process stm time
+         transformers unix unliftio-core
+       ];
+       testHaskellDepends = [
+         async base bytestring containers deepseq directory filepath hspec
+         process QuickCheck stm time transformers unix unliftio-core
+       ];
+       benchmarkHaskellDepends = [
+         async base bytestring deepseq directory filepath gauge process stm
+         time transformers unix unliftio-core
+       ];
+       description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "unliftio-core" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -284453,7 +285384,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "unordered-containers_0_2_18_0" = callPackage
+  "unordered-containers_0_2_19_1" = callPackage
     ({ mkDerivation, base, bytestring, ChasingBottoms, containers
      , deepseq, hashable, hashmap, HUnit, mtl, nothunks, QuickCheck
      , random, tasty, tasty-bench, tasty-hunit, tasty-quickcheck
@@ -284461,8 +285392,8 @@ self: {
      }:
      mkDerivation {
        pname = "unordered-containers";
-       version = "0.2.18.0";
-       sha256 = "09cvqdqaqbf0z5i0hbkgn7hkz44plniznj6zimdx0a86i6lhq3b2";
+       version = "0.2.19.1";
+       sha256 = "1li8s6qw8mgv6a7011y7hg0cn2nllv2g9sr9c1xb48nmw32vw9qv";
        libraryHaskellDepends = [ base deepseq hashable template-haskell ];
        testHaskellDepends = [
          base ChasingBottoms containers hashable HUnit nothunks QuickCheck
@@ -285884,11 +286815,13 @@ self: {
        pname = "util";
        version = "0.1.17.1";
        sha256 = "1qhx4r27sny25sykacf5xi5br4msq4335ghp5zc3fq0lii3866s7";
-       revision = "1";
-       editedCabalFile = "16hbcmcq2674j37gl808n5i02kv0vn3nwq5l2a6v5lj0dn34nicb";
+       revision = "2";
+       editedCabalFile = "0z9bf05jn5y9k5nrjksfpzjml5xchjrj3nk3jh90g8pygs2658rb";
        libraryHaskellDepends = [ base transformers ];
        description = "Utilities";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "util-exception" = callPackage
@@ -286295,10 +287228,8 @@ self: {
      }:
      mkDerivation {
        pname = "uuid-orphans";
-       version = "1.4.5";
-       sha256 = "14d7gyf3sa2874r0dhj3ydvmb1iz174kp4pxz7aq984zb4m6d87z";
-       revision = "2";
-       editedCabalFile = "1202zn5f70f1yvmaknm8l34igg9ihyqs8lhch4ihvx9vcqxs3c0v";
+       version = "1.4.6";
+       sha256 = "0is5f2fn5ip93wla33dcjpl8hscpcwyv6cpxcmqs25vvbwz27kvz";
        libraryHaskellDepends = [
          base safecopy text th-lift uuid-types web-routes
        ];
@@ -286600,6 +287531,7 @@ self: {
        libraryHaskellDepends = [ base util ];
        description = "Type isomorphic to `Either` with `Applicative` instance which combines errors";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "valid-names" = callPackage
@@ -286806,16 +287738,27 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "validity_0_12_0_1" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "validity";
+       version = "0.12.0.1";
+       sha256 = "1j9yswqas9dpb9mv132myfn1rky5vbh5gdvcxbb7p93k5c2y4g0w";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       description = "Validity typeclass";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "validity-aeson" = callPackage
     ({ mkDerivation, aeson, base, hspec, validity, validity-scientific
      , validity-text, validity-unordered-containers, validity-vector
      }:
      mkDerivation {
        pname = "validity-aeson";
-       version = "0.2.0.4";
-       sha256 = "1k0x6va9mmz0z9hgd1is71ks4fgbziw53rm7r6jsidp4ksszdzm0";
-       revision = "1";
-       editedCabalFile = "1zhqg6hac0js33yn0xw10pcp11hbygr95vmcmgpp3sdxdhgpbnmy";
+       version = "0.2.0.5";
+       sha256 = "0gk2mqhsailjp3130jgd17j2254kx28fnhhwyi1f66is1axw6cmj";
        libraryHaskellDepends = [
          aeson base validity validity-scientific validity-text
          validity-unordered-containers validity-vector
@@ -286838,6 +287781,22 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "validity-case-insensitive" = callPackage
+    ({ mkDerivation, base, case-insensitive, genvalidity-hspec, hspec
+     , validity
+     }:
+     mkDerivation {
+       pname = "validity-case-insensitive";
+       version = "0.0.0.0";
+       sha256 = "075pxgviqmf5xi4if15mbabn32xw11nss19a4il9z9ng1fsrcn1d";
+       libraryHaskellDepends = [ base case-insensitive validity ];
+       testHaskellDepends = [
+         base case-insensitive genvalidity-hspec hspec validity
+       ];
+       description = "Validity instances for case-insensitive";
+       license = lib.licenses.mit;
+     }) {};
+
   "validity-containers" = callPackage
     ({ mkDerivation, base, containers, validity }:
      mkDerivation {
@@ -286911,6 +287870,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "validity-text_0_3_1_3" = callPackage
+    ({ mkDerivation, base, bytestring, text, validity }:
+     mkDerivation {
+       pname = "validity-text";
+       version = "0.3.1.3";
+       sha256 = "0igxjd53aqlhhnjilbyjsxs4hjc8b21mpi504kc8c60q0ysq7vks";
+       libraryHaskellDepends = [ base bytestring text validity ];
+       description = "Validity instances for text";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "validity-time" = callPackage
     ({ mkDerivation, base, time, validity }:
      mkDerivation {
@@ -290132,36 +291103,6 @@ self: {
      }:
      mkDerivation {
        pname = "wai-extra";
-       version = "3.1.8";
-       sha256 = "0ddgdr0304b3kg50vfjsg3bxlhfp3vmsb4c8i80k8adqzh54hz5l";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal base base64-bytestring bytestring call-stack
-         case-insensitive containers cookie data-default-class directory
-         fast-logger http-types http2 HUnit iproute network resourcet
-         streaming-commons text time transformers unix vault wai wai-logger
-         word8
-       ];
-       testHaskellDepends = [
-         aeson base bytestring case-insensitive cookie fast-logger hspec
-         http-types http2 HUnit iproute resourcet text time transformers wai
-         zlib
-       ];
-       description = "Provides some basic WAI handlers and middleware";
-       license = lib.licenses.mit;
-     }) {};
-
-  "wai-extra_3_1_10" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, base64-bytestring
-     , bytestring, call-stack, case-insensitive, containers, cookie
-     , data-default-class, directory, fast-logger, hspec, http-types
-     , http2, HUnit, iproute, network, resourcet, streaming-commons
-     , text, time, transformers, unix, vault, wai, wai-logger, word8
-     , zlib
-     }:
-     mkDerivation {
-       pname = "wai-extra";
        version = "3.1.10";
        sha256 = "0ldzwcjgj0k3ma25y4jaywv4g4bjjnn75ixlk1h4r4f3iapxm6kr";
        isLibrary = true;
@@ -290180,7 +291121,6 @@ self: {
        ];
        description = "Provides some basic WAI handlers and middleware";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wai-feature-flags" = callPackage
@@ -292598,24 +293538,6 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes";
-       version = "0.27.14.3";
-       sha256 = "1a66m261ilqafbwwgjvalh3rz38qxcwxw9a99wr18lm0ah27lvx4";
-       libraryHaskellDepends = [
-         base blaze-builder bytestring exceptions ghc-prim http-types mtl
-         parsec split text utf8-string
-       ];
-       testHaskellDepends = [ base hspec HUnit QuickCheck text ];
-       description = "portable, type-safe URL routing";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "web-routes_0_27_14_4" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring, exceptions
-     , ghc-prim, hspec, http-types, HUnit, mtl, parsec, QuickCheck
-     , split, text, utf8-string
-     }:
-     mkDerivation {
-       pname = "web-routes";
        version = "0.27.14.4";
        sha256 = "10zpyxigrmp97x7xd9aw8kn925ygjf0jv8hppxmksjf9a6pvyfn1";
        libraryHaskellDepends = [
@@ -292625,26 +293547,12 @@ self: {
        testHaskellDepends = [ base hspec HUnit QuickCheck text ];
        description = "portable, type-safe URL routing";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web-routes-boomerang" = callPackage
     ({ mkDerivation, base, boomerang, mtl, parsec, text, web-routes }:
      mkDerivation {
        pname = "web-routes-boomerang";
-       version = "0.28.4.2";
-       sha256 = "09vq5gfxibrbh65a4y94crcb99s848rx56grmfny89ccdv6r5a3y";
-       libraryHaskellDepends = [
-         base boomerang mtl parsec text web-routes
-       ];
-       description = "Use boomerang for type-safe URL parsers/printers";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "web-routes-boomerang_0_28_4_3" = callPackage
-    ({ mkDerivation, base, boomerang, mtl, parsec, text, web-routes }:
-     mkDerivation {
-       pname = "web-routes-boomerang";
        version = "0.28.4.3";
        sha256 = "1cdn29084i2bvsh7pa6d4dr5bgpixix36dhi49q8nbcbp02qycap";
        libraryHaskellDepends = [
@@ -292652,7 +293560,6 @@ self: {
        ];
        description = "Use boomerang for type-safe URL parsers/printers";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web-routes-generics" = callPackage
@@ -292672,21 +293579,6 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes-happstack";
-       version = "0.23.12.1";
-       sha256 = "06gifknfv6g9rd9f83r75hc3sld4xb4f1czxs9k5ca7n1l1vlccy";
-       libraryHaskellDepends = [
-         base bytestring happstack-server text web-routes
-       ];
-       description = "Adds support for using web-routes with Happstack";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "web-routes-happstack_0_23_12_2" = callPackage
-    ({ mkDerivation, base, bytestring, happstack-server, text
-     , web-routes
-     }:
-     mkDerivation {
-       pname = "web-routes-happstack";
        version = "0.23.12.2";
        sha256 = "01ks9c8bln8yiff7dqfm3ai7scci304q94w1zaqvzph57m1whrd6";
        libraryHaskellDepends = [
@@ -292694,30 +293586,17 @@ self: {
        ];
        description = "Adds support for using web-routes with Happstack";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web-routes-hsp" = callPackage
     ({ mkDerivation, base, hsp, text, web-routes }:
      mkDerivation {
        pname = "web-routes-hsp";
-       version = "0.24.6.1";
-       sha256 = "1arc22l7xk49fp80i1fkvj8xj71lqxrs2g5gnvjzwlkc0azzaz6a";
-       libraryHaskellDepends = [ base hsp text web-routes ];
-       description = "Adds XMLGenerator instance for RouteT monad";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "web-routes-hsp_0_24_6_2" = callPackage
-    ({ mkDerivation, base, hsp, text, web-routes }:
-     mkDerivation {
-       pname = "web-routes-hsp";
        version = "0.24.6.2";
        sha256 = "0cmijyklkrakcwfmwfa70kbm619p1dfl900lx57mca23k8m2aksn";
        libraryHaskellDepends = [ base hsp text web-routes ];
        description = "Adds XMLGenerator instance for RouteT monad";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web-routes-mtl" = callPackage
@@ -292795,21 +293674,6 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes-wai";
-       version = "0.24.3.1";
-       sha256 = "0j9h22nsj7zf5qpf4i07jdcih00r2fivdilvj8wsylk4d23x27wf";
-       libraryHaskellDepends = [
-         base bytestring http-types text wai web-routes
-       ];
-       description = "Library for maintaining correctness of URLs within an application";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "web-routes-wai_0_24_3_2" = callPackage
-    ({ mkDerivation, base, bytestring, http-types, text, wai
-     , web-routes
-     }:
-     mkDerivation {
-       pname = "web-routes-wai";
        version = "0.24.3.2";
        sha256 = "1cdahkpw0194gdx11g4h4313ni0b6sdj9j5r666rgwwzr22wgql7";
        libraryHaskellDepends = [
@@ -292817,7 +293681,6 @@ self: {
        ];
        description = "Library for maintaining correctness of URLs within an application";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web-routing" = callPackage
@@ -298471,8 +299334,8 @@ self: {
        pname = "xmlhtml";
        version = "0.2.5.2";
        sha256 = "1p2v1cj9jjwbqyb0fyv2201zd7ljz5d46qg5kwy7rz2bchbqd0b4";
-       revision = "3";
-       editedCabalFile = "00a7ymnzf87p6dv6mphziycyx6p97xbbbvg8fzbqa6am4pvr029z";
+       revision = "4";
+       editedCabalFile = "1q4f9pvyrkrw793kvd1lxzpzf49h2rs8zdmmhsli487sllflghnq";
        libraryHaskellDepends = [
          base blaze-builder blaze-html blaze-markup bytestring
          bytestring-builder containers parsec text unordered-containers
@@ -299998,6 +300861,33 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "yaml-unscrambler_0_1_0_10" = callPackage
+    ({ mkDerivation, acc, attoparsec, attoparsec-data, attoparsec-time
+     , base, base64-bytestring, bytestring, conduit, containers, foldl
+     , hashable, libyaml, mtl, neat-interpolation, QuickCheck
+     , quickcheck-instances, rerebase, scientific, selective, tasty
+     , tasty-hunit, tasty-quickcheck, text, text-builder-dev, time
+     , transformers, unordered-containers, uuid, vector, yaml
+     }:
+     mkDerivation {
+       pname = "yaml-unscrambler";
+       version = "0.1.0.10";
+       sha256 = "07pwdd6w6gh0x05925hfk5mhzmig6rh9yb87rkyx15197r9hj7xw";
+       libraryHaskellDepends = [
+         acc attoparsec attoparsec-data attoparsec-time base
+         base64-bytestring bytestring conduit containers foldl hashable
+         libyaml mtl scientific selective text text-builder-dev time
+         transformers unordered-containers uuid vector yaml
+       ];
+       testHaskellDepends = [
+         foldl neat-interpolation QuickCheck quickcheck-instances rerebase
+         tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Flexible declarative YAML parsing toolkit";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "yaml2owl" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, network
      , network-uri, swish, text, xml, yaml
@@ -301406,8 +302296,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.22.0";
-       sha256 = "0vc60va1lj7a409ljpipk90k89pycsf7zfpvdn0bvsqgsy75qgq6";
+       version = "1.6.23";
+       sha256 = "06v475xa2qbgsqx2gk1lz4y8xwb4d1ak06cw75ig3ji7d1knq4w2";
        libraryHaskellDepends = [
          aeson auto-update base blaze-html blaze-markup bytestring
          case-insensitive cereal clientsession conduit conduit-extra
@@ -301430,6 +302320,44 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "yesod-core_1_6_23_1" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-html
+     , blaze-markup, bytestring, case-insensitive, cereal, clientsession
+     , conduit, conduit-extra, containers, cookie, deepseq, entropy
+     , fast-logger, gauge, hspec, hspec-expectations, http-types, HUnit
+     , memory, monad-logger, mtl, network, parsec, path-pieces
+     , primitive, random, resourcet, shakespeare, streaming-commons
+     , template-haskell, text, time, transformers, unix-compat, unliftio
+     , unordered-containers, vector, wai, wai-extra, wai-logger, warp
+     , word8
+     }:
+     mkDerivation {
+       pname = "yesod-core";
+       version = "1.6.23.1";
+       sha256 = "1s9wa9xw9ximivwv9bk7lf4w20yhlcy8vyp2i3j6w4fig918qxg9";
+       libraryHaskellDepends = [
+         aeson auto-update base blaze-html blaze-markup bytestring
+         case-insensitive cereal clientsession conduit conduit-extra
+         containers cookie deepseq entropy fast-logger http-types memory
+         monad-logger mtl parsec path-pieces primitive random resourcet
+         shakespeare template-haskell text time transformers unix-compat
+         unliftio unordered-containers vector wai wai-extra wai-logger warp
+         word8
+       ];
+       testHaskellDepends = [
+         async base bytestring clientsession conduit conduit-extra
+         containers cookie hspec hspec-expectations http-types HUnit network
+         path-pieces random resourcet shakespeare streaming-commons
+         template-haskell text transformers unliftio wai wai-extra warp
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-html bytestring gauge shakespeare text
+       ];
+       description = "Creation of type-safe, RESTful web applications";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "yesod-crud" = callPackage
     ({ mkDerivation, base, classy-prelude, containers, MissingH
      , monad-control, persistent, random, safe, stm, uuid, yesod-core
@@ -302658,32 +303586,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-test";
-       version = "1.6.12";
-       sha256 = "1xgy7dzhqjgllqcpyyxs0spdg6vlz2c1sjvni7w7qnsf0ckyw2l8";
-       libraryHaskellDepends = [
-         aeson attoparsec base blaze-builder blaze-html bytestring
-         case-insensitive conduit containers cookie hspec-core html-conduit
-         http-types HUnit memory mtl network pretty-show text time
-         transformers wai wai-extra xml-conduit xml-types yesod-core
-       ];
-       testHaskellDepends = [
-         base bytestring containers cookie hspec html-conduit http-types
-         HUnit text unliftio unliftio-core wai wai-extra xml-conduit
-         yesod-core yesod-form
-       ];
-       description = "integration testing for WAI/Yesod Applications";
-       license = lib.licenses.mit;
-     }) {};
-
-  "yesod-test_1_6_13" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
-     , bytestring, case-insensitive, conduit, containers, cookie, hspec
-     , hspec-core, html-conduit, http-types, HUnit, memory, mtl, network
-     , pretty-show, text, time, transformers, unliftio, unliftio-core
-     , wai, wai-extra, xml-conduit, xml-types, yesod-core, yesod-form
-     }:
-     mkDerivation {
-       pname = "yesod-test";
        version = "1.6.13";
        sha256 = "1r5ip85x0shv00dvznd201fbl9gi90nkk33szmh0cz77x8960v19";
        libraryHaskellDepends = [
@@ -302699,7 +303601,6 @@ self: {
        ];
        description = "integration testing for WAI/Yesod Applications";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-test-json" = callPackage
@@ -305474,4 +306375,28 @@ self: {
        broken = true;
      }) {};
 
+  "zyre2" = callPackage
+    ({ mkDerivation, base, bytestring, containers, czmq, inline-c, text
+     , zyre
+     }:
+     mkDerivation {
+       pname = "zyre2";
+       version = "0.1.1.0";
+       sha256 = "0dqlp60mamqmga6g87qawxg1646czgzhqm441cxpw1dkrshv08jk";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers inline-c text
+       ];
+       librarySystemDepends = [ czmq zyre ];
+       executableHaskellDepends = [
+         base bytestring containers inline-c text
+       ];
+       testHaskellDepends = [ base bytestring containers inline-c text ];
+       description = "Haskell zyre bindings for reliable group messaging over local area networks";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {inherit (pkgs) czmq; zyre = null;};
+
 }
diff --git a/pkgs/development/interpreters/bqn/cbqn/default.nix b/pkgs/development/interpreters/bqn/cbqn/default.nix
index 992caf200a7..0426a72c81a 100644
--- a/pkgs/development/interpreters/bqn/cbqn/default.nix
+++ b/pkgs/development/interpreters/bqn/cbqn/default.nix
@@ -11,21 +11,21 @@ let
     name = "cbqn-bytecode-files";
     owner = "dzaima";
     repo = "CBQN";
-    rev = "b000b951aa8f3590b196b4c09056604c0b32a168";
-    hash = "sha256-znW0xOXogP4TfifUmk3cs4aN/9mMSpSD2WJppmeI1Fg=";
+    rev = "c39653c898531a2cdbf4cc5c764df6e37b1894a4";
+    hash = "sha256-JCEmkwh5Rv5+NQoxvefSrYnayU892/Wam+gjMgcQmO0=";
   };
 in
 assert genBytecode -> ((bqn-path != null) && (mbqn-source != null));
 
 stdenv.mkDerivation rec {
   pname = "cbqn" + lib.optionalString (!genBytecode) "-standalone";
-  version = "0.pre+date=2021-12-13";
+  version = "0.pre+date=2022-05-06";
 
   src = fetchFromGitHub {
     owner = "dzaima";
     repo = "CBQN";
-    rev = "e7662b0f6a44add0749fba2a6d7309a5c1eb2601";
-    hash = "sha256-2nfkTZBIGHX5cok6Ea3KSewakZy8Ey8nSO2Fe4xGgvg=";
+    rev = "3496a939b670f8c9ca2a04927378d6b7e9abd68e";
+    hash = "sha256-P+PoY4XF9oEw7VIpmybvPp+jxWHEo2zt1Lamayf1mHg=";
   };
 
   dontConfigure = true;
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   '' + (if genBytecode then ''
     ${bqn-path} genRuntime ${mbqn-source}
   '' else ''
-    cp ${cbqn-bytecode-files}/src/gen/{compiler,formatter,runtime0,runtime1,src} src/gen/
+    cp ${cbqn-bytecode-files}/src/gen/{compiles,formatter,runtime0,runtime1,src} src/gen/
   '');
 
   installPhase = ''
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/dzaima/CBQN/";
     description = "BQN implementation in C";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres sternenseemann synthetica ];
+    maintainers = with maintainers; [ AndersonTorres sternenseemann synthetica shnarazk ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix
index 1f663b5488d..b5ba81ebc28 100644
--- a/pkgs/development/interpreters/clojure/babashka.nix
+++ b/pkgs/development/interpreters/clojure/babashka.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "babashka";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchurl {
     url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-9mh3ki6Q0vwlF+j4+UVznIhZ6Xleh7ChklJ5ojjGhYM=";
+    sha256 = "sha256-rdA/pV2EGYPs1UuuTq4dIuce3i8haJOyyyTDAWpOeR8=";
   };
 
   executable = "bb";
diff --git a/pkgs/development/interpreters/hy/builder.nix b/pkgs/development/interpreters/hy/builder.nix
deleted file mode 100644
index 6757f859ac1..00000000000
--- a/pkgs/development/interpreters/hy/builder.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib
-, python3Packages
-, hyDefinedPythonPackages /* Packages like with python.withPackages */
-, ...
-}:
-python3Packages.buildPythonApplication rec {
-  pname = "hy";
-  version = "1.0a1";
-
-  src = python3Packages.fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-lCrbvbkeutSNmvvn/eHpTnJwPb5aEH7hWTXYSE+AJmU=";
-  };
-
-  checkInputs = with python3Packages; [ flake8 pytest ];
-
-  propagatedBuildInputs = with python3Packages; [
-    appdirs
-    astor
-    clint
-    colorama
-    fastentrypoints
-    funcparserlib
-    rply
-    pygments
-  ] ++ (hyDefinedPythonPackages python3Packages);
-
-  # Hy does not include tests in the source distribution from PyPI, so only test executable.
-  checkPhase = ''
-    $out/bin/hy --help > /dev/null
-  '';
-
-  meta = with lib; {
-    description = "A LISP dialect embedded in Python";
-    homepage = "https://hylang.org/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ nixy mazurel ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/interpreters/hy/default.nix b/pkgs/development/interpreters/hy/default.nix
deleted file mode 100644
index f5d80c11d71..00000000000
--- a/pkgs/development/interpreters/hy/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ lib
-, callPackage
-, hyDefinedPythonPackages ? python-packages: [] /* Packages like with python.withPackages */
-}:
-let
-  withPackages = (
-    python-packages: callPackage ./builder.nix {
-      hyDefinedPythonPackages = python-packages;
-    }
-  );
-in
-(withPackages hyDefinedPythonPackages) // {
-  # Export withPackages function for hy customization
-  inherit withPackages;
-}
diff --git a/pkgs/development/interpreters/kona/default.nix b/pkgs/development/interpreters/kona/default.nix
index 24e10eb7306..cfc1c12d192 100644
--- a/pkgs/development/interpreters/kona/default.nix
+++ b/pkgs/development/interpreters/kona/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
     description = "An interpreter of K, APL-like programming language";
     homepage = "https://github.com/kevinlawler/kona/";
     maintainers = with maintainers; [ raskin ];
+    mainProgram = "k";
     platforms = platforms.all;
     license = licenses.isc;
   };
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 9c3c34c73aa..5d6e8e02507 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -197,14 +197,14 @@ let
       priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
     };
   } // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
-    crossVersion = "1.3.7"; # Mar 15, 2022
+    crossVersion = "31dac3e264a7f1f53dbf49570771123ebd514055"; # May 03, 2022
 
     perl-cross-src = fetchFromGitHub {
-      name = "perl-cross-${crossVersion}";
+      name = "perl-cross-unstable-${crossVersion}";
       owner = "arsv";
       repo = "perl-cross";
       rev = crossVersion;
-      sha256 = "sha256-F7Vi3RAgIE/3NPlbD5zQ3Q8Ex9ddXTC4zoCRaOxXK0A=";
+      sha256 = "sha256-5hLUP34WwTFRsG0o8zSJm8WM3WfBAhHeYrrQF2MtMKc=";
     };
 
     depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
diff --git a/pkgs/development/interpreters/python/hooks/default.nix b/pkgs/development/interpreters/python/hooks/default.nix
index cb5ef87826a..34c6a72662d 100644
--- a/pkgs/development/interpreters/python/hooks/default.nix
+++ b/pkgs/development/interpreters/python/hooks/default.nix
@@ -124,6 +124,15 @@ in rec {
       };
     } ./python-recompile-bytecode-hook.sh ) {};
 
+  pythonRelaxDepsHook = callPackage ({ wheel }:
+    makeSetupHook {
+      name = "python-relax-deps-hook";
+      deps = [ wheel ];
+      substitutions = {
+        inherit pythonInterpreter;
+      };
+    } ./python-relax-deps-hook.sh) {};
+
   pythonRemoveBinBytecodeHook = callPackage ({ }:
     makeSetupHook {
       name = "python-remove-bin-bytecode-hook";
@@ -161,8 +170,8 @@ in rec {
       deps = [ ensureNewerSourcesForZipFilesHook ];
       substitutions = {
         inherit pythonInterpreter;
-    };
-  } ./venv-shell-hook.sh) {});
+      };
+    } ./venv-shell-hook.sh) {});
 
   wheelUnpackHook = callPackage ({ wheel }:
     makeSetupHook {
diff --git a/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh b/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh
new file mode 100644
index 00000000000..7e1cfe51724
--- /dev/null
+++ b/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh
@@ -0,0 +1,83 @@
+# shellcheck shell=bash
+
+# Setup hook that modifies Python dependencies versions.
+#
+# Example usage in a derivation:
+#
+#   { …, pythonPackages, … }:
+#
+#   pythonPackages.buildPythonPackage {
+#     …
+#     nativeBuildInputs = [ pythonPackages.pythonRelaxDepsHook ];
+#
+#     # This will relax the dependency restrictions
+#     # e.g.: abc>1,<=2 -> abc
+#     pythonRelaxDeps = [ "abc" ];
+#     # This will relax all dependencies restrictions instead
+#     # pythonRelaxDeps = true;
+#     # This will remove the dependency
+#     # e.g.: cde>1,<=2 -> <nothing>
+#     pythonRemoveDeps = [ "cde" ];
+#     # This will remove all dependencies from the project
+#     # pythonRemoveDeps = true;
+#     …
+#   }
+
+_pythonRelaxDeps() {
+    local -r metadata_file="$1"
+
+    if [[ -z "${pythonRelaxDeps:-}" ]] || [[ "$pythonRelaxDeps" == 0 ]]; then
+        return
+    elif [[ "$pythonRelaxDeps" == 1 ]]; then
+        sed -i "$metadata_file" -r \
+            -e 's/(Requires-Dist: \S*) \(.*\)/\1/'
+    else
+        for dep in $pythonRelaxDeps; do
+            sed -i "$metadata_file" -r \
+                -e "s/(Requires-Dist: $dep) \(.*\)/\1/"
+        done
+    fi
+}
+
+_pythonRemoveDeps() {
+    local -r metadata_file="$1"
+
+    if [[ -z "${pythonRemoveDeps:-}" ]] || [[ "$pythonRemoveDeps" == 0 ]]; then
+        return
+    elif [[ "$pythonRemoveDeps" == 1 ]]; then
+        sed -i "$metadata_file" \
+            -e '/Requires-Dist:.*/d'
+    else
+        for dep in $pythonRemoveDeps; do
+            sed -i "$metadata_file" \
+                -e "/Requires-Dist: $dep/d"
+        done
+    fi
+
+}
+
+pythonRelaxDepsHook() {
+    pushd dist
+
+    local -r package="$pname-$version"
+    local -r unpack_dir="unpacked"
+    local -r metadata_file="$unpack_dir/$package/$package.dist-info/METADATA"
+    local -r wheel=$(echo "$package"*".whl")
+
+    @pythonInterpreter@ -m wheel unpack --dest "$unpack_dir" "$wheel"
+    rm -rf "$wheel"
+
+    _pythonRelaxDeps "$metadata_file"
+    _pythonRemoveDeps "$metadata_file"
+
+    if (( "${NIX_DEBUG:-0}" >= 1 )); then
+        echo "pythonRelaxDepsHook: resulting METADATA:"
+        cat "$unpack_dir/$package/$package.dist-info/METADATA"
+    fi
+
+    @pythonInterpreter@ -m wheel pack "$unpack_dir/$package"
+
+    popd
+}
+
+postBuild+=" pythonRelaxDepsHook"
diff --git a/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh b/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
index 89a95e98219..958a9378ef1 100644
--- a/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
@@ -12,10 +12,10 @@ setuptoolsBuildPhase() {
         args+="$setupPyGlobalFlags"
     fi
     if [ -n "$enableParallelBuilding" ]; then
-        setupPyBuildFlags+="--parallel $NIX_BUILD_CORES"
+        setupPyBuildFlags+=" --parallel $NIX_BUILD_CORES"
     fi
     if [ -n "$setupPyBuildFlags" ]; then
-        args+="build_ext $setupPyBuildFlags"
+        args+=" build_ext $setupPyBuildFlags"
     fi
     eval "@pythonInterpreter@ nix_run_setup $args bdist_wheel"
 
diff --git a/pkgs/development/interpreters/rakudo/moarvm.nix b/pkgs/development/interpreters/rakudo/moarvm.nix
index 6ecc3ad6053..08c225603eb 100644
--- a/pkgs/development/interpreters/rakudo/moarvm.nix
+++ b/pkgs/development/interpreters/rakudo/moarvm.nix
@@ -35,7 +35,8 @@ stdenv.mkDerivation rec {
     description = "VM with adaptive optimization and JIT compilation, built for Rakudo";
     homepage = "https://moarvm.org";
     license = licenses.artistic2;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice vrthra sgo ];
+    mainProgram = "moar";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/amtk/default.nix b/pkgs/development/libraries/amtk/default.nix
index 5743a18c0fd..961c63a3037 100644
--- a/pkgs/development/libraries/amtk/default.nix
+++ b/pkgs/development/libraries/amtk/default.nix
@@ -1,10 +1,13 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , gtk3
 , meson
 , ninja
 , pkg-config
 , gobject-introspection
+, gtk-doc
+, docbook-xsl-nons
 , gnome
 , dbus
 , xvfb-run
@@ -12,11 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "amtk";
-  version = "5.3.1";
+  version = "5.4.0";
+
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "12v3nj1bb7507ndprjggq0hpz8k719b4bwvl8sm43p3ibmn27anm";
+    sha256 = "g10IUHo96sie91NRzOu0szWv/qNhuIvQ+mZ/QM53enA=";
   };
 
   nativeBuildInputs = [
@@ -25,6 +30,8 @@ stdenv.mkDerivation rec {
     pkg-config
     dbus
     gobject-introspection
+    gtk-doc
+    docbook-xsl-nons
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/appstream/default.nix b/pkgs/development/libraries/appstream/default.nix
index 9b07697a6a9..56268146c5d 100644
--- a/pkgs/development/libraries/appstream/default.nix
+++ b/pkgs/development/libraries/appstream/default.nix
@@ -93,14 +93,15 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Software metadata handling library";
-    homepage = "https://www.freedesktop.org/wiki/Distributions/AppStream/";
     longDescription = ''
       AppStream is a cross-distro effort for building Software-Center applications
       and enhancing metadata provided by software components.  It provides
       specifications for meta-information which is shipped by upstream projects and
       can be consumed by other software.
     '';
+    homepage = "https://www.freedesktop.org/wiki/Distributions/AppStream/";
     license = licenses.lgpl21Plus;
+    mainProgram = "appstreamcli";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/aribb25/default.nix b/pkgs/development/libraries/aribb25/default.nix
index 3e171d75797..743850c5fdc 100644
--- a/pkgs/development/libraries/aribb25/default.nix
+++ b/pkgs/development/libraries/aribb25/default.nix
@@ -48,10 +48,11 @@ stdenv.mkDerivation rec {
     lib.optional stdenv.isDarwin "pcsclite_CFLAGS=-I${PCSC}/Library/Frameworks/PCSC.framework/Headers";
 
   meta = with lib; {
-    homepage = "https://code.videolan.org/videolan/aribb25";
     description = "Sample implementation of the ARIB STD-B25 standard";
-    platforms = platforms.all;
+    homepage = "https://code.videolan.org/videolan/aribb25";
     license = licenses.isc;
     maintainers = with maintainers; [ midchildan ];
+    mainProgram = "b25";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/audio/libopenmpt/default.nix b/pkgs/development/libraries/audio/libopenmpt/default.nix
index 35a79e3b358..2cca0078aff 100644
--- a/pkgs/development/libraries/audio/libopenmpt/default.nix
+++ b/pkgs/development/libraries/audio/libopenmpt/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libopenmpt";
-  version = "0.6.2";
+  version = "0.6.3";
 
   outputs = [ "out" "dev" "bin" ];
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "1dp645gg6d3pzjh82srq1d7qvyxi5h22k7yfdjiyzbyry8pxdh2h";
+    sha256 = "pBCv63zVlwsWuabOfazPSVsaXpEhqdZELeDAKP1Uols=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/audio/libsmf/default.nix b/pkgs/development/libraries/audio/libsmf/default.nix
index b3e3a34973c..6737d76538e 100644
--- a/pkgs/development/libraries/audio/libsmf/default.nix
+++ b/pkgs/development/libraries/audio/libsmf/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/stump/libsmf";
     license = licenses.bsd2;
     maintainers = [ maintainers.goibhniu ];
+    mainProgram = "smfsh";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/aws-c-auth/default.nix b/pkgs/development/libraries/aws-c-auth/default.nix
index b6fcb11c315..5b859075017 100644
--- a/pkgs/development/libraries/aws-c-auth/default.nix
+++ b/pkgs/development/libraries/aws-c-auth/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-auth";
-  version = "0.6.11";
+  version = "0.6.13";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-c-auth";
     rev = "v${version}";
-    sha256 = "sha256-3pFOnXDvB4CUUG992i5ErKMe3lAiyYoMTSvm6eKyLjs=";
+    sha256 = "sha256-f1STZdxj8cdK60dCgl2Xfsqaa/x3Z1xEjH3p4GUwGUg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/aws-c-cal/default.nix b/pkgs/development/libraries/aws-c-cal/default.nix
index e7f0c0854db..40e8a5eb54c 100644
--- a/pkgs/development/libraries/aws-c-cal/default.nix
+++ b/pkgs/development/libraries/aws-c-cal/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-cal";
-  version = "0.5.14";
+  version = "0.5.17";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+hWiDlL0GVVmMajoC+hfyvT4rm16RoAWhUr04B8JZts=";
+    sha256 = "sha256-peaoTv2TLqtHScfnCPMNbE6fhUTKfRe1ZzuBsr/rpz0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix
index ab52fa5aa74..1b8f7e73e82 100644
--- a/pkgs/development/libraries/aws-c-common/default.nix
+++ b/pkgs/development/libraries/aws-c-common/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-common";
-  version = "0.6.19";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oB5kAzIRyr8kfl4sILuIw343ghDZDXSEH97qkUeTqXI=";
+    sha256 = "sha256-DKorZUVUDEP4IRPchzaW35fPLmYoJRcfLMdPHrBrol8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/aws-c-http/default.nix b/pkgs/development/libraries/aws-c-http/default.nix
index a25231ee883..0eee407f989 100644
--- a/pkgs/development/libraries/aws-c-http/default.nix
+++ b/pkgs/development/libraries/aws-c-http/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-http";
-  version = "0.6.10";
+  version = "0.6.15";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-c-http";
     rev = "v${version}";
-    sha256 = "sha256-R+teEKSQjSFYt3+XXvooAy4GJwN4yzEhJtiuknBZIgU=";
+    sha256 = "sha256-WIKWF8G+fdX9MD6vQctM+5pDnR0/0TenabWE4PRteq8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/aws-c-io/default.nix b/pkgs/development/libraries/aws-c-io/default.nix
index f19a69fc457..0a9bb554373 100644
--- a/pkgs/development/libraries/aws-c-io/default.nix
+++ b/pkgs/development/libraries/aws-c-io/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-io";
-  version = "0.10.19";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dPstIWB+wuMJi+EfecPKw0WD1c3IvHS+L1XU72xrAoc=";
+    sha256 = "sha256-LIrAA3+Yd0lhCMQ9R4HT/ZFKm3y9iSm3h5vcn0ghiPA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/aws-c-s3/default.nix b/pkgs/development/libraries/aws-c-s3/default.nix
index 2868e6b80b8..398a36019f5 100644
--- a/pkgs/development/libraries/aws-c-s3/default.nix
+++ b/pkgs/development/libraries/aws-c-s3/default.nix
@@ -6,19 +6,20 @@
 , aws-c-compression
 , aws-c-http
 , aws-c-io
+, aws-checksums
 , cmake
 , s2n-tls
 }:
 
 stdenv.mkDerivation rec {
   pname = "aws-c-s3";
-  version = "0.1.33";
+  version = "0.1.39";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-c-s3";
     rev = "v${version}";
-    sha256 = "sha256-lP5Luh/jFmlbb11rE5qYev+DMXjyMNwni0LcNvQGY4o=";
+    sha256 = "sha256-UbYh3awI7Y3mJnVQrltU+rZ1TI1TDaMF5TOcvxbzNa8=";
   };
 
   nativeBuildInputs = [
@@ -32,6 +33,7 @@ stdenv.mkDerivation rec {
     aws-c-compression
     aws-c-http
     aws-c-io
+    aws-checksums
     s2n-tls
   ];
 
@@ -44,7 +46,8 @@ stdenv.mkDerivation rec {
     description = "C99 library implementation for communicating with the S3 service";
     homepage = "https://github.com/awslabs/aws-c-s3";
     license = licenses.asl20;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ r-burns ];
+    mainProgram = "s3";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/aws-crt-cpp/default.nix b/pkgs/development/libraries/aws-crt-cpp/default.nix
index 391ecc26fb8..201837eb536 100644
--- a/pkgs/development/libraries/aws-crt-cpp/default.nix
+++ b/pkgs/development/libraries/aws-crt-cpp/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , aws-c-auth
 , aws-c-cal
 , aws-c-common
@@ -16,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-crt-cpp";
-  version = "0.17.16";
+  version = "0.17.28";
 
   outputs = [ "out" "dev" ];
 
@@ -24,13 +25,22 @@ stdenv.mkDerivation rec {
     owner = "awslabs";
     repo = "aws-crt-cpp";
     rev = "v${version}";
-    sha256 = "sha256-RNcx/Enm1bd/NZOcNosNnYsT9Ot7AMQU7wsg+moT16c=";
+    sha256 = "sha256-4/BgwX8Pa5D2lEn0Dh3JlUiYUtA9u0rWpBixqmv1X/A=";
   };
 
   patches = [
     # Correct include path for split outputs.
     # https://github.com/awslabs/aws-crt-cpp/pull/325
     ./0001-build-Make-includedir-properly-overrideable.patch
+
+    # Fix build with new input stream api
+    # https://github.com/awslabs/aws-crt-cpp/pull/341
+    # Remove with next release
+    (fetchpatch {
+      url = "https://github.com/awslabs/aws-crt-cpp/commit/8adb8490fd4f1d1fe65aad01b0a7dda0e52ac596.patch";
+      excludes = [ "crt/*" ];
+      sha256 = "190v8rlj6z0qllih6w3kqmdvqjifj66hc4bchsgr3gpfv18vpzid";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index 7a3c8bc727b..3d396a0b285 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -12,21 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "babl";
-  version = "0.1.90";
+  version = "0.1.92";
 
   outputs = [ "out" "dev" ];
 
-  patches = [
-    # Fix darwin build
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/babl/-/commit/33b18e74c9589fd4d5507ab88bd1fb19c15965dd.patch";
-      sha256 = "bEjjOjHGTF55o1z31G9GNDqERxn/7vUuWZQYHosSEBQ=";
-    })
-  ];
-
   src = fetchurl {
     url = "https://download.gimp.org/pub/babl/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-bi67Y283WBWI49AkmbPS9p+axz40omL0KRHX9ZBqkkM=";
+    sha256 = "sha256-9mdzUCiUS2N1rRjxYKZM65P1x9zKqdh1HeNZd3SIosE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/belcard/default.nix b/pkgs/development/libraries/belcard/default.nix
index aace36c619c..0f251f73e81 100644
--- a/pkgs/development/libraries/belcard/default.nix
+++ b/pkgs/development/libraries/belcard/default.nix
@@ -22,8 +22,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ bctoolbox belr ];
   nativeBuildInputs = [ cmake ];
 
-  # Do not build static libraries
-  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+  cmakeFlags = [
+    "-DENABLE_STATIC=NO" # Do not build static libraries
+    "-DENABLE_UNIT_TESTS=NO" # Do not build test executables
+  ];
 
   meta = with lib; {
     description = "C++ library to manipulate VCard standard format. Part of the Linphone project.";
diff --git a/pkgs/development/libraries/boolstuff/default.nix b/pkgs/development/libraries/boolstuff/default.nix
index c7520ff783e..b49355f60e9 100644
--- a/pkgs/development/libraries/boolstuff/default.nix
+++ b/pkgs/development/libraries/boolstuff/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     homepage = "http://perso.b2b2c.ca/~sarrazip/dev/boolstuff.html";
     license = "GPL";
     maintainers = [ lib.maintainers.marcweber ];
+    mainProgram = "booldnf";
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix
index adc52da1e56..6f5a8e340ad 100644
--- a/pkgs/development/libraries/capstone/default.nix
+++ b/pkgs/development/libraries/capstone/default.nix
@@ -39,7 +39,8 @@ stdenv.mkDerivation rec {
     description = "Advanced disassembly library";
     homepage    = "http://www.capstone-engine.org";
     license     = lib.licenses.bsd3;
-    platforms   = lib.platforms.unix;
     maintainers = with lib.maintainers; [ thoughtpolice ris ];
+    mainProgram = "cstool";
+    platforms   = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/check/default.nix b/pkgs/development/libraries/check/default.nix
index 37bde1caf43..8add9c62347 100644
--- a/pkgs/development/libraries/check/default.nix
+++ b/pkgs/development/libraries/check/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
     homepage = "https://libcheck.github.io/check/";
 
     license = licenses.lgpl2Plus;
+    mainProgram = "checkmk";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index a05f3b71fb4..da20ac59ec9 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "expat";
-  version = "2.4.7";
+  version = "2.4.8";
 
   src = fetchurl {
     url = "https://github.com/libexpat/libexpat/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.xz";
-    sha256 = "0zbss0dssn17mjmvk17qfi5cmvm0lcyzs62cwvqr219hhl864xcq";
+    sha256 = "sha256-95uPkEt0nj4NIK/q3s+CScVbLjLU67CJrjeN9HncryU=";
   };
 
   outputs = [ "out" "dev" ]; # TODO: fix referrers
diff --git a/pkgs/development/libraries/faad2/default.nix b/pkgs/development/libraries/faad2/default.nix
index 396acbc1bdf..8b1757ed563 100644
--- a/pkgs/development/libraries/faad2/default.nix
+++ b/pkgs/development/libraries/faad2/default.nix
@@ -21,8 +21,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "An open source MPEG-4 and MPEG-2 AAC decoder";
+    homepage = "https://sourceforge.net/projects/faac/";
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ codyopel ];
+    mainProgram = "faad";
     platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/fcgi/default.nix b/pkgs/development/libraries/fcgi/default.nix
index 434d445ceb4..5c7f0c44f91 100644
--- a/pkgs/development/libraries/fcgi/default.nix
+++ b/pkgs/development/libraries/fcgi/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
     description = "A language independent, scalable, open extension to CG";
     homepage = "https://fastcgi-archives.github.io/"; # Formerly http://www.fastcgi.com/
     license = "FastCGI see LICENSE.TERMS";
+    mainProgram = "cgi-fcgi";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/flatbuffers/generic.nix b/pkgs/development/libraries/flatbuffers/generic.nix
index 1cdfb4b9c87..c06dad87d95 100644
--- a/pkgs/development/libraries/flatbuffers/generic.nix
+++ b/pkgs/development/libraries/flatbuffers/generic.nix
@@ -38,9 +38,10 @@ stdenv.mkDerivation rec {
       access serialized data without unpacking/parsing it first, while still
       having great forwards/backwards compatibility.
     '';
-    maintainers = [ maintainers.teh ];
+    homepage = "https://google.github.io/flatbuffers/";
     license = licenses.asl20;
+    maintainers = [ maintainers.teh ];
+    mainProgram = "flatc";
     platforms = platforms.unix;
-    homepage = "https://google.github.io/flatbuffers/";
   };
 }
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index 1e9c881ae8c..cbed6a62a3c 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -149,8 +149,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A library for image loading and manipulation";
     homepage = "https://gitlab.gnome.org/GNOME/gdk-pixbuf";
-    maintainers = [ maintainers.eelco ] ++ teams.gnome.members;
     license = licenses.lgpl21Plus;
+    maintainers = [ maintainers.eelco ] ++ teams.gnome.members;
+    mainProgram = "gdk-pixbuf-thumbnailer";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gensio/default.nix b/pkgs/development/libraries/gensio/default.nix
index 84d54b3bc35..48e2d4fd8fb 100644
--- a/pkgs/development/libraries/gensio/default.nix
+++ b/pkgs/development/libraries/gensio/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     homepage = "https://sourceforge.net/projects/ser2net/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ emantor ];
+    mainProgram = "gensiot";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/glibmm/2.68.nix b/pkgs/development/libraries/glibmm/2.68.nix
index e0ef34a451e..f1f3df86349 100644
--- a/pkgs/development/libraries/glibmm/2.68.nix
+++ b/pkgs/development/libraries/glibmm/2.68.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glibmm";
-  version = "2.72.0";
+  version = "2.72.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-eCkkvxNklvOHj9wqCqnvQPDFFeLD4FTK/6XS5SOAxx4=";
+    sha256 = "sha256-KnZJooq13FOsTau3bJ9hWZ+8Yokjq2p910v2ddkVXNg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix
index 8ba33b98634..996eacd65f4 100644
--- a/pkgs/development/libraries/glibmm/default.nix
+++ b/pkgs/development/libraries/glibmm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "glibmm";
-  version = "2.66.3";
+  version = "2.66.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-r7liAkkUhdP0QQLZghmhctotP563j848+5JVm6SW5Jk=";
+    sha256 = "sha256-GZrOVoLYGxWh1WVIC0qVBoLy22QCyKpd1yF9ce3/gdU=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/glpk/default.nix b/pkgs/development/libraries/glpk/default.nix
index a46c84844e8..7551c15649e 100644
--- a/pkgs/development/libraries/glpk/default.nix
+++ b/pkgs/development/libraries/glpk/default.nix
@@ -73,6 +73,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
 
     maintainers = with maintainers; [ bjg ] ++ teams.sage.members;
+    mainProgram = "glpsol";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/gmime/3.nix b/pkgs/development/libraries/gmime/3.nix
index a8e39047256..aee2dec5a9c 100644
--- a/pkgs/development/libraries/gmime/3.nix
+++ b/pkgs/development/libraries/gmime/3.nix
@@ -2,12 +2,12 @@
 , vala }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.7";
+  version = "3.2.11";
   pname = "gmime";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/gmime/3.2/${pname}-${version}.tar.xz";
-    sha256 = "0i3xfc84qn1z99i70q68kbnp9rmgqrnprqb418ba52s6g9j9dsia";
+  src = fetchurl { # https://github.com/jstedfast/gmime/releases
+    url = "https://github.com/jstedfast/gmime/releases/download/${version}/gmime-${version}.tar.xz";
+    sha256 = "5e023855a215b427645b400f5e55cf19cfd229f971317007e03e7bae72569bf8";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gnome-desktop/default.nix b/pkgs/development/libraries/gnome-desktop/default.nix
index 5d682e23b27..49f21fa5404 100644
--- a/pkgs/development/libraries/gnome-desktop/default.nix
+++ b/pkgs/development/libraries/gnome-desktop/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-desktop";
-  version = "42.0";
+  version = "42.1";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-88qik6Xob2zK0Y+BcnPbHGcGHmgNedg5qop1KOW7JtY=";
+    sha256 = "sha256-JDOrYG0kTDUk3luBIJTbimcPsR7Z/3GAwtAhrh/J/AU=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix
index c736c5cc761..5e0dcf6ce03 100644
--- a/pkgs/development/libraries/gtk/3.x.nix
+++ b/pkgs/development/libraries/gtk/3.x.nix
@@ -30,7 +30,7 @@
 , gnome
 , gsettings-desktop-schemas
 , sassc
-, trackerSupport ? stdenv.isLinux
+, trackerSupport ? stdenv.isLinux && (stdenv.buildPlatform == stdenv.hostPlatform)
 , tracker
 , x11Support ? stdenv.isLinux
 , waylandSupport ? stdenv.isLinux
@@ -39,12 +39,13 @@
 , wayland-protocols
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? stdenv.isLinux
-, withGtkDoc ? stdenv.isLinux
+, withGtkDoc ? stdenv.isLinux && (stdenv.buildPlatform == stdenv.hostPlatform)
 , cups
 , AppKit
 , Cocoa
 , QuartzCore
 , broadwaySupport ? true
+, wayland-scanner
 }:
 
 let
@@ -85,6 +86,9 @@ stdenv.mkDerivation rec {
     ./patches/3.0-darwin-x11.patch
   ];
 
+  depsBuildBuild = [
+    pkg-config
+  ];
   nativeBuildInputs = [
     gettext
     gobject-introspection
@@ -94,12 +98,15 @@ stdenv.mkDerivation rec {
     pkg-config
     python3
     sassc
+    gdk-pixbuf
   ] ++ setupHooks ++ lib.optionals withGtkDoc [
     docbook_xml_dtd_43
     docbook-xsl-nons
     gtk-doc
     # For xmllint
     libxml2
+  ] ++ lib.optionals waylandSupport [
+    wayland-scanner
   ];
 
   buildInputs = [
@@ -151,6 +158,7 @@ stdenv.mkDerivation rec {
     "-Dbroadway_backend=${lib.boolToString broadwaySupport}"
     "-Dx11_backend=${lib.boolToString x11Support}"
     "-Dquartz_backend=${lib.boolToString (stdenv.isDarwin && !x11Support)}"
+    "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}"
   ];
 
   doCheck = false; # needs X11
diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix
index 2d0921cf097..420dee6cbaa 100644
--- a/pkgs/development/libraries/gtkmm/3.x.nix
+++ b/pkgs/development/libraries/gtkmm/3.x.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkmm";
-  version = "3.24.5";
+  version = "3.24.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1ri2msp3cmzi6r65ghwb8gfavfaxv0axpwi3q60nm7v8hvg36qw5";
+    sha256 = "Sz4ULpROFjO7oAiQBgXDQak8/XVaf6KgCwXQQTQfEdY=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/icu/71.nix b/pkgs/development/libraries/icu/71.nix
new file mode 100644
index 00000000000..456dffc322a
--- /dev/null
+++ b/pkgs/development/libraries/icu/71.nix
@@ -0,0 +1,4 @@
+import ./base.nix {
+  version = "71.1";
+  sha256 = "sha256-Z6fm5R9h+vEwa2k1Mz4TssSKvY2m0vRs5q3KJLHiHr8=";
+}
diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix
index 1447a327e0d..26f904b49b0 100644
--- a/pkgs/development/libraries/imlib2/default.nix
+++ b/pkgs/development/libraries/imlib2/default.nix
@@ -2,9 +2,13 @@
 # Image file formats
 , libjpeg, libtiff, giflib, libpng, libwebp
 # imlib2 can load images from ID3 tags.
-, libid3tag
+, libid3tag, librsvg, libheif
 , freetype , bzip2, pkg-config
 , x11Support ? true, xlibsWrapper ? null
+# Compilation error on Darwin with librsvg. For more information see:
+# https://github.com/NixOS/nixpkgs/pull/166452#issuecomment-1090725613
+, svgSupport ? !stdenv.isDarwin
+, heifSupport ? !stdenv.isDarwin
 }:
 
 let
@@ -12,17 +16,19 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "imlib2";
-  version = "1.7.5";
+  version = "1.8.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/enlightenment/${pname}-${version}.tar.xz";
-    hash = "sha256-RY2DAKp6bUzjU1GDi7pdn9+wiES9WxU8WTjs/kP/Ngo=";
+    hash = "sha256-Ui4ecOZbwO3f4gdhfRXJo5VmKnwJBmHaqiwpT7fZ/ao=";
   };
 
   buildInputs = [
     libjpeg libtiff giflib libpng libwebp
     bzip2 freetype libid3tag
-  ] ++ optional x11Support xlibsWrapper;
+  ] ++ optional x11Support xlibsWrapper
+    ++ optional heifSupport libheif
+    ++ optional svgSupport librsvg;
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -31,6 +37,8 @@ stdenv.mkDerivation rec {
   # Do not build amd64 assembly code on Darwin, because it fails to compile
   # with unknow directive errors
   configureFlags = optional stdenv.isDarwin "--enable-amd64=no"
+    ++ optional (!svgSupport) "--without-svg"
+    ++ optional (!heifSupport) "--without-heif"
     ++ optional (!x11Support) "--without-x";
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/development/libraries/kdb/default.nix b/pkgs/development/libraries/kdb/default.nix
index e3d34095540..5ab33fcf46f 100644
--- a/pkgs/development/libraries/kdb/default.nix
+++ b/pkgs/development/libraries/kdb/default.nix
@@ -6,7 +6,7 @@
 , qtbase
 , qttranslations
 , kcoreaddons
-, python2
+, python3
 , sqlite
 , postgresql
 , libmysqlclient
@@ -36,7 +36,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ extra-cmake-modules ];
 
-  buildInputs = [ qttranslations kcoreaddons python2 sqlite postgresql libmysqlclient ];
+  buildInputs = [ qttranslations kcoreaddons python3 sqlite postgresql libmysqlclient ];
 
   propagatedBuildInputs = [ qtbase ];
 
diff --git a/pkgs/development/libraries/keystone/default.nix b/pkgs/development/libraries/keystone/default.nix
index 70864bcf24a..0bb979f7a55 100644
--- a/pkgs/development/libraries/keystone/default.nix
+++ b/pkgs/development/libraries/keystone/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.keystone-engine.org";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ luc65r ];
+    mainProgram = "kstool";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/kompute/default.nix b/pkgs/development/libraries/kompute/default.nix
new file mode 100644
index 00000000000..426aaf3c581
--- /dev/null
+++ b/pkgs/development/libraries/kompute/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, vulkan-headers
+, vulkan-loader
+, fmt
+, glslang
+, ninja
+}:
+
+stdenv.mkDerivation rec {
+  pname = "kompute";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "KomputeProject";
+    repo = "kompute";
+    rev = "v${version}";
+    sha256 = "sha256-OkVGYh8QrD7JNqWFBLrDTYlk6IYHdvt4i7UtC4sQTzo=";
+  };
+
+  cmakeFlags = [
+    "-DKOMPUTE_OPT_INSTALL=1"
+    "-DRELEASE=1"
+    "-DKOMPUTE_ENABLE_SPDLOG=1"
+  ];
+
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = [ fmt ];
+  propagatedBuildInputs = [ glslang vulkan-headers vulkan-loader ];
+
+  meta = with lib; {
+    description = "General purpose GPU compute framework built on Vulkan";
+    longDescription = ''
+      General purpose GPU compute framework built on Vulkan to
+      support 1000s of cross vendor graphics cards (AMD,
+      Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled,
+      asynchronous and optimized for advanced GPU data
+      processing usecases. Backed by the Linux Foundation"
+    '';
+    homepage = "https://kompute.cc/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ atila ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/kreport/default.nix b/pkgs/development/libraries/kreport/default.nix
index 46d55b1f550..1c8470204f8 100644
--- a/pkgs/development/libraries/kreport/default.nix
+++ b/pkgs/development/libraries/kreport/default.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, fetchurl,
   extra-cmake-modules,
-  qtdeclarative, qtwebkit, kconfig, kcoreaddons, kwidgetsaddons, kguiaddons, kproperty, marble, python2
+  qtdeclarative, qtwebkit, kconfig, kcoreaddons, kwidgetsaddons, kguiaddons, kproperty, marble, python3
 }:
 
 mkDerivation rec {
@@ -15,7 +15,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ extra-cmake-modules ];
 
-  buildInputs = [ qtdeclarative qtwebkit kconfig kcoreaddons kwidgetsaddons kguiaddons kproperty marble python2 ];
+  buildInputs = [ qtdeclarative qtwebkit kconfig kcoreaddons kwidgetsaddons kguiaddons kproperty marble python3 ];
 
   meta = with lib; {
     description = "A framework for creation and generation of reports in multiple formats";
diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix
index 1ccb0e41e70..6712d7c6d3c 100644
--- a/pkgs/development/libraries/ldns/default.nix
+++ b/pkgs/development/libraries/ldns/default.nix
@@ -42,9 +42,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Library with the aim of simplifying DNS programming in C";
-    license = licenses.bsd3;
     homepage = "http://www.nlnetlabs.nl/projects/ldns/";
-    platforms = platforms.unix;
+    license = licenses.bsd3;
     maintainers = with maintainers; [ dtzWill ];
+    mainProgram = "drill";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index 76e5a32316d..066ea8b60dd 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -40,18 +40,21 @@ stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace Makefile.am --replace '/bin/pwd' "$(type -P pwd)"
 
-    declare -a skip_tests=(
+    declare -a skip_test_paths=(
       # test won't work in nix sandbox
-      'test_write_disk_perms'
+      'libarchive/test/test_write_disk_perms.c'
       # can't be sure builder will have sparse-capable fs
-      'test_sparse_basic'
+      'libarchive/test/test_sparse_basic.c'
       # can't even be sure builder will have hardlink-capable fs
-      'test_write_disk_hardlink'
+      'libarchive/test/test_write_disk_hardlink.c'
+      # access-time-related tests flakey on some systems
+      'cpio/test/test_option_a.c'
+      'cpio/test/test_option_t.c'
     )
 
-    for test_name in "''${skip_tests[@]}" ; do
-      sed -i "/$test_name/d" Makefile.am
-      rm "libarchive/test/$test_name.c"
+    for test_path in "''${skip_test_paths[@]}" ; do
+      substituteInPlace Makefile.am --replace "$test_path" ""
+      rm "$test_path"
     done
   '';
 
diff --git a/pkgs/development/libraries/libargon2/default.nix b/pkgs/development/libraries/libargon2/default.nix
index eb8e6333d41..19ca4fab401 100644
--- a/pkgs/development/libraries/libargon2/default.nix
+++ b/pkgs/development/libraries/libargon2/default.nix
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.argon2.com/";
     license = with licenses; [ asl20 cc0 ];
     maintainers = with maintainers; [ taeer olynch ];
+    mainProgram = "argon2";
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/libaudec/default.nix b/pkgs/development/libraries/libaudec/default.nix
index 78e4b5cfa40..5340f62a32e 100644
--- a/pkgs/development/libraries/libaudec/default.nix
+++ b/pkgs/development/libraries/libaudec/default.nix
@@ -18,9 +18,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ meson ninja pkg-config ];
 
   meta = with lib; {
-    homepage = "https://www.zrythm.org";
     description = "A library for reading and resampling audio files";
+    homepage = "https://www.zrythm.org";
     license = licenses.agpl3Plus;
+    mainProgram = "audec";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libb64/default.nix b/pkgs/development/libraries/libb64/default.nix
index 987a36cd79f..88bc059892c 100644
--- a/pkgs/development/libraries/libb64/default.nix
+++ b/pkgs/development/libraries/libb64/default.nix
@@ -36,7 +36,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "ANSI C routines for fast base64 encoding/decoding";
+    homepage = "https://github.com/libb64/libb64";
     license = lib.licenses.publicDomain;
+    mainProgram = "base64";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libbencodetools/default.nix b/pkgs/development/libraries/libbencodetools/default.nix
index b8150a90f68..42e6fb9f4ed 100644
--- a/pkgs/development/libraries/libbencodetools/default.nix
+++ b/pkgs/development/libraries/libbencodetools/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.com/heikkiorsila/bencodetools";
     license = licenses.bsd2;
     maintainers = with maintainers; [ OPNA2608 ];
+    mainProgram = "bencat";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libburn/default.nix b/pkgs/development/libraries/libburn/default.nix
index f9b6538027d..ba24182ade8 100644
--- a/pkgs/development/libraries/libburn/default.nix
+++ b/pkgs/development/libraries/libburn/default.nix
@@ -10,10 +10,11 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "http://libburnia-project.org/";
     description = "A library by which preformatted data get onto optical media: CD, DVD, BD (Blu-Ray)";
+    homepage = "http://libburnia-project.org/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ abbradar vrthra ];
+    mainProgram = "cdrskin";
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libcddb/default.nix b/pkgs/development/libraries/libcddb/default.nix
index bf20211ee60..4848f5fcc26 100644
--- a/pkgs/development/libraries/libcddb/default.nix
+++ b/pkgs/development/libraries/libcddb/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     description = "C library to access data on a CDDB server (freedb.org)";
     homepage = "http://libcddb.sourceforge.net/";
     license = licenses.lgpl2Plus;
+    mainProgram = "cddb_query";
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/libcdio-paranoia/default.nix b/pkgs/development/libraries/libcdio-paranoia/default.nix
index 999c0450489..36b591b0605 100644
--- a/pkgs/development/libraries/libcdio-paranoia/default.nix
+++ b/pkgs/development/libraries/libcdio-paranoia/default.nix
@@ -28,9 +28,10 @@ stdenv.mkDerivation rec {
       This is a port of xiph.org's cdda paranoia to use libcdio for CDROM
       access. By doing this, cdparanoia runs on platforms other than GNU/Linux.
     '';
-    license = licenses.gpl3;
     homepage = "https://github.com/rocky/libcdio-paranoia";
-    platforms = platforms.linux ++ platforms.darwin;
+    license = licenses.gpl3;
     maintainers = [ ];
+    mainProgram = "cd-paranoia";
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/libcmis/default.nix b/pkgs/development/libraries/libcmis/default.nix
index 2898c9a1c83..f5a9974f3bc 100644
--- a/pkgs/development/libraries/libcmis/default.nix
+++ b/pkgs/development/libraries/libcmis/default.nix
@@ -25,8 +25,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "C++ client library for the CMIS interface";
-    homepage = "https://sourceforge.net/projects/libcmis/";
+    homepage = "https://github.com/tdf/libcmis";
     license = licenses.gpl2;
+    mainProgram = "cmis-client";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libdc1394/default.nix b/pkgs/development/libraries/libdc1394/default.nix
index a666eb3a650..379f5397ec0 100644
--- a/pkgs/development/libraries/libdc1394/default.nix
+++ b/pkgs/development/libraries/libdc1394/default.nix
@@ -15,10 +15,11 @@ stdenv.mkDerivation rec {
     ++ lib.optional stdenv.isDarwin CoreServices;
 
   meta = with lib; {
-    homepage = "https://sourceforge.net/projects/libdc1394/";
     description = "Capture and control API for IIDC compliant cameras";
+    homepage = "https://sourceforge.net/projects/libdc1394/";
     license = licenses.lgpl21Plus;
     maintainers = [ maintainers.viric ];
+    mainProgram = "dc1394_reset_bus";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix
index dd1707ec96f..462434f9839 100644
--- a/pkgs/development/libraries/libdeltachat/default.nix
+++ b/pkgs/development/libraries/libdeltachat/default.nix
@@ -5,6 +5,7 @@
 , openssl
 , perl
 , pkg-config
+, python3
 , rustPlatform
 , sqlcipher
 , sqlite
@@ -16,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdeltachat";
-  version = "1.79.0";
+  version = "1.80.0";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-core-rust";
     rev = version;
-    hash = "sha256-jwAPbTwMSWDucAvip5KcA7fb4LCWo70SiIspacijMvQ=";
+    hash = "sha256-4b2tf7QmLQ5ltnkxUGCwA1TZSQRoyKaRGcxBxbSKDaE=";
   };
 
   patches = [
@@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-Fn4M4CQV7VTE7SubvOszhpGBbmDyqemyUeZ0qDmcGUU=";
+    hash = "sha256-t1/xztmiuJMqNkIe7cBzO7MaZQb6GtnIX5wxEpC+IFo=";
   };
 
   nativeBuildInputs = [
@@ -60,6 +61,10 @@ stdenv.mkDerivation rec {
     cargoCheckHook
   ];
 
+  passthru.tests = {
+    python = python3.pkgs.deltachat;
+  };
+
   meta = with lib; {
     description = "Delta Chat Rust Core library";
     homepage = "https://github.com/deltachat/deltachat-core-rust/";
diff --git a/pkgs/development/libraries/libdigidoc/default.nix b/pkgs/development/libraries/libdigidoc/default.nix
index 7ee268e4e7d..a639b4b3294 100644
--- a/pkgs/development/libraries/libdigidoc/default.nix
+++ b/pkgs/development/libraries/libdigidoc/default.nix
@@ -21,7 +21,8 @@ stdenv.mkDerivation rec {
     description = "Library for creating DigiDoc signature files";
     homepage = "https://github.com/open-eid/libdigidoc";
     license = licenses.lgpl2;
-    platforms = platforms.unix;
     maintainers = [ maintainers.jagajaga ];
+    mainProgram = "cdigidoc";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libeatmydata/default.nix b/pkgs/development/libraries/libeatmydata/default.nix
index 70fab2da568..3a3abdc5e9a 100644
--- a/pkgs/development/libraries/libeatmydata/default.nix
+++ b/pkgs/development/libraries/libeatmydata/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     description = "Small LD_PRELOAD library to disable fsync and friends";
     homepage = "https://www.flamingspork.com/projects/libeatmydata/";
     license = licenses.gpl3Plus;
+    mainProgram = "eatmydata";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libee/default.nix b/pkgs/development/libraries/libee/default.nix
index ae052971825..1269f6f0eff 100644
--- a/pkgs/development/libraries/libee/default.nix
+++ b/pkgs/development/libraries/libee/default.nix
@@ -12,9 +12,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ libestr];
 
   meta = {
-    homepage = "http://www.libee.org/";
     description = "An Event Expression Library inspired by CEE";
-    platforms = lib.platforms.unix;
+    homepage = "http://www.libee.org/";
     license = lib.licenses.lgpl21Plus;
+    mainProgram = "libee-convert";
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libexttextcat/default.nix b/pkgs/development/libraries/libexttextcat/default.nix
index c315379d92c..39369c5c3b6 100644
--- a/pkgs/development/libraries/libexttextcat/default.nix
+++ b/pkgs/development/libraries/libexttextcat/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "An N-Gram-Based Text Categorization library primarily intended for language guessing";
     homepage = "https://wiki.documentfoundation.org/Libexttextcat";
-    platforms = platforms.all;
     license = licenses.bsd3;
+    mainProgram = "createfp";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libffi/3.3.nix b/pkgs/development/libraries/libffi/3.3.nix
new file mode 100644
index 00000000000..a1e2ff8c588
--- /dev/null
+++ b/pkgs/development/libraries/libffi/3.3.nix
@@ -0,0 +1,64 @@
+{ lib, stdenv, fetchurl, fetchpatch
+, autoreconfHook
+
+, doCheck ? true # test suite depends on dejagnu which cannot be used during bootstrapping
+, dejagnu
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libffi";
+  version = "3.3";
+
+  src = fetchurl {
+    url = "https://github.com/libffi/libffi/releases/download/v${version}/${pname}-${version}.tar.gz";
+    hash = "sha256-cvunkicD3fp6Ao1ROsFahcjVTI1n9V+lpIAohdxlIFY=";
+  };
+
+  patches = [];
+
+  outputs = [ "out" "dev" "man" "info" ];
+
+  configureFlags = [
+    "--with-gcc-arch=generic" # no detection of -march= or -mtune=
+    "--enable-pax_emutramp"
+
+    # Causes issues in downstream packages which misuse ffi_closure_alloc
+    # Reenable once these issues are fixed and merged:
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6155
+    # https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/283
+    "--disable-exec-static-tramp"
+  ];
+
+  preCheck = ''
+    # The tests use -O0 which is not compatible with -D_FORTIFY_SOURCE.
+    NIX_HARDENING_ENABLE=''${NIX_HARDENING_ENABLE/fortify/}
+  '';
+
+  dontStrip = stdenv.hostPlatform != stdenv.buildPlatform; # Don't run the native `strip' when cross-compiling.
+
+  inherit doCheck;
+
+  checkInputs = [ dejagnu ];
+
+  meta = with lib; {
+    description = "A foreign function call interface library";
+    longDescription = ''
+      The libffi library provides a portable, high level programming
+      interface to various calling conventions.  This allows a
+      programmer to call any function specified by a call interface
+      description at run-time.
+
+      FFI stands for Foreign Function Interface.  A foreign function
+      interface is the popular name for the interface that allows code
+      written in one language to call code written in another
+      language.  The libffi library really only provides the lowest,
+      machine dependent layer of a fully featured foreign function
+      interface.  A layer must exist above libffi that handles type
+      conversions for values passed between the two languages.
+    '';
+    homepage = "http://sourceware.org/libffi/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ armeenm ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libgit2/default.nix b/pkgs/development/libraries/libgit2/default.nix
index dc12e643cb7..10f3ceaac26 100644
--- a/pkgs/development/libraries/libgit2/default.nix
+++ b/pkgs/development/libraries/libgit2/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , pkg-config
 , python3
@@ -16,23 +15,16 @@
 
 stdenv.mkDerivation rec {
   pname = "libgit2";
-  version = "1.4.0";
+  version = "1.4.3";
   # also check the following packages for updates: python3.pkgs.pygit2 and libgit2-glib
 
   src = fetchFromGitHub {
     owner = "libgit2";
     repo = "libgit2";
     rev = "v${version}";
-    sha256 = "sha256-21t7fD/5O+HIHUDEv8MqloDmAIm9sSpJYqreCD3Co2k=";
+    sha256 = "sha256-WnRzH5uMVEStA5ns4GNgMD5YoLQoats9aPLfnz9RoQs=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/libgit2/libgit2/commit/8bc9eda779b2e2602fc74944aba5d39198e0642f.patch";
-      sha256 = "sha256-r2i4+WsrxIpSwH0g/AikBdAajBncXb1zz0uOQB0h1Jk=";
-    })
-  ];
-
   cmakeFlags = [
     "-DTHREADSAFE=ON"
     "-DUSE_HTTP_PARSER=system"
@@ -48,11 +40,11 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # hangs. or very expensive?
 
-  meta = {
+  meta = with lib; {
     description = "Linkable library implementation of Git that you can use in your application";
     homepage = "https://libgit2.org/";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.all;
-    maintainers = with lib.maintainers; [ ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index 35d01cd3e82..5be5ecfd82e 100644
--- a/pkgs/development/libraries/libiconv/default.nix
+++ b/pkgs/development/libraries/libiconv/default.nix
@@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.lgpl2Plus;
 
     maintainers = [ ];
+    mainProgram = "iconv";
 
     # This library is not needed on GNU platforms.
     hydraPlatforms = with lib.platforms; cygwin ++ darwin ++ freebsd;
diff --git a/pkgs/development/libraries/libirecovery/default.nix b/pkgs/development/libraries/libirecovery/default.nix
index 6a2f926d79e..c10d46577ff 100644
--- a/pkgs/development/libraries/libirecovery/default.nix
+++ b/pkgs/development/libraries/libirecovery/default.nix
@@ -39,16 +39,17 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/libimobiledevice/libirecovery";
     description = "Library and utility to talk to iBoot/iBSS via USB on Mac OS X, Windows, and Linux";
     longDescription = ''
       libirecovery is a cross-platform library which implements communication to
       iBoot/iBSS found on Apple's iOS devices via USB. A command-line utility is also
       provided.
     '';
+    homepage = "https://github.com/libimobiledevice/libirecovery";
     license = licenses.lgpl21;
+    maintainers = with maintainers; [ nh2 ];
+    mainProgram = "irecovery";
     # Upstream description says it works on more platforms, but packager hasn't tried that yet
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ nh2 ];
   };
 }
diff --git a/pkgs/development/libraries/liblinphone/default.nix b/pkgs/development/libraries/liblinphone/default.nix
index 89a23dccc7e..10c2bfb272c 100644
--- a/pkgs/development/libraries/liblinphone/default.nix
+++ b/pkgs/development/libraries/liblinphone/default.nix
@@ -1,50 +1,20 @@
-{ bcg729
-, bctoolbox
-, bcunit
+{ bctoolbox
 , belcard
 , belle-sip
 , belr
-, bzrtp
-, cairo
 , cmake
-, cyrus_sasl
 , doxygen
 , fetchFromGitLab
-, ffmpeg
-, gdk-pixbuf
-, glib
-, graphviz
-, gtk2
-, intltool
 , jsoncpp
-, libexosip
-, libmatroska
-, libnotify
-, libosip
-, libsoup
-, libupnp
-, libX11
 , libxml2
 , lime
-, makeWrapper
-, mbedtls
 , mediastreamer
-, openldap
-, ortp
-, pango
-, pkg-config
 , python3
-, readline
 , bc-soci
-, boost
-, speex
 , sqlite
 , lib
 , stdenv
-, udev
 , xercesc
-, xsd
-, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -62,69 +32,31 @@ stdenv.mkDerivation rec {
 
   patches = [ ./use-normal-jsoncpp.patch ];
 
-  # Do not build static libraries
-  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+  cmakeFlags = [
+    "-DENABLE_STATIC=NO" # Do not build static libraries
+    "-DENABLE_UNIT_TESTS=NO" # Do not build test executables
+  ];
 
-  # TODO: Not sure if all these inputs are actually needed. Most of them were
-  # defined when liblinphone and linphone-desktop weren't separated yet, so some
-  # of them might not be needed for liblinphone alone.
   buildInputs = [
-    (python3.withPackages (ps: [ ps.pystache ps.six ]))
-
     # Made by BC
-    bcg729
-    bctoolbox
     belcard
     belle-sip
-    belr
-    bzrtp
     lime
     mediastreamer
-    ortp
 
     # Vendored by BC
     bc-soci
 
-    # Vendored by BC but we use upstream, might cause problems
-    libmatroska
-
-    cairo
-    cyrus_sasl
-    ffmpeg
-    gdk-pixbuf
-    glib
-    gtk2
-    libX11
-    libexosip
-    libnotify
-    libosip
-    libsoup
-    libupnp
+    jsoncpp
     libxml2
-    mbedtls
-    openldap
-    pango
-    readline
-    boost
-    speex
+    (python3.withPackages (ps: [ ps.pystache ps.six ]))
     sqlite
-    udev
     xercesc
-    xsd
-    zlib
-    jsoncpp
   ];
 
   nativeBuildInputs = [
-    # Made by BC
-    bcunit
-
     cmake
     doxygen
-    graphviz
-    intltool
-    makeWrapper
-    pkg-config
   ];
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/liblognorm/default.nix b/pkgs/development/libraries/liblognorm/default.nix
index af4190f9683..184d9932eb2 100644
--- a/pkgs/development/libraries/liblognorm/default.nix
+++ b/pkgs/development/libraries/liblognorm/default.nix
@@ -15,9 +15,10 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--enable-regexp" ];
 
   meta = with lib; {
-    homepage = "https://www.liblognorm.com/";
     description = "Help to make sense out of syslog data, or, actually, any event data that is present in text form";
+    homepage = "https://www.liblognorm.com/";
     license = licenses.lgpl21;
+    mainProgram = "lognormalizer";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libmaxminddb/default.nix b/pkgs/development/libraries/libmaxminddb/default.nix
index 1c15519aaff..855296bddb4 100644
--- a/pkgs/development/libraries/libmaxminddb/default.nix
+++ b/pkgs/development/libraries/libmaxminddb/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     description = "C library for working with MaxMind geolocation DB files";
     homepage = "https://github.com/maxmind/libmaxminddb";
     license = licenses.asl20;
-    platforms = platforms.all;
     maintainers = [ maintainers.vcunat ];
+    mainProgram = "mmdblookup";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index 2a74c79afaf..3a0ced3d980 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -1,23 +1,16 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libzen, zlib, fetchpatch }:
+{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libzen, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "21.09";
+  version = "22.03";
   pname = "libmediainfo";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
-    sha256 = "09pinxqw3z3hxrafn67clw1cb1z9aqfy6gkiavginfm0yr299gk9";
+    sha256 = "sha256-/FC6u2KOnPumVSiNrgbVw0Kw1+aUGjLWT7uxEySMgLk=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ libzen zlib ];
-
-  patches = [
-    # fixes pkgsMusl.libmediainfo build
-    (fetchpatch {
-      url = "https://git.alpinelinux.org/aports/plain/community/libmediainfo/fix-include-signal.patch?id=b8d666a3d33575c184308e1176f4de9e519af577";
-      sha256 = "sha256-b3HoIwy/hKSh8jUakwVJpnPmYw5KUwZXgLW7IPMY4/c=";
-    })
-  ];
+  buildInputs = [ zlib ];
+  propagatedBuildInputs = [ libzen ];
 
   postPatch = "cd Project/GNU/Library";
 
diff --git a/pkgs/development/libraries/libnatpmp/default.nix b/pkgs/development/libraries/libnatpmp/default.nix
index 54177ad559d..f718170fc76 100644
--- a/pkgs/development/libraries/libnatpmp/default.nix
+++ b/pkgs/development/libraries/libnatpmp/default.nix
@@ -22,10 +22,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://miniupnp.free.fr/libnatpmp.html";
     description = "NAT-PMP client";
+    homepage = "http://miniupnp.free.fr/libnatpmp.html";
     license = licenses.bsd3;
     maintainers = with maintainers; [ orivej ];
+    mainProgram = "natpmpc";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix
index d3b857d7673..de3f2141c2e 100644
--- a/pkgs/development/libraries/libnotify/default.nix
+++ b/pkgs/development/libraries/libnotify/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libnotify";
-  version = "0.7.9";
+  version = "0.7.11";
 
   outputs = [ "out" "man" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0qa7cx6ra5hwqnxw95b9svgjg5q6ynm8y843iqjszxvds5z53h36";
+    sha256 = "3VaC7GgiAznhHFFZt+ASIEoxjdGzaDoJxILKQhqwc3U=";
   };
 
   mesonFlags = [
@@ -61,10 +61,11 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/libnotify";
     description = "A library that sends desktop notifications to a notification daemon";
-    platforms = platforms.unix;
-    maintainers = teams.gnome.members;
+    homepage = "https://gitlab.gnome.org/GNOME/libnotify";
     license = licenses.lgpl21;
+    maintainers = teams.gnome.members;
+    mainProgram = "notify-send";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libpg_query/default.nix b/pkgs/development/libraries/libpg_query/default.nix
index ba554065cfc..1319a8eedf8 100644
--- a/pkgs/development/libraries/libpg_query/default.nix
+++ b/pkgs/development/libraries/libpg_query/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpg_query";
-  version = "13-2.1.0";
+  version = "13-2.1.1";
 
   src = fetchFromGitHub {
     owner = "pganalyze";
     repo = "libpg_query";
     rev = version;
-    sha256 = "sha256-DpvPmBvpx5pWDlx6T3Kp82ALi6FjOO549Exd8tWXDIk=";
+    sha256 = "sha256-195WNTTdXHHPbQg2Ipwa3v/qPEeAtehvZa2OC1egoFo=";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/pkgs/development/libraries/libpostal/default.nix b/pkgs/development/libraries/libpostal/default.nix
index 6b616a61d51..30c7af9ccc5 100644
--- a/pkgs/development/libraries/libpostal/default.nix
+++ b/pkgs/development/libraries/libpostal/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/openvenues/libpostal";
     license = licenses.mit;
     maintainers = [ maintainers.Thra11 ];
+    mainProgram = "libpostal_data";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index 0a710d648fb..fc85f537591 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -85,7 +85,8 @@ in stdenv.mkDerivation rec {
     homepage = "https://rockdaboot.github.io/libpsl/";
     changelog = "https://raw.githubusercontent.com/rockdaboot/${pname}/${pname}-${version}/NEWS";
     license = licenses.mit;
-    platforms = platforms.unix;
     maintainers = [ maintainers.c0bw3b ];
+    mainProgram = "psl";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index ddaa6ae3e1d..afc2313df7a 100644
--- a/pkgs/development/libraries/libqalculate/default.nix
+++ b/pkgs/development/libraries/libqalculate/default.nix
@@ -41,8 +41,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "An advanced calculator library";
     homepage = "http://qalculate.github.io";
-    maintainers = with maintainers; [ gebner doronbehar ];
     license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ gebner doronbehar ];
+    mainProgram = "qalc";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index 1ad63db733d..97f21d0cb94 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -71,11 +71,9 @@ let
       moveToOutput "bin/nc" "$nc"
       moveToOutput "bin/openssl" "$bin"
       moveToOutput "bin/ocspcheck" "$bin"
-      moveToOutput "share/man/man1/nc.1${lib.optionalString (dontGzipMan==null) ".gz"}" "$nc"
+      moveToOutput "share/man/man1/nc.1.gz" "$nc"
     '';
 
-    dontGzipMan = if stdenv.isDarwin then true else null; # not sure what's wrong
-
     meta = with lib; {
       description = "Free TLS/SSL implementation";
       homepage    = "https://www.libressl.org";
@@ -90,4 +88,9 @@ in {
     version = "3.4.3";
     sha256 = "sha256-/4i//jVIGLPM9UXjyv5FTFAxx6dyFwdPUzJx1jw38I0=";
   };
+
+  libressl_3_5 = generic {
+    version = "3.5.2";
+    sha256 = "sha256-Vv6rjiHD+mVJ+LfXURZYuOmFGBYoOKeVMUcyZUrfPl8=";
+  };
 }
diff --git a/pkgs/development/libraries/libroxml/default.nix b/pkgs/development/libraries/libroxml/default.nix
index 71d78a8b8e5..647e4c188a0 100644
--- a/pkgs/development/libraries/libroxml/default.nix
+++ b/pkgs/development/libraries/libroxml/default.nix
@@ -10,10 +10,11 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://www.libroxml.net/";
     description = "This library is minimum, easy-to-use, C implementation for xml file parsing";
+    homepage = "https://www.libroxml.net/";
     license = licenses.lgpl3;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ mpickering ];
+    mainProgram = "roxml";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index b0935441384..c442c14b517 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -27,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "librsvg";
-  version = "2.54.0";
+  version = "2.54.1";
 
   outputs = [ "out" "dev" "installedTests" ] ++ lib.optionals withIntrospection [
     "devdoc"
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "uvjrwUfxRrQmG7PQzQ+slEv427Sx8jR9IzQfl03MMIU=";
+    sha256 = "1VV++9zEFaQYDhEWt/c2y3EbJT0RDZX6huyDD3ACZiU=";
   };
 
   cargoVendorDir = "vendor";
@@ -146,6 +146,7 @@ stdenv.mkDerivation rec {
     homepage = "https://wiki.gnome.org/Projects/LibRsvg";
     license = licenses.lgpl2Plus;
     maintainers = teams.gnome.members;
+    mainProgram = "rsvg-convert";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/librsync/default.nix b/pkgs/development/libraries/librsync/default.nix
index a0248e774b7..0594e9e6e20 100644
--- a/pkgs/development/libraries/librsync/default.nix
+++ b/pkgs/development/libraries/librsync/default.nix
@@ -17,9 +17,10 @@ stdenv.mkDerivation rec {
   dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
 
   meta = with lib; {
+    description = "Implementation of the rsync remote-delta algorithm";
     homepage = "http://librsync.sourceforge.net/";
     license = licenses.lgpl2Plus;
-    description = "Implementation of the rsync remote-delta algorithm";
+    mainProgram = "rdiff";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index d0e8bd163dd..fbc8a026af5 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, getopt, util-linux, gperf, nix-update-script }:
+{ lib, stdenv, fetchurl, getopt, util-linuxMinimal, which, gperf, nix-update-script }:
 
 stdenv.mkDerivation rec {
   pname = "libseccomp";
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
-  checkInputs = [ util-linux ];
-  doCheck = false; # dependency cycle
+  checkInputs = [ util-linuxMinimal which ];
+  doCheck = true;
 
   # Hack to ensure that patchelf --shrink-rpath get rids of a $TMPDIR reference.
   preFixup = "rm -rfv src";
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 95e2c69e4c7..b04012cec28 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -110,6 +110,7 @@ stdenv.mkDerivation rec {
     description = "A library for storing and retrieving passwords and other secrets";
     homepage = "https://wiki.gnome.org/Projects/Libsecret";
     license = lib.licenses.lgpl21Plus;
+    mainProgram = "secret-tool";
     inherit (glib.meta) platforms maintainers;
   };
 }
diff --git a/pkgs/development/libraries/libshout/default.nix b/pkgs/development/libraries/libshout/default.nix
index e231fb0ed6e..07025b26eea 100644
--- a/pkgs/development/libraries/libshout/default.nix
+++ b/pkgs/development/libraries/libshout/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.icecast.org";
     license = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ jcumming ];
+    mainProgram = "shout";
     platforms = with lib.platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix
index dbe108f586f..a319de5ce6b 100644
--- a/pkgs/development/libraries/libsndfile/default.nix
+++ b/pkgs/development/libraries/libsndfile/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsndfile";
-  version = "1.0.31";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1alba3iv8i7i2jb5fd6q5s7j9bcj48sf28nfjd3qigz2n2is5jl2";
+    sha256 = "sha256-bhIXVSKuUnUzs5aaLDHt21RcnqekEpLU414sFtl2Lro=";
   };
 
   nativeBuildInputs = [ autoreconfHook autogen pkg-config python3 ];
diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix
index 2d50851e583..3dde7038535 100644
--- a/pkgs/development/libraries/libsolv/default.nix
+++ b/pkgs/development/libraries/libsolv/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, cmake, ninja, zlib, expat, rpm, db }:
 
 stdenv.mkDerivation rec {
-  version  = "0.7.21";
+  version  = "0.7.22";
   pname = "libsolv";
 
   src = fetchFromGitHub {
     owner  = "openSUSE";
     repo   = "libsolv";
     rev    = version;
-    sha256 = "sha256-ka1HXVo0CFr0eqGTkatYq1jXE+9UgM0YTZNW1WtMLF0=";
+    sha256 = "sha256-rqWQJz3gZuhcNblyFWiYCC17miNY8F5xguAJwDk3xFE=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/libu2f-host/default.nix b/pkgs/development/libraries/libu2f-host/default.nix
index 3be758c906f..9acbaa47906 100644
--- a/pkgs/development/libraries/libu2f-host/default.nix
+++ b/pkgs/development/libraries/libu2f-host/default.nix
@@ -24,9 +24,10 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    homepage = "https://developers.yubico.com/libu2f-host";
     description = "A C library and command-line tool that implements the host-side of the U2F protocol";
+    homepage = "https://developers.yubico.com/libu2f-host";
     license = with licenses; [ gpl3Plus lgpl21Plus ];
+    mainProgram = "u2f-host";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libubox/default.nix b/pkgs/development/libraries/libubox/default.nix
index 9261d1b81ba..bb49ad4472c 100644
--- a/pkgs/development/libraries/libubox/default.nix
+++ b/pkgs/development/libraries/libubox/default.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation {
     description = "C utility functions for OpenWrt";
     homepage = "https://git.openwrt.org/?p=project/libubox.git;a=summary";
     license = licenses.isc;
-    platforms = platforms.all;
     maintainers = with maintainers; [ fpletz ];
+    mainProgram = "jshn";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 12f7f982c1d..92b8a99c72d 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
     homepage    = "https://libuv.org/";
     changelog   = "https://github.com/libuv/libuv/blob/v${version}/ChangeLog";
     maintainers = with maintainers; [ cstrahan ];
-    platforms   = with platforms; linux ++ darwin;
+    platforms   = platforms.all;
     license     = with licenses; [ mit isc bsd2 bsd3 cc-by-40 ];
   };
 
diff --git a/pkgs/development/libraries/libvmaf/default.nix b/pkgs/development/libraries/libvmaf/default.nix
index a58f816e8af..e7add08871a 100644
--- a/pkgs/development/libraries/libvmaf/default.nix
+++ b/pkgs/development/libraries/libvmaf/default.nix
@@ -21,12 +21,13 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = with lib; {
-    homepage = "https://github.com/Netflix/vmaf";
     description = "Perceptual video quality assessment based on multi-method fusion (VMAF)";
+    homepage = "https://github.com/Netflix/vmaf";
     changelog = "https://github.com/Netflix/vmaf/raw/v${version}/CHANGELOG.md";
-    platforms = platforms.unix;
     license = licenses.bsd2Patent;
     maintainers = [ maintainers.cfsmp3 maintainers.marsam ];
+    mainProgram = "vmaf";
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/libraries/libwebsockets/default.nix b/pkgs/development/libraries/libwebsockets/default.nix
index e0ee94faf0d..82f5614458f 100644
--- a/pkgs/development/libraries/libwebsockets/default.nix
+++ b/pkgs/development/libraries/libwebsockets/default.nix
@@ -32,13 +32,12 @@ let
       "-DLWS_WITH_PLUGINS=ON"
       "-DLWS_WITH_IPV6=ON"
       "-DLWS_WITH_SOCKS5=ON"
+      "-DDISABLE_WERROR=ON"
       # Required since v4.2.0
       "-DLWS_BUILD_HASH=no_hash"
     ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "-DLWS_WITHOUT_TESTAPPS=ON"
       ++ lib.optional withExternalPoll "-DLWS_WITH_EXTERNAL_POLL=ON";
 
-    NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-Wno-error=unused-but-set-variable";
-
     postInstall = ''
       rm -r ${placeholder "out"}/share/libwebsockets-test-server
     '';
@@ -63,21 +62,6 @@ let
   };
 
 in {
-  libwebsockets_3_1 = generic {
-    sha256 = "1w1wz6snf3cmcpa3f4dci2nz9za2f5rrylxl109id7bcb36xhbdl";
-    version = "3.1.0";
-  };
-
-  libwebsockets_3_2 = generic {
-    version = "3.2.2";
-    sha256 = "0m1kn4p167jv63zvwhsvmdn8azx3q7fkk8qc0fclwyps2scz6dna";
-  };
-
-  libwebsockets_4_2 = generic {
-    version = "4.2.1";
-    sha256 = "sha256-C+WGfNF4tAgbp/7aRraBgjNOe4I5ihm+8CGelXzfxbU=";
-  };
-
   libwebsockets_4_3 = generic {
     version = "4.3.1";
     sha256 = "sha256-lB3JHh058cQc5rycLnHk3JAOgtku0nRCixN5U6lPKq8=";
diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix
index 7bcc62af6ec..5c632009bee 100644
--- a/pkgs/development/libraries/libxkbcommon/default.nix
+++ b/pkgs/development/libraries/libxkbcommon/default.nix
@@ -61,6 +61,7 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/xkbcommon/libxkbcommon/blob/xkbcommon-${version}/NEWS";
     license = licenses.mit;
     maintainers = with maintainers; [ primeos ttuegel ];
+    mainProgram = "xkbcli";
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix b/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
index 539fca7456b..6578a86e35b 100644
--- a/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
+++ b/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
     homepage = "https://xkbcommon.org";
     license = licenses.mit;
     maintainers = with maintainers; [ ttuegel ];
+    mainProgram = "xkbcli";
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libxls/default.nix b/pkgs/development/libraries/libxls/default.nix
index 43c96027d08..8ba48e15f22 100644
--- a/pkgs/development/libraries/libxls/default.nix
+++ b/pkgs/development/libraries/libxls/default.nix
@@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
     description = "Extract Cell Data From Excel xls files";
     homepage = "https://github.com/libxls/libxls";
     license = licenses.bsd2;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
+    mainProgram = "xls2csv";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 3b7cae36a0e..06c073c718a 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libxml2";
-  version = "2.9.13";
+  version = "2.9.14";
 
   outputs = [ "bin" "dev" "out" "man" "doc" ]
     ++ lib.optional pythonSupport "py"
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "J2EwYC0S/khOzANEfuXnWdBGVVj7yda9FE43RTBuvw4=";
+    sha256 = "1vnzk33wfms348lgz9pvkq9li7jm44pvm73lbr3w1khwgljlmmv0";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libyang/default.nix b/pkgs/development/libraries/libyang/default.nix
index cedc24909bc..8cc4ad06e35 100644
--- a/pkgs/development/libraries/libyang/default.nix
+++ b/pkgs/development/libraries/libyang/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libyang";
-  version = "2.0.164";
+  version = "2.0.194";
 
   src = fetchFromGitHub {
     owner = "CESNET";
     repo = "libyang";
     rev = "v${version}";
-    sha256 = "sha256-0Ou0j9KaNkX/SFmid+wphvtu3wDTXkw+8xdck6lEE3w=";
+    sha256 = "sha256-5dgSBXJIeGXT+jGqT2MFqtsEFcIn+ULjybnyXz+95Gk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libykneomgr/default.nix b/pkgs/development/libraries/libykneomgr/default.nix
index 7f314410667..d0fc1cfd9fb 100644
--- a/pkgs/development/libraries/libykneomgr/default.nix
+++ b/pkgs/development/libraries/libykneomgr/default.nix
@@ -17,9 +17,10 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://developers.yubico.com/libykneomgr";
     description = "A C library to interact with the CCID-part of the Yubikey NEO";
+    homepage = "https://developers.yubico.com/libykneomgr";
     license = licenses.bsd3;
+    mainProgram = "ykneomgr";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/lime/default.nix b/pkgs/development/libraries/lime/default.nix
index 1d6a94a828a..38dd0d04e67 100644
--- a/pkgs/development/libraries/lime/default.nix
+++ b/pkgs/development/libraries/lime/default.nix
@@ -5,7 +5,6 @@
 , lib
 , bc-soci
 , sqlite
-, boost
 , stdenv
 }:
 
@@ -31,12 +30,13 @@ stdenv.mkDerivation rec {
     bc-soci
 
     sqlite
-    boost
   ];
   nativeBuildInputs = [ cmake ];
 
-  # Do not build static libraries
-  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+  cmakeFlags = [
+    "-DENABLE_STATIC=NO" # Do not build static libraries
+    "-DENABLE_UNIT_TESTS=NO" # Do not build test executables
+  ];
 
   meta = with lib; {
     description = "End-to-end encryption library for instant messaging. Part of the Linphone project.";
diff --git a/pkgs/development/libraries/lmdb/bin-ext.patch b/pkgs/development/libraries/lmdb/bin-ext.patch
new file mode 100644
index 00000000000..2d5af99772c
--- /dev/null
+++ b/pkgs/development/libraries/lmdb/bin-ext.patch
@@ -0,0 +1,21 @@
+diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
+index 612484e..2e6b562 100644
+--- a/libraries/liblmdb/Makefile
++++ b/libraries/liblmdb/Makefile
+@@ -27,6 +27,7 @@ CFLAGS	= $(THREADS) $(OPT) $(W) $(XCFLAGS)
+ LDLIBS	=
+ SOLIBS	=
+ SOEXT	= .so
++BINEXT  =
+ prefix	= /usr/local
+ exec_prefix = $(prefix)
+ bindir = $(exec_prefix)/bin
+@@ -49,7 +50,7 @@ install: $(ILIBS) $(IPROGS) $(IHDRS)
+ 	mkdir -p $(DESTDIR)$(libdir)
+ 	mkdir -p $(DESTDIR)$(includedir)
+ 	mkdir -p $(DESTDIR)$(mandir)/man1
+-	for f in $(IPROGS); do cp $$f $(DESTDIR)$(bindir); done
++	for f in $(IPROGS); do cp $$f$(BINEXT) $(DESTDIR)$(bindir); done
+ 	for f in $(ILIBS); do cp $$f $(DESTDIR)$(libdir); done
+ 	for f in $(IHDRS); do cp $$f $(DESTDIR)$(includedir); done
+ 	for f in $(IDOCS); do cp $$f $(DESTDIR)$(mandir)/man1; done
diff --git a/pkgs/development/libraries/lmdb/default.nix b/pkgs/development/libraries/lmdb/default.nix
index 0a3515db262..a8b5da5b56d 100644
--- a/pkgs/development/libraries/lmdb/default.nix
+++ b/pkgs/development/libraries/lmdb/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitLab }:
+{ lib, stdenv, fetchFromGitLab, windows }:
 
 stdenv.mkDerivation rec {
   pname = "lmdb";
@@ -14,17 +14,20 @@ stdenv.mkDerivation rec {
 
   postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb";
 
-  patches = [ ./hardcoded-compiler.patch ];
+  patches = [ ./hardcoded-compiler.patch ./bin-ext.patch ];
   patchFlags = [ "-p3" ];
 
   outputs = [ "bin" "out" "dev" ];
 
+  buildInputs = lib.optional stdenv.hostPlatform.isWindows windows.pthreads;
+
   makeFlags = [
     "prefix=$(out)"
     "CC=${stdenv.cc.targetPrefix}cc"
     "AR=${stdenv.cc.targetPrefix}ar"
   ]
-    ++ lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/liblmdb.so";
+    ++ lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/liblmdb.so"
+    ++ lib.optionals stdenv.hostPlatform.isWindows [ "SOEXT=.dll" "BINEXT=.exe" ];
 
   doCheck = true;
   checkTarget = "test";
diff --git a/pkgs/development/libraries/lucene++/default.nix b/pkgs/development/libraries/lucene++/default.nix
index ef55541ed77..96be84ee2a7 100644
--- a/pkgs/development/libraries/lucene++/default.nix
+++ b/pkgs/development/libraries/lucene++/default.nix
@@ -14,13 +14,13 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ boost gtest zlib ];
 
-  doCheck = true;
-
   postPatch = ''
-     substituteInPlace src/test/CMakeLists.txt \
-            --replace "add_subdirectory(gtest)" ""
+    substituteInPlace src/test/CMakeLists.txt \
+      --replace "add_subdirectory(gtest)" ""
   '';
 
+  doCheck = true;
+
   checkPhase = ''
     runHook preCheck
     LD_LIBRARY_PATH=$PWD/src/contrib:$PWD/src/core \
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     mv $out/include/pkgconfig $out/lib/
+    cp $src/src/contrib/include/*h $out/include/lucene++/
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/matio/default.nix b/pkgs/development/libraries/matio/default.nix
index 7a227e57560..1805de0264c 100644
--- a/pkgs/development/libraries/matio/default.nix
+++ b/pkgs/development/libraries/matio/default.nix
@@ -9,9 +9,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A C library for reading and writing Matlab MAT files";
+    homepage = "http://matio.sourceforge.net/";
     license = licenses.bsd2;
-    platforms = platforms.all;
     maintainers = [ maintainers.vbgl ];
-    homepage = "http://matio.sourceforge.net/";
+    mainProgram = "matdump";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/mauikit-accounts/default.nix b/pkgs/development/libraries/mauikit-accounts/default.nix
new file mode 100644
index 00000000000..a102bd7f36a
--- /dev/null
+++ b/pkgs/development/libraries/mauikit-accounts/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, kconfig
+, kio
+, mauikit
+}:
+
+mkDerivation rec {
+  pname = "mauikit-accounts";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "mauikit-accounts";
+    rev = "v${version}";
+    sha256 = "sha256-B0VmgE0L8kBOqR/lrWCHO3psCQ7GZVPIGljGAwpuymE=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    kconfig
+    kio
+    mauikit
+  ];
+
+  meta = with lib; {
+    homepage = "https://invent.kde.org/maui/mauikit-accounts";
+    description = "MauiKit utilities to handle User Accounts";
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/libraries/mauikit-texteditor/default.nix b/pkgs/development/libraries/mauikit-texteditor/default.nix
new file mode 100644
index 00000000000..a405fd851bd
--- /dev/null
+++ b/pkgs/development/libraries/mauikit-texteditor/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, kconfig
+, kio
+, mauikit
+, syntax-highlighting
+}:
+
+mkDerivation rec {
+  pname = "mauikit-texteditor";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "mauikit-texteditor";
+    rev = "v${version}";
+    sha256 = "sha256-C0EOc0CE6Ef7vnmOKRqTzeJUamGXsvREpHRPGTcAaIc=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    kconfig
+    kio
+    mauikit
+    syntax-highlighting
+  ];
+
+  meta = with lib; {
+    homepage = "https://invent.kde.org/maui/mauikit-texteditor";
+    description = "MauiKit Text Editor components";
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/libraries/md4c/default.nix b/pkgs/development/libraries/md4c/default.nix
index 2ad77b2d2fd..6504d99af3e 100644
--- a/pkgs/development/libraries/md4c/default.nix
+++ b/pkgs/development/libraries/md4c/default.nix
@@ -29,7 +29,6 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/mity/md4c";
     description = "Markdown parser made in C";
     longDescription = ''
       MD4C is Markdown parser implementation in C, with the following features:
@@ -58,8 +57,10 @@ stdenv.mkDerivation rec {
         "Unicode"). See more details below.
       - Permissive license: MD4C is available under the MIT license.
     '';
+    homepage = "https://github.com/mity/md4c";
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
+    mainProgram = "md2html";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix
index 2d9c559bcba..bb5bc566bc1 100644
--- a/pkgs/development/libraries/mediastreamer/default.nix
+++ b/pkgs/development/libraries/mediastreamer/default.nix
@@ -1,33 +1,21 @@
-{ alsa-lib
-, bctoolbox
+{ bctoolbox
 , bzrtp
 , cmake
-, doxygen
 , fetchFromGitLab
 , ffmpeg
 , glew
 , gsm
-, intltool
 , lib
-, libGL
-, libGLU
 , libX11
 , libXext
-, libXv
-, libmatroska
 , libopus
-, libpcap
 , libpulseaudio
-, libtheora
-, libupnp
 , libv4l
 , libvpx
 , ortp
-, pkg-config
 , python3
 , qtbase
 , qtdeclarative
-, SDL
 , speex
 , srtp
 , stdenv
@@ -59,9 +47,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
-    doxygen
-    intltool
-    pkg-config
     python3
     qtbase
     qtdeclarative
@@ -73,28 +58,19 @@ stdenv.mkDerivation rec {
     bzrtp
     ortp
 
-    # Vendored by BC but we use upstream, might cause problems
-    libmatroska
-
-    alsa-lib
     ffmpeg
     glew
-    gsm
-    libGL
-    libGLU
     libX11
     libXext
-    libXv
-    libopus
-    libpcap
     libpulseaudio
-    libtheora
-    libupnp
     libv4l
-    libvpx
-    SDL
     speex
     srtp
+
+    # Optional
+    gsm  # GSM audio codec
+    libopus  # Opus audio codec
+    libvpx  # VP8 video codec
   ];
 
   strictDeps = true;
@@ -104,6 +80,7 @@ stdenv.mkDerivation rec {
     "-DENABLE_QT_GL=ON" # Build necessary MSQOGL plugin for Linphone desktop
     "-DCMAKE_C_FLAGS=-DGIT_VERSION=\"v${version}\""
     "-DENABLE_STRICT=NO" # Disable -Werror
+    "-DENABLE_UNIT_TESTS=NO" # Do not build test executables
   ];
 
   NIX_LDFLAGS = "-lXext";
diff --git a/pkgs/development/libraries/mediastreamer/msopenh264.nix b/pkgs/development/libraries/mediastreamer/msopenh264.nix
index 17f537b4d87..83a96175cba 100644
--- a/pkgs/development/libraries/mediastreamer/msopenh264.nix
+++ b/pkgs/development/libraries/mediastreamer/msopenh264.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-AqZ7tsNZw2Djgyo1JBJbT/c3eQVyEn6r3CT6DQLD/B8=";
   };
 
-  nativeBuildInputs = [ autoreconfHook cmake pkg-config ];
+  nativeBuildInputs = [ cmake ];
   buildInputs = [ mediastreamer openh264 ];
 
   # Do not build static libraries
diff --git a/pkgs/development/libraries/mongoc/default.nix b/pkgs/development/libraries/mongoc/default.nix
index e9779cf0a05..8b5753b3aca 100644
--- a/pkgs/development/libraries/mongoc/default.nix
+++ b/pkgs/development/libraries/mongoc/default.nix
@@ -19,8 +19,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "The official C client library for MongoDB";
-    homepage = "https://github.com/mongodb/mongo-c-driver";
+    homepage = "http://mongoc.org";
     license = licenses.asl20;
+    mainProgram = "mongoc-stat";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/nanomsg/default.nix b/pkgs/development/libraries/nanomsg/default.nix
index 49a93abd7fb..2bc86edef70 100644
--- a/pkgs/development/libraries/nanomsg/default.nix
+++ b/pkgs/development/libraries/nanomsg/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
     description= "Socket library that provides several common communication patterns";
     homepage = "https://nanomsg.org/";
     license = licenses.mit;
+    mainProgram = "nanocat";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/ndpi/default.nix b/pkgs/development/libraries/ndpi/default.nix
index 2e8a997299f..b798320c691 100644
--- a/pkgs/development/libraries/ndpi/default.nix
+++ b/pkgs/development/libraries/ndpi/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.ntop.org/products/deep-packet-inspection/ndpi/";
     license = with licenses; [ lgpl3Plus bsd3 ];
     maintainers = with maintainers; [ takikawa ];
+    mainProgram = "ndpiReader";
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/opencl-clang/default.nix b/pkgs/development/libraries/opencl-clang/default.nix
index 243dfa44d5b..f4897331c93 100644
--- a/pkgs/development/libraries/opencl-clang/default.nix
+++ b/pkgs/development/libraries/opencl-clang/default.nix
@@ -67,15 +67,15 @@ let
   in
     stdenv.mkDerivation rec {
       pname = "opencl-clang";
-      version = "unstable-2021-06-22";
+      version = "unstable-2022-03-16";
 
       inherit passthru;
 
       src = fetchFromGitHub {
         owner = "intel";
         repo = "opencl-clang";
-        rev = "fd68f64b33e67d58f6c36b9e25c31c1178a1962a";
-        sha256 = "sha256-q1YPBb/LY67iEuQx1fMUQD/I7OsNfobW3yNfJxLXx3E=";
+        rev = "bbdd1587f577397a105c900be114b56755d1f7dc";
+        sha256 = "sha256-qEZoQ6h4XAvSnJ7/gLXBb1qrzeYa6Jp6nij9VFo8MwQ=";
       };
 
       patches = [
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 6818418ad68..26a89fe47a4 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -178,8 +178,8 @@ in {
 
 
   openssl_1_1 = common rec {
-    version = "1.1.1n";
-    sha256 = "sha256-QNzrUaT2pSdb3g5r8g70uRv8Mu1XwFUuLo4VRjNysXo=";
+    version = "1.1.1o";
+    sha256 = "sha256-k4SisFcN2ANYhBRkZ3EV33he25QccSEfdQdtcv5rQ48=";
     patches = [
       ./1.1/nix-ssl-cert-file.patch
 
diff --git a/pkgs/development/libraries/pe-parse/default.nix b/pkgs/development/libraries/pe-parse/default.nix
index 445188bd0d9..b2a555bd263 100644
--- a/pkgs/development/libraries/pe-parse/default.nix
+++ b/pkgs/development/libraries/pe-parse/default.nix
@@ -2,27 +2,28 @@
 
 stdenv.mkDerivation rec {
   pname = "pe-parse";
-  version = "1.2.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "trailofbits";
     repo = "pe-parse";
     rev = "v${version}";
-    sha256 = "1jvfjaiwddczjlx4xdhpbgwvvpycab7ix35lwp3wfy44hs6qpjqv";
+    hash = "sha256-HwWlMRhpB/sa/JRyAZF7LZzkXCCyuxB+gtDAfHt7e6k=";
   };
 
   nativeBuildInputs = [ cmake ];
 
   doInstallCheck = true;
   installCheckPhase = ''
-    $out/bin/dump-pe ../test/assets/example.exe
+    $out/bin/dump-pe ../tests/assets/example.exe
   '';
 
   meta = with lib; {
     description = "A principled, lightweight parser for Windows portable executable files";
     homepage = "https://github.com/trailofbits/pe-parse";
     license = licenses.mit;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ arturcygan ];
+    mainProgram = "dump-pe";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index da594346c29..96d8c9c2052 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -2,7 +2,6 @@
 , lib
 , buildPackages
 , fetchFromGitLab
-, fetchpatch
 , removeReferencesTo
 , python3
 , meson
@@ -68,7 +67,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.49";
+    version = "0.3.51";
 
     outputs = [
       "out"
@@ -86,7 +85,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "sha256-8heX/9BsPguIOzHOuqEQdt6MS3eS4HxR4A+FUZKNpdo=";
+      sha256 = "sha256-k5OdKgkQUaelvrGS4KtO0MtSJg6cF2Nf8RrsR8Kf+C8=";
     };
 
     patches = [
@@ -102,12 +101,6 @@ let
       ./0090-pipewire-config-template-paths.patch
       # Place SPA data files in lib output to avoid dependency cycles
       ./0095-spa-data-dir.patch
-      # Fixes missing function declarations in pipewire headers
-      # Should be removed after the next release
-      (fetchpatch {
-        url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a2e98e28c1e6fb58b273ef582398d8bee4d2b769.patch";
-        sha256 = "sha256-tqiiAW2fTEp23HT59XR2D/G08pVENJtpxUI7UVufj/A=";
-      })
     ];
 
     nativeBuildInputs = [
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 5547e492a65..3e22483eb07 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -35,13 +35,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "poppler-${suffix}";
-  version = "22.03.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
+  version = "22.04.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
-    sha256 = "sha256-cox4upTXWlX2tjVdT72qb0mTTZYWvljl5nmpz9CYDh4=";
+    sha256 = "sha256-gT+0uQ572mPfUyBcVIYCuucoiHpg9ASKrk29mxkn3v8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/precice/default.nix b/pkgs/development/libraries/precice/default.nix
index ba35a55d920..e700a5f9f11 100644
--- a/pkgs/development/libraries/precice/default.nix
+++ b/pkgs/development/libraries/precice/default.nix
@@ -25,10 +25,11 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "preCICE stands for Precise Code Interaction Coupling Environment";
-    license = with lib.licenses; [ gpl3 ];
     homepage = "https://precice.org/";
-    platforms = lib.platforms.unix;
+    license = with lib.licenses; [ gpl3 ];
     maintainers = with lib.maintainers; [ Scriptkiddi ];
+    mainProgram = "binprecice";
+    platforms = lib.platforms.unix;
   };
 }
 
diff --git a/pkgs/development/libraries/presage/default.nix b/pkgs/development/libraries/presage/default.nix
index df15e73f73c..5f03a425dcc 100644
--- a/pkgs/development/libraries/presage/default.nix
+++ b/pkgs/development/libraries/presage/default.nix
@@ -30,6 +30,12 @@ stdenv.mkDerivation rec {
       sha256 = "0243nx1ygggmsly7057vndb4pkjxg9rpay5gyqqrq9jjzjzh63dj";
     })
     ./fixed-cppunit-detection.patch
+    # fix gcc11 build
+    (fetchpatch {
+      name = "presage-0.9.1-gcc11.patch";
+      url = "https://build.opensuse.org/public/source/openSUSE:Factory/presage/presage-0.9.1-gcc11.patch?rev=3f8b4b19c99276296d6ea595cc6c431f";
+      sha256 = "sha256-pLrIFXvJHRvv4x9gBIfal4Y68lByDE3XE2NZNiAXe9k=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/proj-datumgrid/default.nix b/pkgs/development/libraries/proj-datumgrid/default.nix
index 8251a17a83c..2593c04fa15 100644
--- a/pkgs/development/libraries/proj-datumgrid/default.nix
+++ b/pkgs/development/libraries/proj-datumgrid/default.nix
@@ -26,7 +26,8 @@ stdenv.mkDerivation rec {
     description = "Repository for proj datum grids";
     homepage = "https://proj4.org";
     license = licenses.mit;
-    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ ];
+    mainProgram = "nad2bin";
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/protobuf/3.1.nix b/pkgs/development/libraries/protobuf/3.1.nix
deleted file mode 100644
index 91ef87512c8..00000000000
--- a/pkgs/development/libraries/protobuf/3.1.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.1.0";
-  sha256 = "0qlvpsmqgh9nw0k4zrxlxf75pafi3p0ahz99v6761b903y8qyv4i";
-}
diff --git a/pkgs/development/libraries/protobuf/3.19.nix b/pkgs/development/libraries/protobuf/3.19.nix
index 7e2be4bec04..e47bb62e736 100644
--- a/pkgs/development/libraries/protobuf/3.19.nix
+++ b/pkgs/development/libraries/protobuf/3.19.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.19.3";
-  sha256 = "sha256-nA6L064MuyP5Si4MCLk2yg8PDM7RWggFEGQyibputYQ=";
+  version = "3.19.4";
+  sha256 = "sha256-mxQ8XonVgctfaNAyd3vqQHMLHVnkjBa9EObk47vxH24=";
 }
diff --git a/pkgs/development/libraries/protobuf/generic-v3.nix b/pkgs/development/libraries/protobuf/generic-v3.nix
index 6867940d1f2..130f681d849 100644
--- a/pkgs/development/libraries/protobuf/generic-v3.nix
+++ b/pkgs/development/libraries/protobuf/generic-v3.nix
@@ -48,9 +48,10 @@ mkProtobufDerivation = buildProtobuf: stdenv: stdenv.mkDerivation {
         yet extensible format. Google uses Protocol Buffers for almost all of
         its internal RPC protocols and file formats.
       '';
+    homepage = "https://developers.google.com/protocol-buffers/";
     license = lib.licenses.bsd3;
+    mainProgram = "protoc";
     platforms = lib.platforms.unix;
-    homepage = "https://developers.google.com/protocol-buffers/";
   };
 
   passthru.version = version;
diff --git a/pkgs/development/libraries/rnnoise/default.nix b/pkgs/development/libraries/rnnoise/default.nix
index ad587f0f583..af4fcf30153 100644
--- a/pkgs/development/libraries/rnnoise/default.nix
+++ b/pkgs/development/libraries/rnnoise/default.nix
@@ -18,10 +18,11 @@ stdenv.mkDerivation (rec {
   '';
 
   meta = with lib; {
-    homepage = "https://people.xiph.org/~jm/demo/rnnoise/";
     description = "Recurrent neural network for audio noise reduction";
+    homepage = "https://people.xiph.org/~jm/demo/rnnoise/";
     license = licenses.bsd3;
     maintainers = [ maintainers.nh2 ];
+    mainProgram = "rnnoise_demo";
     platforms = platforms.all;
   };
 })
diff --git a/pkgs/development/libraries/rocclr/default.nix b/pkgs/development/libraries/rocclr/default.nix
index fb847b83fe9..8afb0d04418 100644
--- a/pkgs/development/libraries/rocclr/default.nix
+++ b/pkgs/development/libraries/rocclr/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , writeScript
 , rocm-comgr
 }:
@@ -15,6 +16,16 @@ stdenv.mkDerivation rec {
     hash = "sha256-SFWEGKffhuiTE7ICbkElVV5cldXu4Xbwvjb6LiNmijA=";
   };
 
+  patches = [
+    # Enable support for gfx8 again
+    # See the upstream issue: https://github.com/RadeonOpenCompute/ROCm/issues/1659
+    # And the arch patch: https://github.com/rocm-arch/rocm-arch/pull/742
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/John-Gee/rocm-arch/d6812d308fee3caf2b6bb01b4d19fe03a6a0e3bd/rocm-opencl-runtime/enable-gfx800.patch";
+      hash = "sha256-59jFDIIsTTZcNns9RyMVWPRUggn/bSlAGrky4quu8B4=";
+    })
+  ];
+
   prePatch = ''
     substituteInPlace device/comgrctx.cpp \
       --replace "libamd_comgr.so" "${rocm-comgr}/lib/libamd_comgr.so"
diff --git a/pkgs/development/libraries/rocm-opencl-runtime/default.nix b/pkgs/development/libraries/rocm-opencl-runtime/default.nix
index 9c19638d3f4..26bf783f448 100644
--- a/pkgs/development/libraries/rocm-opencl-runtime/default.nix
+++ b/pkgs/development/libraries/rocm-opencl-runtime/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-opencl-runtime";
-  version = "5.0.2";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCm-OpenCL-Runtime";
     rev = "rocm-${version}";
-    hash = "sha256-ovYwElZGRKySH1mWFIISxuNNxCjaqoe9oCvqYZGdfq0=";
+    hash = "sha256-O7q3uTjspO/rZ2+8+g7pRfBXsCRaEr4DZxEqABHbOeY=";
   };
 
   nativeBuildInputs = [ cmake rocm-cmake ];
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DAMD_OPENCL_PATH=${src}"
     "-DROCCLR_PATH=${rocclr}"
+    "-DCPACK_PACKAGING_INSTALL_PREFIX=/opt/rocm/opencl"
   ];
 
   dontStrip = true;
diff --git a/pkgs/development/libraries/rocm-runtime/default.nix b/pkgs/development/libraries/rocm-runtime/default.nix
index d16966d2130..9eb9218adda 100644
--- a/pkgs/development/libraries/rocm-runtime/default.nix
+++ b/pkgs/development/libraries/rocm-runtime/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-runtime";
-  version = "5.1.0";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCR-Runtime";
     rev = "rocm-${version}";
-    hash = "sha256-MGm7YmnoFNk7VsxsbsUgSD9Y5r1OBm6Ycg3wXNme8EI=";
+    hash = "sha256-IP5ylfUXOFkw9+Frfh+tNaZ83ozAbOK9kO2AzFVzzWk=";
   };
 
   sourceRoot = "source/src";
diff --git a/pkgs/development/libraries/s2n-tls/default.nix b/pkgs/development/libraries/s2n-tls/default.nix
index e6e35f9b2c4..918626d04c9 100644
--- a/pkgs/development/libraries/s2n-tls/default.nix
+++ b/pkgs/development/libraries/s2n-tls/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s2n-tls";
-  version = "1.3.6";
+  version = "1.3.12";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-i1RbyHw+Fr1QABra6fskRpIbYxEfhOVToeesyax4NtU=";
+    sha256 = "1n1bak4s67cfizh8j5wpf05kfdcjvwqaca4rq9qys25z52bbpn9f";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/science/astronomy/cfitsio/default.nix b/pkgs/development/libraries/science/astronomy/cfitsio/default.nix
index 3be249531bb..e7e8dd04b07 100644
--- a/pkgs/development/libraries/science/astronomy/cfitsio/default.nix
+++ b/pkgs/development/libraries/science/astronomy/cfitsio/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./darwin-rpath-universal.patch ];
 
-  configureFlags = [ "--with-bzip2=${bzip2.out}" ];
+  configureFlags = [ "--with-bzip2=${bzip2.out}" "--enable-reentrant" ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/development/libraries/science/math/cliquer/default.nix b/pkgs/development/libraries/science/math/cliquer/default.nix
index 0d8bafffb44..fd89ede1efb 100644
--- a/pkgs/development/libraries/science/math/cliquer/default.nix
+++ b/pkgs/development/libraries/science/math/cliquer/default.nix
@@ -22,8 +22,6 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://users.aalto.fi/~pat/cliquer.html";
-    downloadPage = src.meta.homepage; # autocliquer
     description = "Routines for clique searching";
     longDescription = ''
       Cliquer is a set of C routines for finding cliques in an arbitrary weighted graph.
@@ -31,8 +29,11 @@ stdenv.mkDerivation rec {
       It is designed with the aim of being efficient while still being flexible and
       easy to use.
     '';
+    homepage = "https://users.aalto.fi/~pat/cliquer.html";
+    downloadPage = src.meta.homepage; # autocliquer
     license = licenses.gpl2Plus;
     maintainers = teams.sage.members;
+    mainProgram = "cl";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/science/math/flintqs/default.nix b/pkgs/development/libraries/science/math/flintqs/default.nix
index c956eae4f71..c5426ed67fc 100644
--- a/pkgs/development/libraries/science/math/flintqs/default.nix
+++ b/pkgs/development/libraries/science/math/flintqs/default.nix
@@ -30,10 +30,11 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    homepage = "https://github.com/sagemath/FlintQS";
     description = "Highly optimized multi-polynomial quadratic sieve for integer factorization";
+    homepage = "https://github.com/sagemath/FlintQS";
     license = with licenses; [ gpl2 ];
     maintainers = teams.sage.members;
+    mainProgram = "QuadraticSieve";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix
index 82237ef1434..1a1f3475c35 100644
--- a/pkgs/development/libraries/serd/default.nix
+++ b/pkgs/development/libraries/serd/default.nix
@@ -14,10 +14,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config python3 wafHook ];
 
   meta = with lib; {
-    homepage = "http://drobilla.net/software/serd";
     description = "A lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples";
+    homepage = "http://drobilla.net/software/serd";
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu ];
+    mainProgram = "serdi";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/signond/default.nix b/pkgs/development/libraries/signond/default.nix
index 7e986ed2635..ff5aeca626e 100644
--- a/pkgs/development/libraries/signond/default.nix
+++ b/pkgs/development/libraries/signond/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "signond";
-  version = "8.60";
+  version = "8.61";
 
   src = fetchFromGitLab {
     owner = "accounts-sso";
     repo = pname;
     rev = "VERSION_${version}";
-    sha256 = "pFpeJ13ut5EoP37W33WrYL2LzkX/k7ZKJcRpPO5l8i4=";
+    sha256 = "sha256-d7JZmGpjIvSN9l1nvKbBZjF0OR5L5frPTGHF/pNEqHE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
index ea1bb493683..9255889c694 100644
--- a/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -44,8 +44,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "An advanced font engine";
+    homepage = "https://graphite.sil.org/";
+    license = licenses.lgpl21;
     maintainers = [ maintainers.raskin ];
+    mainProgram = "gr2fonttest";
     platforms = platforms.unix;
-    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix
index fe32076858a..53d69a7e549 100644
--- a/pkgs/development/libraries/slang/default.nix
+++ b/pkgs/development/libraries/slang/default.nix
@@ -84,6 +84,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.jedsoft.org/slang/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
+    mainProgram = "slsh";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/soundtouch/default.nix b/pkgs/development/libraries/soundtouch/default.nix
index b29095f7e19..b03a7cc0722 100644
--- a/pkgs/development/libraries/soundtouch/default.nix
+++ b/pkgs/development/libraries/soundtouch/default.nix
@@ -21,7 +21,8 @@ stdenv.mkDerivation rec {
     description = "A program and library for changing the tempo, pitch and playback rate of audio";
     homepage = "https://www.surina.net/soundtouch/";
     license = licenses.lgpl21Plus;
-    platforms = platforms.all;
     maintainers = with maintainers; [ orivej ];
+    mainProgram = "soundstretch";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/spglib/default.nix b/pkgs/development/libraries/spglib/default.nix
index 6d973f36c02..e1472b594a4 100644
--- a/pkgs/development/libraries/spglib/default.nix
+++ b/pkgs/development/libraries/spglib/default.nix
@@ -1,24 +1,27 @@
-{ stdenv, lib, fetchFromGitHub, cmake } :
+{ stdenv, lib, fetchFromGitHub, cmake, openmp }:
 
 stdenv.mkDerivation rec {
   pname = "spglib";
-  version = "1.16.3";
+  version = "1.16.5"; # N.B: if you change this, please update: pythonPackages.spglib
 
   src = fetchFromGitHub {
-    owner = "atztogo";
+    owner = "spglib";
     repo = "spglib";
     rev = "v${version}";
-    sha256 = "sha256-sM6+RBAVc2aJYlWatdD4nYZkFnaTFVjBzd/VDSSA+kk=";
+    sha256 = "sha256-BbqyL7WJ/jpOls1MmY7VNCN+OlF6u4uz/pZjMAqk87w=";
   };
 
   nativeBuildInputs = [ cmake ];
 
+  buildInputs = lib.optionals stdenv.isDarwin [ openmp ];
+
   checkTarget = "check";
   doCheck = true;
 
   meta = with lib; {
     description = "C library for finding and handling crystal symmetries";
-    homepage = "https://atztogo.github.io/spglib/";
+    homepage = "https://spglib.github.io/spglib/";
+    changelog = "https://github.com/spglib/spglib/raw/v${version}/ChangeLog";
     license = licenses.bsd3;
     maintainers = [ maintainers.markuskowa ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 0d80a83e8ed..726ccff02bb 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -12,13 +12,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite${optionalString interactive "-interactive"}";
-  version = "3.38.2";
+  version = "3.38.3";
 
   # nixpkgs-update: no auto update
   # NB! Make sure to update ./tools.nix src (in the same directory).
   src = fetchurl {
     url = "https://sqlite.org/2022/sqlite-autoconf-${archiveVersion version}.tar.gz";
-    sha256 = "sha256-55dKoUMLrWkKXp95pu5chJKtqCadxnWHWtD7dH18raQ=";
+    sha256 = "sha256-YfLdk6LjjDNGi3EllnwyGL+fTdg2Xe9gJeMU+QXclC4=";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix
index ebb887ffa01..d112515c8e9 100644
--- a/pkgs/development/libraries/sqlite/tools.nix
+++ b/pkgs/development/libraries/sqlite/tools.nix
@@ -2,14 +2,14 @@
 
 let
   archiveVersion = import ./archive-version.nix lib;
-  mkTool = { pname, makeTarget, description, homepage }: stdenv.mkDerivation rec {
+  mkTool = { pname, makeTarget, description, homepage, mainProgram }: stdenv.mkDerivation rec {
     inherit pname;
-    version = "3.38.2";
+    version = "3.38.3";
 
     # nixpkgs-update: no auto update
     src = assert version == sqlite.version; fetchurl {
       url = "https://sqlite.org/2022/sqlite-src-${archiveVersion version}.zip";
-      sha256 = "sha256-x8DwcKM4yS6wiAWQXAXyVPpG0cTdo1SKAkdPb7VnMpo=";
+      sha256 = "sha256-oQTUk+CEAGvXT/H/esLrKzh8fAo7Y7pv6i+vtBGDE68=";
     };
 
     nativeBuildInputs = [ unzip ];
@@ -20,7 +20,7 @@ let
     installPhase = "install -Dt $out/bin ${makeTarget}";
 
     meta = with lib; {
-      inherit description homepage;
+      inherit description homepage mainProgram;
       downloadPage = "http://sqlite.org/download.html";
       license = licenses.publicDomain;
       maintainers = with maintainers; [ johnazoidberg ];
@@ -34,11 +34,13 @@ in
     makeTarget = "sqldiff";
     description = "A tool that displays the differences between SQLite databases";
     homepage = "https://www.sqlite.org/sqldiff.html";
+    mainProgram = "sqldiff";
   };
   sqlite-analyzer = mkTool {
     pname = "sqlite-analyzer";
     makeTarget = "sqlite3_analyzer";
     description = "A tool that shows statistics about SQLite databases";
     homepage = "https://www.sqlite.org/sqlanalyze.html";
+    mainProgram = "sqlite3_analyzer";
   };
 }
diff --git a/pkgs/development/libraries/stxxl/default.nix b/pkgs/development/libraries/stxxl/default.nix
index 391424ee2c9..499532092f0 100644
--- a/pkgs/development/libraries/stxxl/default.nix
+++ b/pkgs/development/libraries/stxxl/default.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/stxxl/stxxl";
     license = licenses.boost;
     maintainers = with maintainers; [ ];
+    mainProgram = "stxxl_tool";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/swiften/default.nix b/pkgs/development/libraries/swiften/default.nix
index ef30c5916ea..848fd57336e 100644
--- a/pkgs/development/libraries/swiften/default.nix
+++ b/pkgs/development/libraries/swiften/default.nix
@@ -1,6 +1,5 @@
 { stdenv
 , lib
-, python2
 , libidn
 , lua
 , miniupnpc
@@ -40,7 +39,6 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    python2
     libidn
     lua
     miniupnpc
diff --git a/pkgs/development/libraries/tecla/default.nix b/pkgs/development/libraries/tecla/default.nix
index 11918d76da6..7163f24815c 100644
--- a/pkgs/development/libraries/tecla/default.nix
+++ b/pkgs/development/libraries/tecla/default.nix
@@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = "https://www.astro.caltech.edu/~mcs/tecla/";
     description = "Command-line editing library";
+    homepage = "https://www.astro.caltech.edu/~mcs/tecla/";
     license = "as-is";
-
+    mainProgram = "enhance";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/tepl/default.nix b/pkgs/development/libraries/tepl/default.nix
index f561efb473c..a10ad67b23d 100644
--- a/pkgs/development/libraries/tepl/default.nix
+++ b/pkgs/development/libraries/tepl/default.nix
@@ -9,17 +9,19 @@
 , gtksourceview4
 , icu
 , pkg-config
+, gtk-doc
+, docbook-xsl-nons
 }:
 
 stdenv.mkDerivation rec {
   pname = "tepl";
-  version = "6.00.0";
+  version = "6.0.1";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0qvs7s86gqyyrzi0r5fbrj8zczlgv8xhdjswgbgc1afwjnl9fqx8";
+    sha256 = "J08Fa75V8wpq5EQq0i8VfQTTphtWjZC8hRF7txMgIME=";
   };
 
   nativeBuildInputs = [
@@ -27,6 +29,8 @@ stdenv.mkDerivation rec {
     ninja
     gobject-introspection
     pkg-config
+    gtk-doc
+    docbook-xsl-nons
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/tre/default.nix b/pkgs/development/libraries/tre/default.nix
index 9ac026ee94b..8cd0faf4867 100644
--- a/pkgs/development/libraries/tre/default.nix
+++ b/pkgs/development/libraries/tre/default.nix
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Lightweight and robust POSIX compliant regexp matching library";
     homepage = "https://laurikari.net/tre/";
-    platforms = lib.platforms.unix;
     license = lib.licenses.bsd2;
+    mainProgram = "agrep";
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
index fbf5a71bb4b..a389d204a83 100644
--- a/pkgs/development/libraries/umockdev/default.nix
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -19,15 +19,21 @@
 
 stdenv.mkDerivation rec {
   pname = "umockdev";
-  version = "0.17.8";
+  version = "0.17.9";
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-s3zeWJxw5ohUtsv4NZGKcdP8khEYzIXycbBrAzdnVoU=";
+    sha256 = "sha256-FEmWjJVmKKckC30zULGI/mZ3VNtirnweZq2gKh/Y5VE=";
   };
 
+  patches = [
+    # Hardcode absolute paths to libraries so that consumers
+    # do not need to set LD_LIBRARY_PATH themselves.
+    ./hardcode-paths.patch
+  ];
+
   nativeBuildInputs = [
     docbook-xsl-nons
     gobject-introspection
@@ -57,6 +63,21 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  postPatch = ''
+    # Substitute the path to this derivation in the patch we apply.
+    substituteInPlace src/umockdev-wrapper \
+      --subst-var-by 'LIBDIR' "''${!outputLib}/lib"
+  '';
+
+  preCheck = ''
+    # Our patch makes the path to the `LD_PRELOAD`ed library absolute.
+    # When running tests, the library is not yet installed, though,
+    # so we need to replace the absolute path with a local one during build.
+    # We are using a symlink that will be overridden during installation.
+    mkdir -p "$out/lib"
+    ln -s "$PWD/libumockdev-preload.so.0" "$out/lib/libumockdev-preload.so.0"
+  '';
+
   meta = with lib; {
     description = "Mock hardware devices for creating unit tests";
     license = licenses.lgpl21Plus;
diff --git a/pkgs/development/libraries/umockdev/hardcode-paths.patch b/pkgs/development/libraries/umockdev/hardcode-paths.patch
new file mode 100644
index 00000000000..91f1e928ec6
--- /dev/null
+++ b/pkgs/development/libraries/umockdev/hardcode-paths.patch
@@ -0,0 +1,69 @@
+diff --git a/meson.build b/meson.build
+index 2ed9027..1f6bbf2 100644
+--- a/meson.build
++++ b/meson.build
+@@ -38,6 +38,7 @@ g_ir_compiler = find_program('g-ir-compiler', required: false)
+ 
+ conf.set('PACKAGE_NAME', meson.project_name())
+ conf.set_quoted('VERSION', meson.project_version())
++conf.set_quoted('LIBDIR', get_option('prefix') / get_option('libdir'))
+ 
+ # glibc versions somewhere between 2.28 and 2.34
+ if cc.has_function('__fxstatat', prefix: '#include <sys/stat.h>')
+@@ -148,7 +149,7 @@ hacked_gir = custom_target('UMockdev-1.0 hacked gir',
+ 
+ if g_ir_compiler.found()
+ umockdev_typelib = custom_target('UMockdev-1.0 typelib',
+-  command: [g_ir_compiler, '--output', '@OUTPUT@', '-l', 'libumockdev.so.0', '@INPUT@'],
++  command: [g_ir_compiler, '--output', '@OUTPUT@', '-l', get_option('prefix') / get_option('libdir') / 'libumockdev.so.0', '@INPUT@'],
+   input: hacked_gir,
+   output: 'UMockdev-1.0.typelib',
+   install: true,
+diff --git a/src/config.vapi b/src/config.vapi
+index 5269dd0..a2ec46d 100644
+--- a/src/config.vapi
++++ b/src/config.vapi
+@@ -2,5 +2,6 @@
+ namespace Config {
+     public const string PACKAGE_NAME;
+     public const string VERSION;
++    public const string LIBDIR;
+ }
+ 
+diff --git a/src/umockdev-record.vala b/src/umockdev-record.vala
+index 8434d32..68c7f8e 100644
+--- a/src/umockdev-record.vala
++++ b/src/umockdev-record.vala
+@@ -435,7 +435,7 @@ main (string[] args)
+         preload = "";
+     else
+         preload = preload + ":";
+-    Environment.set_variable("LD_PRELOAD", preload + "libumockdev-preload.so.0", true);
++    Environment.set_variable("LD_PRELOAD", preload + Config.LIBDIR + "/libumockdev-preload.so.0", true);
+ 
+     try {
+         root_dir = DirUtils.make_tmp("umockdev.XXXXXX");
+diff --git a/src/umockdev-run.vala b/src/umockdev-run.vala
+index 9a1ba10..6df2522 100644
+--- a/src/umockdev-run.vala
++++ b/src/umockdev-run.vala
+@@ -95,7 +95,7 @@ main (string[] args)
+         preload = "";
+     else
+         preload = preload + ":";
+-    Environment.set_variable ("LD_PRELOAD", preload + "libumockdev-preload.so.0", true);
++    Environment.set_variable ("LD_PRELOAD", preload + Config.LIBDIR + "/libumockdev-preload.so.0", true);
+ 
+     var testbed = new UMockdev.Testbed ();
+ 
+diff --git a/src/umockdev-wrapper b/src/umockdev-wrapper
+index 6ce4dcd..706c49a 100755
+--- a/src/umockdev-wrapper
++++ b/src/umockdev-wrapper
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+ # Wrapper program to preload the libumockdev library, so that test programs can
+ # set $UMOCKDEV_DIR for redirecting sysfs and other queries to a test bed.
+-exec env LD_PRELOAD=libumockdev-preload.so.0:$LD_PRELOAD "$@"
++exec env LD_PRELOAD=@LIBDIR@/libumockdev-preload.so.0:$LD_PRELOAD "$@"
+ 
diff --git a/pkgs/development/libraries/uriparser/default.nix b/pkgs/development/libraries/uriparser/default.nix
index 28eea052517..c39fdb03e89 100644
--- a/pkgs/development/libraries/uriparser/default.nix
+++ b/pkgs/development/libraries/uriparser/default.nix
@@ -20,14 +20,15 @@ stdenv.mkDerivation rec {
   doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
 
   meta = with lib; {
-    homepage = "https://uriparser.github.io/";
     description = "Strictly RFC 3986 compliant URI parsing library";
     longDescription = ''
       uriparser is a strictly RFC 3986 compliant URI parsing and handling library written in C.
       API documentation is available on uriparser website.
     '';
+    homepage = "https://uriparser.github.io/";
     license = licenses.bsd3;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ bosu ];
+    mainProgram = "uriparse";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/uthenticode/default.nix b/pkgs/development/libraries/uthenticode/default.nix
index 9957eccd426..c342ee4d70d 100644
--- a/pkgs/development/libraries/uthenticode/default.nix
+++ b/pkgs/development/libraries/uthenticode/default.nix
@@ -1,28 +1,21 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, gtest, openssl, pe-parse }:
+{ stdenv, lib, fetchFromGitHub, cmake, gtest, openssl, pe-parse }:
 
 stdenv.mkDerivation rec {
   pname = "uthenticode";
-  version = "1.0.4";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "trailofbits";
     repo = "uthenticode";
     rev = "v${version}";
-    sha256 = "16j91cki63zk4d7wzwvq8al98l8hmvcdil3vfp44ink4q4bfswkx";
+    hash = "sha256-H4fAHZM+vYaUkXZE4f7r2bxw9dno7O+lYrqQ9/6YPWA=";
   };
 
-  patches = [
-    # adds USE_SYSTEM_GTEST cmake flag, the patch won't be necessary in next versions
-    (fetchpatch {
-      url = "https://github.com/trailofbits/uthenticode/commit/7a4c5499c8e5ea7bfae1c620e1f96c112866b1dd.patch";
-      sha256 = "17637j5zwp71jmi803mv1z04arld3k3kmrm8nvrkpg08q5kizh28";
-    })
-  ];
-
-  cmakeFlags = [ "-DBUILD_TESTS=1" "-DUSE_SYSTEM_GTEST=1" ];
+  cmakeFlags = [ "-DBUILD_TESTS=1" "-DUSE_EXTERNAL_GTEST=1" ];
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ pe-parse openssl gtest ];
+  checkInputs = [ gtest ];
+  buildInputs = [ pe-parse openssl ];
 
   doCheck = true;
   checkPhase = "test/uthenticode_test";
diff --git a/pkgs/development/libraries/webrtc-audio-processing/0.3.nix b/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
index 1ce3c2d9fa8..c9fafdd2766 100644
--- a/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
+++ b/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
@@ -9,7 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0";
   };
 
-  patches = [ ./enable-riscv.patch ];
+  patches = [
+    ./enable-riscv.patch
+    ./enable-powerpc.patch
+  ];
 
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices ]);
 
diff --git a/pkgs/development/libraries/webrtc-audio-processing/enable-powerpc.patch b/pkgs/development/libraries/webrtc-audio-processing/enable-powerpc.patch
new file mode 100644
index 00000000000..636cae4df85
--- /dev/null
+++ b/pkgs/development/libraries/webrtc-audio-processing/enable-powerpc.patch
@@ -0,0 +1,37 @@
+This patch was extracted from the Gentoo powerpc64le-qtwebengine
+patchset, referenced here:
+
+  https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild
+
+and downloaded from here:
+
+  https://dev.gentoo.org/~asturm/distfiles/${PN}-5.15.3_p20220406-patchset.tar.xz
+
+From 4bbb4482e14ad27cf0bd5032b1b5d4abba29dc99 Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakovlev@gentoo.org>
+Date: Fri, 27 Nov 2020 13:05:45 -0800
+Subject: [PATCH] 5.15.2 ppc64le patchet
+
+diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h
+index ce1f3e8..fd39a16 100644
+--- a/webrtc/typedefs.h
++++ b/webrtc/typedefs.h
+@@ -38,6 +38,18 @@
+ #define WEBRTC_ARCH_X86
+ #define WEBRTC_ARCH_32_BITS
+ #define WEBRTC_ARCH_LITTLE_ENDIAN
++#elif defined(__PPC__)
++#define WEBRTC_ARCH_PPC_FAMILY
++#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
++#define WEBRTC_ARCH_LITTLE_ENDIAN
++#else
++#define WEBRTC_ARCH_BIG_ENDIAN
++#endif
++#if defined(__LP64__)
++#define WEBRTC_ARCH_64_BITS
++#else
++#define WEBRTC_ARCH_32_BITS
++#endif
+ #elif defined(__ARMEL__)
+ // TODO(ajm): We'd prefer to control platform defines here, but this is
+ // currently provided by the Android makefiles. Commented to avoid duplicate
diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix
index 9a8bee561c1..c8706c737b1 100644
--- a/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -27,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal";
-  version = "1.14.3";
+  version = "1.14.4";
 
   outputs = [ "out" "installedTests" ];
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     owner = "flatpak";
     repo = pname;
     rev = version;
-    sha256 = "CDqTQQ8dOatOxDKR+HiVQgSJKxH6ZstskKdR84U/870=";
+    sha256 = "///X0inMi9Znuhjn9n0HlVLa5/kFWpKorKS8RY9WeYM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/xmlsec/default.nix b/pkgs/development/libraries/xmlsec/default.nix
index 5f255751480..187e6900aa0 100644
--- a/pkgs/development/libraries/xmlsec/default.nix
+++ b/pkgs/development/libraries/xmlsec/default.nix
@@ -68,10 +68,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
+    description = "XML Security Library in C based on libxml2";
     homepage = "http://www.aleksey.com/xmlsec";
     downloadPage = "https://www.aleksey.com/xmlsec/download.html";
-    description = "XML Security Library in C based on libxml2";
     license = lib.licenses.mit;
+    mainProgram = "xmlsec1";
     platforms = with lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/libraries/zimg/default.nix b/pkgs/development/libraries/zimg/default.nix
index 38b106d474b..475ebc7517e 100644
--- a/pkgs/development/libraries/zimg/default.nix
+++ b/pkgs/development/libraries/zimg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zimg";
-  version = "3.0.3";
+  version = "3.0.4";
 
   src = fetchFromGitHub {
     owner  = "sekrit-twc";
     repo   = "zimg";
     rev    = "release-${version}";
-    sha256 = "0pwgf1mybpa3fs13p6jryzm32vfldyql9biwaypqdcimlnlmyk20";
+    sha256 = "1069x49l7kh1mqcq1h3f0m5j0h832jp5x230bh4c613ymgg5kn00";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/zlog/default.nix b/pkgs/development/libraries/zlog/default.nix
index b115cf7b675..99163ae5dc6 100644
--- a/pkgs/development/libraries/zlog/default.nix
+++ b/pkgs/development/libraries/zlog/default.nix
@@ -17,8 +17,9 @@ stdenv.mkDerivation rec {
     description= "Reliable, high-performance, thread safe, flexible, clear-model, pure C logging library";
     homepage = "https://hardysimpson.github.io/zlog/";
     license = licenses.lgpl21;
-    platforms = platforms.unix;
     maintainers = [ maintainers.matthiasbeyer ];
+    mainProgram = "zlog-chk-conf";
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index 2089cdea46f..5c02026cbe3 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -659,6 +659,57 @@ buildLuarocksPackage {
   };
 }) {};
 
+lmathx = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchurl, lua
+}:
+buildLuarocksPackage {
+  pname = "lmathx";
+  version = "20150624-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lmathx-20150624-1.rockspec";
+    sha256 = "181wzsj1mxjyia43y8zwaydxahnl7a70qzcgc8jhhgic7jyi9pgv";
+  }).outPath;
+  src = fetchurl {
+    url    = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/5.3/lmathx.tar.gz";
+    sha256 = "1r0ax3lq4xx6469aqc6qlfl3jynlghzhl5j65mpdj0kyzv4nknzf";
+  };
+
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/#lmathx";
+    description = "C99 extensions for the math library";
+    maintainers = with lib.maintainers; [ alexshpilkin ];
+    license.fullName = "Public domain";
+  };
+}) {};
+
+lmpfrlib = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchurl, lua
+}:
+buildLuarocksPackage {
+  pname = "lmpfrlib";
+  version = "20170112-2";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lmpfrlib-20170112-2.rockspec";
+    sha256 = "1x7qiwmk5b9fi87fn7yvivdsis8h9fk9r3ipqiry5ahx72vzdm7d";
+  }).outPath;
+  src = fetchurl {
+    url    = "http://www.circuitwizard.de/lmpfrlib/lmpfrlib.c";
+    sha256 = "00d32cwvk298k3vyrjkdmfjgc69x1fwyks3hs7dqr2514zdhgssm";
+  };
+
+  disabled = with lua; (luaOlder "5.3") || (luaAtLeast "5.5");
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "http://www.circuitwizard.de/lmpfrlib/lmpfrlib.html";
+    description = "Lua API for the GNU MPFR library";
+    maintainers = with lib.maintainers; [ alexshpilkin ];
+    license.fullName = "LGPL";
+  };
+}) {};
+
 lpeg = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchurl, lua
 }:
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index cc179f0b946..3ca4b219950 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -129,6 +129,48 @@ with prev;
     '';
   });
 
+  lmathx = prev.lib.overrideLuarocks prev.lmathx (drv:
+    if luaAtLeast "5.1" && luaOlder "5.2" then {
+      version = "20120430.51-1";
+      knownRockspec = (pkgs.fetchurl {
+        url    = "https://luarocks.org/lmathx-20120430.51-1.rockspec";
+        sha256 = "148vbv2g3z5si2db7rqg5bdily7m4sjyh9w6r3jnx3csvfaxyhp0";
+      }).outPath;
+      src = pkgs.fetchurl {
+        url    = "https://web.tecgraf.puc-rio.br/~lhf/ftp/lua/5.1/lmathx.tar.gz";
+        sha256 = "0sa553d0zlxhvpsmr4r7d841f16yq4wr3fg7i07ibxkz6yzxax51";
+      };
+    } else
+    if luaAtLeast "5.2" && luaOlder "5.3" then {
+      version = "20120430.52-1";
+      knownRockspec = (pkgs.fetchurl {
+        url    = "https://luarocks.org/lmathx-20120430.52-1.rockspec";
+        sha256 = "14rd625sipakm72wg6xqsbbglaxyjba9nsajsfyvhg0sz8qjgdya";
+      }).outPath;
+      src = pkgs.fetchurl {
+        url    = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/5.2/lmathx.tar.gz";
+        sha256 = "19dwa4z266l2njgi6fbq9rak4rmx2fsx1s0p9sl166ar3mnrdwz5";
+      };
+    } else
+    {
+      disabled = luaOlder "5.1" || luaAtLeast "5.5";
+      # works fine with 5.4 as well
+      postConfigure = ''
+        substituteInPlace ''${rockspecFilename} \
+          --replace 'lua ~> 5.3' 'lua >= 5.3, < 5.5'
+      '';
+    });
+
+  lmpfrlib = prev.lib.overrideLuarocks prev.lmpfrlib (drv: {
+    externalDeps = [
+      { name = "GMP"; dep = pkgs.gmp; }
+      { name = "MPFR"; dep = pkgs.mpfr; }
+    ];
+    unpackPhase = ''
+      cp $src $(stripHash $src)
+    '';
+  });
+
   lrexlib-gnu = prev.lib.overrideLuarocks prev.lrexlib-gnu (drv: {
     buildInputs = [
       pkgs.gnulib
@@ -240,7 +282,9 @@ with prev;
     ];
   });
 
-  luasystem = prev.lib.overrideLuarocks prev.luasystem (drv: { buildInputs = [ pkgs.glibc.out ]; });
+  luasystem = prev.lib.overrideLuarocks prev.luasystem (drv: pkgs.lib.optionalAttrs pkgs.stdenv.isLinux {
+    buildInputs = [ pkgs.glibc.out ];
+  });
 
   luazip = prev.lib.overrideLuarocks prev.luazip (drv: {
     buildInputs = [
diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix
index 8f5ca85f829..e159a093af2 100644
--- a/pkgs/development/node-packages/default.nix
+++ b/pkgs/development/node-packages/default.nix
@@ -111,10 +111,6 @@ let
       meta.broken = since "10";
     };
 
-    jshint = super.jshint.override {
-      buildInputs = [ pkgs.phantomjs2 ];
-    };
-
     dat = super.dat.override {
       buildInputs = [ self.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ];
       meta.broken = since "12";
diff --git a/pkgs/development/ocaml-modules/janestreet/0.14.nix b/pkgs/development/ocaml-modules/janestreet/0.14.nix
index 800b1c1e531..cee30da45c9 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.14.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.14.nix
@@ -313,6 +313,7 @@ with self;
     meta.description = "A library for building dynamic webapps, using Js_of_ocaml";
     buildInputs = [ js_of_ocaml-ppx ];
     propagatedBuildInputs = [ async_js incr_map incr_select virtual_dom ];
+    patches = [ ./incr_dom_jsoo_4_0.patch ];
   };
 
   incr_map = janePackage {
diff --git a/pkgs/development/ocaml-modules/janestreet/incr_dom_jsoo_4_0.patch b/pkgs/development/ocaml-modules/janestreet/incr_dom_jsoo_4_0.patch
new file mode 100644
index 00000000000..4e7a45ce96d
--- /dev/null
+++ b/pkgs/development/ocaml-modules/janestreet/incr_dom_jsoo_4_0.patch
@@ -0,0 +1,24 @@
+diff --git a/src/js_misc.ml b/src/js_misc.ml
+index 65f7b44..bfef103 100644
+--- a/src/js_misc.ml
++++ b/src/js_misc.ml
+@@ -28,17 +28,11 @@ type rows_or_columns =
+ [@@deriving sexp, bin_io, variants, compare]
+ 
+ let innerHeight () =
+-  Js.Optdef.case
+-    Dom_html.window##.innerHeight
+-    (fun () -> Dom_html.document##.documentElement##.clientHeight)
+-    Fn.id
++  Dom_html.window##.innerHeight
+ ;;
+ 
+ let innerWidth () =
+-  Js.Optdef.case
+-    Dom_html.window##.innerWidth
+-    (fun () -> Dom_html.document##.documentElement##.clientWidth)
+-    Fn.id
++  Dom_html.window##.innerWidth
+ ;;
+ 
+ let element_is_in_viewport (elt : Dom_html.element Js.t) =
diff --git a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
index 12a92c5be39..60a07d30d05 100644
--- a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
@@ -5,7 +5,7 @@
 stdenv.mkDerivation rec {
  pname = "ocsigen-toolkit";
  name = "ocaml${ocaml.version}-${pname}-${version}";
- version = "3.1.1";
+ version = "3.2.0";
 
  propagatedBuildInputs = [ calendar js_of_ocaml-ppx_deriving_json eliom ];
  nativeBuildInputs = [ ocaml findlib opaline eliom ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "ocsigen";
     repo = pname;
     rev = version;
-    sha256 = "sha256:1fm0vvccmjib9yj5m2760vhzb4z3392swlprp51az53g3vk4q218";
+    sha256 = "sha256:13n0y8a80bl94la4lnp9dr2x7b8plhm17g9zgf0l6x42g3886pw7";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index 9f6828fd632..bc977348a71 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.1";
+  version = "9.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-F0t4vVxi4KUUtIZc8FJD9+2qf1XA58haFfjmHwAQaWA=";
+    hash = "sha256-JJ5wrjXazq0+6f4nccLRYaAgTg0d39REXmPHVchDzaE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioairzone/default.nix b/pkgs/development/python-modules/aioairzone/default.nix
index 4865812023b..1b926074cba 100644
--- a/pkgs/development/python-modules/aioairzone/default.nix
+++ b/pkgs/development/python-modules/aioairzone/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aioairzone";
-  version = "0.4.2";
+  version = "0.4.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-SPxSIcsDjsT7dZQs1CoU7DstQTxYN1c0qAB+XQjVXlo=";
+    hash = "sha256-QLHM7M3x0QjTTzKNngsNioEzpPh4qG1ntEtSkHQPlfQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiolimiter/default.nix b/pkgs/development/python-modules/aiolimiter/default.nix
new file mode 100644
index 00000000000..9f8f81e2fca
--- /dev/null
+++ b/pkgs/development/python-modules/aiolimiter/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, importlib-metadata
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, toml
+}:
+
+buildPythonPackage rec {
+  pname = "aiolimiter";
+  version = "1.0.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "mjpieters";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-4wByVZoOLhrXFx9oK19GBmRcjGoJolQ3Gwx9vQV/n8s=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+    toml
+  ];
+
+  patches = [
+    # Switch to poetry-core, https://github.com/mjpieters/aiolimiter/pull/77
+    (fetchpatch {
+      name = "switch-to-peotry-core.patch";
+      url = "https://github.com/mjpieters/aiolimiter/commit/84a85eff42621b0daff8fcf6bb485db313faae0b.patch";
+      sha256 = "sha256-xUfJwLvMF2Xt/V1bKBFn/fjn1uyw7bGNo9RpWxtyr50=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace tox.ini \
+      --replace " --cov=aiolimiter --cov-config=tox.ini --cov-report term-missing" ""
+  '';
+
+  pythonImportsCheck = [
+    "aiolimiter"
+  ];
+
+  meta = with lib; {
+    description = "Implementation of a rate limiter for asyncio";
+    homepage = "https://github.com/mjpieters/aiolimiter";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/androguard/default.nix b/pkgs/development/python-modules/androguard/default.nix
index 42f37e13099..5584f2bd671 100644
--- a/pkgs/development/python-modules/androguard/default.nix
+++ b/pkgs/development/python-modules/androguard/default.nix
@@ -17,7 +17,7 @@
 , nose
 , nose-timer
 , mock
-, python_magic
+, python-magic
 , codecov
 , coverage
 , qt5
@@ -70,7 +70,7 @@ buildPythonPackage rec {
     nose-timer
     pyperclip
     pyqt5
-    python_magic
+    python-magic
   ];
   inherit doCheck;
 
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index 31629eab9d6..a65d681a17b 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -46,7 +46,7 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.1";
+  version = "9.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-7t4NV1udBq3tK7czuKYUsQ+9tLahFM8DlUUBT3d6bco=";
+    hash = "sha256-aniLMNKfEqlVkniS2mSCaeXIOc0EC4zOR59kiGTNUWk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angrop/default.nix b/pkgs/development/python-modules/angrop/default.nix
index d32441a989c..47ecddb0447 100644
--- a/pkgs/development/python-modules/angrop/default.nix
+++ b/pkgs/development/python-modules/angrop/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "angrop";
-  version = "9.2.1";
+  version = "9.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-VhlsRd5IN8zF6aUU5Ji/ULkdecOpR+egU3vhYpi+KL8=";
+    hash = "sha256-LCgY/eOtRulnMeYt96ZYI8vPyyM+jxjlkxTd8Cmnfe0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index b9b29a7167a..e6cd183d413 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.1";
+  version = "9.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-RWdY7tzT5wDVjAn1QIkQm8b5lIo++VzktsYZxn8taeg=";
+    hash = "sha256-wJEipAlqBsP2tgsRDVDe1ZtiEg1uhpP+1P1VGU7tBBw=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/async-lru/default.nix b/pkgs/development/python-modules/async-lru/default.nix
index 69e6519b32c..b656b194785 100644
--- a/pkgs/development/python-modules/async-lru/default.nix
+++ b/pkgs/development/python-modules/async-lru/default.nix
@@ -8,15 +8,15 @@
 
 buildPythonPackage rec {
   pname = "async-lru";
-  version = "unstable-2022-02-03";
+  version = "1.0.3";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
     repo = "async-lru";
-    rev = "3574af7691371015c47faf77e0abf8c7b06a3cdc";
-    hash = "sha256-EsadpQlRNnebp0UUybzQwzyK4zwFlortutv3VTUsprU=";
+    rev = "v${version}";
+    hash = "sha256-98ZPFSOFRnymTCfCG9OuajfxXAWyCrByyJEHhpPVPbM=";
   };
 
   postPatch = ''
@@ -32,13 +32,6 @@ buildPythonPackage rec {
     "--asyncio-mode=strict"
   ];
 
-  disabledTests = [
-    # https://github.com/aio-libs/async-lru/issues/341
-    "test_alru_cache_deco"
-    "test_alru_cache_fn_called"
-    "test_close"
-  ];
-
   pythonImportsCheck = [ "async_lru" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/aurorapy/default.nix b/pkgs/development/python-modules/aurorapy/default.nix
index 7e59d9c8bc9..00eb71e3d7d 100644
--- a/pkgs/development/python-modules/aurorapy/default.nix
+++ b/pkgs/development/python-modules/aurorapy/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aurorapy";
-  version = "0.2.6";
+  version = "0.2.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "energievalsabbia";
     repo = pname;
     rev = version;
-    hash = "sha256-DMlzzLe94dbeHjESmLc045v7vQ//IEsngAv7TeVznHE=";
+    hash = "sha256-rGwfGq3zdoG9NCGqVN29Q4bWApk5B6CRdsW9ctWgOec=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix
index 2b3b1e4ce8c..9698b445eb8 100644
--- a/pkgs/development/python-modules/awkward/default.nix
+++ b/pkgs/development/python-modules/awkward/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Manipulate JSON-like data with NumPy-like idioms";
-    homepage = "https://github.com/scikit-hep/awkward-1.0";
+    homepage = "https://github.com/scikit-hep/awkward";
     license = licenses.bsd3;
     maintainers = with maintainers; [ veprbl ];
   };
diff --git a/pkgs/development/python-modules/aws-adfs/default.nix b/pkgs/development/python-modules/aws-adfs/default.nix
index 9f4a6dcb45a..c888a99f264 100644
--- a/pkgs/development/python-modules/aws-adfs/default.nix
+++ b/pkgs/development/python-modules/aws-adfs/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "aws-adfs";
-  version = "2.0.2";
+  version = "2.0.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -26,8 +26,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "venth";
     repo = pname;
-    rev = version;
-    hash = "sha256-T3AmPCOSeu7gvl57aHjnviy5iQAKlWy85fUOVecFRFc=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-/cOJ8k8YuwTGEXrNuPFAYvDyDKERMJf3o3nRkDLkrJE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-msi/default.nix b/pkgs/development/python-modules/azure-mgmt-msi/default.nix
index 1f1a2dde376..d36a1b985c7 100644
--- a/pkgs/development/python-modules/azure-mgmt-msi/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-msi/default.nix
@@ -1,27 +1,30 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , msrest
-, msrestazure
 , azure-common
-, azure-mgmt-nspkg
+, azure-mgmt-core
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-msi";
-  version = "6.0.0";
+  version = "6.0.1";
+
+  disabled = pythonOlder "3.6";
+
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-RpmYeF6LRKqu0KrjNAFAaOGxyfPuK+TImOumP+FPX2w=";
+    sha256 = "sha256-PPkQmUoBkJ8Su7h9G2/t8dVy/PT3uCYZjlf70fnY2vU=";
   };
 
   propagatedBuildInputs = [
     msrest
-    msrestazure
     azure-common
-    azure-mgmt-nspkg
+    azure-mgmt-core
   ];
 
   pythonNamespaces = [ "azure.mgmt" ];
@@ -29,9 +32,11 @@ buildPythonPackage rec {
   # has no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "azure.mgmt.msi" ];
+
   meta = with lib; {
     description = "This is the Microsoft Azure MSI Management Client Library";
-    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/resources/azure-mgmt-msi";
     license = licenses.mit;
     maintainers = with maintainers; [ maxwilson ];
   };
diff --git a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
index 5baf84c1c39..f2426586d6a 100644
--- a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
@@ -5,17 +5,20 @@
 , msrestazure
 , azure-common
 , azure-mgmt-core
-, azure-mgmt-nspkg
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-recoveryservicesbackup";
-  version = "4.1.1";
+  version = "4.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-9xF2TIAzydmviOwfveA0ZGP7Qj0HWLL6rXp4V4IDS6A=";
+    hash = "sha256-At0BP9mWJneG65FDZuQXTnikaNcEWe+GtTr9ZPri89M=";
   };
 
   propagatedBuildInputs = [
@@ -23,13 +26,14 @@ buildPythonPackage rec {
     msrestazure
     azure-common
     azure-mgmt-core
-    azure-mgmt-nspkg
   ];
 
-  # has no tests
+  # Module has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "azure.mgmt.recoveryservicesbackup" ];
+  pythonImportsCheck = [
+    "azure.mgmt.recoveryservicesbackup"
+  ];
 
   meta = with lib; {
     description = "This is the Microsoft Azure Recovery Services Backup Management Client Library";
diff --git a/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
index 761472b631f..8ac4330b45a 100644
--- a/pkgs/development/python-modules/azure-mgmt-resource/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
@@ -8,14 +8,14 @@
 
 
 buildPythonPackage rec {
-  version = "21.0.0";
+  version = "21.1.0";
   pname = "azure-mgmt-resource";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-y9J/UhxwtA/YO/Y88XsStbwD5ecNwrbnpxtevYuQDQM=";
+    sha256 = "sha256-UpZa3jHNBZ/qKxUT1l/mFgRuQz3g5YPc9cnJvr8+vWk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-servicebus/default.nix b/pkgs/development/python-modules/azure-servicebus/default.nix
index a0864529177..0fd1ca89f08 100644
--- a/pkgs/development/python-modules/azure-servicebus/default.nix
+++ b/pkgs/development/python-modules/azure-servicebus/default.nix
@@ -3,22 +3,25 @@
 , azure-core
 , buildPythonPackage
 , fetchPypi
-, futures ? null
 , isodate
-, isPy3k
 , msrestazure
+, pythonOlder
+, six
+, typing-extensions
 , uamqp
 }:
 
 buildPythonPackage rec {
   pname = "azure-servicebus";
-  version = "7.6.0";
+  version = "7.6.1";
   format = "setuptools";
 
+  disabled = pythonOlder "3.6";
+
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-uZGxQ1Vl6wpBCMW1+80/CBuqelLV02yXf1sNlNtCpHU=";
+    hash = "sha256-wqt+uWKVklP2AxiQN9PeuOFUixtZuBUIUhN+WZBYrBI=";
   };
 
   propagatedBuildInputs = [
@@ -26,16 +29,15 @@ buildPythonPackage rec {
     azure-core
     isodate
     msrestazure
+    six
+    typing-extensions
     uamqp
-  ] ++ lib.optionals (!isPy3k) [
-    futures
   ];
 
-  # has no tests
+  # Tests require dev-tools
   doCheck = false;
 
-  # python2 will fail due to pep 420
-  pythonImportsCheck = lib.optionals isPy3k [
+  pythonImportsCheck = [
     "azure.servicebus"
   ];
 
diff --git a/pkgs/development/python-modules/backports-zoneinfo/default.nix b/pkgs/development/python-modules/backports-zoneinfo/default.nix
index d2b6d06c4cd..5fa4c632316 100644
--- a/pkgs/development/python-modules/backports-zoneinfo/default.nix
+++ b/pkgs/development/python-modules/backports-zoneinfo/default.nix
@@ -7,6 +7,7 @@
 , tzdata
 , hypothesis
 , pytestCheckHook
+, fetchpatch
 }:
 
 buildPythonPackage rec {
@@ -22,7 +23,25 @@ buildPythonPackage rec {
     sha256 = "sha256-00xdDOVdDanfsjQTd3yjMN2RFGel4cWRrAA3CvSnl24=";
   };
 
+  # Make sure test data update patch applies
+  prePatch = ''
+    substituteInPlace tests/data/zoneinfo_data.json --replace \"2020a\" \"2021a\"
+  '';
+
   patches = [
+    # Update test suite's test data to zoneinfo 2022a
+    # https://github.com/pganssle/zoneinfo/pull/115
+    (fetchpatch {
+      name = "backports-zoneinfo-2022a-update-test-data1.patch";
+      url = "https://github.com/pganssle/zoneinfo/pull/115/commits/837e2a0f9f1a1332e4233f83e3648fa564a9ec9e.patch";
+      sha256 = "196knwa212mr0b7zsh8papzr3f5mii87gcjjjx1r9zzvmk3g3ri0";
+    })
+    (fetchpatch {
+      name = "backports-zoneinfo-2022a-update-test-data2.patch";
+      url = "https://github.com/pganssle/zoneinfo/pull/115/commits/9fd330265b177916d6182249439bb40d5691eb58.patch";
+      sha256 = "1zxa5bkwi8hbnh4c0qv72wv6vdp5jlxqizfjsc05ymzvwa99cf75";
+    })
+
     (substituteAll {
       name = "zoneinfo-path";
       src = ./zoneinfo.patch;
diff --git a/pkgs/development/python-modules/beaker/default.nix b/pkgs/development/python-modules/beaker/default.nix
index 60823b4c077..c455ee50284 100644
--- a/pkgs/development/python-modules/beaker/default.nix
+++ b/pkgs/development/python-modules/beaker/default.nix
@@ -5,7 +5,7 @@
 , glibcLocales
 , nose
 , pylibmc
-, memcached
+, python-memcached
 , redis
 , pymongo
 , mock
@@ -42,7 +42,7 @@ buildPythonPackage rec {
 
   checkInputs = [
     glibcLocales
-    memcached
+    python-memcached
     mock
     nose
     pylibmc
@@ -52,11 +52,7 @@ buildPythonPackage rec {
   ];
 
   # Can not run memcached tests because it immediately tries to connect
-  postPatch = lib.optionalString isPy3k ''
-    substituteInPlace setup.py \
-      --replace "python-memcached" "python3-memcached"
-    '' + ''
-
+  postPatch = ''
     rm tests/test_memcached.py
   '';
 
diff --git a/pkgs/development/python-modules/beancount/default.nix b/pkgs/development/python-modules/beancount/default.nix
index d4ced793f83..6ba700cc6e2 100644
--- a/pkgs/development/python-modules/beancount/default.nix
+++ b/pkgs/development/python-modules/beancount/default.nix
@@ -12,7 +12,7 @@
 , oauth2client
 , ply
 , pytest
-, python_magic
+, python-magic
 , requests
 }:
 
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     lxml
     oauth2client
     ply
-    python_magic
+    python-magic
     requests
     # pytest really is a runtime dependency
     # https://github.com/beancount/beancount/blob/v2/setup.py#L81-L82
diff --git a/pkgs/development/python-modules/bond-api/default.nix b/pkgs/development/python-modules/bond-api/default.nix
index a685c01fbc0..555caa6033c 100644
--- a/pkgs/development/python-modules/bond-api/default.nix
+++ b/pkgs/development/python-modules/bond-api/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "bond-api";
-  version = "0.1.16";
+  version = "0.1.17";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "prystupa";
     repo = "bond-api";
     rev = "v${version}";
-    sha256 = "1nqf090b14nd7an2n776mb37yskddfnihmas2fy56pxclwvwqr9n";
+    hash = "sha256-fuVYyDy3fG+XobFe2GCzMWRWPk8VDPLU4RHJzcF5MLg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/brunt/default.nix b/pkgs/development/python-modules/brunt/default.nix
new file mode 100644
index 00000000000..1c11e92b234
--- /dev/null
+++ b/pkgs/development/python-modules/brunt/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, aiohttp
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "brunt";
+  version = "1.2.0";
+
+  disabled = pythonOlder "3.8";
+
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e704627dc7b9c0a50c67ae90f1d320b14f99f2b2fc9bf1ef0461b141dcf1bce9";
+  };
+
+  postPatch = ''
+    sed -i '/--cov/d' setup.cfg
+  '';
+
+  propagatedBuildInputs = [
+    aiohttp
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # tests require Brunt hardware
+  doCheck = false;
+
+  pythonImportsCheck = [ "brunt" ];
+
+  meta = {
+    description = "Unofficial Python SDK for Brunt";
+    homepage = "https://github.com/eavanvalkenburg/brunt-api";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index 743c9f2c4b1..2eff37314e8 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -53,7 +53,7 @@ let
       unidiff
     ]
       # tls
-      ++ twisted.extras.tls;
+      ++ twisted.extras-require.tls;
 
     checkInputs = [
       treq
diff --git a/pkgs/development/python-modules/cachy/default.nix b/pkgs/development/python-modules/cachy/default.nix
index 278dd5a8ae6..c88067146f3 100644
--- a/pkgs/development/python-modules/cachy/default.nix
+++ b/pkgs/development/python-modules/cachy/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi
 , redis
-, memcached
+, python-memcached
 , msgpack
 }:
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     redis
-    memcached
+    python-memcached
     msgpack
   ];
 
diff --git a/pkgs/development/python-modules/chainer/default.nix b/pkgs/development/python-modules/chainer/default.nix
index 1b40d506abc..79260173c54 100644
--- a/pkgs/development/python-modules/chainer/default.nix
+++ b/pkgs/development/python-modules/chainer/default.nix
@@ -30,6 +30,11 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [ "tests/chainer_tests/utils_tests" ];
 
+  # cf. https://github.com/chainer/chainer/issues/8621
+  preCheck = ''
+    export CHAINER_WARN_VERSION_MISMATCH=0
+  '';
+
   disabledTests = [
     "gpu"
     "cupy"
@@ -39,8 +44,6 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A flexible framework of neural networks for deep learning";
     homepage = "https://chainer.org/";
-    # Un-break me when updating chainer next time!
-    broken = cudaSupport && (lib.versionAtLeast cupy.version "8.0.0");
     license = licenses.mit;
     maintainers = with maintainers; [ hyphon81 ];
   };
diff --git a/pkgs/development/python-modules/ciscoconfparse/default.nix b/pkgs/development/python-modules/ciscoconfparse/default.nix
index 49b36a5c658..535c46fc40a 100644
--- a/pkgs/development/python-modules/ciscoconfparse/default.nix
+++ b/pkgs/development/python-modules/ciscoconfparse/default.nix
@@ -1,24 +1,27 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
-, poetry-core
-, passlib
 , dnspython
+, fetchFromGitHub
 , loguru
-, toml
+, passlib
+, poetry-core
 , pytestCheckHook
+, pythonOlder
+, toml
 }:
 
 buildPythonPackage rec {
   pname = "ciscoconfparse";
-  version = "1.6.36";
+  version = "1.6.40";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "mpenning";
     repo = pname;
     rev = version;
-    sha256 = "sha256-nIuuqAxz8eHEQRuH8nfYVQ+vGMmcDcARJLizoI5Mty8=";
+    hash = "sha256-2j1AlCIwTxIjotZ0fSt1zhsgPfJTqJukZ6KQvh74NJ8=";
   };
 
   postPatch = ''
@@ -45,17 +48,19 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
+    # Tests require network access
     "test_dns_lookup"
     "test_reverse_dns_lookup"
   ];
 
-  pythonImportsCheck = [ "ciscoconfparse" ];
+  pythonImportsCheck = [
+    "ciscoconfparse"
+  ];
 
   meta = with lib; {
-    description =
-      "Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations";
+    description = "Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations";
     homepage = "https://github.com/mpenning/ciscoconfparse";
     license = licenses.gpl3Only;
-    maintainers = [ maintainers.astro ];
+    maintainers = with maintainers; [ astro ];
   };
 }
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index 8f66e8551ed..eafc0c3f427 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.1";
+  version = "9.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-pCqhSpZfX3u9vJ8Oy1yyicagBQYK5+jBVCEab0TnGA4=";
+    hash = "sha256-b07WygCR3IhRgyt7u1ipyyK4MM3TNeLW04WoZJ2eQZk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index 8ee898b445e..cbbb130a6aa 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.1";
+  version = "9.2.2";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-OGdnrRFfx2LMMsw6giPC+4izWX603cYbpKHuslj4Gng=";
+    hash = "sha256-vEnhoVxn/p4CNzfHFM1cKaQ3ESsJx5U4+Lz4/LDCtao=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/contexttimer/default.nix b/pkgs/development/python-modules/contexttimer/default.nix
index 02aeec5bfcc..7cf41e9fcbd 100644
--- a/pkgs/development/python-modules/contexttimer/default.nix
+++ b/pkgs/development/python-modules/contexttimer/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     })
   ];
 
-  pythonImportCheck = [ "contexttimer" ];
+  pythonImportsCheck = [ "contexttimer" ];
 
   checkInputs = [ mock ];
 
diff --git a/pkgs/development/python-modules/curio/default.nix b/pkgs/development/python-modules/curio/default.nix
index 1a0f4e2d9fe..7a66e479664 100644
--- a/pkgs/development/python-modules/curio/default.nix
+++ b/pkgs/development/python-modules/curio/default.nix
@@ -26,9 +26,10 @@ buildPythonPackage rec {
 
   disabledTests = [
      "test_aside_basic" # times out
+     "test_write_timeout" # flaky, does not always time out
      "test_aside_cancel" # fails because modifies PYTHONPATH and cant find pytest
      "test_ssl_outgoing" # touches network
-   ] ++ lib.optionals (stdenv.isDarwin) [
+   ] ++ lib.optionals stdenv.isDarwin [
      "test_unix_echo" # socket bind error on hydra when built with other packages
      "test_unix_ssl_server" # socket bind error on hydra when built with other packages
    ];
diff --git a/pkgs/development/python-modules/databricks-connect/default.nix b/pkgs/development/python-modules/databricks-connect/default.nix
index 3475001a58b..1782598efd8 100644
--- a/pkgs/development/python-modules/databricks-connect/default.nix
+++ b/pkgs/development/python-modules/databricks-connect/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "databricks-connect";
-  version = "9.1.14";
+  version = "9.1.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-l+mTqiQPuPJfGbEVSILpCTlxAka0GeCgIXjMG4Vs82o=";
+    sha256 = "sha256-qXS/hgF2qKUtTfo9UZ5KBa9N0PHJqKA8SC/vgE46LmA=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/python-modules/defcon/default.nix b/pkgs/development/python-modules/defcon/default.nix
index f40ba374d03..12cbdf0a210 100644
--- a/pkgs/development/python-modules/defcon/default.nix
+++ b/pkgs/development/python-modules/defcon/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "defcon";
-  version = "0.10.0";
+  version = "0.10.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a009862a0bc3f41f2b1a1b1f80d6aeedb3a17ed77d598da09f5a1bd93e970b3c";
+    sha256 = "sha256-+nlk9xG3mOCS4xHzp54J/V+he7HNMg1aMgFeTFTrMHA=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/devolo-home-control-api/default.nix b/pkgs/development/python-modules/devolo-home-control-api/default.nix
index 31e9da795d3..5485372a1e1 100644
--- a/pkgs/development/python-modules/devolo-home-control-api/default.nix
+++ b/pkgs/development/python-modules/devolo-home-control-api/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "devolo-home-control-api";
-  version = "0.18.1";
+  version = "0.18.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "2Fake";
     repo = "devolo_home_control_api";
     rev = "v${version}";
-    sha256 = "sha256-Xj5k09uEVxZgG0oLbiPOBx/dALsRjqkZbLKit4X4q9Q=";
+    sha256 = "sha256-H4kLomHM0qq6LqsRMEp34oKy/4Me7AQi6dij2vraBS8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/devolo-plc-api/default.nix b/pkgs/development/python-modules/devolo-plc-api/default.nix
index 4fbc0f06fc4..5d44866da0e 100644
--- a/pkgs/development/python-modules/devolo-plc-api/default.nix
+++ b/pkgs/development/python-modules/devolo-plc-api/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "devolo-plc-api";
-  version = "0.7.1";
+  version = "0.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "2Fake";
     repo = "devolo_plc_api";
     rev = "v${version}";
-    sha256 = "sha256-XR/daDrnfbLBrUTTMFYtndr6+RxPwnF4qbXAdXsXKHk=";
+    sha256 = "sha256-LMwvIwbP/nRFby295ur6QTgyXLLJ8ip30V9bti27qKQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/django-tastypie/default.nix b/pkgs/development/python-modules/django-tastypie/default.nix
new file mode 100644
index 00000000000..a6c184e2d67
--- /dev/null
+++ b/pkgs/development/python-modules/django-tastypie/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python-dateutil
+, python-mimeparse
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "django-tastypie";
+  version = "0.14.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "django-tastypie";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-O/aVi8BshOZmg9WQxrFlBEOXfgyqJKVK/QlEFG3Edqs=";
+  };
+
+  propagatedBuildInputs = [
+    python-dateutil
+    python-mimeparse
+  ];
+
+  # Tests requires a Django instance
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "tastypie"
+  ];
+
+  meta = with lib; {
+    description = "Utilities and helpers for writing Pylint plugins";
+    homepage = "https://github.com/django-tastypie/django-tastypie";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/django-versatileimagefield/default.nix b/pkgs/development/python-modules/django-versatileimagefield/default.nix
index eefda80f18e..01c1b8353ba 100644
--- a/pkgs/development/python-modules/django-versatileimagefield/default.nix
+++ b/pkgs/development/python-modules/django-versatileimagefield/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , django
 , pillow
-, python_magic
+, python-magic
 }:
 
 buildPythonPackage rec {
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     inherit pname version;
     sha256 = "6569d5c3e13c69ab8912ba5100084aa5abcdcffb8d1f5abc085b226e7bbd65b3";
   };
-  propagatedBuildInputs = [ pillow python_magic ];
+  propagatedBuildInputs = [ pillow python-magic ];
 
   checkInputs = [ django ];
 
diff --git a/pkgs/development/python-modules/django/4.nix b/pkgs/development/python-modules/django/4.nix
index db005067981..f36c064a647 100644
--- a/pkgs/development/python-modules/django/4.nix
+++ b/pkgs/development/python-modules/django/4.nix
@@ -22,7 +22,7 @@
 , docutils
 , geoip2
 , jinja2
-, memcached
+, python-memcached
 , numpy
 , pillow
 , pylibmc
@@ -76,7 +76,7 @@ buildPythonPackage rec {
     docutils
     geoip2
     jinja2
-    memcached
+    python-memcached
     numpy
     pillow
     pylibmc
diff --git a/pkgs/development/python-modules/dnachisel/default.nix b/pkgs/development/python-modules/dnachisel/default.nix
index 0f30113ba2f..1c86e3bccf6 100644
--- a/pkgs/development/python-modules/dnachisel/default.nix
+++ b/pkgs/development/python-modules/dnachisel/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "dnachisel";
-  version = "3.2.8";
+  version = "3.2.9";
 
   src = fetchFromGitHub {
     owner = "Edinburgh-Genome-Foundry";
     repo = "DnaChisel";
-    rev = "v${version}";
-    sha256 = "17jldscmsq5lwp3pnjlxg56k3vfpr7rj4qbcbzkzhphifrfgm729";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-Fg0gkI+01xIt8LQmNmRzkzd4AObg/99x34y5NclMtDQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dunamai/default.nix b/pkgs/development/python-modules/dunamai/default.nix
index 8b51d829c8d..7627c0505ac 100644
--- a/pkgs/development/python-modules/dunamai/default.nix
+++ b/pkgs/development/python-modules/dunamai/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "dunamai";
-  version = "1.11.1";
+  version = "1.12.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "mtkennerly";
     repo = "dunamai";
-    rev = "v${version}";
-    sha256 = "sha256-nkE9QBziCQA/aN+Z0OuqJlf5FJ4fidE7u5Gt25zjX0c=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-SyHml8TIcqU7KQE4IuTZbp+Jktao7ReJHQyHV8wKeWg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix
index 5d45c4dc5ce..f5a28fa3839 100644
--- a/pkgs/development/python-modules/fakeredis/default.nix
+++ b/pkgs/development/python-modules/fakeredis/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "fakeredis";
-  version = "1.7.1";
+  version = "1.7.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fCxLobQuCnUzfFS3d78GcQVrRWllDj/5J+S5s4WvyOw=";
+    hash = "sha256-aWl//usJk5BzYF7qyX9SS8yrrgQmV1eldcf8kjCHqmU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix
index c3abc2163be..63071fd9e44 100644
--- a/pkgs/development/python-modules/fastapi/default.nix
+++ b/pkgs/development/python-modules/fastapi/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     pytest-asyncio
     sqlalchemy
     trio
-  ];
+  ] ++ passlib.extras-require.bcrypt;
 
   patches = [
     # Bump starlette, https://github.com/tiangolo/fastapi/pull/4483
diff --git a/pkgs/development/python-modules/flametree/default.nix b/pkgs/development/python-modules/flametree/default.nix
index b4311eeb7cd..047f2849d04 100644
--- a/pkgs/development/python-modules/flametree/default.nix
+++ b/pkgs/development/python-modules/flametree/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "flametree";
-  version = "0.1.11";
+  version = "0.1.12";
 
   src = fetchFromGitHub {
     owner = "Edinburgh-Genome-Foundry";
     repo = "Flametree";
-    rev = "v${version}";
-    sha256 = "1ynrk1ivl1vjiga0ayl8k89vs5il7i0pf9jz2ycn771c47szwk4x";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-oyiuhsYouGDKRssKc0aYIoG32H7GS6Bn4RtI7/9N158=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/flask-restful/default.nix b/pkgs/development/python-modules/flask-restful/default.nix
index 1af875d4bbc..25f02b87c9e 100644
--- a/pkgs/development/python-modules/flask-restful/default.nix
+++ b/pkgs/development/python-modules/flask-restful/default.nix
@@ -1,23 +1,28 @@
 { lib
+, aniso8601
+, blinker
 , buildPythonPackage
 , fetchPypi
-, aniso8601
 , flask
-, pytz
-, six
-, blinker
 , mock
 , nose
 , pytestCheckHook
+, pythonOlder
+, pytz
+, six
 }:
 
 buildPythonPackage rec {
-  pname = "Flask-RESTful";
+  pname = "flask-restful";
   version = "0.3.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "0gm5dz088v3d2k1dkcp9b3nnqpkk0fp2jly870hijj2xhc5nbv6c";
+    pname = "Flask-RESTful";
+    inherit version;
+    hash = "sha256-zOxlC4NdSBkhOMhTKa4Dc15s7VjpstnCFG1shMBvpT4=";
   };
 
   patches = [
@@ -32,19 +37,24 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytestCheckHook
+    blinker
     mock
     nose
-    blinker
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "flask_restful"
   ];
 
   meta = with lib; {
+    description = "Framework for creating REST APIs";
     homepage = "https://flask-restful.readthedocs.io";
-    description = "Simple framework for creating REST APIs";
     longDescription = ''
       Flask-RESTful provides the building blocks for creating a great
       REST API.
     '';
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/flask-security-too/default.nix b/pkgs/development/python-modules/flask-security-too/default.nix
index 8379ec7bcfe..c3d98e405f3 100644
--- a/pkgs/development/python-modules/flask-security-too/default.nix
+++ b/pkgs/development/python-modules/flask-security-too/default.nix
@@ -32,6 +32,7 @@
 , passlib
 
 # tests
+, argon2_cffi
 , flask-mongoengine
 , mongoengine
 , mongomock
@@ -85,6 +86,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [
+    argon2_cffi
     flask-mongoengine
     mongoengine
     mongomock
diff --git a/pkgs/development/python-modules/globus-sdk/default.nix b/pkgs/development/python-modules/globus-sdk/default.nix
index 88a2c49e052..68209275426 100644
--- a/pkgs/development/python-modules/globus-sdk/default.nix
+++ b/pkgs/development/python-modules/globus-sdk/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "globus-sdk";
-  version = "3.7.0";
+  version = "3.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "globus";
     repo = "globus-sdk-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-Us3SCkrBPL3v9YCOQ7ceF3neCUZkJTrchYsvCRSX84Y=";
+    hash = "sha256-JaAiAAf0zIJDXXl3zb4UE9XpmjZ8KQiEcZJm1ps+efA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/graphite-web/default.nix b/pkgs/development/python-modules/graphite-web/default.nix
index cf188e1d5d1..cb05a8104bf 100644
--- a/pkgs/development/python-modules/graphite-web/default.nix
+++ b/pkgs/development/python-modules/graphite-web/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , django
-, memcached
+, python-memcached
 , txamqp
 , django_tagging
 , gunicorn
@@ -36,7 +36,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     django
-    memcached
+    python-memcached
     txamqp
     django_tagging
     gunicorn
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index aef938e8266..879ffbf7123 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "1.2.2";
+  version = "1.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-eXJXKWlvNJIqEJY5WE5Wbk9BdGu9N9xhintJbdSkJrQ=";
+    sha256 = "sha256-033iPQfFF26Ly8OVdjExDZDoQ35DXuVF7dXqokA7k/s=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hatch-vcs/default.nix b/pkgs/development/python-modules/hatch-vcs/default.nix
new file mode 100644
index 00000000000..6e785d0c9a2
--- /dev/null
+++ b/pkgs/development/python-modules/hatch-vcs/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, git
+, hatchling
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "hatch-vcs";
+  version = "0.2.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "hatch_vcs";
+    inherit version;
+    sha256 = "sha256-mRPXM7NO7JuwNF0GJsoyFlpK0t4V0c5kPDbQnKkIq/8=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    hatchling
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    git
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "hatch_vcs"
+  ];
+
+  meta = with lib; {
+    description = "A plugin for Hatch that uses your preferred version control system (like Git) to determine project versions";
+    homepage = "https://github.com/ofek/hatch-vcs";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/pkgs/development/python-modules/holoviews/default.nix b/pkgs/development/python-modules/holoviews/default.nix
index 18a5f0cd82a..57797ff8acd 100644
--- a/pkgs/development/python-modules/holoviews/default.nix
+++ b/pkgs/development/python-modules/holoviews/default.nix
@@ -1,26 +1,30 @@
-{ buildPythonPackage
+{ lib
+, bokeh
+, buildPythonPackage
+, colorcet
 , fetchPypi
-, lib
-, param
-, numpy
-, pyviz-comms
 , ipython
+, matplotlib
 , notebook
+, numpy
 , pandas
-, matplotlib
-, bokeh
-, scipy
 , panel
-, colorcet
+, param
+, pythonOlder
+, pyviz-comms
+, scipy
 }:
 
 buildPythonPackage rec {
   pname = "holoviews";
-  version = "1.14.8";
+  version = "1.14.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bDZVmaLLFnk7tifJtcVDCYK7WRyd6IhQAv+RtTm2ETM=";
+    hash = "sha256-mRI5CqJ58/vb5N81UYsS6Hy+zNeRXnIZEd7lVW22MGo=";
   };
 
   propagatedBuildInputs = [
@@ -35,12 +39,14 @@ buildPythonPackage rec {
   # tests not fully included with pypi release
   doCheck = false;
 
-  pythonImportsCheck = [ "holoviews" ];
+  pythonImportsCheck = [
+    "holoviews"
+  ];
 
   meta = with lib; {
     description = "Python data analysis and visualization seamless and simple";
     homepage = "http://www.holoviews.org/";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/httpcore/default.nix b/pkgs/development/python-modules/httpcore/default.nix
index 7f028c478fc..5b8d84ec308 100644
--- a/pkgs/development/python-modules/httpcore/default.nix
+++ b/pkgs/development/python-modules/httpcore/default.nix
@@ -39,11 +39,14 @@ buildPythonPackage rec {
     anyio
     certifi
     h11
-    h2
     sniffio
-    socksio
   ];
 
+  passthru.extras-require = {
+    http2 = [ h2 ];
+    socks = [ socksio ];
+  };
+
   checkInputs = [
     pproxy
     pytest-asyncio
@@ -53,7 +56,8 @@ buildPythonPackage rec {
     trio
     trustme
     uvicorn
-  ];
+  ] ++ passthru.extras-require.http2
+    ++ passthru.extras-require.socks;
 
   pythonImportsCheck = [ "httpcore" ];
 
diff --git a/pkgs/development/python-modules/httpx-socks/default.nix b/pkgs/development/python-modules/httpx-socks/default.nix
index e45e6a85487..3bfbf2327f2 100644
--- a/pkgs/development/python-modules/httpx-socks/default.nix
+++ b/pkgs/development/python-modules/httpx-socks/default.nix
@@ -33,15 +33,16 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    async-timeout
-    curio
-    httpcore
     httpx
+    httpcore
     python-socks
-    sniffio
-    trio
   ];
 
+  passthru.extras-require = {
+    asyncio = [ async-timeout ];
+    trio = [ trio ];
+  };
+
   checkInputs = [
     flask
     hypercorn
diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix
index dbf8d1745c0..d75dbaa1c9b 100644
--- a/pkgs/development/python-modules/httpx/default.nix
+++ b/pkgs/development/python-modules/httpx/default.nix
@@ -3,12 +3,19 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, brotlicffi
 , certifi
 , charset-normalizer
 , httpcore
 , rfc3986
 , sniffio
+, h2
+, socksio
+, isPyPy
+, brotli
+, brotlicffi
+, click
+, rich
+, pygments
 , python
 , pytestCheckHook
 , pytest-asyncio
@@ -33,7 +40,6 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    brotlicffi
     certifi
     charset-normalizer
     httpcore
@@ -43,6 +49,13 @@ buildPythonPackage rec {
     async_generator
   ];
 
+  passthru.extras-require = {
+    http2 = [ h2 ];
+    socks = [ socksio ];
+    brotli = if isPyPy then [ brotlicffi ] else [ brotli ];
+    cli = [ click rich pygments ];
+  };
+
   checkInputs = [
     pytestCheckHook
     pytest-asyncio
@@ -50,7 +63,9 @@ buildPythonPackage rec {
     trustme
     typing-extensions
     uvicorn
-  ];
+  ] ++ passthru.extras-require.http2
+    ++ passthru.extras-require.brotli
+    ++ passthru.extras-require.socks;
 
   postPatch = ''
     substituteInPlace setup.py \
diff --git a/pkgs/development/python-modules/hy/default.nix b/pkgs/development/python-modules/hy/default.nix
index 63625bd7ee6..a962f86854f 100644
--- a/pkgs/development/python-modules/hy/default.nix
+++ b/pkgs/development/python-modules/hy/default.nix
@@ -4,31 +4,44 @@
 , colorama
 , fetchFromGitHub
 , funcparserlib
+, hy
 , pytestCheckHook
+, python
 , pythonOlder
 , rply
+, testers
+, toPythonApplication
+, hyDefinedPythonPackages ? python-packages: [ ] /* Packages like with python.withPackages */
 }:
 
 buildPythonPackage rec {
   pname = "hy";
-  version = "1.0a3";
+  version = "1.0a4";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "hylang";
     repo = pname;
     rev = version;
-    sha256 = "1dqw24rvsps2nab1pbjjm1c81vrs34r4kkk691h3xdyxnv9hb84b";
+    sha256 = "sha256-MBzp3jqBg/kH233wcgYYHc+Yg9GuOaBsXIfjFDihD1E=";
   };
 
+  # https://github.com/hylang/hy/blob/1.0a4/get_version.py#L9-L10
+  HY_VERSION = version;
+
   propagatedBuildInputs = [
     colorama
     funcparserlib
-    rply
-  ] ++ lib.optionals (pythonOlder "3.9") [
+    rply # TODO: remove on the next release
+  ]
+  ++ lib.optionals (pythonOlder "3.9") [
     astor
-  ];
+  ]
+  # for backwards compatibility with removed pkgs/development/interpreters/hy
+  # See: https://github.com/NixOS/nixpkgs/issues/171428
+  ++ (hyDefinedPythonPackages python.pkgs);
 
   checkInputs = [
     pytestCheckHook
@@ -43,10 +56,22 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "hy" ];
 
+  passthru = {
+    tests.version = testers.testVersion {
+      package = hy;
+      command = "hy -v";
+    };
+    # also for backwards compatibility with removed pkgs/development/interpreters/hy
+    withPackages = python-packages: (toPythonApplication hy).override {
+      hyDefinedPythonPackages = python-packages;
+    };
+  };
+
   meta = with lib; {
-    description = "Python to/from Lisp layer";
-    homepage = "https://github.com/hylang/hy";
+    description = "A LISP dialect embedded in Python";
+    homepage = "https://hylang.org/";
+    changelog = "https://github.com/hylang/hy/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ fab ];
+    maintainers = with maintainers; [ fab mazurel nixy thiagokokada ];
   };
 }
diff --git a/pkgs/development/python-modules/hyrule/default.nix b/pkgs/development/python-modules/hyrule/default.nix
new file mode 100644
index 00000000000..46ed096486b
--- /dev/null
+++ b/pkgs/development/python-modules/hyrule/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, hy
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "hyrule";
+  version = "0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "hylang";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-sqS5vOcbln+Vfv/Ji/8rJ4GTQpXIuhgf+MukjV0Kkuw=";
+  };
+
+  propagatedBuildInputs = [
+    hy
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # Some tests depends on hy on PATH
+  preCheck = "PATH=${hy}/bin:$PATH";
+
+  pythonImportsCheck = [ "hyrule" ];
+
+  meta = with lib; {
+    description = "Hyrule is a utility library for the Hy programming language";
+    homepage = "https://github.com/hylang/hyrule";
+    changelog = "https://github.com/hylang/hylure/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ thiagokokada ];
+  };
+}
diff --git a/pkgs/development/python-modules/imap-tools/default.nix b/pkgs/development/python-modules/imap-tools/default.nix
index a63754f0c09..404731e22a9 100644
--- a/pkgs/development/python-modules/imap-tools/default.nix
+++ b/pkgs/development/python-modules/imap-tools/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "imap-tools";
-  version = "0.54.0";
+  version = "0.55.0";
 
   disabled = isPy27;
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "v${version}";
-    hash = "sha256-RiKGxyCPYlAJ5YbxvEKxCYgUg1D9s29YSCT4tY3FIEE=";
+    hash = "sha256-Jtuw0pYkgR1wrqPlEBOpia1rFU/+MLadOFEm2xLIFMw=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/impacket/default.nix b/pkgs/development/python-modules/impacket/default.nix
index 6b6f7e452b2..cc957ac156a 100644
--- a/pkgs/development/python-modules/impacket/default.nix
+++ b/pkgs/development/python-modules/impacket/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "impacket";
-  version = "0.9.24";
+  version = "0.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GNVX04f0kU+vpzmBO5FyvD+L2cA26Tv1iajg67cwS7o=";
+    hash = "sha256-uOsCCiy7RxRmac/jHGS7Ln1kmdBJxJPWQYuXFvXHRYM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/influxgraph/default.nix b/pkgs/development/python-modules/influxgraph/default.nix
index c8403cf6446..7f24e1fd87e 100644
--- a/pkgs/development/python-modules/influxgraph/default.nix
+++ b/pkgs/development/python-modules/influxgraph/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k
-, influxdb, graphite_api, memcached
+, influxdb, graphite_api, python-memcached
 }:
 
 buildPythonPackage rec {
@@ -11,13 +11,7 @@ buildPythonPackage rec {
     sha256 = "0l33sfwdh4bfprmzp2kx0d9098g6yxbnhyyx9qr3kzczpm0jg9vy";
   };
 
-  patchPhase = lib.optionalString isPy3k ''
-    sed 's/python-memcached/python3-memcached/' \
-      -i ./influxgraph.egg-info/requires.txt    \
-      -i ./setup.py
-  '';
-
-  propagatedBuildInputs = [ influxdb graphite_api memcached ];
+  propagatedBuildInputs = [ influxdb graphite_api python-memcached ];
 
   passthru.moduleName = "influxgraph.InfluxDBFinder";
 
diff --git a/pkgs/development/python-modules/intbitset/default.nix b/pkgs/development/python-modules/intbitset/default.nix
index 9cedf7c4d28..f6459c13e70 100644
--- a/pkgs/development/python-modules/intbitset/default.nix
+++ b/pkgs/development/python-modules/intbitset/default.nix
@@ -2,6 +2,7 @@
 , fetchPypi
 , buildPythonPackage
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
@@ -9,9 +10,11 @@ buildPythonPackage rec {
   version = "3.0.1";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-8ebQPGcpkioiPFGEnfZbnpFuYlrvuRF4Tn+azUwgfVM=";
+    hash = "sha256-8ebQPGcpkioiPFGEnfZbnpFuYlrvuRF4Tn+azUwgfVM=";
   };
 
   checkInputs = [
@@ -25,7 +28,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "C-based extension implementing fast integer bit sets";
     homepage = "https://github.com/inveniosoftware/intbitset";
-    license = licenses.lgpl3Only;
+    license = licenses.lgpl3Plus;
     maintainers = teams.determinatesystems.members;
   };
 }
diff --git a/pkgs/development/python-modules/ipywidgets/default.nix b/pkgs/development/python-modules/ipywidgets/default.nix
index b33ec2759b5..8894fbaf21f 100644
--- a/pkgs/development/python-modules/ipywidgets/default.nix
+++ b/pkgs/development/python-modules/ipywidgets/default.nix
@@ -1,43 +1,35 @@
-{ lib
-, buildPythonPackage
+{ buildPythonPackage
 , fetchPypi
-, python
-, nose
-, pytest
-, mock
-, ipython
 , ipykernel
+, ipython
 , jupyterlab-widgets
+, lib
+, nbformat
+, pytestCheckHook
 , traitlets
-, notebook
 , widgetsnbextension
 }:
 
 buildPythonPackage rec {
   pname = "ipywidgets";
   version = "7.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-q0pVloVaiLg3YZIcdocH1l5YRwaBObwXKd3+g0cDVCo=";
+    hash = "sha256-q0pVloVaiLg3YZIcdocH1l5YRwaBObwXKd3+g0cDVCo=";
   };
 
-  # Tests are not distributed
-  # doCheck = false;
-
-  buildInputs = [ nose pytest mock ];
   propagatedBuildInputs = [
     ipython
     ipykernel
     jupyterlab-widgets
     traitlets
-    notebook
+    nbformat
     widgetsnbextension
   ];
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest discover
-  '';
+  checkInputs = [ pytestCheckHook ];
 
   meta = {
     description = "IPython HTML widgets for Jupyter";
diff --git a/pkgs/development/python-modules/jupyter-sphinx/default.nix b/pkgs/development/python-modules/jupyter-sphinx/default.nix
index 2da21db1eb1..56cd051ecf4 100644
--- a/pkgs/development/python-modules/jupyter-sphinx/default.nix
+++ b/pkgs/development/python-modules/jupyter-sphinx/default.nix
@@ -5,6 +5,7 @@
 , sphinx
 , ipywidgets
 , pythonOlder
+, nbconvert
 }:
 
 buildPythonPackage rec {
@@ -17,7 +18,7 @@ buildPythonPackage rec {
     sha256 = "37fc9408385c45326ac79ca0452fbd7ae2bf0e97842d626d2844d4830e30aaf2";
   };
 
-  propagatedBuildInputs = [ nbformat sphinx ipywidgets ];
+  propagatedBuildInputs = [ nbconvert nbformat sphinx ipywidgets ];
 
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/jupyter_server/default.nix b/pkgs/development/python-modules/jupyter_server/default.nix
index 2cb7d06b646..dd8368676d1 100644
--- a/pkgs/development/python-modules/jupyter_server/default.nix
+++ b/pkgs/development/python-modules/jupyter_server/default.nix
@@ -10,6 +10,7 @@
 , jinja2
 , tornado
 , pyzmq
+, ipykernel
 , ipython_genutils
 , traitlets
 , jupyter_core
@@ -62,6 +63,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    ipykernel
     pytestCheckHook
     pytest-tornasync
     requests
diff --git a/pkgs/development/python-modules/karton-autoit-ripper/default.nix b/pkgs/development/python-modules/karton-autoit-ripper/default.nix
index 2e7d561cf6e..ea79a5f453f 100644
--- a/pkgs/development/python-modules/karton-autoit-ripper/default.nix
+++ b/pkgs/development/python-modules/karton-autoit-ripper/default.nix
@@ -4,12 +4,16 @@
 , fetchFromGitHub
 , karton-core
 , malduck
+, pythonOlder
 , regex
 }:
 
 buildPythonPackage rec {
   pname = "karton-autoit-ripper";
   version = "1.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
@@ -27,14 +31,17 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace requirements.txt \
-      --replace "autoit-ripper==1.0.0" "autoit-ripper" \
-      --replace "malduck==3.1.0" "malduck>=3.1.0" \
-      --replace "regex==2020.2.20" "regex>=2020.2.20"
+      --replace "autoit-ripper==" "autoit-ripper>=" \
+      --replace "malduck==" "malduck>=" \
+      --replace "regex==" "regex>="
   '';
 
-  # Project has no tests
+  # Module has no tests
   doCheck = false;
-  pythonImportsCheck = [ "karton.autoit_ripper" ];
+
+  pythonImportsCheck = [
+    "karton.autoit_ripper"
+  ];
 
   meta = with lib; {
     description = "AutoIt script ripper for Karton framework";
diff --git a/pkgs/development/python-modules/karton-classifier/default.nix b/pkgs/development/python-modules/karton-classifier/default.nix
index ca2703389b3..8195632bdfd 100644
--- a/pkgs/development/python-modules/karton-classifier/default.nix
+++ b/pkgs/development/python-modules/karton-classifier/default.nix
@@ -4,7 +4,7 @@
 , fetchFromGitHub
 , karton-core
 , pytestCheckHook
-, python_magic
+, python-magic
 , pythonOlder
 }:
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     chardet
     karton-core
-    python_magic
+    python-magic
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/limits/default.nix b/pkgs/development/python-modules/limits/default.nix
index 7cb622df047..afc777e1d85 100644
--- a/pkgs/development/python-modules/limits/default.nix
+++ b/pkgs/development/python-modules/limits/default.nix
@@ -1,21 +1,84 @@
-{ lib, fetchPypi, buildPythonPackage, six }:
+{ lib
+, buildPythonPackage
+, deprecated
+, fetchFromGitHub
+, hiro
+, packaging
+, pymemcache
+, pymongo
+, pytest-asyncio
+, pytest-lazy-fixture
+, pytestCheckHook
+, pythonOlder
+, redis
+, setuptools
+, typing-extensions
+}:
 
 buildPythonPackage rec {
   pname = "limits";
-  version = "2.4.0";
+  version = "2.6.1";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-jiK2PfJjECB6d7db1HRZnwpGE6fZFjZQ7TpCjpzHrjU=";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "alisaifee";
+    repo = pname;
+    rev = version;
+    # Upstream uses versioneer, which relies on git attributes substitution.
+    # This leads to non-reproducible archives on github. Remove the substituted
+    # file here, and recreate it later based on our version info.
+    extraPostFetch = ''
+      rm "$out/limits/_version.py"
+    '';
+    hash = "sha256-ja+YbRHCcZ5tFnoofdR44jbkkdDroVUdKeDOt6yE0LI=";
   };
 
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [
+    deprecated
+    packaging
+    setuptools
+    typing-extensions
+  ];
+
+  checkInputs = [
+    hiro
+    pymemcache
+    pymongo
+    pytest-asyncio
+    pytest-lazy-fixture
+    pytestCheckHook
+    redis
+  ];
+
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace "--cov=limits" "" \
+      --replace "-K" ""
+    # redis-py-cluster doesn't support redis > 4
+    substituteInPlace tests/conftest.py \
+      --replace "import rediscluster" ""
+
+    # Recreate _version.py, deleted at fetch time due to non-reproducibility.
+    echo 'def get_versions(): return {"version": "${version}"}' > limits/_version.py
+  '';
 
-  doCheck = false; # ifilter
+  pythonImportsCheck = [
+    "limits"
+  ];
+
+  pytestFlagsArray = [
+    # All other tests require a running Docker instance
+    "tests/test_limits.py"
+    "tests/test_ratelimit_parser.py"
+    "tests/test_limit_granularities.py"
+  ];
 
   meta = with lib; {
     description = "Rate limiting utilities";
-    license = licenses.mit;
     homepage = "https://limits.readthedocs.org/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/linkify-it-py/default.nix b/pkgs/development/python-modules/linkify-it-py/default.nix
index ef97439cdc8..54f71fe2ec2 100644
--- a/pkgs/development/python-modules/linkify-it-py/default.nix
+++ b/pkgs/development/python-modules/linkify-it-py/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "linkify-it-py";
-  version = "1.0.3";
+  version = "2.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "tsutsu3";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-1QqfqFdTEdZr02jQnmHmvw3fgnC/ktsfALyhtkGSXoY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-3bgkhIC6tHl5zieiyllvqFCKwLms55m8MGt1xGhQ4Dk=";
   };
 
   propagatedBuildInputs = [ uc-micro-py ];
diff --git a/pkgs/development/python-modules/malduck/default.nix b/pkgs/development/python-modules/malduck/default.nix
index 1b757a144cc..7d5998da2e9 100644
--- a/pkgs/development/python-modules/malduck/default.nix
+++ b/pkgs/development/python-modules/malduck/default.nix
@@ -14,14 +14,16 @@
 
 buildPythonPackage rec {
   pname = "malduck";
-  version = "4.1.0";
+  version = "4.2.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "04d8bhzax9ynbl83hif9i8gcs29zrvcay2r6n7mcxiixlxcqciak";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-UgpblcZ/Jxl3U4256YIHzly7igNXwhTdFN4HOqZBVbM=";
   };
 
   propagatedBuildInputs = [
@@ -43,7 +45,9 @@ buildPythonPackage rec {
   # Project has no tests. They will come with the next release
   doCheck = false;
 
-  pythonImportsCheck = [ "malduck" ];
+  pythonImportsCheck = [
+    "malduck"
+  ];
 
   meta = with lib; {
     description = "Helper for malware analysis";
diff --git a/pkgs/development/python-modules/mastodon-py/default.nix b/pkgs/development/python-modules/mastodon-py/default.nix
index c1a7c8985b7..178ed4b8fc0 100644
--- a/pkgs/development/python-modules/mastodon-py/default.nix
+++ b/pkgs/development/python-modules/mastodon-py/default.nix
@@ -6,7 +6,7 @@
 , decorator
 , http-ece
 , python-dateutil
-, python_magic
+, python-magic
 , pytz
 , requests
 , six
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     decorator
     http-ece
     python-dateutil
-    python_magic
+    python-magic
     pytz
     requests
     six
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index cc118d9f0ab..933fd3865d6 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -17,7 +17,7 @@ let
 in
 
 buildPythonPackage rec {
-  version = "3.5.1";
+  version = "3.5.2";
   pname = "matplotlib";
   format = "setuptools";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c";
+    sha256 = "18h78s5ld1i6mz00w258hy29909nfr3ddq6ry9kq18agw468bks8";
   };
 
   XDG_RUNTIME_DIR = "/tmp";
diff --git a/pkgs/development/python-modules/mcstatus/default.nix b/pkgs/development/python-modules/mcstatus/default.nix
index f2745bf3f6f..9adbbf5e5d3 100644
--- a/pkgs/development/python-modules/mcstatus/default.nix
+++ b/pkgs/development/python-modules/mcstatus/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "mcstatus";
-  version = "9.0.4";
+  version = "9.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "py-mine";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-h5pPtzs04TDqOkDFBpcn6faFN4sz/nEMsjjiH7mTEH0=";
+    hash = "sha256-qKQs0uGPMUtueOryVzFk37Th+N9vmApr/IzJ6jZI2Ic=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/meater-python/default.nix b/pkgs/development/python-modules/meater-python/default.nix
new file mode 100644
index 00000000000..219af570dfe
--- /dev/null
+++ b/pkgs/development/python-modules/meater-python/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "meater-python";
+  version = "0.0.8";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-86XJmKOc2MCyU9v0UAZsPCUL/kAXywOlQOIHaykNF1o=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "meater"
+  ];
+
+  meta = with lib; {
+    description = "Library for the Apption Labs Meater cooking probe";
+    homepage = "https://github.com/Sotolotl/meater-python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/memcached/default.nix b/pkgs/development/python-modules/memcached/default.nix
deleted file mode 100644
index e7a41d7b238..00000000000
--- a/pkgs/development/python-modules/memcached/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchurl
-, fetchPypi
-, isPy3k
-}:
-
-buildPythonPackage rec {
-  pname = "memcached";
-  version = "1.51";
-
-  src = if isPy3k then fetchPypi {
-    inherit version;
-    pname = "python3-${pname}";
-    sha256 = "0na8b369q8fivh3y0nvzbvhh3lgvxiyyv9xp93cnkvwfsr8mkgkw";
-  } else fetchurl {
-    url = "http://ftp.tummy.com/pub/python-memcached/old-releases/python-${pname}-${version}.tar.gz";
-    sha256 = "124s98m6hvxj6x90d7aynsjfz878zli771q96ns767r2mbqn7192";
-  };
-
-  meta = with lib; {
-    description = "Python API for communicating with the memcached distributed memory object cache daemon";
-    homepage = "https://github.com/linsomniac/python-memcached";
-    license = licenses.psfl;
-  };
-
-}
diff --git a/pkgs/development/python-modules/mocket/default.nix b/pkgs/development/python-modules/mocket/default.nix
index d5fe44b37e7..bba7b188417 100644
--- a/pkgs/development/python-modules/mocket/default.nix
+++ b/pkgs/development/python-modules/mocket/default.nix
@@ -5,7 +5,7 @@
 , isPy3k
 , decorator
 , http-parser
-, python_magic
+, python-magic
 , urllib3
 , pytestCheckHook
 , pytest-mock
@@ -30,7 +30,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     decorator
     http-parser
-    python_magic
+    python-magic
     urllib3
   ];
 
diff --git a/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
index a329d5ab9e5..6fa1728deea 100644
--- a/pkgs/development/python-modules/mypy-boto3-s3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-s3";
-  version = "1.22.6";
+  version = "1.22.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-b+Rf7mYifN5KXAECg7goCDlD/S1W7sTh06In1mp4NR4=";
+    hash = "sha256-Br7HlymKuQUbI+iw90HWi1lSnEFwQbziBLokAHTzGEk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mysql-connector/default.nix b/pkgs/development/python-modules/mysql-connector/default.nix
index 211bdec41fe..38417ddb9c6 100644
--- a/pkgs/development/python-modules/mysql-connector/default.nix
+++ b/pkgs/development/python-modules/mysql-connector/default.nix
@@ -1,16 +1,24 @@
-{ lib, buildPythonPackage, fetchFromGitHub, python }:
+{ lib
+, buildPythonPackage
+, django
+, dnspython
+, fetchFromGitHub
+, protobuf
+, pythonOlder
+}:
 
-let
-  py = python;
-in buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "mysql-connector";
-  version = "8.0.24";
+  version = "8.0.29";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mysql";
     repo = "mysql-connector-python";
     rev = version;
-    sha256 = "1zb5wf65rnpbk0lw31i4piy0bq09hqa62gx7bh241zc5310zccc7";
+    hash = "sha256-X0qiXNYkNoR00ESUdByPj4dPnEnjLyopm25lm1JvkAk=";
   };
 
   patches = [
@@ -22,16 +30,19 @@ in buildPythonPackage rec {
     ./0001-Revert-Fix-MacOS-wheels-platform-tag.patch
   ];
 
-  propagatedBuildInputs = with py.pkgs; [ protobuf dnspython ];
+  propagatedBuildInputs = [
+    dnspython
+    protobuf
+  ];
 
-  # Tests are failing (TODO: unknown reason)
-  # TypeError: __init__() missing 1 required positional argument: 'string'
-  # But the library should be working as expected.
-  doCheck = false;
+  pythonImportsCheck = [
+    "mysql"
+  ];
 
-  pythonImportsCheck = [ "mysql" ];
+  # Tests require a running MySQL instance
+  doCheck = false;
 
-  meta = {
+  meta = with lib; {
     description = "A MySQL driver";
     longDescription = ''
       A MySQL driver that does not depend on MySQL C client libraries and
@@ -39,7 +50,7 @@ in buildPythonPackage rec {
     '';
     homepage = "https://github.com/mysql/mysql-connector-python";
     changelog = "https://raw.githubusercontent.com/mysql/mysql-connector-python/${version}/CHANGES.txt";
-    license = [ lib.licenses.gpl2Only ];
-    maintainers = with lib.maintainers; [ neosimsim turion ];
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ neosimsim turion ];
   };
 }
diff --git a/pkgs/development/python-modules/nbclient/default.nix b/pkgs/development/python-modules/nbclient/default.nix
index 9c96f71c281..6579185861f 100644
--- a/pkgs/development/python-modules/nbclient/default.nix
+++ b/pkgs/development/python-modules/nbclient/default.nix
@@ -1,9 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder,
-  async_generator, traitlets, nbformat, nest-asyncio, jupyter-client,
-  pytest, xmltodict, nbconvert, ipywidgets
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, async_generator
+, traitlets
+, nbformat
+, nest-asyncio
+, jupyter-client
+, pytestCheckHook
+, xmltodict
+, nbconvert
+, ipywidgets
 }:
 
-buildPythonPackage rec {
+let nbclient = buildPythonPackage rec {
   pname = "nbclient";
   version = "0.6.2";
   format = "setuptools";
@@ -15,14 +25,26 @@ buildPythonPackage rec {
     hash = "sha256-i0dVPxztB3zXxFN/1dcB1G92gfJLKCdeXMHTR+fJtGs=";
   };
 
-  doCheck = false; # Avoid infinite recursion
-  checkInputs = [ pytest xmltodict nbconvert ipywidgets ];
   propagatedBuildInputs = [ async_generator traitlets nbformat nest-asyncio jupyter-client ];
 
+  # circular dependencies if enabled by default
+  doCheck = false;
+
+  checkInputs = [ pytestCheckHook xmltodict nbconvert ipywidgets ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  passthru.tests = {
+    check = nbclient.overridePythonAttrs (_: { doCheck = true; });
+  };
+
   meta = with lib; {
     homepage = "https://github.com/jupyter/nbclient";
     description = "A client library for executing notebooks";
     license = licenses.bsd3;
     maintainers = [ maintainers.erictapen ];
   };
-}
+};
+in nbclient
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
index 69aa660f142..9b85586f7d9 100644
--- a/pkgs/development/python-modules/nbconvert/default.nix
+++ b/pkgs/development/python-modules/nbconvert/default.nix
@@ -1,25 +1,19 @@
-{ lib
+{ beautifulsoup4
+, bleach
 , buildPythonPackage
+, defusedxml
 , fetchPypi
-, pytestCheckHook
-, glibcLocales
-, entrypoints
-, bleach
-, mistune
-, nbclient
+, ipywidgets
 , jinja2
-, pygments
-, traitlets
-, jupyter_core
 , jupyterlab-pygments
-, nbformat
-, ipykernel
+, lib
+, markupsafe
+, mistune
+, nbclient
 , pandocfilters
-, tornado
-, jupyter-client
-, defusedxml
+, pyppeteer
+, pytestCheckHook
 , tinycss2
-, beautifulsoup4
 }:
 
 buildPythonPackage rec {
@@ -42,37 +36,38 @@ buildPythonPackage rec {
     substituteAllInPlace ./nbconvert/exporters/templateexporter.py
   '';
 
-  checkInputs = [ pytestCheckHook glibcLocales ];
-
   propagatedBuildInputs = [
-    entrypoints bleach mistune jinja2 pygments traitlets
-    jupyter_core nbformat ipykernel pandocfilters tornado jupyter-client
-    defusedxml tinycss2 beautifulsoup4
-    nbclient
+    beautifulsoup4
+    bleach
+    defusedxml
+    jinja2
     jupyterlab-pygments
+    markupsafe
+    mistune
+    nbclient
+    pandocfilters
+    tinycss2
   ];
 
-  # disable preprocessor tests for ipython 7
-  # see issue https://github.com/jupyter/nbconvert/issues/898
   preCheck = ''
-    export LC_ALL=en_US.UTF-8
-    HOME=$(mktemp -d)
+    export HOME=$(mktemp -d)
   '';
 
-  pytestFlagsArray = [
-    "--ignore=nbconvert/preprocessors/tests/test_execute.py"
-    # can't resolve template paths within sandbox
-    "--ignore=nbconvert/tests/base.py"
-    "--ignore=nbconvert/tests/test_nbconvertapp.py"
+  checkInputs = [
+    ipywidgets
+    pyppeteer
+    pytestCheckHook
   ];
 
+  pytestFlagsArray = [
+    # DeprecationWarning: Support for bleach <5 will be removed in a future version of nbconvert
+    "-W ignore::DeprecationWarning"
+  ];
 
   disabledTests = [
+    # Attempts network access (Failed to establish a new connection: [Errno -3] Temporary failure in name resolution)
     "test_export"
-    "test_webpdf_without_chromium"
-    #"test_cell_tag_output"
-    #"test_convert_from_stdin"
-    #"test_convert_full_qualified_name"
+    "test_webpdf_with_chromium"
   ];
 
   # Some of the tests use localhost networking.
diff --git a/pkgs/development/python-modules/nettigo-air-monitor/default.nix b/pkgs/development/python-modules/nettigo-air-monitor/default.nix
index 6f85a797c37..9fbb336c386 100644
--- a/pkgs/development/python-modules/nettigo-air-monitor/default.nix
+++ b/pkgs/development/python-modules/nettigo-air-monitor/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "nettigo-air-monitor";
-  version = "1.2.2";
+  version = "1.2.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bieniu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-gHgFEDUji43vTBZp5FLK90H+D44sfH2AuCc7Gu2T1pg=";
+    sha256 = "sha256-aCDw3JwX8LVrJp3jYvuYQ3ycRHjSnWU0n1LdTjV08VA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/notify-events/default.nix b/pkgs/development/python-modules/notify-events/default.nix
new file mode 100644
index 00000000000..97d888ae23c
--- /dev/null
+++ b/pkgs/development/python-modules/notify-events/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "notify-events";
+  version = "1.1.3";
+
+  format = "setuptools";
+
+  src = fetchPypi {
+    pname = "notify_events";
+    inherit version;
+    sha256 = "e63ba935c3300ff7f48cba115f7cb4474906e83c2e9b60b95a0881eb949701e7";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "notify_events" ];
+
+  meta = {
+    description = "Python client for Notify.Events";
+    homepage = "https://github.com/notify-events/python";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/nutils/default.nix b/pkgs/development/python-modules/nutils/default.nix
index 88486910796..84003ce30be 100644
--- a/pkgs/development/python-modules/nutils/default.nix
+++ b/pkgs/development/python-modules/nutils/default.nix
@@ -1,15 +1,26 @@
-{ lib, python, buildPythonPackage, fetchPypi, numpy, treelog, stringly, coverage }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, treelog
+, stringly
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "nutils";
   version = "7.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1sw310l2yb8wbcv2qhik8s928zjh2syzz2qxisglbzski9qdw2x6";
-  };
+  disabled = pythonOlder "3.7";
 
-  pythonImportChecks = [ "nutils" ];
+  src = fetchFromGitHub {
+    owner = "evalf";
+    repo = "nutils";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-V7lSMhwzc9+36uXMCy5uF241XwJ62Pdf59RUulOt4i8=";
+  };
 
   propagatedBuildInputs = [
     numpy
@@ -17,16 +28,23 @@ buildPythonPackage rec {
     stringly
   ];
 
-  checkInputs = [ coverage ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "nutils"
+  ];
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest
-  '';
+  disabledTestPaths = [
+    # AttributeError: type object 'setup' has no attribute '__code__'
+    "tests/test_cli.py"
+  ];
 
   meta = with lib; {
     description = "Numerical Utilities for Finite Element Analysis";
     homepage = "https://www.nutils.org/";
     license = licenses.mit;
-    maintainers = [ maintainers.Scriptkiddi ];
+    maintainers = with maintainers; [ Scriptkiddi ];
   };
 }
diff --git a/pkgs/development/python-modules/ocrmypdf/default.nix b/pkgs/development/python-modules/ocrmypdf/default.nix
index 72565e55419..6700b88479d 100644
--- a/pkgs/development/python-modules/ocrmypdf/default.nix
+++ b/pkgs/development/python-modules/ocrmypdf/default.nix
@@ -83,7 +83,7 @@ buildPythonPackage rec {
   postPatch = ''
     # https://github.com/ocrmypdf/OCRmyPDF/issues/933
     substituteInPlace setup.cfg \
-      --replace "pdfminer.six!=20200720,>=20191110,<=20211012" "pdfminer.six!=20200720,>=20191110,<=20220319"
+      --replace "pdfminer.six!=20200720,>=20191110,<=20220319" "pdfminer.six!=20200720,>=20191110"
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/oscrypto/default.nix b/pkgs/development/python-modules/oscrypto/default.nix
index b4d1c8fb88a..96d4416ec96 100644
--- a/pkgs/development/python-modules/oscrypto/default.nix
+++ b/pkgs/development/python-modules/oscrypto/default.nix
@@ -1,24 +1,25 @@
 { lib
 , stdenv
-, buildPythonPackage
 , asn1crypto
-, fetchPypi
+, buildPythonPackage
+, fetchFromGitHub
 , openssl
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "oscrypto";
-  version = "1.2.1";
+  version = "1.3.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1546si2bdgkqnbvv4mw1hr4mhh6bq39d9z4wxgv1m7fq6miclb3x";
-  };
+  disabled = pythonOlder "3.7";
 
-  testSources = fetchPypi {
-    inherit version;
-    pname = "oscrypto_tests";
-    sha256 = "1ha68dsrbx6mlra44x0n81vscn17pajbl4yg7cqkk7mq1zfmjwks";
+  src = fetchFromGitHub {
+    owner = "wbond";
+    repo = pname;
+    rev = version;
+    hash = "sha256-CmDypmlc/kb6ONCUggjT1Iqd29xNSLRaGh5Hz36dvOw=";
   };
 
   propagatedBuildInputs = [
@@ -26,21 +27,26 @@ buildPythonPackage rec {
     openssl
   ];
 
-  preCheck = ''
-    tar -xf ${testSources}
-    mv oscrypto_tests-${version} tests
-
-    # remove tests that require network
-    sed -e '/TLSTests/d' -e '/TrustListTests/d' -i tests/__init__.py
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "oscrypto" ];
+  pythonImportsCheck = [
+    "oscrypto"
+  ];
 
   doCheck = !stdenv.isDarwin;
 
+  disabledTests = [
+    # Tests require network access
+    "TLSTests"
+    "TrustListTests"
+  ];
+
   meta = with lib; {
     description = "Encryption library for Python";
     homepage = "https://github.com/wbond/oscrypto";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/paramiko/default.nix b/pkgs/development/python-modules/paramiko/default.nix
index c5680c5c8a3..421d53b5a88 100644
--- a/pkgs/development/python-modules/paramiko/default.nix
+++ b/pkgs/development/python-modules/paramiko/default.nix
@@ -14,14 +14,23 @@
 
 buildPythonPackage rec {
   pname = "paramiko";
-  version = "2.10.3";
+  version = "2.10.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3bGXeFOu+CgEs11yoOWXskT6MmxATDUL0AxbAdv+5xo=";
+    sha256 = "sha256-PS5lC2gSzm0WCr/3AdbvRDTsl5NLE+lc8a09pw/7XFg=";
   };
 
+  patches = [
+    # Fix usage of dsa keys
+    # https://github.com/paramiko/paramiko/pull/1606/
+    (fetchpatch {
+      url = "https://github.com/paramiko/paramiko/commit/18e38b99f515056071fb27b9c1a4f472005c324a.patch";
+      sha256 = "sha256-bPDghPeLo3NiOg+JwD5CJRRLv2VEqmSx1rOF2Tf8ZDA=";
+    })
+  ];
+
   propagatedBuildInputs = [
     bcrypt
     cryptography
@@ -51,15 +60,6 @@ buildPythonPackage rec {
     "paramiko"
   ];
 
-  patches = [
-    # Fix usage of dsa keys
-    # https://github.com/paramiko/paramiko/pull/1606/
-    (fetchpatch {
-      url = "https://github.com/paramiko/paramiko/commit/18e38b99f515056071fb27b9c1a4f472005c324a.patch";
-      sha256 = "sha256-bPDghPeLo3NiOg+JwD5CJRRLv2VEqmSx1rOF2Tf8ZDA=";
-    })
-  ];
-
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
@@ -72,6 +72,6 @@ buildPythonPackage rec {
       between python scripts. All major ciphers and hash methods are
       supported. SFTP client and server mode are both supported too.
     '';
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/passlib/default.nix b/pkgs/development/python-modules/passlib/default.nix
index ab29ab74d68..9e35fb8f76a 100644
--- a/pkgs/development/python-modules/passlib/default.nix
+++ b/pkgs/development/python-modules/passlib/default.nix
@@ -1,9 +1,10 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, nose
-, bcrypt
 , argon2_cffi
+, bcrypt
+, cryptography
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -15,9 +16,17 @@ buildPythonPackage rec {
     sha256 = "defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04";
   };
 
-  checkInputs = [ nose ];
-  propagatedBuildInputs = [ bcrypt argon2_cffi ];
-  propagatedNativeBuildInputs = [ argon2_cffi ];
+  passthru.extras-require = {
+    argon2 = [ argon2_cffi ];
+    bcrypt = [ bcrypt ];
+    totp = [ cryptography ];
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ] ++ passthru.extras-require.argon2
+    ++ passthru.extras-require.bcrypt
+    ++ passthru.extras-require.totp;
 
   meta = with lib; {
     description = "A password hashing library for Python";
diff --git a/pkgs/development/python-modules/pdfminer_six/default.nix b/pkgs/development/python-modules/pdfminer_six/default.nix
index 449ea4f7fd7..b52106af285 100644
--- a/pkgs/development/python-modules/pdfminer_six/default.nix
+++ b/pkgs/development/python-modules/pdfminer_six/default.nix
@@ -1,8 +1,16 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, cryptography, chardet, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, cryptography
+, charset-normalizer
+, pytestCheckHook
+, ocrmypdf
+}:
 
 buildPythonPackage rec {
   pname = "pdfminer_six";
-  version = "20220319";
+  version = "20220506";
 
   disabled = !isPy3k;
 
@@ -10,10 +18,10 @@ buildPythonPackage rec {
     owner = "pdfminer";
     repo = "pdfminer.six";
     rev = version;
-    sha256 = "sha256-sjO7jmHSe4EDmJ1rfiXx+lsHxc+DfKeMet37Nbg03WQ=";
+    sha256 = "sha256-Lq+ou7+Lmr1H69L8X/vuky+/tXDD3bBBaCysymeRuXA=";
   };
 
-  propagatedBuildInputs = [ chardet cryptography ];
+  propagatedBuildInputs = [ charset-normalizer cryptography ];
 
   postInstall = ''
     for file in $out/bin/*.py; do
@@ -27,8 +35,16 @@ buildPythonPackage rec {
     substituteInPlace pdfminer/__init__.py --replace "__VERSION__" ${version}
   '';
 
+  pythonImportsCheck = [ "pdfminer" ];
+
   checkInputs = [ pytestCheckHook ];
 
+  passthru = {
+    tests = {
+      inherit ocrmypdf;
+    };
+  };
+
   meta = with lib; {
     description = "PDF parser and analyzer";
     homepage = "https://github.com/pdfminer/pdfminer.six";
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
index c24886d7101..4b11263017d 100644
--- a/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/pkgs/development/python-modules/peaqevcore/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "peaqevcore";
-  version = "0.0.22";
+  version = "0.0.23";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ye8evqkOy08wHYohVOpXB2pfPN/vsK9GnPnL/nbVZU0=";
+    hash = "sha256-z59TJ+P7WNMcTyevi4etWUFUnBJXAVhDOnO4GXjjuR0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix
index e582ad1a446..2098a1d10cf 100644
--- a/pkgs/development/python-modules/pex/default.nix
+++ b/pkgs/development/python-modules/pex/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.84";
+  version = "2.1.85";
   format = "flit";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tjPjLzNOO/PUU6EItLYyQw+KPekIwboTBn98T8wHpHw=";
+    hash = "sha256-ABRidGtJikMIHItT21MJdiIqpA26IUN1aFMNyRVKyDA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index 4f8dc93c671..2366d94ed8c 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.12.47";
+  version = "8.12.48";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Vv1gXS9UYOHfIRcIW2U7s4MiKV7GWOasqvycl2hn1SI=";
+    sha256 = "sha256-rwaB+/6foHITdq2bcp53Ll0gvyz1DZ3Yyi8L3Xjp8M4=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pkgconfig/default.nix b/pkgs/development/python-modules/pkgconfig/default.nix
index fc593e6a48f..105beaccb9b 100644
--- a/pkgs/development/python-modules/pkgconfig/default.nix
+++ b/pkgs/development/python-modules/pkgconfig/default.nix
@@ -1,8 +1,15 @@
-{ lib, buildPythonPackage, fetchPypi, pkg-config }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pkg-config
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "pkgconfig";
   version = "1.5.5";
+  format = "pyproject";
 
   inherit (pkg-config)
     setupHooks
@@ -10,28 +17,39 @@ buildPythonPackage rec {
     suffixSalt
     targetPrefix
     baseBinName
-  ;
+    ;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899";
+  src = fetchFromGitHub {
+    owner = "matze";
+    repo = "pkgconfig";
+    rev = "v${version}";
+    sha256 = "sha256-uuLUGRNLCR3NS9g6OPCI+qG7tPWsLhI3OE5WmSI3vm8=";
   };
 
-
-  propagatedNativeBuildInputs = [ pkg-config ];
-
-  doCheck = false;
-
   patches = [ ./executable.patch ];
+
   postPatch = ''
-    substituteInPlace pkgconfig/pkgconfig.py --replace 'PKG_CONFIG_EXE = "pkg-config"' 'PKG_CONFIG_EXE = "${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config"'
+    rm pkgconfig/pkgconfig.py.orig
+    substituteInPlace pkgconfig/pkgconfig.py \
+      --replace 'PKG_CONFIG_EXE = "pkg-config"' 'PKG_CONFIG_EXE = "${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config"'
+
+    # those pc files are missing and pkg-config validates that they exist
+    substituteInPlace data/fake-openssl.pc \
+      --replace "Requires: libssl libcrypto" ""
   '';
 
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedNativeBuildInputs = [ pkg-config ];
+
+  checkInputs = [ pytestCheckHook ];
+
   pythonImportsCheck = [ "pkgconfig" ];
 
   meta = with lib; {
     description = "Interface Python with pkg-config";
     homepage = "https://github.com/matze/pkgconfig";
     license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/pkutils/default.nix b/pkgs/development/python-modules/pkutils/default.nix
index 48afe57ef34..c4baa649cf9 100644
--- a/pkgs/development/python-modules/pkutils/default.nix
+++ b/pkgs/development/python-modules/pkutils/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pkutils";
-  version = "2.0.0";
+  version = "3.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "reubano";
     repo = "pkutils";
     rev = "v${version}";
-    sha256 = "sha256-jvRUjuxlcfmJOX50bnZR/pP2Axe1KDy9/KGXTL4yPxA=";
+    hash = "sha256-AK+xX+LPz6IVLZedsqMUm7G28ue0s3pXgIzxS4EHHLE=";
   };
 
   propagatedBuildInputs = [
@@ -28,12 +28,6 @@ buildPythonPackage rec {
     nose
   ];
 
-  postPatch = ''
-    # Remove when https://github.com/reubano/pkutils/pull/4 merged
-    substituteInPlace requirements.txt \
-      --replace "semver>=2.2.1,<2.7.3" "semver"
-  '';
-
   checkPhase = ''
     runHook preCheck
     nosetests
diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix
index 18d4fec6c16..396583b9ee4 100644
--- a/pkgs/development/python-modules/plugwise/default.nix
+++ b/pkgs/development/python-modules/plugwise/default.nix
@@ -13,27 +13,25 @@
 , pytest-asyncio
 , pytestCheckHook
 , python-dateutil
+, pythonOlder
 , pytz
 , semver
 }:
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.17.8";
+  version = "0.18.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = pname;
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-ZNlkdubB6E5ak+EaXsEBGa1xpm5ms4Rp3DG/M4/+WOg=";
+    sha256 = "sha256-kpEs5LvUz61Wm2IUI6sNXx2R+vtuHq1Y6aaj+zLrr+Q=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "aiohttp==3.8.0" "aiohttp>=3.8.0"
-  '';
-
   propagatedBuildInputs = [
     aiohttp
     async-timeout
@@ -54,16 +52,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "plugwise" ];
+  pythonImportsCheck = [
+    "plugwise"
+  ];
 
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
     description = "Python module for Plugwise Smiles, Stretch and USB stick";
-    longDescription = ''
-      XKNX is an asynchronous Python library for reading and writing KNX/IP
-      packets. It provides support for KNX/IP routing and tunneling devices.
-    '';
     homepage = "https://github.com/plugwise/python-plugwise";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
diff --git a/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix b/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
index b662452d8a0..bdc484fd1bb 100644
--- a/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
+++ b/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "poetry-dynamic-versioning";
-  version = "0.15.0";
+  version = "0.16.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "mtkennerly";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-RHCP5SakizURg5MwD96Bxs/NvoTdPSCKWVYt5m4meLA=";
+    hash = "sha256-dLtZSm10OYWLRK4eRo83RczW0zBVAUF0HQXLQbeDJCk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/proglog/default.nix b/pkgs/development/python-modules/proglog/default.nix
index 9839ea9dd23..3b630f71905 100644
--- a/pkgs/development/python-modules/proglog/default.nix
+++ b/pkgs/development/python-modules/proglog/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "proglog";
-  version = "0.1.9";
+  version = "0.1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13diln950wk6nnn4rpmzx37rvrnpa7f803gwygiwbq1q46zwri6q";
+    sha256 = "sha256-ZYwoycguTK6y8l9Ij/+c6s4i+NabFdDByG1kJ15N2rQ=";
   };
 
   propagatedBuildInputs = [ tqdm ];
diff --git a/pkgs/development/python-modules/protonvpn-nm-lib/0001-Patching-GIRepository.patch b/pkgs/development/python-modules/protonvpn-nm-lib/0001-Patching-GIRepository.patch
new file mode 100644
index 00000000000..bb34dff0b5a
--- /dev/null
+++ b/pkgs/development/python-modules/protonvpn-nm-lib/0001-Patching-GIRepository.patch
@@ -0,0 +1,22 @@
+From 2867f022aad754fe54d95222b3ae52f6e7f14c2f Mon Sep 17 00:00:00 2001
+From: "P. R. d. O" <d.ol.rod@tutanota.com>
+Date: Wed, 27 Apr 2022 21:49:12 -0600
+Subject: [PATCH] Patching GIRepository
+
+---
+ protonvpn_nm_lib/__init__.py | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/protonvpn_nm_lib/__init__.py b/protonvpn_nm_lib/__init__.py
+index e69de29..00b95f4 100644
+--- a/protonvpn_nm_lib/__init__.py
++++ b/protonvpn_nm_lib/__init__.py
+@@ -0,0 +1,5 @@
++import gi
++gi.require_version('GIRepository', '2.0')
++from gi.repository import GIRepository
++repo = GIRepository.Repository.get_default()
++repo.prepend_search_path('@networkmanager_path@')
+-- 
+2.35.1
+
diff --git a/pkgs/development/python-modules/protonvpn-nm-lib/default.nix b/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
index 9f12f220cfe..44e4b8e237d 100644
--- a/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
+++ b/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, substituteAll
 , distro
 , jinja2
 , keyring
@@ -9,18 +10,19 @@
 , pygobject3
 , pyxdg
 , systemd
+, networkmanager
 }:
 
 buildPythonPackage rec {
   pname = "protonvpn-nm-lib";
-  version = "3.8.0";
+  version = "3.9.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = pname;
     rev = version;
-    sha256 = "sha256-fAaP9c66LcbZgezadGPUt400YRnrnFoBvpzlc1zxuc4=";
+    sha256 = "sha256-yV3xeIyPc2DJj5DOa5PA1MHt00bjJ/Y9zZK77s/XRAA=";
   };
 
   propagatedBuildInputs = [
@@ -33,7 +35,15 @@ buildPythonPackage rec {
     systemd
   ];
 
-  # Project has a dummy test.
+  patches = [
+    (substituteAll {
+      src = ./0001-Patching-GIRepository.patch;
+      networkmanager_path = "${networkmanager}/lib/girepository-1.0";
+    })
+  ];
+
+  # Checks cannot be run in the sandbox
+  # "Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory"
   doCheck = false;
 
   pythonImportsCheck = [ "protonvpn_nm_lib" ];
diff --git a/pkgs/development/python-modules/pushbullet/default.nix b/pkgs/development/python-modules/pushbullet/default.nix
index 92338d92531..e697683b9b8 100644
--- a/pkgs/development/python-modules/pushbullet/default.nix
+++ b/pkgs/development/python-modules/pushbullet/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , requests
 , websocket-client
-, python_magic
+, python-magic
 , cryptography
 , pytestCheckHook
 }:
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     sha256 = "917883e1af4a0c979ce46076b391e0243eb8fe0a81c086544bcfa10f53e5ae64";
   };
 
-  propagatedBuildInputs = [ cryptography requests websocket-client python_magic ];
+  propagatedBuildInputs = [ cryptography requests websocket-client python-magic ];
 
   preCheck = ''
     export PUSHBULLET_API_KEY=""
diff --git a/pkgs/development/python-modules/pweave/default.nix b/pkgs/development/python-modules/pweave/default.nix
index b97d5149652..c9e2ff020f8 100644
--- a/pkgs/development/python-modules/pweave/default.nix
+++ b/pkgs/development/python-modules/pweave/default.nix
@@ -7,6 +7,7 @@
 , nbconvert
 , markdown
 , isPy3k
+, ipykernel
 }:
 
 buildPythonPackage rec {
@@ -21,7 +22,7 @@ buildPythonPackage rec {
   disabled = !isPy3k;
 
   buildInputs = [ mock pkgs.glibcLocales ];
-  propagatedBuildInputs = [ matplotlib nbconvert markdown ];
+  propagatedBuildInputs = [ ipykernel matplotlib nbconvert markdown ];
 
   # fails due to trying to run CSS as test
   doCheck = false;
diff --git a/pkgs/development/python-modules/py-canary/default.nix b/pkgs/development/python-modules/py-canary/default.nix
index 531624781b4..6685d245833 100644
--- a/pkgs/development/python-modules/py-canary/default.nix
+++ b/pkgs/development/python-modules/py-canary/default.nix
@@ -10,14 +10,16 @@
 
 buildPythonPackage rec {
   pname = "py-canary";
-  version = "0.5.1";
+  version = "0.5.2";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "snjoetw";
     repo = pname;
-    rev = version;
-    sha256 = "0j743cc0wv7im3anx1vvdm79zyvw67swhc3zwwc1r8626dgnmxjr";
+    rev = "refs/tags/${version}";
+    hash = "sha256-PE31J82Uc6mErnh7nQ1pkIjnMbuCnlYEX2R0azknMHQ=";
   };
 
   propagatedBuildInputs = [
@@ -30,7 +32,9 @@ buildPythonPackage rec {
     requests-mock
   ];
 
-  pythonImportsCheck = [ "canary" ];
+  pythonImportsCheck = [
+    "canary"
+  ];
 
   meta = with lib; {
     description = "Python package for Canary Security Camera";
diff --git a/pkgs/development/python-modules/py-nextbusnext/default.nix b/pkgs/development/python-modules/py-nextbusnext/default.nix
new file mode 100644
index 00000000000..3b6d24d6168
--- /dev/null
+++ b/pkgs/development/python-modules/py-nextbusnext/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "py-nextbusnext";
+  version = "0.1.5";
+
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "ViViDboarder";
+    repo = "py_nextbus";
+    rev = "v${version}";
+    hash = "sha256-uUHA8v5iTISmPaTgk0RvcLLRM34f3JXUjZClKGXdMoI=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "py_nextbus" ];
+
+  meta = {
+    description = "Minimalistic Python client for the NextBus public API";
+    homepage = "https://github.com/ViViDboarder/py_nextbus";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/py3exiv2/default.nix b/pkgs/development/python-modules/py3exiv2/default.nix
index ef056d296b2..60a8ee7f17f 100644
--- a/pkgs/development/python-modules/py3exiv2/default.nix
+++ b/pkgs/development/python-modules/py3exiv2/default.nix
@@ -1,24 +1,46 @@
-{ lib, buildPythonPackage, isPy3k, fetchPypi, stdenv, exiv2, boost, libcxx }:
+{ lib
+, stdenv
+, boost
+, buildPythonPackage
+, exiv2
+, fetchPypi
+, libcxx
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "py3exiv2";
-  version = "0.9.3";
-  disabled = !(isPy3k);
+  version = "0.11.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "838836e58ca22557d83d1f0ef918bcce899b4c2666340b924b940dcdebf1d18c";
+    hash = "sha256-ZgDaa4lxmdTaZhkblgRfPMxfVwENp2s6xdKSuD/MqEQ=";
   };
 
-  buildInputs = [ exiv2 boost ];
+  buildInputs = [
+    boost
+    exiv2
+  ];
+
+  # Work around Python distutils compiling C++ with $CC (see issue #26709)
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin [
+    "-I${lib.getDev libcxx}/include/c++/v1"
+  ];
+
+  pythonImportsCheck = [
+    "pyexiv2"
+  ];
 
-  # work around python distutils compiling C++ with $CC (see issue #26709)
-  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1";
+  # Tests are not shipped
+  doCheck = false;
 
   meta = with lib; {
+    description = "Python binding to the library exiv2";
     homepage = "https://launchpad.net/py3exiv2";
-    description = "A Python3 binding to the library exiv2";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ vinymeuh ];
     platforms = with platforms; linux ++ darwin;
   };
diff --git a/pkgs/development/python-modules/pyahocorasick/default.nix b/pkgs/development/python-modules/pyahocorasick/default.nix
index 56e5636622b..336e637edef 100644
--- a/pkgs/development/python-modules/pyahocorasick/default.nix
+++ b/pkgs/development/python-modules/pyahocorasick/default.nix
@@ -3,31 +3,34 @@
 , fetchFromGitHub
 , fetchpatch
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyahocorasick";
-  version = "1.4.1";
+  version = "1.4.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "WojciechMula";
     repo = pname;
     rev = version;
-    sha256 = "13x3718if28l50474xrz1b9709kvnvdg3nzm6y8bh7mc9a4zyss5";
+    hash = "sha256-X6ifwOwf7GAaNUxInKhR3NX6hKhvFMkvfbK6XpH8CBo=";
   };
 
-  patches = [
-    # Use proper temporary directory on Hydra
-    (fetchpatch {
-      url = "https://github.com/WojciechMula/pyahocorasick/commit/b6549e06f3cced7ffdf4d1b587cd7de12041f495.patch";
-      sha256 = "sha256-v3J/0aIPOnBhLlJ18r/l7O0MckqLOCtcmqIS9ZegaSI=";
-    })
+  checkInputs = [
+    pytestCheckHook
   ];
 
-  checkInputs = [ pytestCheckHook ];
+  pytestFlagsArray = [
+    "unittests.py"
+  ];
 
-  pytestFlagsArray = [ "unittests.py" ];
-  pythonImportsCheck = [ "ahocorasick" ];
+  pythonImportsCheck = [
+    "ahocorasick"
+  ];
 
   meta = with lib; {
     description = "Python module implementing Aho-Corasick algorithm";
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index 27e464f6e5f..7d38d99c696 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pychromecast";
-  version = "12.0.0";
+  version = "12.1.1";
   format = "setuptools";
 
   disabled = !isPy3k;
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyChromecast";
     inherit version;
-    sha256 = "sha256-asvEJix8/3glVhenll/rlTwSZdX0LRPMX4uCSURohJ4=";
+    sha256 = "sha256-lUWiKs2tyWYD9214eMbqF7rxMoJgz1YMiHyMEqrUyCw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix b/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix
index 6e7f71cee30..f6a2b715ad9 100644
--- a/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix
+++ b/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "pycryptodome-test-vectors";
-  version = "1.0.7";
+  version = "1.0.8";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GfzFM3S4yk0V2zTaQ+rkljyHdvC0ETUNSccZImqoLIU=";
+    hash = "sha256-3BTh7as4CikvVfUx2xBZlUOaq/dAQNNFHpuRxWg/5N0=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/pycurl/default.nix b/pkgs/development/python-modules/pycurl/default.nix
index e7f3b87ad0c..4b0e215f22c 100644
--- a/pkgs/development/python-modules/pycurl/default.nix
+++ b/pkgs/development/python-modules/pycurl/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , isPyPy
 , fetchPypi
+, fetchpatch
 , pythonOlder
 , curl
 , openssl
@@ -20,6 +21,16 @@ buildPythonPackage rec {
     sha256 = "sha256-qGOtGP9Hj1VFkkBXiHza5CLhsnRuQWdGFfaHSY6luIo=";
   };
 
+  patches = [
+    # Pull upstream patch for curl-3.83:
+    #  https://github.com/pycurl/pycurl/pull/753
+    (fetchpatch {
+      name = "curl-3.83.patch";
+      url = "https://github.com/pycurl/pycurl/commit/d47c68b1364f8a1a45ab8c584c291d44b762f7b1.patch";
+      sha256 = "sha256-/lGq7O7ZyytzBAxWJPigcWdvypM7OHLBcp9ItmX7z1g=";
+    })
+  ];
+
   preConfigure = ''
     substituteInPlace setup.py --replace '--static-libs' '--libs'
     export PYCURL_SSL_LIBRARY=openssl
diff --git a/pkgs/development/python-modules/pydeps/default.nix b/pkgs/development/python-modules/pydeps/default.nix
index 9cfd0fe3c9c..cc2b726a64a 100644
--- a/pkgs/development/python-modules/pydeps/default.nix
+++ b/pkgs/development/python-modules/pydeps/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pydeps";
-  version = "1.10.17";
+  version = "1.10.18";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "thebjorn";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-V0LgHFvGvJqDHmyXJNb0sJjRuqGGDZpV467XDmdFg5k=";
+    hash = "sha256-AKpaGXUaKCVk1C8GqtWayZEU2xbz3eqbUenjZCtsAUY=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pyicu/default.nix b/pkgs/development/python-modules/pyicu/default.nix
index 02226feff2c..255231f8a49 100644
--- a/pkgs/development/python-modules/pyicu/default.nix
+++ b/pkgs/development/python-modules/pyicu/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "PyICU";
-  version = "2.8.1";
+  version = "2.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-8LlUmof4e6fEE/E2edE3Jx4LN/HzmwEJrOOCV9TRSNY=";
+    sha256 = "sha256-PCnWzmVUYVcReho0ejA+zfzxp1ke1nn8iM3vQQiEWHg=";
   };
 
   nativeBuildInputs = [ icu ]; # for icu-config, but should be replaced with pkg-config
diff --git a/pkgs/development/python-modules/pyinfra/default.nix b/pkgs/development/python-modules/pyinfra/default.nix
index d85a1733224..41e3c95a041 100644
--- a/pkgs/development/python-modules/pyinfra/default.nix
+++ b/pkgs/development/python-modules/pyinfra/default.nix
@@ -1,30 +1,33 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, pythonOlder
-, gevent
 , click
 , colorama
 , configparser
 , distro
+, fetchFromGitHub
+, gevent
 , jinja2
 , paramiko
+, pytestCheckHook
 , python-dateutil
+, pythonOlder
 , pywinrm
+, pyyaml
 , setuptools
-, six
 }:
 
 buildPythonPackage rec {
   pname = "pyinfra";
-  version = "2.0.2";
+  version = "2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-AW2pOyLqyugTSM7PE4oR9ZwD1liNpdD636QA3ElafG0=";
+  src = fetchFromGitHub {
+    owner = "Fizzadar";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-frjPxSATvXgeACT4kThoiPu04Ez8bs8FIPdf5PVuiSg=";
   };
 
   propagatedBuildInputs = [
@@ -37,16 +40,23 @@ buildPythonPackage rec {
     paramiko
     python-dateutil
     pywinrm
+    pyyaml
     setuptools
-    six
   ];
 
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [
     "pyinfra"
   ];
 
+  disabledTests = [
+    # Test requires SSH binary
+    "test_load_ssh_config"
+  ];
+
   meta = with lib; {
     description = "Python-based infrastructure automation";
     longDescription = ''
diff --git a/pkgs/development/python-modules/pylint-django/default.nix b/pkgs/development/python-modules/pylint-django/default.nix
index 61d49bd3ba0..ca26f11ccb3 100644
--- a/pkgs/development/python-modules/pylint-django/default.nix
+++ b/pkgs/development/python-modules/pylint-django/default.nix
@@ -1,24 +1,25 @@
 { lib
 , buildPythonPackage
-, coverage
 , django
 , factory_boy
 , fetchFromGitHub
-, isPy3k
 , pylint-plugin-utils
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pylint-django";
-  version = "2.5.2";
-  disabled = !isPy3k;
+  version = "2.5.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VgGdV1T154LauclGo6jpLPUrYn5vTOWwvO4IXQ9se7c=";
+    hash = "sha256-5xEXjNMkOetRM9NDz0S4DsC6v39YQi34s2s+Fs56hYU=";
   };
 
   propagatedBuildInputs = [
@@ -27,7 +28,6 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    coverage
     factory_boy
     pytestCheckHook
   ];
@@ -38,6 +38,7 @@ buildPythonPackage rec {
     "external_factory_boy_noerror"
     "func_noerror_foreign_key_attributes"
     "func_noerror_foreign_key_key_cls_unbound"
+    "test_everything"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/pylint-plugin-utils/default.nix b/pkgs/development/python-modules/pylint-plugin-utils/default.nix
index f2bbef2cc8c..46c12f0d0d0 100644
--- a/pkgs/development/python-modules/pylint-plugin-utils/default.nix
+++ b/pkgs/development/python-modules/pylint-plugin-utils/default.nix
@@ -1,39 +1,46 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
-, isPy3k
-, lib
-
-# pythonPackages
 , pylint
+, pytestCheckHook
+, pythonOlder
 , toml
 }:
 
 buildPythonPackage rec {
   pname = "pylint-plugin-utils";
-  version = "0.6";
-  disabled = !isPy3k;
+  version = "0.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = version;
-    sha256 = "1zapmbczxs1phrwbd0yvpfxhljd2pyv4pi9rwggaq38lcnc325s7";
+    hash = "sha256-uDsSSUWdlzuQz6umoYLbIotOYNEnLQu041ZZVMRd2ww=";
   };
 
   propagatedBuildInputs = [
-    pylint toml
+    pylint
+    toml
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pylint_plugin_utils"
   ];
 
-  checkPhase = ''
-    python tests.py
-  '';
+  # https://github.com/PyCQA/pylint-plugin-utils/issues/26
+  doCheck = false;
 
   meta = with lib; {
     description = "Utilities and helpers for writing Pylint plugins";
     homepage = "https://github.com/PyCQA/pylint-plugin-utils";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [
-      kamadorueda
-    ];
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ kamadorueda ];
   };
 }
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index dda915bb7ef..263632e8654 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -87,7 +87,16 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = "https://pylint.pycqa.org/";
     description = "A bug and style checker for Python";
+    longDescription = ''
+      Pylint is a Python static code analysis tool which looks for programming errors,
+      helps enforcing a coding standard, sniffs for code smells and offers simple
+      refactoring suggestions.
+      Pylint is shipped with following additional commands:
+      - pyreverse: an UML diagram generator
+      - symilar: an independent similarities checker
+      - epylint: Emacs and Flymake compatible Pylint
+    '';
     license = licenses.gpl1Plus;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ totoroot ];
   };
 }
diff --git a/pkgs/development/python-modules/pylsp-mypy/default.nix b/pkgs/development/python-modules/pylsp-mypy/default.nix
index a4725c4781c..c8551270797 100644
--- a/pkgs/development/python-modules/pylsp-mypy/default.nix
+++ b/pkgs/development/python-modules/pylsp-mypy/default.nix
@@ -22,6 +22,7 @@ buildPythonPackage rec {
 
   disabledTests = [
     "test_multiple_workspaces"
+    "test_option_overrides_dmypy"
   ];
 
   checkInputs = [ pytestCheckHook mock ];
diff --git a/pkgs/development/python-modules/pymbolic/default.nix b/pkgs/development/python-modules/pymbolic/default.nix
index 4faf04d289e..9d6d799fc32 100644
--- a/pkgs/development/python-modules/pymbolic/default.nix
+++ b/pkgs/development/python-modules/pymbolic/default.nix
@@ -1,43 +1,32 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, matchpy
 , pytools
-, pytest
-, six
-, sympy
-, pexpect
-, symengine
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pymbolic";
-  version = "2021.1";
+  version = "2022.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "67d08ef95568408901e59f79591ba41fd3f2caaecb42b7497c38fc82fd60358c";
+    sha256 = "sha256-tS9FHdC5gD4D3jMgrzt85XIwcAYcbSMcACFvbaQlkBI=";
   };
 
-  postConfigure = ''
-    substituteInPlace setup.py \
-      --replace "\"pytest>=2.3\"," ""
-  '';
-
-  checkInputs = [ sympy pexpect symengine pytest ];
   propagatedBuildInputs = [
     pytools
-    six
   ];
 
-  # too many tests fail
-  doCheck = false;
-  checkPhase = ''
-    pytest test
-  '';
+  checkInputs = [
+    matchpy
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "A package for symbolic computation";
-    homepage = "https://mathema.tician.de/software/pymbolic";
+    homepage = "https://documen.tician.de/pymbolic/";
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/pyrainbird/default.nix b/pkgs/development/python-modules/pyrainbird/default.nix
new file mode 100644
index 00000000000..74f0ed630a2
--- /dev/null
+++ b/pkgs/development/python-modules/pyrainbird/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, parameterized
+, pycryptodome
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, requests
+, responses
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "pyrainbird";
+  version = "0.4.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "jbarrancos";
+    repo = pname;
+    rev = version;
+    hash = "sha256-uRHknWvoPKPu3B5MbSEUlWqBKwAbNMwsgXuf6PZxhkU=";
+  };
+
+  propagatedBuildInputs = [
+    pycryptodome
+    pyyaml
+    requests
+    setuptools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    parameterized
+    responses
+  ];
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "datetime" ""
+    substituteInPlace pytest.ini \
+      --replace "--cov=pyrainbird --cov-report=term-missing --pep8 --flakes --mccabe" ""
+  '';
+
+  pythonImportsCheck = [
+    "pyrainbird"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Rainbird controllers";
+    homepage = "https://github.com/jbarrancos/pyrainbird/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyrogram/default.nix b/pkgs/development/python-modules/pyrogram/default.nix
index 6a2ce2af05e..0c34eb375bb 100644
--- a/pkgs/development/python-modules/pyrogram/default.nix
+++ b/pkgs/development/python-modules/pyrogram/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pyrogram";
-  version = "2.0.16";
+  version = "2.0.17";
 
   disabled = pythonOlder "3.7";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "pyrogram";
     repo = "pyrogram";
     rev = "v${version}";
-    hash = "sha256-uRGLk8XTHimKtkVjPPe2ohTPv3UiaxmkRywQY4iPHyg=";
+    hash = "sha256-MzbZVG6/+YirgKsfrsSaT6jS0fTq/TBhlduZzgQKU+M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pysnow/default.nix b/pkgs/development/python-modules/pysnow/default.nix
index 5baa9e90321..36e45d9d869 100644
--- a/pkgs/development/python-modules/pysnow/default.nix
+++ b/pkgs/development/python-modules/pysnow/default.nix
@@ -6,7 +6,7 @@
 , httpretty
 , ijson
 , poetry-core
-, python_magic
+, python-magic
 , pytz
 , pytestCheckHook
 , requests-oauthlib
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     brotli
     ijson
-    python_magic
+    python-magic
     pytz
     requests-oauthlib
   ];
diff --git a/pkgs/development/python-modules/python-engineio/default.nix b/pkgs/development/python-modules/python-engineio/default.nix
index da929638757..9ddbc92125f 100644
--- a/pkgs/development/python-modules/python-engineio/default.nix
+++ b/pkgs/development/python-modules/python-engineio/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "python-engineio";
-  version = "4.3.1";
+  version = "4.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "python-engineio";
     rev = "v${version}";
-    sha256 = "sha256-8595zivZmff0agFiQd5Qyd/T3BDxYcsb4RjA5AWXVNM=";
+    sha256 = "sha256-RXIFfd4eeRLaDPe6+8jhIN2TI1yz/uDfnvWT95euaIo=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/python-lsp-black/default.nix b/pkgs/development/python-modules/python-lsp-black/default.nix
index dbd51166a22..ee66ea262c6 100644
--- a/pkgs/development/python-modules/python-lsp-black/default.nix
+++ b/pkgs/development/python-modules/python-lsp-black/default.nix
@@ -1,27 +1,28 @@
 { lib
-, black
+, pythonOlder
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, black
 , python-lsp-server
-, pythonOlder
+, toml
 }:
 
 buildPythonPackage rec {
   pname = "python-lsp-black";
-  version = "1.1.0";
+  version = "1.2.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "python-lsp";
     repo = "python-lsp-black";
     rev = "v${version}";
-    sha256 = "sha256-WIQf1oz3b1PLIcXfQsu4hQ58nfp7l3J7zkcWNT6RbUY=";
+    sha256 = "sha256-qNA6Bj1VI0YEtRuvcMQZGWakQNNrJ2PqhozrLmQHPAg=";
   };
 
   checkInputs = [ pytestCheckHook ];
 
-  propagatedBuildInputs = [ black python-lsp-server ];
+  propagatedBuildInputs = [ black python-lsp-server toml ];
 
   meta = with lib; {
     homepage = "https://github.com/python-lsp/python-lsp-black";
diff --git a/pkgs/development/python-modules/python-lsp-server/default.nix b/pkgs/development/python-modules/python-lsp-server/default.nix
index 31352435165..aeb2d756779 100644
--- a/pkgs/development/python-modules/python-lsp-server/default.nix
+++ b/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -20,6 +20,7 @@
 , pythonOlder
 , rope
 , setuptools
+, setuptools-scm
 , stdenv
 , ujson
 , yapf
@@ -36,7 +37,8 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-server";
-  version = "1.3.3";
+  version = "1.4.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -44,13 +46,18 @@ buildPythonPackage rec {
     owner = "python-lsp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-F8f9NAjPWkm01D/KwFH0oA6nQ3EF4ZVCCckZTL4A35Y=";
+    sha256 = "sha256-rEfjxHw2NIVIa8RepxLPiXkRFhcGWLzm6w43n60zkFE=";
   };
 
   postPatch = ''
     substituteInPlace setup.cfg \
       --replace "--cov-report html --cov-report term --junitxml=pytest.xml" "" \
-      --replace "--cov pylsp --cov test" ""
+      --replace "--cov pylsp --cov test" "" \
+      --replace "mccabe>=0.6.0,<0.7.0" "mccabe"
+  '';
+
+  preBuild = ''
+    export SETUPTOOLS_SCM_PRETEND_VERSION=${version}
   '';
 
   propagatedBuildInputs = [
@@ -58,6 +65,7 @@ buildPythonPackage rec {
     pluggy
     python-lsp-jsonrpc
     setuptools
+    setuptools-scm
     ujson
   ] ++ lib.optional withAutopep8 autopep8
   ++ lib.optional withFlake8 flake8
@@ -79,10 +87,7 @@ buildPythonPackage rec {
   # pyqt5 is broken on aarch64-darwin
   ++ lib.optionals (!stdenv.isDarwin || !stdenv.isAarch64) [ pyqt5 ];
 
-  disabledTests = [
-    # pytlint output changed
-    "test_lint_free_pylint"
-  ] ++ lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config"
+  disabledTests = lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config"
   # pyqt5 is broken on aarch64-darwin
   ++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) "test_pyqt_completion";
 
diff --git a/pkgs/development/python-modules/python-magic/default.nix b/pkgs/development/python-modules/python-magic/default.nix
index 381ea671384..a9fa50a11c6 100644
--- a/pkgs/development/python-modules/python-magic/default.nix
+++ b/pkgs/development/python-modules/python-magic/default.nix
@@ -36,6 +36,6 @@ buildPythonPackage rec {
     description = "A python interface to the libmagic file type identification library";
     homepage = "https://github.com/ahupp/python-magic";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/python-memcached/default.nix b/pkgs/development/python-modules/python-memcached/default.nix
new file mode 100644
index 00000000000..1f69062a64e
--- /dev/null
+++ b/pkgs/development/python-modules/python-memcached/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, six
+, mock
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "python-memcached";
+  version = "1.59";
+
+  src = fetchFromGitHub {
+    owner = "linsomniac";
+    repo = "python-memcached";
+    rev = version;
+    hash = "sha256-tHqkwNloPTXOrEGtuDLu1cTw4SKJ4auv8UUbqdNp698=";
+  };
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  # all tests fail
+  doCheck = false;
+
+  pythonImportsCheck = [ "memcache" ];
+
+  meta = with lib; {
+    description = "Pure python memcached client";
+    homepage = "https://github.com/linsomniac/python-memcached";
+    license = licenses.psfl;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-socketio/default.nix b/pkgs/development/python-modules/python-socketio/default.nix
index e41942317f9..2e35def2710 100644
--- a/pkgs/development/python-modules/python-socketio/default.nix
+++ b/pkgs/development/python-modules/python-socketio/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "python-socketio";
-  version = "5.5.2";
+  version = "5.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "python-socketio";
     rev = "v${version}";
-    sha256 = "sha256-ZTjh9gtnJwFG2qWH6FBrvLHKsEuTjkcKL6j6Mdos6zo=";
+    sha256 = "sha256-zsTSz2RHtr4LqqPCkvHcaAw7RvfkHTNDm83OS+SgMUU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-trovo/default.nix b/pkgs/development/python-modules/python-trovo/default.nix
index d7fa18cfba3..b2f58f99f64 100644
--- a/pkgs/development/python-modules/python-trovo/default.nix
+++ b/pkgs/development/python-modules/python-trovo/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "python-trovo";
-  version = "0.1.5";
+  version = "0.1.6";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-JUJax9nk4NqpMMrbDmQhcy22GIqPha+K4tudQ98PvlE=";
+    sha256 = "sha256-g1RDHSNGbGT1G2ej7A8WzyR17FaNPySfsAuKbHddmtQ=";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/pytube/default.nix b/pkgs/development/python-modules/pytube/default.nix
index d00d26f1bae..c9ee34c05c6 100644
--- a/pkgs/development/python-modules/pytube/default.nix
+++ b/pkgs/development/python-modules/pytube/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pytube";
-  version = "12.0.0";
+  version = "12.1.0";
 
   disabled = pythonOlder "3.6";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "pytube";
     repo = "pytube";
     rev = "v${version}";
-    hash = "sha256-1zoLd4J7aCR5omMpCZhlttWDu7mYyKCypH3JEB4VGXg=";
+    hash = "sha256-o4kfZLkEs+XYor2sS2lfuDZkPfHrB+rDoxroc4f55gc=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pyupgrade/default.nix b/pkgs/development/python-modules/pyupgrade/default.nix
index e2c48948b97..ffd7a89dbb0 100644
--- a/pkgs/development/python-modules/pyupgrade/default.nix
+++ b/pkgs/development/python-modules/pyupgrade/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyupgrade";
-  version = "2.32.0";
+  version = "2.32.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "asottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VSGi93R8O0LGKFBkWMclje64suOqq/Gf2vE2OHXLP5Q=";
+    sha256 = "sha256-fjahaMetgZaH+IzdyaZSkVbasgc0bqQL+1ae0OJriT0=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pyvesync/default.nix b/pkgs/development/python-modules/pyvesync/default.nix
index 45404c107fb..f1421e8c980 100644
--- a/pkgs/development/python-modules/pyvesync/default.nix
+++ b/pkgs/development/python-modules/pyvesync/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pyvesync";
-  version = "2.0.2";
+  version = "2.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-SsSzwuJvDbQ1AzF+q5bjOnFaR6M2UFixtlmk6sgjKOg=";
+    sha256 = "sha256-/hPDCqTeqEzxfqv8B5wdDzmzzNuXYqOVHX32N/J6nmU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index 799271371c7..509da93663d 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.1";
+  version = "9.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-b6LZJmAyxklvZxvane19dK/kQfbLPjkk29RydiWMZCY=";
+    hash = "sha256-jfquDFZylrrtYb3PbDmLDy7wHcvM8H2nIv4dRqRvY2U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyzerproc/default.nix b/pkgs/development/python-modules/pyzerproc/default.nix
index 7f726d8ae7f..bc90068e66e 100644
--- a/pkgs/development/python-modules/pyzerproc/default.nix
+++ b/pkgs/development/python-modules/pyzerproc/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pyzerproc";
-  version = "0.4.10";
+  version = "0.4.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "emlove";
     repo = pname;
     rev = version;
-    sha256 = "sha256-sfxyHpJzYYwxLsvfJpqI6cC/CKS7Jx0vXSLL3QD9qV4=";
+    sha256 = "sha256-FNiq/dbh5PMTxnKCKDSHEvllehAEUYvWZS+OyP3lSW8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/qnapstats/default.nix b/pkgs/development/python-modules/qnapstats/default.nix
new file mode 100644
index 00000000000..2eeb4e81d28
--- /dev/null
+++ b/pkgs/development/python-modules/qnapstats/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, xmltodict
+, responses
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "qnapstats";
+  version = "0.4.0";
+
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "colinodell";
+    repo = "python-qnapstats";
+    rev = version;
+    hash = "sha256-Tzi2QG1Xw12fLVfV49SPJKdz5VdJ4hQMuCHH8gxcOBE=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    xmltodict
+  ];
+
+  checkInputs = [
+    responses
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    ${python.interpreter} tests/test-models.py
+
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [ "qnapstats" ];
+
+  meta = {
+    description = "Python API for obtaining QNAP NAS system stats";
+    homepage = "https://github.com/colinodell/python-qnapstats";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/qstylizer/default.nix b/pkgs/development/python-modules/qstylizer/default.nix
new file mode 100644
index 00000000000..768e5f7d007
--- /dev/null
+++ b/pkgs/development/python-modules/qstylizer/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, inflection
+, pbr
+, tinycss2
+, pytestCheckHook
+, pytest-mock
+}:
+
+buildPythonPackage rec {
+  pname = "qstylizer";
+  version = "0.2.1";
+
+  src = fetchFromGitHub {
+    owner = "blambright";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-iEMxBpS9gOPubd9O8zpVmR5B7+UZJFkPuOtikO1a9v0=";
+  };
+
+  nativeBuildInputs = [
+    pbr
+  ];
+
+  propagatedBuildInputs = [
+    inflection
+    tinycss2
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-mock
+  ];
+
+  preBuild = ''
+    export PBR_VERSION=${version}
+  '';
+
+  meta = with lib; {
+    description = "Qt stylesheet generation utility for PyQt/PySide ";
+    homepage = "https://github.com/blambright/qstylizer";
+    license = licenses.mit;
+    maintainers = with maintainers; [ drewrisinger ];
+  };
+}
diff --git a/pkgs/development/python-modules/raincloudy/default.nix b/pkgs/development/python-modules/raincloudy/default.nix
new file mode 100644
index 00000000000..860f9461e44
--- /dev/null
+++ b/pkgs/development/python-modules/raincloudy/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, beautifulsoup4
+, buildPythonPackage
+, fetchFromGitHub
+, html5lib
+, pytestCheckHook
+, pythonOlder
+, requests
+, requests-mock
+, urllib3
+}:
+
+buildPythonPackage rec {
+  pname = "raincloudy";
+  version = "1.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "vanstinator";
+    repo = pname;
+    rev = version;
+    hash = "sha256-c6tux0DZY56a4BpuiMXtaqm8+JKNDiyMxrFUju3cp2Y=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    beautifulsoup4
+    urllib3
+    html5lib
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    requests-mock
+  ];
+
+  postPatch = ''
+    # https://github.com/vanstinator/raincloudy/pull/60
+    substituteInPlace setup.py \
+      --replace "bs4" "beautifulsoup4" \
+      --replace "html5lib==1.0.1" "html5lib"
+  '';
+
+  pythonImportsCheck = [
+    "raincloudy"
+  ];
+
+  disabledTests = [
+    # Test requires network access
+    "test_attributes"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Melnor RainCloud Smart Garden Watering Irrigation Timer";
+    homepage = "https://github.com/vanstinator/raincloudy";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/relatorio/default.nix b/pkgs/development/python-modules/relatorio/default.nix
index 597eb37c756..86e53cde95d 100644
--- a/pkgs/development/python-modules/relatorio/default.nix
+++ b/pkgs/development/python-modules/relatorio/default.nix
@@ -1,24 +1,48 @@
-{ lib, fetchPypi, buildPythonPackage, genshi, lxml, python_magic }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, genshi
+, lxml
+, pyyaml
+, python-magic
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "relatorio";
-  version = "0.10.0";
+  version = "0.10.1";
+
+  disabled = pythonOlder "3.5";
+
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6b9390eab696bdf569639ff58794fb9ef8ff19f94feea5b505a6ba06d0cfd026";
+    sha256 = "a0c72302d50d5dfa433ddab191672eec1dde1c6ed26330a378b720e5a3012e23";
   };
 
   propagatedBuildInputs = [
     genshi
     lxml
-    python_magic
   ];
 
+  passthru.extras-require = {
+    chart = [ /* pycha */ pyyaml ];
+    fodt = [ python-magic ];
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ] ++ passthru.extras-require.fodt;
+
+  pythonImportsCheck = [ "relatorio" ];
+
   meta = {
     homepage = "https://relatorio.tryton.org/";
+    changelog = "https://hg.tryton.org/relatorio/file/${version}/CHANGELOG";
     description = "A templating library able to output odt and pdf files";
     maintainers = with lib.maintainers; [ johbo ];
-    license = lib.licenses.gpl3;
+    license = lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/python-modules/requests-aws4auth/default.nix b/pkgs/development/python-modules/requests-aws4auth/default.nix
index d2de7dff212..c38309f6d8d 100644
--- a/pkgs/development/python-modules/requests-aws4auth/default.nix
+++ b/pkgs/development/python-modules/requests-aws4auth/default.nix
@@ -24,14 +24,17 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    httpx
     requests
     six
   ];
 
+  passthru.extras-require = {
+    httpx = [ httpx ];
+  };
+
   checkInputs = [
     pytestCheckHook
-  ];
+  ] ++ passthru.extras-require.httpx;
 
   pythonImportsCheck = [
     "requests_aws4auth"
diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix
index addc12b3637..4def2f46317 100644
--- a/pkgs/development/python-modules/rich/default.nix
+++ b/pkgs/development/python-modules/rich/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "rich";
-  version = "12.2.0";
+  version = "12.3.0";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Textualize";
     repo = pname;
     rev = "v${version}";
-    sha256 = "02zypmnc9sijlipki0riywh82piamd3hlrl5xbg2bxlldnlnwx1d";
+    sha256 = "sha256-/BPJcFjUldbTa/M3i9jGGU7apbrTcWbF+yrrFuLXcHY=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/scancode-toolkit/default.nix b/pkgs/development/python-modules/scancode-toolkit/default.nix
index a5fdf3d547e..2c12019e9ac 100644
--- a/pkgs/development/python-modules/scancode-toolkit/default.nix
+++ b/pkgs/development/python-modules/scancode-toolkit/default.nix
@@ -64,7 +64,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-UYQf+cBi2FmyZxIbQJo7vLjPuoePIMC8FugvoG1Ebj0=";
+    hash = "sha256-UYQf+cBi2FmyZxIbQJo7vLjPuoePIMC8FugvoG1Ebj0=";
   };
 
   dontConfigure = true;
@@ -134,7 +134,8 @@ buildPythonPackage rec {
       --replace "pdfminer.six >= 20200101" "pdfminer.six" \
       --replace "pluggy >= 0.12.0, < 1.0" "pluggy" \
       --replace "pygmars >= 0.7.0" "pygmars" \
-      --replace "license_expression >= 21.6.14" "license_expression"
+      --replace "license_expression >= 21.6.14" "license_expression" \
+      --replace "intbitset >= 2.3.0,  < 3.0" "intbitset"
   '';
 
   # Importing scancode needs a writeable home, and preCheck happens in between
diff --git a/pkgs/development/python-modules/scrapy/default.nix b/pkgs/development/python-modules/scrapy/default.nix
index 073059aec62..70feaa7108e 100644
--- a/pkgs/development/python-modules/scrapy/default.nix
+++ b/pkgs/development/python-modules/scrapy/default.nix
@@ -31,6 +31,8 @@
 buildPythonPackage rec {
   pname = "scrapy";
   version = "2.6.1";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
@@ -92,6 +94,7 @@ buildPythonPackage rec {
     "test_nested_xpath"
     "test_flavor_detection"
     # Requires network access
+    "AnonymousFTPTestCase"
     "FTPFeedStorageTest"
     "FeedExportTest"
     "test_custom_asyncio_loop_enabled_true"
@@ -99,6 +102,7 @@ buildPythonPackage rec {
     "test_custom_loop_asyncio_deferred_signal"
     "FileFeedStoragePreFeedOptionsTest"  # https://github.com/scrapy/scrapy/issues/5157
     "test_timeout_download_from_spider_nodata_rcvd"
+    "test_timeout_download_from_spider_server_hangs"
     # Fails with AssertionError
     "test_peek_fifo"
     "test_peek_one_element"
diff --git a/pkgs/development/python-modules/sdds/default.nix b/pkgs/development/python-modules/sdds/default.nix
new file mode 100644
index 00000000000..3003dddce6d
--- /dev/null
+++ b/pkgs/development/python-modules/sdds/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "sdds";
+  version = "0.2.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "pylhc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-JcxcF0tDigZz3upzE7rPDynCH45dnLk/zpS0a2dOwRU=";
+  };
+
+  propagatedBuildInputs = [ numpy ];
+
+  pythonImportsCheck = [ "sdds" ];
+  checkInputs = [ pytestCheckHook ];
+
+  meta = with lib; {
+    description = "Python 3 package to handle SDDS files";
+    homepage = "https://pylhc.github.io/sdds/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/development/python-modules/setupmeta/default.nix b/pkgs/development/python-modules/setupmeta/default.nix
index d24c8263e9a..298a2a8915d 100644
--- a/pkgs/development/python-modules/setupmeta/default.nix
+++ b/pkgs/development/python-modules/setupmeta/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "setupmeta";
-  version = "3.3.0";
+  version = "3.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "codrsquad";
     repo = pname;
     rev = "v${version}";
-    sha256 = "21hABRiY8CTKkpFjePgBAtjs4/G5eFS3aPNMCBC41CY=";
+    sha256 = "sha256-3QUI3AjouuGa9sWXH97GSvpimVsws3q5Xgq6lls/wBU=";
   };
 
   preBuild = ''
diff --git a/pkgs/development/python-modules/setuptools-rust/default.nix b/pkgs/development/python-modules/setuptools-rust/default.nix
index 24c60839fe0..10f46fecf6f 100644
--- a/pkgs/development/python-modules/setuptools-rust/default.nix
+++ b/pkgs/development/python-modules/setuptools-rust/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "setuptools-rust";
-  version = "1.2.0";
+  version = "1.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-CkraR56Mfj2L18tW4aKazCsruYwjJQUbDNy1fX8Fbeg=";
+    sha256 = "sha256-lYxb9Ktkg9Wdq4iFOBIYccxQBjVKQvsPvVCs8Dyq0d4=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/snapcast/default.nix b/pkgs/development/python-modules/snapcast/default.nix
index 95d162b7f32..7e7491fe8b6 100644
--- a/pkgs/development/python-modules/snapcast/default.nix
+++ b/pkgs/development/python-modules/snapcast/default.nix
@@ -2,20 +2,22 @@
 , buildPythonPackage
 , construct
 , fetchFromGitHub
-, isPy3k
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "snapcast";
-  version = "2.1.3";
-  disabled = !isPy3k;
+  version = "2.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "happyleavesaoc";
     repo = "python-snapcast";
-    rev = version;
-    sha256 = "1jigdccdd7bffszim942mxcwxyznfjx7y3r5yklz3psl7zgbzd6c";
+    rev = "refs/tags/${version}";
+    hash = "sha256-H41X5bfRRu+uE7eUsmUkONm6hugNs43+O7MvVPH0e+8=";
   };
 
   propagatedBuildInputs = [
@@ -26,7 +28,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "snapcast" ];
+  pythonImportsCheck = [
+    "snapcast"
+  ];
 
   meta = with lib; {
     description = "Control Snapcast, a multi-room synchronous audio solution";
diff --git a/pkgs/development/python-modules/spglib/default.nix b/pkgs/development/python-modules/spglib/default.nix
index a54fa65d08b..d317f11dea4 100644
--- a/pkgs/development/python-modules/spglib/default.nix
+++ b/pkgs/development/python-modules/spglib/default.nix
@@ -1,23 +1,31 @@
-{ lib, buildPythonPackage, fetchPypi, numpy, nose, pyyaml }:
+{ lib, buildPythonPackage, fetchPypi, numpy, pytest, pyyaml }:
 
 buildPythonPackage rec {
   pname = "spglib";
-  version = "1.16.3";
+  version = "1.16.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff1420967d64c2d4f0d747886116a6836d9b473454cdd73d560dbfe973a8a038";
+    sha256 = "sha256-Lqzv1TzGRLqakMRoH9bJNLa92BjBE9fzGZBOB41dq5M=";
   };
 
   propagatedBuildInputs = [ numpy ];
 
-  checkInputs = [ nose pyyaml ];
+  checkInputs = [ pytest pyyaml ];
+
+  # pytestCheckHook doesn't work
+  # ImportError: cannot import name '_spglib' from partially initialized module 'spglib'
+  checkPhase = ''
+    pytest
+  '';
+
+  pythonImportsCheck = [ "spglib" ];
 
   meta = with lib; {
     description = "Python bindings for C library for finding and handling crystal symmetries";
-    homepage = "https://atztogo.github.io/spglib";
+    homepage = "https://spglib.github.io/spglib/";
+    changelog = "https://github.com/spglib/spglib/raw/v${version}/ChangeLog";
     license = licenses.bsd3;
     maintainers = with maintainers; [ psyanticy ];
   };
 }
-
diff --git a/pkgs/development/python-modules/spyder-kernels/default.nix b/pkgs/development/python-modules/spyder-kernels/default.nix
index 95d54e40447..2d4328ba3e1 100644
--- a/pkgs/development/python-modules/spyder-kernels/default.nix
+++ b/pkgs/development/python-modules/spyder-kernels/default.nix
@@ -18,6 +18,10 @@ buildPythonPackage rec {
     pyzmq
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py --replace "ipython>=7.31.1,<8" "ipython"
+  '';
+
   # No tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/spyder/default.nix b/pkgs/development/python-modules/spyder/default.nix
index c117cb4990f..eaca9e6c7f4 100644
--- a/pkgs/development/python-modules/spyder/default.nix
+++ b/pkgs/development/python-modules/spyder/default.nix
@@ -1,16 +1,54 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27, makeDesktopItem, intervaltree,
-  jedi, pycodestyle, psutil, rope, numpy, scipy, matplotlib, pylint,
-  keyring, numpydoc, qtconsole, qtawesome, nbconvert, mccabe, pyopengl,
-  cloudpickle, pygments, spyder-kernels, qtpy, pyzmq, chardet, qdarkstyle,
-  watchdog, python-language-server, pyqtwebengine, atomicwrites, pyxdg,
-  diff-match-patch, three-merge, pyls-black, pyls-spyder, flake8, textdistance
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, makeDesktopItem
+, atomicwrites
+, chardet
+, cloudpickle
+, cookiecutter
+, diff-match-patch
+, flake8
+, intervaltree
+, jedi
+, jellyfish
+, keyring
+, matplotlib
+, mccabe
+, nbconvert
+, numpy
+, numpydoc
+, psutil
+, pygments
+, pylint
+, pyls-spyder
+, pyopengl
+, pyqtwebengine
+, python-lsp-black
+, python-lsp-server
+, pyxdg
+, pyzmq
+, pycodestyle
+, qdarkstyle
+, qstylizer
+, qtawesome
+, qtconsole
+, qtpy
+, rope
+, Rtree
+, scipy
+, spyder-kernels
+, textdistance
+, three-merge
+, watchdog
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "spyder";
   version = "5.3.0";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
@@ -20,11 +58,44 @@ buildPythonPackage rec {
   nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
 
   propagatedBuildInputs = [
-    intervaltree jedi pycodestyle psutil rope numpy scipy matplotlib pylint keyring
-    numpydoc qtconsole qtawesome nbconvert mccabe pyopengl cloudpickle spyder-kernels
-    pygments qtpy pyzmq chardet pyqtwebengine qdarkstyle watchdog python-language-server
-    atomicwrites pyxdg diff-match-patch three-merge pyls-black pyls-spyder
-    flake8 textdistance
+    atomicwrites
+    chardet
+    cloudpickle
+    cookiecutter
+    diff-match-patch
+    flake8
+    intervaltree
+    jedi
+    jellyfish
+    keyring
+    matplotlib
+    mccabe
+    nbconvert
+    numpy
+    numpydoc
+    psutil
+    pygments
+    pylint
+    pyls-spyder
+    pyopengl
+    pyqtwebengine
+    python-lsp-black
+    python-lsp-server
+    pyxdg
+    pyzmq
+    pycodestyle
+    qdarkstyle
+    qstylizer
+    qtawesome
+    qtconsole
+    qtpy
+    rope
+    Rtree
+    scipy
+    spyder-kernels
+    textdistance
+    three-merge
+    watchdog
   ];
 
   # There is no test for spyder
@@ -44,13 +115,8 @@ buildPythonPackage rec {
     # remove dependency on pyqtwebengine
     # this is still part of the pyqt 5.11 version we have in nixpkgs
     sed -i /pyqtwebengine/d setup.py
-    # The major version bump in watchdog is due to changes in supported
-    # platforms, not API break.
-    # https://github.com/gorakhargosh/watchdog/issues/761#issuecomment-777001518
     substituteInPlace setup.py \
-      --replace "pyqt5<5.13" "pyqt5" \
-      --replace "parso==0.7.0" "parso" \
-      --replace "watchdog>=0.10.3,<2.0.0" "watchdog>=0.10.3,<3.0.0"
+      --replace "ipython>=7.31.1,<8.0.0" "ipython"
   '';
 
   postInstall = ''
diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix
index b3621802a09..d7f07eea073 100644
--- a/pkgs/development/python-modules/sqlite-utils/default.nix
+++ b/pkgs/development/python-modules/sqlite-utils/default.nix
@@ -14,16 +14,21 @@
 
 buildPythonPackage rec {
   pname = "sqlite-utils";
-  version = "3.26";
+  version = "3.26.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-G2Fy9PEYtq0dIWhsgV4HZa5y+wLxcI3CYSgDL6ijkdo=";
+    hash = "sha256-GK/036zijOSi9IWZSFifXrexY8dyo6cfwWyaF06x82c=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "click-default-group-wheel" "click-default-group"
+  '';
+
   propagatedBuildInputs = [
     click
     click-default-group
@@ -45,6 +50,6 @@ buildPythonPackage rec {
     description = "Python CLI utility and library for manipulating SQLite databases";
     homepage = "https://github.com/simonw/sqlite-utils";
     license = licenses.asl20;
-    maintainers = with maintainers; [ meatcar ];
+    maintainers = with maintainers; [ meatcar techknowlogick ];
   };
 }
diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix
index c49dd79679d..b47f3917b92 100644
--- a/pkgs/development/python-modules/stripe/default.nix
+++ b/pkgs/development/python-modules/stripe/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "2.75.0";
+  version = "2.76.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iAjXsbeX+vZW8FtaJRIB5lR3EEkDUU/dPpLpdHSxLME=";
+    hash = "sha256-/T/Gk1w7YYmWcZFge2846+SQAFpZC00NQ/vjq6Rd7Kg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/testtools/default.nix b/pkgs/development/python-modules/testtools/default.nix
index 84900ad5477..430d0374ef2 100644
--- a/pkgs/development/python-modules/testtools/default.nix
+++ b/pkgs/development/python-modules/testtools/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonRelaxDepsHook
 , pbr
 , python-mimeparse
 , extras
@@ -20,15 +21,13 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ pbr python-mimeparse extras ];
   buildInputs = [ traceback2 ];
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
 
   # testscenarios has a circular dependency on testtools
   doCheck = false;
   checkInputs = [ testscenarios ];
 
-  # testtools 2.0.0 and up has a circular run-time dependency on futures
-  postPatch = ''
-    substituteInPlace requirements.txt --replace "fixtures>=1.3.0" ""
-  '';
+  pythonRemoveDeps = [ "fixtures" ];
 
   meta = {
     description = "A set of extensions to the Python standard library's unit testing framework";
diff --git a/pkgs/development/python-modules/tldextract/default.nix b/pkgs/development/python-modules/tldextract/default.nix
index 139f58660c4..fe32af26713 100644
--- a/pkgs/development/python-modules/tldextract/default.nix
+++ b/pkgs/development/python-modules/tldextract/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname   = "tldextract";
-  version = "3.2.1";
+  version = "3.3.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-rJMEzfgLCcN+6pZXmeDZrAqhzLZTH65Uiqvgm68aJUk=";
+    hash = "sha256-rc0kq/Ic40UEF81aAPI7fldVTOiugnM03RK/y7YnTPE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/total-connect-client/default.nix b/pkgs/development/python-modules/total-connect-client/default.nix
index 24d2093a59d..2f093200bf3 100644
--- a/pkgs/development/python-modules/total-connect-client/default.nix
+++ b/pkgs/development/python-modules/total-connect-client/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "total-connect-client";
-  version = "2022.3";
+  version = "2022.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "craigjmidwinter";
     repo = "total-connect-client";
     rev = version;
-    hash = "sha256-KfJFU85yQmBZn4f0ljnaiy/DjHMOuNi+Q7nb8yCpKVk=";
+    hash = "sha256-S+xki1Bj+wvKhbl2vRRa8gULyxTsH4fyypkrHj3JwH0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/treq/default.nix b/pkgs/development/python-modules/treq/default.nix
index f566fda6f8a..1902a578ec2 100644
--- a/pkgs/development/python-modules/treq/default.nix
+++ b/pkgs/development/python-modules/treq/default.nix
@@ -1,5 +1,10 @@
-{ lib, fetchPypi, buildPythonPackage, service-identity, requests, six
-, mock, twisted, incremental, pep8, httpbin
+{ lib
+, fetchPypi
+, buildPythonPackage
+, requests
+, twisted
+, incremental
+, httpbin
 }:
 
 buildPythonPackage rec {
@@ -13,44 +18,23 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     requests
-    six
     incremental
-    service-identity
     twisted
-  ]
-    # twisted [tls] requirements (we should find a way to list "extras")
-    ++ twisted.extras.tls;
+  ] ++ twisted.extras-require.tls;
 
   checkInputs = [
-    pep8
-    mock
     httpbin
+    twisted
   ];
 
-  postPatch = ''
-    rm -fv src/treq/test/test_treq_integration.py
-  '';
-
-  # XXX tox tries to install coverage despite it is installed
-  #postBuild = ''
-  #  # build documentation and install in $out
-  #  tox -e docs
-  #  mkdir -pv $out/docs
-  #  cp -rv docs/* $out/docs/
-  #'';
-
   checkPhase = ''
-    pep8 --ignore=E902 treq
     trial treq
   '';
 
-  # Failing tests https://github.com/twisted/treq/issues/208
-  doCheck = false;
-
   meta = with lib; {
     homepage = "https://github.com/twisted/treq";
-    description = "A requests-like API built on top of twisted.web's Agent";
+    description = "Requests-like API built on top of twisted.web's Agent";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix
index c3a6a4af9e5..315678b874e 100644
--- a/pkgs/development/python-modules/trimesh/default.nix
+++ b/pkgs/development/python-modules/trimesh/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "3.11.2";
+  version = "3.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-7booFScN2qNqldPdBmxH1pTUz2+u7JMmPmX0tJojaeI=";
+    sha256 = "sha256-RcRFF5vIMOQsPXbd2g8DSnOrWnpLLNe3Sa8PqAdwFvU=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/trytond/default.nix b/pkgs/development/python-modules/trytond/default.nix
index c2509c662d3..431342cf02d 100644
--- a/pkgs/development/python-modules/trytond/default.nix
+++ b/pkgs/development/python-modules/trytond/default.nix
@@ -1,9 +1,8 @@
 { lib
-, buildPythonApplication
-, fetchpatch
+, buildPythonPackage
 , fetchPypi
 , pythonOlder
-, mock
+, defusedxml
 , lxml
 , relatorio
 , genshi
@@ -13,44 +12,30 @@
 , werkzeug
 , wrapt
 , passlib
-, pillow
-, bcrypt
 , pydot
 , python-Levenshtein
-, simplejson
 , html2text
-, psycopg2
-, withPostgresql ? true
+, weasyprint
+, gevent
+, pillow
+, withPostgresql ? true, psycopg2
+, python
 }:
 
-buildPythonApplication rec {
+buildPythonPackage rec {
   pname = "trytond";
-  version = "6.2.6";
+  version = "6.4.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Sof6A9lxU70YnCbboJr56CAdTL0cRbaRNxdvG5Tnqnw=";
+    sha256 = "3c04d75c2a779b88b8c7ab6dd252cf4fc51f9546bf42760d10dbd1a17f61b288";
   };
 
-  patches = [
-    (fetchpatch {
-      # werkzeug 2.1 compatibility for the tests
-      url = "https://github.com/tryton/trytond/commit/86a50ca06cf0d79404dbd731141ed29f8e9fcb9d.patch";
-      hash = "sha256-xY5Sdhkd0lEgscV7NHwX2YWxobWqQFElY5BJvDT+we8=";
-    })
-  ];
-
-  # Tells the tests which database to use
-  DB_NAME = ":memory:";
-
-  buildInputs = [
-    mock
-  ];
-
   propagatedBuildInputs = [
+    defusedxml
     lxml
     relatorio
     genshi
@@ -59,20 +44,29 @@ buildPythonApplication rec {
     python-sql
     werkzeug
     wrapt
-    pillow
     passlib
 
     # extra dependencies
-    bcrypt
     pydot
     python-Levenshtein
-    simplejson
     html2text
-  ] ++ lib.optional withPostgresql psycopg2;
+    weasyprint
+    gevent
+    pillow
+  ] ++ relatorio.extras-require.fodt
+    ++ passlib.extras-require.bcrypt
+    ++ passlib.extras-require.argon2
+    ++ lib.optional withPostgresql psycopg2;
+
+  checkPhase = ''
+    runHook preCheck
 
-  # If unset, trytond will try to mkdir /homeless-shelter
-  preCheck = ''
     export HOME=$(mktemp -d)
+    export TRYTOND_DATABASE_URI="sqlite://"
+    export DB_NAME=":memory:";
+    ${python.interpreter} -m unittest discover -s trytond.tests
+
+    runHook postCheck
   '';
 
   meta = with lib; {
@@ -86,6 +80,7 @@ buildPythonApplication rec {
       modularity, scalability and security.
     '';
     homepage = "http://www.tryton.org/";
+    changelog = "https://hg.tryton.org/trytond/file/${version}/CHANGELOG";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ udono johbo ];
   };
diff --git a/pkgs/development/python-modules/ttp-templates/default.nix b/pkgs/development/python-modules/ttp-templates/default.nix
new file mode 100644
index 00000000000..46db94782be
--- /dev/null
+++ b/pkgs/development/python-modules/ttp-templates/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, netmiko
+, pytestCheckHook
+, python
+, pythonOlder
+, ttp
+}:
+
+buildPythonPackage rec {
+  pname = "ttp-templates";
+  version = "0.1.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "dmulyalin";
+    repo = "ttp_templates";
+    rev = version;
+    hash = "sha256-Qx+z/srYgD67FjXzYrc8xtA99n8shWK7yWj/r/ETN2U=";
+  };
+
+  propagatedBuildInputs = [
+    ttp
+  ];
+
+  checkInputs = [
+    netmiko
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "ttp_templates"
+  ];
+
+  pytestFlagsArray = [
+    # The other tests requires data which is no part of the source
+    "test/test_ttp_templates_methods.py"
+    "test/test_yang_openconfig_lldp.py"
+  ];
+
+  meta = with lib; {
+    description = "Template Text Parser Templates collections";
+    homepage = "https://github.com/dmulyalin/ttp_templates";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/tweepy/default.nix b/pkgs/development/python-modules/tweepy/default.nix
index a2c815b45e2..bcb6fbd3b06 100644
--- a/pkgs/development/python-modules/tweepy/default.nix
+++ b/pkgs/development/python-modules/tweepy/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "tweepy";
-  version = "4.8.0";
+  version = "4.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,8 +20,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-RaM2JN2WOHyZY+AxzgQLvhXg6UnevDbSFSR4jFLsYrc=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-BMRRunPRDW5J/7KU+pr2Uv9Qa6oHBwkA7tsGa5YdzLw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/twisted/default.nix b/pkgs/development/python-modules/twisted/default.nix
index 02a993fdf13..8bc03b1e5cf 100644
--- a/pkgs/development/python-modules/twisted/default.nix
+++ b/pkgs/development/python-modules/twisted/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , python
 , zope_interface
@@ -14,11 +15,24 @@
 , setuptools
 , idna
 , typing-extensions
+, pyasn1
+, cryptography
+, appdirs
+, bcrypt
+, pynacl
+, pyserial
+, h2
+, priority
+, contextvars
 }:
 buildPythonPackage rec {
   pname = "Twisted";
   version = "22.4.0";
 
+  disabled = pythonOlder "3.6";
+
+  format = "setuptools";
+
   src = fetchPypi {
     inherit pname version;
     extension = "tar.gz";
@@ -27,7 +41,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ zope_interface incremental automat constantly hyperlink pyhamcrest attrs setuptools typing-extensions ];
 
-  passthru.extras.tls = [ pyopenssl service-identity idna ];
+  passthru.extras-require = rec {
+    tls = [ pyopenssl service-identity idna ];
+    conch = [ pyasn1 cryptography appdirs bcrypt ];
+    conch_nacl = conch ++ [ pynacl ];
+    serial = [ pyserial ];
+    http2 = [ h2 priority ];
+    contextvars = lib.optionals (pythonOlder "3.7") [ contextvars ];
+  };
 
   # Patch t.p._inotify to point to libc. Without this,
   # twisted.python.runtime.platform.supportsINotify() == False
diff --git a/pkgs/development/python-modules/txaio/default.nix b/pkgs/development/python-modules/txaio/default.nix
index 23c24f3e514..0aaffe34c2d 100644
--- a/pkgs/development/python-modules/txaio/default.nix
+++ b/pkgs/development/python-modules/txaio/default.nix
@@ -21,7 +21,6 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    six
     twisted
     zope_interface
   ];
diff --git a/pkgs/development/python-modules/txtorcon/default.nix b/pkgs/development/python-modules/txtorcon/default.nix
index 167e090fca0..7196e88e8dd 100644
--- a/pkgs/development/python-modules/txtorcon/default.nix
+++ b/pkgs/development/python-modules/txtorcon/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     incremental twisted automat zope_interface
-  ] ++ twisted.extras.tls
+  ] ++ twisted.extras-require.tls
   ++ lib.optionals (!isPy3k) [ ipaddress ];
 
   checkInputs = [ pytestCheckHook mock lsof GeoIP ];
diff --git a/pkgs/development/python-modules/types-dateutil/default.nix b/pkgs/development/python-modules/types-dateutil/default.nix
index 8e52c5b6e01..e8cf1edbde5 100644
--- a/pkgs/development/python-modules/types-dateutil/default.nix
+++ b/pkgs/development/python-modules/types-dateutil/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-python-dateutil";
-  version = "2.8.14";
+  version = "2.8.15";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Nnwf+hpSpLKlNMmzC0CwHyt/LqR6l/2CH2x20ceuMSk=";
+    sha256 = "sha256-fbHk7UkWvRKMvuPuze4OBsxWhNoqHN/Vf5hUHN++CGE=";
   };
 
   pythonImportsCheck = [ "dateutil-stubs" ];
diff --git a/pkgs/development/python-modules/types-pytz/default.nix b/pkgs/development/python-modules/types-pytz/default.nix
index d3ac7e4932b..bbbd7913018 100644
--- a/pkgs/development/python-modules/types-pytz/default.nix
+++ b/pkgs/development/python-modules/types-pytz/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-pytz";
-  version = "2021.3.7";
+  version = "2021.3.8";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-EdW6BiaBZ5U8zEo+7hksJLQtANKu9FbBYKh5iJPLIIE=";
+    sha256 = "sha256-QSU6OivwKLaj8XtYdJppLZVa8PdOl13pT29NLTzQHb0=";
   };
 
   # Modules doesn't have tests
diff --git a/pkgs/development/python-modules/types-tabulate/default.nix b/pkgs/development/python-modules/types-tabulate/default.nix
index 5da6ea01680..c8f49386543 100644
--- a/pkgs/development/python-modules/types-tabulate/default.nix
+++ b/pkgs/development/python-modules/types-tabulate/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "types-tabulate";
-  version = "0.8.8";
+  version = "0.8.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CzGcfhDdVh98FfVt7DR8MZP9hl9Ovl/x7LAg6vp5O8M=";
+    hash = "sha256-L8P6T+GFOsmHz1Do1FmeP+RG3VMGT+hqRqQHqY6fwE8=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-toml/default.nix b/pkgs/development/python-modules/types-toml/default.nix
index ed965cbb8c4..5b1482440ea 100644
--- a/pkgs/development/python-modules/types-toml/default.nix
+++ b/pkgs/development/python-modules/types-toml/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-toml";
-  version = "0.10.6";
+  version = "0.10.7";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-aus+17+oaTgVUcd07WqRQuPu2YqD76UQipYy6v1W3NM=";
+    sha256 = "sha256-pWf+JhSxd9U3rZmmYa3Jv8jFWkb5XmY3Ck7S3RcTNfk=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/ukrainealarm/default.nix b/pkgs/development/python-modules/ukrainealarm/default.nix
new file mode 100644
index 00000000000..00854ded316
--- /dev/null
+++ b/pkgs/development/python-modules/ukrainealarm/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# build time
+, setuptools-scm
+
+# propagates
+, aiohttp
+
+# tests
+, pytestCheckHook
+}:
+
+let
+  pname = "ukrainealarm";
+  version = "0.0.1";
+in
+
+buildPythonPackage {
+  inherit pname version;
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "PaulAnnekov";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-0gsxXQiSkJIM/I0VYsjdCCB3NjPr6QJbD/rBkGrwtW8=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "ukrainealarm"
+    "ukrainealarm.client"
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/PaulAnnekov/ukrainealarm/releases/tag/v${version}";
+    description = "Implements api.ukrainealarm.com API that returns info about Ukraine air raid alarms";
+    homepage = "https://github.com/PaulAnnekov/ukrainealarm";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/urwid/default.nix b/pkgs/development/python-modules/urwid/default.nix
index 3df7f6703a7..57e64ba97a8 100644
--- a/pkgs/development/python-modules/urwid/default.nix
+++ b/pkgs/development/python-modules/urwid/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , fetchPypi
 , isPy3k
-, isPy27
 , glibcLocales
 }:
 
@@ -11,8 +10,6 @@ buildPythonPackage rec {
   version = "2.1.2";
   format = "setuptools";
 
-  disabled = isPy27;
-
   src = fetchPypi {
     inherit pname version;
     sha256 = "588bee9c1cb208d0906a9f73c613d2bd32c3ed3702012f51efe318a3f2127eae";
@@ -33,6 +30,6 @@ buildPythonPackage rec {
     description = "A full-featured console (xterm et al.) user interface library";
     homepage = "https://urwid.org/";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix
index ef1e1d1198f..615b4e64aa4 100644
--- a/pkgs/development/python-modules/wandb/default.nix
+++ b/pkgs/development/python-modules/wandb/default.nix
@@ -12,7 +12,7 @@
 , jsonref
 , jsonschema
 , matplotlib
-, nbconvert
+, nbclient
 , nbformat
 , pandas
 , pathtools
@@ -88,9 +88,7 @@ buildPythonPackage rec {
     jsonref
     jsonschema
     matplotlib
-    # Oddly enough, nbclient does not provide the `nbclient` module. Rather it's
-    # available in nbconvert. See https://github.com/NixOS/nixpkgs/issues/171493#issuecomment-1116960488.
-    nbconvert
+    nbclient
     nbformat
     pandas
     pydantic
diff --git a/pkgs/tools/security/whispers/default.nix b/pkgs/development/python-modules/whispers/default.nix
index 07c1f1e707e..02a1b050f91 100644
--- a/pkgs/tools/security/whispers/default.nix
+++ b/pkgs/development/python-modules/whispers/default.nix
@@ -1,20 +1,33 @@
 { lib
+, astroid
+, beautifulsoup4
+, buildPythonPackage
 , fetchFromGitHub
-, python3
+, jproperties
+, luhn
+, lxml
+, pytest-mock
+, pytestCheckHook
+, python-Levenshtein
+, pythonOlder
+, pyyaml
 }:
 
-python3.pkgs.buildPythonApplication rec {
+buildPythonPackage rec {
   pname = "whispers";
   version = "1.5.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Skyscanner";
     repo = pname;
     rev = version;
-    sha256 = "sha256-jruUGyoZCyMu015QKtlvfx5WRMfxo/eYUue9wUIWb6o=";
+    hash = "sha256-jruUGyoZCyMu015QKtlvfx5WRMfxo/eYUue9wUIWb6o=";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = [
     astroid
     beautifulsoup4
     jproperties
@@ -24,7 +37,7 @@ python3.pkgs.buildPythonApplication rec {
     pyyaml
   ];
 
-  checkInputs = with python3.pkgs; [
+  checkInputs = [
     pytest-mock
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/widgetsnbextension/default.nix b/pkgs/development/python-modules/widgetsnbextension/default.nix
index 5b4f535563c..563e792850d 100644
--- a/pkgs/development/python-modules/widgetsnbextension/default.nix
+++ b/pkgs/development/python-modules/widgetsnbextension/default.nix
@@ -8,13 +8,20 @@
 buildPythonPackage rec {
   pname = "widgetsnbextension";
   version = "3.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-6Ep6n8ubrz1XEG4YSnOJqPjrk1v3QaXrnWCqGMwCmoA=";
+    hash = "sha256-6Ep6n8ubrz1XEG4YSnOJqPjrk1v3QaXrnWCqGMwCmoA=";
   };
 
-  propagatedBuildInputs = [ notebook ];
+  # setup.py claims to require notebook, but the source doesn't have any imports
+  # in it.
+  postPatch = ''
+    substituteInPlace setup.py --replace "'notebook>=4.4.1'," ""
+  '';
+
+  propagatedBuildInputs = [ ];
 
   # No tests in archive
   doCheck = false;
diff --git a/pkgs/development/python-modules/xmltodict/default.nix b/pkgs/development/python-modules/xmltodict/default.nix
index 5e0733b6256..e0a9f4c5d73 100644
--- a/pkgs/development/python-modules/xmltodict/default.nix
+++ b/pkgs/development/python-modules/xmltodict/default.nix
@@ -22,6 +22,6 @@ buildPythonPackage rec {
     description = "Makes working with XML feel like you are working with JSON";
     homepage = "https://github.com/martinblech/xmltodict";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/yalexs/default.nix b/pkgs/development/python-modules/yalexs/default.nix
index 2eb38dd0784..948ca6c6b88 100644
--- a/pkgs/development/python-modules/yalexs/default.nix
+++ b/pkgs/development/python-modules/yalexs/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yalexs";
-  version = "1.1.23";
+  version = "1.1.24";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-CnAVkwCOADBNY0cUvq9Dt6JR+fIr4LiZVMzJIIFqzG0=";
+    sha256 = "sha256-6wuTY1nH7btGEktH5UmTV2rMbsap5M55tJx3fljsnlY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yte/default.nix b/pkgs/development/python-modules/yte/default.nix
index 7a7132a8326..7457cc14f31 100644
--- a/pkgs/development/python-modules/yte/default.nix
+++ b/pkgs/development/python-modules/yte/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "yte";
-  version = "1.2.2";
+  version = "1.2.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "koesterlab";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-x0CmPiV/6zTnawPW9lgrZ9NsUhmK8fhafwqOP9o3Mdc=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-xu88zupT0/kIzTd56IbKYKBM5+EDI1d+QIEq8zOBWWo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zope_event/default.nix b/pkgs/development/python-modules/zope_event/default.nix
index 2ebf6e017b5..118a3a2c44a 100644
--- a/pkgs/development/python-modules/zope_event/default.nix
+++ b/pkgs/development/python-modules/zope_event/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "An event publishing system";
-    homepage = "https://pypi.python.org/pypi/zope.event";
+    homepage = "https://pypi.org/project/zope.event/";
     license = licenses.zpl20;
     maintainers = with maintainers; [ goibhniu ];
   };
diff --git a/pkgs/development/tools/amazon-qldb-shell/default.nix b/pkgs/development/tools/amazon-qldb-shell/default.nix
index d017c213415..5699bc7c61b 100644
--- a/pkgs/development/tools/amazon-qldb-shell/default.nix
+++ b/pkgs/development/tools/amazon-qldb-shell/default.nix
@@ -1,10 +1,12 @@
-{ lib
+{ stdenv
+, lib
 , clang
 , cmake
 , fetchFromGitHub
 , llvmPackages
 , rustPlatform
 , testers
+, Security
 }:
 
 let
@@ -21,7 +23,8 @@ let
     };
 
     nativeBuildInputs = [ clang cmake ];
-    buildInputs = [ llvmPackages.libclang ];
+    buildInputs = [ llvmPackages.libclang ]
+      ++ lib.optional stdenv.isDarwin Security;
 
     cargoSha256 = "sha256-y3dNEa2U9mwsENPda44zweszlk4UJXGtfeH+er8mi0U=";
 
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index efeaf9df507..7d9dbe6f393 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -76,8 +76,9 @@ let
         '';
         homepage = "https://github.com/com-lihaoyi/Ammonite";
         license = licenses.mit;
-        platforms = platforms.all;
         maintainers = [ maintainers.nequissimus ];
+        mainProgram = "amm";
+        platforms = platforms.all;
       };
     };
 in {
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 1245603c53a..52899ac238e 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -32,13 +32,13 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "checkov";
-  version = "2.0.1110";
+  version = "2.0.1118";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    hash = "sha256-HtXJGi20SbbOofL8TAZDZ9L3aFVx33Xz+QS/f7NxYFI=";
+    hash = "sha256-8zhCyIHI3Pl5fTqQGSe8l6+7DZQsI6YgyTSCs1BNe94=";
   };
 
   nativeBuildInputs = with py.pkgs; [
diff --git a/pkgs/development/tools/analysis/hopper/default.nix b/pkgs/development/tools/analysis/hopper/default.nix
index b169877f5c1..d7b519b04c3 100644
--- a/pkgs/development/tools/analysis/hopper/default.nix
+++ b/pkgs/development/tools/analysis/hopper/default.nix
@@ -3,36 +3,35 @@
 , lib
 , autoPatchelfHook
 , wrapQtAppsHook
-, libbsd
-, python27
 , gmpxx
-, ncurses5
 , gnustep
-, libffi
+, libbsd
+, libffi_3_3
+, ncurses6
 }:
+
 stdenv.mkDerivation rec {
   pname = "hopper";
-  version = "4.5.29";
-  rev = "v${lib.versions.major version}";
+  version = "5.5.3";
+  rev = "v4";
 
   src = fetchurl {
-    url = "https://d2ap6ypl1xbe4k.cloudfront.net/Hopper-${rev}-${version}-Linux.pkg.tar.xz";
-    sha256 = "1v1pff5fiv41khvrnlpdks2vddjnvziyn14qqj6v26snyhwi86zh";
+    url = "https://d2ap6ypl1xbe4k.cloudfront.net/Hopper-${rev}-${version}-Linux-demo.pkg.tar.xz";
+    hash = "sha256-xq9ZVg1leHm/tq6LYyQLa8p5dDwBd64Jt92uMoE0z58=";
   };
 
   sourceRoot = ".";
 
   nativeBuildInputs = [
-    wrapQtAppsHook
     autoPatchelfHook
+    wrapQtAppsHook
   ];
 
   buildInputs = [
-    libbsd
-    python27
-    gmpxx
-    ncurses5
     gnustep.libobjc
+    libbsd
+    libffi_3_3
+    ncurses6
   ];
 
   installPhase = ''
@@ -54,9 +53,6 @@ stdenv.mkDerivation rec {
       $sourceRoot/opt/hopper-${rev}/lib/libpthread_workqueue.so* \
       $out/lib
 
-    # we already ship libffi.so.7
-    ln -s ${lib.getLib libffi}/lib/libffi.so $out/lib/libffi.so.6
-
     cp -r $sourceRoot/usr/share $out
 
     runHook postInstall
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 33e5de472c2..9ecc01c0a48 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,21 +2,23 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.35.0";
+  version = "0.36.2";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rLPKc9QeT9r0JUYcTMSHPa/4FxYiMLMdnv2iOMdBAy0=";
+    sha256 = "sha256-DPgYc0nUrRkidWqhv0X9v+2VSNPy1+0ZQ2gCe7T2gu0=";
   };
 
-  vendorSha256 = "sha256-J1PgrWFAu1LrAYdoJP3HUunz/MkJ4Co0+hc7e6nFTBo=";
+  vendorSha256 = "sha256-Is4dpBu/Nm34NZ3NftSGTZnSR8831kM56dvBjtfUTGU=";
 
   doCheck = false;
 
   subPackages = [ "." ];
 
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     description = "Terraform linter focused on possible errors, best practices, and so on";
     homepage = "https://github.com/terraform-linters/tflint";
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
index a4fdf0085c3..cedf2535df3 100644
--- a/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "tfsec";
-  version = "1.19.1";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xeAMwYpi9WvKALzOPLjVItHYzFJW+O++5jgqRSC7awk=";
+    sha256 = "sha256-ikMmd+avT8Fl+oZti2aegX4knYmPgEE/FOMAMZriV0g=";
   };
 
   ldflags = [
@@ -21,7 +21,7 @@ buildGoModule rec {
     # "-extldflags '-fno-PIC -static'"
   ];
 
-  vendorSha256 = "sha256-xDK40Vc2tHZ7apfKznt7EEz1vR6UhqtXHgYXR2mISiI=";
+  vendorSha256 = "sha256-LRXnBSG+xpQ3QqF2SiC2s3luTaBxFHOF3XXxhFZV5D0=";
 
   subPackages = [
     "cmd/tfsec"
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix
deleted file mode 100644
index 6168c4a477f..00000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix
+++ /dev/null
@@ -1,390 +0,0 @@
-{ stdenv, callPackage, lib, fetchurl, fetchpatch, runCommand, makeWrapper
-, zip, unzip, bash, writeCBin, coreutils
-, which, python3, perl, gawk, gnused, gnutar, gnugrep, gzip, findutils
-# Apple dependencies
-, cctools, llvmPackages_8, CoreFoundation, CoreServices, Foundation
-# Allow to independently override the jdks used to build and run respectively
-, buildJdk, runJdk
-, buildJdkName
-, runtimeShell
-# Always assume all markers valid (don't redownload dependencies).
-# Also, don't clean up environment variables.
-, enableNixHacks ? false
-}:
-
-let
-  srcDeps = [
-    # From: $REPO_ROOT/WORKSPACE
-    (fetchurl {
-      url = "https://github.com/google/desugar_jdk_libs/archive/915f566d1dc23bc5a8975320cd2ff71be108eb9c.zip";
-      sha256 = "0b926df7yxyyyiwm9cmdijy6kplf0sghm23sf163zh8wrk87wfi7";
-    })
-    (fetchurl {
-        url = "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz";
-        sha256 = "4a1318fed4831697b83ce879b3ab70ae09592b167e5bda8edaff45132d1c3b3f";
-    })
-    (fetchurl {
-        url = "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz";
-        sha256 = "ba5d15ca230efca96320085d8e4d58da826d1f81b444ef8afccd8b23e0799b52";
-    })
-    (fetchurl {
-      url = "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz";
-      sha256 = "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898";
-    })
-     (fetchurl {
-         url = "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_linux-v3.1.zip";
-         sha256 = "a0cd51f9db1bf05a722ff7f5c60a07fa1c7d27428fff0815c342d32aa6c53576";
-     })
-    (fetchurl {
-        url = "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_darwin-v3.1.zip";
-        sha256 = "c646aad8808b8ec5844d6a80a1287fc8e13203375fe40d6af4819eff48b9bbaf";
-    })
-    (fetchurl {
-        url = "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v1.0.zip";
-        sha256 = "cc470e529fafb6165b5be3929ff2d99b38429b386ac100878687416603a67889";
-    })
-    (fetchurl {
-        url = "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip";
-        sha256 = "9b72bb0aea72d7cbcfc82a01b1e25bf3d85f791e790ddec16c65e2d906382ee0";
-    })
-    (fetchurl {
-        url = "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.2.tar.gz";
-        sha256 = "04f85f2dd049e87805511e3babc5cea3f5e72332b1627e34f3a5461cc38e815f";
-    })
-  ];
-
-  distDir = runCommand "bazel-deps" {} ''
-    mkdir -p $out
-    for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
-  '';
-
-  defaultShellPath = lib.makeBinPath
-    # Keep this list conservative. For more exotic tools, prefer to use
-    # @rules_nixpkgs to pull in tools from the nix repository. Example:
-    #
-    # WORKSPACE:
-    #
-    #     nixpkgs_git_repository(
-    #         name = "nixpkgs",
-    #         revision = "def5124ec8367efdba95a99523dd06d918cb0ae8",
-    #     )
-    #
-    #     # This defines an external Bazel workspace.
-    #     nixpkgs_package(
-    #         name = "bison",
-    #         repositories = { "nixpkgs": "@nixpkgs//:default.nix" },
-    #     )
-    #
-    # some/BUILD.bazel:
-    #
-    #     genrule(
-    #        ...
-    #        cmd = "$(location @bison//:bin/bison) -other -args",
-    #        tools = [
-    #            ...
-    #            "@bison//:bin/bison",
-    #        ],
-    #     )
-    #
-    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip ];
-
-  # Java toolchain used for the build and tests
-  javaToolchain = "@bazel_tools//tools/jdk:toolchain_host${buildJdkName}";
-  stdenv' = if stdenv.isDarwin then llvmPackages_8.libcxxStdenv else stdenv;
-
-in
-stdenv'.mkDerivation rec {
-
-  version = "0.26.0";
-
-  meta = with lib; {
-    homepage = "https://github.com/bazelbuild/bazel/";
-    description = "Build tool that builds code quickly and reliably";
-    license = licenses.asl20;
-    platforms = platforms.linux ++ platforms.darwin;
-  };
-
-  # Additional tests that check bazel’s functionality. Execute
-  #
-  #     nix-build . -A bazel.tests
-  #
-  # in the nixpkgs checkout root to exercise them locally.
-  passthru.tests = {
-    pythonBinPath = callPackage ./python-bin-path-test.nix {};
-    bashTools = callPackage ./bash-tools-test.nix {};
-  };
-
-  pname = "bazel";
-
-  src = fetchurl {
-    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "d26dadf62959255d58e523da3448a6222af768fe1224e321b120c1d5bbe4b4f2";
-  };
-
-  # Necessary for the tests to pass on Darwin with sandbox enabled.
-  # Bazel starts a local server and needs to bind a local address.
-  __darwinAllowLocalNetworking = true;
-
-  sourceRoot = ".";
-
-  patches = [
-    ./glibc.patch
-    ./python-stub-path-fix.patch
-  ] ++ lib.optional enableNixHacks ../nix-hacks.patch;
-
-  # Bazel expects several utils to be available in Bash even without PATH. Hence this hack.
-
-  customBash = writeCBin "bash" ''
-    #include <stdio.h>
-    #include <stdlib.h>
-    #include <string.h>
-    #include <unistd.h>
-
-    extern char **environ;
-
-    int main(int argc, char *argv[]) {
-      char *path = getenv("PATH");
-      char *pathToAppend = "${defaultShellPath}";
-      char *newPath;
-      if (path != NULL) {
-        int length = strlen(path) + 1 + strlen(pathToAppend) + 1;
-        newPath = malloc(length * sizeof(char));
-        snprintf(newPath, length, "%s:%s", path, pathToAppend);
-      } else {
-        newPath = pathToAppend;
-      }
-      setenv("PATH", newPath, 1);
-      execve("${bash}/bin/bash", argv, environ);
-      return 0;
-    }
-  '';
-
-  postPatch = let
-
-    darwinPatches = ''
-      bazelLinkFlags () {
-        eval set -- "$NIX_LDFLAGS"
-        local flag
-        for flag in "$@"; do
-          printf ' -Wl,%s' "$flag"
-        done
-      }
-
-      # Disable Bazel's Xcode toolchain detection which would configure compilers
-      # and linkers from Xcode instead of from PATH
-      export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1
-
-      # Explicitly configure gcov since we don't have it on Darwin, so autodetection fails
-      export GCOV=${coreutils}/bin/false
-
-      # Framework search paths aren't added by bintools hook
-      # https://github.com/NixOS/nixpkgs/pull/41914
-      export NIX_LDFLAGS+=" -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks"
-
-      # libcxx includes aren't added by libcxx hook
-      # https://github.com/NixOS/nixpkgs/pull/41589
-      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${llvmPackages_8.libcxx}/include/c++/v1"
-
-      # don't use system installed Xcode to run clang, use Nix clang instead
-      sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv'.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \
-        scripts/bootstrap/compile.sh \
-        src/tools/xcode/realpath/BUILD \
-        src/tools/xcode/stdredirect/BUILD \
-        tools/osx/BUILD
-
-      # nixpkgs's libSystem cannot use pthread headers directly, must import GCD headers instead
-      sed -i -e "/#include <pthread\/spawn.h>/i #include <dispatch/dispatch.h>" src/main/cpp/blaze_util_darwin.cc
-
-      # clang installed from Xcode has a compatibility wrapper that forwards
-      # invocations of gcc to clang, but vanilla clang doesn't
-      sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl
-
-      sed -i -e 's;/usr/bin/libtool;${cctools}/bin/libtool;g' tools/cpp/unix_cc_configure.bzl
-      wrappers=( tools/cpp/osx_cc_wrapper.sh tools/cpp/osx_cc_wrapper.sh.tpl )
-      for wrapper in "''${wrappers[@]}"; do
-        sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper
-      done
-    '';
-
-    genericPatches = ''
-      # Substitute python's stub shebang to plain python path. (see TODO add pr URL)
-      # See also `postFixup` where python is added to $out/nix-support
-      substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt\
-          --replace "/usr/bin/env python" "${python3.interpreter}" \
-          --replace "NIX_STORE_PYTHON_PATH" "${python3.interpreter}" \
-
-      # md5sum is part of coreutils
-      sed -i 's|/sbin/md5|md5sum|' \
-        src/BUILD
-
-      # substituteInPlace is rather slow, so prefilter the files with grep
-      grep -rlZ /bin src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do
-        # If you add more replacements here, you must change the grep above!
-        # Only files containing /bin are taken into account.
-        substituteInPlace "$path" \
-          --replace /bin/bash ${customBash}/bin/bash \
-          --replace /usr/bin/env ${coreutils}/bin/env \
-          --replace /bin/true ${coreutils}/bin/true
-      done
-
-      # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
-      substituteInPlace scripts/bootstrap/compile.sh \
-          --replace /bin/bash ${customBash}/bin/bash
-
-      # add nix environment vars to .bazelrc
-      cat >> .bazelrc <<EOF
-      build --experimental_distdir=${distDir}
-      fetch --experimental_distdir=${distDir}
-      build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')"
-      build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')"
-      build --linkopt="$(echo $(< ${stdenv'.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt="/g')"
-      build --host_linkopt="$(echo $(< ${stdenv'.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt="/g')"
-      build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')"
-      build --host_linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt="-Wl,/g')"
-      build --host_javabase='@local_jdk//:jdk'
-      build --host_java_toolchain='${javaToolchain}'
-      EOF
-
-      # add the same environment vars to compile.sh
-      sed -e "/\$command \\\\$/a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" \
-          -e "/\$command \\\\$/a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" \
-          -e "/\$command \\\\$/a --linkopt=\"$(echo $(< ${stdenv'.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt=\"/g')\" \\\\" \
-          -e "/\$command \\\\$/a --host_linkopt=\"$(echo $(< ${stdenv'.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt=\"/g')\" \\\\" \
-          -e "/\$command \\\\$/a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" \
-          -e "/\$command \\\\$/a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" \
-          -e "/\$command \\\\$/a --host_javabase='@local_jdk//:jdk' \\\\" \
-          -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \
-          -i scripts/bootstrap/compile.sh
-
-      # --experimental_strict_action_env (which will soon become the
-      # default, see bazelbuild/bazel#2574) hardcodes the default
-      # action environment to a value that on NixOS at least is bogus.
-      # So we hardcode it to something useful.
-      substituteInPlace \
-        src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java \
-        --replace /bin:/usr/bin ${defaultShellPath}
-
-      # This is necessary to avoid:
-      # "error: no visible @interface for 'NSDictionary' declares the selector
-      # 'initWithContentsOfURL:error:'"
-      # This can be removed when the apple_sdk is upgraded beyond 10.13+
-      sed -i '/initWithContentsOfURL:versionPlistUrl/ {
-        N
-        s/error:nil\];/\];/
-      }' tools/osx/xcode_locator.m
-
-      # append the PATH with defaultShellPath in tools/bash/runfiles/runfiles.bash
-      echo "PATH=\$PATH:${defaultShellPath}" >> runfiles.bash.tmp
-      cat tools/bash/runfiles/runfiles.bash >> runfiles.bash.tmp
-      mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash
-
-      patchShebangs .
-    '';
-    in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches
-     + genericPatches;
-
-  buildInputs = [
-    buildJdk
-  ];
-
-  strictDeps = true;
-
-  # when a command can’t be found in a bazel build, you might also
-  # need to add it to `defaultShellPath`.
-  nativeBuildInputs = [
-    zip
-    python3
-    unzip
-    makeWrapper
-    which
-    customBash
-  ] ++ lib.optionals (stdenv.isDarwin) [ cctools CoreFoundation CoreServices Foundation ];
-
-  # Bazel makes extensive use of symlinks in the WORKSPACE.
-  # This causes problems with infinite symlinks if the build output is in the same location as the
-  # Bazel WORKSPACE. This is why before executing the build, the source code is moved into a
-  # subdirectory.
-  # Failing to do this causes "infinite symlink expansion detected"
-  preBuildPhases = ["preBuildPhase"];
-  preBuildPhase = ''
-    mkdir bazel_src
-    shopt -s dotglob extglob
-    mv !(bazel_src) bazel_src
-  '';
-
-  buildPhase = ''
-    # Increasing memory during compilation might be necessary.
-    # export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms200m"
-    ./bazel_src/compile.sh
-    ./bazel_src/scripts/generate_bash_completion.sh \
-        --bazel=./bazel_src/output/bazel \
-        --output=./bazel_src/output/bazel-complete.bash \
-        --prepend=./bazel_src/scripts/bazel-complete-header.bash \
-        --prepend=./bazel_src/scripts/bazel-complete-template.bash
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-
-    # official wrapper scripts that searches for $WORKSPACE_ROOT/tools/bazel
-    # if it can’t find something in tools, it calls $out/bin/bazel-real
-    cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
-    mv ./bazel_src/output/bazel $out/bin/bazel-real
-
-    wrapProgram "$out/bin/bazel" --add-flags --server_javabase="${runJdk}"
-
-    # shell completion files
-    mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
-    mv ./bazel_src/output/bazel-complete.bash $out/share/bash-completion/completions/bazel
-    cp ./bazel_src/scripts/zsh_completion/_bazel $out/share/zsh/site-functions/
-  '';
-
-  # Temporarily disabling for now. A new approach is needed for this derivation as Bazel
-  # accesses the internet during the tests which fails in a sandbox.
-  doInstallCheck = false;
-  installCheckPhase = ''
-    export TEST_TMPDIR=$(pwd)
-
-    hello_test () {
-      $out/bin/bazel test \
-        --test_output=errors \
-        --java_toolchain='${javaToolchain}' \
-        examples/cpp:hello-success_test \
-        examples/java-native/src/test/java/com/example/myproject:hello
-    }
-
-    cd ./bazel_src
-
-    # test whether $WORKSPACE_ROOT/tools/bazel works
-
-    mkdir -p tools
-    cat > tools/bazel <<"EOF"
-    #!${runtimeShell} -e
-    exit 1
-    EOF
-    chmod +x tools/bazel
-
-    # first call should fail if tools/bazel is used
-    ! hello_test
-
-    cat > tools/bazel <<"EOF"
-    #!${runtimeShell} -e
-    exec "$BAZEL_REAL" "$@"
-    EOF
-
-    # second call succeeds because it defers to $out/bin/bazel-real
-    hello_test
-  '';
-
-  # Save paths to hardcoded dependencies so Nix can detect them.
-  postFixup = ''
-    mkdir -p $out/nix-support
-    echo "${customBash} ${defaultShellPath}" >> $out/nix-support/depends
-    # The templates get tar’d up into a .jar,
-    # so nix can’t detect python is needed in the runtime closure
-    echo "${python3}" >> $out/nix-support/depends
-  '';
-
-  dontStrip = true;
-  dontPatchELF = true;
-}
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_26/glibc.patch b/pkgs/development/tools/build-managers/bazel/bazel_0_26/glibc.patch
deleted file mode 100644
index c4de48068f1..00000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_26/glibc.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From https://github.com/grpc/grpc/commit/57586a1ca7f17b1916aed3dea4ff8de872dbf853
-From: Benjamin Peterson <benjamin@dropbox.com>
-Date: Fri, 3 May 2019 08:11:00 -0700
-Subject: [PATCH] Rename gettid() functions.
-
-glibc 2.30 will declare its own gettid; see https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92. Rename the grpc versions to avoid naming conflicts.
----
- src/core/lib/gpr/log_linux.cc          | 6 ++----
- src/core/lib/gpr/log_posix.cc          | 4 ++--
- src/core/lib/iomgr/ev_epollex_linux.cc | 4 ++--
- 3 files changed, 6 insertions(+), 8 deletions(-)
-
-diff --git a/third_party/grpc/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc
-index 81026e5689b..8b597b4cf2f 100644
---- a/third_party/grpc/src/core/lib/gpr/log_linux.cc
-+++ b/third_party/grpc/src/core/lib/gpr/log_linux.cc
-@@ -40,7 +40,7 @@
- #include <time.h>
- #include <unistd.h>
-
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
-              const char* format, ...) {
-@@ -70,7 +70,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-   gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME);
-   struct tm tm;
-   static __thread long tid = 0;
--  if (tid == 0) tid = gettid();
-+  if (tid == 0) tid = sys_gettid();
-
-   timer = static_cast<time_t>(now.tv_sec);
-   final_slash = strrchr(args->file, '/');
-diff --git a/third_party/grpc/src/core/lib/gpr/log_posix.cc b/src/core/lib/gpr/log_posix.cc
-index b6edc14ab6b..2f7c6ce3760 100644
---- a/third_party/grpc/src/core/lib/gpr/log_posix.cc
-+++ b/third_party/grpc/src/core/lib/gpr/log_posix.cc
-@@ -31,7 +31,7 @@
- #include <string.h>
- #include <time.h>
-
--static intptr_t gettid(void) { return (intptr_t)pthread_self(); }
-+static intptr_t sys_gettid(void) { return (intptr_t)pthread_self(); }
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
-              const char* format, ...) {
-@@ -86,7 +86,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-   char* prefix;
-   gpr_asprintf(&prefix, "%s%s.%09d %7" PRIdPTR " %s:%d]",
-                gpr_log_severity_string(args->severity), time_buffer,
--               (int)(now.tv_nsec), gettid(), display_file, args->line);
-+               (int)(now.tv_nsec), sys_gettid(), display_file, args->line);
-
-   fprintf(stderr, "%-70s %s\n", prefix, args->message);
-   gpr_free(prefix);
-diff --git a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc
-index c2d80c08ddb..4a83cb6c215 100644
---- a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
-+++ b/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
-@@ -1077,7 +1077,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
- }
-
- #ifndef NDEBUG
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
- #endif
-
- /* pollset->mu lock must be held by the caller before calling this.
-@@ -1097,7 +1097,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
- #define WORKER_PTR (&worker)
- #endif
- #ifndef NDEBUG
--  WORKER_PTR->originator = gettid();
-+  WORKER_PTR->originator = sys_gettid();
- #endif
-   if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
-     gpr_log(GPR_INFO,
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_26/python-stub-path-fix.patch b/pkgs/development/tools/build-managers/bazel/bazel_0_26/python-stub-path-fix.patch
deleted file mode 100644
index cbc4192d2d9..00000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_26/python-stub-path-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
-index dac21c9a83..69b11c283f 100644
---- a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
-+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
-@@ -67,7 +67,7 @@ def FindPythonBinary(module_space):
-     return os.path.join(module_space, PYTHON_BINARY)
-   else:
-     # Case 4: Path has to be looked up in the search path.
--    return SearchPath(PYTHON_BINARY)
-+    return "NIX_STORE_PYTHON_PATH"
- 
- def CreatePythonPathEntries(python_imports, module_space):
-   parts = python_imports.split(':');
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix
deleted file mode 100644
index 91131bc02c6..00000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix
+++ /dev/null
@@ -1,560 +0,0 @@
-{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub
-, runCommand, runCommandCC, makeWrapper, recurseIntoAttrs
-# this package (through the fixpoint glass)
-, bazel_self
-, lr, xe, zip, unzip, bash, writeCBin, coreutils
-, which, gawk, gnused, gnutar, gnugrep, gzip, findutils
-# updater
-, python27, python3, writeScript
-# Apple dependencies
-, cctools, llvmPackages_8, CoreFoundation, CoreServices, Foundation
-# Allow to independently override the jdks used to build and run respectively
-, buildJdk, runJdk
-, buildJdkName
-, runtimeShell
-# Downstream packages for tests
-, bazel-watcher
-# Always assume all markers valid (this is needed because we remove markers; they are non-deterministic).
-# Also, don't clean up environment variables (so that NIX_ environment variables are passed to compilers).
-, enableNixHacks ? false
-, gcc-unwrapped
-, autoPatchelfHook
-, file
-, substituteAll
-, writeTextFile
-}:
-
-let
-  version = "0.29.1";
-
-  src = fetchurl {
-    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "1rcd6xy61n07n7m6dgcw23275r8z3gkwmqdkd48nwrq8yb7m4al7";
-  };
-
-  # Update with `eval $(nix-build -A bazel.updater)`,
-  # then add new dependencies from the dict in ./src-deps.json as required.
-  srcDeps = lib.attrsets.attrValues srcDepsSet;
-  srcDepsSet =
-    let
-      srcs = lib.importJSON ./src-deps.json;
-      toFetchurl = d: lib.attrsets.nameValuePair d.name (fetchurl {
-        urls = d.urls;
-        sha256 = d.sha256;
-        });
-        in builtins.listToAttrs (map toFetchurl [
-      srcs.desugar_jdk_libs
-      srcs.io_bazel_skydoc
-      srcs.bazel_skylib
-      srcs.io_bazel_rules_sass
-      srcs.platforms
-      (if stdenv.hostPlatform.isDarwin
-       then srcs."java_tools_javac11_darwin-v4.0.zip"
-       else srcs."java_tools_javac11_linux-v4.0.zip")
-      srcs."coverage_output_generator-v1.0.zip"
-      srcs.build_bazel_rules_nodejs
-      srcs."android_tools_pkg-0.8.tar.gz"
-      srcs."0.27.1.tar.gz"
-      srcs.rules_pkg
-      srcs.rules_cc
-      srcs.rules_java
-      srcs.rules_proto
-      ]);
-
-  distDir = runCommand "bazel-deps" {} ''
-    mkdir -p $out
-    for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
-  '';
-
-  defaultShellPath = lib.makeBinPath
-    # Keep this list conservative. For more exotic tools, prefer to use
-    # @rules_nixpkgs to pull in tools from the nix repository. Example:
-    #
-    # WORKSPACE:
-    #
-    #     nixpkgs_git_repository(
-    #         name = "nixpkgs",
-    #         revision = "def5124ec8367efdba95a99523dd06d918cb0ae8",
-    #     )
-    #
-    #     # This defines an external Bazel workspace.
-    #     nixpkgs_package(
-    #         name = "bison",
-    #         repositories = { "nixpkgs": "@nixpkgs//:default.nix" },
-    #     )
-    #
-    # some/BUILD.bazel:
-    #
-    #     genrule(
-    #        ...
-    #        cmd = "$(location @bison//:bin/bison) -other -args",
-    #        tools = [
-    #            ...
-    #            "@bison//:bin/bison",
-    #        ],
-    #     )
-    #
-    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip file zip ];
-
-  # Java toolchain used for the build and tests
-  javaToolchain = "@bazel_tools//tools/jdk:toolchain_host${buildJdkName}";
-
-  platforms = lib.platforms.linux ++ lib.platforms.darwin;
-
-  # This repository is fetched by bazel at runtime
-  # however it contains prebuilt java binaries, with wrong interpreter
-  # and libraries path.
-  # We prefetch it, patch it, and override it in a global bazelrc.
-  system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux";
-
-  remote_java_tools = stdenv.mkDerivation {
-    name = "remote_java_tools_${system}";
-
-    src = srcDepsSet."java_tools_javac11_${system}-v4.0.zip";
-
-    nativeBuildInputs = [ unzip ]
-      ++ lib.optional stdenv.isLinux autoPatchelfHook;
-    buildInputs = [ gcc-unwrapped ];
-
-    sourceRoot = ".";
-
-    buildPhase = ''
-      mkdir $out;
-    '';
-
-    installPhase = ''
-      cp -Ra * $out/
-      touch $out/WORKSPACE
-    '';
-  };
-
-  bazelRC = writeTextFile {
-    name = "bazel-rc";
-    text = ''
-      build --override_repository=${remote_java_tools.name}=${remote_java_tools}
-      build --distdir=${distDir}
-      startup --server_javabase=${runJdk}
-
-      # load default location for the system wide configuration
-      try-import /etc/bazel.bazelrc
-    '';
-  };
-  stdenv' = if stdenv.isDarwin then llvmPackages_8.libcxxStdenv else stdenv;
-
-in
-stdenv'.mkDerivation rec {
-  pname = "bazel";
-  inherit version;
-
-  meta = with lib; {
-    homepage = "https://github.com/bazelbuild/bazel/";
-    description = "Build tool that builds code quickly and reliably";
-    license = licenses.asl20;
-    maintainers = lib.teams.bazel.members;
-    inherit platforms;
-  };
-
-  inherit src;
-  sourceRoot = ".";
-
-  patches = [
-    # On Darwin, the last argument to gcc is coming up as an empty string. i.e: ''
-    # This is breaking the build of any C target. This patch removes the last
-    # argument if it's found to be an empty string.
-    ../trim-last-argument-to-gcc-if-empty.patch
-    ./glibc.patch
-
-    # --experimental_strict_action_env (which may one day become the default
-    # see bazelbuild/bazel#2574) hardcodes the default
-    # action environment to a non hermetic value (e.g. "/usr/local/bin").
-    # This is non hermetic on non-nixos systems. On NixOS, bazel cannot find the required binaries.
-    # So we are replacing this bazel paths by defaultShellPath,
-    # improving hermeticity and making it work in nixos.
-    (substituteAll {
-      src = ../strict_action_env.patch;
-      strictActionEnvPatch = defaultShellPath;
-    })
-
-    # bazel reads its system bazelrc in /etc
-    # override this path to a builtin one
-    (substituteAll {
-      src = ../bazel_rc.patch;
-      bazelSystemBazelRCPath = bazelRC;
-    })
-  ] ++ lib.optional enableNixHacks ../nix-hacks.patch;
-
-
-  # Additional tests that check bazel’s functionality. Execute
-  #
-  #     nix-build . -A bazel.tests
-  #
-  # in the nixpkgs checkout root to exercise them locally.
-  passthru.tests =
-    let
-      runLocal = name: attrs: script:
-      let
-        attrs' = removeAttrs attrs [ "buildInputs" ];
-        buildInputs = [ python3 ] ++ (attrs.buildInputs or []);
-      in
-      runCommandCC name ({
-        inherit buildInputs;
-        preferLocalBuild = true;
-        meta.platforms = platforms;
-      } // attrs') script;
-
-      # bazel wants to extract itself into $install_dir/install every time it runs,
-      # so let’s do that only once.
-      extracted = bazelPkg:
-        let install_dir =
-          # `install_base` field printed by `bazel info`, minus the hash.
-          # yes, this path is kinda magic. Sorry.
-          "$HOME/.cache/bazel/_bazel_nixbld";
-        in runLocal "bazel-extracted-homedir" { passthru.install_dir = install_dir; } ''
-            export HOME=$(mktemp -d)
-            touch WORKSPACE # yeah, everything sucks
-            install_base="$(${bazelPkg}/bin/bazel info | grep install_base)"
-            # assert it’s actually below install_dir
-            [[ "$install_base" =~ ${install_dir} ]] \
-              || (echo "oh no! $install_base but we are \
-            trying to copy ${install_dir} to $out instead!"; exit 1)
-            cp -R ${install_dir} $out
-          '';
-
-      bazelTest = { name, bazelScript, workspaceDir, bazelPkg, buildInputs ? [] }:
-        let
-          be = extracted bazelPkg;
-        in runLocal name { inherit buildInputs; } (
-          # skip extraction caching on Darwin, because nobody knows how Darwin works
-          (lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
-            # set up home with pre-unpacked bazel
-            export HOME=$(mktemp -d)
-            mkdir -p ${be.install_dir}
-            cp -R ${be}/install ${be.install_dir}
-
-            # https://stackoverflow.com/questions/47775668/bazel-how-to-skip-corrupt-installation-on-centos6
-            # Bazel checks whether the mtime of the install dir files
-            # is >9 years in the future, otherwise it extracts itself again.
-            # see PosixFileMTime::IsUntampered in src/main/cpp/util
-            # What the hell bazel.
-            ${lr}/bin/lr -0 -U ${be.install_dir} | ${xe}/bin/xe -N0 -0 touch --date="9 years 6 months" {}
-          '')
-          +
-          ''
-            # Note https://github.com/bazelbuild/bazel/issues/5763#issuecomment-456374609
-            # about why to create a subdir for the workspace.
-            cp -r ${workspaceDir} wd && chmod u+w wd && cd wd
-
-            ${bazelScript}
-
-            touch $out
-          '');
-
-      bazelWithNixHacks = bazel_self.override { enableNixHacks = true; };
-
-      bazel-examples = fetchFromGitHub {
-        owner = "bazelbuild";
-        repo = "examples";
-        rev = "5d8c8961a2516ebf875787df35e98cadd08d43dc";
-        sha256 = "03c1bwlq5bs3hg96v4g4pg2vqwhqq6w538h66rcpw02f83yy7fs8";
-      };
-
-    in (if !stdenv.hostPlatform.isDarwin then {
-      # `extracted` doesn’t work on darwin
-      shebang = callPackage ../shebang-test.nix { inherit runLocal extracted bazelTest distDir; };
-    } else {}) // {
-      bashTools = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; };
-      cpp = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; };
-      java = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; };
-      protobuf = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; };
-      pythonBinPath = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; };
-
-      bashToolsWithNixHacks = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
-
-      cppWithNixHacks = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; };
-      javaWithNixHacks = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; };
-      protobufWithNixHacks = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
-      pythonBinPathWithNixHacks = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
-
-      # downstream packages using buildBazelPackage
-      # fixed-output hashes of the fetch phase need to be spot-checked manually
-      downstream = recurseIntoAttrs ({
-        inherit bazel-watcher;
-      });
-    };
-
-  # update the list of workspace dependencies
-  passthru.updater = writeScript "update-bazel-deps.sh" ''
-    #!${runtimeShell}
-    cat ${runCommand "bazel-deps.json" {} ''
-        ${unzip}/bin/unzip ${src} WORKSPACE
-        ${python3}/bin/python3 ${../update-srcDeps.py} ./WORKSPACE > $out
-    ''} > ${builtins.toString ./src-deps.json}
-  '';
-
-  # Necessary for the tests to pass on Darwin with sandbox enabled.
-  # Bazel starts a local server and needs to bind a local address.
-  __darwinAllowLocalNetworking = true;
-
-  # Bazel expects several utils to be available in Bash even without PATH. Hence this hack.
-  customBash = writeCBin "bash" ''
-    #include <stdio.h>
-    #include <stdlib.h>
-    #include <string.h>
-    #include <unistd.h>
-
-    extern char **environ;
-
-    int main(int argc, char *argv[]) {
-      char *path = getenv("PATH");
-      char *pathToAppend = "${defaultShellPath}";
-      char *newPath;
-      if (path != NULL) {
-        int length = strlen(path) + 1 + strlen(pathToAppend) + 1;
-        newPath = malloc(length * sizeof(char));
-        snprintf(newPath, length, "%s:%s", path, pathToAppend);
-      } else {
-        newPath = pathToAppend;
-      }
-      setenv("PATH", newPath, 1);
-      execve("${bash}/bin/bash", argv, environ);
-      return 0;
-    }
-  '';
-
-  postPatch = let
-
-    darwinPatches = ''
-      bazelLinkFlags () {
-        eval set -- "$NIX_LDFLAGS"
-        local flag
-        for flag in "$@"; do
-          printf ' -Wl,%s' "$flag"
-        done
-      }
-
-      # Disable Bazel's Xcode toolchain detection which would configure compilers
-      # and linkers from Xcode instead of from PATH
-      export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1
-
-      # Explicitly configure gcov since we don't have it on Darwin, so autodetection fails
-      export GCOV=${coreutils}/bin/false
-
-      # Framework search paths aren't added by bintools hook
-      # https://github.com/NixOS/nixpkgs/pull/41914
-      export NIX_LDFLAGS+=" -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks"
-
-      # libcxx includes aren't added by libcxx hook
-      # https://github.com/NixOS/nixpkgs/pull/41589
-      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${llvmPackages_8.libcxx}/include/c++/v1"
-
-      # don't use system installed Xcode to run clang, use Nix clang instead
-      sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv'.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \
-        scripts/bootstrap/compile.sh \
-        src/tools/xcode/realpath/BUILD \
-        src/tools/xcode/stdredirect/BUILD \
-        tools/osx/BUILD
-
-      # nixpkgs's libSystem cannot use pthread headers directly, must import GCD headers instead
-      sed -i -e "/#include <pthread\/spawn.h>/i #include <dispatch/dispatch.h>" src/main/cpp/blaze_util_darwin.cc
-
-      # clang installed from Xcode has a compatibility wrapper that forwards
-      # invocations of gcc to clang, but vanilla clang doesn't
-      sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl
-
-      sed -i -e 's;/usr/bin/libtool;${cctools}/bin/libtool;g' tools/cpp/unix_cc_configure.bzl
-      wrappers=( tools/cpp/osx_cc_wrapper.sh tools/cpp/osx_cc_wrapper.sh.tpl )
-      for wrapper in "''${wrappers[@]}"; do
-        sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper
-      done
-    '';
-
-    genericPatches = ''
-      # Substitute j2objc and objc wrapper's python shebang to plain python path.
-      # These scripts explicitly depend on Python 2.7, hence we use python27.
-      # See also `postFixup` where python27 is added to $out/nix-support
-      substituteInPlace tools/j2objc/j2objc_header_map.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
-      substituteInPlace tools/j2objc/j2objc_wrapper.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
-      substituteInPlace tools/objc/j2objc_dead_code_pruner.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
-
-      # md5sum is part of coreutils
-      sed -i 's|/sbin/md5|md5sum|' \
-        src/BUILD
-
-      # substituteInPlace is rather slow, so prefilter the files with grep
-      grep -rlZ /bin src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do
-        # If you add more replacements here, you must change the grep above!
-        # Only files containing /bin are taken into account.
-        # We default to python3 where possible. See also `postFixup` where
-        # python3 is added to $out/nix-support
-        substituteInPlace "$path" \
-          --replace /bin/bash ${customBash}/bin/bash \
-          --replace "/usr/bin/env bash" ${customBash}/bin/bash \
-          --replace "/usr/bin/env python" ${python3}/bin/python \
-          --replace /usr/bin/env ${coreutils}/bin/env \
-          --replace /bin/true ${coreutils}/bin/true
-      done
-
-      # bazel test runner include references to /bin/bash
-      substituteInPlace tools/build_rules/test_rules.bzl \
-        --replace /bin/bash ${customBash}/bin/bash
-
-      for i in $(find tools/cpp/ -type f)
-      do
-        substituteInPlace $i \
-          --replace /bin/bash ${customBash}/bin/bash
-      done
-
-      # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
-      substituteInPlace scripts/bootstrap/compile.sh \
-          --replace /bin/bash ${customBash}/bin/bash
-
-      # add nix environment vars to .bazelrc
-      cat >> .bazelrc <<EOF
-      build --distdir=${distDir}
-      fetch --distdir=${distDir}
-      build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')"
-      build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')"
-      build --linkopt="$(echo $(< ${stdenv'.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt="/g')"
-      build --host_linkopt="$(echo $(< ${stdenv'.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt="/g')"
-      build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')"
-      build --host_linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt="-Wl,/g')"
-      build --host_javabase='@local_jdk//:jdk'
-      build --host_java_toolchain='${javaToolchain}'
-      EOF
-
-      # add the same environment vars to compile.sh
-      sed -e "/\$command \\\\$/a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" \
-          -e "/\$command \\\\$/a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" \
-          -e "/\$command \\\\$/a --linkopt=\"$(echo $(< ${stdenv'.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt=\"/g')\" \\\\" \
-          -e "/\$command \\\\$/a --host_linkopt=\"$(echo $(< ${stdenv'.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt=\"/g')\" \\\\" \
-          -e "/\$command \\\\$/a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" \
-          -e "/\$command \\\\$/a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" \
-          -e "/\$command \\\\$/a --host_javabase='@local_jdk//:jdk' \\\\" \
-          -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \
-          -i scripts/bootstrap/compile.sh
-
-      # This is necessary to avoid:
-      # "error: no visible @interface for 'NSDictionary' declares the selector
-      # 'initWithContentsOfURL:error:'"
-      # This can be removed when the apple_sdk is upgraded beyond 10.13+
-      sed -i '/initWithContentsOfURL:versionPlistUrl/ {
-        N
-        s/error:nil\];/\];/
-      }' tools/osx/xcode_locator.m
-
-      # append the PATH with defaultShellPath in tools/bash/runfiles/runfiles.bash
-      echo "PATH=\$PATH:${defaultShellPath}" >> runfiles.bash.tmp
-      cat tools/bash/runfiles/runfiles.bash >> runfiles.bash.tmp
-      mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash
-
-      patchShebangs .
-    '';
-    in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches
-     + genericPatches;
-
-  buildInputs = [
-    buildJdk
-    python3
-  ];
-
-  # when a command can’t be found in a bazel build, you might also
-  # need to add it to `defaultShellPath`.
-  nativeBuildInputs = [
-    zip
-    python3
-    unzip
-    makeWrapper
-    which
-    customBash
-  ] ++ lib.optionals (stdenv.isDarwin) [ cctools CoreFoundation CoreServices Foundation ];
-
-  # Bazel makes extensive use of symlinks in the WORKSPACE.
-  # This causes problems with infinite symlinks if the build output is in the same location as the
-  # Bazel WORKSPACE. This is why before executing the build, the source code is moved into a
-  # subdirectory.
-  # Failing to do this causes "infinite symlink expansion detected"
-  preBuildPhases = ["preBuildPhase"];
-  preBuildPhase = ''
-    mkdir bazel_src
-    shopt -s dotglob extglob
-    mv !(bazel_src) bazel_src
-  '';
-
-  buildPhase = ''
-    # Increasing memory during compilation might be necessary.
-    # export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms200m"
-    ./bazel_src/compile.sh
-    ./bazel_src/scripts/generate_bash_completion.sh \
-        --bazel=./bazel_src/output/bazel \
-        --output=./bazel_src/output/bazel-complete.bash \
-        --prepend=./bazel_src/scripts/bazel-complete-header.bash \
-        --prepend=./bazel_src/scripts/bazel-complete-template.bash
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-
-    # official wrapper scripts that searches for $WORKSPACE_ROOT/tools/bazel
-    # if it can’t find something in tools, it calls $out/bin/bazel-real
-    cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
-    mv ./bazel_src/output/bazel $out/bin/bazel-real
-
-    # shell completion files
-    mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
-    mv ./bazel_src/output/bazel-complete.bash $out/share/bash-completion/completions/bazel
-    cp ./bazel_src/scripts/zsh_completion/_bazel $out/share/zsh/site-functions/
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    export TEST_TMPDIR=$(pwd)
-
-    hello_test () {
-      $out/bin/bazel test --distdir=${distDir} \
-        --test_output=errors \
-        --java_toolchain='${javaToolchain}' \
-        examples/cpp:hello-success_test \
-        examples/java-native/src/test/java/com/example/myproject:hello
-    }
-
-    cd ./bazel_src
-
-    # test whether $WORKSPACE_ROOT/tools/bazel works
-
-    mkdir -p tools
-    cat > tools/bazel <<"EOF"
-    #!${runtimeShell} -e
-    exit 1
-    EOF
-    chmod +x tools/bazel
-
-    # first call should fail if tools/bazel is used
-    ! hello_test
-
-    cat > tools/bazel <<"EOF"
-    #!${runtimeShell} -e
-    exec "$BAZEL_REAL" "$@"
-    EOF
-
-    # second call succeeds because it defers to $out/bin/bazel-real
-    hello_test
-  '';
-
-  # Save paths to hardcoded dependencies so Nix can detect them.
-  postFixup = ''
-    mkdir -p $out/nix-support
-    echo "${customBash} ${defaultShellPath}" >> $out/nix-support/depends
-    # The templates get tar’d up into a .jar,
-    # so nix can’t detect python is needed in the runtime closure
-    # Some of the scripts explicitly depend on Python 2.7. Otherwise, we
-    # default to using python3. Therefore, both python27 and python3 are
-    # runtime dependencies.
-    echo "${python27}" >> $out/nix-support/depends
-    echo "${python3}" >> $out/nix-support/depends
-  '' + lib.optionalString stdenv.isDarwin ''
-    echo "${cctools}" >> $out/nix-support/depends
-  '';
-
-  dontStrip = true;
-  dontPatchELF = true;
-}
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_29/glibc.patch b/pkgs/development/tools/build-managers/bazel/bazel_0_29/glibc.patch
deleted file mode 100644
index c4de48068f1..00000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_29/glibc.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From https://github.com/grpc/grpc/commit/57586a1ca7f17b1916aed3dea4ff8de872dbf853
-From: Benjamin Peterson <benjamin@dropbox.com>
-Date: Fri, 3 May 2019 08:11:00 -0700
-Subject: [PATCH] Rename gettid() functions.
-
-glibc 2.30 will declare its own gettid; see https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92. Rename the grpc versions to avoid naming conflicts.
----
- src/core/lib/gpr/log_linux.cc          | 6 ++----
- src/core/lib/gpr/log_posix.cc          | 4 ++--
- src/core/lib/iomgr/ev_epollex_linux.cc | 4 ++--
- 3 files changed, 6 insertions(+), 8 deletions(-)
-
-diff --git a/third_party/grpc/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc
-index 81026e5689b..8b597b4cf2f 100644
---- a/third_party/grpc/src/core/lib/gpr/log_linux.cc
-+++ b/third_party/grpc/src/core/lib/gpr/log_linux.cc
-@@ -40,7 +40,7 @@
- #include <time.h>
- #include <unistd.h>
-
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
-              const char* format, ...) {
-@@ -70,7 +70,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-   gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME);
-   struct tm tm;
-   static __thread long tid = 0;
--  if (tid == 0) tid = gettid();
-+  if (tid == 0) tid = sys_gettid();
-
-   timer = static_cast<time_t>(now.tv_sec);
-   final_slash = strrchr(args->file, '/');
-diff --git a/third_party/grpc/src/core/lib/gpr/log_posix.cc b/src/core/lib/gpr/log_posix.cc
-index b6edc14ab6b..2f7c6ce3760 100644
---- a/third_party/grpc/src/core/lib/gpr/log_posix.cc
-+++ b/third_party/grpc/src/core/lib/gpr/log_posix.cc
-@@ -31,7 +31,7 @@
- #include <string.h>
- #include <time.h>
-
--static intptr_t gettid(void) { return (intptr_t)pthread_self(); }
-+static intptr_t sys_gettid(void) { return (intptr_t)pthread_self(); }
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
-              const char* format, ...) {
-@@ -86,7 +86,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-   char* prefix;
-   gpr_asprintf(&prefix, "%s%s.%09d %7" PRIdPTR " %s:%d]",
-                gpr_log_severity_string(args->severity), time_buffer,
--               (int)(now.tv_nsec), gettid(), display_file, args->line);
-+               (int)(now.tv_nsec), sys_gettid(), display_file, args->line);
-
-   fprintf(stderr, "%-70s %s\n", prefix, args->message);
-   gpr_free(prefix);
-diff --git a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc
-index c2d80c08ddb..4a83cb6c215 100644
---- a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
-+++ b/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
-@@ -1077,7 +1077,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
- }
-
- #ifndef NDEBUG
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
- #endif
-
- /* pollset->mu lock must be held by the caller before calling this.
-@@ -1097,7 +1097,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
- #define WORKER_PTR (&worker)
- #endif
- #ifndef NDEBUG
--  WORKER_PTR->originator = gettid();
-+  WORKER_PTR->originator = sys_gettid();
- #endif
-   if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
-     gpr_log(GPR_INFO,
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_29/src-deps.json b/pkgs/development/tools/build-managers/bazel/bazel_0_29/src-deps.json
deleted file mode 100644
index f93794249ec..00000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_29/src-deps.json
+++ /dev/null
@@ -1,506 +0,0 @@
-{
-    "0.16.2.zip": {
-        "name": "0.16.2.zip",
-        "sha256": "9b72bb0aea72d7cbcfc82a01b1e25bf3d85f791e790ddec16c65e2d906382ee0",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip",
-            "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip"
-        ]
-    },
-    "0.27.1.tar.gz": {
-        "name": "0.27.1.tar.gz",
-        "sha256": "28cb3666da80fbc62d4c46814f5468dd5d0b59f9064c0b933eee3140d706d330",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.27.1.tar.gz",
-            "https://github.com/bazelbuild/bazel-toolchains/archive/0.27.1.tar.gz"
-        ]
-    },
-    "0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip": {
-        "name": "0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-        "sha256": "36fa66d4d49debd71d05fba55c1353b522e8caef4a20f8080a3d17cdda001d89",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-            "https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip"
-        ]
-    },
-    "41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz": {
-        "name": "41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz",
-        "sha256": "fdc34621839104b57363a258eab9d821b02ff7837923cfe7fb6fd67182780829",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz",
-            "https://github.com/bazelbuild/skydoc/archive/41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz"
-        ]
-    },
-    "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip": {
-        "name": "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-        "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-            "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip"
-        ]
-    },
-    "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip": {
-        "name": "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
-        "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
-            "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
-        ]
-    },
-    "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz": {
-        "name": "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
-        "sha256": "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
-            "https://github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz"
-        ]
-    },
-    "android_tools_pkg-0.8.tar.gz": {
-        "name": "android_tools_pkg-0.8.tar.gz",
-        "sha256": "a9eac6e1b27d5549edaaa724b20eb1cdae6253b84f44d5744c30372bd523cfcd",
-        "urls": [
-            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.8.tar.gz"
-        ]
-    },
-    "b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz": {
-        "name": "b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz",
-        "sha256": "88b0a90433866b44bb4450d4c30bc5738b8c4f9c9ba14e9661deb123f56a833d",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz",
-            "https://github.com/bazelbuild/rules_proto/archive/b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz"
-        ]
-    },
-    "bazel_j2objc": {
-        "name": "bazel_j2objc",
-        "sha256": "8d3403b5b7db57e347c943d214577f6879e5b175c2b59b7e075c0b6453330e9b",
-        "strip_prefix": "j2objc-2.5",
-        "urls": [
-            "https://miirror.bazel.build/github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip",
-            "https://github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip"
-        ]
-    },
-    "bazel_skylib": {
-        "name": "bazel_skylib",
-        "sha256": "ba5d15ca230efca96320085d8e4d58da826d1f81b444ef8afccd8b23e0799b52",
-        "strip_prefix": "bazel-skylib-f83cb8dd6f5658bc574ccd873e25197055265d1c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-            "https://github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz"
-        ]
-    },
-    "bazel_toolchains": {
-        "name": "bazel_toolchains",
-        "sha256": "28cb3666da80fbc62d4c46814f5468dd5d0b59f9064c0b933eee3140d706d330",
-        "strip_prefix": "bazel-toolchains-0.27.1",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.27.1.tar.gz",
-            "https://github.com/bazelbuild/bazel-toolchains/archive/0.27.1.tar.gz"
-        ]
-    },
-    "build_bazel_rules_nodejs": {
-        "name": "build_bazel_rules_nodejs",
-        "sha256": "9b72bb0aea72d7cbcfc82a01b1e25bf3d85f791e790ddec16c65e2d906382ee0",
-        "strip_prefix": "rules_nodejs-0.16.2",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip",
-            "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip"
-        ]
-    },
-    "com_google_googletest": {
-        "name": "com_google_googletest",
-        "sha256": "0fb00ff413f6b9b80ccee44a374ca7a18af7315aea72a43c62f2acd1ca74e9b5",
-        "strip_prefix": "googletest-f13bbe2992d188e834339abe6f715b2b2f840a77",
-        "urls": [
-            "https://mirror.bazel.build/github.com/google/googletest/archive/f13bbe2992d188e834339abe6f715b2b2f840a77.tar.gz",
-            "https://github.com/google/googletest/archive/f13bbe2992d188e834339abe6f715b2b2f840a77.tar.gz"
-        ]
-    },
-    "coverage_output_generator-v1.0.zip": {
-        "name": "coverage_output_generator-v1.0.zip",
-        "sha256": "cc470e529fafb6165b5be3929ff2d99b38429b386ac100878687416603a67889",
-        "urls": [
-            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v1.0.zip"
-        ]
-    },
-    "desugar_jdk_libs": {
-        "name": "desugar_jdk_libs",
-        "sha256": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
-        "strip_prefix": "desugar_jdk_libs-e0b0291b2c51fbe5a7cfa14473a1ae850f94f021",
-        "urls": [
-            "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-            "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip"
-        ]
-    },
-    "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip": {
-        "name": "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-        "sha256": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
-        "urls": [
-            "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-            "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip"
-        ]
-    },
-    "f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz": {
-        "name": "f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-        "sha256": "ba5d15ca230efca96320085d8e4d58da826d1f81b444ef8afccd8b23e0799b52",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-            "https://github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz"
-        ]
-    },
-    "io_bazel_rules_sass": {
-        "name": "io_bazel_rules_sass",
-        "sha256": "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898",
-        "strip_prefix": "rules_sass-8ccf4f1c351928b55d5dddf3672e3667f6978d60",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
-            "https://github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz"
-        ]
-    },
-    "io_bazel_skydoc": {
-        "name": "io_bazel_skydoc",
-        "sha256": "fdc34621839104b57363a258eab9d821b02ff7837923cfe7fb6fd67182780829",
-        "strip_prefix": "skydoc-41c28e43dffbae39c52dd4b91932d1209e5a8893",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz",
-            "https://github.com/bazelbuild/skydoc/archive/41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz"
-        ]
-    },
-    "java_tools_javac11_darwin-v4.0.zip": {
-        "name": "java_tools_javac11_darwin-v4.0.zip",
-        "sha256": "fbf5bf22e9aab9c622e4c8c59314a1eef5ea09eafc5672b4f3250dc0b971bbcc",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v4.0/java_tools_javac11_darwin-v4.0.zip"
-        ]
-    },
-    "java_tools_javac11_linux-v4.0.zip": {
-        "name": "java_tools_javac11_linux-v4.0.zip",
-        "sha256": "96e223094a12c842a66db0bb7bb6866e88e26e678f045842911f9bd6b47161f5",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v4.0/java_tools_javac11_linux-v4.0.zip"
-        ]
-    },
-    "java_tools_javac11_windows-v4.0.zip": {
-        "name": "java_tools_javac11_windows-v4.0.zip",
-        "sha256": "a1de51447b2ba2eab923d589ba6c72c289c16e6091e6a3bb3e67a05ef4ad200c",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v4.0/java_tools_javac11_windows-v4.0.zip"
-        ]
-    },
-    "java_tools_langtools_javac10": {
-        "name": "java_tools_langtools_javac10",
-        "sha256": "0e9c9ac5ef17869de3cb8c3497c4c0d31836ef7b63efe1690506f53783adb212",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk10_v2.zip"
-        ]
-    },
-    "java_tools_langtools_javac11": {
-        "name": "java_tools_langtools_javac11",
-        "sha256": "cf0814fa002ef3d794582bb086516d8c9ed0958f83f19799cdb08949019fe4c7",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk11_v2.zip"
-        ]
-    },
-    "java_tools_langtools_javac12": {
-        "name": "java_tools_langtools_javac12",
-        "sha256": "99b107105165a91df82cd7cf82a8efb930d803fb7de1663cf7f780142104cd14",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk12.zip"
-        ]
-    },
-    "java_tools_langtools_javac9": {
-        "name": "java_tools_langtools_javac9",
-        "sha256": "d94befcfb325a9a62aebc2052e631fde2322b4df5c82a19ed260b38ba12a0ad1",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk9_v2.zip"
-        ]
-    },
-    "jdk10-server-release-1804.tar.xz": {
-        "name": "jdk10-server-release-1804.tar.xz",
-        "sha256": "b7098b7aaf6ee1ffd4a2d0371a0be26c5a5c87f6aebbe46fe9a92c90583a84be",
-        "urls": [
-            "https://mirror.bazel.build/openjdk.linaro.org/releases/jdk10-server-release-1804.tar.xz"
-        ]
-    },
-    "jdk9-server-release-1708.tar.xz": {
-        "name": "jdk9-server-release-1708.tar.xz",
-        "sha256": "72e7843902b0395e2d30e1e9ad2a5f05f36a4bc62529828bcbc698d54aec6022",
-        "urls": [
-            "https://mirror.bazel.build/openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz"
-        ]
-    },
-    "openjdk10_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk10_linux_archive",
-        "sha256": "b3c2d762091a615b0c1424ebbd05d75cc114da3bf4f25a0dec5c51ea7e84146f",
-        "strip_prefix": "zulu10.2+3-jdk10.0.1-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk11_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk11_linux_archive",
-        "sha256": "ddb0fd4526089cf1ce2db36282c282263f587a9e8be373fa02f511a12923cc48",
-        "strip_prefix": "zulu11.31.11-ca-jdk11.0.3-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.11-ca-jdk11.0.3/zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk12_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk12_linux_archive",
-        "sha256": "529c99841d69e11a85aea967ccfb9d0fd40b98c5b68dbe1d059002655e0a9c13",
-        "strip_prefix": "zulu12.2.3-ca-jdk12.0.1-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu12.2.3-ca-jdk12.0.1/zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk9_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk9_linux_archive",
-        "sha256": "45f2dfbee93b91b1468cf81d843fc6d9a47fef1f831c0b7ceff4f1eb6e6851c8",
-        "strip_prefix": "zulu9.0.7.1-jdk9.0.7-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk_linux": {
-        "downloaded_file_path": "zulu-linux.tar.gz",
-        "name": "openjdk_linux",
-        "sha256": "460d8a4f0c0204160b48086e341b22943c9cca471b195340e75b38ae9eb33c1c",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64-allmodules-90755145cb6e6418584d8603cd5fa9afbb30aecc-1549209950.tar.gz"
-        ]
-    },
-    "openjdk_linux_aarch64": {
-        "downloaded_file_path": "zulu-linux-aarch64.tar.gz",
-        "name": "openjdk_linux_aarch64",
-        "sha256": "23c37c0c3a8fdcbc68e96e70ff5c5c020c14db76deaae9b547849afda4586e5e",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64-allmodules-c82eb4878c7dc829455caeb915affe36c89df06f-1561630858.tar.gz"
-        ]
-    },
-    "openjdk_linux_aarch64_minimal": {
-        "downloaded_file_path": "zulu-linux-aarch64-minimal.tar.gz",
-        "name": "openjdk_linux_aarch64_minimal",
-        "sha256": "7af2583fe5ef0a781d4a9dca0c0160d42e7db1305ec1b66f98aa44c91cc875df",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64-minimal-c82eb4878c7dc829455caeb915affe36c89df06f-1561630858.tar.gz"
-        ]
-    },
-    "openjdk_linux_aarch64_vanilla": {
-        "downloaded_file_path": "zulu-linux-aarch64-vanilla.tar.gz",
-        "name": "openjdk_linux_aarch64_vanilla",
-        "sha256": "3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz"
-        ]
-    },
-    "openjdk_linux_minimal": {
-        "downloaded_file_path": "zulu-linux-minimal.tar.gz",
-        "name": "openjdk_linux_minimal",
-        "sha256": "5123bc8dd21886761d1fd9ca0fb1898b3372d7243064a070ec81ca9c9d1a6791",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64-minimal-524ae2ca2a782c9f15e00f08bd35b3f8ceacbd7f-1556011926.tar.gz"
-        ]
-    },
-    "openjdk_linux_vanilla": {
-        "downloaded_file_path": "zulu-linux-vanilla.tar.gz",
-        "name": "openjdk_linux_vanilla",
-        "sha256": "f3f44b6235508e87b760bf37a49e186cc1fa4e9cd28384c4dbf5a33991921e08",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk_macos": {
-        "downloaded_file_path": "zulu-macos.tar.gz",
-        "name": "openjdk_macos",
-        "sha256": "8fa61d85ca6f657d646fdb50cfc8634987f8f7d8a3250ed39fb7364647633252",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64-allmodules-90755145cb6e6418584d8603cd5fa9afbb30aecc-1549209951.tar.gz"
-        ]
-    },
-    "openjdk_macos_minimal": {
-        "downloaded_file_path": "zulu-macos-minimal.tar.gz",
-        "name": "openjdk_macos_minimal",
-        "sha256": "ac56e44db46fd56ac78b39b6823daed4faa74a2677ac340c7d217f863884ec0f",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64-minimal-524ae2ca2a782c9f15e00f08bd35b3f8ceacbd7f-1556003114.tar.gz"
-        ]
-    },
-    "openjdk_macos_vanilla": {
-        "downloaded_file_path": "zulu-macos-vanilla.tar.gz",
-        "name": "openjdk_macos_vanilla",
-        "sha256": "059f8e3484bf07b63a8f2820d5f528f473eff1befdb1896ee4f8ff06be3b8d8f",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip"
-        ]
-    },
-    "openjdk_win": {
-        "downloaded_file_path": "zulu-win.zip",
-        "name": "openjdk_win",
-        "sha256": "e6ddb361309f8e84eb5fb5ad8b0f5cc031ba3679910139262c31efd8f7579d05",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64-allmodules-90755145cb6e6418584d8603cd5fa9afbb30aecc-1549209972.zip"
-        ]
-    },
-    "openjdk_win_minimal": {
-        "downloaded_file_path": "zulu-win-minimal.zip",
-        "name": "openjdk_win_minimal",
-        "sha256": "8e5dada6e9ebcc9ce29b4d051449bb95d3ee1e620e166da862224bbf15211f8b",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64-minimal-524ae2ca2a782c9f15e00f08bd35b3f8ceacbd7f-1556003136.zip"
-        ]
-    },
-    "openjdk_win_vanilla": {
-        "downloaded_file_path": "zulu-win-vanilla.zip",
-        "name": "openjdk_win_vanilla",
-        "sha256": "e1f5b4ce1b9148140fae2fcfb8a96d1c9b7eac5b8df0e13fbcad9b8561284880",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64.zip"
-        ]
-    },
-    "platforms": {
-        "name": "platforms",
-        "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5",
-        "strip_prefix": "platforms-441afe1bfdadd6236988e9cac159df6b5a9f5a98",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-            "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip"
-        ]
-    },
-    "rules_cc": {
-        "name": "rules_cc",
-        "sha256": "36fa66d4d49debd71d05fba55c1353b522e8caef4a20f8080a3d17cdda001d89",
-        "strip_prefix": "rules_cc-0d5f3f2768c6ca2faca0079a997a97ce22997a0c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-            "https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip"
-        ]
-    },
-    "rules_java": {
-        "name": "rules_java",
-        "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598",
-        "strip_prefix": "rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
-            "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
-        ]
-    },
-    "rules_pkg": {
-        "name": "rules_pkg",
-        "sha256": "5bdc04987af79bd27bc5b00fe30f59a858f77ffa0bd2d8143d5b31ad8b1bd71c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/rules_pkg-0.2.0.tar.gz",
-            "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.0/rules_pkg-0.2.0.tar.gz"
-        ]
-    },
-    "rules_pkg-0.2.0.tar.gz": {
-        "name": "rules_pkg-0.2.0.tar.gz",
-        "sha256": "5bdc04987af79bd27bc5b00fe30f59a858f77ffa0bd2d8143d5b31ad8b1bd71c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/rules_pkg-0.2.0.tar.gz",
-            "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.0/rules_pkg-0.2.0.tar.gz"
-        ]
-    },
-    "rules_proto": {
-        "name": "rules_proto",
-        "sha256": "88b0a90433866b44bb4450d4c30bc5738b8c4f9c9ba14e9661deb123f56a833d",
-        "strip_prefix": "rules_proto-b0cc14be5da05168b01db282fe93bdf17aa2b9f4",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz",
-            "https://github.com/bazelbuild/rules_proto/archive/b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz"
-        ]
-    },
-    "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz": {
-        "name": "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz",
-        "sha256": "57fad3602e74c79587901d6966d3b54ef32cb811829a2552163185d5064fe9b5",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz": {
-        "name": "zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz",
-        "sha256": "e669c9a897413d855b550b4e39d79614392e6fb96f494e8ef99a34297d9d85d3",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip": {
-        "name": "zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip",
-        "sha256": "c39e7700a8d41794d60985df5a20352435196e78ecbc6a2b30df7be8637bffd5",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip"
-        ]
-    },
-    "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz": {
-        "name": "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
-        "sha256": "232b1c3511f0d26e92582b7c3cc363be7ac633e371854ca2f2e9f2b50eb72a75",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz"
-        ]
-    },
-    "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz": {
-        "name": "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
-        "sha256": "1edf366ee821e5db8e348152fcb337b28dfd6bf0f97943c270dcc6747cedb6cb",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz"
-        ]
-    },
-    "zulu11.2.3-jdk11.0.1-win_x64.zip": {
-        "name": "zulu11.2.3-jdk11.0.1-win_x64.zip",
-        "sha256": "8e1e2b8347de6746f3fd1538840dd643201533ab113abc4ed93678e342d28aa3",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-win_x64.zip"
-        ]
-    },
-    "zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz": {
-        "name": "zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
-        "sha256": "f3f44b6235508e87b760bf37a49e186cc1fa4e9cd28384c4dbf5a33991921e08",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz"
-        ]
-    },
-    "zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip": {
-        "name": "zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip",
-        "sha256": "059f8e3484bf07b63a8f2820d5f528f473eff1befdb1896ee4f8ff06be3b8d8f",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip"
-        ]
-    },
-    "zulu11.29.3-ca-jdk11.0.2-win_x64.zip": {
-        "name": "zulu11.29.3-ca-jdk11.0.2-win_x64.zip",
-        "sha256": "e1f5b4ce1b9148140fae2fcfb8a96d1c9b7eac5b8df0e13fbcad9b8561284880",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64.zip"
-        ]
-    },
-    "zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz": {
-        "name": "zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz",
-        "sha256": "3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz"
-        ]
-    },
-    "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz": {
-        "name": "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz",
-        "sha256": "f27cb933de4f9e7fe9a703486cf44c84bc8e9f138be0c270c9e5716a32367e87",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz": {
-        "name": "zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz",
-        "sha256": "404e7058ff91f956612f47705efbee8e175a38b505fb1b52d8c1ea98718683de",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip": {
-        "name": "zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip",
-        "sha256": "e738829017f107e7a7cd5069db979398ec3c3f03ef56122f89ba38e7374f63ed",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip"
-        ]
-    }
-}
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix
deleted file mode 100644
index f9bcab19fe0..00000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix
+++ /dev/null
@@ -1,561 +0,0 @@
-{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub
-, runCommand, runCommandCC, makeWrapper, recurseIntoAttrs
-# this package (through the fixpoint glass)
-, bazel_self
-, lr, xe, zip, unzip, bash, writeCBin, coreutils
-, which, gawk, gnused, gnutar, gnugrep, gzip, findutils
-# updater
-, python27, python3, writeScript
-# Apple dependencies
-, cctools, llvmPackages_8, CoreFoundation, CoreServices, Foundation
-# Allow to independently override the jdks used to build and run respectively
-, buildJdk, runJdk
-, buildJdkName
-, runtimeShell
-# Downstream packages for tests
-, bazel-watcher
-# Always assume all markers valid (this is needed because we remove markers; they are non-deterministic).
-# Also, don't clean up environment variables (so that NIX_ environment variables are passed to compilers).
-, enableNixHacks ? false
-, gcc-unwrapped
-, autoPatchelfHook
-, file
-, substituteAll
-, writeTextFile
-}:
-
-let
-  version = "1.2.1";
-
-  src = fetchurl {
-    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "1qfk14mgx1m454b4w4ldggljzqkqwpdwrlynq7rc8aq11yfs8p95";
-  };
-
-  # Update with `eval $(nix-build -A bazel.updater)`,
-  # then add new dependencies from the dict in ./src-deps.json as required.
-  srcDeps = lib.attrsets.attrValues srcDepsSet;
-  srcDepsSet =
-    let
-      srcs = lib.importJSON ./src-deps.json;
-      toFetchurl = d: lib.attrsets.nameValuePair d.name (fetchurl {
-        urls = d.urls;
-        sha256 = d.sha256;
-        });
-        in builtins.listToAttrs (map toFetchurl [
-      srcs.desugar_jdk_libs
-      srcs.io_bazel_skydoc
-      srcs.bazel_skylib
-      srcs.io_bazel_rules_sass
-      srcs.platforms
-      (if stdenv.hostPlatform.isDarwin
-       then srcs."java_tools_javac11_darwin-v6.1.zip"
-       else srcs."java_tools_javac11_linux-v6.1.zip")
-      srcs."coverage_output_generator-v2.0.zip"
-      srcs.build_bazel_rules_nodejs
-      srcs."android_tools_pkg-0.12.tar.gz"
-      srcs."0.28.3.tar.gz"
-      srcs.rules_pkg
-      srcs.rules_cc
-      srcs.rules_java
-      srcs.rules_proto
-      ]);
-
-  distDir = runCommand "bazel-deps" {} ''
-    mkdir -p $out
-    for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
-  '';
-
-  defaultShellPath = lib.makeBinPath
-    # Keep this list conservative. For more exotic tools, prefer to use
-    # @rules_nixpkgs to pull in tools from the nix repository. Example:
-    #
-    # WORKSPACE:
-    #
-    #     nixpkgs_git_repository(
-    #         name = "nixpkgs",
-    #         revision = "def5124ec8367efdba95a99523dd06d918cb0ae8",
-    #     )
-    #
-    #     # This defines an external Bazel workspace.
-    #     nixpkgs_package(
-    #         name = "bison",
-    #         repositories = { "nixpkgs": "@nixpkgs//:default.nix" },
-    #     )
-    #
-    # some/BUILD.bazel:
-    #
-    #     genrule(
-    #        ...
-    #        cmd = "$(location @bison//:bin/bison) -other -args",
-    #        tools = [
-    #            ...
-    #            "@bison//:bin/bison",
-    #        ],
-    #     )
-    #
-    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip file zip ];
-
-  # Java toolchain used for the build and tests
-  javaToolchain = "@bazel_tools//tools/jdk:toolchain_host${buildJdkName}";
-
-  platforms = lib.platforms.linux ++ lib.platforms.darwin;
-
-  # This repository is fetched by bazel at runtime
-  # however it contains prebuilt java binaries, with wrong interpreter
-  # and libraries path.
-  # We prefetch it, patch it, and override it in a global bazelrc.
-  system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux";
-
-  remote_java_tools = stdenv.mkDerivation {
-    name = "remote_java_tools_${system}";
-
-    src = srcDepsSet."java_tools_javac11_${system}-v6.1.zip";
-
-    nativeBuildInputs = [ unzip ]
-      ++ lib.optional stdenv.isLinux autoPatchelfHook;
-    buildInputs = [ gcc-unwrapped ];
-
-    sourceRoot = ".";
-
-    buildPhase = ''
-      mkdir $out;
-    '';
-
-    installPhase = ''
-      cp -Ra * $out/
-      touch $out/WORKSPACE
-    '';
-  };
-
-  bazelRC = writeTextFile {
-    name = "bazel-rc";
-    text = ''
-      build --override_repository=${remote_java_tools.name}=${remote_java_tools}
-      build --distdir=${distDir}
-      startup --server_javabase=${runJdk}
-
-      # load default location for the system wide configuration
-      try-import /etc/bazel.bazelrc
-    '';
-  };
-
-  stdenv' = if stdenv.isDarwin then llvmPackages_8.libcxxStdenv else stdenv;
-
-in
-stdenv'.mkDerivation rec {
-  pname = "bazel";
-  inherit version;
-
-  meta = with lib; {
-    homepage = "https://github.com/bazelbuild/bazel/";
-    description = "Build tool that builds code quickly and reliably";
-    license = licenses.asl20;
-    maintainers = lib.teams.bazel.members;
-    inherit platforms;
-  };
-
-  inherit src;
-  sourceRoot = ".";
-
-  patches = [
-    # On Darwin, the last argument to gcc is coming up as an empty string. i.e: ''
-    # This is breaking the build of any C target. This patch removes the last
-    # argument if it's found to be an empty string.
-    ../trim-last-argument-to-gcc-if-empty.patch
-    ./glibc.patch
-
-    # --experimental_strict_action_env (which may one day become the default
-    # see bazelbuild/bazel#2574) hardcodes the default
-    # action environment to a non hermetic value (e.g. "/usr/local/bin").
-    # This is non hermetic on non-nixos systems. On NixOS, bazel cannot find the required binaries.
-    # So we are replacing this bazel paths by defaultShellPath,
-    # improving hermeticity and making it work in nixos.
-    (substituteAll {
-      src = ../strict_action_env.patch;
-      strictActionEnvPatch = defaultShellPath;
-    })
-
-    # bazel reads its system bazelrc in /etc
-    # override this path to a builtin one
-    (substituteAll {
-      src = ../bazel_rc.patch;
-      bazelSystemBazelRCPath = bazelRC;
-    })
-  ] ++ lib.optional enableNixHacks ../nix-hacks.patch;
-
-
-  # Additional tests that check bazel’s functionality. Execute
-  #
-  #     nix-build . -A bazel.tests
-  #
-  # in the nixpkgs checkout root to exercise them locally.
-  passthru.tests =
-    let
-      runLocal = name: attrs: script:
-      let
-        attrs' = removeAttrs attrs [ "buildInputs" ];
-        buildInputs = [ python3 ] ++ (attrs.buildInputs or []);
-      in
-      runCommandCC name ({
-        inherit buildInputs;
-        preferLocalBuild = true;
-        meta.platforms = platforms;
-      } // attrs') script;
-
-      # bazel wants to extract itself into $install_dir/install every time it runs,
-      # so let’s do that only once.
-      extracted = bazelPkg:
-        let install_dir =
-          # `install_base` field printed by `bazel info`, minus the hash.
-          # yes, this path is kinda magic. Sorry.
-          "$HOME/.cache/bazel/_bazel_nixbld";
-        in runLocal "bazel-extracted-homedir" { passthru.install_dir = install_dir; } ''
-            export HOME=$(mktemp -d)
-            touch WORKSPACE # yeah, everything sucks
-            install_base="$(${bazelPkg}/bin/bazel info | grep install_base)"
-            # assert it’s actually below install_dir
-            [[ "$install_base" =~ ${install_dir} ]] \
-              || (echo "oh no! $install_base but we are \
-            trying to copy ${install_dir} to $out instead!"; exit 1)
-            cp -R ${install_dir} $out
-          '';
-
-      bazelTest = { name, bazelScript, workspaceDir, bazelPkg, buildInputs ? [] }:
-        let
-          be = extracted bazelPkg;
-        in runLocal name { inherit buildInputs; } (
-          # skip extraction caching on Darwin, because nobody knows how Darwin works
-          (lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
-            # set up home with pre-unpacked bazel
-            export HOME=$(mktemp -d)
-            mkdir -p ${be.install_dir}
-            cp -R ${be}/install ${be.install_dir}
-
-            # https://stackoverflow.com/questions/47775668/bazel-how-to-skip-corrupt-installation-on-centos6
-            # Bazel checks whether the mtime of the install dir files
-            # is >9 years in the future, otherwise it extracts itself again.
-            # see PosixFileMTime::IsUntampered in src/main/cpp/util
-            # What the hell bazel.
-            ${lr}/bin/lr -0 -U ${be.install_dir} | ${xe}/bin/xe -N0 -0 touch --date="9 years 6 months" {}
-          '')
-          +
-          ''
-            # Note https://github.com/bazelbuild/bazel/issues/5763#issuecomment-456374609
-            # about why to create a subdir for the workspace.
-            cp -r ${workspaceDir} wd && chmod u+w wd && cd wd
-
-            ${bazelScript}
-
-            touch $out
-          '');
-
-      bazelWithNixHacks = bazel_self.override { enableNixHacks = true; };
-
-      bazel-examples = fetchFromGitHub {
-        owner = "bazelbuild";
-        repo = "examples";
-        rev = "5d8c8961a2516ebf875787df35e98cadd08d43dc";
-        sha256 = "03c1bwlq5bs3hg96v4g4pg2vqwhqq6w538h66rcpw02f83yy7fs8";
-      };
-
-    in (if !stdenv.hostPlatform.isDarwin then {
-      # `extracted` doesn’t work on darwin
-      shebang = callPackage ../shebang-test.nix { inherit runLocal extracted bazelTest distDir; };
-    } else {}) // {
-      bashTools = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; };
-      cpp = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; };
-      java = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; };
-      protobuf = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; };
-      pythonBinPath = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; };
-
-      bashToolsWithNixHacks = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
-
-      cppWithNixHacks = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; };
-      javaWithNixHacks = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; };
-      protobufWithNixHacks = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
-      pythonBinPathWithNixHacks = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
-
-      # downstream packages using buildBazelPackage
-      # fixed-output hashes of the fetch phase need to be spot-checked manually
-      downstream = recurseIntoAttrs ({
-        inherit bazel-watcher;
-      });
-    };
-
-  # update the list of workspace dependencies
-  passthru.updater = writeScript "update-bazel-deps.sh" ''
-    #!${runtimeShell}
-    cat ${runCommand "bazel-deps.json" {} ''
-        ${unzip}/bin/unzip ${src} WORKSPACE
-        ${python3}/bin/python3 ${../update-srcDeps.py} ./WORKSPACE > $out
-    ''} > ${builtins.toString ./src-deps.json}
-  '';
-
-  # Necessary for the tests to pass on Darwin with sandbox enabled.
-  # Bazel starts a local server and needs to bind a local address.
-  __darwinAllowLocalNetworking = true;
-
-  # Bazel expects several utils to be available in Bash even without PATH. Hence this hack.
-  customBash = writeCBin "bash" ''
-    #include <stdio.h>
-    #include <stdlib.h>
-    #include <string.h>
-    #include <unistd.h>
-
-    extern char **environ;
-
-    int main(int argc, char *argv[]) {
-      char *path = getenv("PATH");
-      char *pathToAppend = "${defaultShellPath}";
-      char *newPath;
-      if (path != NULL) {
-        int length = strlen(path) + 1 + strlen(pathToAppend) + 1;
-        newPath = malloc(length * sizeof(char));
-        snprintf(newPath, length, "%s:%s", path, pathToAppend);
-      } else {
-        newPath = pathToAppend;
-      }
-      setenv("PATH", newPath, 1);
-      execve("${bash}/bin/bash", argv, environ);
-      return 0;
-    }
-  '';
-
-  postPatch = let
-
-    darwinPatches = ''
-      bazelLinkFlags () {
-        eval set -- "$NIX_LDFLAGS"
-        local flag
-        for flag in "$@"; do
-          printf ' -Wl,%s' "$flag"
-        done
-      }
-
-      # Disable Bazel's Xcode toolchain detection which would configure compilers
-      # and linkers from Xcode instead of from PATH
-      export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1
-
-      # Explicitly configure gcov since we don't have it on Darwin, so autodetection fails
-      export GCOV=${coreutils}/bin/false
-
-      # Framework search paths aren't added by bintools hook
-      # https://github.com/NixOS/nixpkgs/pull/41914
-      export NIX_LDFLAGS+=" -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks"
-
-      # libcxx includes aren't added by libcxx hook
-      # https://github.com/NixOS/nixpkgs/pull/41589
-      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${llvmPackages_8.libcxx}/include/c++/v1"
-
-      # don't use system installed Xcode to run clang, use Nix clang instead
-      sed -i -E "s;/usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.9;${stdenv'.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \
-        scripts/bootstrap/compile.sh \
-        src/tools/xcode/realpath/BUILD \
-        src/tools/xcode/stdredirect/BUILD \
-        tools/osx/BUILD
-
-      # nixpkgs's libSystem cannot use pthread headers directly, must import GCD headers instead
-      sed -i -e "/#include <pthread\/spawn.h>/i #include <dispatch/dispatch.h>" src/main/cpp/blaze_util_darwin.cc
-
-      # clang installed from Xcode has a compatibility wrapper that forwards
-      # invocations of gcc to clang, but vanilla clang doesn't
-      sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl
-
-      sed -i -e 's;/usr/bin/libtool;${cctools}/bin/libtool;g' tools/cpp/unix_cc_configure.bzl
-      wrappers=( tools/cpp/osx_cc_wrapper.sh tools/cpp/osx_cc_wrapper.sh.tpl )
-      for wrapper in "''${wrappers[@]}"; do
-        sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper
-      done
-    '';
-
-    genericPatches = ''
-      # Substitute j2objc and objc wrapper's python shebang to plain python path.
-      # These scripts explicitly depend on Python 2.7, hence we use python27.
-      # See also `postFixup` where python27 is added to $out/nix-support
-      substituteInPlace tools/j2objc/j2objc_header_map.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
-      substituteInPlace tools/j2objc/j2objc_wrapper.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
-      substituteInPlace tools/objc/j2objc_dead_code_pruner.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
-
-      # md5sum is part of coreutils
-      sed -i 's|/sbin/md5|md5sum|g' \
-        src/BUILD
-
-      # substituteInPlace is rather slow, so prefilter the files with grep
-      grep -rlZ /bin src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do
-        # If you add more replacements here, you must change the grep above!
-        # Only files containing /bin are taken into account.
-        # We default to python3 where possible. See also `postFixup` where
-        # python3 is added to $out/nix-support
-        substituteInPlace "$path" \
-          --replace /bin/bash ${customBash}/bin/bash \
-          --replace "/usr/bin/env bash" ${customBash}/bin/bash \
-          --replace "/usr/bin/env python" ${python3}/bin/python \
-          --replace /usr/bin/env ${coreutils}/bin/env \
-          --replace /bin/true ${coreutils}/bin/true
-      done
-
-      # bazel test runner include references to /bin/bash
-      substituteInPlace tools/build_rules/test_rules.bzl \
-        --replace /bin/bash ${customBash}/bin/bash
-
-      for i in $(find tools/cpp/ -type f)
-      do
-        substituteInPlace $i \
-          --replace /bin/bash ${customBash}/bin/bash
-      done
-
-      # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
-      substituteInPlace scripts/bootstrap/compile.sh \
-          --replace /bin/bash ${customBash}/bin/bash
-
-      # add nix environment vars to .bazelrc
-      cat >> .bazelrc <<EOF
-      build --distdir=${distDir}
-      fetch --distdir=${distDir}
-      build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')"
-      build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')"
-      build --linkopt="$(echo $(< ${stdenv'.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt="/g')"
-      build --host_linkopt="$(echo $(< ${stdenv'.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt="/g')"
-      build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')"
-      build --host_linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt="-Wl,/g')"
-      build --host_javabase='@local_jdk//:jdk'
-      build --host_java_toolchain='${javaToolchain}'
-      EOF
-
-      # add the same environment vars to compile.sh
-      sed -e "/\$command \\\\$/a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" \
-          -e "/\$command \\\\$/a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" \
-          -e "/\$command \\\\$/a --linkopt=\"$(echo $(< ${stdenv'.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt=\"/g')\" \\\\" \
-          -e "/\$command \\\\$/a --host_linkopt=\"$(echo $(< ${stdenv'.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt=\"/g')\" \\\\" \
-          -e "/\$command \\\\$/a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" \
-          -e "/\$command \\\\$/a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" \
-          -e "/\$command \\\\$/a --host_javabase='@local_jdk//:jdk' \\\\" \
-          -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \
-          -i scripts/bootstrap/compile.sh
-
-      # This is necessary to avoid:
-      # "error: no visible @interface for 'NSDictionary' declares the selector
-      # 'initWithContentsOfURL:error:'"
-      # This can be removed when the apple_sdk is upgraded beyond 10.13+
-      sed -i '/initWithContentsOfURL:versionPlistUrl/ {
-        N
-        s/error:nil\];/\];/
-      }' tools/osx/xcode_locator.m
-
-      # append the PATH with defaultShellPath in tools/bash/runfiles/runfiles.bash
-      echo "PATH=\$PATH:${defaultShellPath}" >> runfiles.bash.tmp
-      cat tools/bash/runfiles/runfiles.bash >> runfiles.bash.tmp
-      mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash
-
-      patchShebangs .
-    '';
-    in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches
-     + genericPatches;
-
-  buildInputs = [
-    buildJdk
-    python3
-  ];
-
-  # when a command can’t be found in a bazel build, you might also
-  # need to add it to `defaultShellPath`.
-  nativeBuildInputs = [
-    zip
-    python3
-    unzip
-    makeWrapper
-    which
-    customBash
-  ] ++ lib.optionals (stdenv.isDarwin) [ cctools CoreFoundation CoreServices Foundation ];
-
-  # Bazel makes extensive use of symlinks in the WORKSPACE.
-  # This causes problems with infinite symlinks if the build output is in the same location as the
-  # Bazel WORKSPACE. This is why before executing the build, the source code is moved into a
-  # subdirectory.
-  # Failing to do this causes "infinite symlink expansion detected"
-  preBuildPhases = ["preBuildPhase"];
-  preBuildPhase = ''
-    mkdir bazel_src
-    shopt -s dotglob extglob
-    mv !(bazel_src) bazel_src
-  '';
-
-  buildPhase = ''
-    # Increasing memory during compilation might be necessary.
-    # export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms200m"
-    ./bazel_src/compile.sh
-    ./bazel_src/scripts/generate_bash_completion.sh \
-        --bazel=./bazel_src/output/bazel \
-        --output=./bazel_src/output/bazel-complete.bash \
-        --prepend=./bazel_src/scripts/bazel-complete-header.bash \
-        --prepend=./bazel_src/scripts/bazel-complete-template.bash
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-
-    # official wrapper scripts that searches for $WORKSPACE_ROOT/tools/bazel
-    # if it can’t find something in tools, it calls $out/bin/bazel-real
-    cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
-    mv ./bazel_src/output/bazel $out/bin/bazel-real
-
-    # shell completion files
-    mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
-    mv ./bazel_src/output/bazel-complete.bash $out/share/bash-completion/completions/bazel
-    cp ./bazel_src/scripts/zsh_completion/_bazel $out/share/zsh/site-functions/
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    export TEST_TMPDIR=$(pwd)
-
-    hello_test () {
-      $out/bin/bazel test --distdir=${distDir} \
-        --test_output=errors \
-        --java_toolchain='${javaToolchain}' \
-        examples/cpp:hello-success_test \
-        examples/java-native/src/test/java/com/example/myproject:hello
-    }
-
-    cd ./bazel_src
-
-    # test whether $WORKSPACE_ROOT/tools/bazel works
-
-    mkdir -p tools
-    cat > tools/bazel <<"EOF"
-    #!${runtimeShell} -e
-    exit 1
-    EOF
-    chmod +x tools/bazel
-
-    # first call should fail if tools/bazel is used
-    ! hello_test
-
-    cat > tools/bazel <<"EOF"
-    #!${runtimeShell} -e
-    exec "$BAZEL_REAL" "$@"
-    EOF
-
-    # second call succeeds because it defers to $out/bin/bazel-real
-    hello_test
-  '';
-
-  # Save paths to hardcoded dependencies so Nix can detect them.
-  postFixup = ''
-    mkdir -p $out/nix-support
-    echo "${customBash} ${defaultShellPath}" >> $out/nix-support/depends
-    # The templates get tar’d up into a .jar,
-    # so nix can’t detect python is needed in the runtime closure
-    # Some of the scripts explicitly depend on Python 2.7. Otherwise, we
-    # default to using python3. Therefore, both python27 and python3 are
-    # runtime dependencies.
-    echo "${python27}" >> $out/nix-support/depends
-    echo "${python3}" >> $out/nix-support/depends
-  '' + lib.optionalString stdenv.isDarwin ''
-    echo "${cctools}" >> $out/nix-support/depends
-  '';
-
-  dontStrip = true;
-  dontPatchELF = true;
-}
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_1/glibc.patch b/pkgs/development/tools/build-managers/bazel/bazel_1/glibc.patch
deleted file mode 100644
index c4de48068f1..00000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_1/glibc.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From https://github.com/grpc/grpc/commit/57586a1ca7f17b1916aed3dea4ff8de872dbf853
-From: Benjamin Peterson <benjamin@dropbox.com>
-Date: Fri, 3 May 2019 08:11:00 -0700
-Subject: [PATCH] Rename gettid() functions.
-
-glibc 2.30 will declare its own gettid; see https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92. Rename the grpc versions to avoid naming conflicts.
----
- src/core/lib/gpr/log_linux.cc          | 6 ++----
- src/core/lib/gpr/log_posix.cc          | 4 ++--
- src/core/lib/iomgr/ev_epollex_linux.cc | 4 ++--
- 3 files changed, 6 insertions(+), 8 deletions(-)
-
-diff --git a/third_party/grpc/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc
-index 81026e5689b..8b597b4cf2f 100644
---- a/third_party/grpc/src/core/lib/gpr/log_linux.cc
-+++ b/third_party/grpc/src/core/lib/gpr/log_linux.cc
-@@ -40,7 +40,7 @@
- #include <time.h>
- #include <unistd.h>
-
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
-              const char* format, ...) {
-@@ -70,7 +70,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-   gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME);
-   struct tm tm;
-   static __thread long tid = 0;
--  if (tid == 0) tid = gettid();
-+  if (tid == 0) tid = sys_gettid();
-
-   timer = static_cast<time_t>(now.tv_sec);
-   final_slash = strrchr(args->file, '/');
-diff --git a/third_party/grpc/src/core/lib/gpr/log_posix.cc b/src/core/lib/gpr/log_posix.cc
-index b6edc14ab6b..2f7c6ce3760 100644
---- a/third_party/grpc/src/core/lib/gpr/log_posix.cc
-+++ b/third_party/grpc/src/core/lib/gpr/log_posix.cc
-@@ -31,7 +31,7 @@
- #include <string.h>
- #include <time.h>
-
--static intptr_t gettid(void) { return (intptr_t)pthread_self(); }
-+static intptr_t sys_gettid(void) { return (intptr_t)pthread_self(); }
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
-              const char* format, ...) {
-@@ -86,7 +86,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-   char* prefix;
-   gpr_asprintf(&prefix, "%s%s.%09d %7" PRIdPTR " %s:%d]",
-                gpr_log_severity_string(args->severity), time_buffer,
--               (int)(now.tv_nsec), gettid(), display_file, args->line);
-+               (int)(now.tv_nsec), sys_gettid(), display_file, args->line);
-
-   fprintf(stderr, "%-70s %s\n", prefix, args->message);
-   gpr_free(prefix);
-diff --git a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc
-index c2d80c08ddb..4a83cb6c215 100644
---- a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
-+++ b/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
-@@ -1077,7 +1077,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
- }
-
- #ifndef NDEBUG
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
- #endif
-
- /* pollset->mu lock must be held by the caller before calling this.
-@@ -1097,7 +1097,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
- #define WORKER_PTR (&worker)
- #endif
- #ifndef NDEBUG
--  WORKER_PTR->originator = gettid();
-+  WORKER_PTR->originator = sys_gettid();
- #endif
-   if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
-     gpr_log(GPR_INFO,
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_1/src-deps.json b/pkgs/development/tools/build-managers/bazel/bazel_1/src-deps.json
deleted file mode 100644
index 7cf939daa72..00000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_1/src-deps.json
+++ /dev/null
@@ -1,506 +0,0 @@
-{
-    "0.16.2.zip": {
-        "name": "0.16.2.zip",
-        "sha256": "9b72bb0aea72d7cbcfc82a01b1e25bf3d85f791e790ddec16c65e2d906382ee0",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip",
-            "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip"
-        ]
-    },
-    "0.28.3.tar.gz": {
-        "name": "0.28.3.tar.gz",
-        "sha256": "d8c2f20deb2f6143bac792d210db1a4872102d81529fe0ea3476c1696addd7ff",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.28.3.tar.gz",
-            "https://github.com/bazelbuild/bazel-toolchains/archive/0.28.3.tar.gz"
-        ]
-    },
-    "0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip": {
-        "name": "0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-        "sha256": "36fa66d4d49debd71d05fba55c1353b522e8caef4a20f8080a3d17cdda001d89",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-            "https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip"
-        ]
-    },
-    "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip": {
-        "name": "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-        "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-            "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip"
-        ]
-    },
-    "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip": {
-        "name": "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
-        "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
-            "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
-        ]
-    },
-    "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz": {
-        "name": "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
-        "sha256": "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
-            "https://github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz"
-        ]
-    },
-    "97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz": {
-        "name": "97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz",
-        "sha256": "602e7161d9195e50246177e7c55b2f39950a9cf7366f74ed5f22fd45750cd208",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz",
-            "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz"
-        ]
-    },
-    "android_tools_pkg-0.12.tar.gz": {
-        "name": "android_tools_pkg-0.12.tar.gz",
-        "sha256": "96c4eef4d195dd95e43a4259cf5b82a1e34f67333439e91955bbdc0e1c8e7a31",
-        "urls": [
-            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.12.tar.gz"
-        ]
-    },
-    "bazel_j2objc": {
-        "name": "bazel_j2objc",
-        "sha256": "8d3403b5b7db57e347c943d214577f6879e5b175c2b59b7e075c0b6453330e9b",
-        "strip_prefix": "j2objc-2.5",
-        "urls": [
-            "https://mirror.bazel.build/github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip",
-            "https://github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip"
-        ]
-    },
-    "bazel_skylib": {
-        "name": "bazel_skylib",
-        "sha256": "ba5d15ca230efca96320085d8e4d58da826d1f81b444ef8afccd8b23e0799b52",
-        "strip_prefix": "bazel-skylib-f83cb8dd6f5658bc574ccd873e25197055265d1c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-            "https://github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz"
-        ]
-    },
-    "bazel_toolchains": {
-        "name": "bazel_toolchains",
-        "sha256": "d8c2f20deb2f6143bac792d210db1a4872102d81529fe0ea3476c1696addd7ff",
-        "strip_prefix": "bazel-toolchains-0.28.3",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.28.3.tar.gz",
-            "https://github.com/bazelbuild/bazel-toolchains/archive/0.28.3.tar.gz"
-        ]
-    },
-    "build_bazel_rules_nodejs": {
-        "name": "build_bazel_rules_nodejs",
-        "sha256": "9b72bb0aea72d7cbcfc82a01b1e25bf3d85f791e790ddec16c65e2d906382ee0",
-        "strip_prefix": "rules_nodejs-0.16.2",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip",
-            "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip"
-        ]
-    },
-    "c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz": {
-        "name": "c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz",
-        "sha256": "e6a76586b264f30679688f65f7e71ac112d1446681010a13bf22d9ca071f34b7",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz",
-            "https://github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz"
-        ]
-    },
-    "com_google_googletest": {
-        "name": "com_google_googletest",
-        "sha256": "9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb",
-        "strip_prefix": "googletest-release-1.10.0",
-        "urls": [
-            "https://mirror.bazel.build/github.com/google/googletest/archive/release-1.10.0.tar.gz",
-            "https://github.com/google/googletest/archive/release-1.10.0.tar.gz"
-        ]
-    },
-    "coverage_output_generator-v2.0.zip": {
-        "name": "coverage_output_generator-v2.0.zip",
-        "sha256": "3a6951051272d51613ac4c77af6ce238a3db321bf06506fde1b8866eb18a89dd",
-        "urls": [
-            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.0.zip"
-        ]
-    },
-    "desugar_jdk_libs": {
-        "name": "desugar_jdk_libs",
-        "sha256": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
-        "strip_prefix": "desugar_jdk_libs-e0b0291b2c51fbe5a7cfa14473a1ae850f94f021",
-        "urls": [
-            "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-            "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip"
-        ]
-    },
-    "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip": {
-        "name": "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-        "sha256": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
-        "urls": [
-            "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-            "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip"
-        ]
-    },
-    "f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz": {
-        "name": "f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-        "sha256": "ba5d15ca230efca96320085d8e4d58da826d1f81b444ef8afccd8b23e0799b52",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-            "https://github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz"
-        ]
-    },
-    "io_bazel_rules_sass": {
-        "name": "io_bazel_rules_sass",
-        "sha256": "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898",
-        "strip_prefix": "rules_sass-8ccf4f1c351928b55d5dddf3672e3667f6978d60",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
-            "https://github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz"
-        ]
-    },
-    "io_bazel_skydoc": {
-        "name": "io_bazel_skydoc",
-        "sha256": "e6a76586b264f30679688f65f7e71ac112d1446681010a13bf22d9ca071f34b7",
-        "strip_prefix": "skydoc-c7bbde2950769aac9a99364b0926230060a3ce04",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz",
-            "https://github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz"
-        ]
-    },
-    "java_tools_javac11_darwin-v6.1.zip": {
-        "name": "java_tools_javac11_darwin-v6.1.zip",
-        "sha256": "f0c488dac18f18ab1a0d18bbd65288c7a128e90a24d9c16f65bd8243f79483a0",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v6.1/java_tools_javac11_darwin-v6.1.zip"
-        ]
-    },
-    "java_tools_javac11_linux-v6.1.zip": {
-        "name": "java_tools_javac11_linux-v6.1.zip",
-        "sha256": "12f7940ed0bc4c2e82238951cdf19b4179c7dcc361d16fe40fe4266538fb4ac6",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v6.1/java_tools_javac11_linux-v6.1.zip"
-        ]
-    },
-    "java_tools_javac11_windows-v6.1.zip": {
-        "name": "java_tools_javac11_windows-v6.1.zip",
-        "sha256": "e2deb2efff684de78787e0bdc7620f9672d13f04a12856d8e7f677369a8e286b",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v6.1/java_tools_javac11_windows-v6.1.zip"
-        ]
-    },
-    "java_tools_langtools_javac10": {
-        "name": "java_tools_langtools_javac10",
-        "sha256": "0e9c9ac5ef17869de3cb8c3497c4c0d31836ef7b63efe1690506f53783adb212",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk10_v2.zip"
-        ]
-    },
-    "java_tools_langtools_javac11": {
-        "name": "java_tools_langtools_javac11",
-        "sha256": "cf0814fa002ef3d794582bb086516d8c9ed0958f83f19799cdb08949019fe4c7",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk11_v2.zip"
-        ]
-    },
-    "java_tools_langtools_javac12": {
-        "name": "java_tools_langtools_javac12",
-        "sha256": "99b107105165a91df82cd7cf82a8efb930d803fb7de1663cf7f780142104cd14",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk12.zip"
-        ]
-    },
-    "java_tools_langtools_javac9": {
-        "name": "java_tools_langtools_javac9",
-        "sha256": "d94befcfb325a9a62aebc2052e631fde2322b4df5c82a19ed260b38ba12a0ad1",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk9_v2.zip"
-        ]
-    },
-    "jdk10-server-release-1804.tar.xz": {
-        "name": "jdk10-server-release-1804.tar.xz",
-        "sha256": "b7098b7aaf6ee1ffd4a2d0371a0be26c5a5c87f6aebbe46fe9a92c90583a84be",
-        "urls": [
-            "https://mirror.bazel.build/openjdk.linaro.org/releases/jdk10-server-release-1804.tar.xz"
-        ]
-    },
-    "jdk9-server-release-1708.tar.xz": {
-        "name": "jdk9-server-release-1708.tar.xz",
-        "sha256": "72e7843902b0395e2d30e1e9ad2a5f05f36a4bc62529828bcbc698d54aec6022",
-        "urls": [
-            "https://mirror.bazel.build/openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz"
-        ]
-    },
-    "openjdk10_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk10_linux_archive",
-        "sha256": "b3c2d762091a615b0c1424ebbd05d75cc114da3bf4f25a0dec5c51ea7e84146f",
-        "strip_prefix": "zulu10.2+3-jdk10.0.1-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk11_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk11_linux_archive",
-        "sha256": "ddb0fd4526089cf1ce2db36282c282263f587a9e8be373fa02f511a12923cc48",
-        "strip_prefix": "zulu11.31.11-ca-jdk11.0.3-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.11-ca-jdk11.0.3/zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk12_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk12_linux_archive",
-        "sha256": "529c99841d69e11a85aea967ccfb9d0fd40b98c5b68dbe1d059002655e0a9c13",
-        "strip_prefix": "zulu12.2.3-ca-jdk12.0.1-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu12.2.3-ca-jdk12.0.1/zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk9_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk9_linux_archive",
-        "sha256": "45f2dfbee93b91b1468cf81d843fc6d9a47fef1f831c0b7ceff4f1eb6e6851c8",
-        "strip_prefix": "zulu9.0.7.1-jdk9.0.7-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk_linux": {
-        "downloaded_file_path": "zulu-linux.tar.gz",
-        "name": "openjdk_linux",
-        "sha256": "460d8a4f0c0204160b48086e341b22943c9cca471b195340e75b38ae9eb33c1c",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64-allmodules-90755145cb6e6418584d8603cd5fa9afbb30aecc-1549209950.tar.gz"
-        ]
-    },
-    "openjdk_linux_aarch64": {
-        "downloaded_file_path": "zulu-linux-aarch64.tar.gz",
-        "name": "openjdk_linux_aarch64",
-        "sha256": "23c37c0c3a8fdcbc68e96e70ff5c5c020c14db76deaae9b547849afda4586e5e",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64-allmodules-c82eb4878c7dc829455caeb915affe36c89df06f-1561630858.tar.gz"
-        ]
-    },
-    "openjdk_linux_aarch64_minimal": {
-        "downloaded_file_path": "zulu-linux-aarch64-minimal.tar.gz",
-        "name": "openjdk_linux_aarch64_minimal",
-        "sha256": "7af2583fe5ef0a781d4a9dca0c0160d42e7db1305ec1b66f98aa44c91cc875df",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64-minimal-c82eb4878c7dc829455caeb915affe36c89df06f-1561630858.tar.gz"
-        ]
-    },
-    "openjdk_linux_aarch64_vanilla": {
-        "downloaded_file_path": "zulu-linux-aarch64-vanilla.tar.gz",
-        "name": "openjdk_linux_aarch64_vanilla",
-        "sha256": "3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz"
-        ]
-    },
-    "openjdk_linux_minimal": {
-        "downloaded_file_path": "zulu-linux-minimal.tar.gz",
-        "name": "openjdk_linux_minimal",
-        "sha256": "5123bc8dd21886761d1fd9ca0fb1898b3372d7243064a070ec81ca9c9d1a6791",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64-minimal-524ae2ca2a782c9f15e00f08bd35b3f8ceacbd7f-1556011926.tar.gz"
-        ]
-    },
-    "openjdk_linux_vanilla": {
-        "downloaded_file_path": "zulu-linux-vanilla.tar.gz",
-        "name": "openjdk_linux_vanilla",
-        "sha256": "f3f44b6235508e87b760bf37a49e186cc1fa4e9cd28384c4dbf5a33991921e08",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk_macos": {
-        "downloaded_file_path": "zulu-macos.tar.gz",
-        "name": "openjdk_macos",
-        "sha256": "8fa61d85ca6f657d646fdb50cfc8634987f8f7d8a3250ed39fb7364647633252",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64-allmodules-90755145cb6e6418584d8603cd5fa9afbb30aecc-1549209951.tar.gz"
-        ]
-    },
-    "openjdk_macos_minimal": {
-        "downloaded_file_path": "zulu-macos-minimal.tar.gz",
-        "name": "openjdk_macos_minimal",
-        "sha256": "ac56e44db46fd56ac78b39b6823daed4faa74a2677ac340c7d217f863884ec0f",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64-minimal-524ae2ca2a782c9f15e00f08bd35b3f8ceacbd7f-1556003114.tar.gz"
-        ]
-    },
-    "openjdk_macos_vanilla": {
-        "downloaded_file_path": "zulu-macos-vanilla.tar.gz",
-        "name": "openjdk_macos_vanilla",
-        "sha256": "059f8e3484bf07b63a8f2820d5f528f473eff1befdb1896ee4f8ff06be3b8d8f",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip"
-        ]
-    },
-    "openjdk_win": {
-        "downloaded_file_path": "zulu-win.zip",
-        "name": "openjdk_win",
-        "sha256": "e6ddb361309f8e84eb5fb5ad8b0f5cc031ba3679910139262c31efd8f7579d05",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64-allmodules-90755145cb6e6418584d8603cd5fa9afbb30aecc-1549209972.zip"
-        ]
-    },
-    "openjdk_win_minimal": {
-        "downloaded_file_path": "zulu-win-minimal.zip",
-        "name": "openjdk_win_minimal",
-        "sha256": "8e5dada6e9ebcc9ce29b4d051449bb95d3ee1e620e166da862224bbf15211f8b",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64-minimal-524ae2ca2a782c9f15e00f08bd35b3f8ceacbd7f-1556003136.zip"
-        ]
-    },
-    "openjdk_win_vanilla": {
-        "downloaded_file_path": "zulu-win-vanilla.zip",
-        "name": "openjdk_win_vanilla",
-        "sha256": "e1f5b4ce1b9148140fae2fcfb8a96d1c9b7eac5b8df0e13fbcad9b8561284880",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64.zip"
-        ]
-    },
-    "platforms": {
-        "name": "platforms",
-        "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5",
-        "strip_prefix": "platforms-441afe1bfdadd6236988e9cac159df6b5a9f5a98",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-            "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip"
-        ]
-    },
-    "rules_cc": {
-        "name": "rules_cc",
-        "sha256": "36fa66d4d49debd71d05fba55c1353b522e8caef4a20f8080a3d17cdda001d89",
-        "strip_prefix": "rules_cc-0d5f3f2768c6ca2faca0079a997a97ce22997a0c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-            "https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip"
-        ]
-    },
-    "rules_java": {
-        "name": "rules_java",
-        "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598",
-        "strip_prefix": "rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
-            "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
-        ]
-    },
-    "rules_pkg": {
-        "name": "rules_pkg",
-        "sha256": "5bdc04987af79bd27bc5b00fe30f59a858f77ffa0bd2d8143d5b31ad8b1bd71c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/rules_pkg-0.2.0.tar.gz",
-            "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.0/rules_pkg-0.2.0.tar.gz"
-        ]
-    },
-    "rules_pkg-0.2.0.tar.gz": {
-        "name": "rules_pkg-0.2.0.tar.gz",
-        "sha256": "5bdc04987af79bd27bc5b00fe30f59a858f77ffa0bd2d8143d5b31ad8b1bd71c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/rules_pkg-0.2.0.tar.gz",
-            "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.0/rules_pkg-0.2.0.tar.gz"
-        ]
-    },
-    "rules_proto": {
-        "name": "rules_proto",
-        "sha256": "602e7161d9195e50246177e7c55b2f39950a9cf7366f74ed5f22fd45750cd208",
-        "strip_prefix": "rules_proto-97d8af4dc474595af3900dd85cb3a29ad28cc313",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz",
-            "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz"
-        ]
-    },
-    "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz": {
-        "name": "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz",
-        "sha256": "57fad3602e74c79587901d6966d3b54ef32cb811829a2552163185d5064fe9b5",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz": {
-        "name": "zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz",
-        "sha256": "e669c9a897413d855b550b4e39d79614392e6fb96f494e8ef99a34297d9d85d3",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip": {
-        "name": "zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip",
-        "sha256": "c39e7700a8d41794d60985df5a20352435196e78ecbc6a2b30df7be8637bffd5",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip"
-        ]
-    },
-    "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz": {
-        "name": "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
-        "sha256": "232b1c3511f0d26e92582b7c3cc363be7ac633e371854ca2f2e9f2b50eb72a75",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz"
-        ]
-    },
-    "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz": {
-        "name": "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
-        "sha256": "1edf366ee821e5db8e348152fcb337b28dfd6bf0f97943c270dcc6747cedb6cb",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz"
-        ]
-    },
-    "zulu11.2.3-jdk11.0.1-win_x64.zip": {
-        "name": "zulu11.2.3-jdk11.0.1-win_x64.zip",
-        "sha256": "8e1e2b8347de6746f3fd1538840dd643201533ab113abc4ed93678e342d28aa3",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-win_x64.zip"
-        ]
-    },
-    "zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz": {
-        "name": "zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
-        "sha256": "f3f44b6235508e87b760bf37a49e186cc1fa4e9cd28384c4dbf5a33991921e08",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz"
-        ]
-    },
-    "zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip": {
-        "name": "zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip",
-        "sha256": "059f8e3484bf07b63a8f2820d5f528f473eff1befdb1896ee4f8ff06be3b8d8f",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip"
-        ]
-    },
-    "zulu11.29.3-ca-jdk11.0.2-win_x64.zip": {
-        "name": "zulu11.29.3-ca-jdk11.0.2-win_x64.zip",
-        "sha256": "e1f5b4ce1b9148140fae2fcfb8a96d1c9b7eac5b8df0e13fbcad9b8561284880",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64.zip"
-        ]
-    },
-    "zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz": {
-        "name": "zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz",
-        "sha256": "3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz"
-        ]
-    },
-    "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz": {
-        "name": "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz",
-        "sha256": "f27cb933de4f9e7fe9a703486cf44c84bc8e9f138be0c270c9e5716a32367e87",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz": {
-        "name": "zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz",
-        "sha256": "404e7058ff91f956612f47705efbee8e175a38b505fb1b52d8c1ea98718683de",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip": {
-        "name": "zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip",
-        "sha256": "e738829017f107e7a7cd5069db979398ec3c3f03ef56122f89ba38e7374f63ed",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip"
-        ]
-    }
-}
diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
index 7d56e55ebdb..21e9abd04f2 100644
--- a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
@@ -40,10 +40,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "man" "info" ];
 
   meta = with lib; {
-    homepage = "https://www.gnu.org/software/make/";
     description = "A tool to control the generation of non-source files from sources";
-    license = licenses.gpl3Plus;
-
     longDescription = ''
       Make is a tool which controls the generation of executables and
       other non-source files of a program from the program's source files.
@@ -54,8 +51,11 @@ stdenv.mkDerivation rec {
       should write a makefile for it, so that it is possible to use Make
       to build and install the program.
     '';
+    homepage = "https://www.gnu.org/software/make/";
 
-    platforms = platforms.all;
+    license = licenses.gpl3Plus;
     maintainers = [ maintainers.vrthra ];
+    mainProgram = "make";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix
index 183548f5e31..7c4b0ad4650 100644
--- a/pkgs/development/tools/build-managers/gnumake/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/default.nix
@@ -37,10 +37,7 @@ stdenv.mkDerivation rec {
   separateDebugInfo = true;
 
   meta = with lib; {
-    homepage = "https://www.gnu.org/software/make/";
     description = "A tool to control the generation of non-source files from sources";
-    license = licenses.gpl3Plus;
-
     longDescription = ''
       Make is a tool which controls the generation of executables and
       other non-source files of a program from the program's source files.
@@ -51,8 +48,11 @@ stdenv.mkDerivation rec {
       should write a makefile for it, so that it is possible to use Make
       to build and install the program.
     '';
+    homepage = "https://www.gnu.org/software/make/";
 
-    platforms = platforms.all;
+    license = licenses.gpl3Plus;
     maintainers = [ maintainers.vrthra ];
+    mainProgram = "make";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/build-managers/jam/ftjam.nix b/pkgs/development/tools/build-managers/jam/ftjam.nix
index 6007b67f148..1f106401c0d 100644
--- a/pkgs/development/tools/build-managers/jam/ftjam.nix
+++ b/pkgs/development/tools/build-managers/jam/ftjam.nix
@@ -42,10 +42,11 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    homepage = "https://freetype.org/jam/";
     description = "Freetype's enhanced, backwards-compatible Jam clone";
+    homepage = "https://freetype.org/jam/";
     license = licenses.free;
     maintainers = with maintainers; [ AndersonTorres ];
+    mainProgram = "jam";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/build-managers/samurai/default.nix b/pkgs/development/tools/build-managers/samurai/default.nix
index b13762d63b1..675160751d1 100644
--- a/pkgs/development/tools/build-managers/samurai/default.nix
+++ b/pkgs/development/tools/build-managers/samurai/default.nix
@@ -35,7 +35,6 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/michaelforney/samurai";
     description = "ninja-compatible build tool written in C";
     longDescription = ''
       samurai is a ninja-compatible build tool with a focus on simplicity,
@@ -50,8 +49,10 @@ stdenv.mkDerivation rec {
       .ninja_deps as the original ninja tool, currently version 5 and 4
       respectively.
     '';
+    homepage = "https://github.com/michaelforney/samurai";
     license = with licenses; [ mit asl20 ]; # see LICENSE
     maintainers = with maintainers; [ dtzWill AndersonTorres ];
+    mainProgram = "samu";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix
index 26770276372..fa59649dd23 100644
--- a/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -67,11 +67,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description =
-      "A more featureful runner for sbt, the simple/scala/standard build tool";
+    description = "A more featureful runner for sbt, the simple/scala/standard build tool";
     homepage = "https://github.com/paulp/sbt-extras";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ nequissimus puffnfresh ];
+    mainProgram = "sbt";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/buildkit/default.nix b/pkgs/development/tools/buildkit/default.nix
index 9244a80672e..b8cef88f71a 100644
--- a/pkgs/development/tools/buildkit/default.nix
+++ b/pkgs/development/tools/buildkit/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "buildkit";
-  version = "0.10.1";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "moby";
     repo = "buildkit";
     rev = "v${version}";
-    sha256 = "sha256-qMSXz4ZJ0po+Qi/K3Q/51MgHBO4tOa+DHw6Ok0yYc+k=";
+    sha256 = "sha256-hZINmKzLB0nFVVP8eXK2ghe4Emmuq55w0vDwLw8XuJk=";
   };
 
   vendorSha256 = null;
@@ -24,5 +24,6 @@ buildGoModule rec {
     homepage = "https://github.com/moby/buildkit";
     license = licenses.asl20;
     maintainers = with maintainers; [ vdemeester marsam ];
+    mainProgram = "buildctl";
   };
 }
diff --git a/pkgs/development/tools/compile-daemon/default.nix b/pkgs/development/tools/compile-daemon/default.nix
index 79f5a447888..959beea1fbc 100644
--- a/pkgs/development/tools/compile-daemon/default.nix
+++ b/pkgs/development/tools/compile-daemon/default.nix
@@ -1,26 +1,25 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
-  pname = "compile-daemon-unstable";
-  version = "2017-03-08";
-  rev = "d447e567232bcb84cedd3b2be012c7127f31f469";
-
-  goPackagePath = "github.com/githubnemo/CompileDaemon";
+buildGoModule rec {
+  pname = "compile-daemon";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "githubnemo";
     repo = "CompileDaemon";
-    inherit rev;
-    sha256 = "0jfbipp3gd89n6d7gds1qvfkqvz80qdlqqhijxffh8z8ss0xinqc";
+    rev = "v${version}";
+    sha256 = "sha256-gpyXy7FO7ZVXJrkzcKHFez4S/dGiijXfZ9eSJtNlm58=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-UDPOeg8jQbDB+Fr4x6ehK7UyQa8ySZy6yNxS1xotkgA=";
+
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     description = "Very simple compile daemon for Go";
+    homepage = "https://github.com/githubnemo/CompileDaemon";
     license = licenses.bsd2;
     maintainers = with maintainers; [ ];
     mainProgram = "CompileDaemon";
-    inherit (src.meta) homepage;
   };
 }
diff --git a/pkgs/development/tools/compile-daemon/deps.nix b/pkgs/development/tools/compile-daemon/deps.nix
deleted file mode 100644
index 53771ddad9f..00000000000
--- a/pkgs/development/tools/compile-daemon/deps.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.0-devel
-[
-  {
-    goPackagePath = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev = "9131ab34cf20d2f6d83fdc67168a5430d1c7dc23";
-      sha256 = "111x6rhpxfjhwkjrmrirqqh6nc68q5g7air9fl5kgr3bg85hybr5";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev = "a392f450ea64cee2b268dfaacdc2502b50a22b18";
-      sha256 = "1msiq5nb1sdhwfjv65hjnvr2s4pfsp8mv6f5z8aa8n9bjf0cksyc";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "57fdcb988a5c543893cc61bce354a6e24ab70022";
-      sha256 = "1fkhmi3nhz6vasfvjzjjwxkbpwsb9hzc0g5h1rygqrnzjykl2r39";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "99f16d856c9836c42d24e7ab64ea72916925fa97";
-      sha256 = "0g2x5krfhnraq03v0b48y3xv3ffg92pbgvps0npj9l7wq8q9hkmx";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/fsnotify.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/fsnotify.v1";
-      rev = "629574ca2a5df945712d3079857300b5e4da0236";
-      sha256 = "06wfg1mmzjj04z7d0q1x2fai9k6hm957brngsaf02fa9a3qqanv3";
-    };
-  }
-]
diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix
index aae87fb976d..abd77dd1f4a 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -46,13 +46,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "github-runner";
-  version = "2.290.1";
+  version = "2.291.1";
 
   src = fetchFromGitHub {
     owner = "actions";
     repo = "runner";
     rev = "v${version}";
-    hash = "sha256-YUV66yiUdS2/ORZS7a7coqyzoXM/tnK0egEeXWLPNl0=";
+    hash = "sha256-0Eijq2vXY+Y2g3bhEhIGnFxTCLXpw7k3iXpgj3x8nL4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 1fbb4244250..946d660610e 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoModule, fetchFromGitLab, fetchurl }:
 
 let
-  version = "14.10.0";
+  version = "14.10.1";
 in
 buildGoModule rec {
   inherit version;
@@ -20,7 +20,7 @@ buildGoModule rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "033b68hwqk5hn2by4hk1z7v6p08d505grl9hrx72p4wpyk18c80l";
+    sha256 = "1ph8byrh8kbg6s3gm5fakqk0ss6995pidgm664z3rwibr0h6m7sm";
   };
 
   patches = [
@@ -55,6 +55,6 @@ buildGoModule rec {
     license = licenses.mit;
     homepage = "https://about.gitlab.com/gitlab-ci/";
     platforms = platforms.unix ++ platforms.darwin;
-    maintainers = with maintainers; [ bachp zimbatm globin ];
+    maintainers = with maintainers; [ bachp zimbatm globin yayayayaka ];
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 5c95c99814d..9fa52f4a658 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.332.2";
+  version = "2.332.3";
 
   src = fetchurl {
-    url = "http://get.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "0z0igaq29nsxbkdzqfgrh10206a7ndsvz79bj8078hq8hqvl3an7";
+    url = "https://get.jenkins.io/war-stable/${version}/jenkins.war";
+    sha256 = "sha256-0ZPxearfOnzrYa3rw6tRIYrEp4UriJMv8ztE/XvmAQ8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -69,7 +69,8 @@ stdenv.mkDerivation rec {
     description = "An extendable open source continuous integration server";
     homepage = "https://jenkins-ci.org";
     license = licenses.mit;
-    platforms = platforms.all;
     maintainers = with maintainers; [ coconnor fpletz earldouglas nequissimus ];
+    mainProgram = "jenkins-cli";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/dapr/cli/default.nix b/pkgs/development/tools/dapr/cli/default.nix
index 96b86719e6c..d0d32de0ce1 100644
--- a/pkgs/development/tools/dapr/cli/default.nix
+++ b/pkgs/development/tools/dapr/cli/default.nix
@@ -28,9 +28,10 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    homepage = "https://dapr.io";
     description = "A CLI for managing Dapr, the distributed application runtime";
+    homepage = "https://dapr.io";
     license = licenses.mit;
     maintainers = with maintainers; [ lucperkins ];
+    mainProgram = "dapr";
   };
 }
diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix
index 79c31c1937f..fbb435128dd 100644
--- a/pkgs/development/tools/database/sqlfluff/default.nix
+++ b/pkgs/development/tools/database/sqlfluff/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sqlfluff";
-  version = "0.13.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-UFvrtLVHGlWUlvA7KLDgaCydE/UoxtYV+8RqLblOdns=";
+    hash = "sha256-hFpz2p8lJ4HpuSMZ8IDtqp2PIJFqEcelbYVAQpldu4o=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/devpi-server/default.nix b/pkgs/development/tools/devpi-server/default.nix
index 8e78bebebe9..3f89bd4a1c5 100644
--- a/pkgs/development/tools/devpi-server/default.nix
+++ b/pkgs/development/tools/devpi-server/default.nix
@@ -46,7 +46,7 @@ buildPythonApplication rec {
     pyramid
     strictyaml
     waitress
-  ];
+  ] ++ passlib.extras-require.argon2;
 
   checkInputs = [
     beautifulsoup4
diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix
index 06b17c1ff1f..5838f5e94b4 100644
--- a/pkgs/development/tools/earthly/default.nix
+++ b/pkgs/development/tools/earthly/default.nix
@@ -36,7 +36,7 @@ buildGoModule rec {
     description = "Build automation for the container era";
     homepage = "https://earthly.dev/";
     changelog = "https://github.com/earthly/earthly/releases/tag/v${version}";
-    license = licenses.bsl11;
+    license = licenses.mpl20;
     maintainers = with maintainers; [ zoedsoupe ];
   };
 }
diff --git a/pkgs/development/tools/ent/default.nix b/pkgs/development/tools/ent/default.nix
index 79470814ada..c9ed951d596 100644
--- a/pkgs/development/tools/ent/default.nix
+++ b/pkgs/development/tools/ent/default.nix
@@ -31,10 +31,11 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "An entity framework for Go";
+    homepage = "https://entgo.io/";
     downloadPage = "https://github.com/ent/ent";
     license = licenses.asl20;
-    homepage = "https://entgo.io/";
     maintainers = with maintainers; [ superherointj ];
+    mainProgram = "ent";
   };
 }
 
diff --git a/pkgs/development/tools/flip-link/default.nix b/pkgs/development/tools/flip-link/default.nix
index 6e752379a73..d42e282289a 100644
--- a/pkgs/development/tools/flip-link/default.nix
+++ b/pkgs/development/tools/flip-link/default.nix
@@ -2,23 +2,31 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "flip-link";
-  version = "0.1.4";
+  version = "0.1.6";
 
   src = fetchFromGitHub {
     owner = "knurling-rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-LE0cWS6sOb9/VvGloezNnePHGldnpfNTdCFUv3F/nwE=";
+    sha256 = "sha256-Sf2HlAfPlg8Er2g17AnRmUkvRhTw5AVPuL2B92hFvpA=";
   };
 
-  cargoSha256 = "sha256-8WBMF5stMB4JXvYwa5yHVFV+3utDuMFJNTZ4fZFDftw=";
+  cargoSha256 = "sha256-2VgsO2hUIvSPNQhR13+bGTxXa6xZXcK0amfiWv2EIxk=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
+  checkFlags = [
+    # requires embedded toolchains
+    "--skip should_link_example_firmware::case_1_normal"
+    "--skip should_link_example_firmware::case_2_custom_linkerscript"
+    "--skip should_verify_memory_layout"
+  ];
+
   meta = with lib; {
     description = "Adds zero-cost stack overflow protection to your embedded programs";
     homepage = "https://github.com/knurling-rs/flip-link";
-    license = with licenses; [ asl20 mit ];
-    maintainers = [ maintainers.FlorianFranzen ];
+    changelog = "https://github.com/knurling-rs/flip-link/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ FlorianFranzen newam ];
   };
 }
diff --git a/pkgs/development/tools/gnulib/default.nix b/pkgs/development/tools/gnulib/default.nix
index 708cdb511a8..afc91cb6030 100644
--- a/pkgs/development/tools/gnulib/default.nix
+++ b/pkgs/development/tools/gnulib/default.nix
@@ -27,9 +27,10 @@ stdenv.mkDerivation {
   dontFixup = true;
 
   meta = with lib; {
-    homepage = "https://www.gnu.org/software/gnulib/";
     description = "Central location for code to be shared among GNU packages";
+    homepage = "https://www.gnu.org/software/gnulib/";
     license = licenses.gpl3Plus;
+    mainProgram = "gnulib-tool";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/go-junit-report/default.nix b/pkgs/development/tools/go-junit-report/default.nix
index 110cdbfabc9..af6b72c65fd 100644
--- a/pkgs/development/tools/go-junit-report/default.nix
+++ b/pkgs/development/tools/go-junit-report/default.nix
@@ -1,23 +1,24 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
-  pname = "go-junit-report-unstable";
-  version = "2018-06-14";
-  rev = "385fac0ced9acaae6dc5b39144194008ded00697";
-
-  goPackagePath = "github.com/jstemmer/go-junit-report";
+buildGoModule rec {
+  pname = "go-junit-report";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "jstemmer";
     repo = "go-junit-report";
-    sha256 = "109zs8wpdmc2ijc2khyqija8imay88ka6v50xvrpnnwnd3ywckxi";
+    rev = "v${version}";
+    sha256 = "sha256-/ER99EmYrERBjcJeYeV3GBq6lDjACM0loICg41hUuPQ=";
   };
 
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
-    description = "Converts go test output to an xml report, suitable for applications that expect junit xml reports (e.g. Jenkins)";
-    homepage    = "https://${goPackagePath}";
+    description = "Convert go test output to junit xml";
+    homepage = "https://github.com/jstemmer/go-junit-report";
+    license = licenses.mit;
     maintainers = with maintainers; [ cryptix ];
-    license     = licenses.mit;
   };
 }
diff --git a/pkgs/development/tools/go-swag/default.nix b/pkgs/development/tools/go-swag/default.nix
index 8c340b2ccf6..9f53c702014 100644
--- a/pkgs/development/tools/go-swag/default.nix
+++ b/pkgs/development/tools/go-swag/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     homepage = "https://github.com/swaggo/swag";
     license = licenses.mit;
     maintainers = with maintainers; [ stephenwithph ];
+    mainProgram = "swag";
   };
 }
diff --git a/pkgs/development/tools/goa/default.nix b/pkgs/development/tools/goa/default.nix
index 56b47bd8c60..4290d1501eb 100644
--- a/pkgs/development/tools/goa/default.nix
+++ b/pkgs/development/tools/goa/default.nix
@@ -17,9 +17,10 @@ buildGoPackage rec {
   goDeps = ./deps.nix;
 
   meta = with lib; {
-    homepage = "https://goa.design";
     description = "A framework for building microservices in Go using a unique design-first approach";
+    homepage = "https://goa.design";
     license = licenses.mit;
     maintainers = [ maintainers.rushmorem ];
+    mainProgram = "goagen";
   };
 }
diff --git a/pkgs/development/tools/goconvey/default.nix b/pkgs/development/tools/goconvey/default.nix
index fb6ce653cc4..802be18e566 100644
--- a/pkgs/development/tools/goconvey/default.nix
+++ b/pkgs/development/tools/goconvey/default.nix
@@ -1,25 +1,28 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "goconvey";
-  version = "1.6.3";
+  version = "1.7.2";
 
-  goPackagePath = "github.com/smartystreets/goconvey";
   excludedPackages = "web/server/watch/integration_testing";
 
-  goDeps = ./deps.nix;
-
   src = fetchFromGitHub {
     owner = "smartystreets";
     repo = "goconvey";
-    rev = version;
-    sha256 = "1ph18rkl3ns3fgin5i4j54w5a69grrmf3apcsmnpdn1wlrbs3dxh";
+    rev = "v${version}";
+    sha256 = "sha256-YT9M9VaLIGUo6pdkaLWLtomcjrDqdnOqwl+C9UwDmT8=";
   };
 
+  vendorSha256 = "sha256-sHyK/4YdNCLCDjxjMKygWAVRnHZ1peYjYRYyEcqoe+E=";
+
+  ldflags = [ "-s" "-w" ];
+
+  checkFlags = [ "-short" ];
+
   meta = {
     description = "Go testing in the browser. Integrates with `go test`. Write behavioral tests in Go";
     homepage = "https://github.com/smartystreets/goconvey";
-    maintainers = with lib.maintainers; [ vdemeester ];
     license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ vdemeester ];
   };
 }
diff --git a/pkgs/development/tools/goconvey/deps.nix b/pkgs/development/tools/goconvey/deps.nix
deleted file mode 100644
index d329359da70..00000000000
--- a/pkgs/development/tools/goconvey/deps.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/jtolds/gls";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jtolds/gls";
-      rev = "77f18212c9c7edc9bd6a33d383a7b545ce62f064";
-      sha256 = "1vm37pvn0k4r6d3m620swwgama63laz8hhj3pyisdhxwam4m2g1h";
-    };
-  }
-  {
-    goPackagePath = "github.com/smartystreets/assertions";
-    fetch = {
-      type = "git";
-      url = "https://github.com/smartystreets/assertions";
-      rev = "0b37b35ec7434b77e77a4bb29b79677cced992ea";
-      sha256 = "1j0adgbykl55rf2945g0n5bmqdsnjcqlx5dcmpfh4chki43hiwg9";
-    };
-  }
-]
diff --git a/pkgs/development/tools/jd-diff-patch/default.nix b/pkgs/development/tools/jd-diff-patch/default.nix
index 96fd79d62fc..26c9eeedacd 100644
--- a/pkgs/development/tools/jd-diff-patch/default.nix
+++ b/pkgs/development/tools/jd-diff-patch/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://github.com/josephburnett/jd";
     license = licenses.mit;
     maintainers = with maintainers; [ bryanasdev000 blaggacao ];
+    mainProgram = "jd";
   };
 }
diff --git a/pkgs/development/tools/jmespath/default.nix b/pkgs/development/tools/jmespath/default.nix
index 5abbf71e7f4..c9510a35d10 100644
--- a/pkgs/development/tools/jmespath/default.nix
+++ b/pkgs/development/tools/jmespath/default.nix
@@ -16,7 +16,8 @@ buildGoPackage rec {
   meta = with lib; {
     description = "A JMESPath implementation in Go";
     homepage = "https://github.com/jmespath/go-jmespath";
-    maintainers = with maintainers; [ cransom ];
     license = licenses.asl20;
+    maintainers = with maintainers; [ cransom ];
+    mainProgram = "jpgo";
   };
 }
diff --git a/pkgs/development/tools/kustomize/3.nix b/pkgs/development/tools/kustomize/3.nix
index aa99256faa8..d9eb6ce298e 100644
--- a/pkgs/development/tools/kustomize/3.nix
+++ b/pkgs/development/tools/kustomize/3.nix
@@ -36,5 +36,6 @@ buildGoModule rec {
     homepage = "https://github.com/kubernetes-sigs/kustomize";
     license = licenses.asl20;
     maintainers = with maintainers; [ carlosdagos vdemeester zaninime Chili-Man saschagrunert ];
+    mainProgram = "kustomize";
   };
 }
diff --git a/pkgs/development/tools/literate-programming/Literate/default.nix b/pkgs/development/tools/literate-programming/Literate/default.nix
index 1582ca87402..1a71b9bc857 100644
--- a/pkgs/development/tools/literate-programming/Literate/default.nix
+++ b/pkgs/development/tools/literate-programming/Literate/default.nix
@@ -18,8 +18,9 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "A literate programming tool for any language";
-    homepage    = "http://literate.zbyedidia.webfactional.com/";
+    homepage = "https://zyedidia.github.io/literate/";
     license = licenses.mit;
+    mainProgram = "lit";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index 0fa34c7eefe..16c056bc3ff 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -25,13 +25,13 @@ let makeArcWrapper = toolset: ''
 in
 stdenv.mkDerivation {
   pname = "arcanist";
-  version = "20200711";
+  version = "20220425";
 
   src = fetchFromGitHub {
     owner = "phacility";
     repo = "arcanist";
-    rev = "2565cc7b4d1dbce6bc7a5b3c4e72ae94be4712fe";
-    sha256 = "0jiv4aj4m5750dqw9r8hizjkwiyxk4cg4grkr63sllsa2dpiibxw";
+    rev = "da206314cf59f71334b187283e18823bddc16ddd";
+    sha256 = "sha256-6VVUjFMwPQvk22Ni1YUSgks4ZM0j1JP+71VnYKD8onM=";
   };
 
   patches = [ ./dont-require-python3-in-path.patch ];
diff --git a/pkgs/development/tools/misc/chruby/default.nix b/pkgs/development/tools/misc/chruby/default.nix
index 1aef6d52075..cbe22351327 100644
--- a/pkgs/development/tools/misc/chruby/default.nix
+++ b/pkgs/development/tools/misc/chruby/default.nix
@@ -37,7 +37,8 @@ in stdenv.mkDerivation rec {
     description = "Changes the current Ruby";
     homepage = "https://github.com/postmodern/chruby";
     license = licenses.mit;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ cstrahan ];
+    mainProgram = "chruby-exec";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index adee94dafa9..fa867c26316 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -85,6 +85,8 @@ stdenv.mkDerivation rec {
     homepage = "https://sourceware.org/elfutils/";
     description = "A set of utilities to handle ELF objects";
     platforms = platforms.linux;
+    # https://lists.fedorahosted.org/pipermail/elfutils-devel/2014-November/004223.html
+    broken = stdenv.hostPlatform.isStatic;
     # licenses are GPL2 or LGPL3+ for libraries, GPL3+ for bins,
     # but since this package isn't split that way, all three are listed.
     license = with licenses; [ gpl2Only lgpl3Plus gpl3Plus ];
diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix
index 806625934d9..7d860528022 100644
--- a/pkgs/development/tools/misc/gnum4/default.nix
+++ b/pkgs/development/tools/misc/gnum4/default.nix
@@ -16,12 +16,11 @@ stdenv.mkDerivation rec {
 
   doCheck = false;
 
-  configureFlags = [ "--with-syscmd-shell=${stdenv.shell}" ];
+  configureFlags = [ "--with-syscmd-shell=${stdenv.shell}" ]
+    ++ lib.optional stdenv.hostPlatform.isMinGW "CFLAGS=-fno-stack-protector";
 
   meta = {
-    homepage = "https://www.gnu.org/software/m4/";
     description = "GNU M4, a macro processor";
-
     longDescription = ''
       GNU M4 is an implementation of the traditional Unix macro
       processor.  It is mostly SVR4 compatible although it has some
@@ -38,8 +37,10 @@ stdenv.mkDerivation rec {
       recursion etc...  m4 can be used either as a front-end to a
       compiler or as a macro processor in its own right.
     '';
+    homepage = "https://www.gnu.org/software/m4/";
 
     license = lib.licenses.gpl3Plus;
+    mainProgram = "m4";
     platforms = lib.platforms.unix ++ lib.platforms.windows;
   };
 
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index f7d1667dfa2..05c65869717 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, perlPackages, gettext }:
+{ lib, stdenv, fetchurl, perlPackages, gettext, libintl }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
 # cannot use fetchpatch! All mutable patches (generated by GitHub or
@@ -17,7 +17,11 @@ stdenv.mkDerivation rec {
   strictDeps = true;
 
   nativeBuildInputs = [ gettext perlPackages.perl perlPackages.LocaleGettext ];
-  buildInputs = [ perlPackages.LocaleGettext ];
+  buildInputs = [ perlPackages.LocaleGettext libintl ];
+
+  configureFlags = [
+    "--enable-nls"
+  ];
 
   doCheck = false;                                # target `check' is missing
 
diff --git a/pkgs/development/tools/misc/premake/default.nix b/pkgs/development/tools/misc/premake/default.nix
index 35c651f4a18..e3c4aef87bd 100644
--- a/pkgs/development/tools/misc/premake/default.nix
+++ b/pkgs/development/tools/misc/premake/default.nix
@@ -23,10 +23,11 @@ stdenv.mkDerivation rec {
   setupHook = ./setup-hook.sh;
 
   meta = with lib; {
-    homepage = "https://premake.github.io/";
     description = "A simple build configuration and project generation tool using lua";
+    homepage = "https://premake.github.io/";
     license = lib.licenses.bsd3;
-    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
+    mainProgram = "premake4";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/saleae-logic-2/default.nix b/pkgs/development/tools/misc/saleae-logic-2/default.nix
index c3349661c55..7478c27ce9f 100644
--- a/pkgs/development/tools/misc/saleae-logic-2/default.nix
+++ b/pkgs/development/tools/misc/saleae-logic-2/default.nix
@@ -1,10 +1,10 @@
 { lib, fetchurl, makeDesktopItem, appimageTools, gtk3 }:
 let
   name = "saleae-logic-2";
-  version = "2.3.51";
+  version = "2.3.52";
   src = fetchurl {
     url = "https://downloads.saleae.com/logic2/Logic-${version}-master.AppImage";
-    sha256 = "sha256-Z5GPA1cJbQJOjntWXe1uF26e7nJ99+ANoCP57Y/OO5A=";
+    sha256 = "sha256-Z1xDVb1qFPtTi40dZ1CBw6ZqtQbYjuUjeUinBV+wdw8=";
   };
   desktopItem = makeDesktopItem {
     inherit name;
diff --git a/pkgs/development/tools/misc/stlink/default.nix b/pkgs/development/tools/misc/stlink/default.nix
index 2fbb60a0ddc..850d0ea21bf 100644
--- a/pkgs/development/tools/misc/stlink/default.nix
+++ b/pkgs/development/tools/misc/stlink/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , libusb1
 , gtk3
@@ -27,6 +28,13 @@ in stdenv.mkDerivation rec {
     sha256 = "03xypffpbp4imrczbxmq69vgkr7mbp0ps9dk815br5wwlz6vgygl";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/stlink-org/stlink/commit/468b1d2daa853b975c33ab69876c486734f2c6a7.diff";
+      sha256 = "sha256-ueSi/zc7xbOATl0yBtCL4U64IQ/yqu6sMYDOiPl1JBI=";
+    })
+  ];
+
   buildInputs = [
     libusb1'
   ] ++ lib.optionals withGUI [
diff --git a/pkgs/development/tools/misc/uncrustify/default.nix b/pkgs/development/tools/misc/uncrustify/default.nix
index 3c191d7c6a9..e8020787130 100644
--- a/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/pkgs/development/tools/misc/uncrustify/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "uncrustify";
-  version = "0.74.0";
+  version = "0.75.0";
 
   src = fetchFromGitHub {
     owner = "uncrustify";
     repo = "uncrustify";
     rev = "uncrustify-${version}";
-    sha256 = "0v48vhmzxjzysbf0vhxzayl2pkassvbabvwg84xd6b8n5i74ijxd";
+    sha256 = "sha256-UbcQvNnuN2VX60O9wXTksrijgrSGzYCseq0tGUtJ9Mg=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/pkgs/development/tools/misc/watson-ruby/default.nix b/pkgs/development/tools/misc/watson-ruby/default.nix
index 4d17680471d..eb6c8bd7619 100644
--- a/pkgs/development/tools/misc/watson-ruby/default.nix
+++ b/pkgs/development/tools/misc/watson-ruby/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     homepage    = "https://goosecode.com/watson/";
     license     = with licenses; mit;
     maintainers = with maintainers; [ robertodr nicknovitski ];
+    mainProgram = "watson";
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index 82d84c819dd..7805ca26403 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -5,12 +5,12 @@
 
 buildDunePackage rec {
   pname = "js_of_ocaml-compiler";
-  version = "3.11.0";
+  version = "4.0.0";
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/ocsigen/js_of_ocaml/releases/download/${version}/js_of_ocaml-${version}.tbz";
-    sha256 = "sha256:0flws9mw0yjfw4d8d3y3k408mivy2xgky70xk1br3iqs4zksz38m";
+    sha256 = "sha256:0pj9jjrmi0xxrzmygv4b5whsibw1jxy3wgibmws85x5jwlczh0nz";
   };
 
   nativeBuildInputs = [ menhir ];
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix b/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix
index c67d05c1503..fa9ff95b0fd 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix
@@ -1,13 +1,26 @@
-{ buildDunePackage, js_of_ocaml-compiler
+{ lib, buildDunePackage, fetchFromGitHub
 , ocamlbuild
 }:
 
-buildDunePackage {
+buildDunePackage rec {
   pname = "js_of_ocaml-ocamlbuild";
-
-  inherit (js_of_ocaml-compiler) version src meta useDune2;
+  version = "4.0.0";
 
   minimalOCamlVersion = "4.02";
 
+  src = fetchFromGitHub {
+    owner = "ocsigen";
+    repo = pname;
+    rev = "852302c8f35b946e2ec275c529a79e46d8749be6";
+    sha256 = "sha256:03ayvakvbh4wi4dwcgd7r9y8ka8cv3d59hb81yk2dxyd94bln145";
+  };
+
   propagatedBuildInputs = [ ocamlbuild ];
+
+  meta = {
+    description = "An ocamlbuild plugin to compile to JavaScript";
+    license = lib.licenses.lgpl2Only;
+    maintainers = [ lib.maintainers.vbgl ];
+    inherit (src.meta) homepage;
+  };
 }
diff --git a/pkgs/development/tools/pandoc/default.nix b/pkgs/development/tools/pandoc/default.nix
index e587a2ef4e7..515c7dc4c37 100644
--- a/pkgs/development/tools/pandoc/default.nix
+++ b/pkgs/development/tools/pandoc/default.nix
@@ -13,9 +13,6 @@ in
       remove-references-to \
         -t ${haskellPackages.pandoc-types} \
         $out/bin/pandoc
-      remove-references-to \
-        -t ${haskellPackages.HTTP} \
-        $out/bin/pandoc
     '';
   }) static).overrideAttrs (drv: {
     # These libraries are still referenced, because they generate
@@ -25,5 +22,5 @@ in
     # lead to a transitive runtime dependency on the whole GHC distribution.
     # This should ideally be fixed in haskellPackages (or even Cabal),
     # but a minimal pandoc is important enough to patch it manually.
-    disallowedReferences = [ haskellPackages.pandoc-types haskellPackages.HTTP ];
+    disallowedReferences = [ haskellPackages.pandoc-types ];
   })
diff --git a/pkgs/development/tools/perseus-cli/default.nix b/pkgs/development/tools/perseus-cli/default.nix
index 9ec8aa21e2d..4b39fccdd36 100644
--- a/pkgs/development/tools/perseus-cli/default.nix
+++ b/pkgs/development/tools/perseus-cli/default.nix
@@ -1,17 +1,25 @@
-{ lib, rustPlatform, fetchCrate, makeWrapper, wasm-pack }:
+{ lib
+, stdenv
+, rustPlatform
+, fetchCrate
+, makeWrapper
+, wasm-pack
+, CoreServices
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "perseus-cli";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-YyQQjuxNUxuo2PFluGyT/CpG22tgjRCfmFKA5MFRgHo=";
+    sha256 = "sha256-IYjLx9/4oWSXa4jhOtGw1GOHmrR7LQ6bWyN5zbOuEFs=";
   };
 
-  cargoSha256 = "sha256-SKxPsltXFH+ENexn/KDD43hGLSTgvtU9hv9Vdi2oeFA=";
+  cargoSha256 = "sha256-i7MPmO9MoANZLzmR5gsD+v0gyDtFbzhsmE9xOsb88L0=";
 
   nativeBuildInputs = [ makeWrapper ];
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
   postInstall = ''
     wrapProgram $out/bin/perseus \
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
deleted file mode 100644
index 5093553824d..00000000000
--- a/pkgs/development/tools/phantomjs2/default.nix
+++ /dev/null
@@ -1,117 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch
-, bison, flex, fontconfig, freetype, gperf, icu, openssl, libjpeg
-, libpng, perl, python2, ruby, sqlite, qtwebkit, qmake, qtbase
-, darwin, writeScriptBin, cups, makeWrapper
-}:
-
-let
-  fakeClang = writeScriptBin "clang" ''
-    #!${stdenv.shell}
-    if [[ "$@" == *.c ]]; then
-      exec "${stdenv.cc}/bin/clang" "$@"
-    else
-      exec "${stdenv.cc}/bin/clang++" "$@"
-    fi
-  '';
-
-in stdenv.mkDerivation rec {
-  pname = "phantomjs";
-  version = "2.1.1";
-
-  src = fetchFromGitHub {
-    owner = "ariya";
-    repo = "phantomjs";
-    rev = version;
-    sha256 = "1zsbpk1sgh9a16f1a5nx3qvk77ibjn812wqkxqck8n6fia85m5iq";
-  };
-
-  nativeBuildInputs = [ qmake makeWrapper ];
-  buildInputs = [
-    bison flex fontconfig freetype gperf icu openssl
-    libjpeg libpng perl python2 ruby sqlite qtwebkit qtbase
-  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
-    AGL ApplicationServices AppKit Cocoa OpenGL
-    darwin.libobjc fakeClang cups
-  ]);
-
-  patches = [
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-hardening.patch";
-      sha256 = "1qs1r76w90qgpw742i7lf0y3b7m9zh5wxcbrhrak6mq1kqaphqb5";
-    })
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-qt-components.patch";
-      sha256 = "1fw2q59aqcks3abvwkqg9903yif6aivdsznc0h6frhhjvpp19vsb";
-    })
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-qt55-evaluateJavaScript.patch";
-      sha256 = "1avig9cfny8kv3s4mf3mdzvf3xlzgyh351yzwc4bkpnjvzv4fmq6";
-    })
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-qt55-no-websecurity.patch";
-      sha256 = "1nykqpxa7lcf9iarz5lywgg3v3b1h19iwvjdg4kgq0ai6idhcab8";
-    })
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-qt55-print.patch";
-      sha256 = "1fydmdjxnplglpbd3ypaih5l237jkxjirpdhzz92mcpy29yla6jw";
-    })
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/unlock-qt.patch";
-      sha256 = "13bwz4iw17d6hq5pwkbpcckqyw7fhc6648lvs26m39pp31zwyp03";
-    })
-    ./system-qtbase.patch
-  ];
-
-  postPatch = ''
-    patchShebangs .
-    substituteInPlace src/phantomjs.pro \
-      --replace "QT_MINOR_VERSION, 5" "QT_MINOR_VERSION, 9"
-  '';
-
-  # Avoids error in webpage.cpp:80:89:
-  # invalid suffix on literal; C++11 requires a space between litend identifier
-  NIX_CFLAGS_COMPILE = "-Wno-reserved-user-defined-literal";
-
-  __impureHostDeps = lib.optional stdenv.isDarwin "/usr/lib/libicucore.dylib";
-
-  dontWrapQtApps = true;
-
-  installPhase = ''
-    mkdir -p $out/share/doc/phantomjs
-    cp -a bin $out
-    cp -a ChangeLog examples LICENSE.BSD README.md third-party.txt $out/share/doc/phantomjs
-  '' + lib.optionalString stdenv.isDarwin ''
-    install_name_tool -change \
-        ${darwin.CF}/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation \
-        /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation \
-      -change \
-        ${darwin.configd}/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration \
-        /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration \
-    $out/bin/phantomjs
-  '' + ''
-    wrapProgram $out/bin/phantomjs \
-    --set QT_QPA_PLATFORM offscreen \
-    --prefix PATH : ${lib.makeBinPath [ qtbase ]}
-  '';
-
-  meta = with lib; {
-    description = "Headless WebKit with JavaScript API";
-    longDescription = ''
-      PhantomJS2 is a headless WebKit with JavaScript API.
-      It has fast and native support for various web standards:
-      DOM handling, CSS selector, JSON, Canvas, and SVG.
-
-      PhantomJS is an optimal solution for:
-      - Headless Website Testing
-      - Screen Capture
-      - Page Automation
-      - Network Monitoring
-    '';
-
-    homepage = "https://phantomjs.org/";
-    license = licenses.bsd3;
-
-    maintainers = [ maintainers.aflatter ];
-    platforms = platforms.darwin ++ platforms.linux;
-  };
-}
diff --git a/pkgs/development/tools/phantomjs2/system-qtbase.patch b/pkgs/development/tools/phantomjs2/system-qtbase.patch
deleted file mode 100644
index 743372b0f0b..00000000000
--- a/pkgs/development/tools/phantomjs2/system-qtbase.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/build.py
-+++ b/build.py
-@@ -80,9 +80,9 @@
- def qmakePath():
-     exe = "qmake"
-     if platform.system() == "Windows":
-         exe += ".exe"
--    return os.path.abspath("src/qt/qtbase/bin/" + exe)
-+    return os.path.abspath("@qtbase@" + exe)
- 
- # returns paths for 3rd party libraries (Windows only)
- def findThirdPartyDeps():
-     include_dirs = []
diff --git a/pkgs/development/tools/prospector/default.nix b/pkgs/development/tools/prospector/default.nix
index 2f58737637f..0d6e5de4cfe 100644
--- a/pkgs/development/tools/prospector/default.nix
+++ b/pkgs/development/tools/prospector/default.nix
@@ -11,20 +11,22 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "prospector";
-  version = "1.5.1";
+  version = "1.7.7";
   format = "pyproject";
+
   disabled = pythonOlder "3.6.1";
 
   src = pkgs.fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = version;
-    sha256 = "17f822cxrvcvnrzdx1a9fyi9afljq80b6g6z1k2bqa1vs21gwv7l";
+    hash = "sha256-sbPZmVeJtNphtjuZEfKcUgty9bJ3E/2Ya9RuX3u/XEs=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'pep8-naming = ">=0.3.3,<=0.10.0"' 'pep8-naming = "*"'
+      --replace 'pep8-naming = ">=0.3.3,<=0.10.0"' 'pep8-naming = "*"' \
+      --replace 'mccabe = "^0.6.0"' 'mccabe = "*"'
   '';
 
   nativeBuildInputs = [
@@ -61,9 +63,7 @@ buildPythonApplication rec {
   meta = with lib; {
     description = "Tool to analyse Python code and output information about errors, potential problems, convention violations and complexity";
     homepage = "https://github.com/PyCQA/prospector";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [
-      kamadorueda
-    ];
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ kamadorueda ];
   };
 }
diff --git a/pkgs/development/tools/protoc-gen-twirp_php/default.nix b/pkgs/development/tools/protoc-gen-twirp_php/default.nix
index df5afac2dbb..a54c860f295 100644
--- a/pkgs/development/tools/protoc-gen-twirp_php/default.nix
+++ b/pkgs/development/tools/protoc-gen-twirp_php/default.nix
@@ -2,19 +2,23 @@
 
 buildGoModule rec {
   pname = "protoc-gen-twirp_php";
-  version = "0.8.0";
+  version = "0.8.1";
 
   # fetchFromGitHub currently not possible, because go.mod and go.sum are export-ignored
   src = fetchgit {
     url = "https://github.com/twirphp/twirp.git";
     rev = "v${version}";
-    sha256 = "sha256-TaHfyYoWsA/g5xZFxIMNwE1w6Dd9Cq5bp1gpQudYLs0=";
+    sha256 = "sha256-5PACgKqc8rWqaA6Syj5NyxHm3827yd67tm0mwVSMnWQ=";
   };
 
   vendorSha256 = "sha256-qQFlBviRISEnPBt0q5391RqUrPTI/QDxg3MNfwWE8MI=";
 
   subPackages = [ "protoc-gen-twirp_php" ];
 
+  ldflags = [
+    "-X main.version=${version}"
+  ];
+
   meta = with lib; {
     description = "PHP port of Twitch's Twirp RPC framework";
     homepage = "https://github.com/twirphp/twirp";
diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix
index b5cc43a6724..e3636e16f58 100644
--- a/pkgs/development/tools/purescript/spago/spago.nix
+++ b/pkgs/development/tools/purescript/spago/spago.nix
@@ -14,11 +14,11 @@
 }:
 mkDerivation {
   pname = "spago";
-  version = "0.20.8";
+  version = "0.20.9";
   src = fetchgit {
     url = "https://github.com/purescript/spago.git";
-    sha256 = "0lakss2pg5kwbxqsmvzgkcc70l6j40cj9rarhkpcf0kxw98bb5x0";
-    rev = "744bdbbefc538750d4c36888ee53dc5d336314c4";
+    sha256 = "00vdqg7vaw3d9zwh47886lw9fhhlwjagzhaj3aqz4xm92pjavhih";
+    rev = "d16d4914200783fbd820ba89dbdf67270454faf5";
     fetchSubmodules = true;
   };
   isLibrary = true;
diff --git a/pkgs/development/tools/purescript/spago/update.sh b/pkgs/development/tools/purescript/spago/update.sh
index 12595885df3..b97b0fe94a9 100755
--- a/pkgs/development/tools/purescript/spago/update.sh
+++ b/pkgs/development/tools/purescript/spago/update.sh
@@ -33,4 +33,7 @@ cabal2nix --revision "$new_version" "https://github.com/purescript/spago.git" >>
 # TODO: This should ideally also automatically update the docsSearchVersion
 # from pkgs/development/haskell/configuration-nix.nix.
 
-echo "Finished."
+echo
+echo "Finished.  Make sure you run the following commands to confirm Spago builds correctly:"
+echo ' - `nix build -L -f ./. spago`'
+echo ' - `sudo nix build -L -f ./. spago.passthru.tests --option sandbox relaxed`'
diff --git a/pkgs/development/tools/rgp/default.nix b/pkgs/development/tools/rgp/default.nix
index 2ac48148c78..30c6dee23bf 100644
--- a/pkgs/development/tools/rgp/default.nix
+++ b/pkgs/development/tools/rgp/default.nix
@@ -19,15 +19,15 @@
 }:
 
 let
-  buildNum = "2022-01-18-884";
+  buildNum = "2022-04-20-920";
 in
 stdenv.mkDerivation rec {
   pname = "rgp";
-  version = "1.12";
+  version = "1.13";
 
   src = fetchurl {
     url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
-    sha256 = "88ot16N8XtRlDCP+zIaOqG5BuR0OyG/0u1NEXsun/nY=";
+    hash = "sha256-/Z7mSZVAvaTAY9RU7suK/gA0RJIeeLdN6LWiseVq9Js=";
   };
 
   nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
diff --git a/pkgs/development/tools/rust/bindgen/unwrapped.nix b/pkgs/development/tools/rust/bindgen/unwrapped.nix
index f77e2feb4ff..458b4a10c8d 100644
--- a/pkgs/development/tools/rust/bindgen/unwrapped.nix
+++ b/pkgs/development/tools/rust/bindgen/unwrapped.nix
@@ -46,7 +46,8 @@ in rustPlatform.buildRustPackage rec {
     '';
     homepage = "https://github.com/rust-lang/rust-bindgen";
     license = with licenses; [ bsd3 ];
-    platforms = platforms.unix;
     maintainers = with maintainers; [ johntitor ralith ];
+    mainProgram = "bindgen";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index 860d5371709..de75edf5e73 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "1.0.16";
+  version = "1.0.19";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "sha256-NhBUN+pf+j/4IozFDEb+XZ1ijSk6dNvCANyez823a0c=";
+    sha256 = "sha256-+LKZ0pbSlqY8rbz96HZ59XYKsSJDMOrJMxblXNj74Yw=";
   };
 
-  cargoSha256 = "sha256-7rqtxyoo1SQ7Rae04+b+B0JgCKeW0p1j7bZzPpJ8+ks=";
+  cargoSha256 = "sha256-ZEHc67jgLSZV6JH5/owAGTxxnbnYnx2fIUf0mQ14qvg=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 46738f7cf45..92439d2a572 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -13,11 +13,11 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.35.11";
+  version = "0.35.12";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-NzhEXt0z+0/6F3pgGmQwjnexBA2icWV3dCifZ8BxnOQ=";
+    sha256 = "sha256-BBSZTbzT+8obY677Yfmf1VTwg0GtvMNY/FTlS6isJTE=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
 
-  cargoSha256 = "sha256-+FGl0JhaRu+KLQJGAcMXv9vP6pmRzdTDtNA3h6A1jcY=";
+  cargoSha256 = "sha256-Nsm6KnL72HjqGevXwg2qYagzMG5nEFuH9DblbcUv6Qg=";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 3e471a3ac55..acacdcefb41 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-uZCUruIBTNTKYWYb8xQgJ6FsKlRi+Sh5n7m7aVk+hHQ=";
 
   src = fetchFromGitHub {
-    owner = "rust-analyzer";
+    owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
     sha256 = "sha256-5kAbd/tTc9vkr27ar44hnpXdS0vQg0OLJUMlp0FBjqA=";
@@ -61,5 +61,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://rust-analyzer.github.io";
     license = with licenses; [ mit asl20 ];
     maintainers = with maintainers; [ oxalica ];
+    mainProgram = "rust-analyzer";
   };
 }
diff --git a/pkgs/development/tools/rust/rust-analyzer/update.sh b/pkgs/development/tools/rust/rust-analyzer/update.sh
index 000a728a2b2..36c3fd3941b 100755
--- a/pkgs/development/tools/rust/rust-analyzer/update.sh
+++ b/pkgs/development/tools/rust/rust-analyzer/update.sh
@@ -3,7 +3,7 @@
 # shellcheck shell=bash
 set -euo pipefail
 cd "$(dirname "$0")"
-owner=rust-analyzer
+owner=rust-lang
 repo=rust-analyzer
 nixpkgs=../../../../..
 
diff --git a/pkgs/development/tools/selenium/server/default.nix b/pkgs/development/tools/selenium/server/default.nix
index 61959b98b4c..943d6b60b60 100644
--- a/pkgs/development/tools/selenium/server/default.nix
+++ b/pkgs/development/tools/selenium/server/default.nix
@@ -33,8 +33,9 @@ in stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.seleniumhq.org/";
     description = "Selenium Server for remote WebDriver";
+    license = licenses.asl20;
     maintainers = with maintainers; [ coconnor offline ];
+    mainProgram = "selenium-server";
     platforms = platforms.all;
-    license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/tools/taplo-cli/default.nix b/pkgs/development/tools/taplo-cli/default.nix
index e19de1c3cdf..0c584a36a52 100644
--- a/pkgs/development/tools/taplo-cli/default.nix
+++ b/pkgs/development/tools/taplo-cli/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "taplo-cli";
-  version = "0.5.0";
+  version = "0.6.2";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-+0smR1FDeJMSa/LaRM2M53updt5p8717DEaFItNXCdM=";
+    sha256 = "sha256-vz3ClC2PI0ti+cItuVdJgP8KLmR2C+uGUzl3DfVuTrY=";
   };
 
-  cargoSha256 = "sha256-d7mysGYR72shXwvmDXr0oftSa+RtRoSbP++HBR40Mus=";
+  cargoSha256 = "sha256-m6wsca/muGPs58myQH7ZLPPM+eGP+GL2sC5suu+vWU0=";
 
-  nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
+  OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
+  OPENSSL_INCLUDE_DIR = "${openssl.dev}/include";
 
-  buildInputs = lib.optional stdenv.isLinux openssl
-    ++ lib.optional stdenv.isDarwin Security;
+  buildInputs = lib.optional stdenv.isDarwin Security;
 
   meta = with lib; {
     description = "A TOML toolkit written in Rust";
diff --git a/pkgs/development/tools/treefmt/default.nix b/pkgs/development/tools/treefmt/default.nix
index bd297154cc3..f9cef54564f 100644
--- a/pkgs/development/tools/treefmt/default.nix
+++ b/pkgs/development/tools/treefmt/default.nix
@@ -16,6 +16,6 @@ rustPlatform.buildRustPackage rec {
     description = "one CLI to format the code tree";
     homepage = "https://github.com/numtide/treefmt";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ zimbatm ];
+    maintainers = lib.teams.numtide.members;
   };
 }
diff --git a/pkgs/development/tools/trunk/default.nix b/pkgs/development/tools/trunk/default.nix
index 00cdae21e1f..3c40a0c0ce8 100644
--- a/pkgs/development/tools/trunk/default.nix
+++ b/pkgs/development/tools/trunk/default.nix
@@ -3,13 +3,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "trunk";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "thedodd";
     repo = "trunk";
     rev = "v${version}";
-    sha256 = "sha256-69MQDIF79pSuaOgZEIqb/ESPQzL7MUiQaJaxPccGxo8=";
+    sha256 = "sha256-VHUs/trR1M5WacEA0gwKLkGtsws9GFmn1vK0kRxpNII=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   # requires network
   checkFlags = [ "--skip=tools::tests::download_and_install_binaries" ];
 
-  cargoSha256 = "sha256-3WTxCMNpBmiNbZMHp5BrqTXa1vmE/ZZ/8XbdcfxBfYg=";
+  cargoSha256 = "sha256-czXe9W+oR1UV7zGZiiHcbydzH6sowa/8upm+5lkPG1U=";
 
   meta = with lib; {
     homepage = "https://github.com/thedodd/trunk";
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 4a2fc5aafc5..455b215bb51 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -16,15 +16,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.21.1";
+  version = "1.21.2";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-97KWvaxjIxdWjpuJHYzKbYmQZvAcDW/rzj0VkvnQas4=";
+    sha256 = "sha256-oRlrommD84x4M+Z/F70TjFwWSlvTb26v36zxgaMBifw=";
   };
-  cargoSha256 = "sha256-cqKxKHX/xQLvDN5FwyjB/2aHgm3KZsjxHVRiugYIvQE=";
+  cargoSha256 = "sha256-kVNT9B9B3Li9B8aRFkUx5WkGZH7eqSMQO0GRPTC5tgU=";
 
   postPatch = ''
     # upstream uses lld on aarch64-darwin for faster builds
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 87b6ddfa923..8850f495027 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -17,10 +17,10 @@ buildGoModule rec {
 
   ldflags = [
     "-s" "-w"
-    "-X github.com/superfly/flyctl/flyctl.Commit=${src.rev}"
-    "-X github.com/superfly/flyctl/flyctl.BuildDate=1970-01-01T00:00:00+0000"
-    "-X github.com/superfly/flyctl/flyctl.Environment=production"
-    "-X github.com/superfly/flyctl/flyctl.Version=${version}"
+    "-X github.com/superfly/flyctl/internal/buildinfo.commit=${src.rev}"
+    "-X github.com/superfly/flyctl/internal/buildinfo.buildDate=1970-01-01T00:00:00+0000"
+    "-X github.com/superfly/flyctl/internal/buildinfo.environment=production"
+    "-X github.com/superfly/flyctl/internal/buildinfo.version=${version}"
   ];
 
   preBuild = ''
diff --git a/pkgs/development/web/lucky-cli/default.nix b/pkgs/development/web/lucky-cli/default.nix
index a87892c5f14..3d2901bc9ac 100644
--- a/pkgs/development/web/lucky-cli/default.nix
+++ b/pkgs/development/web/lucky-cli/default.nix
@@ -33,11 +33,11 @@ crystal.buildCrystalPackage rec {
   '';
 
   meta = with lib; {
-    description =
-      "A Crystal library for creating and running tasks. Also generates Lucky projects";
+    description = "A Crystal library for creating and running tasks. Also generates Lucky projects";
     homepage = "https://luckyframework.org/";
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
+    mainProgram = "lucky";
     platforms = platforms.unix;
     broken = lib.versionOlder crystal.version "0.35.1";
   };
diff --git a/pkgs/development/web/remarkjs/default.nix b/pkgs/development/web/remarkjs/default.nix
index 2959342af5a..8275004c703 100644
--- a/pkgs/development/web/remarkjs/default.nix
+++ b/pkgs/development/web/remarkjs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, nodejs, phantomjs2, pkgs }:
+{ stdenv, lib, fetchFromGitHub, nodejs, pkgs }:
 
 with lib;
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-zhHuW4pBqXQEBlSxuyvHKh+ftyIdcqpYgIZZHArUtns=";
   };
 
-  buildInputs = [ nodejs phantomjs2 ] ++ (with nodePackages; [
+  buildInputs = [ nodejs ] ++ (with nodePackages; [
     marked
     browserify
     uglify-js
diff --git a/pkgs/development/web/shopify-cli/default.nix b/pkgs/development/web/shopify-cli/default.nix
index a3ec7ff3f31..e6f164f2bca 100644
--- a/pkgs/development/web/shopify-cli/default.nix
+++ b/pkgs/development/web/shopify-cli/default.nix
@@ -27,8 +27,9 @@ stdenv.mkDerivation rec {
     description = "CLI which helps you build against the Shopify platform faster";
     homepage    = "https://github.com/Shopify/shopify-cli";
     license     = licenses.mit;
-    platforms = ruby.meta.platforms;
     maintainers = with maintainers; [ onny ];
+    mainProgram = "shopify";
+    platforms = ruby.meta.platforms;
   };
 }
 
diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix
index 7e62f006102..aade2aaae9e 100644
--- a/pkgs/games/anki/bin.nix
+++ b/pkgs/games/anki/bin.nix
@@ -1,24 +1,31 @@
-{ fetchurl, stdenv, lib, buildFHSUserEnv, appimageTools, writeShellScript, anki, undmg }:
+{ fetchurl, stdenv, lib, buildFHSUserEnv, appimageTools, writeShellScript, anki, undmg, zstd }:
 
 let
   pname = "anki-bin";
   # Update hashes for both Linux and Darwin!
-  version = "2.1.49";
+  version = "2.1.51";
 
   sources = {
     linux = fetchurl {
-      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux.tar.bz2";
-      sha256 = "sha256-uG39g9CXnquArFsxtFHWWoDaNwu8y2KKh+SqGt8aqi0=";
+      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux-qt6.tar.zst";
+      sha256 = "sha256-ZKVc+TvkNu5mGgibhRIuoLuIfvyoVDy+c4h+Apz9P+0=";
     };
-    darwin = fetchurl {
-      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac.dmg";
-      sha256 = "sha256-sEVWZQpICL7RYrOuPm1Y5XhzPxCwNk1WGP1rctTtE4Y=";
+
+    # For some reason anki distributes completely separate dmg-files for the aarch64 version and the x86_64 version
+    darwin-x86_64 = fetchurl {
+      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-intel-qt6.dmg";
+      sha256 = "sha256-wZMJEbcpezVAuBSKlwNTHlqjp0FfmyDB7XD6BBuJhyA=";
+    };
+    darwin-aarch64 = fetchurl {
+      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-apple-qt6.dmg";
+      sha256 = "sha256-6RDTYKoisX5DJ9VPWrP9VH9DCABabb9MB3nG4S8jtR0=";
     };
   };
 
   unpacked = stdenv.mkDerivation {
     inherit pname version;
 
+    nativeBuildInputs = [ zstd ];
     src = sources.linux;
 
     installPhase = ''
@@ -47,6 +54,9 @@ in
 if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
   name = "anki";
 
+  # Dependencies of anki
+  targetPkgs = pkgs: (with pkgs; [ xorg.libxkbfile krb5 ]);
+
   runScript = writeShellScript "anki-wrapper.sh" ''
     exec ${unpacked}/bin/anki
   '';
@@ -63,7 +73,7 @@ if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
 }) else stdenv.mkDerivation {
   inherit pname version passthru;
 
-  src = sources.darwin;
+  src = if stdenv.isAarch64 then sources.darwin-aarch64 else sources.darwin-x86_64;
 
   nativeBuildInputs = [ undmg ];
   sourceRoot = ".";
diff --git a/pkgs/games/bugdom/default.nix b/pkgs/games/bugdom/default.nix
index c5170c9845c..fd893559469 100644
--- a/pkgs/games/bugdom/default.nix
+++ b/pkgs/games/bugdom/default.nix
@@ -57,10 +57,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A port of Bugdom, a 1999 Macintosh game by Pangea Software, for modern operating systems";
     homepage = "https://github.com/jorio/Bugdom";
-    license = with licenses; [
-      cc-by-sa-40
-    ];
+    license = with licenses; [ cc-by-sa-40 ];
     maintainers = with maintainers; [ lux ];
+    mainProgram = "Bugdom";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/games/crossfire/crossfire-arch.nix b/pkgs/games/crossfire/crossfire-arch.nix
index ff9e0f9dea6..c09f474e70c 100644
--- a/pkgs/games/crossfire/crossfire-arch.nix
+++ b/pkgs/games/crossfire/crossfire-arch.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "crossfire-arch";
-  version = "r${toString rev}";
+  version = rev;
 
   src = fetchsvn {
     url = "http://svn.code.sf.net/p/crossfire/code/arch/trunk/";
-    sha256 = sha256;
-    rev = rev;
+    inherit sha256;
+    rev = "r${rev}";
   };
 
   installPhase = ''
diff --git a/pkgs/games/crossfire/crossfire-client.nix b/pkgs/games/crossfire/crossfire-client.nix
index 799ae4ab6ee..0d335b4f529 100644
--- a/pkgs/games/crossfire/crossfire-client.nix
+++ b/pkgs/games/crossfire/crossfire-client.nix
@@ -7,12 +7,12 @@
 
 stdenv.mkDerivation rec {
   pname = "crossfire-client";
-  version = "r${toString rev}";
+  version = rev;
 
   src = fetchsvn {
     url = "http://svn.code.sf.net/p/crossfire/code/client/trunk/";
-    sha256 = sha256;
-    rev = rev;
+    inherit sha256;
+    rev = "r${rev}";
   };
 
   nativeBuildInputs = [ cmake pkg-config perl vala ];
diff --git a/pkgs/games/crossfire/crossfire-maps.nix b/pkgs/games/crossfire/crossfire-maps.nix
index 0521b038d36..cb514a90d16 100644
--- a/pkgs/games/crossfire/crossfire-maps.nix
+++ b/pkgs/games/crossfire/crossfire-maps.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "crossfire-maps";
-  version = "r${toString rev}";
+  version = rev;
 
   src = fetchsvn {
     url = "http://svn.code.sf.net/p/crossfire/code/maps/trunk/";
-    sha256 = sha256;
-    rev = rev;
+    inherit sha256;
+    rev = "r${rev}";
   };
 
   installPhase = ''
diff --git a/pkgs/games/crossfire/crossfire-server.nix b/pkgs/games/crossfire/crossfire-server.nix
index 9259e8e52fa..f99e08a5a46 100644
--- a/pkgs/games/crossfire/crossfire-server.nix
+++ b/pkgs/games/crossfire/crossfire-server.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   pname = "crossfire-server";
-  version = "r${toString rev}";
+  version = rev;
 
   src = fetchsvn {
     url = "http://svn.code.sf.net/p/crossfire/code/server/trunk/";
-    sha256 = sha256;
-    rev = rev;
+    inherit sha256;
+    rev = "r${rev}";
   };
 
   nativeBuildInputs = [ autoconf automake libtool flex perl check pkg-config python3 ];
diff --git a/pkgs/games/crossfire/default.nix b/pkgs/games/crossfire/default.nix
index bc74c00bcce..7d0716df3d9 100644
--- a/pkgs/games/crossfire/default.nix
+++ b/pkgs/games/crossfire/default.nix
@@ -3,26 +3,26 @@
 rec {
   crossfire-client = callPackage ./crossfire-client.nix {
     version = "1.75.0";
-    rev = 21760;
+    rev = "21760";
     sha256 = "0b42sak8hj60nywfswkps777asy9p8r9wsn7pmj2nqbd29ng1p9d";
   };
 
   crossfire-server = callPackage ./crossfire-server.nix {
     version = "latest";
-    rev = 22111;
+    rev = "22111";
     sha256 = "04fjif6zv642n2zlw27cgzkak2kknwrxqzg42bvzl7q901bsr9l7";
     maps = crossfire-maps; arch = crossfire-arch;
   };
 
   crossfire-arch = callPackage ./crossfire-arch.nix {
     version = "latest";
-    rev = 22111;
+    rev = "22111";
     sha256 = "0l4rp3idvbhknpxxs0w4i4nqfg01wblzm4v4j375xwxxbf00j0ms";
   };
 
   crossfire-maps = callPackage ./crossfire-maps.nix {
     version = "latest";
-    rev = 22111;
+    rev = "22111";
     sha256 = "1dwfc84acjvbjgjakkb8z8pdlksbsn90j0z8z8rq37lqx0kx1sap";
   };
 }
diff --git a/pkgs/games/opentyrian/default.nix b/pkgs/games/opentyrian/default.nix
index 43c8e08c79f..5d386bce6db 100644
--- a/pkgs/games/opentyrian/default.nix
+++ b/pkgs/games/opentyrian/default.nix
@@ -1,35 +1,43 @@
-{ lib, stdenv, fetchurl, fetchzip, SDL, SDL_net }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchzip
+, SDL2
+, SDL2_net
+, pkg-config
+}:
 
 stdenv.mkDerivation rec {
   pname = "opentyrian";
-  version = "2.1.20130907";
+  version = "2.1.20220318";
 
-  src = fetchurl {
-    url = "https://bitbucket.org/opentyrian/opentyrian/get/${version}.tar.gz";
-    sha256 = "1jnrkq616pc4dhlbd4n30d65vmn25q84w6jfv9383l9q20cqf2ph";
+  src = fetchFromGitHub {
+    owner = "opentyrian";
+    repo = "opentyrian";
+    rev = "v${version}";
+    sha256 = "01z1zxpps4ils0bnwazl9lmqdbfhfd8fkacahnh6kqyczavg40xg";
   };
 
   data = fetchzip {
-    url = "http://sites.google.com/a/camanis.net/opentyrian/tyrian/tyrian21.zip";
+    url = "https://camanis.net/tyrian/tyrian21.zip";
     sha256 = "1biz6hf6s7qrwn8ky0g6p8w7yg715w7yklpn6258bkks1s15hpdb";
   };
 
-  buildInputs = [SDL SDL_net];
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ SDL2 SDL2_net ];
 
-  patchPhase = "
-    substituteInPlace src/file.c --replace /usr/share $out/share
-  ";
-  buildPhase = "make release";
-  installPhase = "
-    mkdir -p $out/bin
-    cp ./opentyrian $out/bin
-    mkdir -p $out/share/opentyrian/data
-    cp -r $data/* $out/share/opentyrian/data
-  ";
+  enableParallelBuilding = true;
+
+  makeFlags = [ "prefix=${placeholder "out"}" ];
+
+  postInstall = ''
+    mkdir -p $out/share/games/tyrian
+    cp -r $data/* $out/share/games/tyrian/
+  '';
 
   meta = {
     description = ''Open source port of the game "Tyrian"'';
-    homepage = "https://bitbucket.org/opentyrian/opentyrian";
+    homepage = "https://github.com/opentyrian/opentyrian";
     # This does not account of Tyrian data.
     # license = lib.licenses.gpl2;
   };
diff --git a/pkgs/games/papermc/default.nix b/pkgs/games/papermc/default.nix
index 52bd5c00d43..7b7d66f6188 100644
--- a/pkgs/games/papermc/default.nix
+++ b/pkgs/games/papermc/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, fetchurl, bash, jre }:
 let
-  mcVersion = "1.18.1";
-  buildNum = "132";
+  mcVersion = "1.18.2";
+  buildNum = "313";
   jar = fetchurl {
     url = "https://papermc.io/api/v2/projects/paper/versions/${mcVersion}/builds/${buildNum}/downloads/paper-${mcVersion}-${buildNum}.jar";
-    sha256 = "af26babef1e9134804bdf61e14eed7677d603516638f5a2ffe97e176ebd9839b";
+    sha256 = "sha256-wotk0Pu1wKomj83nMCyzzPZ+Y9RkQUbfeWjRGaSt7lE=";
   };
 in stdenv.mkDerivation {
   pname = "papermc";
diff --git a/pkgs/games/polymc/default.nix b/pkgs/games/polymc/default.nix
index 4c5c8f6b780..4bb749db59f 100644
--- a/pkgs/games/polymc/default.nix
+++ b/pkgs/games/polymc/default.nix
@@ -18,13 +18,13 @@
 
 mkDerivation rec {
   pname = "polymc";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "PolyMC";
     repo = "PolyMC";
     rev = version;
-    sha256 = "sha256-pnMmmeIKAaX+z1YzzowotjaG/HKdiqcz2tJ5eGRR77I=";
+    sha256 = "sha256-lxiMz7vuq+BkNVjWWJbPUk68DSe8zVZPcvZ1iXDsfCY=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/games/r2mod_cli/default.nix b/pkgs/games/r2mod_cli/default.nix
index 607a53579c7..eb1dd25811a 100644
--- a/pkgs/games/r2mod_cli/default.nix
+++ b/pkgs/games/r2mod_cli/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/foldex/r2mod_cli";
     license = licenses.gpl3Only;
     maintainers = [ maintainers.reedrw ];
+    mainProgram = "r2mod";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/games/tcl2048/default.nix b/pkgs/games/tcl2048/default.nix
index b2796225a6c..b74d3630e0e 100644
--- a/pkgs/games/tcl2048/default.nix
+++ b/pkgs/games/tcl2048/default.nix
@@ -21,7 +21,8 @@ tcl.mkTclDerivation rec {
     homepage = "https://github.com/dbohdan/2048.tcl";
     description = "The game of 2048 implemented in Tcl";
     license = lib.licenses.mit;
-    platforms = lib.platforms.all;
     maintainers = with lib.maintainers; [ dbohdan ];
+    mainProgram = "2048";
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/misc/flashfocus/default.nix b/pkgs/misc/flashfocus/default.nix
index fd93260a4bc..b74464de4f6 100644
--- a/pkgs/misc/flashfocus/default.nix
+++ b/pkgs/misc/flashfocus/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3 }:
+{ lib, python3, netcat-openbsd }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "flashfocus";
@@ -12,6 +12,9 @@ python3.pkgs.buildPythonApplication rec {
   postPatch = ''
     substituteInPlace setup.py \
       --replace "pyyaml>=5.1,<6.0" "pyyaml>=5.1"
+
+    substituteInPlace bin/nc_flash_window \
+      --replace "nc" "${lib.getExe netcat-openbsd}"
   '';
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index 327cf286234..28344c3fc5a 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -1,6 +1,6 @@
 { config, stdenv, lib, fetchurl, pkg-config, zlib, expat, openssl, autoconf
 , libjpeg, libpng, libtiff, freetype, fontconfig, libpaper, jbig2dec
-, libiconv, ijs, lcms2, fetchpatch, callPackage, bash, buildPackages
+, libiconv, ijs, lcms2, callPackage, bash, buildPackages, openjpeg
 , cupsSupport ? config.ghostscript.cups or (!stdenv.isDarwin), cups
 , x11Support ? cupsSupport, xlibsWrapper # with CUPS, X11 only adds very little
 }:
@@ -30,19 +30,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "ghostscript${lib.optionalString (x11Support) "-with-X"}";
-  version = "9.55.0";
+  version = "9.56.1";
 
   src = fetchurl {
     url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9${lib.versions.minor version}${lib.versions.patch version}/ghostscript-${version}.tar.xz";
-    sha512 = "27g72152mlwlalg232jxdhaf3ykgmqwi2pccbkwfygql1h9iz40plfbwbs1n0fkvm4zwzg5r9cr8g7w2dxih4jldiidv7rflxdy1is2";
+    sha512 = "22ysgdprh960rxmxyk2fy2my47cdrhfhbrwar1955hvad54iw79l916drp92wh3qzbxw6z40i70wk00vz8bn2ryig7qgpc1q01m2npy";
   };
 
   patches = [
-    (fetchpatch {
-      name = "fix-non-vendored-lcms2-typo.patch";
-      url = "https://github.com/ArtifexSoftware/ghostpdl/commit/830afae5454dea3bff903869d82022306890a96c.patch";
-      sha256 = "1w9yspsgxyabvrw9ld6pv6pb7708c44ihjqvag7qqh9v1lhm48j0";
-    })
     ./urw-font-files.patch
     ./doc-no-ref.diff
   ];
@@ -61,7 +56,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     zlib expat openssl
     libjpeg libpng libtiff freetype fontconfig libpaper jbig2dec
-    libiconv ijs lcms2 bash
+    libiconv ijs lcms2 bash openjpeg
   ]
   ++ lib.optional x11Support xlibsWrapper
   ++ lib.optional cupsSupport cups
@@ -72,8 +67,7 @@ stdenv.mkDerivation rec {
     export CCAUX=$CC_FOR_BUILD
     ${lib.optionalString cupsSupport ''export CUPSCONFIG="${cups.dev}/bin/cups-config"''}
 
-    # requires in-tree (heavily patched) openjpeg
-    rm -rf jpeg libpng zlib jasper expat tiff lcms2mt jbig2dec freetype cups/libs ijs
+    rm -rf jpeg libpng zlib jasper expat tiff lcms2mt jbig2dec freetype cups/libs ijs openjpeg
 
     sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@; s@INCLUDE=/usr/include@INCLUDE=/no-such-path@" -i base/unix-aux.mak
     sed "s@^ZLIBDIR=.*@ZLIBDIR=${zlib.dev}/include@" -i configure.ac
diff --git a/pkgs/misc/openrussian-cli/default.nix b/pkgs/misc/openrussian-cli/default.nix
index e7b3d1c496d..e6e089e8861 100644
--- a/pkgs/misc/openrussian-cli/default.nix
+++ b/pkgs/misc/openrussian-cli/default.nix
@@ -49,10 +49,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage    = "https://github.com/rhaberkorn/openrussian-cli";
     description = "Offline Console Russian Dictionary (based on openrussian.org)";
+    homepage    = "https://github.com/rhaberkorn/openrussian-cli";
     license     = with licenses; [ gpl3Only mit cc-by-sa-40 ];
     maintainers = with maintainers; [ zane ];
+    mainProgram = "openrussian";
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/misc/platformsh/default.nix b/pkgs/misc/platformsh/default.nix
index 9c0410b4738..64b9168fee4 100644
--- a/pkgs/misc/platformsh/default.nix
+++ b/pkgs/misc/platformsh/default.nix
@@ -42,9 +42,10 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "The unified tool for managing your Platform.sh services from the command line.";
-    license = licenses.mit;
     homepage = "https://github.com/platformsh/platformsh-cli";
+    license = licenses.mit;
     maintainers = with maintainers; [ shyim ];
+    mainProgram = "platform";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/misc/screensavers/pipes/default.nix b/pkgs/misc/screensavers/pipes/default.nix
index 99626018750..bbabd02f475 100644
--- a/pkgs/misc/screensavers/pipes/default.nix
+++ b/pkgs/misc/screensavers/pipes/default.nix
@@ -22,10 +22,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/pipeseroni/pipes.sh";
     description = "Animated pipes terminal screensaver";
+    homepage = "https://github.com/pipeseroni/pipes.sh";
     license = licenses.mit;
     maintainers = [ maintainers.matthiasbeyer ];
+    mainProgram = "pipes.sh";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/os-specific/darwin/goku/default.nix b/pkgs/os-specific/darwin/goku/default.nix
index c729ee6010c..af392e535da 100644
--- a/pkgs/os-specific/darwin/goku/default.nix
+++ b/pkgs/os-specific/darwin/goku/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "goku";
-  version = "0.3.6";
+  version = "0.5.1";
 
   src = fetchurl {
     url = "https://github.com/yqrashawn/GokuRakuJoudo/releases/download/v${version}/goku.tar.gz";
-    sha256 = "1pss1k2slbqzpfynik50pdk4jsaiag4abhmr6kadmaaj18mfz7ai";
+    sha256 = "7c9304a5b4265575ca154bc0ebc04fcf812d14981775966092946cf82f65c782";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index 1f6fb31d93d..1d93174ec65 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchurl
+, fetchpatch
 , alsa-lib
 , dbus
 , ell
@@ -49,6 +50,17 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ] ++ lib.optional doCheck "test";
 
+  patches = [
+    # https://github.com/bluez/bluez/commit/0905a06410d4a5189f0be81e25eb3c3e8a2199c5
+    # which fixes https://github.com/bluez/bluez/issues/329
+    # and is already merged upstream and not yet in a release.
+    (fetchpatch {
+      name = "StateDirectory_and_ConfigurationDirectory.patch";
+      url = "https://github.com/bluez/bluez/commit/0905a06410d4a5189f0be81e25eb3c3e8a2199c5.patch";
+      sha256 = "sha256-MI6yPTiDLHsSTjLvNqtWnuy2xUMYpSat1WhMbeoedSM=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace tools/hid2hci.rules \
       --replace /sbin/udevadm ${systemd}/bin/udevadm \
diff --git a/pkgs/os-specific/linux/bolt/default.nix b/pkgs/os-specific/linux/bolt/default.nix
index dd9436d9b0e..d424f89fdfb 100644
--- a/pkgs/os-specific/linux/bolt/default.nix
+++ b/pkgs/os-specific/linux/bolt/default.nix
@@ -13,7 +13,7 @@
 , libxml2
 , libxslt
 , docbook_xml_dtd_45
-, docbook_xsl
+, docbook-xsl-nons
 , glib
 , systemd
 , polkit
@@ -21,39 +21,33 @@
 
 stdenv.mkDerivation rec {
   pname = "bolt";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "bolt";
     repo = "bolt";
     rev = version;
-    sha256 = "1phgp8fs0dlj74kbkqlvfniwc32daz47b3pvsxlfxqzyrp77xrfm";
+    sha256 = "eXjj7oD5HOW/AG2uxDa0tSleKmbouFd2fwlL2HHFiMA=";
   };
 
   patches = [
     # meson install tries to create /var/lib/boltd
     ./0001-skip-mkdir.patch
 
-    # https://github.com/NixOS/nixpkgs/issues/104429
+    # Test does not work on ZFS with atime disabled.
     # Upstream issue: https://gitlab.freedesktop.org/bolt/bolt/-/issues/167
     (fetchpatch {
-      name = "disable-atime-tests.diff";
-      url = "https://gitlab.freedesktop.org/roberth/bolt/-/commit/1f672a7de2ebc4dd51590bb90f3b873a8ac0f4e6.diff";
-      sha256 = "134f5s6kjqs6612pwq5pm1miy58crn1kxbyyqhzjnzmf9m57fnc8";
-    })
-
-    # Fix tests with newer umockdev
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/bolt/bolt/-/commit/130e09d1c7ff02c09e4ad1c9c36e9940b68e58d8.patch";
-      sha256 = "HycuM7z4VvtBuZZLU68tBxGT1YjaqJRS4sKyoTGHZEk=";
+      url = "https://gitlab.freedesktop.org/bolt/bolt/-/commit/c2f1d5c40ad71b20507e02faa11037b395fac2f8.diff";
+      revert = true;
+      sha256 = "6w7ll65W/CydrWAVi/qgzhrQeDv1PWWShulLxoglF+I=";
     })
   ];
 
   nativeBuildInputs = [
     asciidoc
     docbook_xml_dtd_45
-    docbook_xsl
+    docbook-xsl-nons
     libxml2
     libxslt
     meson
diff --git a/pkgs/os-specific/linux/dropwatch/default.nix b/pkgs/os-specific/linux/dropwatch/default.nix
index c2701c05719..470b5901870 100644
--- a/pkgs/os-specific/linux/dropwatch/default.nix
+++ b/pkgs/os-specific/linux/dropwatch/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dropwatch";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchFromGitHub {
     owner = "nhorman";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0axx0zzrs7apqnl0r70jyvmgk7cs5wk185id479mapgngibwkyxy";
+    sha256 = "sha256-TbhgcX5WzuigP5/Mj5JuK7O/UKcu70D7dcOcvo4fxeQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index c3dc819b5bc..3caf41cfca5 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -37,9 +37,16 @@ stdenv.mkDerivation rec {
     # Adds the /nix directory when using an overlay.
     # Required to run any programs under this mode.
     ./mount-nix-dir-on-overlay.patch
+
     # By default fbuilder hardcodes the firejail binary to the install path.
     # On NixOS the firejail binary is a setuid wrapper available in $PATH.
     ./fbuilder-call-firejail-on-path.patch
+
+    # NixOS specific whitelist to resolve binary paths in user environment
+    # Fixes https://github.com/NixOS/nixpkgs/issues/170784
+    # Upstream fix https://github.com/netblue30/firejail/pull/5131
+    # Upstream hopefully fixed in later versions > 0.9.68
+   ./whitelist-nix-profile.patch
   ];
 
   prePatch = ''
diff --git a/pkgs/os-specific/linux/firejail/whitelist-nix-profile.patch b/pkgs/os-specific/linux/firejail/whitelist-nix-profile.patch
new file mode 100644
index 00000000000..227d28846ea
--- /dev/null
+++ b/pkgs/os-specific/linux/firejail/whitelist-nix-profile.patch
@@ -0,0 +1,9 @@
+--- a/etc/inc/whitelist-common.inc.org	2022-05-06 13:57:17.294206339 +0200
++++ b/etc/inc/whitelist-common.inc	2022-05-06 13:58:00.108655548 +0200
+@@ -83,3 +83,6 @@
+ whitelist ${HOME}/.kde4/share/config/oxygenrc
+ whitelist ${HOME}/.kde4/share/icons
+ whitelist ${HOME}/.local/share/qt5ct
++
++# NixOS specific to resolve binary paths
++whitelist ${HOME}/.nix-profile
diff --git a/pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix b/pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix
index 5152b3dfe71..86a3924c0e2 100644
--- a/pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix
+++ b/pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation {
     description = "facetimehd calibration";
     homepage = "https://support.apple.com/kb/DL1837";
     license = licenses.unfree;
-    maintainers = with maintainers; [ womfoo grahamc ];
+    maintainers = with maintainers; [ alexshpilkin womfoo grahamc ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 
diff --git a/pkgs/os-specific/linux/g15daemon/default.nix b/pkgs/os-specific/linux/g15daemon/default.nix
index 118a17c4c8f..d20fb662ff5 100644
--- a/pkgs/os-specific/linux/g15daemon/default.nix
+++ b/pkgs/os-specific/linux/g15daemon/default.nix
@@ -79,6 +79,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libg15 libg15render ];
 
+  # Workaround build failure on -fno-common toolchains like upstream gcc-10:
+  #  ld: g15_plugins.o:/build/g15daemon-1.9.5.3/g15daemon/./g15daemon.h:218:
+  #   multiple definition of `lcdlist_mutex'; utility_funcs.o:g15daemon.h:218: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/os-specific/linux/intel-compute-runtime/default.nix b/pkgs/os-specific/linux/intel-compute-runtime/default.nix
index 1d1d5667fe9..5c3154bf39d 100644
--- a/pkgs/os-specific/linux/intel-compute-runtime/default.nix
+++ b/pkgs/os-specific/linux/intel-compute-runtime/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-compute-runtime";
-  version = "21.42.21270";
+  version = "22.17.23034";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "compute-runtime";
     rev = version;
-    sha256 = "N9MsDcsL8kBWxfZjhukcxZiSJnXxqMgWF0etOhf2/AE=";
+    sha256 = "sha256-ae6kPiVQe3+hcqXVu2ncCaVQAoMKoDHifrkKpt6uWX8=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index bc5811942a5..424a1d1a50e 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -12,12 +12,12 @@
 
 stdenv.mkDerivation rec {
   pname = "iwd";
-  version = "1.26";
+  version = "1.27";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
     rev = version;
-    sha256 = "sha256-+BciYfb9++u9Ux4AdvPFFIFVq8j+TVoTLKqxzmn5p3o=";
+    sha256 = "sha256-gN9+9Cc6zjZBXDhcHBH5wyucO5/vL7bKSLWM5laFqaA=";
   };
 
   outputs = [ "out" "man" "doc" ]
diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix
index 4c89d8c8219..4d08a38dbe8 100644
--- a/pkgs/os-specific/linux/kbd/default.nix
+++ b/pkgs/os-specific/linux/kbd/default.nix
@@ -63,6 +63,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [ check pam ];
+  NIX_LDFLAGS = lib.optional stdenv.hostPlatform.isStatic "-laudit";
   nativeBuildInputs = [ autoreconfHook pkg-config flex ];
 
   passthru.tests = {
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index cb73bbed557..16b0ac27fc6 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -2,51 +2,61 @@
     "4.14": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.14.276-hardened1.patch",
-            "sha256": "1q0w8fqn9z32r35s3lil9dllkykydnpfp1dkhgvmy5rggbm801ay",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.276-hardened1/linux-hardened-4.14.276-hardened1.patch"
+            "name": "linux-hardened-4.14.277-hardened1.patch",
+            "sha256": "1jjbywmwglnsj80dbic14bip6wfllsgqgw7lcn9s8n12mdr42ps2",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.277-hardened1/linux-hardened-4.14.277-hardened1.patch"
         },
-        "sha256": "1rxksrmkh5raz930y9khfg85dglgphrgcvkj21n86m333pajs4mf",
-        "version": "4.14.276"
+        "sha256": "058vzn1gcsc194hgwrj78afawz2anm7ga8a1x5m5i4cw8p1arp73",
+        "version": "4.14.277"
     },
     "4.19": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.19.239-hardened1.patch",
-            "sha256": "1w0h47av90aapz5g5ldny1vrq21n22kxag24byk4b43ndg6q0ksc",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.239-hardened1/linux-hardened-4.19.239-hardened1.patch"
+            "name": "linux-hardened-4.19.240-hardened1.patch",
+            "sha256": "1qhrwpjfy5c75zcpvp1b0xb460vyjv04iml2inqrhnj9zcz1kgp8",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.240-hardened1/linux-hardened-4.19.240-hardened1.patch"
         },
-        "sha256": "0fsr9jy8d1rpg6ixp7av01pqz3vq50rgfcjd7vj16ccsdk15sz5z",
-        "version": "4.19.239"
+        "sha256": "1hj6vngynx6kjaczjl77jjwqq0kh0lm6jdqjvakd1cgrppaizb3j",
+        "version": "4.19.240"
     },
     "5.10": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.10.112-hardened1.patch",
-            "sha256": "1sryrhl7bblx4r0smvlzw7p4xhc4l8bsqgwzlj2x8qamj544w464",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.112-hardened1/linux-hardened-5.10.112-hardened1.patch"
+            "name": "linux-hardened-5.10.113-hardened1.patch",
+            "sha256": "0v6blapny74fkhsm5rksxg632hv3chh81wgc96l6ql4sy7p19riv",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.113-hardened1/linux-hardened-5.10.113-hardened1.patch"
         },
-        "sha256": "19aa7fq8n75gh0vv01mpxg4cxkfpr5lj0sv6lxiyzcgbc71isv4c",
-        "version": "5.10.112"
+        "sha256": "1z3dd5hrdbn2axsi2n70n41q1dq2dvg7s8aph1p6yiajpc16llc2",
+        "version": "5.10.113"
     },
     "5.15": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.15.35-hardened1.patch",
-            "sha256": "10x2q01bckmfmgdzfg01khj43pav1drzzp3fr20hk718ywikvgax",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.35-hardened1/linux-hardened-5.15.35-hardened1.patch"
+            "name": "linux-hardened-5.15.36-hardened1.patch",
+            "sha256": "1y52bayw2n1lc1vp9jz8a39fz32x81ivaw24kc6hdr23yg0a8q5g",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.36-hardened1/linux-hardened-5.15.36-hardened1.patch"
         },
-        "sha256": "1n05c4c4ish25x483a2p5177zgda8pq7g4752n1b7chfygi5l6ha",
-        "version": "5.15.35"
+        "sha256": "1466557034q1fzvpy8vwj8ps3cv2q8s7z76af9y1jz4kgaqmsd1n",
+        "version": "5.15.36"
+    },
+    "5.17": {
+        "patch": {
+            "extra": "-hardened1",
+            "name": "linux-hardened-5.17.5-hardened1.patch",
+            "sha256": "1cv43sp2amai7r75dw07bd2ys6fz1ri9pfra3kaajap55sbalsw0",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.17.5-hardened1/linux-hardened-5.17.5-hardened1.patch"
+        },
+        "sha256": "11z95wsgmj97pg77yck26l0383gncbla0zwpzv4gjdj4p62x3g4v",
+        "version": "5.17.5"
     },
     "5.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.4.190-hardened1.patch",
-            "sha256": "0z4w05fq20pmiyxf4bip61ywy5xg96klbnj62yxiaha68pfwlm29",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.190-hardened1/linux-hardened-5.4.190-hardened1.patch"
+            "name": "linux-hardened-5.4.191-hardened1.patch",
+            "sha256": "117v9xb9y3bmppxmrbya5a4d869fh6l7map25g5n03sca56g7c32",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.191-hardened1/linux-hardened-5.4.191-hardened1.patch"
         },
-        "sha256": "157ifcl59xxj721r302hg82vmbqzx5hjrlihrc5s4maxfw3ygm41",
-        "version": "5.4.190"
+        "sha256": "0fharjqasvq76pciwci6qamdadpfjh2n8gdyri8fj65drmgsi318",
+        "version": "5.4.191"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index c03c5d5afd2..2e1f98af3e2 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.240";
+  version = "4.19.241";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1hj6vngynx6kjaczjl77jjwqq0kh0lm6jdqjvakd1cgrppaizb3j";
+    sha256 = "04zyi22c2d91k7v2w0s8v112cqqf24km599mn18k2nafq79njqjc";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix
index 44438676ae3..007258e7336 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.15.36";
+  version = "5.15.37";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -15,6 +15,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1466557034q1fzvpy8vwj8ps3cv2q8s7z76af9y1jz4kgaqmsd1n";
+    sha256 = "09n0l9ly111r6jbpgz1kw2q4n4mmcv5jxfhs5bcsiyjp44d0kgqq";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/pax-utils/default.nix b/pkgs/os-specific/linux/pax-utils/default.nix
index b22af8d7083..7172aca65f6 100644
--- a/pkgs/os-specific/linux/pax-utils/default.nix
+++ b/pkgs/os-specific/linux/pax-utils/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, lib, fetchurl, bash }:
+{ stdenv, lib, fetchurl, bash, gitUpdater }:
 
 stdenv.mkDerivation rec {
   pname = "pax-utils";
-  version = "1.3.3";
+  version = "1.3.4";
 
   src = fetchurl {
     url = "mirror://gentoo/distfiles/${pname}-${version}.tar.xz";
-    sha256 = "sha256-7sp/vZi8Zr6tSncADCAl2fF+qCAbhCRYgkBs4AubaxQ=";
+    sha256 = "sha256-i67S+cWujgzaG5x1mQhkEBr8ZPrQpGFuEPP/jviRBAs=";
   };
 
   strictDeps = true;
@@ -15,6 +15,12 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
+  passthru.updateScript = gitUpdater {
+    inherit pname version;
+    url = "https://anongit.gentoo.org/git/proj/pax-utils.git";
+    rev-prefix = "v";
+  };
+
   meta = with lib; {
     description = "ELF utils that can check files for security relevant properties";
     longDescription = ''
diff --git a/pkgs/os-specific/linux/power-profiles-daemon/default.nix b/pkgs/os-specific/linux/power-profiles-daemon/default.nix
index 9f96eb2576d..253c3caf6aa 100644
--- a/pkgs/os-specific/linux/power-profiles-daemon/default.nix
+++ b/pkgs/os-specific/linux/power-profiles-daemon/default.nix
@@ -8,6 +8,7 @@
 , libgudev
 , glib
 , polkit
+, dbus
 , gobject-introspection
 , gettext
 , gtk-doc
@@ -29,34 +30,21 @@ let
     dbus-python
     python-dbusmock
   ];
-  testTypelibPath = lib.makeSearchPathOutput "lib" "lib/girepository-1.0" [ umockdev ];
 in
 stdenv.mkDerivation rec {
   pname = "power-profiles-daemon";
-  version = "0.10.1";
+  version = "0.11.1";
 
-  outputs = [ "out" "devdoc" "installedTests" ];
+  outputs = [ "out" "devdoc" ];
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "hadess";
     repo = "power-profiles-daemon";
     rev = version;
-    sha256 = "sha256-sQWiCHc0kEELdmPq9Qdk7OKDUgbM5R44639feC7gjJc=";
+    sha256 = "sha256-qU9A9U2R3UioC7bo8Pc0IIsHIjghb6gsG4pTAg6tp9E=";
   };
 
-  patches = [
-    # Enable installed tests.
-    # https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/merge_requests/92
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/commit/3c64d9e1732eb6425e33013c452f1c4aa7a26f7e.patch";
-      sha256 = "din5VuZZwARNDInHtl44yJK8pLmlxr5eoD4iMT4a8HA=";
-    })
-
-    # Install installed tests to separate output.
-    ./installed-tests-path.patch
-  ];
-
   nativeBuildInputs = [
     pkg-config
     meson
@@ -70,9 +58,6 @@ stdenv.mkDerivation rec {
     gobject-introspection
     wrapGAppsNoGuiHook
     python3.pkgs.wrapPython
-
-    # For finding tests.
-    (python3.withPackages testPythonPkgs)
   ];
 
   buildInputs = [
@@ -91,31 +76,28 @@ stdenv.mkDerivation rec {
     python3.pkgs.pygobject3
   ];
 
+  checkInputs = [
+    umockdev
+    dbus
+    (python3.withPackages testPythonPkgs)
+  ];
+
   mesonFlags = [
-    "-Dinstalled_test_prefix=${placeholder "installedTests"}"
     "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
     "-Dgtk_doc=true"
   ];
 
+  doCheck = true;
+
   PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions";
 
   # Avoid double wrapping
   dontWrapGApps = true;
 
   postPatch = ''
-    patchShebangs tests/unittest_inspector.py
-  '';
-
-  preConfigure = ''
-    # For finding tests.
-    GI_TYPELIB_PATH_original=$GI_TYPELIB_PATH
-    addToSearchPath GI_TYPELIB_PATH "${testTypelibPath}"
-  '';
-
-  postConfigure = ''
-    # Restore the original value to prevent the program from depending on umockdev.
-    export GI_TYPELIB_PATH=$GI_TYPELIB_PATH_original
-    unset GI_TYPELIB_PATH_original
+    patchShebangs --build \
+      tests/integration-test.py \
+      tests/unittest_inspector.py
   '';
 
   preInstall = ''
@@ -128,33 +110,22 @@ stdenv.mkDerivation rec {
     export PKEXEC_UID=-1
   '';
 
+  postCheck = ''
+    # Do not contaminate the wrapper with test dependencies.
+    unset GI_TYPELIB_PATH
+    unset XDG_DATA_DIRS
+  '';
+
   postFixup = ''
     # Avoid double wrapping
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
     # Make Python libraries available
     wrapPythonProgramsIn "$out/bin" "$pythonPath"
-
-    # Make Python libraries available for installed tests
-    makeWrapperArgs+=(
-      --prefix GI_TYPELIB_PATH : "${testTypelibPath}"
-      --prefix PATH : "${lib.makeBinPath [ umockdev ]}"
-      # Vala does not use absolute paths in typelibs
-      # https://github.com/NixOS/nixpkgs/issues/47226
-      # Also umockdev binaries use relative paths for LD_PRELOAD.
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ umockdev ]}"
-      # dbusmock calls its templates using exec so our regular patching of Python scripts
-      # to add package directories to site will not carry over.
-      # https://github.com/martinpitt/python-dbusmock/blob/2254e69279a02fb3027b500ed7288b77c7a80f2a/dbusmock/mockobject.py#L51
-      # https://github.com/martinpitt/python-dbusmock/blob/2254e69279a02fb3027b500ed7288b77c7a80f2a/dbusmock/__main__.py#L60-L62
-      --prefix PYTHONPATH : "${lib.makeSearchPath python3.sitePackages (testPythonPkgs python3.pkgs)}"
-    )
-    wrapPythonProgramsIn "$installedTests/libexec/installed-tests" "$pythonPath ${lib.concatStringsSep " " (testPythonPkgs python3.pkgs)}"
   '';
 
   passthru = {
     tests = {
       nixos = nixosTests.power-profiles-daemon;
-      installed-tests = nixosTests.installed-tests.power-profiles-daemon;
     };
   };
 
diff --git a/pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch b/pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch
deleted file mode 100644
index 63059f3ac73..00000000000
--- a/pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/meson_options.txt b/meson_options.txt
-index 7e89619..76497db 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,3 +1,4 @@
-+option('installed_test_prefix', type: 'string', description: 'Prefix for installed tests')
- option('systemdsystemunitdir',
-        description: 'systemd unit directory',
-        type: 'string',
-diff --git a/tests/meson.build b/tests/meson.build
-index b306a7f..7670e1b 100644
---- a/tests/meson.build
-+++ b/tests/meson.build
-@@ -2,8 +2,8 @@ envs = environment()
- envs.set ('top_builddir', meson.build_root())
- envs.set ('top_srcdir', meson.source_root())
- 
--installed_test_bindir = libexecdir / 'installed-tests' / meson.project_name()
--installed_test_datadir = datadir / 'installed-tests' / meson.project_name()
-+installed_test_bindir = get_option('installed_test_prefix') / 'libexec' / 'installed-tests' / meson.project_name()
-+installed_test_datadir = get_option('installed_test_prefix') / 'share' / 'installed-tests' / meson.project_name()
- 
- python3 = find_program('python3')
- unittest_inspector = find_program('unittest_inspector.py')
-diff --git a/tests/integration-test.py b/tests/integration-test.py
-index 22dc42c..0f92b76 100755
---- a/tests/integration-test.py
-+++ b/tests/integration-test.py
-@@ -67,7 +67,7 @@ class Tests(dbusmock.DBusTestCase):
-             print('Testing binaries from JHBuild (%s)' % cls.daemon_path)
-         else:
-             cls.daemon_path = None
--            with open('/usr/lib/systemd/system/power-profiles-daemon.service') as f:
-+            with open('/run/current-system/sw/lib/systemd/system/power-profiles-daemon.service') as f:
-                 for line in f:
-                     if line.startswith('ExecStart='):
-                         cls.daemon_path = line.split('=', 1)[1].strip()
diff --git a/pkgs/os-specific/linux/read-edid/default.nix b/pkgs/os-specific/linux/read-edid/default.nix
index 7f6d224ff4d..6e040d3cbff 100644
--- a/pkgs/os-specific/linux/read-edid/default.nix
+++ b/pkgs/os-specific/linux/read-edid/default.nix
@@ -9,14 +9,17 @@ stdenv.mkDerivation rec {
     sha256 = "0vqqmwsgh2gchw7qmpqk6idgzcm5rqf2fab84y7gk42v1x2diin7";
   };
 
+  patches = [ ./fno-common.patch ];
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt --replace 'COPYING' 'LICENSE'
+  '';
+
   nativeBuildInputs = [ cmake ];
   buildInputs = lib.optional stdenv.hostPlatform.isx86 libx86;
 
   cmakeFlags = [ "-DCLASSICBUILD=${if stdenv.hostPlatform.isx86 then "ON" else "OFF"}" ];
 
-  patchPhase = ''
-    substituteInPlace CMakeLists.txt --replace 'COPYING' 'LICENSE'
-  '';
 
   meta = with lib; {
     description = "Tool for reading and parsing EDID data from monitors";
diff --git a/pkgs/os-specific/linux/read-edid/fno-common.patch b/pkgs/os-specific/linux/read-edid/fno-common.patch
new file mode 100644
index 00000000000..336b48b66ad
--- /dev/null
+++ b/pkgs/os-specific/linux/read-edid/fno-common.patch
@@ -0,0 +1,22 @@
+--- a/get-edid/classic.c
++++ b/get-edid/classic.c
+@@ -26,7 +26,7 @@ typedef byte* real_ptr;
+ #define dosmemput(buffer,length,offset) memcpy(offset,buffer,length)
+ 
+ #define display(...) if (quiet == 0) { fprintf(stderr, __VA_ARGS__); }
+-int quiet;
++extern int quiet;
+ 
+ real_ptr far_ptr_to_real_ptr( uint32 farptr )
+ {
+--- a/get-edid/i2c.c
++++ b/get-edid/i2c.c
+@@ -15,7 +15,7 @@
+ 
+ //Ideas (but not too much actual code) taken from i2c-tools. Thanks guys.
+ 
+-int quiet;
++extern int quiet;
+ 
+ #define display(...) if (quiet == 0) { fprintf(stderr, __VA_ARGS__); }
+ 
diff --git a/pkgs/os-specific/linux/sgx/psw/default.nix b/pkgs/os-specific/linux/sgx/psw/default.nix
index f6564f1560c..2077d23bc9d 100644
--- a/pkgs/os-specific/linux/sgx/psw/default.nix
+++ b/pkgs/os-specific/linux/sgx/psw/default.nix
@@ -28,11 +28,11 @@ stdenv.mkDerivation rec {
         hash = "sha256-JriA9UGYFkAPuCtRizk8RMM1YOYGR/eO9ILnx47A40s=";
       };
       dcap = rec {
-        version = "1.12.1";
+        version = "1.13";
         filename = "prebuilt_dcap_${version}.tar.gz";
         prebuilt = fetchurl {
           url = "https://download.01.org/intel-sgx/sgx-dcap/${version}/linux/${filename}";
-          hash = "sha256-V/XHva9Sq3P36xSW+Sd0G6Dnk4H0ANO1Ns/u+FI1eGI=";
+          hash = "sha256-0kD6hxN8qZ/7/H99aboQx7Qg7ewmYPEexoU6nqczAik=";
         };
       };
     in
@@ -64,19 +64,6 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    # https://github.com/intel/linux-sgx/pull/730
-    substituteInPlace buildenv.mk --replace '/bin/cp' 'cp'
-    substituteInPlace psw/ae/aesm_service/source/CMakeLists.txt \
-      --replace '/usr/bin/getconf' 'getconf'
-
-    # https://github.com/intel/SGXDataCenterAttestationPrimitives/pull/205
-    substituteInPlace ./external/dcap_source/QuoteGeneration/buildenv.mk \
-      --replace '/bin/cp' 'cp'
-    substituteInPlace external/dcap_source/tools/SGXPlatformRegistration/Makefile \
-      --replace '/bin/cp' 'cp'
-    substituteInPlace external/dcap_source/tools/SGXPlatformRegistration/buildenv.mk \
-      --replace '/bin/cp' 'cp'
-
     patchShebangs \
       linux/installer/bin/build-installpkg.sh \
       linux/installer/common/psw/createTarball.sh \
@@ -166,14 +153,6 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/lib/systemd/system/remount-dev-exec.service \
       --replace '/bin/mount' \
                 "${util-linux}/bin/mount"
-
-    header "Fixing linksgx.sh"
-    # https://github.com/intel/linux-sgx/pull/736
-    substituteInPlace $out/aesm/linksgx.sh \
-      --replace '/usr/bin/getent' \
-                '${glibc.bin}/bin/getent' \
-      --replace '/usr/sbin/usermod' \
-                '${shadow}/bin/usermod'
   '';
 
   passthru.tests = {
diff --git a/pkgs/os-specific/linux/sgx/sdk/default.nix b/pkgs/os-specific/linux/sgx/sdk/default.nix
index baa4ad2a337..977139406fe 100644
--- a/pkgs/os-specific/linux/sgx/sdk/default.nix
+++ b/pkgs/os-specific/linux/sgx/sdk/default.nix
@@ -29,15 +29,15 @@
 stdenv.mkDerivation rec {
   pname = "sgx-sdk";
   # Version as given in se_version.h
-  version = "2.15.101.1";
+  version = "2.16.100.4";
   # Version as used in the Git tag
-  versionTag = "2.15.1";
+  versionTag = "2.16";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "linux-sgx";
     rev = "sgx_${versionTag}";
-    hash = "sha256-e11COTR5eDPMB81aPRKatvIkAOeX+OZgnvn2utiv78M=";
+    hash = "sha256-qgXuJJWiqmcU11umCsE3DnlK4VryuTDAsNf53YPw6UY=";
     fetchSubmodules = true;
   };
 
@@ -53,18 +53,9 @@ stdenv.mkDerivation rec {
       url = "https://github.com/intel/linux-sgx/commit/254b58f922a6bd49c308a4f47f05f525305bd760.patch";
       sha256 = "sha256-sHU++K7NJ+PdITx3y0PwstA9MVh10rj2vrLn01N9F4w=";
     })
-    # Commit to add missing sgx_ippcp.h not yet part of this release
-    (fetchpatch {
-      name = "add-missing-sgx_ippcp-header.patch";
-      url = "https://github.com/intel/linux-sgx/commit/51d1087b707a47e18588da7bae23e5f686d44be6.patch";
-      sha256 = "sha256-RZC14H1oEuGp0zn8CySDPy1KNqP/POqb+KMYoQt2A7M=";
-    })
   ];
 
   postPatch = ''
-    # https://github.com/intel/linux-sgx/pull/730
-    substituteInPlace buildenv.mk --replace '/bin/cp' 'cp'
-
     patchShebangs linux/installer/bin/build-installpkg.sh \
       linux/installer/common/sdk/createTarball.sh \
       linux/installer/common/sdk/install.sh
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index e130abbf27f..9e914132ef2 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -666,6 +666,18 @@ stdenv.mkDerivation {
     rm -rf $out/share/doc
   '';
 
+  # Avoid *.EFI binary stripping. At least on aarch64-linux strip
+  # removes too much from PE32+ files:
+  #   https://github.com/NixOS/nixpkgs/issues/169693
+  # The hack is to move EFI file out of lib/ before doStrip
+  # run and return it after doStrip run.
+  preFixup = lib.optionalString withEfi ''
+    mv $out/lib/systemd/boot/efi $out/dont-strip-me
+  '';
+  postFixup = lib.optionalString withEfi ''
+    mv $out/dont-strip-me $out/lib/systemd/boot/efi
+  '';
+
   passthru = {
     # The interface version prevents NixOS from switching to an
     # incompatible systemd at runtime.  (Switching across reboots is
@@ -687,6 +699,8 @@ stdenv.mkDerivation {
     description = "A system and service manager for Linux";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
+    # https://github.com/systemd/systemd/issues/20600#issuecomment-912338965
+    broken = stdenv.hostPlatform.isStatic;
     priority = 10;
     maintainers = with maintainers; [ flokli kloenk mic92 ];
   };
diff --git a/pkgs/os-specific/linux/uhk-agent/default.nix b/pkgs/os-specific/linux/uhk-agent/default.nix
new file mode 100644
index 00000000000..688a743fa9c
--- /dev/null
+++ b/pkgs/os-specific/linux/uhk-agent/default.nix
@@ -0,0 +1,39 @@
+{ appimageTools, lib, fetchurl, polkit, udev }:
+let
+  pname = "uhk-agent";
+  version = "1.5.17";
+  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-auOoTTRmkXVDDvcmRFzQIStNlbai8bTBLb/KUjk6EAc=";
+  };
+
+  appimageContents = appimageTools.extract {
+    name = "${pname}-${version}";
+    inherit src;
+  };
+in appimageTools.wrapType2 {
+  inherit pname version src;
+
+  extraPkgs = pkgs: with pkgs; [ polkit udev ];
+
+  extraInstallCommands = ''
+    mv $out/bin/${pname}-${version} $out/bin/${pname}
+
+    install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
+    install -m 644 -D ${appimageContents}/resources/rules/50-uhk60.rules $out/rules/50-uhk60.rules
+    substituteInPlace $out/share/applications/${pname}.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+    cp -r ${appimageContents}/usr/share/icons $out/share
+  '';
+  # wrapType2 does not passthru pname+version
+  passthru.version = version;
+
+  meta = with lib; {
+    description = "Agent is the configuration application of the Ultimate Hacking Keyboard";
+    homepage = "https://github.com/UltimateHackingKeyboard/agent";
+    license = licenses.unfreeRedistributable;
+    maintainers = with maintainers; [ ngiger ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/os-specific/linux/uhk-udev-rules/default.nix b/pkgs/os-specific/linux/uhk-udev-rules/default.nix
new file mode 100644
index 00000000000..bcb7799731f
--- /dev/null
+++ b/pkgs/os-specific/linux/uhk-udev-rules/default.nix
@@ -0,0 +1,20 @@
+{ lib, stdenv, uhk-agent }:
+
+stdenv.mkDerivation {
+  pname = "uhk-udev-rules";
+  inherit (uhk-agent) version;
+
+  dontUnpack = true;
+  dontBuild = true;
+  installPhase = ''
+    runHook preInstall
+    install -D -m 644 ${uhk-agent.out}/rules/50-uhk60.rules $out/lib/udev/rules.d/50-uhk60.rules
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "udev rules for UHK keyboards from https://ultimatehackingkeyboard.com";
+    inherit (uhk-agent.meta) license;
+    maintainers = [ lib.maintainers.ngiger ];
+  };
+}
diff --git a/pkgs/os-specific/linux/usbrelay/daemon.nix b/pkgs/os-specific/linux/usbrelay/daemon.nix
index 5f8d23e5201..e5e4baae9e9 100644
--- a/pkgs/os-specific/linux/usbrelay/daemon.nix
+++ b/pkgs/os-specific/linux/usbrelay/daemon.nix
@@ -25,9 +25,9 @@ stdenv.mkDerivation rec {
     install -m 644 -D usbrelayd $out/bin/usbrelayd
     install -m 644 -D usbrelayd.service $out/lib/systemd/system/usbrelayd.service
     install -m 644 -D 50-usbrelay.rules $out/lib/udev/rules.d/50-usbrelay.rules
+    install -m 644 -D usbrelayd.conf $out/etc/usbrelayd.conf # include this as an example
     runHook postInstall
   '';
-  # TODO for later releases: install -D usbrelayd.conf $out/etc/usbrelayd.conf # include this as an example
 
   meta = {
     description = "USB Relay MQTT service";
diff --git a/pkgs/os-specific/linux/usbrelay/default.nix b/pkgs/os-specific/linux/usbrelay/default.nix
index ebbb1dd7922..25388d3b230 100644
--- a/pkgs/os-specific/linux/usbrelay/default.nix
+++ b/pkgs/os-specific/linux/usbrelay/default.nix
@@ -1,15 +1,19 @@
-{ stdenv, lib, fetchFromGitHub, hidapi }:
+{ stdenv, lib, fetchFromGitHub, hidapi, installShellFiles }:
 stdenv.mkDerivation rec {
   pname = "usbrelay";
-  version = "0.9";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "darrylb123";
     repo = "usbrelay";
     rev = version;
-    sha256 = "sha256-bxME4r5W5bZKxMZ/Svi1EenqHKVWIjU6iiKaM8U6lmA=";
+    sha256 = "sha256-5zgpN4a+r0tmw0ISTJM+d9mo+L/qwUvpWPSsykuG0cg=";
   };
 
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
   buildInputs = [
     hidapi
   ];
@@ -19,6 +23,10 @@ stdenv.mkDerivation rec {
     "PREFIX=${placeholder "out"}"
   ];
 
+  postInstall = ''
+    installManPage usbrelay.1
+  '';
+
   meta = with lib; {
     description = "Tool to control USB HID relays";
     homepage = "https://github.com/darrylb123/usbrelay";
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 3efb3914b85..efd75ce9b3f 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, pkg-config, zlib, shadow, libcap_ng
 , ncursesSupport ? true
 , ncurses, pam
-, systemdSupport ? stdenv.isLinux
+, systemdSupport ? stdenv.isLinux && !stdenv.hostPlatform.isStatic
 , systemd
 , nlsSupport ? true
 }:
diff --git a/pkgs/servers/alps/default.nix b/pkgs/servers/alps/default.nix
index fb10a5369f1..8b2a605261b 100644
--- a/pkgs/servers/alps/default.nix
+++ b/pkgs/servers/alps/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "alps";
-  version = "2021-09-29";
+  version = "2022-03-01";
 
   src = fetchFromSourcehut {
     owner = "~migadu";
     repo = "alps";
-    rev = "d4c35f3c3157bece8e50fd95f2ee1081be30d7ae";
-    sha256 = "sha256-xKfRLdfeD7lWdmC0iiq4dOIv2SmzbKH7HcAISCJgdug=";
+    rev = "f4523b51af0787795973b403b978ff74737a47ef";
+    hash = "sha256-un1RGIABFhHKeXPXtLnGayyoGzfo5PZc8VBSHA0PAaw=";
   };
 
   vendorSha256 = "sha256-Vg0k+YSMg6Ree/jkVV2VQ8RbSbQFUhmUN2MeTBxPeLo=";
diff --git a/pkgs/servers/amqp/qpid-cpp/default.nix b/pkgs/servers/amqp/qpid-cpp/default.nix
index c6d66427ab2..d3647264bec 100644
--- a/pkgs/servers/amqp/qpid-cpp/default.nix
+++ b/pkgs/servers/amqp/qpid-cpp/default.nix
@@ -1,15 +1,47 @@
-{ lib, stdenv, fetchurl, cmake, python2, boost, libuuid, ruby, buildEnv, buildPythonPackage, qpid-python }:
-
-let
+{ lib, stdenv
+, fetchpatch
+, fetchurl
+, boost
+, cmake
+, libuuid
+, python3
+, ruby
+}:
+
+stdenv.mkDerivation rec {
   pname = "qpid-cpp";
-  name = "${pname}-${version}";
   version = "1.39.0";
 
   src = fetchurl {
-    url = "mirror://apache/qpid/cpp/${version}/${name}.tar.gz";
-    sha256 = "088dx1l6myrksbhpr15bs09j6qm8vdliqwjp2ja5amym47md103r";
+    url = "mirror://apache/qpid/cpp/${version}/${pname}-${version}.tar.gz";
+    hash = "sha256-eYDQ6iHVV1WUFFdyHGnbqGIjE9CrhHzh0jP7amjoDSE=";
   };
 
+  nativeBuildInputs = [ cmake python3 ];
+  buildInputs = [ boost libuuid ruby ];
+
+  patches = [
+    (fetchpatch {
+      name = "python3-managementgen";
+      url = "https://github.com/apache/qpid-cpp/commit/0e558866e90ef3d5becbd2f6d5630a6a6dc43a5d.patch";
+      hash = "sha256-pV6xx8Nrys/ZxIO0Z/fARH0ELqcSdTXLPsVXYUd3f70=";
+    })
+  ];
+
+  # the subdir managementgen wants to install python stuff in ${python} and
+  # the installation tries to create some folders in /var
+  postPatch = ''
+    sed -i '/managementgen/d' CMakeLists.txt
+    sed -i '/ENV/d' src/CMakeLists.txt
+    sed -i '/management/d' CMakeLists.txt
+  '';
+
+  NIX_CFLAGS_COMPILE = toString ([
+    "-Wno-error=maybe-uninitialized"
+  ] ++ lib.optionals stdenv.cc.isGNU [
+    "-Wno-error=deprecated-copy"
+  ]);
+
   meta = with lib; {
     homepage = "https://qpid.apache.org";
     description = "An AMQP message broker and a C++ messaging API";
@@ -17,41 +49,4 @@ let
     platforms = platforms.linux;
     maintainers = with maintainers; [ cpages ];
   };
-
-  qpid-cpp = stdenv.mkDerivation {
-    inherit src meta pname version;
-
-    nativeBuildInputs = [ cmake ];
-    buildInputs = [ boost libuuid ruby python2 ];
-
-    # the subdir managementgen wants to install python stuff in ${python} and
-    # the installation tries to create some folders in /var
-    postPatch = ''
-      sed -i '/managementgen/d' CMakeLists.txt
-      sed -i '/ENV/d' src/CMakeLists.txt
-      sed -i '/management/d' CMakeLists.txt
-    '';
-
-    NIX_CFLAGS_COMPILE = toString ([
-      "-Wno-error=deprecated-declarations"
-      "-Wno-error=int-in-bool-context"
-      "-Wno-error=maybe-uninitialized"
-      "-Wno-error=unused-function"
-      "-Wno-error=ignored-qualifiers"
-      "-Wno-error=catch-value"
-    ] ++ lib.optionals stdenv.cc.isGNU [
-      "-Wno-error=deprecated-copy"
-    ]);
-  };
-
-  python-frontend = buildPythonPackage {
-    inherit pname version meta src;
-
-    sourceRoot = "${name}/management/python";
-
-    propagatedBuildInputs = [ qpid-python ];
-  };
-in buildEnv {
-  name = "${name}-env";
-  paths = [ qpid-cpp python-frontend ];
 }
diff --git a/pkgs/servers/caddy/default.nix b/pkgs/servers/caddy/default.nix
index 711c65f6617..0ba836eeb6b 100644
--- a/pkgs/servers/caddy/default.nix
+++ b/pkgs/servers/caddy/default.nix
@@ -1,6 +1,6 @@
 { lib, buildGoModule, fetchFromGitHub, nixosTests }:
 let
-  version = "2.5.0";
+  version = "2.5.1";
   dist = fetchFromGitHub {
     owner = "caddyserver";
     repo = "dist";
@@ -18,7 +18,7 @@ buildGoModule {
     owner = "caddyserver";
     repo = "caddy";
     rev = "v${version}";
-    sha256 = "sha256-V9iIz/93n6EBJZ9v3MDKD6FivtplRFN9a/e0o7YX0/w=";
+    sha256 = "sha256-Y4GAx/8XcW7+6eXCQ6k4e/3WZ/6MkTr5za1AXp6El9o=";
   };
 
   vendorSha256 = "sha256-xu3klc9yb4Ws8fvXRV286IDhi/zQVN1PKCiFKb8VJBo=";
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index de0ac56478a..827269d578a 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -1,15 +1,18 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, libtool, curl
-, python3, munge, perl, pam, zlib, shadow, coreutils
+, python3, munge, perl, pam, shadow, coreutils
 , ncurses, libmysqlclient, gtk2, lua, hwloc, numactl
 , readline, freeipmi, xorg, lz4, rdma-core, nixosTests
 , pmix
+, libjwt
+, libyaml
+, json_c
 # enable internal X11 support via libssh2
 , enableX11 ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "slurm";
-  version = "21.08.7.1";
+  version = "21.08.8.2";
 
   # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
   # because the latter does not keep older releases.
@@ -18,7 +21,7 @@ stdenv.mkDerivation rec {
     repo = "slurm";
     # The release tags use - instead of .
     rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
-    sha256 = "1rhhfiwpfrg3mpdpvmdl3qz20ydi5m88dfv9hhwqm95sldqb6qw1";
+    sha256 = "1n9gn879lff3iv2yi163fv2cwymgfqigh0jxs2kklc97g3nn23yx";
   };
 
   outputs = [ "out" "dev" ];
@@ -46,18 +49,20 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config libtool python3 ];
   buildInputs = [
-    curl python3 munge perl pam zlib
+    curl python3 munge perl pam
       libmysqlclient ncurses gtk2 lz4 rdma-core
       lua hwloc numactl readline freeipmi shadow.su
-      pmix
+      pmix json_c libjwt libyaml
   ] ++ lib.optionals enableX11 [ xorg.xauth ];
 
   configureFlags = with lib;
     [ "--with-freeipmi=${freeipmi}"
       "--with-hwloc=${hwloc.dev}"
+      "--with-json=${json_c.dev}"
+      "--with-jwt=${libjwt}"
       "--with-lz4=${lz4.dev}"
       "--with-munge=${munge}"
-      "--with-zlib=${zlib}"
+      "--with-yaml=${libyaml}"
       "--with-ofed=${rdma-core}"
       "--sysconfdir=/etc/slurm"
       "--with-pmix=${pmix}"
diff --git a/pkgs/servers/dante/default.nix b/pkgs/servers/dante/default.nix
index 12ba281d811..dd5967a2407 100644
--- a/pkgs/servers/dante/default.nix
+++ b/pkgs/servers/dante/default.nix
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
       sha256 = "sha256-e+qF8lB5tkiA7RlJ+tX5O6KxQrQp33RSPdP1TxU961Y=";
     }) ];
 
+  postPatch = ''
+    substituteInPlace include/redefgen.sh --replace 'PATH=/bin:/usr/bin:/sbin:/usr/sbin' ""
+  '';
+
   meta = with lib; {
     description = "A circuit-level SOCKS client/server that can be used to provide convenient and secure network connectivity";
     homepage    = "https://www.inet.no/dante/";
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index d47b5a3e6a3..1ec5a78ea1a 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -55,7 +55,7 @@ unwrapped = stdenv.mkDerivation rec {
 
   # http://knot-resolver.readthedocs.io/en/latest/build.html#requirements
   buildInputs = [ knot-dns lua.lua libuv gnutls lmdb ]
-    ++ optionals stdenv.isLinux [ systemd libcap_ng ]
+    ++ optionals stdenv.isLinux [ /*lib*/systemd libcap_ng ]
     ++ [ nghttp2 ]
     ## optional dependencies; TODO: dnstap
     ;
@@ -79,8 +79,7 @@ unwrapped = stdenv.mkDerivation rec {
     rm -r "$out"/lib/sysusers.d/ # ATM more likely to harm than help
   '';
 
-  doInstallCheck = with stdenv; hostPlatform == buildPlatform
-    && !(isDarwin && isAarch64); # avoid luarocks, as it's broken ATM on the platform
+  doInstallCheck = with stdenv; hostPlatform == buildPlatform;
   installCheckInputs = [ cmocka which cacert lua.cqueues lua.basexx lua.http ];
   installCheckPhase = ''
     meson test --print-errorlogs
diff --git a/pkgs/servers/exhibitor/default.nix b/pkgs/servers/exhibitor/default.nix
index 5636f51a169..875a2fa2c1f 100644
--- a/pkgs/servers/exhibitor/default.nix
+++ b/pkgs/servers/exhibitor/default.nix
@@ -37,9 +37,10 @@ stdenv.mkDerivation rec {
       mvn package --offline -Dmaven.repo.local=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
   '';
   meta = with lib; {
-    homepage = "https://github.com/soabase/exhibitor";
     description = "ZooKeeper co-process for instance monitoring, backup/recovery, cleanup and visualization";
+    homepage = "https://github.com/soabase/exhibitor";
     license = licenses.asl20;
+    mainProgram = "startExhibitor.sh";
     platforms = platforms.unix;
   };
 
diff --git a/pkgs/servers/gotify/default.nix b/pkgs/servers/gotify/default.nix
index 8f3739b4ebf..3df2d833e0b 100644
--- a/pkgs/servers/gotify/default.nix
+++ b/pkgs/servers/gotify/default.nix
@@ -54,6 +54,7 @@ buildGoModule rec {
     homepage = "https://gotify.net";
     license = licenses.mit;
     maintainers = with maintainers; [ doronbehar ];
+    mainProgram = "server";
   };
 
 }
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 707740cd4a4..bfaf4f6f76d 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "2022.5.0";
+  version = "2022.5.3";
   components = {
     "abode" = ps: with ps; [
       abodepy
@@ -311,7 +311,8 @@
     "browser" = ps: with ps; [
     ];
     "brunt" = ps: with ps; [
-    ]; # missing inputs: brunt
+      brunt
+    ];
     "bsblan" = ps: with ps; [
       bsblan
     ];
@@ -1516,7 +1517,8 @@
       pymazda
     ];
     "meater" = ps: with ps; [
-    ]; # missing inputs: meater-python
+      meater-python
+    ];
     "media_extractor" = ps: with ps; [
       aiohttp-cors
       youtube-dl-light
@@ -1751,7 +1753,8 @@
       nexia
     ];
     "nextbus" = ps: with ps; [
-    ]; # missing inputs: py_nextbusnext
+      py-nextbusnext
+    ];
     "nextcloud" = ps: with ps; [
       nextcloudmonitor
     ];
@@ -1790,7 +1793,8 @@
     "notify" = ps: with ps; [
     ];
     "notify_events" = ps: with ps; [
-    ]; # missing inputs: notify-events
+      notify-events
+    ];
     "notion" = ps: with ps; [
       aionotion
     ];
@@ -2090,7 +2094,8 @@
       georss-qld-bushfire-alert-client
     ];
     "qnap" = ps: with ps; [
-    ]; # missing inputs: qnapstats
+      qnapstats
+    ];
     "qnap_qsw" = ps: with ps; [
       aioqsw
     ];
@@ -2121,9 +2126,11 @@
       radiotherm
     ];
     "rainbird" = ps: with ps; [
-    ]; # missing inputs: pyrainbird
+      pyrainbird
+    ];
     "raincloud" = ps: with ps; [
-    ]; # missing inputs: raincloudy
+      raincloudy
+    ];
     "rainforest_eagle" = ps: with ps; [
       aioeagle
       ueagle
@@ -2238,10 +2245,6 @@
     "russound_rnet" = ps: with ps; [
     ]; # missing inputs: russound
     "sabnzbd" = ps: with ps; [
-      aiohttp-cors
-      ifaddr
-      netdisco
-      zeroconf
     ]; # missing inputs: pysabnzbd
     "safe_mode" = ps: with ps; [
       pyturbojpeg
@@ -2820,6 +2823,9 @@
     ];
     "uk_transport" = ps: with ps; [
     ];
+    "ukraine_alarm" = ps: with ps; [
+      ukrainealarm
+    ];
     "unifi" = ps: with ps; [
       aiounifi
     ];
@@ -3213,6 +3219,7 @@
     "braviatv"
     "broadlink"
     "brother"
+    "brunt"
     "bsblan"
     "buienradar"
     "button"
@@ -3451,6 +3458,7 @@
     "manual_mqtt"
     "maxcube"
     "mazda"
+    "meater"
     "media_player"
     "media_source"
     "melcloud"
@@ -3497,10 +3505,12 @@
     "netgear"
     "network"
     "nexia"
+    "nextbus"
     "nightscout"
     "nina"
     "no_ip"
     "notify"
+    "notify_events"
     "notion"
     "nsw_rural_fire_service_feed"
     "nuki"
@@ -3703,6 +3713,7 @@
     "twinkly"
     "twitch"
     "uk_transport"
+    "ukraine_alarm"
     "unifi"
     "unifi_direct"
     "universal"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index b7d0faca0c1..7e47140a27b 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -179,7 +179,7 @@ let
   extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2022.5.0";
+  hassVersion = "2022.5.3";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -197,7 +197,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256-xlotye/8oeCs/ntNV4osGjcl7fo05ke7nFLQeee/USY=";
+    hash = "sha256-g15bMS6xOz6w7JLSVP/tqlKBGWkFsG093GF7fcoHvlg=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 98fe3a04e2b..cbfd57d5f93 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,7 +4,7 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20220504.0";
+  version = "20220504.1";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    sha256 = "sha256-CYhUId5SGfPX9beAZH0ZemwciVDxchbDcTvQcRhJwog=";
+    sha256 = "sha256-EU9I/0+EmcNr7eYq3Z5J5/KiWu+Qz0+wn7UZMJFBxp0=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/http/envoy/bump-brotli.patch b/pkgs/servers/http/envoy/bump-brotli.patch
new file mode 100644
index 00000000000..5656b8f260c
--- /dev/null
+++ b/pkgs/servers/http/envoy/bump-brotli.patch
@@ -0,0 +1,15 @@
+diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl
+index 454c54b0ef..2ac0623cf0 100644
+--- a/bazel/repository_locations.bzl
++++ b/bazel/repository_locations.bzl
+@@ -510,8 +510,8 @@ REPOSITORY_LOCATIONS_SPEC = dict(
+         project_url = "https://brotli.org",
+         # Use the dev branch of brotli to resolve compilation issues.
+         # TODO(rojkov): Remove when brotli > 1.0.9 is released.
+-        version = "0cd2e3926e95e7e2930f57ae3f4885508d462a25",
+-        sha256 = "93810780e60304b51f2c9645fe313a6e4640711063ed0b860cfa60999dd256c5",
++        version = "27dd7265403d8e8fed99a854b9c3e1db7d79525f",
++        sha256 = "e71238b12e30233bdf25997132b29ae49639a69f33fdef3ae18a47abfc0d5e4c",
+         strip_prefix = "brotli-{version}",
+         urls = ["https://github.com/google/brotli/archive/{version}.tar.gz"],
+         use_category = ["dataplane_ext"],
diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix
index 5a85c2c1ab6..16de2fb399b 100644
--- a/pkgs/servers/http/envoy/default.nix
+++ b/pkgs/servers/http/envoy/default.nix
@@ -12,6 +12,9 @@
 , python3
 , linuxHeaders
 , nixosTests
+
+# v8 (upstream default), wavm, wamr, wasmtime, disabled
+, wasmRuntime ? "wamr"
 }:
 
 let
@@ -31,7 +34,7 @@ buildBazelPackage rec {
   src = fetchFromGitHub {
     owner = "envoyproxy";
     repo = "envoy";
-    inherit (srcVer) rev ;
+    inherit (srcVer) rev;
     hash = "sha256:11mm72zmb479ss585jzqzhklyyqmdadnvr91ghzvjxc0j2a1hrr4";
 
     extraPostFetch = ''
@@ -58,6 +61,13 @@ buildBazelPackage rec {
       url = "https://github.com/envoyproxy/envoy/commit/68448aae7a78a3123097b6ea96016b270457e7b8.patch";
       sha256 = "123kv3x37p8fgfp29jhw5xg5js5q5ipibs8hsm7gzfd5bcllnpfh";
     })
+
+    # fix issues with brotli and GCC 11.2.0+ (-Werror=vla-parameter)
+    ./bump-brotli.patch
+
+    # fix linux-aarch64 WAMR builds
+    # (upstream WAMR only detects aarch64 on Darwin, not Linux)
+    ./fix-aarch64-wamr.patch
   ];
 
   nativeBuildInputs = [
@@ -75,8 +85,8 @@ buildBazelPackage rec {
 
   fetchAttrs = {
     sha256 = {
-      x86_64-linux = "0f7mls2zrpjjvbz6pgkzrvr55bv05xn2l76j9i1r0cf367qqfkz8";
-      aarch64-linux = "1l3ls47z20xrw6x9qps5jm7vq50xb1acv9gczfdrj9hw6jybgwgg";
+      x86_64-linux = "0k2cna0vjzc8z7jvxdlcw741vacil8daczppv32bslw17af65vq6";
+      aarch64-linux = "1ijv4arw67nprykn2wkn4ji8fbr284mc7p74zxfsky772s42yy9j";
     }.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
     dontUseCmakeConfigure = true;
     dontUseGnConfigure = true;
@@ -128,6 +138,11 @@ buildBazelPackage rec {
     "--cxxopt=-Wno-maybe-uninitialized"
     "--cxxopt=-Wno-uninitialized"
     "--cxxopt=-Wno-error=type-limits"
+
+    "--define=wasm=${wasmRuntime}"
+  ];
+  bazelFetchFlags = [
+    "--define=wasm=${wasmRuntime}"
   ];
 
   passthru.tests = {
diff --git a/pkgs/servers/http/envoy/fix-aarch64-wamr.patch b/pkgs/servers/http/envoy/fix-aarch64-wamr.patch
new file mode 100644
index 00000000000..4d8bc6c02ad
--- /dev/null
+++ b/pkgs/servers/http/envoy/fix-aarch64-wamr.patch
@@ -0,0 +1,38 @@
+diff --git a/bazel/envoy_build_system.bzl b/bazel/envoy_build_system.bzl
+index f48ebe7056..1e5cc5d663 100644
+--- a/bazel/envoy_build_system.bzl
++++ b/bazel/envoy_build_system.bzl
+@@ -102,6 +102,7 @@ def envoy_cmake(
+         pdb_name = "",
+         cmake_files_dir = "$BUILD_TMPDIR/CMakeFiles",
+         generate_crosstool_file = False,
++        generate_args = [],
+         **kwargs):
+     cache_entries.update({"CMAKE_BUILD_TYPE": "Bazel"})
+     cache_entries_debug = dict(cache_entries)
+@@ -131,7 +132,7 @@ def envoy_cmake(
+             "@envoy//bazel:dbg_build": cache_entries_debug,
+             "//conditions:default": cache_entries,
+         }),
+-        generate_args = ["-GNinja"],
++        generate_args = ["-GNinja"] + generate_args,
+         targets = ["", "install"],
+         # TODO: Remove install target and make this work
+         install = False,
+diff --git a/bazel/foreign_cc/BUILD b/bazel/foreign_cc/BUILD
+index 4d3a281669..b4716dfe2e 100644
+--- a/bazel/foreign_cc/BUILD
++++ b/bazel/foreign_cc/BUILD
+@@ -394,6 +394,12 @@ envoy_cmake(
+         "WAMR_BUILD_LIBC_WASI": "0",
+         "WAMR_BUILD_TAIL_CALL": "1",
+     },
++    generate_args = select({
++        "//conditions:default": [],
++        "@platforms//cpu:aarch64": [
++            "-DWAMR_BUILD_TARGET=AARCH64",
++        ],
++    }),
+     lib_source = "@com_github_wamr//:all",
+     out_static_libs = ["libvmlib.a"],
+     tags = ["skip_on_windows"],
diff --git a/pkgs/servers/icingaweb2/default.nix b/pkgs/servers/icingaweb2/default.nix
index 651c7398868..e02b54e9eef 100644
--- a/pkgs/servers/icingaweb2/default.nix
+++ b/pkgs/servers/icingaweb2/default.nix
@@ -29,7 +29,8 @@ stdenvNoCC.mkDerivation rec {
     '';
     homepage = "https://www.icinga.com/products/icinga-web-2/";
     license = licenses.gpl2Only;
-    platforms = platforms.all;
     maintainers = with maintainers; [ das_j ];
+    mainProgram = "icingacli";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/servers/irc/inspircd/default.nix b/pkgs/servers/irc/inspircd/default.nix
index f3138915be0..6480e242510 100644
--- a/pkgs/servers/irc/inspircd/default.nix
+++ b/pkgs/servers/irc/inspircd/default.nix
@@ -142,13 +142,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "inspircd";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3c7PFIZy/TGf68XdaSC25Amr8Zfb0O+za4ermIzQjnY=";
+    sha256 = "1d5mnj86x4bk6iygns0cc15w315wrzmqxcq0sc4n75xsg6wwp1zl";
   };
 
   outputs = [ "bin" "lib" "man" "doc" "out" ];
diff --git a/pkgs/servers/kanidm/default.nix b/pkgs/servers/kanidm/default.nix
new file mode 100644
index 00000000000..f160886fb64
--- /dev/null
+++ b/pkgs/servers/kanidm/default.nix
@@ -0,0 +1,89 @@
+{ stdenv
+, lib
+, formats
+, nixosTests
+, rustPlatform
+, fetchFromGitHub
+, installShellFiles
+, pkg-config
+, udev
+, openssl
+, sqlite
+, pam
+}:
+
+let
+  arch = if stdenv.isx86_64 then "x86_64" else "generic";
+in
+rustPlatform.buildRustPackage rec {
+  pname = "kanidm";
+  version = "1.1.0-alpha.8";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-zMtbE6Y9wXFPBqhmiTMJ3m6bLVZl+c6lRY39DWDlJNo=";
+  };
+
+  cargoSha256 = "sha256:1l7xqp457zfd9gfjp6f4lzgadfp6112jbip4irazw4084qwj0z6x";
+
+  KANIDM_BUILD_PROFILE = "release_nixos_${arch}";
+
+  postPatch =
+    let
+      format = (formats.toml { }).generate "${KANIDM_BUILD_PROFILE}.toml";
+      profile = {
+        web_ui_pkg_path = "@web_ui_pkg_path@";
+        cpu_flags = if stdenv.isx86_64 then "x86_64_v1" else "none";
+      };
+    in
+    ''
+      cp ${format profile} profiles/${KANIDM_BUILD_PROFILE}.toml
+      substituteInPlace profiles/${KANIDM_BUILD_PROFILE}.toml \
+        --replace '@web_ui_pkg_path@' "$out/ui"
+    '';
+
+  nativeBuildInputs = [
+    pkg-config
+    installShellFiles
+  ];
+
+  buildInputs = [
+    udev
+    openssl
+    sqlite
+    pam
+  ];
+
+  # Failing tests, probably due to network issues
+  checkFlags = [
+    "--skip default_entries"
+    "--skip oauth2_openid_basic_flow"
+    "--skip test_server"
+    "--skip test_cache"
+  ];
+
+  preFixup = ''
+    installShellCompletion --bash $releaseDir/build/completions/*.bash
+    installShellCompletion --zsh  $releaseDir/build/completions/_*
+
+    # PAM and NSS need fix library names
+    mv $out/lib/libnss_kanidm.so $out/lib/libnss_kanidm.so.2
+    mv $out/lib/libpam_kanidm.so $out/lib/pam_kanidm.so
+
+    # We don't compile the wasm-part form source, as there isn't a rustc for
+    # wasm32-unknown-unknown in nixpkgs yet.
+    cp -r kanidmd_web_ui/pkg $out/ui
+  '';
+
+  passthru.tests = { inherit (nixosTests) kanidm; };
+
+  meta = with lib; {
+    description = "A simple, secure and fast identity management platform";
+    homepage = "https://github.com/kanidm/kanidm";
+    license = licenses.mpl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ erictapen Flakebi ];
+  };
+}
diff --git a/pkgs/servers/mail/opensmtpd/filter-rspamd.nix b/pkgs/servers/mail/opensmtpd/filter-rspamd.nix
index 62b01cf9266..bda3f1cda4c 100644
--- a/pkgs/servers/mail/opensmtpd/filter-rspamd.nix
+++ b/pkgs/servers/mail/opensmtpd/filter-rspamd.nix
@@ -22,9 +22,10 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    homepage = "https://github.com/poolpOrg/filter-rspamd";
     description = "OpenSMTPD filter integration for the Rspamd daemon";
+    homepage = "https://github.com/poolpOrg/filter-rspamd";
     license = licenses.isc;
     maintainers = with maintainers; [ Flakebi ];
+    mainProgram = "filter-rspamd";
   };
 }
diff --git a/pkgs/servers/mapserver/default.nix b/pkgs/servers/mapserver/default.nix
index f8b0d8196fa..9ec9ad01bc8 100644
--- a/pkgs/servers/mapserver/default.nix
+++ b/pkgs/servers/mapserver/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config
 , cairo, curl, fcgi, freetype, fribidi, gdal, geos, giflib, harfbuzz
 , libjpeg, libpng, librsvg, libxml2, postgresql, proj, protobufc, zlib
-, withPython ? true, swig, python2
+, withPython ? true, swig, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     pkg-config
-  ] ++ lib.optional withPython swig;
+  ] ++ lib.optional withPython [ swig python3.pkgs.setuptools ];
 
   buildInputs = [
     cairo
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     proj
     protobufc
     zlib
-  ] ++ lib.optional withPython python2;
+  ] ++ lib.optional withPython python3;
 
   cmakeFlags = [
     "-DWITH_KML=ON"
diff --git a/pkgs/servers/mautrix-facebook/default.nix b/pkgs/servers/mautrix-facebook/default.nix
index 08d7f1046c7..4c332b0865a 100644
--- a/pkgs/servers/mautrix-facebook/default.nix
+++ b/pkgs/servers/mautrix-facebook/default.nix
@@ -1,5 +1,6 @@
 { enableSystemd ? stdenv.isLinux
 , fetchFromGitHub
+, fetchpatch
 , lib
 , python3
 , stdenv
@@ -7,13 +8,13 @@
 
 python3.pkgs.buildPythonPackage rec {
   pname = "mautrix-facebook";
-  version = "0.4.0";
+  version = "unstable-2022-05-06";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "facebook";
-    rev = "v${version}";
-    hash = "sha256-Yc8W8A11dnXrJdLtu/rJHTVlu2pEawXn5xuT8Ez+h9U=";
+    rev = "5e2c4e7f5a38e3c5d984d690c0ebee9b6bb4768c";
+    hash = "sha256-ukFtVRrmaJVVwgp5siwEwbfq6Yq5rmu3XJA5H2n/eJU=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -26,7 +27,7 @@ python3.pkgs.buildPythonPackage rec {
     prometheus-client
     pycryptodome
     python-olm
-    python_magic
+    python-magic
     ruamel-yaml
     unpaddedbase64
     yarl
diff --git a/pkgs/servers/mautrix-signal/default.nix b/pkgs/servers/mautrix-signal/default.nix
index 8c5310f6801..5d7550fe3cd 100644
--- a/pkgs/servers/mautrix-signal/default.nix
+++ b/pkgs/servers/mautrix-signal/default.nix
@@ -22,7 +22,7 @@ python3.pkgs.buildPythonPackage rec {
     prometheus-client
     pycryptodome
     python-olm
-    python_magic
+    python-magic
     qrcode
     ruamel-yaml
     unpaddedbase64
diff --git a/pkgs/servers/mautrix-telegram/default.nix b/pkgs/servers/mautrix-telegram/default.nix
index bb52507dbaa..2d0ab908cb8 100644
--- a/pkgs/servers/mautrix-telegram/default.nix
+++ b/pkgs/servers/mautrix-telegram/default.nix
@@ -44,7 +44,7 @@ in python.pkgs.buildPythonPackage rec {
     sqlalchemy
     CommonMark
     ruamel-yaml
-    python_magic
+    python-magic
     tulir-telethon
     telethon-session-sqlalchemy
     pillow
diff --git a/pkgs/servers/monitoring/prometheus/json-exporter.nix b/pkgs/servers/monitoring/prometheus/json-exporter.nix
index 6d63c6b1d66..904b2182dbe 100644
--- a/pkgs/servers/monitoring/prometheus/json-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/json-exporter.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     homepage = "https://github.com/prometheus-community/json_exporter";
     license = licenses.asl20;
     maintainers = with maintainers; [ willibutz ];
+    mainProgram = "json_exporter";
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
index 386e49594d2..748e135b634 100644
--- a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
@@ -20,6 +20,7 @@ buildGoModule rec {
     homepage = "https://github.com/xperimental/nextcloud-exporter";
     license = licenses.mit;
     maintainers = with maintainers; [ willibutz ];
+    mainProgram = "nextcloud-exporter";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/nosql/victoriametrics/default.nix b/pkgs/servers/nosql/victoriametrics/default.nix
index 4ef8fe9575f..8e676b5022a 100644
--- a/pkgs/servers/nosql/victoriametrics/default.nix
+++ b/pkgs/servers/nosql/victoriametrics/default.nix
@@ -2,17 +2,25 @@
 
 buildGoModule rec {
   pname = "VictoriaMetrics";
-  version = "1.59.0";
+  version = "1.77.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2i9rmk9aAnjTJY+w/NKJOaLX+tpkt3vG07iLCsSGzdU=";
+    sha256 = "sha256-Ike3yO93q/bna/cnHv1sg+gR7iS9cVmNzLViBsfFdVs=";
   };
 
   vendorSha256 = null;
 
+  postPatch = ''
+    # main module (github.com/VictoriaMetrics/VictoriaMetrics) does not contain package
+    # github.com/VictoriaMetrics/VictoriaMetrics/app/vmui/packages/vmui/web
+    #
+    # This appears to be some of test server for development purposes only.
+    rm -f app/vmui/packages/vmui/web/{go.mod,main.go}
+  '';
+
   ldflags = [ "-s" "-w" "-X github.com/VictoriaMetrics/VictoriaMetrics/lib/buildinfo.Version=${version}" ];
 
   passthru.tests = { inherit (nixosTests) victoriametrics; };
@@ -21,7 +29,7 @@ buildGoModule rec {
     homepage = "https://victoriametrics.com/";
     description = "fast, cost-effective and scalable time series database, long-term remote storage for Prometheus";
     license = licenses.asl20;
-    maintainers = [ maintainers.yorickvp ];
+    maintainers = with maintainers; [ yorickvp ivan ];
     changelog = "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v${version}";
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/servers/pinnwand/steck.nix b/pkgs/servers/pinnwand/steck.nix
index 52efdc148ab..de6f28f3090 100644
--- a/pkgs/servers/pinnwand/steck.nix
+++ b/pkgs/servers/pinnwand/steck.nix
@@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
     pkgs.git
     appdirs
     click
-    python_magic
+    python-magic
     requests
     termcolor
     toml
diff --git a/pkgs/servers/pleroma/default.nix b/pkgs/servers/pleroma/default.nix
index dd4025a76c0..99dd29db147 100644
--- a/pkgs/servers/pleroma/default.nix
+++ b/pkgs/servers/pleroma/default.nix
@@ -1,51 +1,22 @@
 { lib, beamPackages
 , fetchFromGitHub, fetchFromGitLab
-, file, cmake, bash
+, file, cmake
 , nixosTests, writeText
-, cookieFile ? null
 , ...
 }:
 
 beamPackages.mixRelease rec {
   pname = "pleroma";
-  version = "2.4.2";
+  version = "2.4.3";
 
   src = fetchFromGitLab {
     domain = "git.pleroma.social";
     owner = "pleroma";
     repo = "pleroma";
     rev = "v${version}";
-    sha256 = "sha256-RcqqNNNCR4cxETUCyjChkpq+cQ1QzNOHHzdqBLtOc6g=";
+    sha256 = "sha256-x8j/2Eot/EEHsedgZntB5MPxlYMNDlFyZtmiMdhcS7U=";
   };
 
-  preFixup = if (cookieFile != null) then ''
-    # There's no way to use a subprocess to cat the content of the
-    # file cookie using wrapProgram: it gets escaped (by design) with
-    # a pair of backticks :(
-    # We have to come up with our own custom wrapper to do this.
-    function wrapWithCookie () {
-        local hidden
-        hidden="$(dirname "$1")/.$(basename "$1")"-wrapped
-        while [ -e "$hidden" ]; do
-            hidden="''${hidden}_"
-        done
-        mv "$1" "''${hidden}"
-
-        cat > "$1" << EOF
-    #!${bash}/bin/bash
-    export RELEASE_COOKIE="\$(cat "${cookieFile}")"
-    exec -a "\$0" "''${hidden}" "\$@"
-    EOF
-        chmod +x "$1"
-    }
-
-    for f in "$out"/bin/*; do
-        if [[ -x "$f" ]]; then
-            wrapWithCookie "$f"
-        fi
-    done
-  '' else "";
-
   mixNixDeps = import ./mix.nix {
     inherit beamPackages lib;
     overrides = (final: prev: {
diff --git a/pkgs/servers/pleroma/mix.nix b/pkgs/servers/pleroma/mix.nix
index 31ab20c2940..9c512889531 100644
--- a/pkgs/servers/pleroma/mix.nix
+++ b/pkgs/servers/pleroma/mix.nix
@@ -1375,12 +1375,12 @@ let
 
     sweet_xml = buildMix rec {
       name = "sweet_xml";
-      version = "0.6.6";
+      version = "0.7.2";
 
       src = fetchHex {
         pkg = "${name}";
         version = "${version}";
-        sha256 = "0wrm3wx1c4wg8xj8lx1pg9xdpxhsbbry71l3kwgsizwjz1cc87if";
+        sha256 = "sha256-aJTmihIPRUU02ZBF6jMl93QOpxJgvDFfguKXMdVwpug=";
       };
 
       beamDeps = [];
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 95a454850b6..9e3075f09b7 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -114,7 +114,9 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = lib.optionalString libOnly ''
-    rm -rf $out/{bin,share,etc,lib/{pulse-*,systemd}}
+    find $out/share -maxdepth 1 -mindepth 1 ! -name "vala" -prune -exec rm -r {} \;
+    find $out/share/vala -maxdepth 1 -mindepth 1 ! -name "vapi" -prune -exec rm -r {} \;
+    rm -r $out/{bin,etc,lib/pulse-*}
   ''
     + ''
     moveToOutput lib/cmake "$dev"
diff --git a/pkgs/servers/radicale/3.x.nix b/pkgs/servers/radicale/3.x.nix
index 9867922d852..7171b4550fd 100644
--- a/pkgs/servers/radicale/3.x.nix
+++ b/pkgs/servers/radicale/3.x.nix
@@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec {
     passlib
     vobject
     python-dateutil
-  ];
+  ] ++ passlib.extras-require.bcrypt;
 
   checkInputs = with python3.pkgs; [
     pytestCheckHook
diff --git a/pkgs/servers/t-rex/default.nix b/pkgs/servers/t-rex/default.nix
index 551282b6058..fb132da8587 100644
--- a/pkgs/servers/t-rex/default.nix
+++ b/pkgs/servers/t-rex/default.nix
@@ -23,6 +23,7 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/t-rex-tileserver/t-rex/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ sikmir ];
+    mainProgram = "t_rex";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/telegram-bot-api/default.nix b/pkgs/servers/telegram-bot-api/default.nix
new file mode 100644
index 00000000000..3d52ccc96f8
--- /dev/null
+++ b/pkgs/servers/telegram-bot-api/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitHub, cmake, gperf, openssl, zlib }:
+
+stdenv.mkDerivation {
+  pname = "telegram-bot-api";
+  version = "5.7";
+
+  src = fetchFromGitHub {
+    repo = "telegram-bot-api";
+    owner = "tdlib";
+    rev = "c57b04c4c8c4e8d8bb6fdd0bd3bfb5b93b9d8f05";
+    sha256 = "sha256-WetzX8GBdwQAnnZjek+W4v+QN1aUFdlvs+Jv6n1B+eY=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake gperf ];
+  buildInputs = [ openssl zlib ];
+
+  meta = with lib; {
+    description = "Telegram Bot API server";
+    homepage = "https://github.com/tdlib/telegram-bot-api";
+    license = licenses.boost;
+    maintainers = with maintainers; [ Anillc ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/unifiedpush-common-proxies/default.nix b/pkgs/servers/unifiedpush-common-proxies/default.nix
index b969902b253..4c41a7c9fde 100644
--- a/pkgs/servers/unifiedpush-common-proxies/default.nix
+++ b/pkgs/servers/unifiedpush-common-proxies/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/UnifiedPush/common-proxies";
     license = licenses.mit;
     maintainers = with maintainers; [ yuka ];
+    mainProgram = "up_rewrite";
   };
 }
diff --git a/pkgs/servers/web-apps/engelsystem/default.nix b/pkgs/servers/web-apps/engelsystem/default.nix
index 22abbdac08c..d154b1cee11 100644
--- a/pkgs/servers/web-apps/engelsystem/default.nix
+++ b/pkgs/servers/web-apps/engelsystem/default.nix
@@ -42,9 +42,10 @@ in stdenv.mkDerivation rec {
   meta = with lib; {
     description =
       "Coordinate your volunteers in teams, assign them to work shifts or let them decide for themselves when and where they want to help with what";
-    license = licenses.gpl2;
     homepage = "https://engelsystem.de";
+    license = licenses.gpl2;
     maintainers = with maintainers; [ kloenk ];
+    mainProgram = "migrate";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/servers/web-apps/lemmy/server.nix b/pkgs/servers/web-apps/lemmy/server.nix
index 843e6f71165..5526d8fe31f 100644
--- a/pkgs/servers/web-apps/lemmy/server.nix
+++ b/pkgs/servers/web-apps/lemmy/server.nix
@@ -46,5 +46,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://join-lemmy.org/";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ happysalada ];
+    mainProgram = "lemmy_server";
   };
 }
diff --git a/pkgs/servers/web-apps/vikunja/api.nix b/pkgs/servers/web-apps/vikunja/api.nix
index 2917c0e2400..5d01868725a 100644
--- a/pkgs/servers/web-apps/vikunja/api.nix
+++ b/pkgs/servers/web-apps/vikunja/api.nix
@@ -52,6 +52,7 @@ buildGoModule rec {
     homepage = "https://vikunja.io/";
     license = lib.licenses.agpl3Plus;
     maintainers = with lib.maintainers; [ em0lar ];
+    mainProgram = "vikunja";
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/servers/web-apps/wiki-js/default.nix b/pkgs/servers/web-apps/wiki-js/default.nix
index c0f94b1bca7..496bf02bb03 100644
--- a/pkgs/servers/web-apps/wiki-js/default.nix
+++ b/pkgs/servers/web-apps/wiki-js/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wiki-js";
-  version = "2.5.277";
+  version = "2.5.279";
 
   src = fetchurl {
     url = "https://github.com/Requarks/wiki/releases/download/v${version}/${pname}.tar.gz";
-    sha256 = "sha256-YLw0DR4dbPfNY56lNybEQFXFEVPZ99sQkwDl6gtz40E=";
+    sha256 = "sha256-4QYNKvAEeRSJS9lO30bI/SnM9rLmuvRMR/LsGT77wvY=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index d58a3c929aa..b583a72c281 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -351,6 +351,10 @@ self: super:
     outputs = [ "out" "dev" ];
   });
 
+  xcbutilerrors = super.xcbutilerrors.overrideAttrs (attrs: {
+    outputs = [ "out" "dev" ]; # mainly to get rid of propagating others
+  });
+
   xcbutilcursor = super.xcbutilcursor.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
     meta = attrs.meta // { maintainers = [ lib.maintainers.lovek323 ]; };
diff --git a/pkgs/servers/zigbee2mqtt/default.nix b/pkgs/servers/zigbee2mqtt/default.nix
index 3634548223d..967c6448a40 100644
--- a/pkgs/servers/zigbee2mqtt/default.nix
+++ b/pkgs/servers/zigbee2mqtt/default.nix
@@ -3,14 +3,14 @@ let
   package = (import ./node.nix { inherit pkgs; inherit (stdenv.hostPlatform) system; }).package;
 in
 package.override rec {
-  version = "1.25.0";
+  version = "1.25.1";
   reconstructLock = true;
 
   src = pkgs.fetchFromGitHub {
     owner = "Koenkk";
     repo = "zigbee2mqtt";
     rev = version;
-    sha256 = "Wp3+N3np/biNw2xaR79PpQ/S7o3FftjH6AgyMLM+ya8=";
+    sha256 = "IMRpT4BQvnsk8rl2bxiUbzVp4UcEaPLsniKneOq7Av4=";
   };
 
   passthru.tests.zigbee2mqtt = nixosTests.zigbee2mqtt;
diff --git a/pkgs/servers/zigbee2mqtt/node-packages.nix b/pkgs/servers/zigbee2mqtt/node-packages.nix
index e4143d6eece..b14ca0a6e13 100644
--- a/pkgs/servers/zigbee2mqtt/node-packages.nix
+++ b/pkgs/servers/zigbee2mqtt/node-packages.nix
@@ -4,15 +4,6 @@
 
 let
   sources = {
-    "@ampproject/remapping-2.0.3" = {
-      name = "_at_ampproject_slash_remapping";
-      packageName = "@ampproject/remapping";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.0.3.tgz";
-        sha512 = "DmIAguV77yFP0MGVFWknCMgSLAtsLR3VlRTteR6xgMpIfYtwaZuMvjGv5YlpiqN7S/5q87DHyuIx8oa15kiyag==";
-      };
-    };
     "@ampproject/remapping-2.1.2" = {
       name = "_at_ampproject_slash_remapping";
       packageName = "@ampproject/remapping";
@@ -22,25 +13,6 @@ let
         sha512 = "hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==";
       };
     };
-    "@babel/cli-7.17.0" = {
-      name = "_at_babel_slash_cli";
-      packageName = "@babel/cli";
-      version = "7.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.17.0.tgz";
-        sha512 = "es10YH/ejXbg551vtnmEzIPe3MQRNOS644o3pf8vUr1tIeNzVNlP8BBvs1Eh7roh5A+k2fEHUas+ZptOWHA1fQ==";
-      };
-    };
-    "@babel/cli-https://registry.npmjs.org/@babel/cli/-/cli-7.17.0.tgz" = {
-      name = "_at_babel_slash_cli";
-      packageName = "@babel/cli";
-      version = 1;
-      src = fetchurl {
-        name = "cli-1.tar.gz";
-        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.17.0.tgz";
-        sha512 = "es10YH/ejXbg551vtnmEzIPe3MQRNOS644o3pf8vUr1tIeNzVNlP8BBvs1Eh7roh5A+k2fEHUas+ZptOWHA1fQ==";
-      };
-    };
     "@babel/code-frame-7.16.7" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
@@ -50,15 +22,6 @@ let
         sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
       };
     };
-    "@babel/compat-data-7.17.0" = {
-      name = "_at_babel_slash_compat-data";
-      packageName = "@babel/compat-data";
-      version = "7.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz";
-        sha512 = "392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==";
-      };
-    };
     "@babel/compat-data-7.17.7" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
@@ -68,40 +31,22 @@ let
         sha512 = "p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==";
       };
     };
-    "@babel/core-7.17.0" = {
+    "@babel/core-7.17.9" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.0.tgz";
-        sha512 = "x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA==";
-      };
-    };
-    "@babel/core-7.17.8" = {
-      name = "_at_babel_slash_core";
-      packageName = "@babel/core";
-      version = "7.17.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz";
-        sha512 = "OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==";
-      };
-    };
-    "@babel/generator-7.17.0" = {
-      name = "_at_babel_slash_generator";
-      packageName = "@babel/generator";
-      version = "7.17.0";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.0.tgz";
-        sha512 = "I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz";
+        sha512 = "5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==";
       };
     };
-    "@babel/generator-7.17.7" = {
+    "@babel/generator-7.17.9" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.17.7";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz";
-        sha512 = "oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz";
+        sha512 = "rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==";
       };
     };
     "@babel/helper-annotate-as-pure-7.16.7" = {
@@ -122,15 +67,6 @@ let
         sha512 = "C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==";
       };
     };
-    "@babel/helper-compilation-targets-7.16.7" = {
-      name = "_at_babel_slash_helper-compilation-targets";
-      packageName = "@babel/helper-compilation-targets";
-      version = "7.16.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz";
-        sha512 = "mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==";
-      };
-    };
     "@babel/helper-compilation-targets-7.17.7" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
@@ -140,22 +76,13 @@ let
         sha512 = "UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.17.1" = {
+    "@babel/helper-create-class-features-plugin-7.17.9" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.17.1";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz";
-        sha512 = "JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ==";
-      };
-    };
-    "@babel/helper-create-class-features-plugin-7.17.6" = {
-      name = "_at_babel_slash_helper-create-class-features-plugin";
-      packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz";
-        sha512 = "SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz";
+        sha512 = "kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==";
       };
     };
     "@babel/helper-create-regexp-features-plugin-7.17.0" = {
@@ -194,22 +121,13 @@ let
         sha512 = "KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==";
       };
     };
-    "@babel/helper-function-name-7.16.7" = {
+    "@babel/helper-function-name-7.17.9" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.16.7";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz";
-        sha512 = "QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==";
-      };
-    };
-    "@babel/helper-get-function-arity-7.16.7" = {
-      name = "_at_babel_slash_helper-get-function-arity";
-      packageName = "@babel/helper-get-function-arity";
-      version = "7.16.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz";
-        sha512 = "flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz";
+        sha512 = "7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==";
       };
     };
     "@babel/helper-hoist-variables-7.16.7" = {
@@ -221,15 +139,6 @@ let
         sha512 = "m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.16.7" = {
-      name = "_at_babel_slash_helper-member-expression-to-functions";
-      packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.16.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz";
-        sha512 = "VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==";
-      };
-    };
     "@babel/helper-member-expression-to-functions-7.17.7" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
@@ -248,15 +157,6 @@ let
         sha512 = "LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==";
       };
     };
-    "@babel/helper-module-transforms-7.16.7" = {
-      name = "_at_babel_slash_helper-module-transforms";
-      packageName = "@babel/helper-module-transforms";
-      version = "7.16.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz";
-        sha512 = "gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==";
-      };
-    };
     "@babel/helper-module-transforms-7.17.7" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
@@ -302,15 +202,6 @@ let
         sha512 = "y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==";
       };
     };
-    "@babel/helper-simple-access-7.16.7" = {
-      name = "_at_babel_slash_helper-simple-access";
-      packageName = "@babel/helper-simple-access";
-      version = "7.16.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz";
-        sha512 = "ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==";
-      };
-    };
     "@babel/helper-simple-access-7.17.7" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
@@ -365,49 +256,31 @@ let
         sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
       };
     };
-    "@babel/helpers-7.17.0" = {
+    "@babel/helpers-7.17.9" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.17.0";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.0.tgz";
-        sha512 = "Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz";
+        sha512 = "cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==";
       };
     };
-    "@babel/helpers-7.17.8" = {
-      name = "_at_babel_slash_helpers";
-      packageName = "@babel/helpers";
-      version = "7.17.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz";
-        sha512 = "QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==";
-      };
-    };
-    "@babel/highlight-7.16.10" = {
+    "@babel/highlight-7.17.9" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.16.10";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz";
-        sha512 = "5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz";
+        sha512 = "J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==";
       };
     };
-    "@babel/parser-7.17.0" = {
+    "@babel/parser-7.17.9" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.0.tgz";
-        sha512 = "VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==";
-      };
-    };
-    "@babel/parser-7.17.8" = {
-      name = "_at_babel_slash_parser";
-      packageName = "@babel/parser";
-      version = "7.17.8";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz";
-        sha512 = "BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz";
+        sha512 = "vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==";
       };
     };
     "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7" = {
@@ -446,15 +319,6 @@ let
         sha512 = "IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==";
       };
     };
-    "@babel/plugin-proposal-class-static-block-7.16.7" = {
-      name = "_at_babel_slash_plugin-proposal-class-static-block";
-      packageName = "@babel/plugin-proposal-class-static-block";
-      version = "7.16.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz";
-        sha512 = "dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==";
-      };
-    };
     "@babel/plugin-proposal-class-static-block-7.17.6" = {
       name = "_at_babel_slash_plugin-proposal-class-static-block";
       packageName = "@babel/plugin-proposal-class-static-block";
@@ -464,13 +328,13 @@ let
         sha512 = "X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==";
       };
     };
-    "@babel/plugin-proposal-decorators-7.17.8" = {
+    "@babel/plugin-proposal-decorators-7.17.9" = {
       name = "_at_babel_slash_plugin-proposal-decorators";
       packageName = "@babel/plugin-proposal-decorators";
-      version = "7.17.8";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz";
-        sha512 = "U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.9.tgz";
+        sha512 = "EfH2LZ/vPa2wuPwJ26j+kYRkaubf89UlwxKXtxqEm57HrgSEYDB8t4swFP+p8LcI9yiP9ZRJJjo/58hS6BnaDA==";
       };
     };
     "@babel/plugin-proposal-dynamic-import-7.16.7" = {
@@ -527,15 +391,6 @@ let
         sha512 = "vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.16.7" = {
-      name = "_at_babel_slash_plugin-proposal-object-rest-spread";
-      packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.16.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz";
-        sha512 = "3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==";
-      };
-    };
     "@babel/plugin-proposal-object-rest-spread-7.17.3" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
@@ -806,15 +661,6 @@ let
         sha512 = "gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.16.7" = {
-      name = "_at_babel_slash_plugin-transform-destructuring";
-      packageName = "@babel/plugin-transform-destructuring";
-      version = "7.16.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz";
-        sha512 = "VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==";
-      };
-    };
     "@babel/plugin-transform-destructuring-7.17.7" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
@@ -896,31 +742,13 @@ let
         sha512 = "KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.16.8" = {
+    "@babel/plugin-transform-modules-commonjs-7.17.9" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.16.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz";
-        sha512 = "oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==";
-      };
-    };
-    "@babel/plugin-transform-modules-commonjs-7.17.7" = {
-      name = "_at_babel_slash_plugin-transform-modules-commonjs";
-      packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.17.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz";
-        sha512 = "ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==";
-      };
-    };
-    "@babel/plugin-transform-modules-systemjs-7.16.7" = {
-      name = "_at_babel_slash_plugin-transform-modules-systemjs";
-      packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.16.7";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz";
-        sha512 = "DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz";
+        sha512 = "2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==";
       };
     };
     "@babel/plugin-transform-modules-systemjs-7.17.8" = {
@@ -986,13 +814,13 @@ let
         sha512 = "z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.16.7" = {
+    "@babel/plugin-transform-regenerator-7.17.9" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.16.7";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz";
-        sha512 = "mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz";
+        sha512 = "Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==";
       };
     };
     "@babel/plugin-transform-reserved-words-7.16.7" = {
@@ -1085,16 +913,6 @@ let
         sha512 = "qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==";
       };
     };
-    "@babel/preset-env-https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz" = {
-      name = "_at_babel_slash_preset-env";
-      packageName = "@babel/preset-env";
-      version = 1;
-      src = fetchurl {
-        name = "preset-env-1.tar.gz";
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz";
-        sha512 = "qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==";
-      };
-    };
     "@babel/preset-modules-0.1.5" = {
       name = "_at_babel_slash_preset-modules";
       packageName = "@babel/preset-modules";
@@ -1113,32 +931,13 @@ let
         sha512 = "WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==";
       };
     };
-    "@babel/preset-typescript-https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz" = {
-      name = "_at_babel_slash_preset-typescript";
-      packageName = "@babel/preset-typescript";
-      version = 1;
-      src = fetchurl {
-        name = "preset-typescript-1.tar.gz";
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz";
-        sha512 = "WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==";
-      };
-    };
-    "@babel/runtime-7.17.0" = {
+    "@babel/runtime-7.17.9" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.0.tgz";
-        sha512 = "etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ==";
-      };
-    };
-    "@babel/runtime-7.17.8" = {
-      name = "_at_babel_slash_runtime";
-      packageName = "@babel/runtime";
-      version = "7.17.8";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz";
-        sha512 = "dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz";
+        sha512 = "lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==";
       };
     };
     "@babel/template-7.16.7" = {
@@ -1150,22 +949,13 @@ let
         sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
       };
     };
-    "@babel/traverse-7.17.0" = {
+    "@babel/traverse-7.17.9" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.17.0";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.0.tgz";
-        sha512 = "fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==";
-      };
-    };
-    "@babel/traverse-7.17.3" = {
-      name = "_at_babel_slash_traverse";
-      packageName = "@babel/traverse";
-      version = "7.17.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz";
-        sha512 = "5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz";
+        sha512 = "PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==";
       };
     };
     "@babel/types-7.17.0" = {
@@ -1204,31 +994,13 @@ let
         sha512 = "hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==";
       };
     };
-    "@eslint/eslintrc-1.0.5" = {
+    "@eslint/eslintrc-1.2.2" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz";
-        sha512 = "BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==";
-      };
-    };
-    "@eslint/eslintrc-1.2.1" = {
-      name = "_at_eslint_slash_eslintrc";
-      packageName = "@eslint/eslintrc";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz";
-        sha512 = "bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==";
-      };
-    };
-    "@humanwhocodes/config-array-0.9.3" = {
-      name = "_at_humanwhocodes_slash_config-array";
-      packageName = "@humanwhocodes/config-array";
-      version = "0.9.3";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz";
-        sha512 = "3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==";
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz";
+        sha512 = "lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==";
       };
     };
     "@humanwhocodes/config-array-0.9.5" = {
@@ -1267,15 +1039,6 @@ let
         sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
       };
     };
-    "@jest/console-27.5.0" = {
-      name = "_at_jest_slash_console";
-      packageName = "@jest/console";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/console/-/console-27.5.0.tgz";
-        sha512 = "WUzX5neFb0IOQOy/7A2VhiGdxJKk85Xns2Oq29JaHmtnSel+BsjwyQZxzAs2Xxfd2i452fwdDG9ox/IWi81bdQ==";
-      };
-    };
     "@jest/console-27.5.1" = {
       name = "_at_jest_slash_console";
       packageName = "@jest/console";
@@ -1285,15 +1048,6 @@ let
         sha512 = "kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==";
       };
     };
-    "@jest/core-27.5.0" = {
-      name = "_at_jest_slash_core";
-      packageName = "@jest/core";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/core/-/core-27.5.0.tgz";
-        sha512 = "DcUTkZyon+dRozTEjy38Bgt3PIU51GdUJuz3uHKg5maGtmCaYqPUGiM3Xddqi7eIMC7E3fTGIlHqH9i0pTOy6Q==";
-      };
-    };
     "@jest/core-27.5.1" = {
       name = "_at_jest_slash_core";
       packageName = "@jest/core";
@@ -1303,15 +1057,6 @@ let
         sha512 = "AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==";
       };
     };
-    "@jest/environment-27.5.0" = {
-      name = "_at_jest_slash_environment";
-      packageName = "@jest/environment";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/environment/-/environment-27.5.0.tgz";
-        sha512 = "lg0JFsMaLKgpwzs0knOg21Z4OQwaJoBLutnmYzip4tyLTXP21VYWtYGpLXgx42fw/Mw05m1WDXWKgwR6WnsiTw==";
-      };
-    };
     "@jest/environment-27.5.1" = {
       name = "_at_jest_slash_environment";
       packageName = "@jest/environment";
@@ -1321,15 +1066,6 @@ let
         sha512 = "/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==";
       };
     };
-    "@jest/fake-timers-27.5.0" = {
-      name = "_at_jest_slash_fake-timers";
-      packageName = "@jest/fake-timers";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.0.tgz";
-        sha512 = "e3WrlpqSHq3HAQ03JFjTn8YCrsyg640/sr1rjkM2rNv8z1ufjudpv4xq6DvvTJYB6FuUrfg0g+7bSKPet5QfCQ==";
-      };
-    };
     "@jest/fake-timers-27.5.1" = {
       name = "_at_jest_slash_fake-timers";
       packageName = "@jest/fake-timers";
@@ -1339,15 +1075,6 @@ let
         sha512 = "/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==";
       };
     };
-    "@jest/globals-27.5.0" = {
-      name = "_at_jest_slash_globals";
-      packageName = "@jest/globals";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/globals/-/globals-27.5.0.tgz";
-        sha512 = "wWpMnTiR65Q4JD7fr2BqN+ZDbi99mmILnEM6u7AaX4geASEIVvQsiB4RCvwZrIX5YZCsAjviJQVq9CYddLABkg==";
-      };
-    };
     "@jest/globals-27.5.1" = {
       name = "_at_jest_slash_globals";
       packageName = "@jest/globals";
@@ -1357,15 +1084,6 @@ let
         sha512 = "ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==";
       };
     };
-    "@jest/reporters-27.5.0" = {
-      name = "_at_jest_slash_reporters";
-      packageName = "@jest/reporters";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.0.tgz";
-        sha512 = "DG+BmVSx2uaJSTKz5z1eScgHTQ6/cZ5CCKSpmpr4sXQPwV2V5aUMOBDwXX1MnqNRhH7/Rq9K97ynnocvho5aMA==";
-      };
-    };
     "@jest/reporters-27.5.1" = {
       name = "_at_jest_slash_reporters";
       packageName = "@jest/reporters";
@@ -1375,15 +1093,6 @@ let
         sha512 = "cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==";
       };
     };
-    "@jest/source-map-27.5.0" = {
-      name = "_at_jest_slash_source-map";
-      packageName = "@jest/source-map";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.0.tgz";
-        sha512 = "0xr7VZ+JNCRrlCyRMYhquUm8eU3kNdGDaIW4s3L625bNjk273v9ZhAm3YczIuzJzYH0pnjT+QSCiZQegWKjeow==";
-      };
-    };
     "@jest/source-map-27.5.1" = {
       name = "_at_jest_slash_source-map";
       packageName = "@jest/source-map";
@@ -1393,15 +1102,6 @@ let
         sha512 = "y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==";
       };
     };
-    "@jest/test-result-27.5.0" = {
-      name = "_at_jest_slash_test-result";
-      packageName = "@jest/test-result";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.0.tgz";
-        sha512 = "Lxecvx5mN6WIeynIyW0dWDQm8UPGMHvTwxUPK+OsZaqBDMGaNDSZtw53VoVk7HyT6AcRblMR/pfa0XucmH4hGw==";
-      };
-    };
     "@jest/test-result-27.5.1" = {
       name = "_at_jest_slash_test-result";
       packageName = "@jest/test-result";
@@ -1411,15 +1111,6 @@ let
         sha512 = "EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==";
       };
     };
-    "@jest/test-sequencer-27.5.0" = {
-      name = "_at_jest_slash_test-sequencer";
-      packageName = "@jest/test-sequencer";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.0.tgz";
-        sha512 = "WzjcDflqbpWe+SnJPCvB2gB6haGfrkzAgzY6Pb1aq+EPoVAj2mwBaKN0ROWI4H87aSslCjq2M+BUQFNJ8VpnDA==";
-      };
-    };
     "@jest/test-sequencer-27.5.1" = {
       name = "_at_jest_slash_test-sequencer";
       packageName = "@jest/test-sequencer";
@@ -1429,15 +1120,6 @@ let
         sha512 = "LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==";
       };
     };
-    "@jest/transform-27.5.0" = {
-      name = "_at_jest_slash_transform";
-      packageName = "@jest/transform";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/transform/-/transform-27.5.0.tgz";
-        sha512 = "yXUy/iO3TH1itxJ9BF7LLjuXt8TtgtjAl0PBQbUaCvRa+L0yYBob6uayW9dFRX/CDQweouLhvmXh44zRiaB+yA==";
-      };
-    };
     "@jest/transform-27.5.1" = {
       name = "_at_jest_slash_transform";
       packageName = "@jest/transform";
@@ -1447,15 +1129,6 @@ let
         sha512 = "ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==";
       };
     };
-    "@jest/types-27.5.0" = {
-      name = "_at_jest_slash_types";
-      packageName = "@jest/types";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/types/-/types-27.5.0.tgz";
-        sha512 = "oDHEp7gwSgA82RZ6pzUL3ugM2njP/lVB1MsxRZNOBk+CoNvh9SpH1lQixPFc/kDlV50v59csiW4HLixWmhmgPQ==";
-      };
-    };
     "@jest/types-27.5.1" = {
       name = "_at_jest_slash_types";
       packageName = "@jest/types";
@@ -1465,31 +1138,13 @@ let
         sha512 = "Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==";
       };
     };
-    "@jridgewell/resolve-uri-3.0.4" = {
-      name = "_at_jridgewell_slash_resolve-uri";
-      packageName = "@jridgewell/resolve-uri";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz";
-        sha512 = "cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==";
-      };
-    };
-    "@jridgewell/resolve-uri-3.0.5" = {
+    "@jridgewell/resolve-uri-3.0.6" = {
       name = "_at_jridgewell_slash_resolve-uri";
       packageName = "@jridgewell/resolve-uri";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz";
-        sha512 = "VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==";
-      };
-    };
-    "@jridgewell/sourcemap-codec-1.4.10" = {
-      name = "_at_jridgewell_slash_sourcemap-codec";
-      packageName = "@jridgewell/sourcemap-codec";
-      version = "1.4.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz";
-        sha512 = "Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg==";
+        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz";
+        sha512 = "R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==";
       };
     };
     "@jridgewell/sourcemap-codec-1.4.11" = {
@@ -1501,31 +1156,13 @@ let
         sha512 = "Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==";
       };
     };
-    "@jridgewell/trace-mapping-0.2.7" = {
-      name = "_at_jridgewell_slash_trace-mapping";
-      packageName = "@jridgewell/trace-mapping";
-      version = "0.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.2.7.tgz";
-        sha512 = "ZKfRhw6eK2vvdWqpU7DQq49+BZESqh5rmkYpNhuzkz01tapssl2sNNy6uMUIgrTtUWQDijomWJzJRCoevVrfgw==";
-      };
-    };
-    "@jridgewell/trace-mapping-0.3.4" = {
+    "@jridgewell/trace-mapping-0.3.9" = {
       name = "_at_jridgewell_slash_trace-mapping";
       packageName = "@jridgewell/trace-mapping";
-      version = "0.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz";
-        sha512 = "vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==";
-      };
-    };
-    "@nicolo-ribaudo/chokidar-2-2.1.8-no-fsevents.3" = {
-      name = "_at_nicolo-ribaudo_slash_chokidar-2";
-      packageName = "@nicolo-ribaudo/chokidar-2";
-      version = "2.1.8-no-fsevents.3";
+      version = "0.3.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz";
-        sha512 = "s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==";
+        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz";
+        sha512 = "3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==";
       };
     };
     "@nodelib/fs.scandir-2.1.5" = {
@@ -1681,15 +1318,6 @@ let
         sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
       };
     };
-    "@types/babel__core-7.1.18" = {
-      name = "_at_types_slash_babel__core";
-      packageName = "@types/babel__core";
-      version = "7.1.18";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz";
-        sha512 = "S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==";
-      };
-    };
     "@types/babel__core-7.1.19" = {
       name = "_at_types_slash_babel__core";
       packageName = "@types/babel__core";
@@ -1717,13 +1345,13 @@ let
         sha512 = "azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==";
       };
     };
-    "@types/babel__traverse-7.14.2" = {
+    "@types/babel__traverse-7.17.0" = {
       name = "_at_types_slash_babel__traverse";
       packageName = "@types/babel__traverse";
-      version = "7.14.2";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz";
-        sha512 = "K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==";
+        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.0.tgz";
+        sha512 = "r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==";
       };
     };
     "@types/debounce-1.2.1" = {
@@ -1735,35 +1363,6 @@ let
         sha512 = "epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==";
       };
     };
-    "@types/debounce-https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz" = {
-      name = "_at_types_slash_debounce";
-      packageName = "@types/debounce";
-      version = 1;
-      src = fetchurl {
-        name = "debounce-1.tar.gz";
-        url = "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz";
-        sha512 = "epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==";
-      };
-    };
-    "@types/debug-4.1.7" = {
-      name = "_at_types_slash_debug";
-      packageName = "@types/debug";
-      version = "4.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz";
-        sha512 = "9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==";
-      };
-    };
-    "@types/debug-https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz" = {
-      name = "_at_types_slash_debug";
-      packageName = "@types/debug";
-      version = 1;
-      src = fetchurl {
-        name = "debug-1.tar.gz";
-        url = "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz";
-        sha512 = "9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==";
-      };
-    };
     "@types/finalhandler-1.1.1" = {
       name = "_at_types_slash_finalhandler";
       packageName = "@types/finalhandler";
@@ -1827,15 +1426,6 @@ let
         sha512 = "c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==";
       };
     };
-    "@types/jest-27.4.0" = {
-      name = "_at_types_slash_jest";
-      packageName = "@types/jest";
-      version = "27.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz";
-        sha512 = "gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==";
-      };
-    };
     "@types/jest-27.4.1" = {
       name = "_at_types_slash_jest";
       packageName = "@types/jest";
@@ -1845,16 +1435,6 @@ let
         sha512 = "23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==";
       };
     };
-    "@types/jest-https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz" = {
-      name = "_at_types_slash_jest";
-      packageName = "@types/jest";
-      version = 1;
-      src = fetchurl {
-        name = "jest-1.tar.gz";
-        url = "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz";
-        sha512 = "gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==";
-      };
-    };
     "@types/js-yaml-4.0.5" = {
       name = "_at_types_slash_js-yaml";
       packageName = "@types/js-yaml";
@@ -1873,15 +1453,6 @@ let
         sha512 = "wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==";
       };
     };
-    "@types/json-schema-7.0.9" = {
-      name = "_at_types_slash_json-schema";
-      packageName = "@types/json-schema";
-      version = "7.0.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz";
-        sha512 = "qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==";
-      };
-    };
     "@types/minimatch-3.0.5" = {
       name = "_at_types_slash_minimatch";
       packageName = "@types/minimatch";
@@ -1891,69 +1462,13 @@ let
         sha512 = "Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==";
       };
     };
-    "@types/ms-0.7.31" = {
-      name = "_at_types_slash_ms";
-      packageName = "@types/ms";
-      version = "0.7.31";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz";
-        sha512 = "iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==";
-      };
-    };
-    "@types/mz-2.7.4" = {
-      name = "_at_types_slash_mz";
-      packageName = "@types/mz";
-      version = "2.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz";
-        sha512 = "Zs0imXxyWT20j3Z2NwKpr0IO2LmLactBblNyLua5Az4UHuqOQ02V3jPTgyKwDkuc33/ahw+C3O1PIZdrhFMuQA==";
-      };
-    };
-    "@types/mz-https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz" = {
-      name = "_at_types_slash_mz";
-      packageName = "@types/mz";
-      version = 1;
-      src = fetchurl {
-        name = "mz-1.tar.gz";
-        url = "https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz";
-        sha512 = "Zs0imXxyWT20j3Z2NwKpr0IO2LmLactBblNyLua5Az4UHuqOQ02V3jPTgyKwDkuc33/ahw+C3O1PIZdrhFMuQA==";
-      };
-    };
-    "@types/nedb-1.8.12" = {
-      name = "_at_types_slash_nedb";
-      packageName = "@types/nedb";
-      version = "1.8.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz";
-        sha512 = "ICDoQMORMjOSqfNFXT4ENXfwwCir1BPblXNm0SPH7C4Q10ou+pvVagcFAJ+rrzf3A47tGU4K/KbzKu7wO9j45Q==";
-      };
-    };
-    "@types/nedb-https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz" = {
-      name = "_at_types_slash_nedb";
-      packageName = "@types/nedb";
-      version = 1;
-      src = fetchurl {
-        name = "nedb-1.tar.gz";
-        url = "https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz";
-        sha512 = "ICDoQMORMjOSqfNFXT4ENXfwwCir1BPblXNm0SPH7C4Q10ou+pvVagcFAJ+rrzf3A47tGU4K/KbzKu7wO9j45Q==";
-      };
-    };
-    "@types/node-17.0.15" = {
+    "@types/node-17.0.25" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.15";
+      version = "17.0.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.15.tgz";
-        sha512 = "zWt4SDDv1S9WRBNxLFxFRHxdD9tvH8f5/kg5/IaLFdnSNXsDY4eL3Q3XXN+VxUnWIhyVFDwcsmAprvwXoM/ClA==";
-      };
-    };
-    "@types/node-17.0.23" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "17.0.23";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz";
-        sha512 = "UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.25.tgz";
+        sha512 = "wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==";
       };
     };
     "@types/object-assign-deep-0.4.0" = {
@@ -1965,22 +1480,13 @@ let
         sha512 = "3D0F3rHRNDc8cQSXNzwF1jBrJi28Mdrhc10ZLlqbJWDPYRWTTWB9Tc8JoKrgBvLKioXoPoHT6Uzf3s2F7akCUg==";
       };
     };
-    "@types/prettier-2.4.3" = {
-      name = "_at_types_slash_prettier";
-      packageName = "@types/prettier";
-      version = "2.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.3.tgz";
-        sha512 = "QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w==";
-      };
-    };
-    "@types/prettier-2.4.4" = {
+    "@types/prettier-2.6.0" = {
       name = "_at_types_slash_prettier";
       packageName = "@types/prettier";
-      version = "2.4.4";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz";
-        sha512 = "ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==";
+        url = "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz";
+        sha512 = "G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==";
       };
     };
     "@types/rimraf-3.0.2" = {
@@ -1992,25 +1498,6 @@ let
         sha512 = "F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==";
       };
     };
-    "@types/serialport-8.0.2" = {
-      name = "_at_types_slash_serialport";
-      packageName = "@types/serialport";
-      version = "8.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/serialport/-/serialport-8.0.2.tgz";
-        sha512 = "z4b1I8/vdZE3upgCcAL9VAWlVVFUVn5uo3faAHavkVfK/Hb1LUxKwp9YCtA5AZqEUCWoSWl20SRTOvAI/5fQWQ==";
-      };
-    };
-    "@types/serialport-https://registry.npmjs.org/@types/serialport/-/serialport-8.0.2.tgz" = {
-      name = "_at_types_slash_serialport";
-      packageName = "@types/serialport";
-      version = 1;
-      src = fetchurl {
-        name = "serialport-1.tar.gz";
-        url = "https://registry.npmjs.org/@types/serialport/-/serialport-8.0.2.tgz";
-        sha512 = "z4b1I8/vdZE3upgCcAL9VAWlVVFUVn5uo3faAHavkVfK/Hb1LUxKwp9YCtA5AZqEUCWoSWl20SRTOvAI/5fQWQ==";
-      };
-    };
     "@types/stack-utils-2.0.1" = {
       name = "_at_types_slash_stack-utils";
       packageName = "@types/stack-utils";
@@ -2038,15 +1525,6 @@ let
         sha512 = "T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==";
       };
     };
-    "@types/yargs-parser-20.2.1" = {
-      name = "_at_types_slash_yargs-parser";
-      packageName = "@types/yargs-parser";
-      version = "20.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz";
-        sha512 = "7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==";
-      };
-    };
     "@types/yargs-parser-21.0.0" = {
       name = "_at_types_slash_yargs-parser";
       packageName = "@types/yargs-parser";
@@ -2056,177 +1534,85 @@ let
         sha512 = "iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==";
       };
     };
-    "@typescript-eslint/eslint-plugin-5.10.2" = {
+    "@typescript-eslint/eslint-plugin-5.20.0" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.10.2";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz";
-        sha512 = "4W/9lLuE+v27O/oe7hXJKjNtBLnZE8tQAFpapdxwSVHqtmIoPB1gph3+ahNwVuNL37BX7YQHyGF9Xv6XCnIX2Q==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz";
+        sha512 = "fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==";
       };
     };
-    "@typescript-eslint/eslint-plugin-5.16.0" = {
-      name = "_at_typescript-eslint_slash_eslint-plugin";
-      packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.16.0.tgz";
-        sha512 = "SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw==";
-      };
-    };
-    "@typescript-eslint/eslint-plugin-https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz" = {
-      name = "_at_typescript-eslint_slash_eslint-plugin";
-      packageName = "@typescript-eslint/eslint-plugin";
-      version = 1;
-      src = fetchurl {
-        name = "eslint-plugin-1.tar.gz";
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz";
-        sha512 = "4W/9lLuE+v27O/oe7hXJKjNtBLnZE8tQAFpapdxwSVHqtmIoPB1gph3+ahNwVuNL37BX7YQHyGF9Xv6XCnIX2Q==";
-      };
-    };
-    "@typescript-eslint/parser-5.10.2" = {
-      name = "_at_typescript-eslint_slash_parser";
-      packageName = "@typescript-eslint/parser";
-      version = "5.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.2.tgz";
-        sha512 = "JaNYGkaQVhP6HNF+lkdOr2cAs2wdSZBoalE22uYWq8IEv/OVH0RksSGydk+sW8cLoSeYmC+OHvRyv2i4AQ7Czg==";
-      };
-    };
-    "@typescript-eslint/parser-5.16.0" = {
+    "@typescript-eslint/parser-5.20.0" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "5.16.0";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.16.0.tgz";
-        sha512 = "fkDq86F0zl8FicnJtdXakFs4lnuebH6ZADDw6CYQv0UZeIjHvmEw87m9/29nk2Dv5Lmdp0zQ3zDQhiMWQf/GbA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.20.0.tgz";
+        sha512 = "UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==";
       };
     };
-    "@typescript-eslint/parser-https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.2.tgz" = {
-      name = "_at_typescript-eslint_slash_parser";
-      packageName = "@typescript-eslint/parser";
-      version = 1;
-      src = fetchurl {
-        name = "parser-1.tar.gz";
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.2.tgz";
-        sha512 = "JaNYGkaQVhP6HNF+lkdOr2cAs2wdSZBoalE22uYWq8IEv/OVH0RksSGydk+sW8cLoSeYmC+OHvRyv2i4AQ7Czg==";
-      };
-    };
-    "@typescript-eslint/scope-manager-5.10.2" = {
+    "@typescript-eslint/scope-manager-5.20.0" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "5.10.2";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.10.2.tgz";
-        sha512 = "39Tm6f4RoZoVUWBYr3ekS75TYgpr5Y+X0xLZxXqcZNDWZdJdYbKd3q2IR4V9y5NxxiPu/jxJ8XP7EgHiEQtFnw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz";
+        sha512 = "h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==";
       };
     };
-    "@typescript-eslint/scope-manager-5.16.0" = {
-      name = "_at_typescript-eslint_slash_scope-manager";
-      packageName = "@typescript-eslint/scope-manager";
-      version = "5.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz";
-        sha512 = "P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ==";
-      };
-    };
-    "@typescript-eslint/type-utils-5.10.2" = {
+    "@typescript-eslint/type-utils-5.20.0" = {
       name = "_at_typescript-eslint_slash_type-utils";
       packageName = "@typescript-eslint/type-utils";
-      version = "5.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.10.2.tgz";
-        sha512 = "uRKSvw/Ccs5FYEoXW04Z5VfzF2iiZcx8Fu7DGIB7RHozuP0VbKNzP1KfZkHBTM75pCpsWxIthEH1B33dmGBKHw==";
-      };
-    };
-    "@typescript-eslint/type-utils-5.16.0" = {
-      name = "_at_typescript-eslint_slash_type-utils";
-      packageName = "@typescript-eslint/type-utils";
-      version = "5.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.16.0.tgz";
-        sha512 = "SKygICv54CCRl1Vq5ewwQUJV/8padIWvPgCxlWPGO/OgQLCijY9G7lDu6H+mqfQtbzDNlVjzVWQmeqbLMBLEwQ==";
-      };
-    };
-    "@typescript-eslint/types-5.10.2" = {
-      name = "_at_typescript-eslint_slash_types";
-      packageName = "@typescript-eslint/types";
-      version = "5.10.2";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.10.2.tgz";
-        sha512 = "Qfp0qk/5j2Rz3p3/WhWgu4S1JtMcPgFLnmAKAW061uXxKSa7VWKZsDXVaMXh2N60CX9h6YLaBoy9PJAfCOjk3w==";
+        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz";
+        sha512 = "WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==";
       };
     };
-    "@typescript-eslint/types-5.16.0" = {
+    "@typescript-eslint/types-5.20.0" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "5.16.0";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.16.0.tgz";
-        sha512 = "oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz";
+        sha512 = "+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==";
       };
     };
-    "@typescript-eslint/typescript-estree-5.10.2" = {
+    "@typescript-eslint/typescript-estree-5.20.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "5.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.2.tgz";
-        sha512 = "WHHw6a9vvZls6JkTgGljwCsMkv8wu8XU8WaYKeYhxhWXH/atZeiMW6uDFPLZOvzNOGmuSMvHtZKd6AuC8PrwKQ==";
-      };
-    };
-    "@typescript-eslint/typescript-estree-5.16.0" = {
-      name = "_at_typescript-eslint_slash_typescript-estree";
-      packageName = "@typescript-eslint/typescript-estree";
-      version = "5.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz";
-        sha512 = "SE4VfbLWUZl9MR+ngLSARptUv2E8brY0luCdgmUevU6arZRY/KxYoLI/3V/yxaURR8tLRN7bmZtJdgmzLHI6pQ==";
-      };
-    };
-    "@typescript-eslint/utils-5.10.2" = {
-      name = "_at_typescript-eslint_slash_utils";
-      packageName = "@typescript-eslint/utils";
-      version = "5.10.2";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.10.2.tgz";
-        sha512 = "vuJaBeig1NnBRkf7q9tgMLREiYD7zsMrsN1DA3wcoMDvr3BTFiIpKjGiYZoKPllfEwN7spUjv7ZqD+JhbVjEPg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz";
+        sha512 = "36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==";
       };
     };
-    "@typescript-eslint/utils-5.16.0" = {
+    "@typescript-eslint/utils-5.20.0" = {
       name = "_at_typescript-eslint_slash_utils";
       packageName = "@typescript-eslint/utils";
-      version = "5.16.0";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.16.0.tgz";
-        sha512 = "iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz";
+        sha512 = "lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.10.2" = {
+    "@typescript-eslint/visitor-keys-5.20.0" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "5.10.2";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.2.tgz";
-        sha512 = "zHIhYGGGrFJvvyfwHk5M08C5B5K4bewkm+rrvNTKk1/S15YHR+SA/QUF8ZWscXSfEaB8Nn2puZj+iHcoxVOD/Q==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz";
+        sha512 = "1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.16.0" = {
-      name = "_at_typescript-eslint_slash_visitor-keys";
-      packageName = "@typescript-eslint/visitor-keys";
-      version = "5.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz";
-        sha512 = "jqxO8msp5vZDhikTwq9ubyMHqZ67UIvawohr4qF3KhlpL7gzSjOd+8471H3nh5LyABkaI85laEKKU8SnGUK5/g==";
-      };
-    };
-    "abab-2.0.5" = {
+    "abab-2.0.6" = {
       name = "abab";
       packageName = "abab";
-      version = "2.0.5";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz";
-        sha512 = "9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==";
+        url = "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz";
+        sha512 = "j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==";
       };
     };
     "acorn-7.4.1" = {
@@ -2436,22 +1822,13 @@ let
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
-    "axios-0.26.1" = {
+    "axios-0.27.2" = {
       name = "axios";
       packageName = "axios";
-      version = "0.26.1";
+      version = "0.27.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz";
-        sha512 = "fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==";
-      };
-    };
-    "babel-jest-27.5.0" = {
-      name = "babel-jest";
-      packageName = "babel-jest";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.0.tgz";
-        sha512 = "puhCyvBTNLevhbd1oyw6t3gWBicWoUARQYKCBB/B1moif17NbyhxbsfadqZIw8zfJJD+W7Vw0Nb20pEjLxkXqQ==";
+        url = "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz";
+        sha512 = "t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==";
       };
     };
     "babel-jest-27.5.1" = {
@@ -2481,15 +1858,6 @@ let
         sha512 = "Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==";
       };
     };
-    "babel-plugin-jest-hoist-27.5.0" = {
-      name = "babel-plugin-jest-hoist";
-      packageName = "babel-plugin-jest-hoist";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.0.tgz";
-        sha512 = "ztwNkHl+g1GaoQcb8f2BER4C3LMvSXuF7KVqtUioXQgScSEnkl6lLgCILUYIR+CPTwL8H3F/PNLze64HPWF9JA==";
-      };
-    };
     "babel-plugin-jest-hoist-27.5.1" = {
       name = "babel-plugin-jest-hoist";
       packageName = "babel-plugin-jest-hoist";
@@ -2535,15 +1903,6 @@ let
         sha512 = "M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==";
       };
     };
-    "babel-preset-jest-27.5.0" = {
-      name = "babel-preset-jest";
-      packageName = "babel-preset-jest";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.0.tgz";
-        sha512 = "7bfu1cJBlgK/nKfTvMlElzA3jpi6GzDWX3fntnyP2cQSzoi/KUz6ewGlcb3PSRYZGyv+uPnVHY0Im3JbsViqgA==";
-      };
-    };
     "babel-preset-jest-27.5.1" = {
       name = "babel-preset-jest";
       packageName = "babel-preset-jest";
@@ -2571,15 +1930,6 @@ let
         sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
       };
     };
-    "binary-extensions-2.2.0" = {
-      name = "binary-extensions";
-      packageName = "binary-extensions";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz";
-        sha512 = "jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==";
-      };
-    };
     "bind-decorator-1.0.11" = {
       name = "bind-decorator";
       packageName = "bind-decorator";
@@ -2634,15 +1984,6 @@ let
         sha512 = "9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==";
       };
     };
-    "browserslist-4.19.1" = {
-      name = "browserslist";
-      packageName = "browserslist";
-      version = "4.19.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz";
-        sha512 = "u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==";
-      };
-    };
     "browserslist-4.20.2" = {
       name = "browserslist";
       packageName = "browserslist";
@@ -2724,22 +2065,13 @@ let
         sha512 = "Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==";
       };
     };
-    "caniuse-lite-1.0.30001307" = {
-      name = "caniuse-lite";
-      packageName = "caniuse-lite";
-      version = "1.0.30001307";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001307.tgz";
-        sha512 = "+MXEMczJ4FuxJAUp0jvAl6Df0NI/OfW1RWEE61eSmzS7hw6lz4IKutbhbXendwq8BljfFuHtu26VWsg4afQ7Ng==";
-      };
-    };
-    "caniuse-lite-1.0.30001320" = {
+    "caniuse-lite-1.0.30001332" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001320";
+      version = "1.0.30001332";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz";
-        sha512 = "MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz";
+        sha512 = "10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==";
       };
     };
     "chalk-2.4.2" = {
@@ -2778,15 +2110,6 @@ let
         sha512 = "Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ==";
       };
     };
-    "chokidar-3.5.3" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz";
-        sha512 = "Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==";
-      };
-    };
     "chownr-1.1.4" = {
       name = "chownr";
       packageName = "chownr";
@@ -2895,13 +2218,13 @@ let
         sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
       };
     };
-    "color-string-1.9.0" = {
+    "color-string-1.9.1" = {
       name = "color-string";
       packageName = "color-string";
-      version = "1.9.0";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz";
-        sha512 = "9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==";
+        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz";
+        sha512 = "shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==";
       };
     };
     "colorspace-1.1.4" = {
@@ -2922,15 +2245,6 @@ let
         sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     };
-    "commander-4.1.1" = {
-      name = "commander";
-      packageName = "commander";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz";
-        sha512 = "NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==";
-      };
-    };
     "commist-1.1.0" = {
       name = "commist";
       packageName = "commist";
@@ -2985,31 +2299,22 @@ let
         sha512 = "+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==";
       };
     };
-    "core-js-3.21.1" = {
+    "core-js-3.22.2" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.21.1";
+      version = "3.22.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz";
-        sha512 = "FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.2.tgz";
+        sha512 = "Z5I2vzDnEIqO2YhELVMFcL1An2CIsFe9Q7byZhs8c/QxummxZlAHw33TUHbIte987LkisOgL0LwQ1P9D6VISnA==";
       };
     };
-    "core-js-compat-3.21.0" = {
+    "core-js-compat-3.22.2" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.21.0";
+      version = "3.22.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.0.tgz";
-        sha512 = "OSXseNPSK2OPJa6GdtkMz/XxeXx8/CJvfhQWTqd6neuUraujcL4jVsjkLQz1OWnax8xVQJnRPe0V2jqNWORA+A==";
-      };
-    };
-    "core-js-compat-3.21.1" = {
-      name = "core-js-compat";
-      packageName = "core-js-compat";
-      version = "3.21.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz";
-        sha512 = "gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.2.tgz";
+        sha512 = "Fns9lU06ZJ07pdfmPMu7OnkIKGPKDzXKIiuGlSvHHapwqMUF2QnnsWwtueFZtSyZEilP0o6iUeHQwpn7LxtLUw==";
       };
     };
     "core-util-is-1.0.3" = {
@@ -3084,15 +2389,6 @@ let
         sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
       };
     };
-    "debug-4.3.3" = {
-      name = "debug";
-      packageName = "debug";
-      version = "4.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz";
-        sha512 = "/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==";
-      };
-    };
     "debug-4.3.4" = {
       name = "debug";
       packageName = "debug";
@@ -3165,13 +2461,13 @@ let
         sha512 = "FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==";
       };
     };
-    "define-properties-1.1.3" = {
+    "define-properties-1.1.4" = {
       name = "define-properties";
       packageName = "define-properties";
-      version = "1.1.3";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
-        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
+        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz";
+        sha512 = "uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==";
       };
     };
     "delayed-stream-1.0.0" = {
@@ -3210,13 +2506,13 @@ let
         sha512 = "2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==";
       };
     };
-    "detect-libc-2.0.0" = {
+    "detect-libc-2.0.1" = {
       name = "detect-libc";
       packageName = "detect-libc";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.0.tgz";
-        sha512 = "S55LzUl8HUav8l9E2PBTlC5PAJrHK7tkM+XXFGD+fbsbkTzhCpG6K05LxJcUOEWzMa4v6ptcMZ9s3fOdJDu0Zw==";
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz";
+        sha512 = "463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==";
       };
     };
     "detect-newline-3.1.0" = {
@@ -3228,15 +2524,6 @@ let
         sha512 = "TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==";
       };
     };
-    "diff-sequences-27.5.0" = {
-      name = "diff-sequences";
-      packageName = "diff-sequences";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.0.tgz";
-        sha512 = "ZsOBWnhXiH+Zn0DcBNX/tiQsqrREHs/6oQsEVy2VJJjrTblykPima11pyHMSA/7PGmD+fwclTnKVKL/qtNREDQ==";
-      };
-    };
     "diff-sequences-27.5.1" = {
       name = "diff-sequences";
       packageName = "diff-sequences";
@@ -3291,22 +2578,13 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
-    "electron-to-chromium-1.4.65" = {
+    "electron-to-chromium-1.4.118" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.65";
+      version = "1.4.118";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.65.tgz";
-        sha512 = "0/d8Skk8sW3FxXP0Dd6MnBlrwx7Qo9cqQec3BlIAlvKnrmS3pHsIbaroEi+nd0kZkGpQ6apMEre7xndzjlEnLw==";
-      };
-    };
-    "electron-to-chromium-1.4.95" = {
-      name = "electron-to-chromium";
-      packageName = "electron-to-chromium";
-      version = "1.4.95";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.95.tgz";
-        sha512 = "h2VAMV/hPtmAeiDkwA8c5sjS+cWt6GlQL4ERdrOUWu7cRIG5IRk9uwR9f0utP+hPJ9ZZsADTq9HpbuT46eBYAg==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.118.tgz";
+        sha512 = "maZIKjnYDvF7Fs35nvVcyr44UcKNwybr93Oba2n3HkKDFAtk0svERkLN/HyczJDS3Fo4wU9th9fUQd09ZLtj1w==";
       };
     };
     "emittery-0.8.1" = {
@@ -3417,22 +2695,13 @@ let
         sha512 = "mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==";
       };
     };
-    "eslint-8.12.0" = {
-      name = "eslint";
-      packageName = "eslint";
-      version = "8.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz";
-        sha512 = "it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==";
-      };
-    };
-    "eslint-8.8.0" = {
+    "eslint-8.14.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "8.8.0";
+      version = "8.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz";
-        sha512 = "H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz";
+        sha512 = "3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==";
       };
     };
     "eslint-config-google-0.14.0" = {
@@ -3444,23 +2713,13 @@ let
         sha512 = "WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==";
       };
     };
-    "eslint-https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz" = {
-      name = "eslint";
-      packageName = "eslint";
-      version = 1;
-      src = fetchurl {
-        name = "eslint-1.tar.gz";
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz";
-        sha512 = "H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==";
-      };
-    };
-    "eslint-plugin-jest-26.1.3" = {
+    "eslint-plugin-jest-26.1.5" = {
       name = "eslint-plugin-jest";
       packageName = "eslint-plugin-jest";
-      version = "26.1.3";
+      version = "26.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.3.tgz";
-        sha512 = "Pju+T7MFpo5VFhFlwrkK/9jRUu18r2iugvgyrWOnnGRaVTFFmFXp+xFJpHyqmjjLmGJPKLeEFLVTAxezkApcpQ==";
+        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.5.tgz";
+        sha512 = "su89aDuljL9bTjEufTXmKUMSFe2kZUL9bi7+woq+C2ukHZordhtfPm4Vg+tdioHBaKf8v3/FXW9uV0ksqhYGFw==";
       };
     };
     "eslint-scope-5.1.1" = {
@@ -3472,15 +2731,6 @@ let
         sha512 = "2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==";
       };
     };
-    "eslint-scope-7.1.0" = {
-      name = "eslint-scope";
-      packageName = "eslint-scope";
-      version = "7.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz";
-        sha512 = "aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==";
-      };
-    };
     "eslint-scope-7.1.1" = {
       name = "eslint-scope";
       packageName = "eslint-scope";
@@ -3508,15 +2758,6 @@ let
         sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
       };
     };
-    "eslint-visitor-keys-3.2.0" = {
-      name = "eslint-visitor-keys";
-      packageName = "eslint-visitor-keys";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz";
-        sha512 = "IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==";
-      };
-    };
     "eslint-visitor-keys-3.3.0" = {
       name = "eslint-visitor-keys";
       packageName = "eslint-visitor-keys";
@@ -3526,15 +2767,6 @@ let
         sha512 = "mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==";
       };
     };
-    "espree-9.3.0" = {
-      name = "espree";
-      packageName = "espree";
-      version = "9.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz";
-        sha512 = "d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==";
-      };
-    };
     "espree-9.3.1" = {
       name = "espree";
       packageName = "espree";
@@ -3634,15 +2866,6 @@ let
         sha512 = "XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==";
       };
     };
-    "expect-27.5.0" = {
-      name = "expect";
-      packageName = "expect";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/expect/-/expect-27.5.0.tgz";
-        sha512 = "z73GZ132cBqrapO0X6BeRjyBXqOt9YeRtnDteHJIQqp5s2pZ41Hz23VUbsVFMfkrsFLU9GwoIRS0ZzLuFK8M5w==";
-      };
-    };
     "expect-27.5.1" = {
       name = "expect";
       packageName = "expect";
@@ -3706,13 +2929,13 @@ let
         sha512 = "DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==";
       };
     };
-    "fecha-4.2.1" = {
+    "fecha-4.2.3" = {
       name = "fecha";
       packageName = "fecha";
-      version = "4.2.1";
+      version = "4.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz";
-        sha512 = "MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==";
+        url = "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz";
+        sha512 = "OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==";
       };
     };
     "file-entry-cache-6.0.1" = {
@@ -3814,6 +3037,15 @@ let
         sha512 = "RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==";
       };
     };
+    "form-data-4.0.0" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz";
+        sha512 = "ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==";
+      };
+    };
     "fresh-0.5.2" = {
       name = "fresh";
       packageName = "fresh";
@@ -3832,15 +3064,6 @@ let
         sha512 = "y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==";
       };
     };
-    "fs-readdir-recursive-1.1.0" = {
-      name = "fs-readdir-recursive";
-      packageName = "fs-readdir-recursive";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz";
-        sha512 = "GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==";
-      };
-    };
     "fs.realpath-1.0.0" = {
       name = "fs.realpath";
       packageName = "fs.realpath";
@@ -3985,15 +3208,6 @@ let
         sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     };
-    "globals-13.12.1" = {
-      name = "globals";
-      packageName = "globals";
-      version = "13.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz";
-        sha512 = "317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==";
-      };
-    };
     "globals-13.13.0" = {
       name = "globals";
       packageName = "globals";
@@ -4021,22 +3235,13 @@ let
         sha1 = "769b5984a96f6066ab9ea758224825ee6c210f0b";
       };
     };
-    "graceful-fs-4.2.9" = {
+    "graceful-fs-4.2.10" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz";
-        sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
-      };
-    };
-    "handlebars-4.7.7" = {
-      name = "handlebars";
-      packageName = "handlebars";
-      version = "4.7.7";
+      version = "4.2.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz";
-        sha512 = "aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz";
+        sha512 = "9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==";
       };
     };
     "has-1.0.3" = {
@@ -4066,13 +3271,13 @@ let
         sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
       };
     };
-    "has-symbols-1.0.2" = {
-      name = "has-symbols";
-      packageName = "has-symbols";
-      version = "1.0.2";
+    "has-property-descriptors-1.0.0" = {
+      name = "has-property-descriptors";
+      packageName = "has-property-descriptors";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz";
-        sha512 = "chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==";
+        url = "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz";
+        sha512 = "62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==";
       };
     };
     "has-symbols-1.0.3" = {
@@ -4138,13 +3343,13 @@ let
         sha512 = "k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==";
       };
     };
-    "https-proxy-agent-5.0.0" = {
+    "https-proxy-agent-5.0.1" = {
       name = "https-proxy-agent";
       packageName = "https-proxy-agent";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz";
-        sha512 = "EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==";
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz";
+        sha512 = "dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==";
       };
     };
     "human-signals-2.1.0" = {
@@ -4183,15 +3388,6 @@ let
         sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
       };
     };
-    "ignore-4.0.6" = {
-      name = "ignore";
-      packageName = "ignore";
-      version = "4.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz";
-        sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
-      };
-    };
     "ignore-5.2.0" = {
       name = "ignore";
       packageName = "ignore";
@@ -4273,22 +3469,13 @@ let
         sha512 = "eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==";
       };
     };
-    "is-binary-path-2.1.0" = {
-      name = "is-binary-path";
-      packageName = "is-binary-path";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz";
-        sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
-      };
-    };
-    "is-core-module-2.8.1" = {
+    "is-core-module-2.9.0" = {
       name = "is-core-module";
       packageName = "is-core-module";
-      version = "2.8.1";
+      version = "2.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz";
-        sha512 = "SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==";
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz";
+        sha512 = "+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==";
       };
     };
     "is-extglob-2.1.1" = {
@@ -4399,13 +3586,13 @@ let
         sha512 = "eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==";
       };
     };
-    "istanbul-lib-instrument-5.1.0" = {
+    "istanbul-lib-instrument-5.2.0" = {
       name = "istanbul-lib-instrument";
       packageName = "istanbul-lib-instrument";
-      version = "5.1.0";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz";
-        sha512 = "czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==";
+        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz";
+        sha512 = "6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==";
       };
     };
     "istanbul-lib-report-3.0.0" = {
@@ -4435,15 +3622,6 @@ let
         sha512 = "r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==";
       };
     };
-    "jest-27.5.0" = {
-      name = "jest";
-      packageName = "jest";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest/-/jest-27.5.0.tgz";
-        sha512 = "sCMZhL9zy0fiFc4H0cKlXq7BcghMSxm5ZnEyaPWTteArU5ix6JjOKyOXSUBGLTQCmt5kuX9zEvQ9BSshHOPB3A==";
-      };
-    };
     "jest-27.5.1" = {
       name = "jest";
       packageName = "jest";
@@ -4453,15 +3631,6 @@ let
         sha512 = "Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==";
       };
     };
-    "jest-changed-files-27.5.0" = {
-      name = "jest-changed-files";
-      packageName = "jest-changed-files";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.0.tgz";
-        sha512 = "BGWKI7E6ORqbF5usF1oA4ftbkhVZVrXr8jB0/BrU6TAn3kfOVwX2Zx6pKIXYutJ+qNEjT8Da/gGak0ajya/StA==";
-      };
-    };
     "jest-changed-files-27.5.1" = {
       name = "jest-changed-files";
       packageName = "jest-changed-files";
@@ -4471,15 +3640,6 @@ let
         sha512 = "buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==";
       };
     };
-    "jest-circus-27.5.0" = {
-      name = "jest-circus";
-      packageName = "jest-circus";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.0.tgz";
-        sha512 = "+NPd1OxpAHYKjbW8dgL0huFgmtZRKSUKee/UtRgZJEfAxCeA12d7sp0coh5EGDBpW4fCk1Pcia/2dG+j6BQvdw==";
-      };
-    };
     "jest-circus-27.5.1" = {
       name = "jest-circus";
       packageName = "jest-circus";
@@ -4489,15 +3649,6 @@ let
         sha512 = "D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==";
       };
     };
-    "jest-cli-27.5.0" = {
-      name = "jest-cli";
-      packageName = "jest-cli";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.0.tgz";
-        sha512 = "9ANs79Goz1ULKtG7HDm/F//4E69v8EFOLXRIHmeC/eK1xTUeQGlU6XP0Zwst386sKaKB4O60qhWY/UaTBS2MLA==";
-      };
-    };
     "jest-cli-27.5.1" = {
       name = "jest-cli";
       packageName = "jest-cli";
@@ -4507,15 +3658,6 @@ let
         sha512 = "Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==";
       };
     };
-    "jest-config-27.5.0" = {
-      name = "jest-config";
-      packageName = "jest-config";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-config/-/jest-config-27.5.0.tgz";
-        sha512 = "eOIpvpXFz5WHuIYZN1QmvBLEjsSk3w+IAC/2jBpZClbprF53Bj9meBMgAbE15DSkaaJBDFmhXXd1L2eCLaWxQw==";
-      };
-    };
     "jest-config-27.5.1" = {
       name = "jest-config";
       packageName = "jest-config";
@@ -4525,15 +3667,6 @@ let
         sha512 = "5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==";
       };
     };
-    "jest-diff-27.5.0" = {
-      name = "jest-diff";
-      packageName = "jest-diff";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.0.tgz";
-        sha512 = "zztvHDCq/QcAVv+o6rts0reupSOxyrX+KLQEOMWCW2trZgcBFgp/oTK7hJCGpXvEIqKrQzyQlaPKn9W04+IMQg==";
-      };
-    };
     "jest-diff-27.5.1" = {
       name = "jest-diff";
       packageName = "jest-diff";
@@ -4543,15 +3676,6 @@ let
         sha512 = "m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==";
       };
     };
-    "jest-docblock-27.5.0" = {
-      name = "jest-docblock";
-      packageName = "jest-docblock";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.0.tgz";
-        sha512 = "U4MtJgdZn2x+jpPzd7NAYvDmgJAA5h9QxVAwsyuH7IymGzY8VGHhAkHcIGOmtmdC61ORLxCbEhj6fCJsaCWzXA==";
-      };
-    };
     "jest-docblock-27.5.1" = {
       name = "jest-docblock";
       packageName = "jest-docblock";
@@ -4561,15 +3685,6 @@ let
         sha512 = "rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==";
       };
     };
-    "jest-each-27.5.0" = {
-      name = "jest-each";
-      packageName = "jest-each";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-each/-/jest-each-27.5.0.tgz";
-        sha512 = "2vpajSdDMZmAxjSP1f4BG9KKduwHtuaI0w66oqLUkfaGUU7Ix/W+d8BW0h3/QEJiew7hR0GSblqdFwTEEbhBdw==";
-      };
-    };
     "jest-each-27.5.1" = {
       name = "jest-each";
       packageName = "jest-each";
@@ -4579,15 +3694,6 @@ let
         sha512 = "1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==";
       };
     };
-    "jest-environment-jsdom-27.5.0" = {
-      name = "jest-environment-jsdom";
-      packageName = "jest-environment-jsdom";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.0.tgz";
-        sha512 = "sX49N8rjp6HSHeGpNgLk6mtHRd1IPAnE/u7wLQkb6Tz/1E08Q++Y8Zk/IbpVdcFywbzH1icFqEuDuHJ6o+uXXg==";
-      };
-    };
     "jest-environment-jsdom-27.5.1" = {
       name = "jest-environment-jsdom";
       packageName = "jest-environment-jsdom";
@@ -4597,15 +3703,6 @@ let
         sha512 = "TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==";
       };
     };
-    "jest-environment-node-27.5.0" = {
-      name = "jest-environment-node";
-      packageName = "jest-environment-node";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.0.tgz";
-        sha512 = "7UzisMMfGyrURhS/eUa7p7mgaqN3ajHylsjOgfcn0caNeYRZq4LHKZLfAxrPM34DWLnBZcRupEJlpQsizdSUsw==";
-      };
-    };
     "jest-environment-node-27.5.1" = {
       name = "jest-environment-node";
       packageName = "jest-environment-node";
@@ -4615,15 +3712,6 @@ let
         sha512 = "Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==";
       };
     };
-    "jest-get-type-27.5.0" = {
-      name = "jest-get-type";
-      packageName = "jest-get-type";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.0.tgz";
-        sha512 = "Vp6O8a52M/dahXRG/E0EJuWQROps2mDQ0sJYPgO8HskhdLwj9ajgngy2OAqZgV6e/RcU67WUHq6TgfvJb8flbA==";
-      };
-    };
     "jest-get-type-27.5.1" = {
       name = "jest-get-type";
       packageName = "jest-get-type";
@@ -4633,15 +3721,6 @@ let
         sha512 = "2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==";
       };
     };
-    "jest-haste-map-27.5.0" = {
-      name = "jest-haste-map";
-      packageName = "jest-haste-map";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.0.tgz";
-        sha512 = "0KfckSBEKV+D6e0toXmIj4zzp72EiBnvkC0L+xYxenkLhAdkp2/8tye4AgMzz7Fqb1r8SWtz7+s1UQLrxMBang==";
-      };
-    };
     "jest-haste-map-27.5.1" = {
       name = "jest-haste-map";
       packageName = "jest-haste-map";
@@ -4651,25 +3730,6 @@ let
         sha512 = "7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==";
       };
     };
-    "jest-https://registry.npmjs.org/jest/-/jest-27.5.0.tgz" = {
-      name = "jest";
-      packageName = "jest";
-      version = 1;
-      src = fetchurl {
-        name = "jest-1.tar.gz";
-        url = "https://registry.npmjs.org/jest/-/jest-27.5.0.tgz";
-        sha512 = "sCMZhL9zy0fiFc4H0cKlXq7BcghMSxm5ZnEyaPWTteArU5ix6JjOKyOXSUBGLTQCmt5kuX9zEvQ9BSshHOPB3A==";
-      };
-    };
-    "jest-jasmine2-27.5.0" = {
-      name = "jest-jasmine2";
-      packageName = "jest-jasmine2";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.0.tgz";
-        sha512 = "X7sT3HLNjjrBEepilxzPyNhNdyunaFBepo1L3T/fvYb9tb8Wb8qY576gwIa+SZcqYUqAA7/bT3EpZI4lAp0Qew==";
-      };
-    };
     "jest-jasmine2-27.5.1" = {
       name = "jest-jasmine2";
       packageName = "jest-jasmine2";
@@ -4679,15 +3739,6 @@ let
         sha512 = "jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==";
       };
     };
-    "jest-leak-detector-27.5.0" = {
-      name = "jest-leak-detector";
-      packageName = "jest-leak-detector";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.0.tgz";
-        sha512 = "Ak3k+DD3ao5d4/zzJrxAQ5UV5wiCrp47jH94ZD4/vXSzQgE6WBVDfg83VtculLILO7Y6/Q/7yzKSrtN9Na8luA==";
-      };
-    };
     "jest-leak-detector-27.5.1" = {
       name = "jest-leak-detector";
       packageName = "jest-leak-detector";
@@ -4697,15 +3748,6 @@ let
         sha512 = "POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==";
       };
     };
-    "jest-matcher-utils-27.5.0" = {
-      name = "jest-matcher-utils";
-      packageName = "jest-matcher-utils";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.0.tgz";
-        sha512 = "5ruyzWMGb1ilCWD6ECwNdOhQBeIXAjHmHd5c3uO6quR7RIMHPRP2ucOaejz2j+0R0Ko4GanWM6SqXAeF8nYN5g==";
-      };
-    };
     "jest-matcher-utils-27.5.1" = {
       name = "jest-matcher-utils";
       packageName = "jest-matcher-utils";
@@ -4715,15 +3757,6 @@ let
         sha512 = "z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==";
       };
     };
-    "jest-message-util-27.5.0" = {
-      name = "jest-message-util";
-      packageName = "jest-message-util";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.0.tgz";
-        sha512 = "lfbWRhTtmZMEHPAtl0SrvNzK1F4UnVNMHOliRQT2BJ4sBFzIb0gBCHA4ebWD4o6l1fUyvDPxM01K9OIMQTAdQw==";
-      };
-    };
     "jest-message-util-27.5.1" = {
       name = "jest-message-util";
       packageName = "jest-message-util";
@@ -4733,15 +3766,6 @@ let
         sha512 = "rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==";
       };
     };
-    "jest-mock-27.5.0" = {
-      name = "jest-mock";
-      packageName = "jest-mock";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.0.tgz";
-        sha512 = "PHluG6MJGng82/sxh8OiB9fnxzNn3cazceSHCAmAKs4g5rMhc3EZCrJXv+4w61rA2WGagMUj7QLLrA1SRlFpzQ==";
-      };
-    };
     "jest-mock-27.5.1" = {
       name = "jest-mock";
       packageName = "jest-mock";
@@ -4760,15 +3784,6 @@ let
         sha512 = "olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==";
       };
     };
-    "jest-regex-util-27.5.0" = {
-      name = "jest-regex-util";
-      packageName = "jest-regex-util";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.0.tgz";
-        sha512 = "e9LqSd6HsDsqd7KS3rNyYwmQAaG9jq4U3LbnwVxN/y3nNlDzm2OFs596uo9zrUY+AV1opXq6ome78tRDUCRWfA==";
-      };
-    };
     "jest-regex-util-27.5.1" = {
       name = "jest-regex-util";
       packageName = "jest-regex-util";
@@ -4778,15 +3793,6 @@ let
         sha512 = "4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==";
       };
     };
-    "jest-resolve-27.5.0" = {
-      name = "jest-resolve";
-      packageName = "jest-resolve";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.0.tgz";
-        sha512 = "PkDpYEGV/nFqThnIrlPtj8oTxyAV3iuuS6or7dZYyUWaHr/tyyVb5qfBmZS6FEr7ozBHgjrF1bgcgIefnlicbw==";
-      };
-    };
     "jest-resolve-27.5.1" = {
       name = "jest-resolve";
       packageName = "jest-resolve";
@@ -4796,15 +3802,6 @@ let
         sha512 = "FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==";
       };
     };
-    "jest-resolve-dependencies-27.5.0" = {
-      name = "jest-resolve-dependencies";
-      packageName = "jest-resolve-dependencies";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.0.tgz";
-        sha512 = "xQsy7CmrT4CJxdNUEdzZU2M/v6YmtQ/pkJM+sx7TA1siG1zfsZuo78PZvzglwRMQFr88f3Su4Om8OEBAic+SMw==";
-      };
-    };
     "jest-resolve-dependencies-27.5.1" = {
       name = "jest-resolve-dependencies";
       packageName = "jest-resolve-dependencies";
@@ -4814,15 +3811,6 @@ let
         sha512 = "QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==";
       };
     };
-    "jest-runner-27.5.0" = {
-      name = "jest-runner";
-      packageName = "jest-runner";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.0.tgz";
-        sha512 = "RMzXhkJLLOKKgUPY2trpyVBijaFmswMtgoCCBk2PQVRHC6yo1vLd1/jmFP39s5OXXnt7rntuzKSYvxl+QUibqQ==";
-      };
-    };
     "jest-runner-27.5.1" = {
       name = "jest-runner";
       packageName = "jest-runner";
@@ -4832,15 +3820,6 @@ let
         sha512 = "g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==";
       };
     };
-    "jest-runtime-27.5.0" = {
-      name = "jest-runtime";
-      packageName = "jest-runtime";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.0.tgz";
-        sha512 = "T7APxCPjN3p3ePcLuypbWtD0UZHyAdvIADZ9ABI/sFZ9t/Rf2xIUd6D7RzZIX+unewJRooVGWrgDIgeUuj0OUA==";
-      };
-    };
     "jest-runtime-27.5.1" = {
       name = "jest-runtime";
       packageName = "jest-runtime";
@@ -4850,15 +3829,6 @@ let
         sha512 = "o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==";
       };
     };
-    "jest-serializer-27.5.0" = {
-      name = "jest-serializer";
-      packageName = "jest-serializer";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.0.tgz";
-        sha512 = "aSDFqQlVXtBH+Zb5dl9mCvTSFkabixk/9P9cpngL4yJKpmEi9USxfDhONFMzJrtftPvZw3PcltUVmtFZTB93rg==";
-      };
-    };
     "jest-serializer-27.5.1" = {
       name = "jest-serializer";
       packageName = "jest-serializer";
@@ -4868,15 +3838,6 @@ let
         sha512 = "jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==";
       };
     };
-    "jest-snapshot-27.5.0" = {
-      name = "jest-snapshot";
-      packageName = "jest-snapshot";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.0.tgz";
-        sha512 = "cAJj15uqWGkro0bfcv/EgusBnqNgCpRruFQZghsMYTq4Fm2lk/VhAf8DgRr8wvhR6Ue1hkeL8tn70Cw4t8x/5A==";
-      };
-    };
     "jest-snapshot-27.5.1" = {
       name = "jest-snapshot";
       packageName = "jest-snapshot";
@@ -4886,15 +3847,6 @@ let
         sha512 = "yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==";
       };
     };
-    "jest-util-27.5.0" = {
-      name = "jest-util";
-      packageName = "jest-util";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-util/-/jest-util-27.5.0.tgz";
-        sha512 = "FUUqOx0gAzJy3ytatT1Ss372M1kmhczn8x7aE0++11oPGW1FyD/5NjYBI8w1KOXFm6IVjtaZm2szfJJL+CHs0g==";
-      };
-    };
     "jest-util-27.5.1" = {
       name = "jest-util";
       packageName = "jest-util";
@@ -4904,15 +3856,6 @@ let
         sha512 = "Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==";
       };
     };
-    "jest-validate-27.5.0" = {
-      name = "jest-validate";
-      packageName = "jest-validate";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.0.tgz";
-        sha512 = "2XZzQWNrY9Ypo11mm4ZeVjvr++CQG/45XnmA2aWwx155lTwy1JGFI8LpQ2dBCSAeO21ooqg/FCIvv9WwfnPClA==";
-      };
-    };
     "jest-validate-27.5.1" = {
       name = "jest-validate";
       packageName = "jest-validate";
@@ -4922,15 +3865,6 @@ let
         sha512 = "thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==";
       };
     };
-    "jest-watcher-27.5.0" = {
-      name = "jest-watcher";
-      packageName = "jest-watcher";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.0.tgz";
-        sha512 = "MhIeIvEd6dnnspE0OfYrqHOAfZZdyFqx/k8U2nvVFSkLYf22qAFfyNWPVQYcwqKVNobcOhJoT0kV/nRHGbqK8A==";
-      };
-    };
     "jest-watcher-27.5.1" = {
       name = "jest-watcher";
       packageName = "jest-watcher";
@@ -4940,15 +3874,6 @@ let
         sha512 = "z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==";
       };
     };
-    "jest-worker-27.5.0" = {
-      name = "jest-worker";
-      packageName = "jest-worker";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.0.tgz";
-        sha512 = "8OEHiPNOPTfaWnJ2SUHM8fmgeGq37uuGsQBvGKQJl1f+6WIy6g7G3fE2ruI5294bUKUI9FaCWt5hDvO8HSwsSg==";
-      };
-    };
     "jest-worker-27.5.1" = {
       name = "jest-worker";
       packageName = "jest-worker";
@@ -5057,15 +3982,6 @@ let
         sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
       };
     };
-    "json5-2.2.0" = {
-      name = "json5";
-      packageName = "json5";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz";
-        sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
-      };
-    };
     "json5-2.2.1" = {
       name = "json5";
       packageName = "json5";
@@ -5075,15 +3991,6 @@ let
         sha512 = "1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==";
       };
     };
-    "jsonc-parser-3.0.0" = {
-      name = "jsonc-parser";
-      packageName = "jsonc-parser";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz";
-        sha512 = "fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==";
-      };
-    };
     "kleur-3.0.3" = {
       name = "kleur";
       packageName = "kleur";
@@ -5201,24 +4108,6 @@ let
         sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
       };
     };
-    "lunr-2.3.9" = {
-      name = "lunr";
-      packageName = "lunr";
-      version = "2.3.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz";
-        sha512 = "zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==";
-      };
-    };
-    "make-dir-2.1.0" = {
-      name = "make-dir";
-      packageName = "make-dir";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz";
-        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
-      };
-    };
     "make-dir-3.1.0" = {
       name = "make-dir";
       packageName = "make-dir";
@@ -5237,15 +4126,6 @@ let
         sha512 = "JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==";
       };
     };
-    "marked-4.0.12" = {
-      name = "marked";
-      packageName = "marked";
-      version = "4.0.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz";
-        sha512 = "hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==";
-      };
-    };
     "merge-stream-2.0.0" = {
       name = "merge-stream";
       packageName = "merge-stream";
@@ -5264,15 +4144,6 @@ let
         sha512 = "8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==";
       };
     };
-    "micromatch-4.0.4" = {
-      name = "micromatch";
-      packageName = "micromatch";
-      version = "4.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz";
-        sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
-      };
-    };
     "micromatch-4.0.5" = {
       name = "micromatch";
       packageName = "micromatch";
@@ -5291,15 +4162,6 @@ let
         sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
-    "mime-db-1.51.0" = {
-      name = "mime-db";
-      packageName = "mime-db";
-      version = "1.51.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz";
-        sha512 = "5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==";
-      };
-    };
     "mime-db-1.52.0" = {
       name = "mime-db";
       packageName = "mime-db";
@@ -5309,15 +4171,6 @@ let
         sha512 = "sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==";
       };
     };
-    "mime-types-2.1.34" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "2.1.34";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz";
-        sha512 = "6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==";
-      };
-    };
     "mime-types-2.1.35" = {
       name = "mime-types";
       packageName = "mime-types";
@@ -5345,15 +4198,6 @@ let
         sha512 = "z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==";
       };
     };
-    "minimatch-3.0.4" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
-        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
-      };
-    };
     "minimatch-3.1.2" = {
       name = "minimatch";
       packageName = "minimatch";
@@ -5363,15 +4207,6 @@ let
         sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
       };
     };
-    "minimist-1.2.5" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "1.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
-        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
-      };
-    };
     "minimist-1.2.6" = {
       name = "minimist";
       packageName = "minimist";
@@ -5408,13 +4243,13 @@ let
         sha512 = "gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==";
       };
     };
-    "moment-2.29.1" = {
+    "moment-2.29.3" = {
       name = "moment";
       packageName = "moment";
-      version = "2.29.1";
+      version = "2.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz";
-        sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
+        url = "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz";
+        sha512 = "c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==";
       };
     };
     "mqtt-4.3.7" = {
@@ -5498,22 +4333,13 @@ let
         sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
       };
     };
-    "neo-async-2.6.2" = {
-      name = "neo-async";
-      packageName = "neo-async";
-      version = "2.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz";
-        sha512 = "Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==";
-      };
-    };
-    "node-abi-3.8.0" = {
+    "node-abi-3.15.0" = {
       name = "node-abi";
       packageName = "node-abi";
-      version = "3.8.0";
+      version = "3.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.8.0.tgz";
-        sha512 = "tzua9qWWi7iW4I42vUPKM+SfaF0vQSLAm4yO5J83mSwB7GeoWrDKC/K+8YCnYNwqP5duwazbw2X9l4m8SC2cUw==";
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.15.0.tgz";
+        sha512 = "Ic6z/j6I9RLm4ov7npo1I48UQr2BEyFCqh6p7S1dhEx9jPO0GPGq/e2Rb7x7DroQrmiVMz/Bw1vJm9sPAl2nxA==";
       };
     };
     "node-int64-0.4.0" = {
@@ -5525,22 +4351,13 @@ let
         sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
       };
     };
-    "node-releases-2.0.1" = {
+    "node-releases-2.0.3" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz";
-        sha512 = "CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==";
-      };
-    };
-    "node-releases-2.0.2" = {
-      name = "node-releases";
-      packageName = "node-releases";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz";
-        sha512 = "XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz";
+        sha512 = "maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==";
       };
     };
     "normalize-path-3.0.0" = {
@@ -5813,15 +4630,6 @@ let
         sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
       };
     };
-    "pify-4.0.1" = {
-      name = "pify";
-      packageName = "pify";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz";
-        sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
-      };
-    };
     "pirates-4.0.5" = {
       name = "pirates";
       packageName = "pirates";
@@ -5840,13 +4648,13 @@ let
         sha512 = "HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==";
       };
     };
-    "prebuild-install-7.0.1" = {
+    "prebuild-install-7.1.0" = {
       name = "prebuild-install";
       packageName = "prebuild-install";
-      version = "7.0.1";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz";
-        sha512 = "QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==";
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.0.tgz";
+        sha512 = "CNcMgI1xBypOyGqjp3wOc8AAo1nMhZS3Cwd3iHIxOdAUbb+YxdNuM4Z5iIrZ8RLvOsf3F3bl7b7xGq6DjQoNYA==";
       };
     };
     "prelude-ls-1.1.2" = {
@@ -5867,15 +4675,6 @@ let
         sha512 = "vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==";
       };
     };
-    "pretty-format-27.5.0" = {
-      name = "pretty-format";
-      packageName = "pretty-format";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.0.tgz";
-        sha512 = "xEi6BRPZ+J1AIS4BAtFC/+rh5jXlXObGZjx5+OSpM95vR/PGla78bFVHMy5GdZjP9wk3AHAMHROXq/r69zXltw==";
-      };
-    };
     "pretty-format-27.5.1" = {
       name = "pretty-format";
       packageName = "pretty-format";
@@ -5984,15 +4783,6 @@ let
         sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
       };
     };
-    "readdirp-3.6.0" = {
-      name = "readdirp";
-      packageName = "readdirp";
-      version = "3.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz";
-        sha512 = "hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==";
-      };
-    };
     "regenerate-1.4.2" = {
       name = "regenerate";
       packageName = "regenerate";
@@ -6020,13 +4810,13 @@ let
         sha512 = "p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==";
       };
     };
-    "regenerator-transform-0.14.5" = {
+    "regenerator-transform-0.15.0" = {
       name = "regenerator-transform";
       packageName = "regenerator-transform";
-      version = "0.14.5";
+      version = "0.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz";
-        sha512 = "eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==";
+        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz";
+        sha512 = "LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==";
       };
     };
     "regexpp-3.2.0" = {
@@ -6218,15 +5008,6 @@ let
         sha512 = "5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==";
       };
     };
-    "semver-5.7.1" = {
-      name = "semver";
-      packageName = "semver";
-      version = "5.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
-        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
-      };
-    };
     "semver-6.3.0" = {
       name = "semver";
       packageName = "semver";
@@ -6245,13 +5026,13 @@ let
         sha512 = "+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==";
       };
     };
-    "semver-7.3.5" = {
+    "semver-7.3.7" = {
       name = "semver";
       packageName = "semver";
-      version = "7.3.5";
+      version = "7.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz";
-        sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
+        url = "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz";
+        sha512 = "QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==";
       };
     };
     "send-0.18.0" = {
@@ -6317,15 +5098,6 @@ let
         sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
       };
     };
-    "shiki-0.10.0" = {
-      name = "shiki";
-      packageName = "shiki";
-      version = "0.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shiki/-/shiki-0.10.0.tgz";
-        sha512 = "iczxaIYeBFHTFrQPb9DVy2SKgYxC4Wo7Iucm7C17cCh2Ge/refnvHscUOxM85u57MfLoNOtjoEFUWt9gBexblA==";
-      };
-    };
     "signal-exit-3.0.7" = {
       name = "signal-exit";
       packageName = "signal-exit";
@@ -6371,15 +5143,6 @@ let
         sha512 = "bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==";
       };
     };
-    "slash-2.0.0" = {
-      name = "slash";
-      packageName = "slash";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz";
-        sha512 = "ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==";
-      };
-    };
     "slash-3.0.0" = {
       name = "slash";
       packageName = "slash";
@@ -6893,91 +5656,6 @@ let
         sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
       };
     };
-    "typedoc-0.22.11" = {
-      name = "typedoc";
-      packageName = "typedoc";
-      version = "0.22.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz";
-        sha512 = "pVr3hh6dkS3lPPaZz1fNpvcrqLdtEvXmXayN55czlamSgvEjh+57GUqfhAI1Xsuu/hNHUT1KNSx8LH2wBP/7SA==";
-      };
-    };
-    "typedoc-https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz" = {
-      name = "typedoc";
-      packageName = "typedoc";
-      version = 1;
-      src = fetchurl {
-        name = "typedoc-1.tar.gz";
-        url = "https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz";
-        sha512 = "pVr3hh6dkS3lPPaZz1fNpvcrqLdtEvXmXayN55czlamSgvEjh+57GUqfhAI1Xsuu/hNHUT1KNSx8LH2wBP/7SA==";
-      };
-    };
-    "typedoc-plugin-markdown-3.11.13" = {
-      name = "typedoc-plugin-markdown";
-      packageName = "typedoc-plugin-markdown";
-      version = "3.11.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.13.tgz";
-        sha512 = "9Y7eWWmUF5i8LMfetPlOP+kTn5L3Q71fm/AUHZhxWYoAiugbybQujhjQk4h09uY2WghPP2BldOivtTxnOwj85A==";
-      };
-    };
-    "typedoc-plugin-markdown-https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.13.tgz" = {
-      name = "typedoc-plugin-markdown";
-      packageName = "typedoc-plugin-markdown";
-      version = 1;
-      src = fetchurl {
-        name = "typedoc-plugin-markdown-1.tar.gz";
-        url = "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.13.tgz";
-        sha512 = "9Y7eWWmUF5i8LMfetPlOP+kTn5L3Q71fm/AUHZhxWYoAiugbybQujhjQk4h09uY2WghPP2BldOivtTxnOwj85A==";
-      };
-    };
-    "typedoc-plugin-no-inherit-1.3.1" = {
-      name = "typedoc-plugin-no-inherit";
-      packageName = "typedoc-plugin-no-inherit";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.3.1.tgz";
-        sha512 = "3fdPHRaIcCVV1W5gJYpZTdZL+F2VZTlUMd3Hw9xIv931ILh18CcD8IfxZtTtOijJRuKbgRLJ+J/+hVlgCbq1RQ==";
-      };
-    };
-    "typedoc-plugin-no-inherit-https://registry.npmjs.org/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.3.1.tgz" = {
-      name = "typedoc-plugin-no-inherit";
-      packageName = "typedoc-plugin-no-inherit";
-      version = 1;
-      src = fetchurl {
-        name = "typedoc-plugin-no-inherit-1.tar.gz";
-        url = "https://registry.npmjs.org/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.3.1.tgz";
-        sha512 = "3fdPHRaIcCVV1W5gJYpZTdZL+F2VZTlUMd3Hw9xIv931ILh18CcD8IfxZtTtOijJRuKbgRLJ+J/+hVlgCbq1RQ==";
-      };
-    };
-    "typedoc-plugin-sourcefile-url-1.0.6" = {
-      name = "typedoc-plugin-sourcefile-url";
-      packageName = "typedoc-plugin-sourcefile-url";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedoc-plugin-sourcefile-url/-/typedoc-plugin-sourcefile-url-1.0.6.tgz";
-        sha512 = "xHq9DzkoQywS7FyPneMm2/Hr9GRoCpjSQXkVN0W6SCJKP7fguqg2tasgh+8l5/mW6YSYvqCqEbkSYLbuD4Y6gA==";
-      };
-    };
-    "typedoc-plugin-sourcefile-url-https://registry.npmjs.org/typedoc-plugin-sourcefile-url/-/typedoc-plugin-sourcefile-url-1.0.6.tgz" = {
-      name = "typedoc-plugin-sourcefile-url";
-      packageName = "typedoc-plugin-sourcefile-url";
-      version = 1;
-      src = fetchurl {
-        name = "typedoc-plugin-sourcefile-url-1.tar.gz";
-        url = "https://registry.npmjs.org/typedoc-plugin-sourcefile-url/-/typedoc-plugin-sourcefile-url-1.0.6.tgz";
-        sha512 = "xHq9DzkoQywS7FyPneMm2/Hr9GRoCpjSQXkVN0W6SCJKP7fguqg2tasgh+8l5/mW6YSYvqCqEbkSYLbuD4Y6gA==";
-      };
-    };
-    "typescript-4.5.5" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = "4.5.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz";
-        sha512 = "TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==";
-      };
-    };
     "typescript-4.6.3" = {
       name = "typescript";
       packageName = "typescript";
@@ -6987,25 +5665,6 @@ let
         sha512 = "yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==";
       };
     };
-    "typescript-https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = 1;
-      src = fetchurl {
-        name = "typescript-1.tar.gz";
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz";
-        sha512 = "TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==";
-      };
-    };
-    "uglify-js-3.15.0" = {
-      name = "uglify-js";
-      packageName = "uglify-js";
-      version = "3.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.0.tgz";
-        sha512 = "x+xdeDWq7FiORDvyIJ0q/waWd4PhjBNOm5dQUOq2AKC0IEjxOS66Ha9tctiVDGcRQuh69K7fgU5oRuTK4cysSg==";
-      };
-    };
     "unicode-canonical-property-names-ecmascript-2.0.0" = {
       name = "unicode-canonical-property-names-ecmascript";
       packageName = "unicode-canonical-property-names-ecmascript";
@@ -7105,24 +5764,6 @@ let
         sha512 = "FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==";
       };
     };
-    "vscode-oniguruma-1.6.1" = {
-      name = "vscode-oniguruma";
-      packageName = "vscode-oniguruma";
-      version = "1.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.6.1.tgz";
-        sha512 = "vc4WhSIaVpgJ0jJIejjYxPvURJavX6QG41vu0mGhqywMkQqulezEqEQ3cO3gc8GvcOpX6ycmKGqRoROEMBNXTQ==";
-      };
-    };
-    "vscode-textmate-5.2.0" = {
-      name = "vscode-textmate";
-      packageName = "vscode-textmate";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz";
-        sha512 = "Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==";
-      };
-    };
     "w3c-hr-time-1.0.2" = {
       name = "w3c-hr-time";
       packageName = "w3c-hr-time";
@@ -7213,13 +5854,13 @@ let
         sha512 = "eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==";
       };
     };
-    "winston-3.6.0" = {
+    "winston-3.7.2" = {
       name = "winston";
       packageName = "winston";
-      version = "3.6.0";
+      version = "3.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.6.0.tgz";
-        sha512 = "9j8T75p+bcN6D00sF/zjFVmPp+t8KMPB1MzbbzYjeN9VWxdsYnTB40TkbNUEXAmILEfChMvAMgidlX64OG3p6w==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.7.2.tgz";
+        sha512 = "QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==";
       };
     };
     "winston-syslog-2.5.0" = {
@@ -7249,15 +5890,6 @@ let
         sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
       };
     };
-    "wordwrap-1.0.0" = {
-      name = "wordwrap";
-      packageName = "wordwrap";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
-        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
-      };
-    };
     "wrap-ansi-7.0.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
@@ -7285,15 +5917,6 @@ let
         sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
       };
     };
-    "ws-7.5.6" = {
-      name = "ws";
-      packageName = "ws";
-      version = "7.5.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz";
-        sha512 = "6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==";
-      };
-    };
     "ws-7.5.7" = {
       name = "ws";
       packageName = "ws";
@@ -7375,55 +5998,49 @@ let
         sha512 = "y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==";
       };
     };
-    "zigbee-herdsman-0.14.20" = {
+    "zigbee-herdsman-0.14.27" = {
       name = "zigbee-herdsman";
       packageName = "zigbee-herdsman";
-      version = "0.14.20";
+      version = "0.14.27";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.14.20.tgz";
-        sha512 = "YwvAHEfWtcCLilnoHcIpZ9DCPHSLwpy2iboC2zjJUGNQp0vUClJhjAxb6JdTnaHxrNB2FN6+b3Q6BS8QiTtg5g==";
+        url = "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.14.27.tgz";
+        sha512 = "B7Ofk4GPMwFMZS4KBvUu9IW3C7h5+9Ly6O6M2cXTeMdL2fiyZB3Tpzs7fGscevSbCpnkEOSI4xpK+MeVMwH/Og==";
       };
     };
-    "zigbee-herdsman-converters-14.0.467" = {
+    "zigbee-herdsman-converters-14.0.504" = {
       name = "zigbee-herdsman-converters";
       packageName = "zigbee-herdsman-converters";
-      version = "14.0.467";
+      version = "14.0.504";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-14.0.467.tgz";
-        sha512 = "fkOSFkKj/4q/nh2elXHcTHTvPte54Y4hrXq/BZpnkMgNuLr2lkJgZ52ChG5XyI/4wHtAJq8lgnjGubqr8xNNMQ==";
+        url = "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-14.0.504.tgz";
+        sha512 = "StMDWFt4DBhrgMvapiOqzurMBW02bIbjS1ul8EaiNBYA91cg9qUrTSmJssuZKEPTXs1I8yS7X2OGS8Kzja4z4Q==";
       };
     };
-    "zigbee2mqtt-frontend-0.6.80" = {
+    "zigbee2mqtt-frontend-0.6.83" = {
       name = "zigbee2mqtt-frontend";
       packageName = "zigbee2mqtt-frontend";
-      version = "0.6.80";
+      version = "0.6.83";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee2mqtt-frontend/-/zigbee2mqtt-frontend-0.6.80.tgz";
-        sha512 = "mDRQ35j5SuTKCsn7NvjNng7x0OK0Hv9sqxMnl0ISfoNEAD5RDpvzDiEBS6XGoymTI+PRNmaNdbczC5/DVqo5xQ==";
+        url = "https://registry.npmjs.org/zigbee2mqtt-frontend/-/zigbee2mqtt-frontend-0.6.83.tgz";
+        sha512 = "I44236qdpo/dSVpKyVV54RTCmb6BNpLXpZ414DOIBXXqIhseZhQEx7WC8UZ/ZtxxORBAd8E9LCYp5eWOb+zoNQ==";
       };
     };
   };
   args = {
     name = "zigbee2mqtt";
     packageName = "zigbee2mqtt";
-    version = "1.25.0";
+    version = "1.25.1";
     src = ./.;
     dependencies = [
       sources."@ampproject/remapping-2.1.2"
       sources."@babel/code-frame-7.16.7"
       sources."@babel/compat-data-7.17.7"
-      (sources."@babel/core-7.17.8" // {
+      (sources."@babel/core-7.17.9" // {
         dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.17.7" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."@babel/generator-7.17.9"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
       (sources."@babel/helper-compilation-targets-7.17.7" // {
@@ -7431,19 +6048,16 @@ let
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.17.6"
+      sources."@babel/helper-create-class-features-plugin-7.17.9"
       sources."@babel/helper-create-regexp-features-plugin-7.17.0"
       (sources."@babel/helper-define-polyfill-provider-0.3.1" // {
         dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
           sources."semver-6.3.0"
         ];
       })
       sources."@babel/helper-environment-visitor-7.16.7"
       sources."@babel/helper-explode-assignable-expression-7.16.7"
-      sources."@babel/helper-function-name-7.16.7"
-      sources."@babel/helper-get-function-arity-7.16.7"
+      sources."@babel/helper-function-name-7.17.9"
       sources."@babel/helper-hoist-variables-7.16.7"
       sources."@babel/helper-member-expression-to-functions-7.17.7"
       sources."@babel/helper-module-imports-7.16.7"
@@ -7458,15 +6072,15 @@ let
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
       sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.17.8"
-      sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.17.8"
+      sources."@babel/helpers-7.17.9"
+      sources."@babel/highlight-7.17.9"
+      sources."@babel/parser-7.17.9"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
       sources."@babel/plugin-proposal-class-properties-7.16.7"
       sources."@babel/plugin-proposal-class-static-block-7.17.6"
-      sources."@babel/plugin-proposal-decorators-7.17.8"
+      sources."@babel/plugin-proposal-decorators-7.17.9"
       sources."@babel/plugin-proposal-dynamic-import-7.16.7"
       sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
       sources."@babel/plugin-proposal-json-strings-7.16.7"
@@ -7512,7 +6126,7 @@ let
       sources."@babel/plugin-transform-literals-7.16.7"
       sources."@babel/plugin-transform-member-expression-literals-7.16.7"
       sources."@babel/plugin-transform-modules-amd-7.16.7"
-      sources."@babel/plugin-transform-modules-commonjs-7.17.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.17.9"
       sources."@babel/plugin-transform-modules-systemjs-7.17.8"
       sources."@babel/plugin-transform-modules-umd-7.16.7"
       sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
@@ -7520,7 +6134,7 @@ let
       sources."@babel/plugin-transform-object-super-7.16.7"
       sources."@babel/plugin-transform-parameters-7.16.7"
       sources."@babel/plugin-transform-property-literals-7.16.7"
-      sources."@babel/plugin-transform-regenerator-7.16.7"
+      sources."@babel/plugin-transform-regenerator-7.17.9"
       sources."@babel/plugin-transform-reserved-words-7.16.7"
       sources."@babel/plugin-transform-shorthand-properties-7.16.7"
       sources."@babel/plugin-transform-spread-7.16.7"
@@ -7537,33 +6151,22 @@ let
       })
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/preset-typescript-7.16.7"
-      sources."@babel/runtime-7.17.8"
+      sources."@babel/runtime-7.17.9"
       sources."@babel/template-7.16.7"
-      (sources."@babel/traverse-7.17.3" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."@babel/traverse-7.17.9"
       sources."@babel/types-7.17.0"
       sources."@bcoe/v8-coverage-0.2.3"
       sources."@colors/colors-1.5.0"
       sources."@dabh/diagnostics-2.0.3"
-      (sources."@eslint/eslintrc-1.2.1" // {
+      (sources."@eslint/eslintrc-1.2.2" // {
         dependencies = [
           sources."ajv-6.12.6"
-          sources."debug-4.3.4"
           sources."globals-13.13.0"
           sources."json-schema-traverse-0.4.1"
-          sources."ms-2.1.2"
-        ];
-      })
-      (sources."@humanwhocodes/config-array-0.9.5" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
+          sources."type-fest-0.20.2"
         ];
       })
+      sources."@humanwhocodes/config-array-0.9.5"
       sources."@humanwhocodes/object-schema-1.2.1"
       (sources."@istanbuljs/load-nyc-config-1.1.0" // {
         dependencies = [
@@ -7602,10 +6205,15 @@ let
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
+          sources."source-map-0.6.1"
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jest/source-map-27.5.1"
+      (sources."@jest/source-map-27.5.1" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
       sources."@jest/test-result-27.5.1"
       sources."@jest/test-sequencer-27.5.1"
       (sources."@jest/transform-27.5.1" // {
@@ -7615,6 +6223,7 @@ let
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
+          sources."source-map-0.6.1"
           sources."supports-color-7.2.0"
         ];
       })
@@ -7628,19 +6237,30 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/resolve-uri-3.0.6"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
+      sources."@serialport/binding-abstract-9.2.3"
+      sources."@serialport/binding-mock-9.2.4"
+      sources."@serialport/bindings-9.2.8"
+      sources."@serialport/parser-byte-length-9.2.4"
+      sources."@serialport/parser-cctalk-9.2.4"
+      sources."@serialport/parser-delimiter-9.2.4"
+      sources."@serialport/parser-inter-byte-timeout-9.2.4"
+      sources."@serialport/parser-readline-9.2.4"
+      sources."@serialport/parser-ready-9.2.4"
+      sources."@serialport/parser-regex-9.2.4"
+      sources."@serialport/stream-9.2.4"
       sources."@sinonjs/commons-1.8.3"
       sources."@sinonjs/fake-timers-8.1.0"
       sources."@tootallnate/once-1.1.2"
       sources."@types/babel__core-7.1.19"
       sources."@types/babel__generator-7.6.4"
       sources."@types/babel__template-7.4.1"
-      sources."@types/babel__traverse-7.14.2"
+      sources."@types/babel__traverse-7.17.0"
       sources."@types/debounce-1.2.1"
       sources."@types/finalhandler-1.1.1"
       sources."@types/glob-7.2.0"
@@ -7653,43 +6273,23 @@ let
       sources."@types/js-yaml-4.0.5"
       sources."@types/json-schema-7.0.11"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.23"
+      sources."@types/node-17.0.25"
       sources."@types/object-assign-deep-0.4.0"
-      sources."@types/prettier-2.4.4"
+      sources."@types/prettier-2.6.0"
       sources."@types/rimraf-3.0.2"
       sources."@types/stack-utils-2.0.1"
       sources."@types/ws-8.5.3"
       sources."@types/yargs-16.0.4"
       sources."@types/yargs-parser-21.0.0"
-      (sources."@typescript-eslint/eslint-plugin-5.16.0" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
-      (sources."@typescript-eslint/parser-5.16.0" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."@typescript-eslint/scope-manager-5.16.0"
-      (sources."@typescript-eslint/type-utils-5.16.0" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."@typescript-eslint/types-5.16.0"
-      (sources."@typescript-eslint/typescript-estree-5.16.0" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."@typescript-eslint/utils-5.16.0"
-      sources."@typescript-eslint/visitor-keys-5.16.0"
-      sources."abab-2.0.5"
+      sources."@typescript-eslint/eslint-plugin-5.20.0"
+      sources."@typescript-eslint/parser-5.20.0"
+      sources."@typescript-eslint/scope-manager-5.20.0"
+      sources."@typescript-eslint/type-utils-5.20.0"
+      sources."@typescript-eslint/types-5.20.0"
+      sources."@typescript-eslint/typescript-estree-5.20.0"
+      sources."@typescript-eslint/utils-5.20.0"
+      sources."@typescript-eslint/visitor-keys-5.20.0"
+      sources."abab-2.0.6"
       sources."acorn-8.7.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
@@ -7698,25 +6298,29 @@ let
       })
       sources."acorn-jsx-5.3.2"
       sources."acorn-walk-7.2.0"
-      (sources."agent-base-6.0.2" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."agent-base-6.0.2"
       sources."ajv-8.11.0"
-      (sources."ansi-escapes-4.3.2" // {
-        dependencies = [
-          sources."type-fest-0.21.3"
-        ];
-      })
+      sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
+      sources."any-promise-1.3.0"
       sources."anymatch-3.1.2"
+      sources."aproba-1.2.0"
+      (sources."are-we-there-yet-1.1.7" // {
+        dependencies = [
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."argparse-2.0.1"
       sources."array-union-2.1.0"
       sources."async-3.2.3"
       sources."asynckit-0.4.0"
+      (sources."axios-0.27.2" // {
+        dependencies = [
+          sources."form-data-4.0.0"
+        ];
+      })
       (sources."babel-jest-27.5.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -7750,40 +6354,50 @@ let
       sources."browserslist-4.20.2"
       sources."bser-2.1.1"
       sources."buffer-5.7.1"
+      sources."buffer-crc32-0.2.13"
       sources."buffer-from-1.1.2"
       sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001320"
+      sources."caniuse-lite-1.0.30001332"
       sources."chalk-2.4.2"
       sources."char-regex-1.0.2"
       sources."charcodes-0.2.0"
+      sources."chownr-1.1.4"
       sources."ci-info-3.3.0"
       sources."cjs-module-lexer-1.2.2"
       sources."cliui-7.0.4"
       sources."co-4.6.0"
+      sources."code-point-at-1.1.0"
       sources."collect-v8-coverage-1.0.1"
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."colorspace-1.1.4"
       sources."combined-stream-1.0.8"
-      sources."commist-1.1.0"
+      (sources."commist-1.1.0" // {
+        dependencies = [
+          sources."leven-2.1.0"
+        ];
+      })
       sources."concat-map-0.0.1"
       sources."concat-stream-2.0.0"
-      sources."connect-gzip-static-2.1.1"
-      (sources."convert-source-map-1.8.0" // {
+      (sources."connect-gzip-static-2.1.1" // {
         dependencies = [
-          sources."safe-buffer-5.1.2"
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
         ];
       })
-      sources."core-js-3.21.1"
-      (sources."core-js-compat-3.21.1" // {
+      sources."console-control-strings-1.1.0"
+      sources."convert-source-map-1.8.0"
+      sources."core-js-3.22.2"
+      (sources."core-js-compat-3.22.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
       })
+      sources."core-util-is-1.0.3"
       sources."cross-spawn-7.0.3"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
@@ -7793,16 +6407,20 @@ let
       })
       sources."data-urls-2.0.0"
       sources."debounce-1.2.1"
-      sources."debug-2.6.9"
+      sources."debug-4.3.4"
       sources."decimal.js-10.3.1"
+      sources."decompress-response-6.0.0"
       sources."dedent-0.7.0"
+      sources."deep-extend-0.6.0"
       sources."deep-is-0.1.4"
       sources."deep-object-diff-1.1.7"
       sources."deepmerge-4.2.2"
-      sources."define-properties-1.1.3"
+      sources."define-properties-1.1.4"
       sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
       sources."depd-2.0.0"
       sources."destroy-1.2.0"
+      sources."detect-libc-2.0.1"
       sources."detect-newline-3.1.0"
       sources."diff-sequences-27.5.1"
       sources."dir-glob-3.0.1"
@@ -7814,17 +6432,13 @@ let
       })
       sources."duplexify-4.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.95"
+      sources."electron-to-chromium-1.4.118"
       sources."emittery-0.8.1"
       sources."emoji-regex-8.0.0"
       sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."error-ex-1.3.2" // {
-        dependencies = [
-          sources."is-arrayish-0.2.1"
-        ];
-      })
+      sources."error-ex-1.3.2"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
@@ -7834,30 +6448,29 @@ let
           sources."levn-0.3.0"
           sources."optionator-0.8.3"
           sources."prelude-ls-1.1.2"
+          sources."source-map-0.6.1"
           sources."type-check-0.3.2"
         ];
       })
-      (sources."eslint-8.12.0" // {
+      (sources."eslint-8.14.0" // {
         dependencies = [
           sources."ajv-6.12.6"
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
-          sources."debug-4.3.4"
           sources."escape-string-regexp-4.0.0"
           sources."eslint-scope-7.1.1"
           sources."estraverse-5.3.0"
-          sources."glob-parent-6.0.2"
           sources."globals-13.13.0"
           sources."has-flag-4.0.0"
           sources."json-schema-traverse-0.4.1"
-          sources."ms-2.1.2"
           sources."supports-color-7.2.0"
+          sources."type-fest-0.20.2"
         ];
       })
       sources."eslint-config-google-0.14.0"
-      sources."eslint-plugin-jest-26.1.3"
+      sources."eslint-plugin-jest-26.1.5"
       sources."eslint-scope-5.1.1"
       (sources."eslint-utils-3.0.0" // {
         dependencies = [
@@ -7882,60 +6495,73 @@ let
       sources."etag-1.8.1"
       sources."execa-5.1.1"
       sources."exit-0.1.2"
+      sources."expand-template-2.0.3"
       sources."expect-27.5.1"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.11"
+      (sources."fast-glob-3.2.11" // {
+        dependencies = [
+          sources."glob-parent-5.1.2"
+        ];
+      })
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.13.0"
       sources."fb-watchman-2.0.1"
-      sources."fecha-4.2.1"
+      sources."fecha-4.2.3"
       sources."file-entry-cache-6.0.1"
       sources."file-uri-to-path-1.0.0"
       sources."fill-range-7.0.1"
-      sources."finalhandler-1.2.0"
+      (sources."finalhandler-1.2.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+        ];
+      })
       sources."find-0.3.0"
       sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
       sources."flatted-3.2.5"
       sources."fn.name-1.1.0"
+      sources."follow-redirects-1.14.9"
       sources."form-data-3.0.1"
       sources."fresh-0.5.2"
+      sources."fs-constants-1.0.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
+      (sources."gauge-2.7.4" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
       sources."get-package-type-0.1.0"
       sources."get-stream-6.0.1"
       sources."git-last-commit-1.0.1"
+      sources."github-from-package-0.0.0"
       sources."glob-7.2.0"
-      sources."glob-parent-5.1.2"
+      sources."glob-parent-6.0.2"
       sources."globals-11.12.0"
       sources."globby-11.1.0"
       sources."glossy-0.1.7"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
+      sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
+      sources."has-unicode-2.0.1"
       sources."help-me-3.0.0"
       sources."html-encoding-sniffer-2.0.1"
       sources."html-escaper-2.0.2"
       sources."http-errors-2.0.0"
-      (sources."http-proxy-agent-4.0.1" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
-      (sources."https-proxy-agent-5.0.0" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."http-proxy-agent-4.0.1"
+      sources."https-proxy-agent-5.0.1"
       sources."human-signals-2.1.0"
       sources."humanize-duration-3.27.1"
       sources."iconv-lite-0.4.24"
@@ -7950,8 +6576,9 @@ let
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-arrayish-0.3.2"
-      sources."is-core-module-2.8.1"
+      sources."ini-1.3.8"
+      sources."is-arrayish-0.2.1"
+      sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-generator-fn-2.1.0"
@@ -7960,9 +6587,10 @@ let
       sources."is-potential-custom-element-name-1.0.1"
       sources."is-stream-2.0.1"
       sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."istanbul-lib-coverage-3.2.0"
-      (sources."istanbul-lib-instrument-5.1.0" // {
+      (sources."istanbul-lib-instrument-5.2.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -7975,24 +6603,23 @@ let
       })
       (sources."istanbul-lib-source-maps-4.0.1" // {
         dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
+          sources."source-map-0.6.1"
         ];
       })
       sources."istanbul-reports-3.1.4"
-      (sources."jest-27.5.1" // {
+      sources."jest-27.5.1"
+      sources."jest-changed-files-27.5.1"
+      (sources."jest-circus-27.5.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
-          sources."jest-cli-27.5.1"
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-changed-files-27.5.1"
-      (sources."jest-circus-27.5.1" // {
+      (sources."jest-cli-27.5.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -8131,7 +6758,6 @@ let
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
-          sources."leven-3.1.0"
           sources."supports-color-7.2.0"
         ];
       })
@@ -8166,18 +6792,14 @@ let
       sources."json5-2.2.1"
       sources."kleur-3.0.3"
       sources."kuler-2.0.0"
-      sources."leven-2.1.0"
+      sources."leven-3.1.0"
       sources."levn-0.4.1"
       sources."lines-and-columns-1.2.4"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
       sources."lodash.debounce-4.0.8"
       sources."lodash.merge-4.6.2"
-      (sources."logform-2.4.0" // {
-        dependencies = [
-          sources."ms-2.1.3"
-        ];
-      })
+      sources."logform-2.4.0"
       sources."lru-cache-6.0.0"
       (sources."make-dir-3.1.0" // {
         dependencies = [
@@ -8192,37 +6814,34 @@ let
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
+      sources."mimic-response-3.1.0"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
+      sources."mixin-deep-2.0.1"
       sources."mkdir-recursive-0.4.0"
-      sources."moment-2.29.1"
+      sources."mkdirp-classic-0.5.3"
+      sources."moment-2.29.3"
       (sources."mqtt-4.3.7" // {
         dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
           sources."ws-7.5.7"
         ];
       })
-      (sources."mqtt-packet-6.10.0" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."ms-2.0.0"
+      sources."mqtt-packet-6.10.0"
+      sources."ms-2.1.2"
+      sources."mz-2.7.0"
       sources."nan-2.15.0"
+      sources."napi-build-utils-1.0.2"
       sources."natural-compare-1.4.0"
+      sources."node-abi-3.15.0"
       sources."node-int64-0.4.0"
-      sources."node-releases-2.0.2"
+      sources."node-releases-2.0.3"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
-      (sources."number-allocator-1.0.10" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."npmlog-4.1.2"
+      sources."number-allocator-1.0.10"
+      sources."number-is-nan-1.0.1"
       sources."nwsapi-2.2.0"
+      sources."object-assign-4.1.1"
       sources."object-assign-deep-0.4.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
@@ -8247,6 +6866,7 @@ let
       sources."picomatch-2.3.1"
       sources."pirates-4.0.5"
       sources."pkg-dir-4.2.0"
+      sources."prebuild-install-7.1.0"
       sources."prelude-ls-1.2.1"
       (sources."pretty-format-27.5.1" // {
         dependencies = [
@@ -8260,12 +6880,17 @@ let
       sources."punycode-2.1.1"
       sources."queue-microtask-1.2.3"
       sources."range-parser-1.2.1"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."strip-json-comments-2.0.1"
+        ];
+      })
       sources."react-is-17.0.2"
       sources."readable-stream-3.6.0"
       sources."regenerate-1.4.2"
       sources."regenerate-unicode-properties-10.0.1"
       sources."regenerator-runtime-0.13.9"
-      sources."regenerator-transform-0.14.5"
+      sources."regenerator-transform-0.15.0"
       sources."regexpp-3.2.0"
       sources."regexpu-core-5.0.1"
       sources."regjsgen-0.6.0"
@@ -8285,26 +6910,44 @@ let
       sources."rfdc-1.3.0"
       sources."rimraf-3.0.2"
       sources."run-parallel-1.2.0"
-      sources."safe-buffer-5.2.1"
+      sources."safe-buffer-5.1.2"
       sources."safe-stable-stringify-2.3.1"
       sources."safer-buffer-2.1.2"
       sources."saxes-5.0.1"
-      sources."semver-7.3.5"
+      sources."semver-7.3.7"
       (sources."send-0.18.0" // {
         dependencies = [
+          (sources."debug-2.6.9" // {
+            dependencies = [
+              sources."ms-2.0.0"
+            ];
+          })
           sources."ms-2.1.3"
         ];
       })
+      sources."serialport-9.2.8"
       sources."serve-static-1.15.0"
+      sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.7"
-      sources."simple-swizzle-0.2.2"
+      sources."simple-concat-1.0.1"
+      sources."simple-get-4.0.1"
+      (sources."simple-swizzle-0.2.2" // {
+        dependencies = [
+          sources."is-arrayish-0.3.2"
+        ];
+      })
       sources."sisteransi-1.0.5"
       sources."slash-3.0.0"
-      sources."source-map-0.6.1"
-      sources."source-map-support-0.5.21"
+      sources."slip-1.0.2"
+      sources."source-map-0.5.7"
+      (sources."source-map-support-0.5.21" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
       sources."split2-3.2.2"
       sources."sprintf-js-1.0.3"
       sources."stack-trace-0.0.10"
@@ -8317,7 +6960,11 @@ let
       sources."stream-shift-1.0.1"
       sources."string-length-4.0.2"
       sources."string-width-4.2.3"
-      sources."string_decoder-1.3.0"
+      (sources."string_decoder-1.3.0" // {
+        dependencies = [
+          sources."safe-buffer-5.2.1"
+        ];
+      })
       sources."strip-ansi-6.0.1"
       sources."strip-bom-4.0.0"
       sources."strip-final-newline-2.0.0"
@@ -8331,10 +6978,14 @@ let
       })
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-tree-3.2.4"
+      sources."tar-fs-2.1.1"
+      sources."tar-stream-2.2.0"
       sources."terminal-link-2.1.1"
       sources."test-exclude-6.0.0"
       sources."text-hex-1.0.0"
       sources."text-table-0.2.0"
+      sources."thenify-3.3.1"
+      sources."thenify-all-1.6.0"
       sources."throat-6.0.1"
       sources."tmp-0.2.1"
       sources."tmpl-1.0.5"
@@ -8347,9 +6998,10 @@ let
       sources."triple-beam-1.3.0"
       sources."tslib-1.14.1"
       sources."tsutils-3.21.0"
+      sources."tunnel-agent-0.6.0"
       sources."type-check-0.4.0"
       sources."type-detect-4.0.8"
-      sources."type-fest-0.20.2"
+      sources."type-fest-0.21.3"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
       sources."typescript-4.6.3"
@@ -8376,7 +7028,8 @@ let
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-8.7.0"
       sources."which-2.0.2"
-      sources."winston-3.6.0"
+      sources."wide-align-1.1.5"
+      sources."winston-3.7.2"
       sources."winston-syslog-2.5.0"
       sources."winston-transport-4.5.0"
       sources."word-wrap-1.2.3"
@@ -8397,2409 +7050,9 @@ let
       sources."yallist-4.0.0"
       sources."yargs-16.2.0"
       sources."yargs-parser-20.2.9"
-      (sources."zigbee-herdsman-0.14.20" // {
-        dependencies = [
-          sources."@ampproject/remapping-2.0.3"
-          sources."@babel/cli-7.17.0"
-          sources."@babel/code-frame-7.16.7"
-          sources."@babel/compat-data-7.17.0"
-          (sources."@babel/core-7.17.0" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          sources."@babel/generator-7.17.0"
-          sources."@babel/helper-annotate-as-pure-7.16.7"
-          sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-          (sources."@babel/helper-compilation-targets-7.16.7" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          sources."@babel/helper-create-class-features-plugin-7.17.1"
-          sources."@babel/helper-create-regexp-features-plugin-7.17.0"
-          (sources."@babel/helper-define-polyfill-provider-0.3.1" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          sources."@babel/helper-environment-visitor-7.16.7"
-          sources."@babel/helper-explode-assignable-expression-7.16.7"
-          sources."@babel/helper-function-name-7.16.7"
-          sources."@babel/helper-get-function-arity-7.16.7"
-          sources."@babel/helper-hoist-variables-7.16.7"
-          sources."@babel/helper-member-expression-to-functions-7.16.7"
-          sources."@babel/helper-module-imports-7.16.7"
-          sources."@babel/helper-module-transforms-7.16.7"
-          sources."@babel/helper-optimise-call-expression-7.16.7"
-          sources."@babel/helper-plugin-utils-7.16.7"
-          sources."@babel/helper-remap-async-to-generator-7.16.8"
-          sources."@babel/helper-replace-supers-7.16.7"
-          sources."@babel/helper-simple-access-7.16.7"
-          sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-          sources."@babel/helper-split-export-declaration-7.16.7"
-          sources."@babel/helper-validator-identifier-7.16.7"
-          sources."@babel/helper-validator-option-7.16.7"
-          sources."@babel/helper-wrap-function-7.16.8"
-          sources."@babel/helpers-7.17.0"
-          sources."@babel/highlight-7.16.10"
-          sources."@babel/parser-7.17.0"
-          sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
-          sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
-          sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
-          sources."@babel/plugin-proposal-class-properties-7.16.7"
-          sources."@babel/plugin-proposal-class-static-block-7.16.7"
-          sources."@babel/plugin-proposal-dynamic-import-7.16.7"
-          sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
-          sources."@babel/plugin-proposal-json-strings-7.16.7"
-          sources."@babel/plugin-proposal-logical-assignment-operators-7.16.7"
-          sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.7"
-          sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-          sources."@babel/plugin-proposal-object-rest-spread-7.16.7"
-          sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
-          sources."@babel/plugin-proposal-optional-chaining-7.16.7"
-          sources."@babel/plugin-proposal-private-methods-7.16.11"
-          sources."@babel/plugin-proposal-private-property-in-object-7.16.7"
-          sources."@babel/plugin-proposal-unicode-property-regex-7.16.7"
-          sources."@babel/plugin-syntax-async-generators-7.8.4"
-          sources."@babel/plugin-syntax-bigint-7.8.3"
-          sources."@babel/plugin-syntax-class-properties-7.12.13"
-          sources."@babel/plugin-syntax-class-static-block-7.14.5"
-          sources."@babel/plugin-syntax-dynamic-import-7.8.3"
-          sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-          sources."@babel/plugin-syntax-import-meta-7.10.4"
-          sources."@babel/plugin-syntax-json-strings-7.8.3"
-          sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
-          sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
-          sources."@babel/plugin-syntax-numeric-separator-7.10.4"
-          sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-          sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
-          sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-          sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
-          sources."@babel/plugin-syntax-top-level-await-7.14.5"
-          sources."@babel/plugin-syntax-typescript-7.16.7"
-          sources."@babel/plugin-transform-arrow-functions-7.16.7"
-          sources."@babel/plugin-transform-async-to-generator-7.16.8"
-          sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
-          sources."@babel/plugin-transform-block-scoping-7.16.7"
-          sources."@babel/plugin-transform-classes-7.16.7"
-          sources."@babel/plugin-transform-computed-properties-7.16.7"
-          sources."@babel/plugin-transform-destructuring-7.16.7"
-          sources."@babel/plugin-transform-dotall-regex-7.16.7"
-          sources."@babel/plugin-transform-duplicate-keys-7.16.7"
-          sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
-          sources."@babel/plugin-transform-for-of-7.16.7"
-          sources."@babel/plugin-transform-function-name-7.16.7"
-          sources."@babel/plugin-transform-literals-7.16.7"
-          sources."@babel/plugin-transform-member-expression-literals-7.16.7"
-          sources."@babel/plugin-transform-modules-amd-7.16.7"
-          sources."@babel/plugin-transform-modules-commonjs-7.16.8"
-          sources."@babel/plugin-transform-modules-systemjs-7.16.7"
-          sources."@babel/plugin-transform-modules-umd-7.16.7"
-          sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
-          sources."@babel/plugin-transform-new-target-7.16.7"
-          sources."@babel/plugin-transform-object-super-7.16.7"
-          sources."@babel/plugin-transform-parameters-7.16.7"
-          sources."@babel/plugin-transform-property-literals-7.16.7"
-          sources."@babel/plugin-transform-regenerator-7.16.7"
-          sources."@babel/plugin-transform-reserved-words-7.16.7"
-          sources."@babel/plugin-transform-shorthand-properties-7.16.7"
-          sources."@babel/plugin-transform-spread-7.16.7"
-          sources."@babel/plugin-transform-sticky-regex-7.16.7"
-          sources."@babel/plugin-transform-template-literals-7.16.7"
-          sources."@babel/plugin-transform-typeof-symbol-7.16.7"
-          sources."@babel/plugin-transform-typescript-7.16.8"
-          sources."@babel/plugin-transform-unicode-escapes-7.16.7"
-          sources."@babel/plugin-transform-unicode-regex-7.16.7"
-          (sources."@babel/preset-env-7.16.11" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          sources."@babel/preset-modules-0.1.5"
-          sources."@babel/preset-typescript-7.16.7"
-          sources."@babel/runtime-7.17.0"
-          sources."@babel/template-7.16.7"
-          sources."@babel/traverse-7.17.0"
-          sources."@babel/types-7.17.0"
-          sources."@bcoe/v8-coverage-0.2.3"
-          (sources."@eslint/eslintrc-1.0.5" // {
-            dependencies = [
-              sources."argparse-2.0.1"
-              sources."globals-13.12.1"
-              sources."ignore-4.0.6"
-              sources."js-yaml-4.1.0"
-              sources."strip-json-comments-3.1.1"
-            ];
-          })
-          sources."@humanwhocodes/config-array-0.9.3"
-          sources."@humanwhocodes/object-schema-1.2.1"
-          sources."@istanbuljs/load-nyc-config-1.1.0"
-          sources."@istanbuljs/schema-0.1.3"
-          (sources."@jest/console-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."@jest/core-27.5.0" // {
-            dependencies = [
-              sources."ansi-regex-5.0.1"
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."slash-3.0.0"
-              sources."strip-ansi-6.0.1"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."@jest/environment-27.5.0"
-          sources."@jest/fake-timers-27.5.0"
-          sources."@jest/globals-27.5.0"
-          (sources."@jest/reporters-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."slash-3.0.0"
-              sources."source-map-0.6.1"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."@jest/source-map-27.5.0" // {
-            dependencies = [
-              sources."source-map-0.6.1"
-            ];
-          })
-          sources."@jest/test-result-27.5.0"
-          sources."@jest/test-sequencer-27.5.0"
-          (sources."@jest/transform-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."slash-3.0.0"
-              sources."source-map-0.6.1"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."@jest/types-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."@jridgewell/resolve-uri-3.0.4"
-          sources."@jridgewell/sourcemap-codec-1.4.10"
-          sources."@jridgewell/trace-mapping-0.2.7"
-          sources."@nicolo-ribaudo/chokidar-2-2.1.8-no-fsevents.3"
-          sources."@nodelib/fs.scandir-2.1.5"
-          sources."@nodelib/fs.stat-2.0.5"
-          sources."@nodelib/fs.walk-1.2.8"
-          sources."@serialport/binding-abstract-9.2.3"
-          sources."@serialport/binding-mock-9.2.4"
-          sources."@serialport/bindings-9.2.8"
-          sources."@serialport/parser-byte-length-9.2.4"
-          sources."@serialport/parser-cctalk-9.2.4"
-          sources."@serialport/parser-delimiter-9.2.4"
-          sources."@serialport/parser-inter-byte-timeout-9.2.4"
-          sources."@serialport/parser-readline-9.2.4"
-          sources."@serialport/parser-ready-9.2.4"
-          sources."@serialport/parser-regex-9.2.4"
-          sources."@serialport/stream-9.2.4"
-          sources."@sinonjs/commons-1.8.3"
-          sources."@sinonjs/fake-timers-8.1.0"
-          sources."@tootallnate/once-1.1.2"
-          sources."@types/babel__core-7.1.18"
-          sources."@types/babel__generator-7.6.4"
-          sources."@types/babel__template-7.4.1"
-          sources."@types/babel__traverse-7.14.2"
-          sources."@types/debounce-1.2.1"
-          sources."@types/debug-4.1.7"
-          sources."@types/graceful-fs-4.1.5"
-          sources."@types/istanbul-lib-coverage-2.0.4"
-          sources."@types/istanbul-lib-report-3.0.0"
-          sources."@types/istanbul-reports-3.0.1"
-          sources."@types/jest-27.4.0"
-          sources."@types/json-schema-7.0.9"
-          sources."@types/ms-0.7.31"
-          sources."@types/mz-2.7.4"
-          sources."@types/nedb-1.8.12"
-          sources."@types/node-17.0.15"
-          sources."@types/prettier-2.4.3"
-          sources."@types/serialport-8.0.2"
-          sources."@types/stack-utils-2.0.1"
-          sources."@types/yargs-16.0.4"
-          sources."@types/yargs-parser-20.2.1"
-          sources."@typescript-eslint/eslint-plugin-5.10.2"
-          sources."@typescript-eslint/parser-5.10.2"
-          sources."@typescript-eslint/scope-manager-5.10.2"
-          sources."@typescript-eslint/type-utils-5.10.2"
-          sources."@typescript-eslint/types-5.10.2"
-          sources."@typescript-eslint/typescript-estree-5.10.2"
-          sources."@typescript-eslint/utils-5.10.2"
-          sources."@typescript-eslint/visitor-keys-5.10.2"
-          sources."abab-2.0.5"
-          sources."acorn-8.7.0"
-          (sources."acorn-globals-6.0.0" // {
-            dependencies = [
-              sources."acorn-7.4.1"
-            ];
-          })
-          sources."acorn-jsx-5.3.2"
-          sources."acorn-walk-7.2.0"
-          sources."agent-base-6.0.2"
-          sources."ajv-6.12.6"
-          (sources."ansi-escapes-4.3.2" // {
-            dependencies = [
-              sources."type-fest-0.21.3"
-            ];
-          })
-          sources."ansi-regex-2.1.1"
-          sources."ansi-styles-3.2.1"
-          sources."any-promise-1.3.0"
-          sources."anymatch-3.1.2"
-          sources."aproba-1.2.0"
-          sources."are-we-there-yet-1.1.7"
-          sources."argparse-1.0.10"
-          sources."array-union-2.1.0"
-          sources."asynckit-0.4.0"
-          (sources."babel-jest-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."babel-plugin-dynamic-import-node-2.3.3"
-          sources."babel-plugin-istanbul-6.1.1"
-          sources."babel-plugin-jest-hoist-27.5.0"
-          (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          sources."babel-plugin-polyfill-corejs3-0.5.2"
-          sources."babel-plugin-polyfill-regenerator-0.3.1"
-          sources."babel-preset-current-node-syntax-1.0.1"
-          sources."babel-preset-jest-27.5.0"
-          sources."balanced-match-1.0.2"
-          sources."base64-js-1.5.1"
-          sources."binary-extensions-2.2.0"
-          sources."bindings-1.5.0"
-          (sources."bl-4.1.0" // {
-            dependencies = [
-              sources."readable-stream-3.6.0"
-            ];
-          })
-          sources."brace-expansion-1.1.11"
-          sources."braces-3.0.2"
-          sources."browser-process-hrtime-1.0.0"
-          sources."browserslist-4.19.1"
-          sources."bser-2.1.1"
-          sources."buffer-5.7.1"
-          sources."buffer-from-1.1.2"
-          sources."call-bind-1.0.2"
-          sources."callsites-3.1.0"
-          sources."camelcase-5.3.1"
-          sources."caniuse-lite-1.0.30001307"
-          sources."chalk-2.4.2"
-          sources."char-regex-1.0.2"
-          sources."chokidar-3.5.3"
-          sources."chownr-1.1.4"
-          sources."ci-info-3.3.0"
-          sources."cjs-module-lexer-1.2.2"
-          (sources."cliui-7.0.4" // {
-            dependencies = [
-              sources."ansi-regex-5.0.1"
-              sources."is-fullwidth-code-point-3.0.0"
-              sources."string-width-4.2.3"
-              sources."strip-ansi-6.0.1"
-            ];
-          })
-          sources."co-4.6.0"
-          sources."code-point-at-1.1.0"
-          sources."collect-v8-coverage-1.0.1"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."combined-stream-1.0.8"
-          sources."commander-4.1.1"
-          sources."concat-map-0.0.1"
-          sources."console-control-strings-1.1.0"
-          sources."convert-source-map-1.8.0"
-          (sources."core-js-compat-3.21.0" // {
-            dependencies = [
-              sources."semver-7.0.0"
-            ];
-          })
-          sources."core-util-is-1.0.3"
-          sources."cross-spawn-7.0.3"
-          sources."cssom-0.4.4"
-          (sources."cssstyle-2.3.0" // {
-            dependencies = [
-              sources."cssom-0.3.8"
-            ];
-          })
-          sources."data-urls-2.0.0"
-          sources."debounce-1.2.1"
-          sources."debug-4.3.3"
-          sources."decimal.js-10.3.1"
-          sources."decompress-response-6.0.0"
-          sources."dedent-0.7.0"
-          sources."deep-extend-0.6.0"
-          sources."deep-is-0.1.4"
-          sources."deepmerge-4.2.2"
-          sources."define-properties-1.1.3"
-          sources."delayed-stream-1.0.0"
-          sources."delegates-1.0.0"
-          sources."detect-libc-2.0.0"
-          sources."detect-newline-3.1.0"
-          sources."diff-sequences-27.5.0"
-          sources."dir-glob-3.0.1"
-          sources."doctrine-3.0.0"
-          (sources."domexception-2.0.1" // {
-            dependencies = [
-              sources."webidl-conversions-5.0.0"
-            ];
-          })
-          sources."electron-to-chromium-1.4.65"
-          sources."emittery-0.8.1"
-          sources."emoji-regex-8.0.0"
-          sources."end-of-stream-1.4.4"
-          sources."escalade-3.1.1"
-          sources."escape-string-regexp-1.0.5"
-          (sources."escodegen-2.0.0" // {
-            dependencies = [
-              sources."estraverse-5.3.0"
-              sources."levn-0.3.0"
-              sources."optionator-0.8.3"
-              sources."prelude-ls-1.1.2"
-              sources."source-map-0.6.1"
-              sources."type-check-0.3.2"
-            ];
-          })
-          (sources."eslint-8.8.0" // {
-            dependencies = [
-              sources."ansi-regex-5.0.1"
-              sources."ansi-styles-4.3.0"
-              sources."argparse-2.0.1"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."escape-string-regexp-4.0.0"
-              sources."eslint-scope-7.1.0"
-              sources."estraverse-5.3.0"
-              sources."glob-parent-6.0.2"
-              sources."globals-13.12.1"
-              sources."has-flag-4.0.0"
-              sources."js-yaml-4.1.0"
-              sources."strip-ansi-6.0.1"
-              sources."strip-json-comments-3.1.1"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."eslint-scope-5.1.1"
-          (sources."eslint-utils-3.0.0" // {
-            dependencies = [
-              sources."eslint-visitor-keys-2.1.0"
-            ];
-          })
-          sources."eslint-visitor-keys-3.2.0"
-          sources."espree-9.3.0"
-          sources."esprima-4.0.1"
-          (sources."esquery-1.4.0" // {
-            dependencies = [
-              sources."estraverse-5.3.0"
-            ];
-          })
-          (sources."esrecurse-4.3.0" // {
-            dependencies = [
-              sources."estraverse-5.3.0"
-            ];
-          })
-          sources."estraverse-4.3.0"
-          sources."esutils-2.0.3"
-          sources."execa-5.1.1"
-          sources."exit-0.1.2"
-          sources."expand-template-2.0.3"
-          sources."expect-27.5.0"
-          sources."fast-deep-equal-3.1.3"
-          sources."fast-glob-3.2.11"
-          sources."fast-json-stable-stringify-2.1.0"
-          sources."fast-levenshtein-2.0.6"
-          sources."fastq-1.13.0"
-          sources."fb-watchman-2.0.1"
-          sources."file-entry-cache-6.0.1"
-          sources."file-uri-to-path-1.0.0"
-          sources."fill-range-7.0.1"
-          sources."find-up-4.1.0"
-          sources."flat-cache-3.0.4"
-          sources."flatted-3.2.5"
-          sources."form-data-3.0.1"
-          sources."fs-constants-1.0.0"
-          sources."fs-readdir-recursive-1.1.0"
-          sources."fs.realpath-1.0.0"
-          sources."fsevents-2.3.2"
-          sources."function-bind-1.1.1"
-          sources."functional-red-black-tree-1.0.1"
-          sources."gauge-2.7.4"
-          sources."gensync-1.0.0-beta.2"
-          sources."get-caller-file-2.0.5"
-          sources."get-intrinsic-1.1.1"
-          sources."get-package-type-0.1.0"
-          sources."get-stream-6.0.1"
-          sources."github-from-package-0.0.0"
-          sources."glob-7.2.0"
-          sources."glob-parent-5.1.2"
-          sources."globals-11.12.0"
-          (sources."globby-11.1.0" // {
-            dependencies = [
-              sources."slash-3.0.0"
-            ];
-          })
-          sources."graceful-fs-4.2.9"
-          (sources."handlebars-4.7.7" // {
-            dependencies = [
-              sources."source-map-0.6.1"
-            ];
-          })
-          sources."has-1.0.3"
-          sources."has-flag-3.0.0"
-          sources."has-symbols-1.0.2"
-          sources."has-unicode-2.0.1"
-          sources."html-encoding-sniffer-2.0.1"
-          sources."html-escaper-2.0.2"
-          sources."http-proxy-agent-4.0.1"
-          sources."https-proxy-agent-5.0.0"
-          sources."human-signals-2.1.0"
-          sources."iconv-lite-0.4.24"
-          sources."ieee754-1.2.1"
-          sources."ignore-5.2.0"
-          (sources."import-fresh-3.3.0" // {
-            dependencies = [
-              sources."resolve-from-4.0.0"
-            ];
-          })
-          sources."import-local-3.1.0"
-          sources."imurmurhash-0.1.4"
-          sources."inflight-1.0.6"
-          sources."inherits-2.0.4"
-          sources."ini-1.3.8"
-          sources."is-binary-path-2.1.0"
-          sources."is-core-module-2.8.1"
-          sources."is-extglob-2.1.1"
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."is-generator-fn-2.1.0"
-          sources."is-glob-4.0.3"
-          sources."is-number-7.0.0"
-          sources."is-potential-custom-element-name-1.0.1"
-          sources."is-stream-2.0.1"
-          sources."is-typedarray-1.0.0"
-          sources."isarray-1.0.0"
-          sources."isexe-2.0.0"
-          sources."istanbul-lib-coverage-3.2.0"
-          (sources."istanbul-lib-instrument-5.1.0" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          (sources."istanbul-lib-report-3.0.0" // {
-            dependencies = [
-              sources."has-flag-4.0.0"
-              sources."make-dir-3.1.0"
-              sources."semver-6.3.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."istanbul-lib-source-maps-4.0.1" // {
-            dependencies = [
-              sources."source-map-0.6.1"
-            ];
-          })
-          sources."istanbul-reports-3.1.4"
-          (sources."jest-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."jest-cli-27.5.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."jest-changed-files-27.5.0"
-          (sources."jest-circus-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."jest-config-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."jest-diff-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."jest-docblock-27.5.0"
-          (sources."jest-each-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."jest-environment-jsdom-27.5.0"
-          sources."jest-environment-node-27.5.0"
-          sources."jest-get-type-27.5.0"
-          sources."jest-haste-map-27.5.0"
-          (sources."jest-jasmine2-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."jest-leak-detector-27.5.0"
-          (sources."jest-matcher-utils-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."jest-message-util-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."jest-mock-27.5.0"
-          sources."jest-pnp-resolver-1.2.2"
-          sources."jest-regex-util-27.5.0"
-          (sources."jest-resolve-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."jest-resolve-dependencies-27.5.0"
-          (sources."jest-runner-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."jest-runtime-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."jest-serializer-27.5.0"
-          (sources."jest-snapshot-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."jest-util-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."jest-validate-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."camelcase-6.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."jest-watcher-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."has-flag-4.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."jest-worker-27.5.0" // {
-            dependencies = [
-              sources."has-flag-4.0.0"
-              sources."supports-color-8.1.1"
-            ];
-          })
-          sources."js-tokens-4.0.0"
-          sources."js-yaml-3.14.1"
-          sources."jsdom-16.7.0"
-          sources."jsesc-2.5.2"
-          sources."json-schema-traverse-0.4.1"
-          sources."json-stable-stringify-without-jsonify-1.0.1"
-          sources."json5-2.2.0"
-          sources."jsonc-parser-3.0.0"
-          sources."kleur-3.0.3"
-          sources."leven-3.1.0"
-          sources."levn-0.4.1"
-          sources."locate-path-5.0.0"
-          sources."lodash-4.17.21"
-          sources."lodash.debounce-4.0.8"
-          sources."lodash.merge-4.6.2"
-          sources."lru-cache-6.0.0"
-          sources."lunr-2.3.9"
-          (sources."make-dir-2.1.0" // {
-            dependencies = [
-              sources."semver-5.7.1"
-            ];
-          })
-          sources."makeerror-1.0.12"
-          sources."marked-4.0.12"
-          sources."merge-stream-2.0.0"
-          sources."merge2-1.4.1"
-          sources."micromatch-4.0.4"
-          sources."mime-db-1.51.0"
-          sources."mime-types-2.1.34"
-          sources."mimic-fn-2.1.0"
-          sources."mimic-response-3.1.0"
-          sources."minimatch-3.0.4"
-          sources."minimist-1.2.5"
-          sources."mixin-deep-2.0.1"
-          sources."mkdirp-classic-0.5.3"
-          sources."ms-2.1.2"
-          sources."mz-2.7.0"
-          sources."nan-2.15.0"
-          sources."napi-build-utils-1.0.2"
-          sources."natural-compare-1.4.0"
-          sources."neo-async-2.6.2"
-          sources."node-abi-3.8.0"
-          sources."node-int64-0.4.0"
-          sources."node-releases-2.0.1"
-          sources."normalize-path-3.0.0"
-          sources."npm-run-path-4.0.1"
-          sources."npmlog-4.1.2"
-          sources."number-is-nan-1.0.1"
-          sources."nwsapi-2.2.0"
-          sources."object-assign-4.1.1"
-          sources."object-keys-1.1.1"
-          sources."object.assign-4.1.2"
-          sources."once-1.4.0"
-          sources."onetime-5.1.2"
-          sources."optionator-0.9.1"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."parent-module-1.0.1"
-          sources."parse5-6.0.1"
-          sources."path-exists-4.0.0"
-          sources."path-is-absolute-1.0.1"
-          sources."path-key-3.1.1"
-          sources."path-parse-1.0.7"
-          sources."path-type-4.0.0"
-          sources."picocolors-1.0.0"
-          sources."picomatch-2.3.1"
-          sources."pify-4.0.1"
-          sources."pirates-4.0.5"
-          sources."pkg-dir-4.2.0"
-          sources."prebuild-install-7.0.1"
-          sources."prelude-ls-1.2.1"
-          (sources."pretty-format-27.5.0" // {
-            dependencies = [
-              sources."ansi-regex-5.0.1"
-              sources."ansi-styles-5.2.0"
-            ];
-          })
-          sources."process-nextick-args-2.0.1"
-          sources."prompts-2.4.2"
-          sources."psl-1.8.0"
-          sources."pump-3.0.0"
-          sources."punycode-2.1.1"
-          sources."queue-microtask-1.2.3"
-          sources."rc-1.2.8"
-          sources."react-is-17.0.2"
-          sources."readable-stream-2.3.7"
-          sources."readdirp-3.6.0"
-          sources."regenerate-1.4.2"
-          sources."regenerate-unicode-properties-10.0.1"
-          sources."regenerator-runtime-0.13.9"
-          sources."regenerator-transform-0.14.5"
-          sources."regexpp-3.2.0"
-          sources."regexpu-core-5.0.1"
-          sources."regjsgen-0.6.0"
-          (sources."regjsparser-0.8.4" // {
-            dependencies = [
-              sources."jsesc-0.5.0"
-            ];
-          })
-          sources."require-directory-2.1.1"
-          sources."resolve-1.22.0"
-          sources."resolve-cwd-3.0.0"
-          sources."resolve-from-5.0.0"
-          sources."resolve.exports-1.1.0"
-          sources."reusify-1.0.4"
-          sources."rimraf-3.0.2"
-          sources."run-parallel-1.2.0"
-          sources."safe-buffer-5.1.2"
-          sources."safer-buffer-2.1.2"
-          sources."saxes-5.0.1"
-          sources."semver-7.3.5"
-          sources."serialport-9.2.8"
-          sources."set-blocking-2.0.0"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."shiki-0.10.0"
-          sources."signal-exit-3.0.7"
-          sources."simple-concat-1.0.1"
-          sources."simple-get-4.0.1"
-          sources."sisteransi-1.0.5"
-          sources."slash-2.0.0"
-          sources."slip-1.0.2"
-          sources."source-map-0.5.7"
-          (sources."source-map-support-0.5.21" // {
-            dependencies = [
-              sources."source-map-0.6.1"
-            ];
-          })
-          sources."sprintf-js-1.0.3"
-          (sources."stack-utils-2.0.5" // {
-            dependencies = [
-              sources."escape-string-regexp-2.0.0"
-            ];
-          })
-          (sources."string-length-4.0.2" // {
-            dependencies = [
-              sources."ansi-regex-5.0.1"
-              sources."strip-ansi-6.0.1"
-            ];
-          })
-          sources."string-width-1.0.2"
-          sources."string_decoder-1.1.1"
-          sources."strip-ansi-3.0.1"
-          sources."strip-bom-4.0.0"
-          sources."strip-final-newline-2.0.0"
-          sources."strip-json-comments-2.0.1"
-          sources."supports-color-5.5.0"
-          (sources."supports-hyperlinks-2.2.0" // {
-            dependencies = [
-              sources."has-flag-4.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."supports-preserve-symlinks-flag-1.0.0"
-          sources."symbol-tree-3.2.4"
-          sources."tar-fs-2.1.1"
-          (sources."tar-stream-2.2.0" // {
-            dependencies = [
-              sources."readable-stream-3.6.0"
-            ];
-          })
-          sources."terminal-link-2.1.1"
-          sources."test-exclude-6.0.0"
-          sources."text-table-0.2.0"
-          sources."thenify-3.3.1"
-          sources."thenify-all-1.6.0"
-          sources."throat-6.0.1"
-          sources."tmpl-1.0.5"
-          sources."to-fast-properties-2.0.0"
-          sources."to-regex-range-5.0.1"
-          sources."tough-cookie-4.0.0"
-          sources."tr46-2.1.0"
-          sources."tslib-1.14.1"
-          sources."tsutils-3.21.0"
-          sources."tunnel-agent-0.6.0"
-          sources."type-check-0.4.0"
-          sources."type-detect-4.0.8"
-          sources."type-fest-0.20.2"
-          sources."typedarray-to-buffer-3.1.5"
-          sources."typedoc-0.22.11"
-          sources."typedoc-plugin-markdown-3.11.13"
-          sources."typedoc-plugin-no-inherit-1.3.1"
-          sources."typedoc-plugin-sourcefile-url-1.0.6"
-          sources."typescript-4.5.5"
-          sources."uglify-js-3.15.0"
-          sources."unicode-canonical-property-names-ecmascript-2.0.0"
-          sources."unicode-match-property-ecmascript-2.0.0"
-          sources."unicode-match-property-value-ecmascript-2.0.0"
-          sources."unicode-property-aliases-ecmascript-2.0.0"
-          sources."universalify-0.1.2"
-          sources."uri-js-4.4.1"
-          sources."util-deprecate-1.0.2"
-          sources."v8-compile-cache-2.3.0"
-          (sources."v8-to-istanbul-8.1.1" // {
-            dependencies = [
-              sources."source-map-0.7.3"
-            ];
-          })
-          sources."vscode-oniguruma-1.6.1"
-          sources."vscode-textmate-5.2.0"
-          sources."w3c-hr-time-1.0.2"
-          sources."w3c-xmlserializer-2.0.0"
-          sources."walker-1.0.8"
-          sources."webidl-conversions-6.1.0"
-          sources."whatwg-encoding-1.0.5"
-          sources."whatwg-mimetype-2.3.0"
-          sources."whatwg-url-8.7.0"
-          sources."which-2.0.2"
-          sources."wide-align-1.1.5"
-          sources."word-wrap-1.2.3"
-          sources."wordwrap-1.0.0"
-          (sources."wrap-ansi-7.0.0" // {
-            dependencies = [
-              sources."ansi-regex-5.0.1"
-              sources."ansi-styles-4.3.0"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."is-fullwidth-code-point-3.0.0"
-              sources."string-width-4.2.3"
-              sources."strip-ansi-6.0.1"
-            ];
-          })
-          sources."wrappy-1.0.2"
-          sources."write-file-atomic-3.0.3"
-          sources."ws-7.5.6"
-          sources."xml-name-validator-3.0.0"
-          sources."xmlchars-2.2.0"
-          sources."y18n-5.0.8"
-          sources."yallist-4.0.0"
-          (sources."yargs-16.2.0" // {
-            dependencies = [
-              sources."ansi-regex-5.0.1"
-              sources."is-fullwidth-code-point-3.0.0"
-              sources."string-width-4.2.3"
-              sources."strip-ansi-6.0.1"
-            ];
-          })
-          sources."yargs-parser-20.2.9"
-        ];
-      })
-      (sources."zigbee-herdsman-converters-14.0.467" // {
-        dependencies = [
-          sources."@ampproject/remapping-2.1.2"
-          sources."@babel/code-frame-7.16.7"
-          sources."@babel/compat-data-7.17.7"
-          (sources."@babel/core-7.17.8" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          (sources."@babel/generator-7.17.7" // {
-            dependencies = [
-              sources."source-map-0.5.7"
-            ];
-          })
-          (sources."@babel/helper-compilation-targets-7.17.7" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          sources."@babel/helper-environment-visitor-7.16.7"
-          sources."@babel/helper-function-name-7.16.7"
-          sources."@babel/helper-get-function-arity-7.16.7"
-          sources."@babel/helper-hoist-variables-7.16.7"
-          sources."@babel/helper-module-imports-7.16.7"
-          sources."@babel/helper-module-transforms-7.17.7"
-          sources."@babel/helper-plugin-utils-7.16.7"
-          sources."@babel/helper-simple-access-7.17.7"
-          sources."@babel/helper-split-export-declaration-7.16.7"
-          sources."@babel/helper-validator-identifier-7.16.7"
-          sources."@babel/helper-validator-option-7.16.7"
-          sources."@babel/helpers-7.17.8"
-          (sources."@babel/highlight-7.16.10" // {
-            dependencies = [
-              sources."ansi-styles-3.2.1"
-              sources."chalk-2.4.2"
-              sources."color-convert-1.9.3"
-              sources."color-name-1.1.3"
-              sources."escape-string-regexp-1.0.5"
-              sources."has-flag-3.0.0"
-              sources."supports-color-5.5.0"
-            ];
-          })
-          sources."@babel/parser-7.17.8"
-          sources."@babel/plugin-syntax-async-generators-7.8.4"
-          sources."@babel/plugin-syntax-bigint-7.8.3"
-          sources."@babel/plugin-syntax-class-properties-7.12.13"
-          sources."@babel/plugin-syntax-import-meta-7.10.4"
-          sources."@babel/plugin-syntax-json-strings-7.8.3"
-          sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
-          sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
-          sources."@babel/plugin-syntax-numeric-separator-7.10.4"
-          sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-          sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
-          sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-          sources."@babel/plugin-syntax-top-level-await-7.14.5"
-          sources."@babel/plugin-syntax-typescript-7.16.7"
-          sources."@babel/template-7.16.7"
-          (sources."@babel/traverse-7.17.3" // {
-            dependencies = [
-              sources."globals-11.12.0"
-            ];
-          })
-          sources."@babel/types-7.17.0"
-          sources."@bcoe/v8-coverage-0.2.3"
-          sources."@eslint/eslintrc-1.2.1"
-          sources."@humanwhocodes/config-array-0.9.5"
-          sources."@humanwhocodes/object-schema-1.2.1"
-          (sources."@istanbuljs/load-nyc-config-1.1.0" // {
-            dependencies = [
-              sources."argparse-1.0.10"
-              sources."js-yaml-3.14.1"
-              sources."resolve-from-5.0.0"
-            ];
-          })
-          sources."@istanbuljs/schema-0.1.3"
-          sources."@jest/console-27.5.1"
-          sources."@jest/core-27.5.1"
-          sources."@jest/environment-27.5.1"
-          sources."@jest/fake-timers-27.5.1"
-          sources."@jest/globals-27.5.1"
-          sources."@jest/reporters-27.5.1"
-          sources."@jest/source-map-27.5.1"
-          sources."@jest/test-result-27.5.1"
-          sources."@jest/test-sequencer-27.5.1"
-          sources."@jest/transform-27.5.1"
-          sources."@jest/types-27.5.1"
-          sources."@jridgewell/resolve-uri-3.0.5"
-          sources."@jridgewell/sourcemap-codec-1.4.11"
-          sources."@jridgewell/trace-mapping-0.3.4"
-          sources."@nodelib/fs.scandir-2.1.5"
-          sources."@nodelib/fs.stat-2.0.5"
-          sources."@nodelib/fs.walk-1.2.8"
-          sources."@sinonjs/commons-1.8.3"
-          sources."@sinonjs/fake-timers-8.1.0"
-          sources."@tootallnate/once-1.1.2"
-          sources."@types/babel__core-7.1.19"
-          sources."@types/babel__generator-7.6.4"
-          sources."@types/babel__template-7.4.1"
-          sources."@types/babel__traverse-7.14.2"
-          sources."@types/graceful-fs-4.1.5"
-          sources."@types/istanbul-lib-coverage-2.0.4"
-          sources."@types/istanbul-lib-report-3.0.0"
-          sources."@types/istanbul-reports-3.0.1"
-          sources."@types/json-schema-7.0.11"
-          sources."@types/node-17.0.23"
-          sources."@types/prettier-2.4.4"
-          sources."@types/stack-utils-2.0.1"
-          sources."@types/yargs-16.0.4"
-          sources."@types/yargs-parser-21.0.0"
-          sources."@typescript-eslint/scope-manager-5.16.0"
-          sources."@typescript-eslint/types-5.16.0"
-          sources."@typescript-eslint/typescript-estree-5.16.0"
-          (sources."@typescript-eslint/utils-5.16.0" // {
-            dependencies = [
-              sources."eslint-scope-5.1.1"
-              sources."estraverse-4.3.0"
-            ];
-          })
-          sources."@typescript-eslint/visitor-keys-5.16.0"
-          sources."abab-2.0.5"
-          sources."acorn-8.7.0"
-          (sources."acorn-globals-6.0.0" // {
-            dependencies = [
-              sources."acorn-7.4.1"
-            ];
-          })
-          sources."acorn-jsx-5.3.2"
-          sources."acorn-walk-7.2.0"
-          sources."agent-base-6.0.2"
-          sources."ajv-6.12.6"
-          (sources."ansi-escapes-4.3.2" // {
-            dependencies = [
-              sources."type-fest-0.21.3"
-            ];
-          })
-          sources."ansi-regex-5.0.1"
-          sources."ansi-styles-4.3.0"
-          sources."anymatch-3.1.2"
-          sources."argparse-2.0.1"
-          sources."array-union-2.1.0"
-          sources."asynckit-0.4.0"
-          sources."axios-0.26.1"
-          sources."babel-jest-27.5.1"
-          sources."babel-plugin-istanbul-6.1.1"
-          sources."babel-plugin-jest-hoist-27.5.1"
-          sources."babel-preset-current-node-syntax-1.0.1"
-          sources."babel-preset-jest-27.5.1"
-          sources."balanced-match-1.0.2"
-          sources."base64-js-1.5.1"
-          sources."bl-4.1.0"
-          sources."brace-expansion-1.1.11"
-          sources."braces-3.0.2"
-          sources."browser-process-hrtime-1.0.0"
-          sources."browserslist-4.20.2"
-          sources."bser-2.1.1"
-          sources."buffer-5.7.1"
-          sources."buffer-crc32-0.2.13"
-          sources."buffer-from-1.1.2"
-          sources."callsites-3.1.0"
-          sources."camelcase-5.3.1"
-          sources."caniuse-lite-1.0.30001320"
-          sources."chalk-4.1.2"
-          sources."char-regex-1.0.2"
-          sources."ci-info-3.3.0"
-          sources."cjs-module-lexer-1.2.2"
-          sources."cliui-7.0.4"
-          sources."co-4.6.0"
-          sources."collect-v8-coverage-1.0.1"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."combined-stream-1.0.8"
-          sources."concat-map-0.0.1"
-          sources."convert-source-map-1.8.0"
-          sources."cross-spawn-7.0.3"
-          sources."cssom-0.4.4"
-          (sources."cssstyle-2.3.0" // {
-            dependencies = [
-              sources."cssom-0.3.8"
-            ];
-          })
-          sources."data-urls-2.0.0"
-          sources."debug-4.3.4"
-          sources."decimal.js-10.3.1"
-          sources."dedent-0.7.0"
-          sources."deep-is-0.1.4"
-          sources."deepmerge-4.2.2"
-          sources."delayed-stream-1.0.0"
-          sources."detect-newline-3.1.0"
-          sources."diff-sequences-27.5.1"
-          sources."dir-glob-3.0.1"
-          sources."doctrine-3.0.0"
-          (sources."domexception-2.0.1" // {
-            dependencies = [
-              sources."webidl-conversions-5.0.0"
-            ];
-          })
-          sources."electron-to-chromium-1.4.95"
-          sources."emittery-0.8.1"
-          sources."emoji-regex-8.0.0"
-          sources."end-of-stream-1.4.4"
-          sources."error-ex-1.3.2"
-          sources."escalade-3.1.1"
-          sources."escape-string-regexp-4.0.0"
-          (sources."escodegen-2.0.0" // {
-            dependencies = [
-              sources."levn-0.3.0"
-              sources."optionator-0.8.3"
-              sources."prelude-ls-1.1.2"
-              sources."type-check-0.3.2"
-            ];
-          })
-          sources."eslint-8.12.0"
-          sources."eslint-config-google-0.14.0"
-          sources."eslint-plugin-jest-26.1.3"
-          sources."eslint-scope-7.1.1"
-          (sources."eslint-utils-3.0.0" // {
-            dependencies = [
-              sources."eslint-visitor-keys-2.1.0"
-            ];
-          })
-          sources."eslint-visitor-keys-3.3.0"
-          sources."espree-9.3.1"
-          sources."esprima-4.0.1"
-          sources."esquery-1.4.0"
-          sources."esrecurse-4.3.0"
-          sources."estraverse-5.3.0"
-          sources."esutils-2.0.3"
-          sources."execa-5.1.1"
-          sources."exit-0.1.2"
-          sources."expect-27.5.1"
-          sources."fast-deep-equal-3.1.3"
-          (sources."fast-glob-3.2.11" // {
-            dependencies = [
-              sources."glob-parent-5.1.2"
-            ];
-          })
-          sources."fast-json-stable-stringify-2.1.0"
-          sources."fast-levenshtein-2.0.6"
-          sources."fastq-1.13.0"
-          sources."fb-watchman-2.0.1"
-          sources."file-entry-cache-6.0.1"
-          sources."fill-range-7.0.1"
-          sources."find-up-4.1.0"
-          sources."flat-cache-3.0.4"
-          sources."flatted-3.2.5"
-          sources."follow-redirects-1.14.9"
-          sources."form-data-3.0.1"
-          sources."fs-constants-1.0.0"
-          sources."fs.realpath-1.0.0"
-          sources."fsevents-2.3.2"
-          sources."function-bind-1.1.1"
-          sources."functional-red-black-tree-1.0.1"
-          sources."gensync-1.0.0-beta.2"
-          sources."get-caller-file-2.0.5"
-          sources."get-package-type-0.1.0"
-          sources."get-stream-6.0.1"
-          sources."glob-7.2.0"
-          sources."glob-parent-6.0.2"
-          sources."globals-13.13.0"
-          sources."globby-11.1.0"
-          sources."graceful-fs-4.2.9"
-          sources."has-1.0.3"
-          sources."has-flag-4.0.0"
-          sources."html-encoding-sniffer-2.0.1"
-          sources."html-escaper-2.0.2"
-          sources."http-proxy-agent-4.0.1"
-          sources."https-proxy-agent-5.0.0"
-          sources."human-signals-2.1.0"
-          sources."iconv-lite-0.4.24"
-          sources."ieee754-1.2.1"
-          sources."ignore-5.2.0"
-          sources."import-fresh-3.3.0"
-          sources."import-local-3.1.0"
-          sources."imurmurhash-0.1.4"
-          sources."inflight-1.0.6"
-          sources."inherits-2.0.4"
-          sources."is-arrayish-0.2.1"
-          sources."is-core-module-2.8.1"
-          sources."is-extglob-2.1.1"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."is-generator-fn-2.1.0"
-          sources."is-glob-4.0.3"
-          sources."is-number-7.0.0"
-          sources."is-potential-custom-element-name-1.0.1"
-          sources."is-stream-2.0.1"
-          sources."is-typedarray-1.0.0"
-          sources."isexe-2.0.0"
-          sources."istanbul-lib-coverage-3.2.0"
-          (sources."istanbul-lib-instrument-5.1.0" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          sources."istanbul-lib-report-3.0.0"
-          sources."istanbul-lib-source-maps-4.0.1"
-          sources."istanbul-reports-3.1.4"
-          sources."jest-27.5.1"
-          sources."jest-changed-files-27.5.1"
-          sources."jest-circus-27.5.1"
-          sources."jest-cli-27.5.1"
-          sources."jest-config-27.5.1"
-          sources."jest-diff-27.5.1"
-          sources."jest-docblock-27.5.1"
-          sources."jest-each-27.5.1"
-          sources."jest-environment-jsdom-27.5.1"
-          sources."jest-environment-node-27.5.1"
-          sources."jest-get-type-27.5.1"
-          sources."jest-haste-map-27.5.1"
-          sources."jest-jasmine2-27.5.1"
-          sources."jest-leak-detector-27.5.1"
-          sources."jest-matcher-utils-27.5.1"
-          sources."jest-message-util-27.5.1"
-          sources."jest-mock-27.5.1"
-          sources."jest-pnp-resolver-1.2.2"
-          sources."jest-regex-util-27.5.1"
-          sources."jest-resolve-27.5.1"
-          sources."jest-resolve-dependencies-27.5.1"
-          sources."jest-runner-27.5.1"
-          sources."jest-runtime-27.5.1"
-          sources."jest-serializer-27.5.1"
-          sources."jest-snapshot-27.5.1"
-          sources."jest-util-27.5.1"
-          (sources."jest-validate-27.5.1" // {
-            dependencies = [
-              sources."camelcase-6.3.0"
-            ];
-          })
-          sources."jest-watcher-27.5.1"
-          (sources."jest-worker-27.5.1" // {
-            dependencies = [
-              sources."supports-color-8.1.1"
-            ];
-          })
-          sources."js-tokens-4.0.0"
-          sources."js-yaml-4.1.0"
-          sources."jsdom-16.7.0"
-          sources."jsesc-2.5.2"
-          sources."json-parse-even-better-errors-2.3.1"
-          sources."json-schema-traverse-0.4.1"
-          sources."json-stable-stringify-without-jsonify-1.0.1"
-          sources."json5-2.2.1"
-          sources."kleur-3.0.3"
-          sources."leven-3.1.0"
-          sources."levn-0.4.1"
-          sources."lines-and-columns-1.2.4"
-          sources."locate-path-5.0.0"
-          sources."lodash-4.17.21"
-          sources."lodash.merge-4.6.2"
-          sources."lru-cache-6.0.0"
-          (sources."make-dir-3.1.0" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          sources."makeerror-1.0.12"
-          sources."merge-stream-2.0.0"
-          sources."merge2-1.4.1"
-          sources."micromatch-4.0.5"
-          sources."mime-db-1.52.0"
-          sources."mime-types-2.1.35"
-          sources."mimic-fn-2.1.0"
-          sources."minimatch-3.1.2"
-          sources."ms-2.1.2"
-          sources."natural-compare-1.4.0"
-          sources."node-int64-0.4.0"
-          sources."node-releases-2.0.2"
-          sources."normalize-path-3.0.0"
-          sources."npm-run-path-4.0.1"
-          sources."nwsapi-2.2.0"
-          sources."once-1.4.0"
-          sources."onetime-5.1.2"
-          sources."optionator-0.9.1"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."parent-module-1.0.1"
-          sources."parse-json-5.2.0"
-          sources."parse5-6.0.1"
-          sources."path-exists-4.0.0"
-          sources."path-is-absolute-1.0.1"
-          sources."path-key-3.1.1"
-          sources."path-parse-1.0.7"
-          sources."path-type-4.0.0"
-          sources."picocolors-1.0.0"
-          sources."picomatch-2.3.1"
-          sources."pirates-4.0.5"
-          sources."pkg-dir-4.2.0"
-          sources."prelude-ls-1.2.1"
-          (sources."pretty-format-27.5.1" // {
-            dependencies = [
-              sources."ansi-styles-5.2.0"
-            ];
-          })
-          sources."prompts-2.4.2"
-          sources."psl-1.8.0"
-          sources."punycode-2.1.1"
-          sources."queue-microtask-1.2.3"
-          sources."react-is-17.0.2"
-          sources."readable-stream-3.6.0"
-          sources."regexpp-3.2.0"
-          sources."require-directory-2.1.1"
-          sources."resolve-1.22.0"
-          (sources."resolve-cwd-3.0.0" // {
-            dependencies = [
-              sources."resolve-from-5.0.0"
-            ];
-          })
-          sources."resolve-from-4.0.0"
-          sources."resolve.exports-1.1.0"
-          sources."reusify-1.0.4"
-          sources."rimraf-3.0.2"
-          sources."run-parallel-1.2.0"
-          sources."safe-buffer-5.1.2"
-          sources."safer-buffer-2.1.2"
-          sources."saxes-5.0.1"
-          sources."semver-7.3.5"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."signal-exit-3.0.7"
-          sources."sisteransi-1.0.5"
-          sources."slash-3.0.0"
-          sources."source-map-0.6.1"
-          sources."source-map-support-0.5.21"
-          sources."sprintf-js-1.0.3"
-          (sources."stack-utils-2.0.5" // {
-            dependencies = [
-              sources."escape-string-regexp-2.0.0"
-            ];
-          })
-          sources."string-length-4.0.2"
-          sources."string-width-4.2.3"
-          (sources."string_decoder-1.3.0" // {
-            dependencies = [
-              sources."safe-buffer-5.2.1"
-            ];
-          })
-          sources."strip-ansi-6.0.1"
-          sources."strip-bom-4.0.0"
-          sources."strip-final-newline-2.0.0"
-          sources."strip-json-comments-3.1.1"
-          sources."supports-color-7.2.0"
-          sources."supports-hyperlinks-2.2.0"
-          sources."supports-preserve-symlinks-flag-1.0.0"
-          sources."symbol-tree-3.2.4"
-          sources."tar-stream-2.2.0"
-          sources."terminal-link-2.1.1"
-          sources."test-exclude-6.0.0"
-          sources."text-table-0.2.0"
-          sources."throat-6.0.1"
-          sources."tmpl-1.0.5"
-          sources."to-fast-properties-2.0.0"
-          sources."to-regex-range-5.0.1"
-          sources."tough-cookie-4.0.0"
-          sources."tr46-2.1.0"
-          sources."tslib-1.14.1"
-          sources."tsutils-3.21.0"
-          sources."type-check-0.4.0"
-          sources."type-detect-4.0.8"
-          sources."type-fest-0.20.2"
-          sources."typedarray-to-buffer-3.1.5"
-          sources."typescript-4.6.3"
-          sources."universalify-0.1.2"
-          sources."uri-js-4.4.1"
-          sources."util-deprecate-1.0.2"
-          sources."v8-compile-cache-2.3.0"
-          (sources."v8-to-istanbul-8.1.1" // {
-            dependencies = [
-              sources."source-map-0.7.3"
-            ];
-          })
-          sources."w3c-hr-time-1.0.2"
-          sources."w3c-xmlserializer-2.0.0"
-          sources."walker-1.0.8"
-          sources."webidl-conversions-6.1.0"
-          sources."whatwg-encoding-1.0.5"
-          sources."whatwg-mimetype-2.3.0"
-          sources."whatwg-url-8.7.0"
-          sources."which-2.0.2"
-          sources."word-wrap-1.2.3"
-          sources."wrap-ansi-7.0.0"
-          sources."wrappy-1.0.2"
-          sources."write-file-atomic-3.0.3"
-          sources."ws-7.5.7"
-          sources."xml-name-validator-3.0.0"
-          sources."xmlchars-2.2.0"
-          sources."y18n-5.0.8"
-          sources."yallist-4.0.0"
-          sources."yargs-16.2.0"
-          sources."yargs-parser-20.2.9"
-          (sources."zigbee-herdsman-0.14.20" // {
-            dependencies = [
-              sources."@ampproject/remapping-2.0.3"
-              sources."@babel/cli-https://registry.npmjs.org/@babel/cli/-/cli-7.17.0.tgz"
-              sources."@babel/code-frame-7.16.7"
-              sources."@babel/compat-data-7.17.0"
-              (sources."@babel/core-7.17.0" // {
-                dependencies = [
-                  sources."semver-6.3.0"
-                ];
-              })
-              sources."@babel/generator-7.17.0"
-              sources."@babel/helper-annotate-as-pure-7.16.7"
-              sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-              (sources."@babel/helper-compilation-targets-7.16.7" // {
-                dependencies = [
-                  sources."semver-6.3.0"
-                ];
-              })
-              sources."@babel/helper-create-class-features-plugin-7.17.1"
-              sources."@babel/helper-create-regexp-features-plugin-7.17.0"
-              (sources."@babel/helper-define-polyfill-provider-0.3.1" // {
-                dependencies = [
-                  sources."semver-6.3.0"
-                ];
-              })
-              sources."@babel/helper-environment-visitor-7.16.7"
-              sources."@babel/helper-explode-assignable-expression-7.16.7"
-              sources."@babel/helper-function-name-7.16.7"
-              sources."@babel/helper-get-function-arity-7.16.7"
-              sources."@babel/helper-hoist-variables-7.16.7"
-              sources."@babel/helper-member-expression-to-functions-7.16.7"
-              sources."@babel/helper-module-imports-7.16.7"
-              sources."@babel/helper-module-transforms-7.16.7"
-              sources."@babel/helper-optimise-call-expression-7.16.7"
-              sources."@babel/helper-plugin-utils-7.16.7"
-              sources."@babel/helper-remap-async-to-generator-7.16.8"
-              sources."@babel/helper-replace-supers-7.16.7"
-              sources."@babel/helper-simple-access-7.16.7"
-              sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-              sources."@babel/helper-split-export-declaration-7.16.7"
-              sources."@babel/helper-validator-identifier-7.16.7"
-              sources."@babel/helper-validator-option-7.16.7"
-              sources."@babel/helper-wrap-function-7.16.8"
-              sources."@babel/helpers-7.17.0"
-              sources."@babel/highlight-7.16.10"
-              sources."@babel/parser-7.17.0"
-              sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
-              sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
-              sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
-              sources."@babel/plugin-proposal-class-properties-7.16.7"
-              sources."@babel/plugin-proposal-class-static-block-7.16.7"
-              sources."@babel/plugin-proposal-dynamic-import-7.16.7"
-              sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
-              sources."@babel/plugin-proposal-json-strings-7.16.7"
-              sources."@babel/plugin-proposal-logical-assignment-operators-7.16.7"
-              sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.7"
-              sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-              sources."@babel/plugin-proposal-object-rest-spread-7.16.7"
-              sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
-              sources."@babel/plugin-proposal-optional-chaining-7.16.7"
-              sources."@babel/plugin-proposal-private-methods-7.16.11"
-              sources."@babel/plugin-proposal-private-property-in-object-7.16.7"
-              sources."@babel/plugin-proposal-unicode-property-regex-7.16.7"
-              sources."@babel/plugin-syntax-async-generators-7.8.4"
-              sources."@babel/plugin-syntax-bigint-7.8.3"
-              sources."@babel/plugin-syntax-class-properties-7.12.13"
-              sources."@babel/plugin-syntax-class-static-block-7.14.5"
-              sources."@babel/plugin-syntax-dynamic-import-7.8.3"
-              sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-              sources."@babel/plugin-syntax-import-meta-7.10.4"
-              sources."@babel/plugin-syntax-json-strings-7.8.3"
-              sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
-              sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
-              sources."@babel/plugin-syntax-numeric-separator-7.10.4"
-              sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-              sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
-              sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-              sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
-              sources."@babel/plugin-syntax-top-level-await-7.14.5"
-              sources."@babel/plugin-syntax-typescript-7.16.7"
-              sources."@babel/plugin-transform-arrow-functions-7.16.7"
-              sources."@babel/plugin-transform-async-to-generator-7.16.8"
-              sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
-              sources."@babel/plugin-transform-block-scoping-7.16.7"
-              sources."@babel/plugin-transform-classes-7.16.7"
-              sources."@babel/plugin-transform-computed-properties-7.16.7"
-              sources."@babel/plugin-transform-destructuring-7.16.7"
-              sources."@babel/plugin-transform-dotall-regex-7.16.7"
-              sources."@babel/plugin-transform-duplicate-keys-7.16.7"
-              sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
-              sources."@babel/plugin-transform-for-of-7.16.7"
-              sources."@babel/plugin-transform-function-name-7.16.7"
-              sources."@babel/plugin-transform-literals-7.16.7"
-              sources."@babel/plugin-transform-member-expression-literals-7.16.7"
-              sources."@babel/plugin-transform-modules-amd-7.16.7"
-              sources."@babel/plugin-transform-modules-commonjs-7.16.8"
-              sources."@babel/plugin-transform-modules-systemjs-7.16.7"
-              sources."@babel/plugin-transform-modules-umd-7.16.7"
-              sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
-              sources."@babel/plugin-transform-new-target-7.16.7"
-              sources."@babel/plugin-transform-object-super-7.16.7"
-              sources."@babel/plugin-transform-parameters-7.16.7"
-              sources."@babel/plugin-transform-property-literals-7.16.7"
-              sources."@babel/plugin-transform-regenerator-7.16.7"
-              sources."@babel/plugin-transform-reserved-words-7.16.7"
-              sources."@babel/plugin-transform-shorthand-properties-7.16.7"
-              sources."@babel/plugin-transform-spread-7.16.7"
-              sources."@babel/plugin-transform-sticky-regex-7.16.7"
-              sources."@babel/plugin-transform-template-literals-7.16.7"
-              sources."@babel/plugin-transform-typeof-symbol-7.16.7"
-              sources."@babel/plugin-transform-typescript-7.16.8"
-              sources."@babel/plugin-transform-unicode-escapes-7.16.7"
-              sources."@babel/plugin-transform-unicode-regex-7.16.7"
-              (sources."@babel/preset-env-https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz" // {
-                dependencies = [
-                  sources."semver-6.3.0"
-                ];
-              })
-              sources."@babel/preset-modules-0.1.5"
-              sources."@babel/preset-typescript-https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz"
-              sources."@babel/runtime-7.17.0"
-              sources."@babel/template-7.16.7"
-              sources."@babel/traverse-7.17.0"
-              sources."@babel/types-7.17.0"
-              sources."@bcoe/v8-coverage-0.2.3"
-              (sources."@eslint/eslintrc-1.0.5" // {
-                dependencies = [
-                  sources."argparse-2.0.1"
-                  sources."globals-13.12.1"
-                  sources."ignore-4.0.6"
-                  sources."js-yaml-4.1.0"
-                  sources."strip-json-comments-3.1.1"
-                ];
-              })
-              sources."@humanwhocodes/config-array-0.9.3"
-              sources."@humanwhocodes/object-schema-1.2.1"
-              sources."@istanbuljs/load-nyc-config-1.1.0"
-              sources."@istanbuljs/schema-0.1.3"
-              (sources."@jest/console-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."@jest/core-27.5.0" // {
-                dependencies = [
-                  sources."ansi-regex-5.0.1"
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."slash-3.0.0"
-                  sources."strip-ansi-6.0.1"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."@jest/environment-27.5.0"
-              sources."@jest/fake-timers-27.5.0"
-              sources."@jest/globals-27.5.0"
-              (sources."@jest/reporters-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."slash-3.0.0"
-                  sources."source-map-0.6.1"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."@jest/source-map-27.5.0" // {
-                dependencies = [
-                  sources."source-map-0.6.1"
-                ];
-              })
-              sources."@jest/test-result-27.5.0"
-              sources."@jest/test-sequencer-27.5.0"
-              (sources."@jest/transform-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."slash-3.0.0"
-                  sources."source-map-0.6.1"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."@jest/types-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."@jridgewell/resolve-uri-3.0.4"
-              sources."@jridgewell/sourcemap-codec-1.4.10"
-              sources."@jridgewell/trace-mapping-0.2.7"
-              sources."@nicolo-ribaudo/chokidar-2-2.1.8-no-fsevents.3"
-              sources."@nodelib/fs.scandir-2.1.5"
-              sources."@nodelib/fs.stat-2.0.5"
-              sources."@nodelib/fs.walk-1.2.8"
-              sources."@serialport/binding-abstract-9.2.3"
-              sources."@serialport/binding-mock-9.2.4"
-              sources."@serialport/bindings-9.2.8"
-              sources."@serialport/parser-byte-length-9.2.4"
-              sources."@serialport/parser-cctalk-9.2.4"
-              sources."@serialport/parser-delimiter-9.2.4"
-              sources."@serialport/parser-inter-byte-timeout-9.2.4"
-              sources."@serialport/parser-readline-9.2.4"
-              sources."@serialport/parser-ready-9.2.4"
-              sources."@serialport/parser-regex-9.2.4"
-              sources."@serialport/stream-9.2.4"
-              sources."@sinonjs/commons-1.8.3"
-              sources."@sinonjs/fake-timers-8.1.0"
-              sources."@tootallnate/once-1.1.2"
-              sources."@types/babel__core-7.1.18"
-              sources."@types/babel__generator-7.6.4"
-              sources."@types/babel__template-7.4.1"
-              sources."@types/babel__traverse-7.14.2"
-              sources."@types/debounce-https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz"
-              sources."@types/debug-https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz"
-              sources."@types/graceful-fs-4.1.5"
-              sources."@types/istanbul-lib-coverage-2.0.4"
-              sources."@types/istanbul-lib-report-3.0.0"
-              sources."@types/istanbul-reports-3.0.1"
-              sources."@types/jest-https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz"
-              sources."@types/json-schema-7.0.9"
-              sources."@types/ms-0.7.31"
-              sources."@types/mz-https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz"
-              sources."@types/nedb-https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz"
-              sources."@types/node-17.0.15"
-              sources."@types/prettier-2.4.3"
-              sources."@types/serialport-https://registry.npmjs.org/@types/serialport/-/serialport-8.0.2.tgz"
-              sources."@types/stack-utils-2.0.1"
-              sources."@types/yargs-16.0.4"
-              sources."@types/yargs-parser-20.2.1"
-              sources."@typescript-eslint/eslint-plugin-https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz"
-              sources."@typescript-eslint/parser-https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.2.tgz"
-              sources."@typescript-eslint/scope-manager-5.10.2"
-              sources."@typescript-eslint/type-utils-5.10.2"
-              sources."@typescript-eslint/types-5.10.2"
-              sources."@typescript-eslint/typescript-estree-5.10.2"
-              sources."@typescript-eslint/utils-5.10.2"
-              sources."@typescript-eslint/visitor-keys-5.10.2"
-              sources."abab-2.0.5"
-              sources."acorn-8.7.0"
-              (sources."acorn-globals-6.0.0" // {
-                dependencies = [
-                  sources."acorn-7.4.1"
-                ];
-              })
-              sources."acorn-jsx-5.3.2"
-              sources."acorn-walk-7.2.0"
-              sources."agent-base-6.0.2"
-              sources."ajv-6.12.6"
-              (sources."ansi-escapes-4.3.2" // {
-                dependencies = [
-                  sources."type-fest-0.21.3"
-                ];
-              })
-              sources."ansi-regex-2.1.1"
-              sources."ansi-styles-3.2.1"
-              sources."any-promise-1.3.0"
-              sources."anymatch-3.1.2"
-              sources."aproba-1.2.0"
-              sources."are-we-there-yet-1.1.7"
-              sources."argparse-1.0.10"
-              sources."array-union-2.1.0"
-              sources."asynckit-0.4.0"
-              (sources."babel-jest-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."babel-plugin-dynamic-import-node-2.3.3"
-              sources."babel-plugin-istanbul-6.1.1"
-              sources."babel-plugin-jest-hoist-27.5.0"
-              (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
-                dependencies = [
-                  sources."semver-6.3.0"
-                ];
-              })
-              sources."babel-plugin-polyfill-corejs3-0.5.2"
-              sources."babel-plugin-polyfill-regenerator-0.3.1"
-              sources."babel-preset-current-node-syntax-1.0.1"
-              sources."babel-preset-jest-27.5.0"
-              sources."balanced-match-1.0.2"
-              sources."base64-js-1.5.1"
-              sources."binary-extensions-2.2.0"
-              sources."bindings-1.5.0"
-              (sources."bl-4.1.0" // {
-                dependencies = [
-                  sources."readable-stream-3.6.0"
-                ];
-              })
-              sources."brace-expansion-1.1.11"
-              sources."braces-3.0.2"
-              sources."browser-process-hrtime-1.0.0"
-              sources."browserslist-4.19.1"
-              sources."bser-2.1.1"
-              sources."buffer-5.7.1"
-              sources."buffer-from-1.1.2"
-              sources."call-bind-1.0.2"
-              sources."callsites-3.1.0"
-              sources."camelcase-5.3.1"
-              sources."caniuse-lite-1.0.30001307"
-              sources."chalk-2.4.2"
-              sources."char-regex-1.0.2"
-              sources."chokidar-3.5.3"
-              sources."chownr-1.1.4"
-              sources."ci-info-3.3.0"
-              sources."cjs-module-lexer-1.2.2"
-              (sources."cliui-7.0.4" // {
-                dependencies = [
-                  sources."ansi-regex-5.0.1"
-                  sources."is-fullwidth-code-point-3.0.0"
-                  sources."string-width-4.2.3"
-                  sources."strip-ansi-6.0.1"
-                ];
-              })
-              sources."co-4.6.0"
-              sources."code-point-at-1.1.0"
-              sources."collect-v8-coverage-1.0.1"
-              sources."color-convert-1.9.3"
-              sources."color-name-1.1.3"
-              sources."combined-stream-1.0.8"
-              sources."commander-4.1.1"
-              sources."concat-map-0.0.1"
-              sources."console-control-strings-1.1.0"
-              sources."convert-source-map-1.8.0"
-              (sources."core-js-compat-3.21.0" // {
-                dependencies = [
-                  sources."semver-7.0.0"
-                ];
-              })
-              sources."core-util-is-1.0.3"
-              sources."cross-spawn-7.0.3"
-              sources."cssom-0.4.4"
-              (sources."cssstyle-2.3.0" // {
-                dependencies = [
-                  sources."cssom-0.3.8"
-                ];
-              })
-              sources."data-urls-2.0.0"
-              sources."debounce-1.2.1"
-              sources."debug-4.3.3"
-              sources."decimal.js-10.3.1"
-              sources."decompress-response-6.0.0"
-              sources."dedent-0.7.0"
-              sources."deep-extend-0.6.0"
-              sources."deep-is-0.1.4"
-              sources."deepmerge-4.2.2"
-              sources."define-properties-1.1.3"
-              sources."delayed-stream-1.0.0"
-              sources."delegates-1.0.0"
-              sources."detect-libc-2.0.0"
-              sources."detect-newline-3.1.0"
-              sources."diff-sequences-27.5.0"
-              sources."dir-glob-3.0.1"
-              sources."doctrine-3.0.0"
-              (sources."domexception-2.0.1" // {
-                dependencies = [
-                  sources."webidl-conversions-5.0.0"
-                ];
-              })
-              sources."electron-to-chromium-1.4.65"
-              sources."emittery-0.8.1"
-              sources."emoji-regex-8.0.0"
-              sources."end-of-stream-1.4.4"
-              sources."escalade-3.1.1"
-              sources."escape-string-regexp-1.0.5"
-              (sources."escodegen-2.0.0" // {
-                dependencies = [
-                  sources."estraverse-5.3.0"
-                  sources."levn-0.3.0"
-                  sources."optionator-0.8.3"
-                  sources."prelude-ls-1.1.2"
-                  sources."source-map-0.6.1"
-                  sources."type-check-0.3.2"
-                ];
-              })
-              (sources."eslint-https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz" // {
-                dependencies = [
-                  sources."ansi-regex-5.0.1"
-                  sources."ansi-styles-4.3.0"
-                  sources."argparse-2.0.1"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."escape-string-regexp-4.0.0"
-                  sources."eslint-scope-7.1.0"
-                  sources."estraverse-5.3.0"
-                  sources."glob-parent-6.0.2"
-                  sources."globals-13.12.1"
-                  sources."has-flag-4.0.0"
-                  sources."js-yaml-4.1.0"
-                  sources."strip-ansi-6.0.1"
-                  sources."strip-json-comments-3.1.1"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."eslint-scope-5.1.1"
-              (sources."eslint-utils-3.0.0" // {
-                dependencies = [
-                  sources."eslint-visitor-keys-2.1.0"
-                ];
-              })
-              sources."eslint-visitor-keys-3.2.0"
-              sources."espree-9.3.0"
-              sources."esprima-4.0.1"
-              (sources."esquery-1.4.0" // {
-                dependencies = [
-                  sources."estraverse-5.3.0"
-                ];
-              })
-              (sources."esrecurse-4.3.0" // {
-                dependencies = [
-                  sources."estraverse-5.3.0"
-                ];
-              })
-              sources."estraverse-4.3.0"
-              sources."esutils-2.0.3"
-              sources."execa-5.1.1"
-              sources."exit-0.1.2"
-              sources."expand-template-2.0.3"
-              sources."expect-27.5.0"
-              sources."fast-deep-equal-3.1.3"
-              sources."fast-glob-3.2.11"
-              sources."fast-json-stable-stringify-2.1.0"
-              sources."fast-levenshtein-2.0.6"
-              sources."fastq-1.13.0"
-              sources."fb-watchman-2.0.1"
-              sources."file-entry-cache-6.0.1"
-              sources."file-uri-to-path-1.0.0"
-              sources."fill-range-7.0.1"
-              sources."find-up-4.1.0"
-              sources."flat-cache-3.0.4"
-              sources."flatted-3.2.5"
-              sources."form-data-3.0.1"
-              sources."fs-constants-1.0.0"
-              sources."fs-readdir-recursive-1.1.0"
-              sources."fs.realpath-1.0.0"
-              sources."fsevents-2.3.2"
-              sources."function-bind-1.1.1"
-              sources."functional-red-black-tree-1.0.1"
-              sources."gauge-2.7.4"
-              sources."gensync-1.0.0-beta.2"
-              sources."get-caller-file-2.0.5"
-              sources."get-intrinsic-1.1.1"
-              sources."get-package-type-0.1.0"
-              sources."get-stream-6.0.1"
-              sources."github-from-package-0.0.0"
-              sources."glob-7.2.0"
-              sources."glob-parent-5.1.2"
-              sources."globals-11.12.0"
-              (sources."globby-11.1.0" // {
-                dependencies = [
-                  sources."slash-3.0.0"
-                ];
-              })
-              sources."graceful-fs-4.2.9"
-              (sources."handlebars-4.7.7" // {
-                dependencies = [
-                  sources."source-map-0.6.1"
-                ];
-              })
-              sources."has-1.0.3"
-              sources."has-flag-3.0.0"
-              sources."has-symbols-1.0.2"
-              sources."has-unicode-2.0.1"
-              sources."html-encoding-sniffer-2.0.1"
-              sources."html-escaper-2.0.2"
-              sources."http-proxy-agent-4.0.1"
-              sources."https-proxy-agent-5.0.0"
-              sources."human-signals-2.1.0"
-              sources."iconv-lite-0.4.24"
-              sources."ieee754-1.2.1"
-              sources."ignore-5.2.0"
-              (sources."import-fresh-3.3.0" // {
-                dependencies = [
-                  sources."resolve-from-4.0.0"
-                ];
-              })
-              sources."import-local-3.1.0"
-              sources."imurmurhash-0.1.4"
-              sources."inflight-1.0.6"
-              sources."inherits-2.0.4"
-              sources."ini-1.3.8"
-              sources."is-binary-path-2.1.0"
-              sources."is-core-module-2.8.1"
-              sources."is-extglob-2.1.1"
-              sources."is-fullwidth-code-point-1.0.0"
-              sources."is-generator-fn-2.1.0"
-              sources."is-glob-4.0.3"
-              sources."is-number-7.0.0"
-              sources."is-potential-custom-element-name-1.0.1"
-              sources."is-stream-2.0.1"
-              sources."is-typedarray-1.0.0"
-              sources."isarray-1.0.0"
-              sources."isexe-2.0.0"
-              sources."istanbul-lib-coverage-3.2.0"
-              (sources."istanbul-lib-instrument-5.1.0" // {
-                dependencies = [
-                  sources."semver-6.3.0"
-                ];
-              })
-              (sources."istanbul-lib-report-3.0.0" // {
-                dependencies = [
-                  sources."has-flag-4.0.0"
-                  sources."make-dir-3.1.0"
-                  sources."semver-6.3.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."istanbul-lib-source-maps-4.0.1" // {
-                dependencies = [
-                  sources."source-map-0.6.1"
-                ];
-              })
-              sources."istanbul-reports-3.1.4"
-              (sources."jest-https://registry.npmjs.org/jest/-/jest-27.5.0.tgz" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."jest-cli-27.5.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."jest-changed-files-27.5.0"
-              (sources."jest-circus-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."jest-config-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."jest-diff-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."jest-docblock-27.5.0"
-              (sources."jest-each-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."jest-environment-jsdom-27.5.0"
-              sources."jest-environment-node-27.5.0"
-              sources."jest-get-type-27.5.0"
-              sources."jest-haste-map-27.5.0"
-              (sources."jest-jasmine2-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."jest-leak-detector-27.5.0"
-              (sources."jest-matcher-utils-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."jest-message-util-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."jest-mock-27.5.0"
-              sources."jest-pnp-resolver-1.2.2"
-              sources."jest-regex-util-27.5.0"
-              (sources."jest-resolve-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."jest-resolve-dependencies-27.5.0"
-              (sources."jest-runner-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."jest-runtime-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."jest-serializer-27.5.0"
-              (sources."jest-snapshot-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."jest-util-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."jest-validate-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."camelcase-6.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."jest-watcher-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."jest-worker-27.5.0" // {
-                dependencies = [
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-8.1.1"
-                ];
-              })
-              sources."js-tokens-4.0.0"
-              sources."js-yaml-3.14.1"
-              sources."jsdom-16.7.0"
-              sources."jsesc-2.5.2"
-              sources."json-schema-traverse-0.4.1"
-              sources."json-stable-stringify-without-jsonify-1.0.1"
-              sources."json5-2.2.0"
-              sources."jsonc-parser-3.0.0"
-              sources."kleur-3.0.3"
-              sources."leven-3.1.0"
-              sources."levn-0.4.1"
-              sources."locate-path-5.0.0"
-              sources."lodash-4.17.21"
-              sources."lodash.debounce-4.0.8"
-              sources."lodash.merge-4.6.2"
-              sources."lru-cache-6.0.0"
-              sources."lunr-2.3.9"
-              (sources."make-dir-2.1.0" // {
-                dependencies = [
-                  sources."semver-5.7.1"
-                ];
-              })
-              sources."makeerror-1.0.12"
-              sources."marked-4.0.12"
-              sources."merge-stream-2.0.0"
-              sources."merge2-1.4.1"
-              sources."micromatch-4.0.4"
-              sources."mime-db-1.51.0"
-              sources."mime-types-2.1.34"
-              sources."mimic-fn-2.1.0"
-              sources."mimic-response-3.1.0"
-              sources."minimatch-3.0.4"
-              sources."minimist-1.2.5"
-              sources."mixin-deep-2.0.1"
-              sources."mkdirp-classic-0.5.3"
-              sources."ms-2.1.2"
-              sources."mz-2.7.0"
-              sources."nan-2.15.0"
-              sources."napi-build-utils-1.0.2"
-              sources."natural-compare-1.4.0"
-              sources."neo-async-2.6.2"
-              sources."node-abi-3.8.0"
-              sources."node-int64-0.4.0"
-              sources."node-releases-2.0.1"
-              sources."normalize-path-3.0.0"
-              sources."npm-run-path-4.0.1"
-              sources."npmlog-4.1.2"
-              sources."number-is-nan-1.0.1"
-              sources."nwsapi-2.2.0"
-              sources."object-assign-4.1.1"
-              sources."object-keys-1.1.1"
-              sources."object.assign-4.1.2"
-              sources."once-1.4.0"
-              sources."onetime-5.1.2"
-              sources."optionator-0.9.1"
-              sources."p-limit-2.3.0"
-              sources."p-locate-4.1.0"
-              sources."p-try-2.2.0"
-              sources."parent-module-1.0.1"
-              sources."parse5-6.0.1"
-              sources."path-exists-4.0.0"
-              sources."path-is-absolute-1.0.1"
-              sources."path-key-3.1.1"
-              sources."path-parse-1.0.7"
-              sources."path-type-4.0.0"
-              sources."picocolors-1.0.0"
-              sources."picomatch-2.3.1"
-              sources."pify-4.0.1"
-              sources."pirates-4.0.5"
-              sources."pkg-dir-4.2.0"
-              sources."prebuild-install-7.0.1"
-              sources."prelude-ls-1.2.1"
-              (sources."pretty-format-27.5.0" // {
-                dependencies = [
-                  sources."ansi-regex-5.0.1"
-                  sources."ansi-styles-5.2.0"
-                ];
-              })
-              sources."process-nextick-args-2.0.1"
-              sources."prompts-2.4.2"
-              sources."psl-1.8.0"
-              sources."pump-3.0.0"
-              sources."punycode-2.1.1"
-              sources."queue-microtask-1.2.3"
-              sources."rc-1.2.8"
-              sources."react-is-17.0.2"
-              sources."readable-stream-2.3.7"
-              sources."readdirp-3.6.0"
-              sources."regenerate-1.4.2"
-              sources."regenerate-unicode-properties-10.0.1"
-              sources."regenerator-runtime-0.13.9"
-              sources."regenerator-transform-0.14.5"
-              sources."regexpp-3.2.0"
-              sources."regexpu-core-5.0.1"
-              sources."regjsgen-0.6.0"
-              (sources."regjsparser-0.8.4" // {
-                dependencies = [
-                  sources."jsesc-0.5.0"
-                ];
-              })
-              sources."require-directory-2.1.1"
-              sources."resolve-1.22.0"
-              sources."resolve-cwd-3.0.0"
-              sources."resolve-from-5.0.0"
-              sources."resolve.exports-1.1.0"
-              sources."reusify-1.0.4"
-              sources."rimraf-3.0.2"
-              sources."run-parallel-1.2.0"
-              sources."safe-buffer-5.1.2"
-              sources."safer-buffer-2.1.2"
-              sources."saxes-5.0.1"
-              sources."semver-7.3.5"
-              sources."serialport-9.2.8"
-              sources."set-blocking-2.0.0"
-              sources."shebang-command-2.0.0"
-              sources."shebang-regex-3.0.0"
-              sources."shiki-0.10.0"
-              sources."signal-exit-3.0.7"
-              sources."simple-concat-1.0.1"
-              sources."simple-get-4.0.1"
-              sources."sisteransi-1.0.5"
-              sources."slash-2.0.0"
-              sources."slip-1.0.2"
-              sources."source-map-0.5.7"
-              (sources."source-map-support-0.5.21" // {
-                dependencies = [
-                  sources."source-map-0.6.1"
-                ];
-              })
-              sources."sprintf-js-1.0.3"
-              (sources."stack-utils-2.0.5" // {
-                dependencies = [
-                  sources."escape-string-regexp-2.0.0"
-                ];
-              })
-              (sources."string-length-4.0.2" // {
-                dependencies = [
-                  sources."ansi-regex-5.0.1"
-                  sources."strip-ansi-6.0.1"
-                ];
-              })
-              sources."string-width-1.0.2"
-              sources."string_decoder-1.1.1"
-              sources."strip-ansi-3.0.1"
-              sources."strip-bom-4.0.0"
-              sources."strip-final-newline-2.0.0"
-              sources."strip-json-comments-2.0.1"
-              sources."supports-color-5.5.0"
-              (sources."supports-hyperlinks-2.2.0" // {
-                dependencies = [
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."supports-preserve-symlinks-flag-1.0.0"
-              sources."symbol-tree-3.2.4"
-              sources."tar-fs-2.1.1"
-              (sources."tar-stream-2.2.0" // {
-                dependencies = [
-                  sources."readable-stream-3.6.0"
-                ];
-              })
-              sources."terminal-link-2.1.1"
-              sources."test-exclude-6.0.0"
-              sources."text-table-0.2.0"
-              sources."thenify-3.3.1"
-              sources."thenify-all-1.6.0"
-              sources."throat-6.0.1"
-              sources."tmpl-1.0.5"
-              sources."to-fast-properties-2.0.0"
-              sources."to-regex-range-5.0.1"
-              sources."tough-cookie-4.0.0"
-              sources."tr46-2.1.0"
-              sources."tslib-1.14.1"
-              sources."tsutils-3.21.0"
-              sources."tunnel-agent-0.6.0"
-              sources."type-check-0.4.0"
-              sources."type-detect-4.0.8"
-              sources."type-fest-0.20.2"
-              sources."typedarray-to-buffer-3.1.5"
-              sources."typedoc-https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz"
-              sources."typedoc-plugin-markdown-https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.13.tgz"
-              sources."typedoc-plugin-no-inherit-https://registry.npmjs.org/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.3.1.tgz"
-              sources."typedoc-plugin-sourcefile-url-https://registry.npmjs.org/typedoc-plugin-sourcefile-url/-/typedoc-plugin-sourcefile-url-1.0.6.tgz"
-              sources."typescript-https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz"
-              sources."uglify-js-3.15.0"
-              sources."unicode-canonical-property-names-ecmascript-2.0.0"
-              sources."unicode-match-property-ecmascript-2.0.0"
-              sources."unicode-match-property-value-ecmascript-2.0.0"
-              sources."unicode-property-aliases-ecmascript-2.0.0"
-              sources."universalify-0.1.2"
-              sources."uri-js-4.4.1"
-              sources."util-deprecate-1.0.2"
-              sources."v8-compile-cache-2.3.0"
-              (sources."v8-to-istanbul-8.1.1" // {
-                dependencies = [
-                  sources."source-map-0.7.3"
-                ];
-              })
-              sources."vscode-oniguruma-1.6.1"
-              sources."vscode-textmate-5.2.0"
-              sources."w3c-hr-time-1.0.2"
-              sources."w3c-xmlserializer-2.0.0"
-              sources."walker-1.0.8"
-              sources."webidl-conversions-6.1.0"
-              sources."whatwg-encoding-1.0.5"
-              sources."whatwg-mimetype-2.3.0"
-              sources."whatwg-url-8.7.0"
-              sources."which-2.0.2"
-              sources."wide-align-1.1.5"
-              sources."word-wrap-1.2.3"
-              sources."wordwrap-1.0.0"
-              (sources."wrap-ansi-7.0.0" // {
-                dependencies = [
-                  sources."ansi-regex-5.0.1"
-                  sources."ansi-styles-4.3.0"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."is-fullwidth-code-point-3.0.0"
-                  sources."string-width-4.2.3"
-                  sources."strip-ansi-6.0.1"
-                ];
-              })
-              sources."wrappy-1.0.2"
-              sources."write-file-atomic-3.0.3"
-              sources."ws-7.5.6"
-              sources."xml-name-validator-3.0.0"
-              sources."xmlchars-2.2.0"
-              sources."y18n-5.0.8"
-              sources."yallist-4.0.0"
-              (sources."yargs-16.2.0" // {
-                dependencies = [
-                  sources."ansi-regex-5.0.1"
-                  sources."is-fullwidth-code-point-3.0.0"
-                  sources."string-width-4.2.3"
-                  sources."strip-ansi-6.0.1"
-                ];
-              })
-              sources."yargs-parser-20.2.9"
-            ];
-          })
-        ];
-      })
-      sources."zigbee2mqtt-frontend-0.6.80"
+      sources."zigbee-herdsman-0.14.27"
+      sources."zigbee-herdsman-converters-14.0.504"
+      sources."zigbee2mqtt-frontend-0.6.83"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/shells/zsh/zplug/default.nix b/pkgs/shells/zsh/zplug/default.nix
index d35eb345dda..0660bbe7e7b 100644
--- a/pkgs/shells/zsh/zplug/default.nix
+++ b/pkgs/shells/zsh/zplug/default.nix
@@ -24,7 +24,8 @@ stdenv.mkDerivation rec {
     description = "A next-generation plugin manager for zsh";
     homepage = "https://github.com/zplug/zplug";
     license = licenses.mit;
-    platforms = platforms.all;
     maintainers = [ maintainers.s1341 ];
+    mainProgram = "zplug-env";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
index 6d8ea1a9de9..029950b9bee 100644
--- a/pkgs/shells/zsh/zsh-fzf-tab/default.nix
+++ b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
@@ -4,13 +4,13 @@ let
   INSTALL_PATH="${placeholder "out"}/share/fzf-tab";
 in stdenv.mkDerivation rec {
   pname = "zsh-fzf-tab";
-  version = "unstable-2022-02-10";
+  version = "unstable-2022-04-15";
 
   src = fetchFromGitHub {
     owner = "Aloxaf";
     repo = "fzf-tab";
-    rev = "e8145d541a35d8a03df49fbbeefa50c4a0076bbf";
-    sha256 = "h/3XP/BiNnUgQI29gEBl6RFee77WDhFyvsnTi1eRbKg=";
+    rev = "7e0eee64df6c7c81a57792674646b5feaf89f263";
+    sha256 = "sha256-ixUnuNtxxmiigeVjzuV5uG6rIBPY/1vdBZF2/Qv0Trs=";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/shells/zsh/zsh-history/default.nix b/pkgs/shells/zsh/zsh-history/default.nix
index be5c6650557..9f88d972e7d 100644
--- a/pkgs/shells/zsh/zsh-history/default.nix
+++ b/pkgs/shells/zsh/zsh-history/default.nix
@@ -25,10 +25,11 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A CLI to provide enhanced history for your ZSH shell";
-    license = licenses.mit;
     homepage = "https://github.com/b4b4r07/history";
-    platforms = platforms.unix;
+    license = licenses.mit;
     maintainers = with maintainers; [ ];
+    mainProgram = "history";
+    platforms = platforms.unix;
   };
 
   passthru.tests = {
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 9884c219ff6..e11b6efb59c 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -149,25 +149,15 @@ rec {
   });
 
 
-  /* Return a modified stdenv that builds packages with GCC's coverage
-     instrumentation.  The coverage note files (*.gcno) are stored in
-     $out/.build, along with the source code of the package, to enable
-     programs like lcov to produce pretty-printed reports.
-  */
+  # remove after 22.05 and before 22.11
   addCoverageInstrumentation = stdenv:
+    builtins.trace "'addCoverageInstrumentation' adapter is deprecated and will be removed before 22.11"
     overrideInStdenv stdenv [ pkgs.enableGCOVInstrumentation pkgs.keepBuildTree ];
 
 
-  /* Replace the meta.maintainers field of a derivation.  This is useful
-     when you want to fork to update some packages without disturbing other
-     developers.
-
-     e.g.:  in all-packages.nix:
-
-     # remove all maintainers.
-     defaultStdenv = replaceMaintainersField allStdenvs.stdenv pkgs [];
-  */
+  # remove after 22.05 and before 22.11
   replaceMaintainersField = stdenv: pkgs: maintainers:
+    builtins.trace "'replaceMaintainersField' adapter is deprecated and will be removed before 22.11"
     stdenv.override (old: {
       mkDerivationFromStdenv = overrideMkDerivationResult (pkg:
         lib.recursiveUpdate pkg { meta.maintainers = maintainers; });
@@ -193,22 +183,9 @@ rec {
     });
 
 
-  /* Abort if the license predicate is not verified for a derivation
-     declared with mkDerivation.
-
-     One possible predicate to avoid all non-free packages can be achieved
-     with the following function:
-
-     isFree = license: with builtins;
-       if license == null then true
-       else if isList license then lib.all isFree license
-       else license != "non-free" && license != "unfree";
-
-     This adapter can be defined on the defaultStdenv definition.  You can
-     use it by patching the all-packages.nix file or by using the override
-     feature of ~/.config/nixpkgs/config.nix .
-  */
+  # remove after 22.05 and before 22.11
   validateLicenses = licensePred: stdenv:
+    builtins.trace "'validateLicenses' adapter is deprecated and will be removed before 22.11"
     stdenv.override (old: {
       mkDerivationFromStdenv = overrideMkDerivationResult (pkg:
         let
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index 6fbd78c422d..32e4fe9749a 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -98,6 +98,7 @@ rec {
 
       doSign = localSystem.isAarch64 && last != null;
       doUpdateAutoTools = localSystem.isAarch64 && last != null;
+      inherit (last.pkgs) runCommandLocal;
 
       mkExtraBuildCommands = cc: ''
         rsrc="$out/resource-root"
@@ -223,23 +224,15 @@ rec {
         '';
       };
 
-      pbzx = stdenv.mkDerivation {
-        name = "bootstrap-stage0-pbzx";
-        phases = [ "installPhase" ];
-        installPhase = ''
-          mkdir -p $out/bin
-          ln -s ${bootstrapTools}/bin/pbzx $out/bin
-        '';
-      };
+      pbzx = self.runCommandLocal "bootstrap-stage0-pbzx" { } ''
+        mkdir -p $out/bin
+        ln -s ${bootstrapTools}/bin/pbzx $out/bin
+      '';
 
-      cpio = stdenv.mkDerivation {
-        name = "bootstrap-stage0-cpio";
-        phases = [ "installPhase" ];
-        installPhase = ''
-          mkdir -p $out/bin
-          ln -s ${bootstrapFiles.cpio} $out/bin/cpio
-        '';
-      };
+      cpio = self.runCommandLocal "bootstrap-stage0-cpio" { } ''
+        mkdir -p $out/bin
+        ln -s ${bootstrapFiles.cpio} $out/bin/cpio
+      '';
 
       darwin = super.darwin.overrideScope (selfDarwin: superDarwin: {
         darwin-stubs = superDarwin.darwin-stubs.override { inherit (self) stdenvNoCC fetchurl; };
@@ -253,43 +246,21 @@ rec {
           '';
         };
 
-        sigtool = stdenv.mkDerivation {
-          name = "bootstrap-stage0-sigtool";
-          phases = [ "installPhase" ];
-          installPhase = ''
-            mkdir -p $out/bin
-            ln -s ${bootstrapTools}/bin/sigtool $out/bin
-
-            # Rewrite nuked references
-            sed -e "s|[^( ]*\bsigtool\b|$out/bin/sigtool|g" \
-              ${bootstrapTools}/bin/codesign > $out/bin/codesign
-            chmod a+x $out/bin/codesign
-          '';
-          # on next bootstrap tools update, use the following:
-          # installPhase = ''
-          #   mkdir -p $out/bin
-          #   ln -s ${bootstrapTools}/bin/sigtool  $out/bin
-          #   ln -s ${bootstrapTools}/bin/codesign $out/bin
-          # '';
-        };
+        sigtool = self.runCommandLocal "bootstrap-stage0-sigtool" { } ''
+           mkdir -p $out/bin
+           ln -s ${bootstrapTools}/bin/sigtool  $out/bin
+           ln -s ${bootstrapTools}/bin/codesign $out/bin
+        '';
 
-        print-reexports = stdenv.mkDerivation {
-          name = "bootstrap-stage0-print-reexports";
-          phases = [ "installPhase" ];
-          installPhase = ''
-            mkdir -p $out/bin
-            ln -s ${bootstrapTools}/bin/print-reexports $out/bin
-          '';
-        };
+        print-reexports = self.runCommandLocal "bootstrap-stage0-print-reexports" { } ''
+          mkdir -p $out/bin
+          ln -s ${bootstrapTools}/bin/print-reexports $out/bin
+        '';
 
-        rewrite-tbd = stdenv.mkDerivation {
-          name = "bootstrap-stage0-rewrite-tbd";
-          phases = [ "installPhase" ];
-          installPhase = ''
-            mkdir -p $out/bin
-            ln -s ${bootstrapTools}/bin/rewrite-tbd $out/bin
-          '';
-        };
+        rewrite-tbd = self.runCommandLocal "bootstrap-stage0-rewrite-tbd" { } ''
+          mkdir -p $out/bin
+          ln -s ${bootstrapTools}/bin/rewrite-tbd $out/bin
+        '';
 
         binutils-unwrapped = { name = "bootstrap-stage0-binutils"; outPath = bootstrapTools; };
 
@@ -359,7 +330,7 @@ rec {
 
         libcxx = stdenv.mkDerivation {
           name = "bootstrap-stage0-libcxx";
-          phases = [ "installPhase" "fixupPhase" ];
+          dontUnpack = true;
           installPhase = ''
             mkdir -p $out/lib $out/include
             ln -s ${bootstrapTools}/lib/libc++.dylib $out/lib/libc++.dylib
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 11c0a29ce4f..88450328ca7 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -83,7 +83,7 @@ makeOverlayable (overrideAttrs:
 # * https://nixos.org/nixpkgs/manual/#sec-using-stdenv
 #   Details on how to use this mkDerivation function
 #
-# * https://nixos.org/nix/manual/#ssec-derivation
+# * https://nixos.org/manual/nix/stable/expressions/derivations.html#derivations
 #   Explanation about derivations in general
 {
 
diff --git a/pkgs/test/make-binary-wrapper/default.nix b/pkgs/test/make-binary-wrapper/default.nix
index b5bbf994ffa..2d3389c4a01 100644
--- a/pkgs/test/make-binary-wrapper/default.nix
+++ b/pkgs/test/make-binary-wrapper/default.nix
@@ -44,6 +44,7 @@ let
       "invalid-env"
       "prefix"
       "suffix"
+      "overlength-strings"
     ];
     f = name: lib.nameValuePair name (makeGoldenTest name);
   in builtins.listToAttrs (builtins.map f names);
diff --git a/pkgs/test/make-binary-wrapper/overlength-strings.c b/pkgs/test/make-binary-wrapper/overlength-strings.c
new file mode 100644
index 00000000000..579705d33e9
--- /dev/null
+++ b/pkgs/test/make-binary-wrapper/overlength-strings.c
@@ -0,0 +1,25 @@
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <unistd.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <stdio.h>
+
+#define assert_success(e) do { if ((e) < 0) { perror(#e); abort(); } } while (0)
+
+void set_env_prefix(char *env, char *sep, char *prefix) {
+    char *existing = getenv(env);
+    if (existing) {
+        char *val;
+        assert_success(asprintf(&val, "%s%s%s", prefix, sep, existing));
+        assert_success(setenv(env, val, 1));
+        free(val);
+    } else {
+        assert_success(setenv(env, prefix, 1));
+    }
+}
+
+int main(int argc, char **argv) {
+    set_env_prefix("PATH", ":", "/nix/store/00000000000000000000000000000000-loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong");
+    argv[0] = "/send/me/flags";
+    return execv("/send/me/flags", argv);
+}
diff --git a/pkgs/test/make-binary-wrapper/overlength-strings.cmdline b/pkgs/test/make-binary-wrapper/overlength-strings.cmdline
new file mode 100644
index 00000000000..686abbb1cdb
--- /dev/null
+++ b/pkgs/test/make-binary-wrapper/overlength-strings.cmdline
@@ -0,0 +1 @@
+    --prefix PATH : /nix/store/00000000000000000000000000000000-loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
diff --git a/pkgs/test/make-binary-wrapper/overlength-strings.env b/pkgs/test/make-binary-wrapper/overlength-strings.env
new file mode 100644
index 00000000000..83a02f5f834
--- /dev/null
+++ b/pkgs/test/make-binary-wrapper/overlength-strings.env
@@ -0,0 +1,3 @@
+PATH=/nix/store/00000000000000000000000000000000-loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
+CWD=SUBST_CWD
+SUBST_ARGV0
diff --git a/pkgs/test/nixos-functions/default.nix b/pkgs/test/nixos-functions/default.nix
index 1e4b8d905e5..bdd5e3c6d8b 100644
--- a/pkgs/test/nixos-functions/default.nix
+++ b/pkgs/test/nixos-functions/default.nix
@@ -24,6 +24,7 @@ in lib.optionalAttrs stdenv.hostPlatform.isLinux (
       system.nixos = dummyVersioning;
       boot.loader.grub.enable = false;
       fileSystems."/".device = "/dev/null";
+      system.stateVersion = lib.trivial.release;
     }).toplevel;
 
   }
diff --git a/pkgs/tools/X11/opentabletdriver/default.nix b/pkgs/tools/X11/opentabletdriver/default.nix
index a8ba509c78c..3b631c22d15 100644
--- a/pkgs/tools/X11/opentabletdriver/default.nix
+++ b/pkgs/tools/X11/opentabletdriver/default.nix
@@ -19,13 +19,13 @@
 
 buildDotnetModule rec {
   pname = "OpenTabletDriver";
-  version = "0.6.0.3";
+  version = "0.6.0.4";
 
   src = fetchFromGitHub {
     owner = "OpenTabletDriver";
     repo = "OpenTabletDriver";
     rev = "v${version}";
-    sha256 = "sha256-/Tow25ycQEK8HN1IaB12ZXCXEsuKItD+aYLF/IX8Eos=";
+    sha256 = "sha256-VvxW8Ck+XC4nXSUyDhcbGoeSr5uSAZ66jtZNoADuVR8=";
   };
 
   debPkg = fetchurl {
diff --git a/pkgs/tools/X11/opentabletdriver/deps.nix b/pkgs/tools/X11/opentabletdriver/deps.nix
index 8ead5fc8a11..f0b52529500 100644
--- a/pkgs/tools/X11/opentabletdriver/deps.nix
+++ b/pkgs/tools/X11/opentabletdriver/deps.nix
@@ -20,6 +20,7 @@
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.4.1"; sha256 = "0z6d1i6xcf0c00z6rs75rgw4ncs9q2m8amasf6mmbf40fm02ry7g"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0-rc.1.21451.13"; sha256 = "0r6945jq7c2f1wjifq514zvngicndjqfnsjya6hqw0yzah0jr56c"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0-rc.1.21451.13"; sha256 = "11dg16x6g0gssb143qpghxz1s41himvhr7yhjwxs9hacx4ij2dm1"; })
+  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.9.4"; sha256 = "1jdx05zmrqj1s7xfgn3wgy10qb5cl1n1jcj5kz43zvkw1amc7ra4"; })
   (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "5.0.0"; sha256 = "1p62khf9zk23lh91lvz7plv3g1nzmm3b5szqrcm6mb8w3sjk03wi"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
@@ -27,7 +28,6 @@
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.0.0"; sha256 = "1bk8r4r3ihmi6322jmcag14jmw11mjqys202azqjzglcx59pxh51"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
-  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.9.4"; sha256 = "1jdx05zmrqj1s7xfgn3wgy10qb5cl1n1jcj5kz43zvkw1amc7ra4"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.9.4"; sha256 = "1jizkbrnm4pv60zch29ki7gj8m7j5whk141x9cwx4kwsd6cfzwi6"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.9.4"; sha256 = "14110qzmypr72ywvx3npq7mf4n0gvdr4536v91z1xbapms65am6x"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "16.7.56"; sha256 = "13x0xrsjxd86clf9cjjwmpzlyp8pkrf13riya7igs8zy93zw2qap"; })
diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix
index 00ebb1ecec2..d2236dfe354 100644
--- a/pkgs/tools/X11/xnee/default.nix
+++ b/pkgs/tools/X11/xnee/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, libX11, xorgproto, libXext, libXtst
+{ fetchurl, fetchpatch, lib, stdenv, libX11, xorgproto, libXext, libXtst
 , gtk2, libXi, pkg-config, texinfo }:
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,17 @@ stdenv.mkDerivation rec {
     sha256 = "04n2lac0vgpv8zsn7nmb50hf3qb56pmj90dmwnivg09gyrf1x92j";
   };
 
-  patchPhase =
+  patches = [
+    # Pull fix pending upstream inclusion for -fno-common
+    # toolchain support: https://savannah.gnu.org/bugs/?58810
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://savannah.gnu.org/bugs/download.php?file_id=49534";
+      sha256 = "04j2cjy2yaiigg31a6k01vw0fq19yj3zpriikkjcz9q4ab4m5gh2";
+    })
+  ];
+
+  postPatch =
     '' for i in `find cnee/test -name \*.sh`
        do
          sed -i "$i" -e's|/bin/bash|${stdenv.shell}|g ; s|/usr/bin/env bash|${stdenv.shell}|g'
diff --git a/pkgs/tools/X11/xwinmosaic/default.nix b/pkgs/tools/X11/xwinmosaic/default.nix
index af17f3ade7d..51ba815f1de 100644
--- a/pkgs/tools/X11/xwinmosaic/default.nix
+++ b/pkgs/tools/X11/xwinmosaic/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, gtk2, cmake, pkg-config, libXdamage }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, gtk2, cmake, pkg-config, libXdamage }:
 
 stdenv.mkDerivation rec {
   version = "0.4.2";
@@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "16qhrpgn84fz0q3nfvaz5sisc82zk6y7c0sbvbr69zfx5fwbs1rr";
   };
 
+  patches = [
+    # Pull upstream fix for -fno-common toolchains like upstream gcc-10:
+    #  https://github.com/soulthreads/xwinmosaic/pull/33
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/soulthreads/xwinmosaic/commit/a193a3f30850327066e5a93b29316cba2735e10d.patch";
+      sha256 = "0qpk802j5x6bsfvj6jqw1nz482jynwyk7yrrh4bsziwc53khm95q";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config cmake ];
   buildInputs = [ gtk2 libXdamage ];
 
diff --git a/pkgs/tools/admin/aws-rotate-key/default.nix b/pkgs/tools/admin/aws-rotate-key/default.nix
index 82b57739120..35221b3fb5b 100644
--- a/pkgs/tools/admin/aws-rotate-key/default.nix
+++ b/pkgs/tools/admin/aws-rotate-key/default.nix
@@ -1,25 +1,29 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, testers, aws-rotate-key }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "aws-rotate-key";
-  version = "1.0.6";
-
-  goPackagePath = "github.com/Fullscreen/aws-rotate-key";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "Fullscreen";
     repo = "aws-rotate-key";
-    sha256 = "1w9704g1l2b0y6g6mk79g28kk0yaswpgljkk85d0i10wyxq4icby";
+    rev = "v${version}";
+    sha256 = "sha256-5kV87uQDSc/qpm79Pd2nXo/EcbMlhZqFYaw+gJQa2uo=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-h7tmJx/Um1Cy/ojiFjoKCH/LcOwhGU8ADb5WwmrkkJM=";
+
+  ldflags = [ "-s" "-w" ];
+
+  passthru.tests.version = testers.testVersion {
+    package = aws-rotate-key;
+  };
 
   meta = with lib; {
     description = "Easily rotate your AWS key";
     homepage = "https://github.com/Fullscreen/aws-rotate-key";
     license = licenses.mit;
-    maintainers = [maintainers.mbode];
+    maintainers = [ maintainers.mbode ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/admin/aws-rotate-key/deps.nix b/pkgs/tools/admin/aws-rotate-key/deps.nix
deleted file mode 100644
index 680a18e7e2d..00000000000
--- a/pkgs/tools/admin/aws-rotate-key/deps.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/go-ini/ini";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-ini/ini";
-      rev = "af26abd521cd7697481572fdbc4a53cbea3dde1b";
-      sha256 = "1yribbqy9i4i70dfg3yrjhkn3n0fywpr3kismn2mvi882mm01pxz";
-    };
-  }
-  {
-    goPackagePath = "github.com/jmespath/go-jmespath";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jmespath/go-jmespath";
-      rev = "c2b33e8439af944379acbdd9c3a5fe0bc44bd8a5";
-      sha256 = "1r6w7ydx8ydryxk3sfhzsk8m6f1nsik9jg3i1zhi69v4kfl4d5cz";
-    };
-  }
-  {
-    goPackagePath = "github.com/aws/aws-sdk-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/aws/aws-sdk-go";
-      rev = "f844700ba2a387dfee7ab3679e7544b5dbd6d394";
-      sha256 = "0s9100bzqj58nnax3dxfgi5qr4rbaa53cb0cj3s58k9jc9z6270m";
-    };
-  }
-]
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index f746941a953..b65b4a8fbbb 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -226,8 +226,19 @@ let
       azure-mgmt-media = overrideAzureMgmtPackage super.azure-mgmt-media "7.0.0" "zip"
         "sha256-tF6CpZTtkc1ap6XNXQHwOLesPPEiM+e6K+qqNHeQDo4=";
 
-      azure-mgmt-msi = overrideAzureMgmtPackage super.azure-mgmt-msi "0.2.0" "zip"
-        "0rvik03njz940x2hvqg6iiq8k0d88gyygsr86w8s0sa12sdbq8l6";
+      azure-mgmt-msi = super.azure-mgmt-msi.overridePythonAttrs (old: rec {
+        version = "0.2.0";
+        src = old.src.override {
+          inherit version;
+          sha256 = "0rvik03njz940x2hvqg6iiq8k0d88gyygsr86w8s0sa12sdbq8l6";
+        };
+        propagatedBuildInputs = with self; [
+          msrest
+          msrestazure
+          azure-common
+          azure-mgmt-nspkg
+        ];
+      });
 
       azure-mgmt-privatedns = overrideAzureMgmtPackage super.azure-mgmt-privatedns "1.0.0" "zip"
         "b60f16e43f7b291582c5f57bae1b083096d8303e9d9958e2c29227a55cc27c45";
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index 996ab16360b..de923d1f311 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.95.0";
+  version = "0.96.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WAu2ghQAih+f1PdfflsroUOAV5Cs+hvECOyw34DRugU=";
+    sha256 = "sha256-AmwkWFhoGRBWrEhRlTRLGRu79ayWceszZi2hgx388Eg=";
   };
 
-  vendorSha256 = "sha256-zedhE9WWCktqYig+bI4v9bQhzSW8laClgTI2Gsrz+FM=";
+  vendorSha256 = "sha256-akFclhx6c18u3z2oa6EvLd2NwkVCgJrYWv8Vbp1hZ9g=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/elasticsearch-curator/default.nix b/pkgs/tools/admin/elasticsearch-curator/default.nix
index 60a7e0586f5..576df67ad5f 100644
--- a/pkgs/tools/admin/elasticsearch-curator/default.nix
+++ b/pkgs/tools/admin/elasticsearch-curator/default.nix
@@ -1,63 +1,68 @@
-{ lib, fetchFromGitHub, python }:
+{ lib, fetchFromGitHub, python3 }:
 
 let
-py = python.override {
-  packageOverrides = self: super: {
-    click = super.click.overridePythonAttrs (oldAttrs: rec {
-      version = "6.7";
-      src = oldAttrs.src.override {
-        inherit version;
-        sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b";
-      };
-      doCheck = false;
-      postPatch = "";
-    });
+  python = python3.override {
+    packageOverrides = self: super: {
+      click = super.click.overridePythonAttrs (old: rec {
+        version = "7.1.2";
+        src = old.src.override {
+          inherit version;
+          sha256 = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a";
+        };
+      });
+      requests-aws4auth = super.requests-aws4auth.overridePythonAttrs (old: {
+        doCheck = false; # requires click>=8.0
+      });
+    };
   };
-};
-in
-
-with py.pkgs;
-buildPythonApplication rec {
+in python.pkgs.buildPythonApplication rec {
   pname   = "elasticsearch-curator";
-  version = "5.8.1";
+  version = "5.8.4";
+
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "elastic";
     repo = "curator";
     rev = "v${version}";
-    sha256 = "1shr9jslirjnbvma3p19djsnamxl7f3m9c8zrlclk57zv8rnwpkr";
+    hash = "sha256-wSfd52jebUkgF5xhjcoUjI7j46eJF33pVb4Wrybq44g=";
   };
 
-  # The test hangs so we disable it.
-  doCheck = false;
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "urllib3==1.26.4" "urllib3"
+    substituteInPlace setup.py \
+      --replace "urllib3==1.26.4" "urllib3" \
+      --replace "pyyaml==5.4.1" "pyyaml"
+  '';
 
-  propagatedBuildInputs = [
-    click
-    certifi
-    requests-aws4auth
-    pyopenssl
-    voluptuous
-    pyyaml
+  propagatedBuildInputs = with python.pkgs; [
     elasticsearch
+    urllib3
+    requests
     boto3
+    requests-aws4auth
+    click
+    pyyaml
+    voluptuous
+    certifi
+    six
   ];
 
-  checkInputs = [
-    nosexcover
-    coverage
-    nose
+  checkInputs = with python.pkgs; [
     mock
-    funcsigs
+    pytestCheckHook
   ];
 
-  postPatch = ''
-    sed -i s/pyyaml==3.13/pyyaml/g setup.cfg setup.py
-    sed -i s/pyyaml==3.12/pyyaml/g setup.cfg setup.py
-    substituteInPlace setup.py \
-      --replace "urllib3>=1.24.2,<1.25" "urllib3"
-    substituteInPlace setup.cfg \
-      --replace "urllib3>=1.24.2,<1.25" "urllib3"
-  '';
+  disabledTestPaths = [
+    "test/integration" # requires running elasticsearch
+  ];
+
+  disabledTests = [
+    # access network
+    "test_api_key_not_set"
+    "test_api_key_set"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/elastic/curator";
@@ -76,8 +81,5 @@ buildPythonApplication rec {
       * Perform various actions on the items which remain in the actionable list.
     '';
     maintainers = with maintainers; [ basvandijk ];
-
-    # https://github.com/elastic/curator/pull/1280
-    #broken = versionAtLeast click.version "7.0";
   };
 }
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index b05f3380426..a745c693305 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -1,33 +1,32 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "exoscale-cli";
-  version = "1.52.1";
+  version = "1.54.0";
 
   src = fetchFromGitHub {
-    owner  = "exoscale";
-    repo   = "cli";
-    rev    = "v${version}";
-    sha256 = "sha256-CSltvSdKLAH711ubT6ROgkmq2EcFJplPmavsJa9xupM=";
+    owner = "exoscale";
+    repo = "cli";
+    rev = "v${version}";
+    sha256 = "sha256-uvPJ1cOKMpDf1KfEPkSTWMIMNojUlfpqI1ESomX1MlM=";
   };
 
-  goPackagePath = "github.com/exoscale/cli";
+  vendorSha256 = null;
 
-  ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" ];
+  excludedPackages = [ "./completion" "./docs" ];
 
-  # ensures only the cli binary is built and we don't clutter bin/ with submodules
-  subPackages = [ "." ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" ];
 
   # we need to rename the resulting binary but can't use buildFlags with -o here
   # because these are passed to "go install" which does not recognize -o
   postBuild = ''
-    mv go/bin/cli go/bin/exo
+    mv $GOPATH/bin/cli $GOPATH/bin/exo
   '';
 
   meta = {
     description = "Command-line tool for everything at Exoscale: compute, storage, dns";
-    homepage    = "https://github.com/exoscale/cli";
-    license     = lib.licenses.asl20;
+    homepage = "https://github.com/exoscale/cli";
+    license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ dramaturg ];
     mainProgram = "exo";
   };
diff --git a/pkgs/tools/admin/google-cloud-sdk/data.nix b/pkgs/tools/admin/google-cloud-sdk/data.nix
index af2f1ee352a..359427d32a0 100644
--- a/pkgs/tools/admin/google-cloud-sdk/data.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/data.nix
@@ -1,32 +1,32 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "381.0.0";
+  version = "384.0.1";
   googleCloudSdkPkgs = {
     x86_64-linux =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-381.0.0-linux-x86_64.tar.gz";
-        sha256 = "1m5npilxagnl8zdx2i5vgcgalbcsnd4zvi0f2y5ic3dlfgibmlxb";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-384.0.1-linux-x86_64.tar.gz";
+        sha256 = "1pa6dzizn7sjahghiwz98n906ssbq4aa9kg1f3akdsmmabh95pd7";
       };
     x86_64-darwin =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-381.0.0-darwin-x86_64.tar.gz";
-        sha256 = "0vdbm2pl2wbyrdlf5dxs0djs6dn7kv17qvl8jxca8ylz2k296a0x";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-384.0.1-darwin-x86_64.tar.gz";
+        sha256 = "0pis92ldxxzvsamkck54d5d86ss13wipji29x082750c54gwm6w3";
       };
     aarch64-linux =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-381.0.0-linux-arm.tar.gz";
-        sha256 = "03mkhp7kvakv8bzpj9yk9anj8y5k7iina876f7dcsbm9fiwl4g9w";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-384.0.1-linux-arm.tar.gz";
+        sha256 = "1ssxb126hjyylgjbybl7ksiqnwf2hz6y0x1s5rjicaqpw5yv0sqy";
       };
     aarch64-darwin =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-381.0.0-darwin-arm.tar.gz";
-        sha256 = "1dsfn7rdmg1m7d9cfirl6xsdwzbzh6v62xp6nd9b17s05d4sh0kl";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-384.0.1-darwin-arm.tar.gz";
+        sha256 = "1qxhl7c1ii44drls2mpmm03n2j7274dxcsf5inrhyjgs94yl5h7b";
       };
     i686-linux =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-381.0.0-linux-x86.tar.gz";
-        sha256 = "0y95lvky62f7pfz4g3476ci239p5c8q9p9l2xh59x38xaa69gnvb";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-384.0.1-linux-x86.tar.gz";
+        sha256 = "1gghl16bdc9vgd2p834vd2i6av81q15czi7arpnmgg9n5dl3i2c8";
       };
   };
 }
diff --git a/pkgs/tools/admin/google-cloud-sdk/update.sh b/pkgs/tools/admin/google-cloud-sdk/update.sh
index b26950087a1..6402e3f32df 100755
--- a/pkgs/tools/admin/google-cloud-sdk/update.sh
+++ b/pkgs/tools/admin/google-cloud-sdk/update.sh
@@ -5,7 +5,7 @@ BASE_URL="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-clou
 
 # Version of Google Cloud SDK from
 # https://cloud.google.com/sdk/docs/release-notes
-VERSION="381.0.0"
+VERSION="384.0.1"
 
 function genMainSrc() {
     local url="${BASE_URL}-${VERSION}-${1}-${2}.tar.gz"
diff --git a/pkgs/tools/admin/meshcentral/default.nix b/pkgs/tools/admin/meshcentral/default.nix
index b1c14d6c8aa..c10a269c4f7 100644
--- a/pkgs/tools/admin/meshcentral/default.nix
+++ b/pkgs/tools/admin/meshcentral/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchpatch, fetchzip, yarn2nix-moretea, nodejs, jq, dos2unix }:
 
 yarn2nix-moretea.mkYarnPackage rec {
-  version = "0.9.98";
+  version = "1.0.18";
 
   src = fetchzip {
     url = "https://registry.npmjs.org/meshcentral/-/meshcentral-${version}.tgz";
-    sha256 = "0bvd6fin05dkh6x5qx2f58c0zsmxpdlwb8wqm0y04bax1mhm1bsf";
+    sha256 = "03bs7c2n4cxpsjkrcwinmjarcfwxvkg10xvnjk5r1rnkzlrsy8pm";
   };
 
   packageJSON = ./package.json;
diff --git a/pkgs/tools/admin/meshcentral/package.json b/pkgs/tools/admin/meshcentral/package.json
index 3b08a4ccbc5..5883d362116 100644
--- a/pkgs/tools/admin/meshcentral/package.json
+++ b/pkgs/tools/admin/meshcentral/package.json
@@ -1,6 +1,6 @@
 {
   "name": "meshcentral",
-  "version": "0.9.98",
+  "version": "1.0.18",
   "keywords": [
     "Remote Device Management",
     "Remote Device Monitoring",
@@ -25,6 +25,7 @@
     "*.js",
     "amt",
     "bin",
+    "rdp",
     "views",
     "emails",
     "agents",
@@ -67,6 +68,7 @@
     "passport-reddit": "*",
     "passport-azure-oauth2": "*",
     "jwt-simple": "*",
+    "@mstrhakr/passport-generic-oidc": "*",
     "passport-saml": "*",
     "ws": "5.2.3",
     "cbor": "5.2.0",
@@ -87,7 +89,6 @@
     "loadavg-windows": "*",
     "node-sspi": "*",
     "ldapauth-fork": "*",
-    "node-rdpjs-2": "*",
     "ssh2": "*",
     "image-size": "*",
     "acme-client": "*",
diff --git a/pkgs/tools/admin/meshcentral/yarn.lock b/pkgs/tools/admin/meshcentral/yarn.lock
index 55b08db09a9..56c80e65786 100644
--- a/pkgs/tools/admin/meshcentral/yarn.lock
+++ b/pkgs/tools/admin/meshcentral/yarn.lock
@@ -14,14 +14,14 @@
   dependencies:
     "@babel/highlight" "^7.16.7"
 
-"@babel/generator@^7.17.3", "@babel/generator@^7.4.0":
-  version "7.17.3"
-  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200"
-  integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==
+"@babel/generator@^7.17.10", "@babel/generator@^7.4.0":
+  version "7.17.10"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189"
+  integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==
   dependencies:
-    "@babel/types" "^7.17.0"
+    "@babel/types" "^7.17.10"
+    "@jridgewell/gen-mapping" "^0.1.0"
     jsesc "^2.5.1"
-    source-map "^0.5.0"
 
 "@babel/helper-environment-visitor@^7.16.7":
   version "7.16.7"
@@ -30,21 +30,13 @@
   dependencies:
     "@babel/types" "^7.16.7"
 
-"@babel/helper-function-name@^7.16.7":
-  version "7.16.7"
-  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f"
-  integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==
+"@babel/helper-function-name@^7.17.9":
+  version "7.17.9"
+  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12"
+  integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==
   dependencies:
-    "@babel/helper-get-function-arity" "^7.16.7"
     "@babel/template" "^7.16.7"
-    "@babel/types" "^7.16.7"
-
-"@babel/helper-get-function-arity@^7.16.7":
-  version "7.16.7"
-  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419"
-  integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==
-  dependencies:
-    "@babel/types" "^7.16.7"
+    "@babel/types" "^7.17.0"
 
 "@babel/helper-hoist-variables@^7.16.7":
   version "7.16.7"
@@ -66,18 +58,18 @@
   integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
 
 "@babel/highlight@^7.16.7":
-  version "7.16.10"
-  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88"
-  integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==
+  version "7.17.9"
+  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3"
+  integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==
   dependencies:
     "@babel/helper-validator-identifier" "^7.16.7"
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.4.3":
-  version "7.17.3"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0"
-  integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==
+"@babel/parser@^7.16.7", "@babel/parser@^7.17.10", "@babel/parser@^7.4.3":
+  version "7.17.10"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78"
+  integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==
 
 "@babel/template@^7.16.7", "@babel/template@^7.4.0":
   version "7.16.7"
@@ -89,35 +81,64 @@
     "@babel/types" "^7.16.7"
 
 "@babel/traverse@^7.4.3":
-  version "7.17.3"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57"
-  integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==
+  version "7.17.10"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5"
+  integrity sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==
   dependencies:
     "@babel/code-frame" "^7.16.7"
-    "@babel/generator" "^7.17.3"
+    "@babel/generator" "^7.17.10"
     "@babel/helper-environment-visitor" "^7.16.7"
-    "@babel/helper-function-name" "^7.16.7"
+    "@babel/helper-function-name" "^7.17.9"
     "@babel/helper-hoist-variables" "^7.16.7"
     "@babel/helper-split-export-declaration" "^7.16.7"
-    "@babel/parser" "^7.17.3"
-    "@babel/types" "^7.17.0"
+    "@babel/parser" "^7.17.10"
+    "@babel/types" "^7.17.10"
     debug "^4.1.0"
     globals "^11.1.0"
 
-"@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.4.0":
-  version "7.17.0"
-  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b"
-  integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==
+"@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.4.0":
+  version "7.17.10"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4"
+  integrity sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==
   dependencies:
     "@babel/helper-validator-identifier" "^7.16.7"
     to-fast-properties "^2.0.0"
 
+"@jridgewell/gen-mapping@^0.1.0":
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
+  integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
+  dependencies:
+    "@jridgewell/set-array" "^1.0.0"
+    "@jridgewell/sourcemap-codec" "^1.4.10"
+
+"@jridgewell/set-array@^1.0.0":
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea"
+  integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==
+
+"@jridgewell/sourcemap-codec@^1.4.10":
+  version "1.4.13"
+  resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c"
+  integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==
+
+"@mstrhakr/passport-generic-oidc@*":
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/@mstrhakr/passport-generic-oidc/-/passport-generic-oidc-0.3.0.tgz#46dbb306ee757f1c30002a6e21c2fe60b37aff0c"
+  integrity sha512-jRFXht2MFleqDiCuzeH6Nyg/YfmgwUmB/9KqeSg0QDZi+Sx1t0GSI0NBg/iA6NbWnoQFh6/ieOx/jRHHJNUiFg==
+  dependencies:
+    base64url "^3.0.1"
+    oauth "^0.9.15"
+    passport-strategy "^1.0.0"
+    request "^2.88.0"
+    webfinger "^0.4.2"
+
 "@mysql/xdevapi@*":
-  version "8.0.28"
-  resolved "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.28.tgz#68f3b029e72ef8519e5aad7084ded2573af058b5"
-  integrity sha512-+plt6Ua6uVpV754w6QR2Lzg0iria7ynlaPPORM0YfiP6cabIAyanlnNmKkXmYR3eGc8kL3GW/zw4HJ2CIlnR6A==
+  version "8.0.29"
+  resolved "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.29.tgz#e91d3e96cc15d419f04d7a9df8ba8f78c9b808aa"
+  integrity sha512-9E6+g9fKBu2mhLEnYfr+KKRyb5W52Z01NkBrgS3uQA7MweZmlLV/pMlAP27J5GfBsW2okP8gnm3Dkrj0ZhfR2Q==
   dependencies:
-    google-protobuf "3.14.0"
+    google-protobuf "3.19.4"
     parsimmon "1.16.0"
 
 "@sendgrid/client@^7.6.2":
@@ -161,14 +182,14 @@
     "@types/node" "*"
 
 "@types/node@*", "@types/node@^17.0.10":
-  version "17.0.21"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644"
-  integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==
+  version "17.0.31"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.31.tgz#a5bb84ecfa27eec5e1c802c6bbf8139bdb163a5d"
+  integrity sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==
 
 "@types/node@^14.14.14":
-  version "14.18.12"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24"
-  integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==
+  version "14.18.16"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.16.tgz#878f670ba3f00482bf859b6550b6010610fc54b5"
+  integrity sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==
 
 "@types/webidl-conversions@*":
   version "6.1.1"
@@ -414,10 +435,10 @@
     mkdirp "^1.0.4"
     underscore "^1.13.1"
 
-abab@^2.0.3, abab@^2.0.5:
-  version "2.0.5"
-  resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a"
-  integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==
+abab@^2.0.5, abab@^2.0.6:
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
+  integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
 
 abbrev@1:
   version "1.1.1"
@@ -445,15 +466,15 @@ accepts@~1.3.5, accepts@~1.3.8:
     negotiator "0.6.3"
 
 acme-client@*:
-  version "4.2.3"
-  resolved "https://registry.yarnpkg.com/acme-client/-/acme-client-4.2.3.tgz#f789be89113dc6a656c7bd697fb72e08e52f6877"
-  integrity sha512-fzNysQ7OdBWPlELQbjjjLo2eqrmMpdd6DZ9/d4jxHJItpKC4GKYLTxA3UIYca9BcY4Zr8un/axyEGnyRHKLGbw==
+  version "4.2.5"
+  resolved "https://registry.yarnpkg.com/acme-client/-/acme-client-4.2.5.tgz#d18e29aadb38fbc8c6d4ce289f26392b51b5a698"
+  integrity sha512-dtnck4sdZ2owFLTC73Ewjx0kmvsRjTRgaOc8UztCNODT+lr1DXj0tiuUXjeY4LAzZryXCtCib/E+KD8NYeP1aw==
   dependencies:
-    axios "0.21.4"
+    axios "0.26.1"
     backo2 "^1.0.0"
     bluebird "^3.5.0"
     debug "^4.1.1"
-    node-forge "^1.2.0"
+    node-forge "^1.3.0"
 
 acorn-globals@^6.0.0:
   version "6.0.0"
@@ -486,9 +507,9 @@ acorn@^7.1.1:
   integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
 
 acorn@^8.5.0:
-  version "8.7.0"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
-  integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
+  version "8.7.1"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
+  integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
 
 aedes-packet@^1.0.0:
   version "1.0.0"
@@ -676,12 +697,12 @@ archiver@4.0.2:
     zip-stream "^3.0.1"
 
 archiver@^5.3.0:
-  version "5.3.0"
-  resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.0.tgz#dd3e097624481741df626267564f7dd8640a45ba"
-  integrity sha512-iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==
+  version "5.3.1"
+  resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.1.tgz#21e92811d6f09ecfce649fbefefe8c79e57cbbb6"
+  integrity sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==
   dependencies:
     archiver-utils "^2.1.0"
-    async "^3.2.0"
+    async "^3.2.3"
     buffer-crc32 "^0.2.1"
     readable-stream "^3.6.0"
     readdir-glob "^1.0.0"
@@ -827,13 +848,13 @@ async-limiter@~1.0.0:
   integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
 
 async@^2.0.1:
-  version "2.6.3"
-  resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
-  integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
+  version "2.6.4"
+  resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221"
+  integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==
   dependencies:
     lodash "^4.17.14"
 
-async@^3.2.0, async@~3.2.0:
+async@^3.2.0, async@^3.2.3, async@~3.2.0:
   version "3.2.3"
   resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9"
   integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==
@@ -858,34 +879,20 @@ aws4@^1.8.0:
   resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
   integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
 
-axios@0.21.4, axios@^0.21.1:
-  version "0.21.4"
-  resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
-  integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
-  dependencies:
-    follow-redirects "^1.14.0"
-
-axios@^0.24.0:
-  version "0.24.0"
-  resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6"
-  integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==
-  dependencies:
-    follow-redirects "^1.14.4"
-
-axios@^0.25.0:
-  version "0.25.0"
-  resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a"
-  integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==
-  dependencies:
-    follow-redirects "^1.14.7"
-
-axios@^0.26.0:
+axios@0.26.1, axios@^0.26.0, axios@^0.26.1:
   version "0.26.1"
   resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9"
   integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==
   dependencies:
     follow-redirects "^1.14.8"
 
+axios@^0.21.1:
+  version "0.21.4"
+  resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
+  integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
+  dependencies:
+    follow-redirects "^1.14.0"
+
 babel-cli@^6.16.0:
   version "6.26.0"
   resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1"
@@ -1392,7 +1399,7 @@ base64-js@^1.3.0, base64-js@^1.3.1:
   resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
   integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
 
-base64url@3.x.x:
+base64url@3.x.x, base64url@^3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d"
   integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==
@@ -1486,21 +1493,23 @@ bn.js@^4.0.0:
   resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
   integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
 
-body-parser@1.19.2, body-parser@^1.19.0:
-  version "1.19.2"
-  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e"
-  integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==
+body-parser@1.20.0, body-parser@^1.19.0:
+  version "1.20.0"
+  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5"
+  integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==
   dependencies:
     bytes "3.1.2"
     content-type "~1.0.4"
     debug "2.6.9"
-    depd "~1.1.2"
-    http-errors "1.8.1"
+    depd "2.0.0"
+    destroy "1.2.0"
+    http-errors "2.0.0"
     iconv-lite "0.4.24"
-    on-finished "~2.3.0"
-    qs "6.9.7"
-    raw-body "2.4.3"
+    on-finished "2.4.1"
+    qs "6.10.3"
+    raw-body "2.5.1"
     type-is "~1.6.18"
+    unpipe "1.0.0"
 
 brace-expansion@^1.0.0, brace-expansion@^1.1.7:
   version "1.1.11"
@@ -1510,6 +1519,13 @@ brace-expansion@^1.0.0, brace-expansion@^1.1.7:
     balanced-match "^1.0.0"
     concat-map "0.0.1"
 
+brace-expansion@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
+  integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
+  dependencies:
+    balanced-match "^1.0.0"
+
 braces@^1.8.2:
   version "1.8.5"
   resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
@@ -1535,7 +1551,7 @@ braces@^2.3.1:
     split-string "^3.0.2"
     to-regex "^3.0.1"
 
-braces@^3.0.1:
+braces@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
   integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
@@ -1553,9 +1569,9 @@ bson@^1.1.4:
   integrity sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==
 
 bson@^4.4.0:
-  version "4.6.1"
-  resolved "https://registry.yarnpkg.com/bson/-/bson-4.6.1.tgz#2b5da517539bb0f7f3ffb54ac70a384ca899641c"
-  integrity sha512-I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==
+  version "4.6.3"
+  resolved "https://registry.yarnpkg.com/bson/-/bson-4.6.3.tgz#d1a9a0b84b9e84b62390811fc5580f6a8b1d858c"
+  integrity sha512-rAqP5hcUVJhXP2MCSNVsf0oM2OGU1So6A9pVRDYayvJ5+hygXHQApf87wd5NlhPM1J9RJnbqxIG/f8QTzRoQ4A==
   dependencies:
     buffer "^5.6.0"
 
@@ -1587,6 +1603,11 @@ build-url@^1.0.10:
   resolved "https://registry.yarnpkg.com/build-url/-/build-url-1.3.3.tgz#fad1ef30d8861931f85bc1f41fca0a537be31e5f"
   integrity sha512-uSC8d+d4SlbXTu/9nBhwEKi33CE0KQgCvfy8QwyrrO5vCuXr9hN021ZBh8ip5vxPbMOrZiPwgqcupuhezxiP3g==
 
+buildcheck@0.0.3:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.3.tgz#70451897a95d80f7807e68fc412eb2e7e35ff4d5"
+  integrity sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==
+
 bulk-write-stream@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/bulk-write-stream/-/bulk-write-stream-2.0.1.tgz#085bdc65caf19ceece4ff365fdb951ef0c6e3db8"
@@ -1595,16 +1616,6 @@ bulk-write-stream@^2.0.0:
     inherits "^2.0.3"
     readable-stream "^3.1.1"
 
-bunyan@^1.8.12:
-  version "1.8.15"
-  resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.15.tgz#8ce34ca908a17d0776576ca1b2f6cbd916e93b46"
-  integrity sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==
-  optionalDependencies:
-    dtrace-provider "~0.8"
-    moment "^2.19.3"
-    mv "~2"
-    safe-json-stringify "~1"
-
 bytes@3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
@@ -2092,10 +2103,10 @@ cookie-signature@1.0.6:
   resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
   integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
 
-cookie@0.4.2:
-  version "0.4.2"
-  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
-  integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
+cookie@0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
+  integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
 
 cookies@0.8.0:
   version "0.8.0"
@@ -2136,20 +2147,18 @@ cp-file@^6.2.0:
     pify "^4.0.1"
     safe-buffer "^5.0.1"
 
-cpu-features@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.2.tgz#9f636156f1155fd04bdbaa028bb3c2fbef3cea7a"
-  integrity sha512-/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==
+cpu-features@~0.0.4:
+  version "0.0.4"
+  resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.4.tgz#0023475bb4f4c525869c162e4108099e35bf19d8"
+  integrity sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==
   dependencies:
-    nan "^2.14.1"
+    buildcheck "0.0.3"
+    nan "^2.15.0"
 
 crc-32@^1.2.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.1.tgz#436d2bcaad27bcb6bd073a2587139d3024a16460"
-  integrity sha512-Dn/xm/1vFFgs3nfrpEVScHoIslO9NZRITWGz/1E/St6u4xw99vfZzVkW0OSnzx2h9egej9xwMCEut6sqwokM/w==
-  dependencies:
-    exit-on-epipe "~1.0.1"
-    printj "~1.3.1"
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff"
+  integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==
 
 crc32-stream@^3.0.1:
   version "3.0.1"
@@ -2235,13 +2244,13 @@ dashdash@^1.12.0:
     assert-plus "^1.0.0"
 
 data-urls@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.1.tgz#597fc2ae30f8bc4dbcf731fcd1b1954353afc6f8"
-  integrity sha512-Ds554NeT5Gennfoo9KN50Vh6tpgtvYEwraYjejXnyTpu1C7oXKxdFk75REooENHE8ndTVOJuv+BEs4/J/xcozw==
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143"
+  integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==
   dependencies:
-    abab "^2.0.3"
+    abab "^2.0.6"
     whatwg-mimetype "^3.0.0"
-    whatwg-url "^10.0.0"
+    whatwg-url "^11.0.0"
 
 dateformat@~3.0.3:
   version "3.0.3"
@@ -2249,9 +2258,9 @@ dateformat@~3.0.3:
   integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
 
 dayjs@^1.8.29:
-  version "1.10.8"
-  resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.8.tgz#267df4bc6276fcb33c04a6735287e3f429abec41"
-  integrity sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.1.tgz#90b33a3dda3417258d48ad2771b415def6545eb0"
+  integrity sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==
 
 ddata@~0.1.25:
   version "0.1.28"
@@ -2282,9 +2291,9 @@ debug@3.1.0:
     ms "2.0.0"
 
 debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2:
-  version "4.3.3"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
-  integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
+  version "4.3.4"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+  integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
   dependencies:
     ms "2.1.2"
 
@@ -2367,20 +2376,20 @@ denque@^2.0.1:
   resolved "https://registry.yarnpkg.com/denque/-/denque-2.0.1.tgz#bcef4c1b80dc32efe97515744f21a4229ab8934a"
   integrity sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==
 
+depd@2.0.0, depd@~2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
+  integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
 depd@~1.1.2:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
   integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
 
-depd@~2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
-  integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
-
-destroy@~1.0.4:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
-  integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
+destroy@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
+  integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
 
 detect-file@^1.0.0:
   version "1.0.0"
@@ -2432,13 +2441,6 @@ domexception@^4.0.0:
   dependencies:
     webidl-conversions "^7.0.0"
 
-dtrace-provider@~0.8:
-  version "0.8.8"
-  resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.8.tgz#2996d5490c37e1347be263b423ed7b297fb0d97e"
-  integrity sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==
-  dependencies:
-    nan "^2.14.0"
-
 each-series@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/each-series/-/each-series-1.0.0.tgz#f886e6c66dfdb25ef1fe73564146ee5cb478afcb"
@@ -2558,11 +2560,6 @@ events@^3.0.0:
   resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
   integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
 
-exit-on-epipe@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"
-  integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==
-
 exit@~0.1.2:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
@@ -2619,37 +2616,38 @@ express-ws@4.0.0:
     ws "^5.2.0"
 
 express@^4.17.0:
-  version "4.17.3"
-  resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1"
-  integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==
+  version "4.18.1"
+  resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf"
+  integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==
   dependencies:
     accepts "~1.3.8"
     array-flatten "1.1.1"
-    body-parser "1.19.2"
+    body-parser "1.20.0"
     content-disposition "0.5.4"
     content-type "~1.0.4"
-    cookie "0.4.2"
+    cookie "0.5.0"
     cookie-signature "1.0.6"
     debug "2.6.9"
-    depd "~1.1.2"
+    depd "2.0.0"
     encodeurl "~1.0.2"
     escape-html "~1.0.3"
     etag "~1.8.1"
-    finalhandler "~1.1.2"
+    finalhandler "1.2.0"
     fresh "0.5.2"
+    http-errors "2.0.0"
     merge-descriptors "1.0.1"
     methods "~1.1.2"
-    on-finished "~2.3.0"
+    on-finished "2.4.1"
     parseurl "~1.3.3"
     path-to-regexp "0.1.7"
     proxy-addr "~2.0.7"
-    qs "6.9.7"
+    qs "6.10.3"
     range-parser "~1.2.1"
     safe-buffer "5.2.1"
-    send "0.17.2"
-    serve-static "1.14.2"
+    send "0.18.0"
+    serve-static "1.15.0"
     setprototypeof "1.2.0"
-    statuses "~1.5.0"
+    statuses "2.0.1"
     type-is "~1.6.18"
     utils-merge "1.0.1"
     vary "~1.1.2"
@@ -2830,17 +2828,17 @@ filter-where@^1.0.1:
   dependencies:
     test-value "^1.0.1"
 
-finalhandler@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
-  integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
+finalhandler@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
+  integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
   dependencies:
     debug "2.6.9"
     encodeurl "~1.0.2"
     escape-html "~1.0.3"
-    on-finished "~2.3.0"
+    on-finished "2.4.1"
     parseurl "~1.3.3"
-    statuses "~1.5.0"
+    statuses "2.0.1"
     unpipe "~1.0.0"
 
 find-cache-dir@^2.1.0:
@@ -2908,10 +2906,10 @@ flagged-respawn@^1.0.1:
   resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41"
   integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==
 
-follow-redirects@^1.14.0, follow-redirects@^1.14.4, follow-redirects@^1.14.7, follow-redirects@^1.14.8:
-  version "1.14.9"
-  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7"
-  integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==
+follow-redirects@^1.14.0, follow-redirects@^1.14.8:
+  version "1.15.0"
+  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4"
+  integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==
 
 for-in@^1.0.1, for-in@^1.0.2:
   version "1.0.2"
@@ -3024,15 +3022,15 @@ function-bind@^1.1.1:
   integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
 
 gaxios@^4.0.0:
-  version "4.3.2"
-  resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-4.3.2.tgz#845827c2dc25a0213c8ab4155c7a28910f5be83f"
-  integrity sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==
+  version "4.3.3"
+  resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-4.3.3.tgz#d44bdefe52d34b6435cc41214fdb160b64abfc22"
+  integrity sha512-gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==
   dependencies:
     abort-controller "^3.0.0"
     extend "^3.0.2"
     https-proxy-agent "^5.0.0"
     is-stream "^2.0.0"
-    node-fetch "^2.6.1"
+    node-fetch "^2.6.7"
 
 gcp-metadata@^4.2.0:
   version "4.3.1"
@@ -3103,17 +3101,6 @@ glob@^4:
     minimatch "^2.0.1"
     once "^1.3.0"
 
-glob@^6.0.1:
-  version "6.0.4"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
-  integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=
-  dependencies:
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "2 || 3"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
 glob@^7.1.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0:
   version "7.2.0"
   resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
@@ -3180,9 +3167,9 @@ globals@^9.18.0:
   integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
 
 google-auth-library@^7.0.2, google-auth-library@^7.14.0:
-  version "7.14.0"
-  resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.14.0.tgz#9d6a20592f7b4d4c463cd3e93934c4b1711d5dc6"
-  integrity sha512-or8r7qUqGVI3W8lVSdPh0ZpeFyQHeE73g5c0p+bLNTTUFXJ+GSeDQmZRZ2p4H8cF/RJYa4PNvi/A1ar1uVNLFA==
+  version "7.14.1"
+  resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.14.1.tgz#e3483034162f24cc71b95c8a55a210008826213c"
+  integrity sha512-5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA==
   dependencies:
     arrify "^2.0.0"
     base64-js "^1.3.0"
@@ -3195,16 +3182,16 @@ google-auth-library@^7.0.2, google-auth-library@^7.14.0:
     lru-cache "^6.0.0"
 
 google-p12-pem@^3.1.3:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.3.tgz#5497998798ee86c2fc1f4bb1f92b7729baf37537"
-  integrity sha512-MC0jISvzymxePDVembypNefkAQp+DRP7dBE+zNUPaIjEspIlYg0++OrsNr248V9tPbz6iqtZ7rX1hxWA5B8qBQ==
+  version "3.1.4"
+  resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.4.tgz#123f7b40da204de4ed1fbf2fd5be12c047fc8b3b"
+  integrity sha512-HHuHmkLgwjdmVRngf5+gSmpkyaRI6QmOg77J8tkNBHhNEI62sGHyw4/+UkgyZEI7h84NbWprXDJ+sa3xOYFvTg==
   dependencies:
-    node-forge "^1.0.0"
+    node-forge "^1.3.1"
 
-google-protobuf@3.14.0:
-  version "3.14.0"
-  resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.14.0.tgz#20373d22046e63831a5110e11a84f713cc43651e"
-  integrity sha512-bwa8dBuMpOxg7COyqkW6muQuvNnWgVN8TX/epDRGW5m0jcrmq2QJyCyiV8ZE2/6LaIIqJtiv9bYokFhfpy/o6w==
+google-protobuf@3.19.4:
+  version "3.19.4"
+  resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.19.4.tgz#8d32c3e34be9250956f28c0fb90955d13f311888"
+  integrity sha512-OIPNCxsG2lkIvf+P5FNfJ/Km95CsXOBecS9ZcAU6m2Rq3svc0Apl9nB3GMDNKfQ9asNv4KjyAqGwPQFrVle3Yg==
 
 googleapis-common@^5.0.2:
   version "5.1.0"
@@ -3219,19 +3206,19 @@ googleapis-common@^5.0.2:
     uuid "^8.0.0"
 
 googleapis@*:
-  version "96.0.0"
-  resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-96.0.0.tgz#95bdf0e57bc912581ba7bc10eb202301f2b05dc1"
-  integrity sha512-tEQtcukxA4sW1OXh35teJbui+BIjMTghH6i0tvUctyXgMDO0Upu3+hrytrw9JqZJxtXReM3Wr5+g4U7veqHpBQ==
+  version "100.0.0"
+  resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-100.0.0.tgz#baeeba7877ee7dd3250643b3803c4a9c24bcf8dd"
+  integrity sha512-RToFQGY54B756IDbjdyjb1vWFmn03bYpXHB2lIf0eq2UBYsIbYOLZ0kqSomfJnpclEukwEmMF7Jn6Wsev871ew==
   dependencies:
     google-auth-library "^7.0.2"
     googleapis-common "^5.0.2"
 
 graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.8:
-  version "4.2.9"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
-  integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
+  version "4.2.10"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
+  integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
 
-grunt-cli@~1.4.2:
+grunt-cli@~1.4.3:
   version "1.4.3"
   resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.4.3.tgz#22c9f1a3d2780bf9b0d206e832e40f8f499175ff"
   integrity sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==
@@ -3286,16 +3273,16 @@ grunt-legacy-util@~2.0.1:
     which "~2.0.2"
 
 grunt@^1.0.1:
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.4.1.tgz#7d1e17db1f9c8108777f7273d6b9359755576f50"
-  integrity sha512-ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==
+  version "1.5.2"
+  resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.5.2.tgz#46b014e28d17c85baac19d5e891bb3f04923c098"
+  integrity sha512-XCtfaIu72OyDqK24MjWiGC9SwlkuhkS1mrULr1xzuJ2XqAFhP3ZAchZGHJeSCY6mkaOXU4F7SbmmCF7xIVoC9w==
   dependencies:
     dateformat "~3.0.3"
     eventemitter2 "~0.4.13"
     exit "~0.1.2"
     findup-sync "~0.3.0"
     glob "~7.1.6"
-    grunt-cli "~1.4.2"
+    grunt-cli "~1.4.3"
     grunt-known-options "~2.0.0"
     grunt-legacy-log "~3.0.0"
     grunt-legacy-util "~2.0.1"
@@ -3530,7 +3517,18 @@ html-minifier@*:
     relateurl "^0.2.7"
     uglify-js "^3.5.1"
 
-http-errors@1.8.1, http-errors@~1.8.1:
+http-errors@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
+  integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
+  dependencies:
+    depd "2.0.0"
+    inherits "2.0.4"
+    setprototypeof "1.2.0"
+    statuses "2.0.1"
+    toidentifier "1.0.1"
+
+http-errors@~1.8.1:
   version "1.8.1"
   resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c"
   integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
@@ -3567,9 +3565,9 @@ http_ece@1.1.0:
     urlsafe-base64 "~1.0.0"
 
 https-proxy-agent@*, https-proxy-agent@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
-  integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
+  integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
   dependencies:
     agent-base "6"
     debug "4"
@@ -3700,9 +3698,9 @@ is-buffer@^1.1.5, is-buffer@~1.1.6:
   integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
 
 is-core-module@^2.8.1:
-  version "2.8.1"
-  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
-  integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
+  version "2.9.0"
+  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
+  integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
   dependencies:
     has "^1.0.3"
 
@@ -4635,29 +4633,24 @@ micromatch@^3.1.10:
     to-regex "^3.0.2"
 
 micromatch@^4.0.2:
-  version "4.0.4"
-  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
-  integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
+  version "4.0.5"
+  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
+  integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
   dependencies:
-    braces "^3.0.1"
-    picomatch "^2.2.3"
+    braces "^3.0.2"
+    picomatch "^2.3.1"
 
-mime-db@1.51.0:
-  version "1.51.0"
-  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c"
-  integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
-
-"mime-db@>= 1.43.0 < 2":
+mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
   version "1.52.0"
   resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
   integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
 
 mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
-  version "2.1.34"
-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
-  integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
+  version "2.1.35"
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+  integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
   dependencies:
-    mime-db "1.51.0"
+    mime-db "1.52.0"
 
 mime@1.6.0:
   version "1.6.0"
@@ -4705,6 +4698,13 @@ minimatch@^2.0.1:
   dependencies:
     brace-expansion "^1.0.0"
 
+minimatch@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b"
+  integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==
+  dependencies:
+    brace-expansion "^2.0.1"
+
 minimatch@~3.0.4:
   version "3.0.8"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1"
@@ -4712,10 +4712,10 @@ minimatch@~3.0.4:
   dependencies:
     brace-expansion "^1.1.7"
 
-minimist@^1.2.5:
-  version "1.2.5"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
-  integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+minimist@^1.2.5, minimist@^1.2.6:
+  version "1.2.6"
+  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
+  integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
 
 minimist@~0.0.1:
   version "0.0.10"
@@ -4736,11 +4736,11 @@ mkdirp2@^1.0.3:
   integrity sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==
 
 mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
-  version "0.5.5"
-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
-  integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+  version "0.5.6"
+  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+  integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
   dependencies:
-    minimist "^1.2.5"
+    minimist "^1.2.6"
 
 mkdirp@^1.0.4, mkdirp@~1.0.4:
   version "1.0.4"
@@ -4761,10 +4761,10 @@ moment-timezone@^0.5.34:
   dependencies:
     moment ">= 2.9.0"
 
-"moment@>= 2.9.0", moment@^2.19.3:
-  version "2.29.1"
-  resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
-  integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
+"moment@>= 2.9.0":
+  version "2.29.3"
+  resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz#edd47411c322413999f7a5940d526de183c031f3"
+  integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==
 
 mongodb-connection-string-url@^1.0.1:
   version "1.1.2"
@@ -4858,15 +4858,6 @@ mustache@^2.2.1:
   resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz#a6d4d9c3f91d13359ab889a812954f9230a3d0c5"
   integrity sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==
 
-mv@~2:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2"
-  integrity sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=
-  dependencies:
-    mkdirp "~0.5.1"
-    ncp "~2.0.0"
-    rimraf "~2.4.0"
-
 mysql@*:
   version "2.18.1"
   resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.18.1.tgz#2254143855c5a8c73825e4522baf2ea021766717"
@@ -4877,7 +4868,7 @@ mysql@*:
     safe-buffer "5.1.2"
     sqlstring "2.3.1"
 
-nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.14.1, nan@^2.15.0:
+nan@^2.12.1, nan@^2.13.2, nan@^2.15.0:
   version "2.15.0"
   resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
   integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==
@@ -4904,11 +4895,6 @@ nanomatch@^1.2.9:
     snapdragon "^0.8.1"
     to-regex "^3.0.1"
 
-ncp@~2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
-  integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=
-
 negotiator@0.6.3:
   version "0.6.3"
   resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
@@ -4920,9 +4906,9 @@ neo-async@^2.6.0:
   integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
 
 nested-error-stacks@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61"
-  integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz#26c8a3cee6cc05fbcf1e333cd2fc3e003326c0b5"
+  integrity sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==
 
 nested-property@^4.0.0:
   version "4.0.0"
@@ -4941,25 +4927,17 @@ node-addon-api@^1.7.1:
   resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
   integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
 
-node-fetch@^2.3.0, node-fetch@^2.6.1:
+node-fetch@^2.3.0, node-fetch@^2.6.7:
   version "2.6.7"
   resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
   integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
   dependencies:
     whatwg-url "^5.0.0"
 
-node-forge@^1.0.0, node-forge@^1.2.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c"
-  integrity sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==
-
-node-rdpjs-2@*:
-  version "0.3.5"
-  resolved "https://registry.yarnpkg.com/node-rdpjs-2/-/node-rdpjs-2-0.3.5.tgz#6f05fa175e70095a20b59c377be34fa1fe2fa444"
-  integrity sha512-ABgNbpbJlX2S4SZnsyoUd1MXINLq2y2hbrOXcoxn/NMl4/7uhM/JmXKublF3AooOgRCVKlXiefUVCIMSG/mNZw==
-  dependencies:
-    bunyan "^1.8.12"
-    lodash.isnumber "^3.0.3"
+node-forge@^1.0.0, node-forge@^1.3.0, node-forge@^1.3.1:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3"
+  integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==
 
 node-sspi@*:
   version "0.2.9"
@@ -4996,9 +4974,9 @@ node-xcs@*:
     "@xmpp/debug" "^0.9.2"
 
 nodemailer@*:
-  version "6.7.2"
-  resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.2.tgz#44b2ad5f7ed71b7067f7a21c4fedabaec62b85e0"
-  integrity sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==
+  version "6.7.5"
+  resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.5.tgz#b30b1566f5fa2249f7bd49ced4c58bec6b25915e"
+  integrity sha512-6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg==
 
 nofilter@^1.0.4:
   version "1.0.4"
@@ -5088,7 +5066,7 @@ oauth-sign@~0.9.0:
   resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
   integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
 
-oauth@0.9.x:
+oauth@0.9.x, oauth@^0.9.15:
   version "0.9.15"
   resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1"
   integrity sha1-vR/vr2hslrdUda7VGWQS/2DPucE=
@@ -5181,10 +5159,10 @@ object.pick@^1.2.0, object.pick@^1.3.0:
   dependencies:
     isobject "^3.0.1"
 
-on-finished@~2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
-  integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
+on-finished@2.4.1:
+  version "2.4.1"
+  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
+  integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
   dependencies:
     ee-first "1.1.1"
 
@@ -5620,7 +5598,7 @@ pgtools@0.3.2:
     pg-connection-string "^2.4.0"
     yargs "^5.0.0"
 
-picomatch@^2.2.3:
+picomatch@^2.3.1:
   version "2.3.1"
   resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
   integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
@@ -5672,9 +5650,9 @@ please-upgrade-node@^3.2.0:
     semver-compare "^1.0.0"
 
 plivo@*:
-  version "4.28.0"
-  resolved "https://registry.yarnpkg.com/plivo/-/plivo-4.28.0.tgz#917813c55b45d33d291ee55dc7cfd868d53130c5"
-  integrity sha512-FQCc5TG5QUlNq1r0OlLvAHgJo15M+ou+dt7bWheataObxUxPqpga316zCOYR/sGzVzREPSB/ThpT9/cZeUcYgg==
+  version "4.32.0"
+  resolved "https://registry.yarnpkg.com/plivo/-/plivo-4.32.0.tgz#11994c31e4d5275ff7b2e50ddf7d81fa6f8dee74"
+  integrity sha512-HHdiZ92RT2MNtQPESIsyBfzOB4I6JxTcwjL/MYcW111Vd80WKXm0g1rjOU8pv2Oci9O6j/9CSGCzwXtU7fb6RQ==
   dependencies:
     "@types/node" "^14.14.14"
     axios "^0.21.1"
@@ -5737,11 +5715,6 @@ preserve@^0.2.0:
   resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
   integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
 
-printj@~1.3.1:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/printj/-/printj-1.3.1.tgz#9af6b1d55647a1587ac44f4c1654a4b95b8e12cb"
-  integrity sha512-GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==
-
 private@^0.1.6, private@^0.1.8:
   version "0.1.8"
   resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
@@ -5814,12 +5787,7 @@ qlobber@^3.0.2, qlobber@^3.1.0:
   resolved "https://registry.yarnpkg.com/qlobber/-/qlobber-3.1.0.tgz#b8c8e067496de17bdbf3cd843cf53ece09c8d211"
   integrity sha512-B7EU6Hv9g4BeJiB7qtOjn9wwgqVpcWE5c4/86O0Yoj7fmAvgwXrdG1E+QF13S/+TX5XGUl7toizP0gzXR2Saug==
 
-qs@6.9.7:
-  version "6.9.7"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe"
-  integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==
-
-qs@^6.6.0, qs@^6.7.0, qs@^6.9.4:
+qs@6.10.3, qs@^6.6.0, qs@^6.7.0, qs@^6.9.4:
   version "6.10.3"
   resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e"
   integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==
@@ -5874,13 +5842,13 @@ range-parser@~1.2.1:
   resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
   integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
 
-raw-body@2.4.3:
-  version "2.4.3"
-  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c"
-  integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==
+raw-body@2.5.1:
+  version "2.5.1"
+  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
+  integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
   dependencies:
     bytes "3.1.2"
-    http-errors "1.8.1"
+    http-errors "2.0.0"
     iconv-lite "0.4.24"
     unpipe "1.0.0"
 
@@ -6108,7 +6076,7 @@ request-promise-native@1.0.7:
     stealthy-require "^1.1.1"
     tough-cookie "^2.3.3"
 
-request@*:
+request@*, request@^2.88.0:
   version "2.88.2"
   resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
   integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
@@ -6248,13 +6216,6 @@ rimraf@^2.6.2, rimraf@^2.6.3:
   dependencies:
     glob "^7.1.3"
 
-rimraf@~2.4.0:
-  version "2.4.5"
-  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da"
-  integrity sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=
-  dependencies:
-    glob "^6.0.1"
-
 rimraf@~3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
@@ -6285,11 +6246,6 @@ safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, s
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
   integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
 
-safe-json-stringify@~1:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd"
-  integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==
-
 safe-regex@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
@@ -6334,7 +6290,7 @@ saslprep@*, saslprep@^1.0.0:
   dependencies:
     sparse-bitfield "^3.0.3"
 
-sax@>=0.6.0:
+sax@>=0.1.1, sax@>=0.6.0:
   version "1.2.4"
   resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
   integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
@@ -6357,9 +6313,9 @@ semver-compare@^1.0.0:
   integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
 
 semver@*:
-  version "7.3.5"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
-  integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
+  version "7.3.7"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
+  integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
   dependencies:
     lru-cache "^6.0.0"
 
@@ -6373,34 +6329,34 @@ semver@^6.0.0:
   resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
   integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
 
-send@0.17.2:
-  version "0.17.2"
-  resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820"
-  integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==
+send@0.18.0:
+  version "0.18.0"
+  resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
+  integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
   dependencies:
     debug "2.6.9"
-    depd "~1.1.2"
-    destroy "~1.0.4"
+    depd "2.0.0"
+    destroy "1.2.0"
     encodeurl "~1.0.2"
     escape-html "~1.0.3"
     etag "~1.8.1"
     fresh "0.5.2"
-    http-errors "1.8.1"
+    http-errors "2.0.0"
     mime "1.6.0"
     ms "2.1.3"
-    on-finished "~2.3.0"
+    on-finished "2.4.1"
     range-parser "~1.2.1"
-    statuses "~1.5.0"
+    statuses "2.0.1"
 
-serve-static@1.14.2:
-  version "1.14.2"
-  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa"
-  integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==
+serve-static@1.15.0:
+  version "1.15.0"
+  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
+  integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
   dependencies:
     encodeurl "~1.0.2"
     escape-html "~1.0.3"
     parseurl "~1.3.3"
-    send "0.17.2"
+    send "0.18.0"
 
 set-blocking@^2.0.0:
   version "2.0.0"
@@ -6525,7 +6481,7 @@ source-map@^0.1.40:
   dependencies:
     amdefine ">=0.0.4"
 
-source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1:
+source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1:
   version "0.5.7"
   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
   integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -6608,14 +6564,14 @@ sqlstring@2.3.1:
   integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=
 
 ssh2@*:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.7.0.tgz#7aa30f2a5266f0ffd93944621b4eb1f403330fd4"
-  integrity sha512-u1gdFfqKV1PTGR2szS5FImhFii40o+8FOUpg1M//iimNaS4BkTyUVfVdoydXS93M1SquOU02Z4KFhYDBNqQO+g==
+  version "1.10.0"
+  resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.10.0.tgz#e05d870dfc8e83bc918a2ffb3dcbd4d523472dee"
+  integrity sha512-OnKAAmf4j8wCRrXXZv3Tp5lCZkLJZtgZbn45ELiShCg27djDQ3XFGvIzuGsIsf4hdHslP+VdhA9BhUQdTdfd9w==
   dependencies:
     asn1 "^0.2.4"
     bcrypt-pbkdf "^1.0.2"
   optionalDependencies:
-    cpu-features "0.0.2"
+    cpu-features "~0.0.4"
     nan "^2.15.0"
 
 sshpk@^1.7.0:
@@ -6641,7 +6597,12 @@ static-extend@^0.1.1:
     define-property "^0.2.5"
     object-copy "^0.1.0"
 
-"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
+statuses@2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
+  integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+
+"statuses@>= 1.5.0 < 2":
   version "1.5.0"
   resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
   integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
@@ -6651,6 +6612,11 @@ stealthy-require@^1.1.1:
   resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
   integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
 
+step@0.0.x:
+  version "0.0.6"
+  resolved "https://registry.yarnpkg.com/step/-/step-0.0.6.tgz#143e7849a5d7d3f4a088fe29af94915216eeede2"
+  integrity sha1-FD54SaXX0/SgiP4pr5SRUhbu7eI=
+
 stream-connect@^1.0.1, stream-connect@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/stream-connect/-/stream-connect-1.0.2.tgz#18bc81f2edb35b8b5d9a8009200a985314428a97"
@@ -7019,11 +6985,11 @@ tweetnacl@^1.0.1:
   integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
 
 twilio@*:
-  version "3.75.1"
-  resolved "https://registry.yarnpkg.com/twilio/-/twilio-3.75.1.tgz#7b9880e31a98c326f17dad3f1778f2a00805d351"
-  integrity sha512-q9h8AzJekL2etE4hPiZ3IOz9V6MkrY5d5cLvTra+Xe+jtDjQgarKbMUOYFhVHb/zXycf9qqW+Qk9de0ekgLwrQ==
+  version "3.77.0"
+  resolved "https://registry.yarnpkg.com/twilio/-/twilio-3.77.0.tgz#23c67ad66e47c32b951f8c090d3b7d7354ef2ab8"
+  integrity sha512-jacZBKSzRBIoTdJv43U5bftdY9ptPAisH/ydd0k0ggja+GoecvCZ4MaoTgHRGDD2tR9srsw7U1nQCrqw0elobg==
   dependencies:
-    axios "^0.25.0"
+    axios "^0.26.1"
     dayjs "^1.8.29"
     https-proxy-agent "^5.0.0"
     jsonwebtoken "^8.5.1"
@@ -7032,7 +6998,7 @@ twilio@*:
     qs "^6.9.4"
     rootpath "^0.1.2"
     scmp "^2.1.0"
-    url-parse "^1.5.6"
+    url-parse "^1.5.9"
     xmlbuilder "^13.0.2"
 
 type-check@~0.3.2:
@@ -7066,9 +7032,9 @@ uglify-js@^2.6:
     uglify-to-browserify "~1.0.0"
 
 uglify-js@^3.1.4, uglify-js@^3.5.1:
-  version "3.15.3"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.3.tgz#9aa82ca22419ba4c0137642ba0df800cb06e0471"
-  integrity sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==
+  version "3.15.4"
+  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.4.tgz#fa95c257e88f85614915b906204b9623d4fa340d"
+  integrity sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==
 
 uglify-to-browserify@~1.0.0:
   version "1.0.2"
@@ -7101,9 +7067,9 @@ underscore.string@~3.3.5:
     util-deprecate "^1.0.2"
 
 underscore@^1.13.1:
-  version "1.13.2"
-  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.2.tgz#276cea1e8b9722a8dbed0100a407dda572125881"
-  integrity sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==
+  version "1.13.3"
+  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.3.tgz#54bc95f7648c5557897e5e968d0f76bc062c34ee"
+  integrity sha512-QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==
 
 underscore@~1.8.3:
   version "1.8.3"
@@ -7165,7 +7131,7 @@ url-join@^4.0.1:
   resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7"
   integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
 
-url-parse@^1.5.3, url-parse@^1.5.6:
+url-parse@^1.5.10, url-parse@^1.5.9:
   version "1.5.10"
   resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
   integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
@@ -7327,9 +7293,9 @@ weak-map@^1.0.5:
   integrity sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==
 
 web-push@*:
-  version "3.4.5"
-  resolved "https://registry.yarnpkg.com/web-push/-/web-push-3.4.5.tgz#f94074ff150538872c7183e4d8881c8305920cf1"
-  integrity sha512-2njbTqZ6Q7ZqqK14YpK1GGmaZs3NmuGYF5b7abCXulUIWFSlSYcZ3NBJQRFcMiQDceD7vQknb8FUuvI1F7Qe/g==
+  version "3.5.0"
+  resolved "https://registry.yarnpkg.com/web-push/-/web-push-3.5.0.tgz#4576533746052eda3bd50414b54a1b0a21eeaeae"
+  integrity sha512-JC0V9hzKTqlDYJ+LTZUXtW7B175qwwaqzbbMSWDxHWxZvd3xY0C2rcotMGDavub2nAAFw+sXTsqR65/KY2A5AQ==
   dependencies:
     asn1.js "^5.3.0"
     http_ece "1.1.0"
@@ -7339,22 +7305,30 @@ web-push@*:
     urlsafe-base64 "^1.0.0"
 
 webdav@*:
-  version "4.8.0"
-  resolved "https://registry.yarnpkg.com/webdav/-/webdav-4.8.0.tgz#b5d7ebe46039d048c177fb021c9da591cf3ac6f0"
-  integrity sha512-CVJvxu0attEfoQUKraDiNh3uMjNPNl+BY0pbcKbyc/X+8IXDnqAT4tT4Ge12w+j49fYuVpFVkpEGwBZabv7Uhw==
+  version "4.9.0"
+  resolved "https://registry.yarnpkg.com/webdav/-/webdav-4.9.0.tgz#cc12a55102feba8f87be6c6f2cd9bbb093abf22e"
+  integrity sha512-pMuRtZcjBk3i6q1iY5wBHdablKftoBfhrQEWWEejSh2LXgd0J6VE5V0c1tUlMrFHaVDx8iCoB9kupNzy8SMC4A==
   dependencies:
-    axios "^0.24.0"
+    axios "^0.26.1"
     base-64 "^1.0.0"
     fast-xml-parser "^3.19.0"
     he "^1.2.0"
     hot-patcher "^0.5.0"
     layerr "^0.1.2"
     md5 "^2.3.0"
-    minimatch "^3.0.4"
+    minimatch "^5.0.1"
     nested-property "^4.0.0"
     path-posix "^1.0.0"
     url-join "^4.0.1"
-    url-parse "^1.5.3"
+    url-parse "^1.5.10"
+
+webfinger@^0.4.2:
+  version "0.4.2"
+  resolved "https://registry.yarnpkg.com/webfinger/-/webfinger-0.4.2.tgz#3477a6d97799461896039fcffc650b73468ee76d"
+  integrity sha1-NHem2XeZRhiWA5/P/GULc0aO520=
+  dependencies:
+    step "0.0.x"
+    xml2js "0.1.x"
 
 webidl-conversions@^3.0.0:
   version "3.0.1"
@@ -7391,6 +7365,14 @@ whatwg-url@^10.0.0:
     tr46 "^3.0.0"
     webidl-conversions "^7.0.0"
 
+whatwg-url@^11.0.0:
+  version "11.0.0"
+  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018"
+  integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==
+  dependencies:
+    tr46 "^3.0.0"
+    webidl-conversions "^7.0.0"
+
 whatwg-url@^5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
@@ -7531,9 +7513,9 @@ ws@^7.0.0:
   integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==
 
 ws@^8.2.3:
-  version "8.5.0"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f"
-  integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==
+  version "8.6.0"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-8.6.0.tgz#e5e9f1d9e7ff88083d0c0dd8281ea662a42c9c23"
+  integrity sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==
 
 xml-crypto@^2.1.3:
   version "2.1.3"
@@ -7557,6 +7539,13 @@ xml-name-validator@^4.0.0:
   resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"
   integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
 
+xml2js@0.1.x:
+  version "0.1.14"
+  resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.1.14.tgz#5274e67f5a64c5f92974cd85139e0332adc6b90c"
+  integrity sha1-UnTmf1pkxfkpdM2FE54DMq3GuQw=
+  dependencies:
+    sax ">=0.1.1"
+
 xml2js@^0.4.19, xml2js@^0.4.23:
   version "0.4.23"
   resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
diff --git a/pkgs/tools/admin/meshcentral/yarn.nix b/pkgs/tools/admin/meshcentral/yarn.nix
index 84a2393cf7c..1ed476a4de6 100644
--- a/pkgs/tools/admin/meshcentral/yarn.nix
+++ b/pkgs/tools/admin/meshcentral/yarn.nix
@@ -18,11 +18,11 @@
       };
     }
     {
-      name = "_babel_generator___generator_7.17.3.tgz";
+      name = "_babel_generator___generator_7.17.10.tgz";
       path = fetchurl {
-        name = "_babel_generator___generator_7.17.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz";
-        sha512 = "+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==";
+        name = "_babel_generator___generator_7.17.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz";
+        sha512 = "46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==";
       };
     }
     {
@@ -34,19 +34,11 @@
       };
     }
     {
-      name = "_babel_helper_function_name___helper_function_name_7.16.7.tgz";
+      name = "_babel_helper_function_name___helper_function_name_7.17.9.tgz";
       path = fetchurl {
-        name = "_babel_helper_function_name___helper_function_name_7.16.7.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz";
-        sha512 = "QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==";
-      };
-    }
-    {
-      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.16.7.tgz";
-      path = fetchurl {
-        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.16.7.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz";
-        sha512 = "flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==";
+        name = "_babel_helper_function_name___helper_function_name_7.17.9.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz";
+        sha512 = "7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==";
       };
     }
     {
@@ -74,19 +66,19 @@
       };
     }
     {
-      name = "_babel_highlight___highlight_7.16.10.tgz";
+      name = "_babel_highlight___highlight_7.17.9.tgz";
       path = fetchurl {
-        name = "_babel_highlight___highlight_7.16.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz";
-        sha512 = "5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==";
+        name = "_babel_highlight___highlight_7.17.9.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz";
+        sha512 = "J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==";
       };
     }
     {
-      name = "_babel_parser___parser_7.17.3.tgz";
+      name = "_babel_parser___parser_7.17.10.tgz";
       path = fetchurl {
-        name = "_babel_parser___parser_7.17.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz";
-        sha512 = "7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==";
+        name = "_babel_parser___parser_7.17.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz";
+        sha512 = "n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==";
       };
     }
     {
@@ -98,27 +90,59 @@
       };
     }
     {
-      name = "_babel_traverse___traverse_7.17.3.tgz";
+      name = "_babel_traverse___traverse_7.17.10.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.17.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz";
+        sha512 = "VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==";
+      };
+    }
+    {
+      name = "_babel_types___types_7.17.10.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.17.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz";
+        sha512 = "9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==";
+      };
+    }
+    {
+      name = "_jridgewell_gen_mapping___gen_mapping_0.1.1.tgz";
+      path = fetchurl {
+        name = "_jridgewell_gen_mapping___gen_mapping_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz";
+        sha512 = "sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==";
+      };
+    }
+    {
+      name = "_jridgewell_set_array___set_array_1.1.1.tgz";
+      path = fetchurl {
+        name = "_jridgewell_set_array___set_array_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz";
+        sha512 = "Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==";
+      };
+    }
+    {
+      name = "_jridgewell_sourcemap_codec___sourcemap_codec_1.4.13.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.17.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz";
-        sha512 = "5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==";
+        name = "_jridgewell_sourcemap_codec___sourcemap_codec_1.4.13.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz";
+        sha512 = "GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==";
       };
     }
     {
-      name = "_babel_types___types_7.17.0.tgz";
+      name = "_mstrhakr_passport_generic_oidc___passport_generic_oidc_0.3.0.tgz";
       path = fetchurl {
-        name = "_babel_types___types_7.17.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz";
-        sha512 = "TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==";
+        name = "_mstrhakr_passport_generic_oidc___passport_generic_oidc_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@mstrhakr/passport-generic-oidc/-/passport-generic-oidc-0.3.0.tgz";
+        sha512 = "jRFXht2MFleqDiCuzeH6Nyg/YfmgwUmB/9KqeSg0QDZi+Sx1t0GSI0NBg/iA6NbWnoQFh6/ieOx/jRHHJNUiFg==";
       };
     }
     {
-      name = "_mysql_xdevapi___xdevapi_8.0.28.tgz";
+      name = "_mysql_xdevapi___xdevapi_8.0.29.tgz";
       path = fetchurl {
-        name = "_mysql_xdevapi___xdevapi_8.0.28.tgz";
-        url  = "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.28.tgz";
-        sha512 = "+plt6Ua6uVpV754w6QR2Lzg0iria7ynlaPPORM0YfiP6cabIAyanlnNmKkXmYR3eGc8kL3GW/zw4HJ2CIlnR6A==";
+        name = "_mysql_xdevapi___xdevapi_8.0.29.tgz";
+        url  = "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.29.tgz";
+        sha512 = "9E6+g9fKBu2mhLEnYfr+KKRyb5W52Z01NkBrgS3uQA7MweZmlLV/pMlAP27J5GfBsW2okP8gnm3Dkrj0ZhfR2Q==";
       };
     }
     {
@@ -170,19 +194,19 @@
       };
     }
     {
-      name = "_types_node___node_17.0.21.tgz";
+      name = "_types_node___node_17.0.31.tgz";
       path = fetchurl {
-        name = "_types_node___node_17.0.21.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz";
-        sha512 = "DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==";
+        name = "_types_node___node_17.0.31.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-17.0.31.tgz";
+        sha512 = "AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==";
       };
     }
     {
-      name = "_types_node___node_14.18.12.tgz";
+      name = "_types_node___node_14.18.16.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.18.12.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz";
-        sha512 = "q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==";
+        name = "_types_node___node_14.18.16.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.16.tgz";
+        sha512 = "X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==";
       };
     }
     {
@@ -434,11 +458,11 @@
       };
     }
     {
-      name = "abab___abab_2.0.5.tgz";
+      name = "abab___abab_2.0.6.tgz";
       path = fetchurl {
-        name = "abab___abab_2.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz";
-        sha512 = "9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==";
+        name = "abab___abab_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz";
+        sha512 = "j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==";
       };
     }
     {
@@ -474,11 +498,11 @@
       };
     }
     {
-      name = "acme_client___acme_client_4.2.3.tgz";
+      name = "acme_client___acme_client_4.2.5.tgz";
       path = fetchurl {
-        name = "acme_client___acme_client_4.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/acme-client/-/acme-client-4.2.3.tgz";
-        sha512 = "fzNysQ7OdBWPlELQbjjjLo2eqrmMpdd6DZ9/d4jxHJItpKC4GKYLTxA3UIYca9BcY4Zr8un/axyEGnyRHKLGbw==";
+        name = "acme_client___acme_client_4.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/acme-client/-/acme-client-4.2.5.tgz";
+        sha512 = "dtnck4sdZ2owFLTC73Ewjx0kmvsRjTRgaOc8UztCNODT+lr1DXj0tiuUXjeY4LAzZryXCtCib/E+KD8NYeP1aw==";
       };
     }
     {
@@ -522,11 +546,11 @@
       };
     }
     {
-      name = "acorn___acorn_8.7.0.tgz";
+      name = "acorn___acorn_8.7.1.tgz";
       path = fetchurl {
-        name = "acorn___acorn_8.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz";
-        sha512 = "V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==";
+        name = "acorn___acorn_8.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz";
+        sha512 = "Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==";
       };
     }
     {
@@ -698,11 +722,11 @@
       };
     }
     {
-      name = "archiver___archiver_5.3.0.tgz";
+      name = "archiver___archiver_5.3.1.tgz";
       path = fetchurl {
-        name = "archiver___archiver_5.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/archiver/-/archiver-5.3.0.tgz";
-        sha512 = "iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==";
+        name = "archiver___archiver_5.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/archiver/-/archiver-5.3.1.tgz";
+        sha512 = "8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==";
       };
     }
     {
@@ -882,11 +906,11 @@
       };
     }
     {
-      name = "async___async_2.6.3.tgz";
+      name = "async___async_2.6.4.tgz";
       path = fetchurl {
-        name = "async___async_2.6.3.tgz";
-        url  = "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz";
-        sha512 = "zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==";
+        name = "async___async_2.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz";
+        sha512 = "mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==";
       };
     }
     {
@@ -930,30 +954,6 @@
       };
     }
     {
-      name = "axios___axios_0.21.4.tgz";
-      path = fetchurl {
-        name = "axios___axios_0.21.4.tgz";
-        url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz";
-        sha512 = "ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==";
-      };
-    }
-    {
-      name = "axios___axios_0.24.0.tgz";
-      path = fetchurl {
-        name = "axios___axios_0.24.0.tgz";
-        url  = "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz";
-        sha512 = "Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==";
-      };
-    }
-    {
-      name = "axios___axios_0.25.0.tgz";
-      path = fetchurl {
-        name = "axios___axios_0.25.0.tgz";
-        url  = "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz";
-        sha512 = "cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==";
-      };
-    }
-    {
       name = "axios___axios_0.26.1.tgz";
       path = fetchurl {
         name = "axios___axios_0.26.1.tgz";
@@ -962,6 +962,14 @@
       };
     }
     {
+      name = "axios___axios_0.21.4.tgz";
+      path = fetchurl {
+        name = "axios___axios_0.21.4.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz";
+        sha512 = "ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==";
+      };
+    }
+    {
       name = "babel_cli___babel_cli_6.26.0.tgz";
       path = fetchurl {
         name = "babel_cli___babel_cli_6.26.0.tgz";
@@ -1506,11 +1514,11 @@
       };
     }
     {
-      name = "body_parser___body_parser_1.19.2.tgz";
+      name = "body_parser___body_parser_1.20.0.tgz";
       path = fetchurl {
-        name = "body_parser___body_parser_1.19.2.tgz";
-        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz";
-        sha512 = "SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==";
+        name = "body_parser___body_parser_1.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz";
+        sha512 = "DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==";
       };
     }
     {
@@ -1522,6 +1530,14 @@
       };
     }
     {
+      name = "brace_expansion___brace_expansion_2.0.1.tgz";
+      path = fetchurl {
+        name = "brace_expansion___brace_expansion_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz";
+        sha512 = "XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==";
+      };
+    }
+    {
       name = "braces___braces_1.8.5.tgz";
       path = fetchurl {
         name = "braces___braces_1.8.5.tgz";
@@ -1562,11 +1578,11 @@
       };
     }
     {
-      name = "bson___bson_4.6.1.tgz";
+      name = "bson___bson_4.6.3.tgz";
       path = fetchurl {
-        name = "bson___bson_4.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/bson/-/bson-4.6.1.tgz";
-        sha512 = "I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==";
+        name = "bson___bson_4.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/bson/-/bson-4.6.3.tgz";
+        sha512 = "rAqP5hcUVJhXP2MCSNVsf0oM2OGU1So6A9pVRDYayvJ5+hygXHQApf87wd5NlhPM1J9RJnbqxIG/f8QTzRoQ4A==";
       };
     }
     {
@@ -1610,19 +1626,19 @@
       };
     }
     {
-      name = "bulk_write_stream___bulk_write_stream_2.0.1.tgz";
+      name = "buildcheck___buildcheck_0.0.3.tgz";
       path = fetchurl {
-        name = "bulk_write_stream___bulk_write_stream_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/bulk-write-stream/-/bulk-write-stream-2.0.1.tgz";
-        sha512 = "XWOLjgHtpDasHfwM8oO4df1JoZwa7/OwTsXDzh4rUTo+9CowzeOFBZz43w+H14h1fyq+xl28tVIBrdjcjj4Gug==";
+        name = "buildcheck___buildcheck_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.3.tgz";
+        sha512 = "pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==";
       };
     }
     {
-      name = "bunyan___bunyan_1.8.15.tgz";
+      name = "bulk_write_stream___bulk_write_stream_2.0.1.tgz";
       path = fetchurl {
-        name = "bunyan___bunyan_1.8.15.tgz";
-        url  = "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.15.tgz";
-        sha512 = "0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==";
+        name = "bulk_write_stream___bulk_write_stream_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/bulk-write-stream/-/bulk-write-stream-2.0.1.tgz";
+        sha512 = "XWOLjgHtpDasHfwM8oO4df1JoZwa7/OwTsXDzh4rUTo+9CowzeOFBZz43w+H14h1fyq+xl28tVIBrdjcjj4Gug==";
       };
     }
     {
@@ -2106,11 +2122,11 @@
       };
     }
     {
-      name = "cookie___cookie_0.4.2.tgz";
+      name = "cookie___cookie_0.5.0.tgz";
       path = fetchurl {
-        name = "cookie___cookie_0.4.2.tgz";
-        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz";
-        sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
+        name = "cookie___cookie_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz";
+        sha512 = "YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==";
       };
     }
     {
@@ -2162,19 +2178,19 @@
       };
     }
     {
-      name = "cpu_features___cpu_features_0.0.2.tgz";
+      name = "cpu_features___cpu_features_0.0.4.tgz";
       path = fetchurl {
-        name = "cpu_features___cpu_features_0.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.2.tgz";
-        sha512 = "/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==";
+        name = "cpu_features___cpu_features_0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.4.tgz";
+        sha512 = "fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==";
       };
     }
     {
-      name = "crc_32___crc_32_1.2.1.tgz";
+      name = "crc_32___crc_32_1.2.2.tgz";
       path = fetchurl {
-        name = "crc_32___crc_32_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.1.tgz";
-        sha512 = "Dn/xm/1vFFgs3nfrpEVScHoIslO9NZRITWGz/1E/St6u4xw99vfZzVkW0OSnzx2h9egej9xwMCEut6sqwokM/w==";
+        name = "crc_32___crc_32_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz";
+        sha512 = "ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==";
       };
     }
     {
@@ -2266,11 +2282,11 @@
       };
     }
     {
-      name = "data_urls___data_urls_3.0.1.tgz";
+      name = "data_urls___data_urls_3.0.2.tgz";
       path = fetchurl {
-        name = "data_urls___data_urls_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.1.tgz";
-        sha512 = "Ds554NeT5Gennfoo9KN50Vh6tpgtvYEwraYjejXnyTpu1C7oXKxdFk75REooENHE8ndTVOJuv+BEs4/J/xcozw==";
+        name = "data_urls___data_urls_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz";
+        sha512 = "Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==";
       };
     }
     {
@@ -2282,11 +2298,11 @@
       };
     }
     {
-      name = "dayjs___dayjs_1.10.8.tgz";
+      name = "dayjs___dayjs_1.11.1.tgz";
       path = fetchurl {
-        name = "dayjs___dayjs_1.10.8.tgz";
-        url  = "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.8.tgz";
-        sha512 = "wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==";
+        name = "dayjs___dayjs_1.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.1.tgz";
+        sha512 = "ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==";
       };
     }
     {
@@ -2314,11 +2330,11 @@
       };
     }
     {
-      name = "debug___debug_4.3.3.tgz";
+      name = "debug___debug_4.3.4.tgz";
       path = fetchurl {
-        name = "debug___debug_4.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz";
-        sha512 = "/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==";
+        name = "debug___debug_4.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz";
+        sha512 = "PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==";
       };
     }
     {
@@ -2434,14 +2450,6 @@
       };
     }
     {
-      name = "depd___depd_1.1.2.tgz";
-      path = fetchurl {
-        name = "depd___depd_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
-        sha1 = "m81S4UwJd2PnSbJ0xDRu0uVgtak=";
-      };
-    }
-    {
       name = "depd___depd_2.0.0.tgz";
       path = fetchurl {
         name = "depd___depd_2.0.0.tgz";
@@ -2450,11 +2458,19 @@
       };
     }
     {
-      name = "destroy___destroy_1.0.4.tgz";
+      name = "depd___depd_1.1.2.tgz";
+      path = fetchurl {
+        name = "depd___depd_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
+        sha1 = "m81S4UwJd2PnSbJ0xDRu0uVgtak=";
+      };
+    }
+    {
+      name = "destroy___destroy_1.2.0.tgz";
       path = fetchurl {
-        name = "destroy___destroy_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
-        sha1 = "l4hXRCxEdJ5CBmE+N5RiBYJqvYA=";
+        name = "destroy___destroy_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz";
+        sha512 = "2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==";
       };
     }
     {
@@ -2498,14 +2514,6 @@
       };
     }
     {
-      name = "dtrace_provider___dtrace_provider_0.8.8.tgz";
-      path = fetchurl {
-        name = "dtrace_provider___dtrace_provider_0.8.8.tgz";
-        url  = "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.8.tgz";
-        sha512 = "b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==";
-      };
-    }
-    {
       name = "each_series___each_series_1.0.0.tgz";
       path = fetchurl {
         name = "each_series___each_series_1.0.0.tgz";
@@ -2666,14 +2674,6 @@
       };
     }
     {
-      name = "exit_on_epipe___exit_on_epipe_1.0.1.tgz";
-      path = fetchurl {
-        name = "exit_on_epipe___exit_on_epipe_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz";
-        sha512 = "h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==";
-      };
-    }
-    {
       name = "exit___exit_0.1.2.tgz";
       path = fetchurl {
         name = "exit___exit_0.1.2.tgz";
@@ -2730,11 +2730,11 @@
       };
     }
     {
-      name = "express___express_4.17.3.tgz";
+      name = "express___express_4.18.1.tgz";
       path = fetchurl {
-        name = "express___express_4.17.3.tgz";
-        url  = "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz";
-        sha512 = "yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==";
+        name = "express___express_4.18.1.tgz";
+        url  = "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz";
+        sha512 = "zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==";
       };
     }
     {
@@ -2938,11 +2938,11 @@
       };
     }
     {
-      name = "finalhandler___finalhandler_1.1.2.tgz";
+      name = "finalhandler___finalhandler_1.2.0.tgz";
       path = fetchurl {
-        name = "finalhandler___finalhandler_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz";
-        sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
+        name = "finalhandler___finalhandler_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz";
+        sha512 = "5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==";
       };
     }
     {
@@ -3010,11 +3010,11 @@
       };
     }
     {
-      name = "follow_redirects___follow_redirects_1.14.9.tgz";
+      name = "follow_redirects___follow_redirects_1.15.0.tgz";
       path = fetchurl {
-        name = "follow_redirects___follow_redirects_1.14.9.tgz";
-        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz";
-        sha512 = "MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==";
+        name = "follow_redirects___follow_redirects_1.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz";
+        sha512 = "aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==";
       };
     }
     {
@@ -3154,11 +3154,11 @@
       };
     }
     {
-      name = "gaxios___gaxios_4.3.2.tgz";
+      name = "gaxios___gaxios_4.3.3.tgz";
       path = fetchurl {
-        name = "gaxios___gaxios_4.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/gaxios/-/gaxios-4.3.2.tgz";
-        sha512 = "T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==";
+        name = "gaxios___gaxios_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/gaxios/-/gaxios-4.3.3.tgz";
+        sha512 = "gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==";
       };
     }
     {
@@ -3242,14 +3242,6 @@
       };
     }
     {
-      name = "glob___glob_6.0.4.tgz";
-      path = fetchurl {
-        name = "glob___glob_6.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz";
-        sha1 = "DwiGD2oVUSey+t1PnOJLGqtuTSI=";
-      };
-    }
-    {
       name = "glob___glob_7.2.0.tgz";
       path = fetchurl {
         name = "glob___glob_7.2.0.tgz";
@@ -3306,27 +3298,27 @@
       };
     }
     {
-      name = "google_auth_library___google_auth_library_7.14.0.tgz";
+      name = "google_auth_library___google_auth_library_7.14.1.tgz";
       path = fetchurl {
-        name = "google_auth_library___google_auth_library_7.14.0.tgz";
-        url  = "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.14.0.tgz";
-        sha512 = "or8r7qUqGVI3W8lVSdPh0ZpeFyQHeE73g5c0p+bLNTTUFXJ+GSeDQmZRZ2p4H8cF/RJYa4PNvi/A1ar1uVNLFA==";
+        name = "google_auth_library___google_auth_library_7.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.14.1.tgz";
+        sha512 = "5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA==";
       };
     }
     {
-      name = "google_p12_pem___google_p12_pem_3.1.3.tgz";
+      name = "google_p12_pem___google_p12_pem_3.1.4.tgz";
       path = fetchurl {
-        name = "google_p12_pem___google_p12_pem_3.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.3.tgz";
-        sha512 = "MC0jISvzymxePDVembypNefkAQp+DRP7dBE+zNUPaIjEspIlYg0++OrsNr248V9tPbz6iqtZ7rX1hxWA5B8qBQ==";
+        name = "google_p12_pem___google_p12_pem_3.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.4.tgz";
+        sha512 = "HHuHmkLgwjdmVRngf5+gSmpkyaRI6QmOg77J8tkNBHhNEI62sGHyw4/+UkgyZEI7h84NbWprXDJ+sa3xOYFvTg==";
       };
     }
     {
-      name = "google_protobuf___google_protobuf_3.14.0.tgz";
+      name = "google_protobuf___google_protobuf_3.19.4.tgz";
       path = fetchurl {
-        name = "google_protobuf___google_protobuf_3.14.0.tgz";
-        url  = "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.14.0.tgz";
-        sha512 = "bwa8dBuMpOxg7COyqkW6muQuvNnWgVN8TX/epDRGW5m0jcrmq2QJyCyiV8ZE2/6LaIIqJtiv9bYokFhfpy/o6w==";
+        name = "google_protobuf___google_protobuf_3.19.4.tgz";
+        url  = "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.19.4.tgz";
+        sha512 = "OIPNCxsG2lkIvf+P5FNfJ/Km95CsXOBecS9ZcAU6m2Rq3svc0Apl9nB3GMDNKfQ9asNv4KjyAqGwPQFrVle3Yg==";
       };
     }
     {
@@ -3338,19 +3330,19 @@
       };
     }
     {
-      name = "googleapis___googleapis_96.0.0.tgz";
+      name = "googleapis___googleapis_100.0.0.tgz";
       path = fetchurl {
-        name = "googleapis___googleapis_96.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/googleapis/-/googleapis-96.0.0.tgz";
-        sha512 = "tEQtcukxA4sW1OXh35teJbui+BIjMTghH6i0tvUctyXgMDO0Upu3+hrytrw9JqZJxtXReM3Wr5+g4U7veqHpBQ==";
+        name = "googleapis___googleapis_100.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/googleapis/-/googleapis-100.0.0.tgz";
+        sha512 = "RToFQGY54B756IDbjdyjb1vWFmn03bYpXHB2lIf0eq2UBYsIbYOLZ0kqSomfJnpclEukwEmMF7Jn6Wsev871ew==";
       };
     }
     {
-      name = "graceful_fs___graceful_fs_4.2.9.tgz";
+      name = "graceful_fs___graceful_fs_4.2.10.tgz";
       path = fetchurl {
-        name = "graceful_fs___graceful_fs_4.2.9.tgz";
-        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz";
-        sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
+        name = "graceful_fs___graceful_fs_4.2.10.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz";
+        sha512 = "9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==";
       };
     }
     {
@@ -3402,11 +3394,11 @@
       };
     }
     {
-      name = "grunt___grunt_1.4.1.tgz";
+      name = "grunt___grunt_1.5.2.tgz";
       path = fetchurl {
-        name = "grunt___grunt_1.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/grunt/-/grunt-1.4.1.tgz";
-        sha512 = "ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==";
+        name = "grunt___grunt_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/grunt/-/grunt-1.5.2.tgz";
+        sha512 = "XCtfaIu72OyDqK24MjWiGC9SwlkuhkS1mrULr1xzuJ2XqAFhP3ZAchZGHJeSCY6mkaOXU4F7SbmmCF7xIVoC9w==";
       };
     }
     {
@@ -3666,6 +3658,14 @@
       };
     }
     {
+      name = "http_errors___http_errors_2.0.0.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz";
+        sha512 = "FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==";
+      };
+    }
+    {
       name = "http_errors___http_errors_1.8.1.tgz";
       path = fetchurl {
         name = "http_errors___http_errors_1.8.1.tgz";
@@ -3698,11 +3698,11 @@
       };
     }
     {
-      name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
+      name = "https_proxy_agent___https_proxy_agent_5.0.1.tgz";
       path = fetchurl {
-        name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz";
-        sha512 = "EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==";
+        name = "https_proxy_agent___https_proxy_agent_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz";
+        sha512 = "dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==";
       };
     }
     {
@@ -3874,11 +3874,11 @@
       };
     }
     {
-      name = "is_core_module___is_core_module_2.8.1.tgz";
+      name = "is_core_module___is_core_module_2.9.0.tgz";
       path = fetchurl {
-        name = "is_core_module___is_core_module_2.8.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz";
-        sha512 = "SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==";
+        name = "is_core_module___is_core_module_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz";
+        sha512 = "+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==";
       };
     }
     {
@@ -4898,19 +4898,11 @@
       };
     }
     {
-      name = "micromatch___micromatch_4.0.4.tgz";
-      path = fetchurl {
-        name = "micromatch___micromatch_4.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz";
-        sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
-      };
-    }
-    {
-      name = "mime_db___mime_db_1.51.0.tgz";
+      name = "micromatch___micromatch_4.0.5.tgz";
       path = fetchurl {
-        name = "mime_db___mime_db_1.51.0.tgz";
-        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz";
-        sha512 = "5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==";
+        name = "micromatch___micromatch_4.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz";
+        sha512 = "DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==";
       };
     }
     {
@@ -4922,11 +4914,11 @@
       };
     }
     {
-      name = "mime_types___mime_types_2.1.34.tgz";
+      name = "mime_types___mime_types_2.1.35.tgz";
       path = fetchurl {
-        name = "mime_types___mime_types_2.1.34.tgz";
-        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz";
-        sha512 = "6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==";
+        name = "mime_types___mime_types_2.1.35.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz";
+        sha512 = "ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==";
       };
     }
     {
@@ -4978,6 +4970,14 @@
       };
     }
     {
+      name = "minimatch___minimatch_5.0.1.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz";
+        sha512 = "nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==";
+      };
+    }
+    {
       name = "minimatch___minimatch_3.0.8.tgz";
       path = fetchurl {
         name = "minimatch___minimatch_3.0.8.tgz";
@@ -4986,11 +4986,11 @@
       };
     }
     {
-      name = "minimist___minimist_1.2.5.tgz";
+      name = "minimist___minimist_1.2.6.tgz";
       path = fetchurl {
-        name = "minimist___minimist_1.2.5.tgz";
-        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz";
-        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
+        name = "minimist___minimist_1.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz";
+        sha512 = "Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==";
       };
     }
     {
@@ -5018,11 +5018,11 @@
       };
     }
     {
-      name = "mkdirp___mkdirp_0.5.5.tgz";
+      name = "mkdirp___mkdirp_0.5.6.tgz";
       path = fetchurl {
-        name = "mkdirp___mkdirp_0.5.5.tgz";
-        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz";
-        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
+        name = "mkdirp___mkdirp_0.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz";
+        sha512 = "FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==";
       };
     }
     {
@@ -5050,11 +5050,11 @@
       };
     }
     {
-      name = "moment___moment_2.29.1.tgz";
+      name = "moment___moment_2.29.3.tgz";
       path = fetchurl {
-        name = "moment___moment_2.29.1.tgz";
-        url  = "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz";
-        sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
+        name = "moment___moment_2.29.3.tgz";
+        url  = "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz";
+        sha512 = "c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==";
       };
     }
     {
@@ -5146,14 +5146,6 @@
       };
     }
     {
-      name = "mv___mv_2.1.1.tgz";
-      path = fetchurl {
-        name = "mv___mv_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz";
-        sha1 = "rmzg1vbV4KT32JN5jQPB6pVZtqI=";
-      };
-    }
-    {
       name = "mysql___mysql_2.18.1.tgz";
       path = fetchurl {
         name = "mysql___mysql_2.18.1.tgz";
@@ -5186,14 +5178,6 @@
       };
     }
     {
-      name = "ncp___ncp_2.0.0.tgz";
-      path = fetchurl {
-        name = "ncp___ncp_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz";
-        sha1 = "GVoh1sRuNh0vsSgbo4uR6d9727M=";
-      };
-    }
-    {
       name = "negotiator___negotiator_0.6.3.tgz";
       path = fetchurl {
         name = "negotiator___negotiator_0.6.3.tgz";
@@ -5210,11 +5194,11 @@
       };
     }
     {
-      name = "nested_error_stacks___nested_error_stacks_2.1.0.tgz";
+      name = "nested_error_stacks___nested_error_stacks_2.1.1.tgz";
       path = fetchurl {
-        name = "nested_error_stacks___nested_error_stacks_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz";
-        sha512 = "AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==";
+        name = "nested_error_stacks___nested_error_stacks_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz";
+        sha512 = "9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==";
       };
     }
     {
@@ -5250,19 +5234,11 @@
       };
     }
     {
-      name = "node_forge___node_forge_1.2.1.tgz";
-      path = fetchurl {
-        name = "node_forge___node_forge_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz";
-        sha512 = "Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==";
-      };
-    }
-    {
-      name = "node_rdpjs_2___node_rdpjs_2_0.3.5.tgz";
+      name = "node_forge___node_forge_1.3.1.tgz";
       path = fetchurl {
-        name = "node_rdpjs_2___node_rdpjs_2_0.3.5.tgz";
-        url  = "https://registry.yarnpkg.com/node-rdpjs-2/-/node-rdpjs-2-0.3.5.tgz";
-        sha512 = "ABgNbpbJlX2S4SZnsyoUd1MXINLq2y2hbrOXcoxn/NMl4/7uhM/JmXKublF3AooOgRCVKlXiefUVCIMSG/mNZw==";
+        name = "node_forge___node_forge_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz";
+        sha512 = "dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==";
       };
     }
     {
@@ -5298,11 +5274,11 @@
       };
     }
     {
-      name = "nodemailer___nodemailer_6.7.2.tgz";
+      name = "nodemailer___nodemailer_6.7.5.tgz";
       path = fetchurl {
-        name = "nodemailer___nodemailer_6.7.2.tgz";
-        url  = "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.2.tgz";
-        sha512 = "Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==";
+        name = "nodemailer___nodemailer_6.7.5.tgz";
+        url  = "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.5.tgz";
+        sha512 = "6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg==";
       };
     }
     {
@@ -5490,11 +5466,11 @@
       };
     }
     {
-      name = "on_finished___on_finished_2.3.0.tgz";
+      name = "on_finished___on_finished_2.4.1.tgz";
       path = fetchurl {
-        name = "on_finished___on_finished_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz";
-        sha1 = "IPEzZIGwg811M3mSoWlxqi2QaUc=";
+        name = "on_finished___on_finished_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz";
+        sha512 = "oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==";
       };
     }
     {
@@ -6058,11 +6034,11 @@
       };
     }
     {
-      name = "plivo___plivo_4.28.0.tgz";
+      name = "plivo___plivo_4.32.0.tgz";
       path = fetchurl {
-        name = "plivo___plivo_4.28.0.tgz";
-        url  = "https://registry.yarnpkg.com/plivo/-/plivo-4.28.0.tgz";
-        sha512 = "FQCc5TG5QUlNq1r0OlLvAHgJo15M+ou+dt7bWheataObxUxPqpga316zCOYR/sGzVzREPSB/ThpT9/cZeUcYgg==";
+        name = "plivo___plivo_4.32.0.tgz";
+        url  = "https://registry.yarnpkg.com/plivo/-/plivo-4.32.0.tgz";
+        sha512 = "HHdiZ92RT2MNtQPESIsyBfzOB4I6JxTcwjL/MYcW111Vd80WKXm0g1rjOU8pv2Oci9O6j/9CSGCzwXtU7fb6RQ==";
       };
     }
     {
@@ -6138,14 +6114,6 @@
       };
     }
     {
-      name = "printj___printj_1.3.1.tgz";
-      path = fetchurl {
-        name = "printj___printj_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/printj/-/printj-1.3.1.tgz";
-        sha512 = "GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==";
-      };
-    }
-    {
       name = "private___private_0.1.8.tgz";
       path = fetchurl {
         name = "private___private_0.1.8.tgz";
@@ -6242,14 +6210,6 @@
       };
     }
     {
-      name = "qs___qs_6.9.7.tgz";
-      path = fetchurl {
-        name = "qs___qs_6.9.7.tgz";
-        url  = "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz";
-        sha512 = "IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==";
-      };
-    }
-    {
       name = "qs___qs_6.10.3.tgz";
       path = fetchurl {
         name = "qs___qs_6.10.3.tgz";
@@ -6322,11 +6282,11 @@
       };
     }
     {
-      name = "raw_body___raw_body_2.4.3.tgz";
+      name = "raw_body___raw_body_2.5.1.tgz";
       path = fetchurl {
-        name = "raw_body___raw_body_2.4.3.tgz";
-        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz";
-        sha512 = "UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==";
+        name = "raw_body___raw_body_2.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz";
+        sha512 = "qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==";
       };
     }
     {
@@ -6714,14 +6674,6 @@
       };
     }
     {
-      name = "rimraf___rimraf_2.4.5.tgz";
-      path = fetchurl {
-        name = "rimraf___rimraf_2.4.5.tgz";
-        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz";
-        sha1 = "7nEM5dk6j9uFb7Xqj/Di11k0sto=";
-      };
-    }
-    {
       name = "rimraf___rimraf_3.0.2.tgz";
       path = fetchurl {
         name = "rimraf___rimraf_3.0.2.tgz";
@@ -6762,14 +6714,6 @@
       };
     }
     {
-      name = "safe_json_stringify___safe_json_stringify_1.2.0.tgz";
-      path = fetchurl {
-        name = "safe_json_stringify___safe_json_stringify_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz";
-        sha512 = "gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==";
-      };
-    }
-    {
       name = "safe_regex___safe_regex_1.1.0.tgz";
       path = fetchurl {
         name = "safe_regex___safe_regex_1.1.0.tgz";
@@ -6858,11 +6802,11 @@
       };
     }
     {
-      name = "semver___semver_7.3.5.tgz";
+      name = "semver___semver_7.3.7.tgz";
       path = fetchurl {
-        name = "semver___semver_7.3.5.tgz";
-        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz";
-        sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
+        name = "semver___semver_7.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz";
+        sha512 = "QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==";
       };
     }
     {
@@ -6882,19 +6826,19 @@
       };
     }
     {
-      name = "send___send_0.17.2.tgz";
+      name = "send___send_0.18.0.tgz";
       path = fetchurl {
-        name = "send___send_0.17.2.tgz";
-        url  = "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz";
-        sha512 = "UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==";
+        name = "send___send_0.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz";
+        sha512 = "qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==";
       };
     }
     {
-      name = "serve_static___serve_static_1.14.2.tgz";
+      name = "serve_static___serve_static_1.15.0.tgz";
       path = fetchurl {
-        name = "serve_static___serve_static_1.14.2.tgz";
-        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz";
-        sha512 = "+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==";
+        name = "serve_static___serve_static_1.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz";
+        sha512 = "XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==";
       };
     }
     {
@@ -7130,11 +7074,11 @@
       };
     }
     {
-      name = "ssh2___ssh2_1.7.0.tgz";
+      name = "ssh2___ssh2_1.10.0.tgz";
       path = fetchurl {
-        name = "ssh2___ssh2_1.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/ssh2/-/ssh2-1.7.0.tgz";
-        sha512 = "u1gdFfqKV1PTGR2szS5FImhFii40o+8FOUpg1M//iimNaS4BkTyUVfVdoydXS93M1SquOU02Z4KFhYDBNqQO+g==";
+        name = "ssh2___ssh2_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/ssh2/-/ssh2-1.10.0.tgz";
+        sha512 = "OnKAAmf4j8wCRrXXZv3Tp5lCZkLJZtgZbn45ELiShCg27djDQ3XFGvIzuGsIsf4hdHslP+VdhA9BhUQdTdfd9w==";
       };
     }
     {
@@ -7154,6 +7098,14 @@
       };
     }
     {
+      name = "statuses___statuses_2.0.1.tgz";
+      path = fetchurl {
+        name = "statuses___statuses_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz";
+        sha512 = "RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==";
+      };
+    }
+    {
       name = "statuses___statuses_1.5.0.tgz";
       path = fetchurl {
         name = "statuses___statuses_1.5.0.tgz";
@@ -7170,6 +7122,14 @@
       };
     }
     {
+      name = "step___step_0.0.6.tgz";
+      path = fetchurl {
+        name = "step___step_0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/step/-/step-0.0.6.tgz";
+        sha1 = "FD54SaXX0/SgiP4pr5SRUhbu7eI=";
+      };
+    }
+    {
       name = "stream_connect___stream_connect_1.0.2.tgz";
       path = fetchurl {
         name = "stream_connect___stream_connect_1.0.2.tgz";
@@ -7610,11 +7570,11 @@
       };
     }
     {
-      name = "twilio___twilio_3.75.1.tgz";
+      name = "twilio___twilio_3.77.0.tgz";
       path = fetchurl {
-        name = "twilio___twilio_3.75.1.tgz";
-        url  = "https://registry.yarnpkg.com/twilio/-/twilio-3.75.1.tgz";
-        sha512 = "q9h8AzJekL2etE4hPiZ3IOz9V6MkrY5d5cLvTra+Xe+jtDjQgarKbMUOYFhVHb/zXycf9qqW+Qk9de0ekgLwrQ==";
+        name = "twilio___twilio_3.77.0.tgz";
+        url  = "https://registry.yarnpkg.com/twilio/-/twilio-3.77.0.tgz";
+        sha512 = "jacZBKSzRBIoTdJv43U5bftdY9ptPAisH/ydd0k0ggja+GoecvCZ4MaoTgHRGDD2tR9srsw7U1nQCrqw0elobg==";
       };
     }
     {
@@ -7650,11 +7610,11 @@
       };
     }
     {
-      name = "uglify_js___uglify_js_3.15.3.tgz";
+      name = "uglify_js___uglify_js_3.15.4.tgz";
       path = fetchurl {
-        name = "uglify_js___uglify_js_3.15.3.tgz";
-        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.3.tgz";
-        sha512 = "6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==";
+        name = "uglify_js___uglify_js_3.15.4.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.4.tgz";
+        sha512 = "vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==";
       };
     }
     {
@@ -7698,11 +7658,11 @@
       };
     }
     {
-      name = "underscore___underscore_1.13.2.tgz";
+      name = "underscore___underscore_1.13.3.tgz";
       path = fetchurl {
-        name = "underscore___underscore_1.13.2.tgz";
-        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.13.2.tgz";
-        sha512 = "ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==";
+        name = "underscore___underscore_1.13.3.tgz";
+        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.13.3.tgz";
+        sha512 = "QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==";
       };
     }
     {
@@ -7986,19 +7946,27 @@
       };
     }
     {
-      name = "web_push___web_push_3.4.5.tgz";
+      name = "web_push___web_push_3.5.0.tgz";
+      path = fetchurl {
+        name = "web_push___web_push_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/web-push/-/web-push-3.5.0.tgz";
+        sha512 = "JC0V9hzKTqlDYJ+LTZUXtW7B175qwwaqzbbMSWDxHWxZvd3xY0C2rcotMGDavub2nAAFw+sXTsqR65/KY2A5AQ==";
+      };
+    }
+    {
+      name = "webdav___webdav_4.9.0.tgz";
       path = fetchurl {
-        name = "web_push___web_push_3.4.5.tgz";
-        url  = "https://registry.yarnpkg.com/web-push/-/web-push-3.4.5.tgz";
-        sha512 = "2njbTqZ6Q7ZqqK14YpK1GGmaZs3NmuGYF5b7abCXulUIWFSlSYcZ3NBJQRFcMiQDceD7vQknb8FUuvI1F7Qe/g==";
+        name = "webdav___webdav_4.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/webdav/-/webdav-4.9.0.tgz";
+        sha512 = "pMuRtZcjBk3i6q1iY5wBHdablKftoBfhrQEWWEejSh2LXgd0J6VE5V0c1tUlMrFHaVDx8iCoB9kupNzy8SMC4A==";
       };
     }
     {
-      name = "webdav___webdav_4.8.0.tgz";
+      name = "webfinger___webfinger_0.4.2.tgz";
       path = fetchurl {
-        name = "webdav___webdav_4.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/webdav/-/webdav-4.8.0.tgz";
-        sha512 = "CVJvxu0attEfoQUKraDiNh3uMjNPNl+BY0pbcKbyc/X+8IXDnqAT4tT4Ge12w+j49fYuVpFVkpEGwBZabv7Uhw==";
+        name = "webfinger___webfinger_0.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/webfinger/-/webfinger-0.4.2.tgz";
+        sha1 = "NHem2XeZRhiWA5/P/GULc0aO520=";
       };
     }
     {
@@ -8050,6 +8018,14 @@
       };
     }
     {
+      name = "whatwg_url___whatwg_url_11.0.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_11.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz";
+        sha512 = "RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==";
+      };
+    }
+    {
       name = "whatwg_url___whatwg_url_5.0.0.tgz";
       path = fetchurl {
         name = "whatwg_url___whatwg_url_5.0.0.tgz";
@@ -8218,11 +8194,11 @@
       };
     }
     {
-      name = "ws___ws_8.5.0.tgz";
+      name = "ws___ws_8.6.0.tgz";
       path = fetchurl {
-        name = "ws___ws_8.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz";
-        sha512 = "BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==";
+        name = "ws___ws_8.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-8.6.0.tgz";
+        sha512 = "AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==";
       };
     }
     {
@@ -8250,6 +8226,14 @@
       };
     }
     {
+      name = "xml2js___xml2js_0.1.14.tgz";
+      path = fetchurl {
+        name = "xml2js___xml2js_0.1.14.tgz";
+        url  = "https://registry.yarnpkg.com/xml2js/-/xml2js-0.1.14.tgz";
+        sha1 = "UnTmf1pkxfkpdM2FE54DMq3GuQw=";
+      };
+    }
+    {
       name = "xml2js___xml2js_0.4.23.tgz";
       path = fetchurl {
         name = "xml2js___xml2js_0.4.23.tgz";
diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix
index fcc92e673a5..9be1ea7f4d4 100644
--- a/pkgs/tools/archivers/gnutar/default.nix
+++ b/pkgs/tools/archivers/gnutar/default.nix
@@ -45,9 +45,7 @@ stdenv.mkDerivation rec {
   doInstallCheck = false; # fails
 
   meta = {
-    homepage = "https://www.gnu.org/software/tar/";
     description = "GNU implementation of the `tar' archiver";
-
     longDescription = ''
       The Tar program provides the ability to create tar archives, as
       well as various other kinds of manipulation.  For example, you
@@ -62,10 +60,12 @@ stdenv.mkDerivation rec {
       pipes), it can even access remote devices or files (as
       archives).
     '';
+    homepage = "https://www.gnu.org/software/tar/";
 
     license = lib.licenses.gpl3Plus;
 
     maintainers = [ ];
+    mainProgram = "tar";
     platforms = lib.platforms.all;
 
     priority = 10;
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index cd2661128a9..c50a49255c9 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2022.04.28";
+  version = "2022.05.05";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    hash = "sha256-a/zFCxdy+GTh5daZO7QBHWeeJ1dead3Dn7dk02jBnc0=";
+    hash = "sha256-QGCws+S6Mfv0uQcfKg2DbRWS34UAeG17Z+YAyswVAFc=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/audio/glyr/default.nix b/pkgs/tools/audio/glyr/default.nix
index 60585c3b354..0f13addfcd9 100644
--- a/pkgs/tools/audio/glyr/default.nix
+++ b/pkgs/tools/audio/glyr/default.nix
@@ -16,10 +16,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ sqlite glib curl ];
 
   meta = with lib; {
-    license = licenses.lgpl3;
     description = "A music related metadata searchengine";
     homepage = "https://github.com/sahib/glyr";
+    license = licenses.lgpl3;
     maintainers = [ maintainers.sternenseemann ];
+    mainProgram = "glyrc";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/audio/headset-charge-indicator/default.nix b/pkgs/tools/audio/headset-charge-indicator/default.nix
new file mode 100644
index 00000000000..2e4f6318519
--- /dev/null
+++ b/pkgs/tools/audio/headset-charge-indicator/default.nix
@@ -0,0 +1,63 @@
+{ lib, stdenv, fetchFromGitHub, headsetcontrol, wrapGAppsHook, python3, gtk3
+, gobject-introspection, libayatana-appindicator-gtk3 }:
+
+stdenv.mkDerivation rec {
+  # The last versioned release is 1.0.0.0 from 2020, since then there were updates but no versioned release.
+  # This is not marked unstable because upstream encourages installation from source.
+  pname = "headset-charge-indicator";
+  version = "2021-08-15";
+
+  src = fetchFromGitHub {
+    owner = "centic9";
+    repo = "headset-charge-indicator";
+    rev = "6e20f81a4d6118c7385b831044c468af83103193";
+    sha256 = "sha256-eaAbqeFY+B3CcKJywC3vaRsWZNQENTbALc7L7uW0W6U=";
+  };
+
+  nativeBuildInputs = [ wrapGAppsHook ];
+
+  buildInputs = [
+    (python3.withPackages (ps: with ps; [ pygobject3 ]))
+    headsetcontrol
+    gtk3
+    gobject-introspection
+    libayatana-appindicator-gtk3
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp $src/headset-charge-indicator.py $out/bin/headset-charge-indicator.py
+    chmod +x $out/bin/headset-charge-indicator.py
+
+    substituteInPlace \
+      $out/bin/headset-charge-indicator.py \
+      --replace "default='headsetcontrol'" "default='${headsetcontrol}/bin/headsetcontrol'"
+
+    cat << EOF > ${pname}.desktop
+    [Desktop Entry]
+    Name=Wireless headset app-indicator
+    Categories=Application;System
+    Exec=$out/bin/headset-charge-indicator.py
+    Terminal=false
+    Type=Application
+    X-GNOME-AutoRestart=true
+    X-GNOME-Autostart-enabled=true
+    EOF
+
+    mkdir -p $out/share/applications
+    mkdir -p $out/etc/xdg/autostart
+    cp ${pname}.desktop $out/share/applications/${pname}.desktop
+    cp ${pname}.desktop $out/etc/xdg/autostart/${pname}.desktop
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/centic9/headset-charge-indicator";
+    description =
+      "A app-indicator for GNOME desktops for controlling some features of various wireless headsets";
+    longDescription =
+      "A simple app-indicator for GNOME desktops to display the battery charge of some wireless headsets which also allows to control some functions like LEDs, sidetone and others.";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ zebreus ];
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/tools/backup/autorestic/default.nix b/pkgs/tools/backup/autorestic/default.nix
index d7b6af03164..45a359e0aad 100644
--- a/pkgs/tools/backup/autorestic/default.nix
+++ b/pkgs/tools/backup/autorestic/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "autorestic";
-  version = "1.5.8";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "cupcakearmy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0eq2u3DCNgfxsiE4lycf+xGIoEC3sZgEMha9+40j+9s=";
+    sha256 = "sha256-UUK5C26wM8LKQ7TE6DWEfzq+uPXH09B2Nybkfuqk+1o=";
   };
 
-  vendorSha256 = "sha256-qYXdRpQT7x+Y5h8PuKGjsANXLqjNlsPKO76GQhnufTU=";
+  vendorSha256 = "sha256-eB24vCElnnk3EMKniCblmeRsFk0BQ0wFeBf0B8OPanE=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -27,6 +27,6 @@ buildGoModule rec {
     homepage = "https://github.com/cupcakearmy/autorestic";
     license = licenses.asl20;
     maintainers = with maintainers; [ renesat ];
-    platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "autorestic";
   };
 }
diff --git a/pkgs/tools/bootloaders/refind/default.nix b/pkgs/tools/bootloaders/refind/default.nix
index c8dc645d69b..8d46197214c 100644
--- a/pkgs/tools/bootloaders/refind/default.nix
+++ b/pkgs/tools/bootloaders/refind/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, gnu-efi }:
+{ lib, stdenv, fetchurl, gnu-efi, nixosTests }:
 
 let
   archids = {
@@ -14,11 +14,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "refind";
-  version = "0.13.2";
+  version = "0.13.3.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/refind/${version}/${pname}-src-${version}.tar.gz";
-    sha256 = "0w6990ggns4xsdmgj3aq527q15frrxfmxwa3m6igabd4ai498n6x";
+    sha256 = "1lfgqqiyl6isy25wrxzyi3s334ii057g88714igyjjmxh47kygks";
   };
 
   patches = [
@@ -107,6 +107,10 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.tests = {
+    uefiCdrom = nixosTests.boot.uefiCdrom;
+  };
+
   meta = with lib; {
     description = "A graphical {,U}EFI boot manager";
     longDescription = ''
diff --git a/pkgs/tools/compression/xdelta/default.nix b/pkgs/tools/compression/xdelta/default.nix
index fbaab91d093..27d0141ff75 100644
--- a/pkgs/tools/compression/xdelta/default.nix
+++ b/pkgs/tools/compression/xdelta/default.nix
@@ -56,6 +56,7 @@ in stdenv.mkDerivation rec {
     '';
     homepage = "http://xdelta.org/";
     license = licenses.gpl2Plus;
+    mainProgram = "xdelta3";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/compression/xdelta/unstable.nix b/pkgs/tools/compression/xdelta/unstable.nix
index 03366e5b1ce..2ac8398dbc2 100644
--- a/pkgs/tools/compression/xdelta/unstable.nix
+++ b/pkgs/tools/compression/xdelta/unstable.nix
@@ -60,6 +60,7 @@ in stdenv.mkDerivation rec {
     '';
     homepage = "http://xdelta.org/";
     license = licenses.gpl2Plus;
+    mainProgram = "xdelta3";
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index fad1944c4a0..f9e5340802e 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -1,22 +1,24 @@
 { lib, stdenv, fetchurl
-, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, pkg-config, python3, xmlto
+, pkg-config, python3, sphinx
 , zstd
 , acl, attr, e2fsprogs, libuuid, lzo, udev, zlib
 , runCommand, btrfs-progs
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.16.2";
+  version = "5.17";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "sha256-npswOh0P2c6q8gTudMHI+h/VV5TiI9n+K8Yodey9U9I=";
+    sha256 = "sha256-Y7d4/kwrrRjjcdzljtNUiOCPWDkhNnRU/diFB6PQ2J4=";
   };
 
   nativeBuildInputs = [
-    pkg-config asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt
+    pkg-config
     python3 python3.pkgs.setuptools
+    sphinx
   ];
 
   buildInputs = [ acl attr e2fsprogs libuuid lzo python3 zlib zstd ] ++ lib.optionals stdenv.hostPlatform.isGnu [ udev ];
@@ -47,6 +49,14 @@ stdenv.mkDerivation rec {
       [ -e $out/success ]
     '';
   };
+
+  passthru.updateScript = gitUpdater {
+    inherit pname version;
+    # No nicer place to find latest release.
+    url = "https://github.com/kdave/btrfs-progs.git";
+    rev-prefix = "v";
+  };
+
   meta = with lib; {
     description = "Utilities for the btrfs filesystem";
     homepage = "https://btrfs.wiki.kernel.org/";
diff --git a/pkgs/tools/filesystems/netatalk/default.nix b/pkgs/tools/filesystems/netatalk/default.nix
index e5e873b9ac5..f5eb62cca56 100644
--- a/pkgs/tools/filesystems/netatalk/default.nix
+++ b/pkgs/tools/filesystems/netatalk/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "netatalk";
-  version = "3.1.12";
+  version = "3.1.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/netatalk/netatalk/netatalk-${version}.tar.bz2";
-    sha256 = "1ld5mnz88ixic21m6f0xcgf8v6qm08j6xabh1dzfj6x47lxghq0m";
+    sha256 = "0pg0slvvvq3l6f5yjz9ybijg4i6rs5a6c8wcynaasf8vzsyadbc9";
   };
 
   patches = [
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index e81414a2595..c44157a2f02 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xfsprogs";
-  version = "5.15.0";
+  version = "5.16.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/fs/xfs/xfsprogs/${pname}-${version}.tar.xz";
-    sha256 = "0mjdwxr2hhqkfa8xg0v74v3n27sjvlwm90jqnmx0587b60wbzlhk";
+    hash = "sha256-eLjImZmb1pBEHLU9fAKrZxKUlAMZxpT/fILiPo5Gu58=";
   };
 
   outputs = [ "bin" "dev" "out" "doc" ];
diff --git a/pkgs/tools/graphics/grim/default.nix b/pkgs/tools/graphics/grim/default.nix
index 43824e16904..4ca4cd9a034 100644
--- a/pkgs/tools/graphics/grim/default.nix
+++ b/pkgs/tools/graphics/grim/default.nix
@@ -1,11 +1,11 @@
-{ lib, stdenv, fetchFromGitHub, pixman, libpng, libjpeg, meson, ninja, wayland, pkg-config, scdoc, wayland-protocols }:
+{ lib, stdenv, fetchFromSourcehut, pixman, libpng, libjpeg, meson, ninja, wayland, pkg-config, scdoc, wayland-protocols }:
 
 stdenv.mkDerivation rec {
   pname = "grim";
   version = "1.4.0";
 
-  src = fetchFromGitHub {
-    owner = "emersion";
+  src = fetchFromSourcehut {
+    owner = "~emersion";
     repo = pname;
     rev = "v${version}";
     sha256 = "sha256-lwJn1Lysv1qLauqmrduUlzdoKUrUM5uBjv+dWSsrM6w=";
diff --git a/pkgs/tools/inputmethods/input-remapper/default.nix b/pkgs/tools/inputmethods/input-remapper/default.nix
index 1ac061034d7..0a1ce3108f2 100644
--- a/pkgs/tools/inputmethods/input-remapper/default.nix
+++ b/pkgs/tools/inputmethods/input-remapper/default.nix
@@ -34,9 +34,9 @@
   # https://discourse.nixos.org/t/avoid-rec-expresions-in-nixpkgs/8293/7
   # The names are prefixed with input_remapper to avoid potential
   # collisions with package names
-, input_remapper_version ? "unstable-2022-02-09"
-, input_remapper_src_rev ? "55227e0b5a28d21d7333c6c8ea1c691e56fd35c4"
-, input_remapper_src_hash ? "sha256-kzGlEaYN/JfAgbI0aMLr5mwObYOL43X7QU/ihDEBQFg="
+, input_remapper_version ? "1.4.2"
+, input_remapper_src_rev ? "af20f87a1298153e765b840a2164ba63b9ef937a"
+, input_remapper_src_hash ? "sha256-eG4Fx1z74Bq1HrfmzOuULQLziGdWnHLax8y2dymjWsI="
 }:
 
 let
diff --git a/pkgs/tools/misc/anystyle-cli/default.nix b/pkgs/tools/misc/anystyle-cli/default.nix
index 379ed14f8ef..beebae6542b 100644
--- a/pkgs/tools/misc/anystyle-cli/default.nix
+++ b/pkgs/tools/misc/anystyle-cli/default.nix
@@ -38,6 +38,7 @@ buildRubyGem rec {
     homepage    = "https://anystyle.io/";
     license     = licenses.bsd2;
     maintainers = with maintainers; [ shamilton ];
+    mainProgram = "anystyle";
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/apkeep/default.nix b/pkgs/tools/misc/apkeep/default.nix
index f7d3daf9fbc..d1bb7d85d18 100644
--- a/pkgs/tools/misc/apkeep/default.nix
+++ b/pkgs/tools/misc/apkeep/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "apkeep";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-kwJ4/jkVVgem5Lb+uFDFPk4/6WWSWJs+SQDSyKkhG/8=";
+    sha256 = "sha256-SmzsFXS/geFpssy18pIluoCYGsJql9TAgYUNgAZlXmI=";
   };
 
-  cargoSha256 = "sha256-kJ81kY2EmkH3yu8xL1aPxXPMhkDsGKWo0RWn1Ih7z2k=";
+  cargoSha256 = "sha256-bL79CW6X9pHx/Cn58KDxf8bVDwvrGRKkK9v/+Ygp5D4=";
 
   prePatch = ''
     rm .cargo/config.toml
diff --git a/pkgs/tools/misc/bdfresize/default.nix b/pkgs/tools/misc/bdfresize/default.nix
new file mode 100644
index 00000000000..f1ac559fb67
--- /dev/null
+++ b/pkgs/tools/misc/bdfresize/default.nix
@@ -0,0 +1,20 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "bdfresize";
+  version = "1.5";
+
+  src = fetchurl {
+    url = "http://openlab.ring.gr.jp/efont/dist/tools/bdfresize/${pname}-${version}.tar.gz";
+    hash = "sha256-RAz8BiCgI35GNSwUoHdMqj8wWXWbCiDe/vyU6EkIl6Y=";
+  };
+
+  patches = [ ./remove-malloc-declaration.patch ];
+
+  meta = with lib; {
+    description = "Tool to resize BDF fonts";
+    homepage = "http://openlab.ring.gr.jp/efont/dist/tools/bdfresize/";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ malvo ];
+  };
+}
diff --git a/pkgs/tools/misc/bdfresize/remove-malloc-declaration.patch b/pkgs/tools/misc/bdfresize/remove-malloc-declaration.patch
new file mode 100644
index 00000000000..c58888a4be2
--- /dev/null
+++ b/pkgs/tools/misc/bdfresize/remove-malloc-declaration.patch
@@ -0,0 +1,11 @@
+Remove an unneeded declaration of malloc so gcc doesn't complain.
+--- a/charresize.c
++++ b/charresize.c
+@@ -46,7 +46,6 @@ static int	bit[8] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 };
+ void
+ processChar(void)
+ {
+-  char	*malloc();
+   char	*srcimage;
+   int	*dstgray;
+ 
diff --git a/pkgs/tools/misc/boltbrowser/default.nix b/pkgs/tools/misc/boltbrowser/default.nix
index 29635394954..3bfbfa1adee 100644
--- a/pkgs/tools/misc/boltbrowser/default.nix
+++ b/pkgs/tools/misc/boltbrowser/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "boltbrowser";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "br0xen";
     repo = pname;
     rev = version;
-    sha256 = "17v3pv80dxs285d0b6x772h5cb4f0xg9n5p9jwlir5hjbfn1635i";
+    sha256 = "sha256-Obfhxe0AI5m4UTvs28PMOrBxWuwMW7FY4DMI80Ez0Ws=";
   };
 
-  vendorSha256 = "1x28m72626cchnsasyxips8jaqs0l2p9jhjrdcgws144zm6fz3hv";
+  vendorSha256 = "sha256-G47vTP2EBM0fa1lCma6gQGMlkb6xe620hYwZYcSpSPQ=";
 
   meta = with lib; {
     description = "CLI Browser for BoltDB files";
diff --git a/pkgs/tools/misc/bsp-layout/default.nix b/pkgs/tools/misc/bsp-layout/default.nix
index 065c21e3f78..bad5b4d9a89 100644
--- a/pkgs/tools/misc/bsp-layout/default.nix
+++ b/pkgs/tools/misc/bsp-layout/default.nix
@@ -1,4 +1,11 @@
-{ stdenv, fetchFromGitHub, lib, bspwm, makeWrapper, git, bc }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeWrapper
+, git
+, bc
+, bspwm
+}:
 
 stdenv.mkDerivation rec {
   pname = "bsp-layout";
@@ -17,14 +24,22 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" ];
 
   postInstall = ''
-    substituteInPlace $out/bin/bsp-layout --replace 'bc ' '${bc}/bin/bc '
+    substituteInPlace $out/lib/bsp-layout/layout.sh --replace 'bc ' '${bc}/bin/bc '
+    for layout in tall rtall wide rwide
+    do
+      substituteInPlace "$out/lib/bsp-layout/layouts/$layout.sh" --replace 'bc ' '${bc}/bin/bc '
+    done
   '';
 
   meta = with lib; {
     description = "Manage layouts in bspwm";
+    longDescription = ''
+      bsp-layout is a dynamic layout manager for bspwm, written in bash.
+      It provides layout options to fit most workflows.
+    '';
     homepage = "https://github.com/phenax/bsp-layout";
     license = licenses.mit;
-    maintainers = with maintainers; [ devins2518 ];
+    maintainers = with maintainers; [ devins2518 totoroot ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix
index 8afb103e9d4..e23471fc96d 100644
--- a/pkgs/tools/misc/calamares/default.nix
+++ b/pkgs/tools/misc/calamares/default.nix
@@ -7,12 +7,12 @@
 
 mkDerivation rec {
   pname = "calamares";
-  version = "3.2.56";
+  version = "3.2.57";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/calamares/calamares/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "e1402d7693659b85c5e553481a7252d91350c3f33ffea413488d7712d3281e03";
+    sha256 = "ef7f564ec2cd8baaf94a44982ce1db88c1192696617f21538d0b8472a63b4c2b";
   };
 
   patches = lib.optionals nixos-extensions [
@@ -28,9 +28,6 @@ mkDerivation rec {
     ./nonroot.patch
     # Adds unfree qml to packagechooserq
     ./unfreeq.patch
-    # Adds config to change name of packagechooserq
-    # Upstreamed in PR: https://github.com/calamares/calamares/pull/1932
-    ./packagechooserq.patch
     # Modifies finished module to add some NixOS resources
     # Modifies packagechooser module to change the UI
     ./uimod.patch
diff --git a/pkgs/tools/misc/calamares/packagechooserq.patch b/pkgs/tools/misc/calamares/packagechooserq.patch
deleted file mode 100644
index 90a7b22de8b..00000000000
--- a/pkgs/tools/misc/calamares/packagechooserq.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-diff --git a/src/modules/packagechooser/Config.cpp b/src/modules/packagechooser/Config.cpp
-index 491fe5c25..667621597 100644
---- a/src/modules/packagechooser/Config.cpp
-+++ b/src/modules/packagechooser/Config.cpp
-@@ -237,6 +237,12 @@ Config::setPackageChoice( const QString& packageChoice )
-     emit packageChoiceChanged( m_packageChoice.value_or( QString() ) );
- }
- 
-+QString
-+Config::prettyName() const
-+{
-+    return m_stepName ? m_stepName->get() : tr( "Packages" );
-+}
-+
- QString
- Config::prettyStatus() const
- {
-@@ -343,4 +349,14 @@ Config::setConfigurationMap( const QVariantMap& configurationMap )
-             cWarning() << "Single-selection QML module must use 'Legacy' method.";
-         }
-     }
-+
-+    bool labels_ok = false;
-+    auto labels = CalamaresUtils::getSubMap( configurationMap, "labels", labels_ok );
-+    if ( labels_ok )
-+    {
-+        if ( labels.contains( "step" ) )
-+        {
-+            m_stepName = new CalamaresUtils::Locale::TranslatedString( labels, "step" );
-+        }
-+    }
- }
-diff --git a/src/modules/packagechooser/Config.h b/src/modules/packagechooser/Config.h
-index b04b1c30b..d1b783a8d 100644
---- a/src/modules/packagechooser/Config.h
-+++ b/src/modules/packagechooser/Config.h
-@@ -98,6 +98,7 @@ public:
-     QString packageChoice() const { return m_packageChoice.value_or( QString() ); }
-     void setPackageChoice( const QString& packageChoice );
- 
-+    QString prettyName() const;
-     QString prettyStatus() const;
- 
- signals:
-@@ -120,6 +121,7 @@ private:
-      * Reading the property will return an empty QString.
-      */
-     std::optional< QString > m_packageChoice;
-+    CalamaresUtils::Locale::TranslatedString* m_stepName;  // As it appears in the sidebar
- };
- 
- 
-diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp
-index 9057004de..8eacf82ec 100644
---- a/src/modules/packagechooser/PackageChooserViewStep.cpp
-+++ b/src/modules/packagechooser/PackageChooserViewStep.cpp
-@@ -29,7 +29,6 @@ PackageChooserViewStep::PackageChooserViewStep( QObject* parent )
-     : Calamares::ViewStep( parent )
-     , m_config( new Config( this ) )
-     , m_widget( nullptr )
--    , m_stepName( nullptr )
- {
-     emit nextStatusChanged( false );
- }
-@@ -41,14 +40,12 @@ PackageChooserViewStep::~PackageChooserViewStep()
-     {
-         m_widget->deleteLater();
-     }
--    delete m_stepName;
- }
- 
--
- QString
- PackageChooserViewStep::prettyName() const
- {
--    return m_stepName ? m_stepName->get() : tr( "Packages" );
-+    return m_config->prettyName();
- }
- 
- 
-@@ -139,16 +136,6 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap
-     m_config->setDefaultId( moduleInstanceKey() );
-     m_config->setConfigurationMap( configurationMap );
- 
--    bool labels_ok = false;
--    auto labels = CalamaresUtils::getSubMap( configurationMap, "labels", labels_ok );
--    if ( labels_ok )
--    {
--        if ( labels.contains( "step" ) )
--        {
--            m_stepName = new CalamaresUtils::Locale::TranslatedString( labels, "step" );
--        }
--    }
--
-     if ( m_widget )
-     {
-         hookupModel();
-diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h
-index 7561f2bd7..76b35aed8 100644
---- a/src/modules/packagechooser/PackageChooserViewStep.h
-+++ b/src/modules/packagechooser/PackageChooserViewStep.h
-@@ -50,7 +50,6 @@ private:
- 
-     Config* m_config;
-     PackageChooserPage* m_widget;
--    CalamaresUtils::Locale::TranslatedString* m_stepName;  // As it appears in the sidebar
- };
- 
- CALAMARES_PLUGIN_FACTORY_DECLARATION( PackageChooserViewStepFactory )
-diff --git a/src/modules/packagechooserq/PackageChooserQmlViewStep.cpp b/src/modules/packagechooserq/PackageChooserQmlViewStep.cpp
-index 543c9771d..7c4d5fda7 100644
---- a/src/modules/packagechooserq/PackageChooserQmlViewStep.cpp
-+++ b/src/modules/packagechooserq/PackageChooserQmlViewStep.cpp
-@@ -29,7 +29,7 @@ PackageChooserQmlViewStep::PackageChooserQmlViewStep( QObject* parent )
- QString
- PackageChooserQmlViewStep::prettyName() const
- {
--    return tr( "Packages" );
-+    return m_config->prettyName();
- }
- 
- QString
-@@ -83,4 +83,13 @@ PackageChooserQmlViewStep::setConfigurationMap( const QVariantMap& configuration
-     m_config->setDefaultId( moduleInstanceKey() );
-     m_config->setConfigurationMap( configurationMap );
-     Calamares::QmlViewStep::setConfigurationMap( configurationMap );  // call parent implementation last
-+    /*bool labels_ok = false;
-+    auto labels = CalamaresUtils::getSubMap( configurationMap, "labels", labels_ok );
-+    if ( labels_ok )
-+    {
-+        if ( labels.contains( "step" ) )
-+        {
-+            m_stepName = new CalamaresUtils::Locale::TranslatedString( labels, "step" );
-+        }
-+    }*/
- }
diff --git a/pkgs/tools/misc/didyoumean/default.nix b/pkgs/tools/misc/didyoumean/default.nix
index cd7b8270a1a..3839d117afd 100644
--- a/pkgs/tools/misc/didyoumean/default.nix
+++ b/pkgs/tools/misc/didyoumean/default.nix
@@ -28,5 +28,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/hisbaan/didyoumean";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ evanjs ];
+    mainProgram = "dym";
   };
 }
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 92fc69be7b5..a3f5c44781a 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -51,7 +51,7 @@ python3Packages.buildPythonApplication rec {
     ]
     ++ (with python3Packages; [
       argcomplete debian defusedxml jsondiff jsbeautifier libarchive-c
-      python_magic progressbar33 pypdf2 rpm tlsh
+      python-magic progressbar33 pypdf2 rpm tlsh
     ])
     ++ lib.optionals stdenv.isLinux [ python3Packages.pyxattr acl cdrkit dtc ]
     ++ lib.optionals enableBloat ([
diff --git a/pkgs/tools/misc/direnv/default.nix b/pkgs/tools/misc/direnv/default.nix
index 624236462c2..92f32a215a5 100644
--- a/pkgs/tools/misc/direnv/default.nix
+++ b/pkgs/tools/misc/direnv/default.nix
@@ -49,6 +49,6 @@ buildGoModule rec {
     '';
     homepage = "https://direnv.net";
     license = licenses.mit;
-    maintainers = with maintainers; [ zimbatm ];
+    maintainers = teams.numtide.members;
   };
 }
diff --git a/pkgs/tools/misc/fortune/default.nix b/pkgs/tools/misc/fortune/default.nix
index 3e6ebb2f0d6..9cab0bc2237 100644
--- a/pkgs/tools/misc/fortune/default.nix
+++ b/pkgs/tools/misc/fortune/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchurl, cmake, recode, perl }:
+{ lib, stdenv, fetchurl, cmake, recode, perl, withOffensive ? false }:
 
 stdenv.mkDerivation rec {
   pname = "fortune-mod";
-  version = "3.12.0";
+  version = "3.14.0";
 
   # We use fetchurl instead of fetchFromGitHub because the release pack has some
   # special files.
   src = fetchurl {
     url = "https://github.com/shlomif/fortune-mod/releases/download/${pname}-${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-fVrtfLmZiVDTSeuoOltX/vunGSizSw+ZhQhBn9t0C3E=";
+    sha256 = "sha256-jjBxCfjLjnhdKeMgJwEPytCVKQ4R4wHeF8/3Z/F6UgQ=";
   };
 
   nativeBuildInputs = [ cmake perl ];
@@ -17,8 +17,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DLOCALDIR=${placeholder "out"}/share/fortunes"
-    "-DNO_OFFENSIVE=true"
-  ];
+  ] ++ lib.optional (!withOffensive) "-DNO_OFFENSIVE=true";
 
   patches = [ (builtins.toFile "not-a-game.patch" ''
     diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -37,7 +36,7 @@ stdenv.mkDerivation rec {
     --
   '') ];
 
-  postFixup = ''
+  postFixup = lib.optionalString (!withOffensive) ''
     rm -f $out/share/fortunes/men-women*
   '';
 
diff --git a/pkgs/tools/misc/go.rice/default.nix b/pkgs/tools/misc/go.rice/default.nix
index 771f3493157..e608ad121cc 100644
--- a/pkgs/tools/misc/go.rice/default.nix
+++ b/pkgs/tools/misc/go.rice/default.nix
@@ -16,9 +16,10 @@ buildGoModule rec {
   subPackages = [ "." "rice" ];
 
   meta = with lib; {
-    homepage = "https://github.com/GeertJohan/go.rice";
     description = "A Go package that makes working with resources such as html, js, css, images, templates very easy";
+    homepage = "https://github.com/GeertJohan/go.rice";
     license = licenses.bsd2;
     maintainers = with maintainers; [ blaggacao ];
+    mainProgram = "rice";
   };
 }
diff --git a/pkgs/tools/misc/graylog/default.nix b/pkgs/tools/misc/graylog/default.nix
index 1480f099f9f..5db9e8f00fb 100644
--- a/pkgs/tools/misc/graylog/default.nix
+++ b/pkgs/tools/misc/graylog/default.nix
@@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
     description = "Open source log management solution";
     homepage    = "https://www.graylog.org/";
     license     = licenses.gpl3;
-    platforms   = platforms.unix;
     maintainers = [ maintainers.fadenb ];
+    mainProgram = "graylogctl";
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/kak-lsp/default.nix b/pkgs/tools/misc/kak-lsp/default.nix
index d2b79c4d011..d4b4012cde0 100644
--- a/pkgs/tools/misc/kak-lsp/default.nix
+++ b/pkgs/tools/misc/kak-lsp/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kak-lsp";
-  version = "12.1.0";
+  version = "12.2.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5sPw95lSbswIUbNIZ4mpA3WeZt7u+a5s4KxkTnN14Sw=";
+    sha256 = "sha256-Il3eF9bVrAaJkTDPB1DzEjROnJxIAnnk27qdT9qsp1k";
   };
 
-  cargoSha256 = "sha256-rPsiMeoc8cWUgmqAxdDGrAQdurIH3bzNq5tpocnnegA=";
+  cargoSha256 = "sha256-wRjPjCKsvqnJkybNVAdVMgBA9RaviFyCJPv3D5hipSs";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
 
diff --git a/pkgs/tools/misc/melody/default.nix b/pkgs/tools/misc/melody/default.nix
index a02994f33a0..f483b699266 100644
--- a/pkgs/tools/misc/melody/default.nix
+++ b/pkgs/tools/misc/melody/default.nix
@@ -2,15 +2,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "melody";
-  version = "0.13.10";
+  version = "0.18.0";
 
   src = fetchCrate {
     pname = "melody_cli";
     inherit version;
-    sha256 = "05slrh5dqbpsvimdr0rlhj04kf1qzwij3zlardvbmvhvfccf4188";
+    sha256 = "1shd5m9sj9ybjzq26ipggfbc22lyzkdzq2kirgfvdk16m5r3jy2v";
   };
 
-  cargoSha256 = "0qh1byysbc6pl3cvx2vdpl8crx5id59hhrwqzk5g7091spm8wf79";
+  cargoSha256 = "0wz696zz7gm36dy3lxxwsiriqxk0nisdwybvknn9a38rvzd6jjbm";
 
   meta = with lib; {
     description = "Language that compiles to regular expressions";
diff --git a/pkgs/tools/misc/mmake/default.nix b/pkgs/tools/misc/mmake/default.nix
index 564e1989aee..2172b8b958c 100644
--- a/pkgs/tools/misc/mmake/default.nix
+++ b/pkgs/tools/misc/mmake/default.nix
@@ -1,19 +1,21 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "mmake";
-  version = "1.2.0";
-
-  goPackagePath = "github.com/tj/mmake";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "tj";
     repo = "mmake";
     rev = "v${version}";
-    sha256 = "1pyqgk04v0f7a28cwq9c40bd2cgrkrv4wqcijdzpgn4bqhrqab4f";
+    sha256 = "sha256-JPsVfLIl06PJ8Nsfu7ogwrttB1G93HTKbZFqUTSV9O8=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-0z+sujzzBl/rtzXbhL4Os+jYfLUuO9PlXshUDxAH9DU=";
+
+  ldflags = [ "-s" "-w" ];
+
+  checkFlags = [ "-short" ];
 
   meta = with lib; {
     homepage = "https://github.com/tj/mmake";
@@ -23,7 +25,7 @@ buildGoPackage rec {
       functionality,  such   as  user-friendly  help   output,  remote
       includes,  and   eventually  more.   It  otherwise  acts   as  a
       pass-through to standard make.
-      '';
+    '';
     license = licenses.mit;
     maintainers = [ maintainers.gabesoft ];
   };
diff --git a/pkgs/tools/misc/mmake/deps.nix b/pkgs/tools/misc/mmake/deps.nix
deleted file mode 100644
index 0721ad0af60..00000000000
--- a/pkgs/tools/misc/mmake/deps.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/apex/log";
-    fetch = {
-      type = "git";
-      url = "https://github.com/apex/log";
-      rev = "0296d6eb16bb28f8a0c55668affcf4876dc269be";
-      sha256 = "067px84y73h60bai1yy6xqf2l05gq6zsp64fn58d4fwzk04aa16v";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "c605e284fe17294bda444b34710735b29d1a9d90";
-      sha256 = "1izjk4msnc6wn1mclg0ypa6i31zfwb1r3032k8q4jfbd57hp0bz6";
-    };
-  }
-  {
-    goPackagePath = "github.com/segmentio/go-env";
-    fetch = {
-      type = "git";
-      url = "https://github.com/segmentio/go-env";
-      rev = "ea0600a7760cd15ccca9057be4a87d68e95ee876";
-      sha256 = "0rgclbi0na5042cirr52lriwyb5a2rdpqx211zfwyrrvc3zq4lwq";
-    };
-  }
-]
diff --git a/pkgs/tools/misc/mysql2pgsql/default.nix b/pkgs/tools/misc/mysql2pgsql/default.nix
index 680e3738768..d3e24c55984 100644
--- a/pkgs/tools/misc/mysql2pgsql/default.nix
+++ b/pkgs/tools/misc/mysql2pgsql/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     description = "Convert MySQL dump files to PostgreSQL-loadable files";
     homepage = "https://pgfoundry.org/projects/mysql2pgsql/";
     license = lib.licenses.bsdOriginal;
+    mainProgram = "mysql2psql";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/neofetch/default.nix b/pkgs/tools/misc/neofetch/default.nix
index 77af8d5d788..64632986638 100644
--- a/pkgs/tools/misc/neofetch/default.nix
+++ b/pkgs/tools/misc/neofetch/default.nix
@@ -4,13 +4,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "neofetch";
-  version = "unstable-2020-11-26";
+  version = "unstable-2020-12-10";
 
   src = fetchFromGitHub {
     owner = "dylanaraps";
     repo = "neofetch";
-    rev = "6dd85d67fc0d4ede9248f2df31b2cd554cca6c2f";
-    sha256 = "sha256-PZjFF/K7bvPIjGVoGqaoR8pWE6Di/qJVKFNcIz7G8xE=";
+    rev = "ccd5d9f52609bbdcd5d8fa78c4fdb0f12954125f";
+    sha256 = "sha256-9MoX6ykqvd2iB0VrZCfhSyhtztMpBTukeKejfAWYW1w=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/ntfy-sh/default.nix b/pkgs/tools/misc/ntfy-sh/default.nix
index 17e26fc33d1..68275f4c701 100644
--- a/pkgs/tools/misc/ntfy-sh/default.nix
+++ b/pkgs/tools/misc/ntfy-sh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ntfy-sh";
-  version = "1.21.2";
+  version = "1.22.0";
 
   src = fetchFromGitHub {
     owner = "binwiederhier";
     repo = "ntfy";
     rev = "v${version}";
-    sha256 = "sha256-bMVClVt+D+LSvlD0m82MHJc+dcUuqGKo6gxtSqFwkHM=";
+    sha256 = "sha256-30j62GaO5SXG78c6vMpLZ+ixy1zesjXoX3L9Et/7uhU=";
   };
 
   vendorSha256 = "sha256-Sx6l5GJ72A0SHEHyVtlte8Ed9fuJzZAkJzC0zpCbvK8=";
diff --git a/pkgs/tools/misc/opentelemetry-collector/contrib.nix b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
index 384c448e1d9..e158f1c3f44 100644
--- a/pkgs/tools/misc/opentelemetry-collector/contrib.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
@@ -31,8 +31,6 @@ buildGoModule rec {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/open-telemetry/opentelemetry-collector-contrib";
-    changelog = "https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v${version}/CHANGELOG.md";
     description = "OpenTelemetry Collector superset with additional community collectors";
     longDescription = ''
       The OpenTelemetry Collector offers a vendor-agnostic implementation on how
@@ -44,7 +42,10 @@ buildGoModule rec {
       components that are only useful to a relatively small number of users and
       is multiple times larger as a result.
     '';
+    homepage = "https://github.com/open-telemetry/opentelemetry-collector-contrib";
+    changelog = "https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ uri-canva jk ];
+    mainProgram = "otelcontribcol";
   };
 }
diff --git a/pkgs/tools/misc/pre-commit/default.nix b/pkgs/tools/misc/pre-commit/default.nix
index df211378f4b..f85490736d9 100644
--- a/pkgs/tools/misc/pre-commit/default.nix
+++ b/pkgs/tools/misc/pre-commit/default.nix
@@ -13,7 +13,7 @@
 with python3Packages;
 buildPythonPackage rec {
   pname = "pre-commit";
-  version = "2.18.1";
+  version = "2.19.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = "pre-commit";
     rev = "v${version}";
-    sha256 = "sha256-d/ukUTjNgpqr6IeDJHDaOXQm0EdsX+vq0sVX7HG3gSE=";
+    sha256 = "sha256-5YV0FJhHiq/NJFKYvwddIWUQVxKJpnIJLLNmyY0NX4A=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/recutils/default.nix b/pkgs/tools/misc/recutils/default.nix
index 1501f8edda1..972b60d3649 100644
--- a/pkgs/tools/misc/recutils/default.nix
+++ b/pkgs/tools/misc/recutils/default.nix
@@ -8,23 +8,22 @@
 
 stdenv.mkDerivation rec {
   pname = "recutils";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchurl {
     url = "mirror://gnu/recutils/${pname}-${version}.tar.gz";
-    hash = "sha256-346uaVk/26U+Jky/SyMH37ghIMCbb6sj4trVGomlsZM=";
+    hash = "sha256-YwFZKwAgwUtFZ1fvXUNNSfYCe45fOkmdEzYvIFxIbg4=";
   };
 
-  hardeningDisable = [ "format" ];
-
   buildInputs = [
     curl
   ];
 
   checkInputs = [
-    check
     bc
+    check
   ];
+
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/upterm/default.nix b/pkgs/tools/misc/upterm/default.nix
index 29775881378..c392dd28027 100644
--- a/pkgs/tools/misc/upterm/default.nix
+++ b/pkgs/tools/misc/upterm/default.nix
@@ -1,18 +1,18 @@
 { lib
-, buildGoModule
+, buildGo118Module
 , fetchFromGitHub
 , installShellFiles
 }:
 
-buildGoModule rec {
+buildGo118Module rec {
   pname = "upterm";
-  version = "0.7.3";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "owenthereal";
     repo = "upterm";
     rev = "v${version}";
-    hash = "sha256-eEzFqKYhsG5e1DVLWJq08NM9xyfn1yPNV0NIgOErj4E=";
+    hash = "sha256-JcUFsj7+Hu++izyxozttyxTGW51vBfgNSvAa/AIrsvs=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/misc/usbimager/default.nix b/pkgs/tools/misc/usbimager/default.nix
new file mode 100644
index 00000000000..1aac4c5c802
--- /dev/null
+++ b/pkgs/tools/misc/usbimager/default.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, fetchFromGitLab, pkg-config
+, withLibui ? true, gtk3
+, withUdisks ? stdenv.isLinux, udisks, glib
+, libX11 }:
+
+stdenv.mkDerivation rec {
+  pname = "usbimager";
+  version = "1.0.8";
+
+  src = fetchFromGitLab {
+    owner = "bztsrc";
+    repo = pname;
+    rev = version;
+    sha256 = "1j0g1anmdwc3pap3m4kfzqjfkn7q0vpmqniii2kcz7svs5h3ybga";
+  };
+
+  sourceRoot = "source/src/";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = lib.optionals withUdisks [ udisks glib ]
+    ++ lib.optional (!withLibui) libX11
+    ++ lib.optional withLibui gtk3;
+    # libui is bundled with the source of usbimager as a compiled static libary
+
+  postPatch = ''
+    sed -i \
+      -e 's|install -m 2755 -g disk|install |g' \
+      -e 's|-I/usr/include/gio-unix-2.0|-I${glib.dev}/include/gio-unix-2.0|g' \
+      -e 's|install -m 2755 -g $(GRP)|install |g' Makefile
+  '';
+
+  dontConfigure = true;
+
+  makeFlags =  [ "PREFIX=$(out)" ]
+    ++ lib.optional withLibui "USE_LIBUI=yes"
+    ++ lib.optional withUdisks "USE_UDISKS2=yes";
+
+  meta = with lib; {
+    description = "A very minimal GUI app that can write compressed disk images to USB drives";
+    homepage = "https://gitlab.com/bztsrc/usbimager";
+    license = licenses.mit;
+    maintainers = with maintainers; [ vdot0x23 ];
+    # windows and darwin could work, but untested
+    # feel free add them if you have a machine to test
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix
index ec9958ec545..3375f4507bd 100644
--- a/pkgs/tools/misc/vector/default.nix
+++ b/pkgs/tools/misc/vector/default.nix
@@ -30,7 +30,7 @@
 
 let
   pname = "vector";
-  version = "0.21.1";
+  version = "0.21.2";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -39,10 +39,10 @@ rustPlatform.buildRustPackage {
     owner = "timberio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eskm+H0D+SB3PB76T6Z+iL5jjyy51lOXy88QXsn/Azs=";
+    sha256 = "sha256-2iMD3QpVm1YmiEH17PdjgiNoD2Gt9BRJ5soMDB//b3Y=";
   };
 
-  cargoSha256 = "sha256-fN6o8Fcqdhs5c3RID+ok1Xo5g6nF9m3f8EWIJ47dn/k=";
+  cargoSha256 = "sha256-OkK0COSHdZ6fHWUrZ90ltuFSCtVZ14QZiIWVwkHOvq8=";
   nativeBuildInputs = [ pkg-config cmake perl ];
   buildInputs = [ oniguruma openssl protobuf rdkafka zstd ]
     ++ lib.optionals stdenv.isDarwin [ Security libiconv coreutils CoreServices ];
@@ -62,7 +62,7 @@ rustPlatform.buildRustPackage {
   buildFeatures = features;
 
   # TODO investigate compilation failure for tests
-  # there are about 100 tests failing (out of 1100) for version 0.21.1
+  # there are about 100 tests failing (out of 1100) for version 0.21.2
   doCheck = false;
 
   checkFlags = [
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index de746f39b47..26a80c6a659 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
       to install the wakatime CLI interface manually.
     '';
     license = licenses.bsd3;
+    mainProgram = "wakatime-cli";
   };
 }
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 79d3ab7b638..faf4b558ad6 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchurl, fetchpatch, buildPythonPackage
-, zip, ffmpeg, rtmpdump, phantomjs2, atomicparsley, pycryptodome, pandoc
+, zip, ffmpeg, rtmpdump, atomicparsley, pycryptodome, pandoc
 # Pandoc is required to build the package's man page. Release tarballs contain a
 # formatted man page already, though, it will still be installed. We keep the
 # manpage argument in place in case someone wants to use this derivation to
@@ -8,7 +8,6 @@
 , generateManPage ? false
 , ffmpegSupport ? true
 , rtmpSupport ? true
-, phantomjsSupport ? false
 , hlsEncryptedSupport ? true
 , installShellFiles, makeWrapper }:
 
@@ -52,8 +51,7 @@ buildPythonPackage rec {
       packagesToBinPath =
         [ atomicparsley ]
         ++ lib.optional ffmpegSupport ffmpeg
-        ++ lib.optional rtmpSupport rtmpdump
-        ++ lib.optional phantomjsSupport phantomjs2;
+        ++ lib.optional rtmpSupport rtmpdump;
     in [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
 
   setupPyBuildFlags = [
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index 1a87a31e338..d67678f6ee5 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -5,7 +5,6 @@
 , certifi
 , ffmpeg
 , rtmpdump
-, phantomjs2
 , atomicparsley
 , pycryptodomex
 , websockets
@@ -13,7 +12,6 @@
 , atomicparsleySupport ? true
 , ffmpegSupport ? true
 , rtmpSupport ? true
-, phantomjsSupport ? false
 , withAlias ? false # Provides bin/youtube-dl for backcompat
 }:
 
@@ -41,8 +39,7 @@ buildPythonPackage rec {
       packagesToBinPath = []
         ++ lib.optional atomicparsleySupport atomicparsley
         ++ lib.optional ffmpegSupport ffmpeg
-        ++ lib.optional rtmpSupport rtmpdump
-        ++ lib.optional phantomjsSupport phantomjs2;
+        ++ lib.optional rtmpSupport rtmpdump;
     in lib.optionalString (packagesToBinPath != [])
     [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
 
diff --git a/pkgs/tools/misc/zsh-autoenv/default.nix b/pkgs/tools/misc/zsh-autoenv/default.nix
index 51cfda5e0aa..d16410c3153 100644
--- a/pkgs/tools/misc/zsh-autoenv/default.nix
+++ b/pkgs/tools/misc/zsh-autoenv/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation {
       variables (overwriting and restoring).
     '';
     homepage = "https://github.com/Tarrasch/zsh-autoenv";
+    mainProgram = "zsh-autoenv-share";
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/aardvark-dns/default.nix b/pkgs/tools/networking/aardvark-dns/default.nix
index 412b3e0349c..ec0ca525354 100644
--- a/pkgs/tools/networking/aardvark-dns/default.nix
+++ b/pkgs/tools/networking/aardvark-dns/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "aardvark-dns";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-d4YSCVZkNung4frgAeP46E9Ptpnu9y0HwmPRADo4t0U=";
+    sha256 = "sha256-m2uKTVRonnun+/V69RcPWkkRtDcoaiulMCQz0/CAdCw=";
   };
 
-  cargoHash = "sha256-fu7ZopS55IzzeO7uzLx1wVHQ8A1Ff+9f7FagoZPerxk=";
+  cargoHash = "sha256-Z/OZgWlpwcdqns26ojTLPQBVNrwU/i86tZVx19sRUTw=";
 
   meta = with lib; {
     description = "Authoritative dns server for A/AAAA container records";
diff --git a/pkgs/tools/networking/brook/default.nix b/pkgs/tools/networking/brook/default.nix
index df383409f4d..51ace3ac9a0 100644
--- a/pkgs/tools/networking/brook/default.nix
+++ b/pkgs/tools/networking/brook/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "brook";
-  version = "20220406";
+  version = "20220501";
 
   src = fetchFromGitHub {
     owner = "txthinking";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KCDXi86Wi01wEIJXPYYX5HkQMq7nKK2VhsN1x5yOvlk=";
+    sha256 = "sha256-JAlSqwhWsF8PTAyn2W1BCDO50eSBq7ukwl0dzzmK1zU=";
   };
 
   vendorSha256 = "sha256-ic5QYRVElEuH4D29PXgTzMHU0KjrxDqcdfg7Kd37/YU=";
diff --git a/pkgs/tools/networking/cmst/default.nix b/pkgs/tools/networking/cmst/default.nix
index 2f757edbdb1..1447569020c 100644
--- a/pkgs/tools/networking/cmst/default.nix
+++ b/pkgs/tools/networking/cmst/default.nix
@@ -1,14 +1,14 @@
-{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase, qttools }:
+{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase, qttools, gitUpdater }:
 
 mkDerivation rec {
   pname = "cmst";
-  version = "2022.03.13";
+  version = "2022.05.01";
 
   src = fetchFromGitHub {
     repo = "cmst";
     owner = "andrew-bibb";
     rev = "${pname}-${version}";
-    sha256 = "sha256-PIS77yYM7tR+0vpTDh9Li/dnaWHUQW+w1NLRb5g+sz8=";
+    sha256 = "sha256-d3uvJf1tI9vXyq1eIbHkKrinBuPkYoBUcusHsJmSqMA=";
   };
 
   nativeBuildInputs = [ qmake qttools ];
@@ -21,6 +21,11 @@ mkDerivation rec {
     done
   '';
 
+  passthru.updateScript = gitUpdater {
+    inherit pname version;
+    rev-prefix = "${pname}-";
+  };
+
   meta = with lib; {
     description = "QT GUI for Connman with system tray icon";
     homepage = "https://github.com/andrew-bibb/cmst";
diff --git a/pkgs/tools/networking/curl/7.82.0-openssl-fix-CN-check.patch b/pkgs/tools/networking/curl/7.82.0-openssl-fix-CN-check.patch
deleted file mode 100644
index 5d84f512499..00000000000
--- a/pkgs/tools/networking/curl/7.82.0-openssl-fix-CN-check.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 911714d617c106ed5d553bf003e34ec94ab6a136 Mon Sep 17 00:00:00 2001
-From: Daniel Stenberg <daniel@haxx.se>
-Date: Tue, 8 Mar 2022 13:38:13 +0100
-Subject: [PATCH] openssl: fix CN check error code
-
-Due to a missing 'else' this returns error too easily.
-
-Regressed in: d15692ebb
-
-Reported-by: Kristoffer Gleditsch
-Fixes #8559
-Closes #8560
----
- lib/vtls/openssl.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
-index 0b79fc50a9c5..4618beeb3867 100644
---- a/lib/vtls/openssl.c
-+++ b/lib/vtls/openssl.c
-@@ -1817,7 +1817,8 @@ CURLcode Curl_ossl_verifyhost(struct Curl_easy *data, struct connectdata *conn,
-               memcpy(peer_CN, ASN1_STRING_get0_data(tmp), peerlen);
-               peer_CN[peerlen] = '\0';
-             }
--            result = CURLE_OUT_OF_MEMORY;
-+            else
-+              result = CURLE_OUT_OF_MEMORY;
-           }
-         }
-         else /* not a UTF8 name */
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index a4056fd28a9..d3258e0a946 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -54,19 +54,18 @@ assert zstdSupport -> zstd != null;
 
 stdenv.mkDerivation rec {
   pname = "curl";
-  version = "7.82.0";
+  version = "7.83.0";
 
   src = fetchurl {
     urls = [
       "https://curl.haxx.se/download/${pname}-${version}.tar.bz2"
       "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] pname}-${version}/${pname}-${version}.tar.bz2"
     ];
-    sha256 = "sha256-RtmgQAozQI/ZkncLBKRKdDSzA28ugImsKLV1c9WdNx8=";
+    sha256 = "sha256-JHx+x1IcQljmVjTlKScNIU/jKWmXHMy3KEXnqkaDH5Y=";
   };
 
   patches = [
     ./7.79.1-darwin-no-systemconfiguration.patch
-    ./7.82.0-openssl-fix-CN-check.patch
   ];
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
diff --git a/pkgs/tools/networking/getmail6/default.nix b/pkgs/tools/networking/getmail6/default.nix
index dc508ff53ef..c31fe48d5b5 100644
--- a/pkgs/tools/networking/getmail6/default.nix
+++ b/pkgs/tools/networking/getmail6/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "getmail6";
-  version = "6.18.6";
+  version = "6.18.7";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "08a5yw6ll1kmd1ardj8rzhsw4wl48zzdc87g5lh4p5snv8w2m4ja";
+    hash = "sha256-JghiV0zC9xtOGuGcf0lY5e73/04n6Bat/xOGgXyDWJk=";
   };
 
   # needs a Docker setup
@@ -28,6 +28,7 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "A program for retrieving mail";
     homepage = "https://getmail6.org";
+    changelog = "https://github.com/getmail6/getmail6/blob/${src.rev}/docs/CHANGELOG";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ abbe dotlambda ];
   };
diff --git a/pkgs/tools/networking/netavark/default.nix b/pkgs/tools/networking/netavark/default.nix
index 3116644eb68..fba769d2a55 100644
--- a/pkgs/tools/networking/netavark/default.nix
+++ b/pkgs/tools/networking/netavark/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "netavark";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2ElEhKit/XysRsUw+dg7SnhDl+Zf+FJb5pIYpq1ALNs=";
+    sha256 = "sha256-M0jsCwle57YM0RO1hGMju5+8XvHPWc8tJqKWJL/sFsg=";
   };
 
-  cargoHash = "sha256-w3qz4ygjIvn+Rxd1JEVO6Ax08leuuJvC4Bk7VygbBh4=";
+  cargoHash = "sha256-zTgHjDZdsseUpB5Xqn9yE5T6Tgqx22pQKQLlUtZq+lc=";
 
   nativeBuildInputs = [ installShellFiles mandown ];
 
diff --git a/pkgs/tools/networking/netcat-openbsd/default.nix b/pkgs/tools/networking/netcat-openbsd/default.nix
new file mode 100644
index 00000000000..67d458dad1b
--- /dev/null
+++ b/pkgs/tools/networking/netcat-openbsd/default.nix
@@ -0,0 +1,54 @@
+{ lib, stdenv, fetchFromGitLab, pkg-config, libbsd, installShellFiles }:
+
+stdenv.mkDerivation rec {
+  pname = "netcat-openbsd";
+  version = "1.218-5";
+
+  src = fetchFromGitLab {
+    domain = "salsa.debian.org";
+    owner = "debian";
+    repo = "netcat-openbsd";
+    rev = "refs/tags/debian/${version}";
+    sha256 = "sha256-jEJ8x49Z1UN2qOChGp173aQuPkgl2fWwUUJgUdOv60I=";
+  };
+
+  strictDeps = true;
+  nativeBuildInputs = [ pkg-config installShellFiles ];
+  buildInputs = [ libbsd ];
+
+  NIX_CFLAGS_COMPILE = [
+    "-I${lib.getDev libbsd}/include/libbsd"
+  ];
+
+  NIX_LDFLAGS = [ "-lbsd" ];
+
+  postPatch = ''
+    for file in $(cat debian/patches/series); do
+      patch -p1 < debian/patches/$file
+    done
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    mv nc $out/bin/nc
+    installManPage nc.1
+
+    runHook postInstall
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/nc -h 2> /dev/null
+  '';
+
+  meta = with lib; {
+    description = "TCP/IP swiss army knife. OpenBSD variant";
+    homepage = "https://salsa.debian.org/debian/netcat-openbsd";
+    maintainers = with maintainers; [ artturin ];
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    mainProgram = "nc";
+  };
+}
diff --git a/pkgs/tools/networking/networkmanager/sstp/default.nix b/pkgs/tools/networking/networkmanager/sstp/default.nix
index 8b75db6495f..93fd87b005b 100644
--- a/pkgs/tools/networking/networkmanager/sstp/default.nix
+++ b/pkgs/tools/networking/networkmanager/sstp/default.nix
@@ -1,51 +1,59 @@
-{ lib, stdenv
-, autoreconfHook
-, fetchFromGitHub
-, fetchpatch
+{ stdenv
+, lib
+, fetchurl
 , file
 , glib
 , gnome
 , gtk3
+, gtk4
 , intltool
 , libnma
+, libnma-gtk4
 , libsecret
 , networkmanager
 , pkg-config
 , ppp
 , sstp
-, substituteAll
-, withGnome ? true }:
+, withGnome ? true
+}:
 
-let
+stdenv.mkDerivation rec {
   pname = "NetworkManager-sstp";
-  version = "unstable-2020-04-20";
-in stdenv.mkDerivation {
+  version = "1.3.0";
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
-  src = fetchFromGitHub {
-    owner = "enaess";
-    repo = "network-manager-sstp";
-    rev = "735d8ca078f933e085029f60a737e3cf1d8c29a8";
-    sha256 = "0aahfhy2ch951kzj6gnd8p8hv2s5yd5y10wrmj68djhnx2ml8cd3";
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "+IJw3jvOYs/+NDS9HvCrSQ6wxh1x1yqwiFij7UZb+rU=";
   };
 
-  buildInputs = [ sstp networkmanager glib ppp ]
-    ++ lib.optionals withGnome [ gtk3 libsecret libnma ];
+  nativeBuildInputs = [
+    file
+    intltool
+    pkg-config
+  ];
 
-  nativeBuildInputs = [ file intltool autoreconfHook pkg-config ];
+  buildInputs = [
+    sstp
+    networkmanager
+    glib
+    ppp
+  ] ++ lib.optionals withGnome [
+    gtk3
+    gtk4
+    libsecret
+    libnma
+    libnma-gtk4
+  ];
 
   postPatch = ''
     sed -i 's#/sbin/pppd#${ppp}/bin/pppd#' src/nm-sstp-service.c
     sed -i 's#/sbin/sstpc#${sstp}/bin/sstpc#' src/nm-sstp-service.c
   '';
 
-  # glib-2.62 deprecations
-  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
-
-  preConfigure = "intltoolize";
   configureFlags = [
-    "--without-libnm-glib"
     "--with-gnome=${if withGnome then "yes" else "no"}"
+    "--with-gtk4=${if withGnome then "yes" else "no"}"
     "--enable-absolute-paths"
   ];
 
diff --git a/pkgs/tools/networking/obfs4/default.nix b/pkgs/tools/networking/obfs4/default.nix
index 64e601c375c..d279f061737 100644
--- a/pkgs/tools/networking/obfs4/default.nix
+++ b/pkgs/tools/networking/obfs4/default.nix
@@ -16,5 +16,6 @@ buildGoModule rec {
     description = "A pluggable transport proxy";
     homepage = "https://www.torproject.org/projects/obfsproxy";
     maintainers = with maintainers; [ thoughtpolice ];
+    mainProgram = "obfs4proxy";
   };
 }
diff --git a/pkgs/tools/networking/ooniprobe-cli/default.nix b/pkgs/tools/networking/ooniprobe-cli/default.nix
index b6feafb4a00..01c5b637676 100644
--- a/pkgs/tools/networking/ooniprobe-cli/default.nix
+++ b/pkgs/tools/networking/ooniprobe-cli/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://ooni.org/install/cli";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dotlambda ];
+    mainProgram = "ooniprobe";
   };
 }
diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index b0f4cd1f788..938bfa1dcd6 100644
--- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -60,7 +60,8 @@ python3Packages.buildPythonApplication rec {
     html5lib magic-wormhole netifaces pyasn1 pycrypto pyutil pyyaml recommonmark
     service-identity simplejson sphinx_rtd_theme testtools treq twisted zfec
     zope_interface
-  ];
+  ] ++ twisted.extras-require.tls
+    ++ twisted.extras-require.conch;
 
   checkInputs = with python3Packages; [ mock hypothesis twisted ];
 
diff --git a/pkgs/tools/networking/py-wmi-client/default.nix b/pkgs/tools/networking/py-wmi-client/default.nix
deleted file mode 100644
index 8f5958193db..00000000000
--- a/pkgs/tools/networking/py-wmi-client/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, python2Packages, fetchFromGitHub }:
-
-python2Packages.buildPythonApplication rec {
-  pname = "py-wmi-client";
-  version = "unstable-20160601";
-
-  src = fetchFromGitHub {
-    owner = "dlundgren";
-    repo = pname;
-    rev = "9702b036df85c3e0ecdde84a753b353069f58208";
-    sha256 = "1kd12gi1knqv477f1shzqr0h349s5336vzp3fpfp3xl0b502ld8d";
-  };
-
-  propagatedBuildInputs = with python2Packages; [ impacket natsort pyasn1 pycrypto ];
-
-  # no tests
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Python WMI Client implementation";
-    homepage = "https://github.com/dlundgren/py-wmi-client";
-    license = licenses.mit;
-    maintainers = with maintainers; [ peterhoeg ];
-  };
-}
diff --git a/pkgs/tools/networking/s3cmd/default.nix b/pkgs/tools/networking/s3cmd/default.nix
index 88af5a13625..a73d39b5126 100644
--- a/pkgs/tools/networking/s3cmd/default.nix
+++ b/pkgs/tools/networking/s3cmd/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonApplication, fetchFromGitHub, python_magic, python-dateutil }:
+{ lib, buildPythonApplication, fetchFromGitHub, python-magic, python-dateutil }:
 
 buildPythonApplication rec {
   pname = "s3cmd";
@@ -11,7 +11,7 @@ buildPythonApplication rec {
     sha256 = "0w4abif05mp52qybh4hjg6jbbj2caljq5xdhfiha3g0s5zsq46ri";
   };
 
-  propagatedBuildInputs = [ python_magic python-dateutil ];
+  propagatedBuildInputs = [ python-magic python-dateutil ];
 
   dontUseSetuptoolsCheck = true;
 
diff --git a/pkgs/tools/networking/samplicator/default.nix b/pkgs/tools/networking/samplicator/default.nix
index 44546465d9e..158cac0a734 100644
--- a/pkgs/tools/networking/samplicator/default.nix
+++ b/pkgs/tools/networking/samplicator/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
     description = "Send copies of (UDP) datagrams to multiple receivers";
     homepage = "https://github.com/sleinen/samplicator/";
     license = lib.licenses.gpl2Plus;
+    mainProgram = "samplicate";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/slack-cli/default.nix b/pkgs/tools/networking/slack-cli/default.nix
index 25e426dc43e..ed6a817058c 100644
--- a/pkgs/tools/networking/slack-cli/default.nix
+++ b/pkgs/tools/networking/slack-cli/default.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
   meta = {
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.qyliss ];
+    mainProgram = "slack";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/tgt/default.nix b/pkgs/tools/networking/tgt/default.nix
index fdaf0dc177f..34f09368760 100644
--- a/pkgs/tools/networking/tgt/default.nix
+++ b/pkgs/tools/networking/tgt/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tgt";
-  version = "1.0.81";
+  version = "1.0.82";
 
   src = fetchFromGitHub {
     owner = "fujita";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SgMpoaVAuTbgpmnXRfQFWlK5gl01fsE9vJxu3C2ctPU=";
+    sha256 = "sha256-uVd1qPNBIqs9+pRnRP/Q8Z5sXpRdcwBejKjt0BJbXWA=";
   };
 
   nativeBuildInputs = [ libxslt docbook_xsl makeWrapper ];
diff --git a/pkgs/tools/networking/tinc/default.nix b/pkgs/tools/networking/tinc/default.nix
index 2387c903a9b..2ca679b16c8 100644
--- a/pkgs/tools/networking/tinc/default.nix
+++ b/pkgs/tools/networking/tinc/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
     '';
     homepage="http://www.tinc-vpn.org/";
     license = lib.licenses.gpl2Plus;
+    mainProgram = "tincd";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/nix/nixos-generators/default.nix b/pkgs/tools/nix/nixos-generators/default.nix
index e20f36b1ef9..a33833a230d 100644
--- a/pkgs/tools/nix/nixos-generators/default.nix
+++ b/pkgs/tools/nix/nixos-generators/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     homepage    = "https://github.com/nix-community/nixos-generators";
     license     = licenses.mit;
     maintainers = with maintainers; [ lassulus ];
+    mainProgram = "nixos-generate";
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/package-management/cargo-edit/default.nix b/pkgs/tools/package-management/cargo-edit/default.nix
index c5e60fb88fd..53f7d581b34 100644
--- a/pkgs/tools/package-management/cargo-edit/default.nix
+++ b/pkgs/tools/package-management/cargo-edit/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-edit";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "killercup";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-n9Ei1kpbDqOogNJJVvg9DRAPMVGNChCGGiuCVsuK3/8=";
+    hash = "sha256-4N45IBDlIVbZbZgdX2DBmjolFHwzPjHVyWGadhR1FFw=";
   };
 
-  cargoSha256 = "sha256-6546jD+zDoScrJmpw5xtNdWeIPJ9Ma0bcIdnI1kFmu8=";
+  cargoSha256 = "sha256-o7NDw7P6Flut0ZFnDUdVCmuUzW2P+KXyfu0gApTEx60=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/package-management/morph/default.nix b/pkgs/tools/package-management/morph/default.nix
index e7b6b3adf1f..b8810ad36df 100644
--- a/pkgs/tools/package-management/morph/default.nix
+++ b/pkgs/tools/package-management/morph/default.nix
@@ -1,28 +1,25 @@
-{ buildGoModule, fetchFromGitHub, go-bindata, openssh, makeWrapper, lib }:
+{ buildGoModule, fetchFromGitHub, lib, makeWrapper, openssh }:
 
 buildGoModule rec {
   pname = "morph";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "dbcdk";
     repo = "morph";
     rev = "v${version}";
-    sha256 = "0aibs4gsb9pl21nd93bf963kdzf0661qn0liaw8v8ak2xbz7nbs8";
+    sha256 = "sha256-0CHmjqPxBgALGZYjfJFLoLBnoI0U7oZ8WyCtu1bkzZg=";
   };
 
   vendorSha256 = "08zzp0h4c4i5hk4whz06a3da7qjms6lr36596vxz0d8q0n7rspr9";
 
-  nativeBuildInputs = [ makeWrapper go-bindata ];
+  nativeBuildInputs = [ makeWrapper ];
 
   ldflags = [
     "-X main.version=${version}"
+    "-X main.assetRoot=${placeholder "lib"}"
   ];
 
-  postPatch = ''
-    go-bindata -pkg assets -o assets/assets.go data/
-  '';
-
   postInstall = ''
     mkdir -p $lib
     cp -v ./data/*.nix $lib
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index cf9b26a5603..b7fe55f8b41 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -89,12 +89,12 @@ in lib.makeExtensible (self: {
 
   unstable = lib.lowPrio (common rec {
     version = "2.8";
-    suffix = "pre20220503_${lib.substring 0 7 src.rev}";
+    suffix = "pre20220505_${lib.substring 0 7 src.rev}";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "9489b4b7ef73ab20e8f49213d8711ca56b59107e";
-      sha256 = "sha256-eTRr2MkP9MMqpmHtsCPMbyLBQLrLPnTh4D8RXT4MKk4=";
+      rev = "f4102de84ba4dd3b845a3e34fabab5400e066ad0";
+      sha256 = "sha256-g3GDM8MSzJ27hJoGWj2QGjINZP/I1KCJpZZn+iPMmfM=";
     };
   });
 })
diff --git a/pkgs/tools/security/bash-supergenpass/default.nix b/pkgs/tools/security/bash-supergenpass/default.nix
index ba80734e5cf..ae831bf8675 100644
--- a/pkgs/tools/security/bash-supergenpass/default.nix
+++ b/pkgs/tools/security/bash-supergenpass/default.nix
@@ -40,9 +40,10 @@ stdenv.mkDerivation {
 
       supergenpass will ask for your master password interactively, and it will not be displayed on your terminal.
     '';
+    homepage = "https://github.com/lanzz/bash-supergenpass";
     license = licenses.mit;
-    platforms = platforms.all;
     maintainers = with maintainers; [ fgaz ];
-    homepage = "https://github.com/lanzz/bash-supergenpass";
+    mainProgram = "supergenpass";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/security/dieharder/default.nix b/pkgs/tools/security/dieharder/default.nix
new file mode 100644
index 00000000000..fc78f7c2137
--- /dev/null
+++ b/pkgs/tools/security/dieharder/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchurl, gsl
+, dieharder, testers }:
+
+stdenv.mkDerivation rec {
+  pname = "dieharder";
+  version = "3.31.1";
+
+  src = fetchurl {
+    url = "http://webhome.phy.duke.edu/~rgb/General/dieharder/dieharder-${version}.tgz";
+    hash = "sha256-bP8P+DlMVTVJrHQzNZzPyVX7JnlCYDFGIN+l5M1Lcn8=";
+  };
+
+  patches = [
+    # Include missing stdint.h header
+    ./stdint.patch
+  ];
+
+  buildInputs = [ gsl ];
+
+  passthru = {
+    tests.version = testers.testVersion { package = dieharder; };
+  };
+
+  meta = with lib; {
+    description = "A Random Number Generator test suite";
+    homepage = "https://webhome.phy.duke.edu/~rgb/General/dieharder.php";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ zhaofengli ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/dieharder/stdint.patch b/pkgs/tools/security/dieharder/stdint.patch
new file mode 100644
index 00000000000..91dccfafd66
--- /dev/null
+++ b/pkgs/tools/security/dieharder/stdint.patch
@@ -0,0 +1,10 @@
+--- a/include/dieharder/libdieharder.h	2011-10-14 15:41:37.000000000 +0200
++++ b/include/dieharder/libdieharder.h	2015-03-27 16:34:40.978860858 +0100
+@@ -13,6 +13,7 @@
+ #include <stdlib.h>
+ #include <stdarg.h>
+ #include <string.h>
++#include <stdint.h>
+ #include <sys/time.h>
+ 
+ /* This turns on uint macro in c99 */
diff --git a/pkgs/tools/security/ecdsautils/default.nix b/pkgs/tools/security/ecdsautils/default.nix
index 6bdac96811a..0a43260eb83 100644
--- a/pkgs/tools/security/ecdsautils/default.nix
+++ b/pkgs/tools/security/ecdsautils/default.nix
@@ -1,14 +1,17 @@
 { lib, stdenv, pkgs }:
 
-stdenv.mkDerivation {
-  version = "0.4.0";
+let
   pname = "ecdsautils";
+  version = "0.4.1";
+in
+stdenv.mkDerivation {
+  inherit pname version;
 
   src = pkgs.fetchFromGitHub {
     owner = "freifunk-gluon";
-    repo = "ecdsautils";
-    rev = "07538893fb6c2a9539678c45f9dbbf1e4f222b46";
-    sha256 = "18sr8x3qiw8s9l5pfi7r9i3ayplz4jqdml75ga9y933vj7vs0k4d";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-dv0guQTmot5UO1GkMgzvD6uJFyum5kV89LI3xWS1DZA=";
   };
 
   nativeBuildInputs = with pkgs; [ cmake pkg-config doxygen ];
@@ -16,7 +19,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Tiny collection of programs used for ECDSA (keygen, sign, verify)";
-    homepage = "https://github.com/tcatm/ecdsautils/";
+    homepage = "https://github.com/freifunk-gluon/ecdsautils/";
     license = with licenses; [ mit bsd2 ];
     maintainers = with maintainers; [ ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/security/erosmb/default.nix b/pkgs/tools/security/erosmb/default.nix
new file mode 100644
index 00000000000..c0b4586c352
--- /dev/null
+++ b/pkgs/tools/security/erosmb/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "erosmb";
+  version = "0.1.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "viktor02";
+    repo = "EroSmb";
+    rev = "v${version}";
+    hash = "sha256-d7iSl7weIHWXDnMYQKxafVd5JrZ0fnuWRDpEirBVdcg=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    chardet
+    colorama
+    cryptography
+    impacket
+    ldap3
+    ldapdomaindump
+    pyasn1
+    setuptools
+    six
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/erosmb --help
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    description = "SMB network scanner";
+    homepage = "https://github.com/viktor02/EroSmb";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/hfinger/default.nix b/pkgs/tools/security/hfinger/default.nix
index 8116c222d07..2c584f35ff4 100644
--- a/pkgs/tools/security/hfinger/default.nix
+++ b/pkgs/tools/security/hfinger/default.nix
@@ -18,7 +18,7 @@ python3.pkgs.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3.pkgs; [
     fnvhash
-    python_magic
+    python-magic
   ] ++ [
     wireshark-cli
   ];
diff --git a/pkgs/tools/security/kube-hunter/default.nix b/pkgs/tools/security/kube-hunter/default.nix
index cbd4e4e3150..0f82cc0cbab 100644
--- a/pkgs/tools/security/kube-hunter/default.nix
+++ b/pkgs/tools/security/kube-hunter/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "kube-hunter";
-  version = "0.6.5";
+  version = "0.6.7";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-2pmViizQLwyTdP6J92ynvdIdqkfgc6SIhsll85g9pHA=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-W7jW0V91o164EIAzZ7ODWeqTmUaUFDIqlE37x/AycqY=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 83534ca07c6..5624608734c 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/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.1.40"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.41"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 779d1f9c997..66826c4e1f7 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 82d111481b8f46bf50473770673305b0ec0eb5d2
-  ref: refs/tags/6.1.40
+  revision: 4ecb04311be0dd55fbf66e6d05fa8b37135c5573
+  ref: refs/tags/6.1.41
   specs:
-    metasploit-framework (6.1.40)
+    metasploit-framework (6.1.41)
       actionpack (~> 6.0)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -31,7 +31,7 @@ GIT
       metasploit-concern
       metasploit-credential
       metasploit-model
-      metasploit-payloads (= 2.0.83)
+      metasploit-payloads (= 2.0.87)
       metasploit_data_models
       metasploit_payloads-mettle (= 1.0.18)
       mqtt
@@ -129,13 +129,13 @@ GEM
     arel-helpers (2.14.0)
       activerecord (>= 3.1.0, < 8)
     aws-eventstream (1.2.0)
-    aws-partitions (1.581.0)
+    aws-partitions (1.586.0)
     aws-sdk-core (3.130.2)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.525.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.309.0)
+    aws-sdk-ec2 (1.312.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-iam (1.68.0)
@@ -144,7 +144,7 @@ GEM
     aws-sdk-kms (1.56.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.113.2)
+    aws-sdk-s3 (1.114.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.4)
@@ -254,7 +254,7 @@ GEM
       activemodel (~> 6.0)
       activesupport (~> 6.0)
       railties (~> 6.0)
-    metasploit-payloads (2.0.83)
+    metasploit-payloads (2.0.87)
     metasploit_data_models (5.0.5)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -287,7 +287,7 @@ GEM
     network_interface (0.0.2)
     nexpose (7.3.0)
     nio4r (2.5.8)
-    nokogiri (1.13.4)
+    nokogiri (1.13.5)
       mini_portile2 (~> 2.8.0)
       racc (~> 1.4)
     nori (2.6.0)
@@ -373,7 +373,7 @@ GEM
       metasm
       rex-core
       rex-text
-    rex-socket (0.1.35)
+    rex-socket (0.1.38)
       rex-core
     rex-sslscan (0.1.7)
       rex-core
@@ -388,7 +388,7 @@ GEM
     ruby-macho (3.0.0)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.5)
-    ruby_smb (3.1.1)
+    ruby_smb (3.1.2)
       bindata
       openssl-ccm
       openssl-cmac
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 7fc91f012db..30c9997f416 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.1.40";
+  version = "6.1.41";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-3aQwzFaEANgc2inlZd2huu9W3vpv9bgIeRib4Q2zI3I=";
+    sha256 = "sha256-lm7YCvlwdialifh1IZrP+T8iB9g6BxUr2OEMd2ebyTg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index 383456bcf37..ace1051bd69 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qn84zn8g8aaqq9cmc2mkaakpgysl50mnhalzphxxvamg9pah5hq";
+      sha256 = "1sgkw3hnpcq3m5drc8zyv2sj3lkm3v8658nxjy53j0gdpzkxg3as";
       type = "gem";
     };
-    version = "1.581.0";
+    version = "1.586.0";
   };
   aws-sdk-core = {
     groups = ["default"];
@@ -124,10 +124,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05fw7sxwn5k9a944j0010kn6dl93fv10q1f8kmvdkb4i231xbxwl";
+      sha256 = "13jgjfhi3wpvb9j852pwbm3qng3zb31bdjbfbfyz5nwqip90pc1m";
       type = "gem";
     };
-    version = "1.309.0";
+    version = "1.312.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
@@ -154,10 +154,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17pc197a6axmnj6rbhgsvks2w0mv2mmr2bwh1k4mazbfp72ss87i";
+      sha256 = "1r6dxz3llgxbbm66jq5mkzk0i6qsxwv0d9s0ipwb23vv3bgp23yf";
       type = "gem";
     };
-    version = "1.113.2";
+    version = "1.114.0";
   };
   aws-sigv4 = {
     groups = ["default"];
@@ -694,12 +694,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "82d111481b8f46bf50473770673305b0ec0eb5d2";
-      sha256 = "0wi3nc6y36qqg44bixbgzbg5dvxsl7fnbr99v8fdh044av63196x";
+      rev = "4ecb04311be0dd55fbf66e6d05fa8b37135c5573";
+      sha256 = "0f69kdkpf371v0mia1rsv03j4gzrryd22xgqi6jjcxkhz45dhvln";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.1.40";
+    version = "6.1.41";
   };
   metasploit-model = {
     groups = ["default"];
@@ -716,10 +716,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15vlazx39flz2pci2yqjcgd4ljslhivbq1vvyajgsxl15q772ni0";
+      sha256 = "0dj3vxv17wfjgv24n5wwij2vlbk83s8d69rpxzmkbjpi6qscw17x";
       type = "gem";
     };
-    version = "2.0.83";
+    version = "2.0.87";
   };
   metasploit_data_models = {
     groups = ["default"];
@@ -907,10 +907,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g43ii497cwdqhfnaxfl500bq5yfc5hfv5df1lvf6wcjnd708ihd";
+      sha256 = "0y0yfi1y9ywdih7c0lskfwr4y36c4yq5gc7mwlyim4j6dpn70mg1";
       type = "gem";
     };
-    version = "1.13.4";
+    version = "1.13.5";
   };
   nori = {
     groups = ["default"];
@@ -1287,10 +1287,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lisy36pcyhqvhxkl55pgcyw67n9birzsyrgkm0b7sbkn4jpv0d0";
+      sha256 = "0mn4zgp7jhkn352435xsi5rz3d532d34zw3jxjdg4q9wpymsw6nr";
       type = "gem";
     };
-    version = "0.1.35";
+    version = "0.1.38";
   };
   rex-sslscan = {
     groups = ["default"];
@@ -1387,10 +1387,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v0dvys954c1d5azzz05p1jg57knk3d10b61wwfx00dw8pz76amw";
+      sha256 = "1c0qdi787hvf3d8p3ivjlfwnj2cz70cgj656x26wnn0rhrgbad1n";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "3.1.2";
   };
   rubyntlm = {
     groups = ["default"];
diff --git a/pkgs/tools/security/ncrack/default.nix b/pkgs/tools/security/ncrack/default.nix
index e1504eb12b4..9e9aeaa409d 100644
--- a/pkgs/tools/security/ncrack/default.nix
+++ b/pkgs/tools/security/ncrack/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, openssl, zlib }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, openssl, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "ncrack";
@@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "1gnv5xdd7n04glcpy7q1mkb6f8gdhdrhlrh8z6k4g2pjdhxlz26g";
   };
 
+  patches = [
+    # Pull upstream fix for -fno-common toolchains like upstream gcc-10:
+    #   https://github.com/nmap/ncrack/pull/83
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/nmap/ncrack/commit/cc4103267bab6017a4da9d41156d0c1075012eba.patch";
+      sha256 = "06nlfvc7p108f8ppbcgwmj4iwmjy95xhc1sawa8c78lrx22r7gy3";
+    })
+  ];
+
   buildInputs = [ openssl zlib ];
 
   meta = with lib; {
diff --git a/pkgs/tools/security/pass/extensions/import.nix b/pkgs/tools/security/pass/extensions/import.nix
index 60775be180c..fdfab9bc195 100644
--- a/pkgs/tools/security/pass/extensions/import.nix
+++ b/pkgs/tools/security/pass/extensions/import.nix
@@ -23,7 +23,7 @@ python3Packages.buildPythonApplication rec {
     defusedxml
     pyaml
     pykeepass
-    python_magic # similar API to "file-magic", but already in nixpkgs.
+    python-magic # similar API to "file-magic", but already in nixpkgs.
     secretstorage
   ];
 
diff --git a/pkgs/tools/security/rustscan/default.nix b/pkgs/tools/security/rustscan/default.nix
index adf514006b1..8f7498083cc 100644
--- a/pkgs/tools/security/rustscan/default.nix
+++ b/pkgs/tools/security/rustscan/default.nix
@@ -33,6 +33,6 @@ rustPlatform.buildRustPackage rec {
     description = "Faster Nmap Scanning with Rust";
     homepage = "https://github.com/RustScan/RustScan";
     license = licenses.gpl3Only;
-    maintainers = [ maintainers.SuperSandro2000 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/security/sequoia/default.nix b/pkgs/tools/security/sequoia/default.nix
index 4803430018e..50477cf92f0 100644
--- a/pkgs/tools/security/sequoia/default.nix
+++ b/pkgs/tools/security/sequoia/default.nix
@@ -95,5 +95,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://sequoia-pgp.org/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ minijackson doronbehar ];
+    mainProgram = "sq";
   };
 }
diff --git a/pkgs/tools/security/step-ca/default.nix b/pkgs/tools/security/step-ca/default.nix
index b650b93f411..5877910ad2c 100644
--- a/pkgs/tools/security/step-ca/default.nix
+++ b/pkgs/tools/security/step-ca/default.nix
@@ -12,7 +12,7 @@
 
 buildGoModule rec {
   pname = "step-ca";
-  version = "0.18.2";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "smallstep";
@@ -53,7 +53,6 @@ buildGoModule rec {
     description = "A private certificate authority (X.509 & SSH) & ACME server for secure automated certificate management, so you can use TLS everywhere & SSO for SSH";
     homepage = "https://smallstep.com/certificates/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ cmcdragonkai mohe2015 ];
-    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ cmcdragonkai mohe2015 techknowlogick ];
   };
 }
diff --git a/pkgs/tools/security/swaggerhole/default.nix b/pkgs/tools/security/swaggerhole/default.nix
new file mode 100644
index 00000000000..8455867b4be
--- /dev/null
+++ b/pkgs/tools/security/swaggerhole/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "swaggerhole";
+  version = "1.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "Liodeus";
+    repo = pname;
+    # Source is not tagged at the moment, https://github.com/Liodeus/swaggerHole/issues/2
+    rev = "14846406fbd0f145d71ad51c3b87f383e4afbc3b";
+    hash = "sha256-3HmIpn1A86PXZRL+SqMdr84O16hW1mCUWHKnOVolmx8=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    requests
+    whispers
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "swaggerhole"
+  ];
+
+  meta = with lib; {
+    description = "Tool to searching for secret on swaggerhub";
+    homepage = "https://github.com/Liodeus/swaggerHole";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/swtpm/default.nix b/pkgs/tools/security/swtpm/default.nix
index 39128084352..5d20b65d591 100644
--- a/pkgs/tools/security/swtpm/default.nix
+++ b/pkgs/tools/security/swtpm/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "swtpm";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "stefanberger";
     repo = "swtpm";
     rev = "v${version}";
-    sha256 = "sha256-qeyPCJTNnwuaCosHzqnrQc0JNznGBfDTLsuDmuKREjU=";
+    sha256 = "sha256-YaNQgxk0uT8FLUIxF80jpgO/L9ygGRHaABEcs5ukq5E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/trueseeing/default.nix b/pkgs/tools/security/trueseeing/default.nix
new file mode 100644
index 00000000000..4aa9e1852ae
--- /dev/null
+++ b/pkgs/tools/security/trueseeing/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "trueseeing";
+  version = "2.1.4";
+  format = "flit";
+
+  src = fetchFromGitHub {
+    owner = "alterakey";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-zc0AOv7OFmEPLl//eykbh538rM2j4kXBLHt5bgK1IRY=";
+  };
+
+  nativeBuildInputs = with python3.pkgs; [
+    flit-core
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    attrs
+    ipython
+    jinja2
+    lxml
+    pypubsub
+    pyyaml
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "trueseeing"
+  ];
+
+  meta = with lib; {
+    description = "Non-decompiling Android vulnerability scanner";
+    homepage = "https://github.com/alterakey/trueseeing";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index 048d06f2004..d1a26f25724 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -52,10 +52,11 @@ stdenv.mkDerivation rec {
   passthru.updateScript = ./update-bin.sh;
 
   meta = with lib; {
-    homepage = "https://www.vaultproject.io";
     description = "A tool for managing secrets, this binary includes the UI";
-    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
+    homepage = "https://www.vaultproject.io";
     license = licenses.mpl20;
     maintainers = with maintainers; teams.serokell.members ++ [ offline psyanticy Chili-Man techknowlogick ];
+    mainProgram = "vault";
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/tools/security/wapiti/default.nix b/pkgs/tools/security/wapiti/default.nix
index 4fb28559483..3c6e446df4d 100644
--- a/pkgs/tools/security/wapiti/default.nix
+++ b/pkgs/tools/security/wapiti/default.nix
@@ -29,20 +29,18 @@ python3.pkgs.buildPythonApplication rec {
     dnspython
     httpcore
     httpx
-    httpx-ntlm
-    httpx-socks
     humanize
     loguru
     Mako
     markupsafe
-    pysocks
     six
     sqlalchemy
     tld
     yaswfp
   ] ++ lib.optionals (python3.pythonOlder "3.8") [
     importlib-metadata
-  ];
+  ] ++ httpx.extras-require.brotli
+    ++ httpx.extras-require.socks;
 
   checkInputs = with python3.pkgs; [
     respx
@@ -52,8 +50,6 @@ python3.pkgs.buildPythonApplication rec {
 
   postPatch = ''
     # Ignore pinned versions
-    substituteInPlace setup.py \
-      --replace "httpx-socks[asyncio] == 0.6.0" "httpx-socks[asyncio]"
     sed -i -e "s/==[0-9.]*//;s/>=[0-9.]*//" setup.py
     substituteInPlace setup.cfg \
       --replace " --cov --cov-report=xml" ""
diff --git a/pkgs/tools/security/yersinia/default.nix b/pkgs/tools/security/yersinia/default.nix
new file mode 100644
index 00000000000..390ed880ca1
--- /dev/null
+++ b/pkgs/tools/security/yersinia/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkg-config, fetchpatch
+, ncurses, libpcap, libnet
+# alpha version of GTK interface
+, withGtk ? false, gtk2
+# enable remote admin interface
+, enableAdmin ? false
+}:
+
+stdenv.mkDerivation rec {
+  pname = "yersinia";
+  version = "0.8.2";
+
+  src = fetchFromGitHub {
+    owner = "tomac";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "06yfpf9iyi525rly1ychsihzvw3sas8kp0nxxr99xkwiqp5dc78b";
+  };
+
+  patches = [
+    # ncurses-6.3 support, included in next release
+    (fetchpatch {
+      name = "ncurses-6.3.patch";
+      url = "https://github.com/tomac/yersinia/commit/d91bbf6f475e7ea39f131b77ce91b2de9646d5ca.patch";
+      sha256 = "fl1pZKWA+nLtBm9+3FBFqaeuVZjszQCNkNl6Cf++BAI=";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  buildInputs = [ libpcap libnet ncurses ]
+    ++ lib.optional withGtk gtk2;
+
+  autoreconfPhase = "./autogen.sh";
+
+  configureFlags = [
+    "--with-pcap-includes=${libpcap}/include"
+    "--with-libnet-includes=${libnet}/include"
+  ]
+  ++ lib.optional (!enableAdmin) "--disable-admin"
+  ++ lib.optional (!withGtk) "--disable-gtk";
+
+  makeFlags = [ "LDFLAGS=-lncurses" ];
+
+  meta = with lib; {
+    description = "A framework for layer 2 attacks";
+    homepage = "https://github.com/tomac/yersinia";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ vdot0x23 ];
+    # INSTALL and FAQ in this package seem a little outdated
+    # so not sure, but it could work on openbsd, illumos, and freebsd
+    # if you have a machine to test with, feel free to add these
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index 8d272b15acf..e957c10a85c 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -36,7 +36,8 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--localstatedir=/var"
     "--disable-werror"
-  ] ++ plugins.configureFlags;
+  ] ++ plugins.configureFlags
+  ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "--with-fp-layout=nothing" ];
 
   # do not create directories in /var during installPhase
   postConfigure = ''
diff --git a/pkgs/tools/system/illum/default.nix b/pkgs/tools/system/illum/default.nix
index ffa016cabfe..c9e87bef621 100644
--- a/pkgs/tools/system/illum/default.nix
+++ b/pkgs/tools/system/illum/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, ninja, libevdev, libev, udev }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, ninja, libevdev, libev, udev }:
 
 stdenv.mkDerivation rec {
   pname = "illum";
@@ -12,6 +12,14 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [
+    (fetchpatch {
+      name = "prevent-unplug-segfault"; # See https://github.com/jmesmon/illum/issues/19
+      url = "https://github.com/jmesmon/illum/commit/47b7cd60ee892379e5d854f79db343a54ae5a3cc.patch";
+      sha256 = "sha256-hIBBCIJXAt8wnZuyKye1RiEfOCelP3+4kcGrM43vFOE=";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ ninja libevdev libev udev ];
 
diff --git a/pkgs/tools/system/ipmitool/default.nix b/pkgs/tools/system/ipmitool/default.nix
index 2ad0d11f95f..6020f1658e6 100644
--- a/pkgs/tools/system/ipmitool/default.nix
+++ b/pkgs/tools/system/ipmitool/default.nix
@@ -24,6 +24,13 @@ stdenv.mkDerivation rec {
       url = "https://github.com/ipmitool/ipmitool/commit/e824c23316ae50beb7f7488f2055ac65e8b341f2.patch";
       sha256 = "sha256-X7MnoX2fzByRpRY4p33xetT+V2aehlQ/qU+aeaqtTUY=";
     })
+    # Pull upstream patch to support upstream gcc-10:
+    #   https://github.com/ipmitool/ipmitool/pull/180
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/ipmitool/ipmitool/commit/51c7e0822f531469cf860dfa5d010c87b284b747.patch";
+      sha256 = "sha256-5UszUdVw3s2S5RCm5Exq4mqDqiYcN62in1O5+TZu9YA=";
+    })
   ];
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/system/nkeys/default.nix b/pkgs/tools/system/nkeys/default.nix
index 05d2d853b24..4693763a89c 100644
--- a/pkgs/tools/system/nkeys/default.nix
+++ b/pkgs/tools/system/nkeys/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/nats-io/nkeys";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
+    mainProgram = "nk";
   };
 }
diff --git a/pkgs/tools/system/ps_mem/default.nix b/pkgs/tools/system/ps_mem/default.nix
index 073a0921f98..8408ed5e8d1 100644
--- a/pkgs/tools/system/ps_mem/default.nix
+++ b/pkgs/tools/system/ps_mem/default.nix
@@ -1,10 +1,8 @@
-{ lib, python2Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
-let
-  version = "3.13";
+python3Packages.buildPythonApplication rec {
   pname = "ps_mem";
-in python2Packages.buildPythonApplication {
-  name = "${pname}-${version}";
+  version = "3.13";
 
   src = fetchFromGitHub {
     owner = "pixelb";
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index f11a05fdbd6..c0894f31a01 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -14,11 +14,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rsyslog";
-  version = "8.2202.0";
+  version = "8.2204.1";
 
   src = fetchurl {
     url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
-    sha256 = "sha256-5BMIpaFxk5s8vCRunUvTC+ROgBUh4EzZXQUfo4Z9Zzg=";
+    sha256 = "sha256-ptcx5GrT1k9q1LGbvxv1bKR2CkSiS7loIxidwucfcCg=";
   };
 
   #patches = [ ./fix-gnutls-detection.patch ];
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index 6948728f16b..990e7afc39a 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, openssl, libcap, curl, which
-, eventlog, pkg-config, glib, python2, systemd, perl
+, eventlog, pkg-config, glib, python3, systemd, perl
 , riemann_c_client, protobufc, pcre, libnet
 , json_c, libuuid, libivykis, mongoc, rabbitmq-c
 , libesmtp
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     eventlog
     glib
     perl
-    python2
+    python3
     systemd
     riemann_c_client
     protobufc
diff --git a/pkgs/tools/system/taskspooler/default.nix b/pkgs/tools/system/taskspooler/default.nix
index 9899a9fb3f6..26925954778 100644
--- a/pkgs/tools/system/taskspooler/default.nix
+++ b/pkgs/tools/system/taskspooler/default.nix
@@ -23,9 +23,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Simple single node task scheduler";
-    license = licenses.gpl2Plus;
     homepage = "https://vicerveza.homeunix.net/~viric/wsgi-bin/hgweb.wsgi/ts";
-    platforms = platforms.unix;
+    license = licenses.gpl2Plus;
     maintainers = [ maintainers.sheepforce ];
+    mainProgram = "ts";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/bashblog/default.nix b/pkgs/tools/text/bashblog/default.nix
index 2649b564044..3c8d90caf84 100644
--- a/pkgs/tools/text/bashblog/default.nix
+++ b/pkgs/tools/text/bashblog/default.nix
@@ -45,8 +45,12 @@ in stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     install -Dm755 bb.sh $out/bin/bashblog
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/text/cidrgrep/default.nix b/pkgs/tools/text/cidrgrep/default.nix
new file mode 100644
index 00000000000..cfbfee48938
--- /dev/null
+++ b/pkgs/tools/text/cidrgrep/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule {
+  pname = "cidrgrep";
+  version = "unstable-2020-11-17";
+
+  src = fetchFromGitHub {
+    owner = "tomdoherty";
+    repo = "cidrgrep";
+    rev = "8ad5af533e8dc33ea18ff19b7c6a41550748fe0e";
+    sha256 = "sha256:0jvwm9jq5jd270b6l9nkvc5pr3rgf158sw83lrprmwmz7r4mr786";
+  };
+
+  vendorSha256 = "sha256:0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
+
+  postInstall = ''
+    mv $out/bin/cmd $out/bin/cidrgrep
+  '';
+
+  meta = {
+    description = "Like grep but for IPv4 CIDRs";
+    maintainers = with lib.maintainers; [ das_j ];
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/tools/text/codesearch/default.nix b/pkgs/tools/text/codesearch/default.nix
index 40ee8c58fbc..b02d4fcd5fc 100644
--- a/pkgs/tools/text/codesearch/default.nix
+++ b/pkgs/tools/text/codesearch/default.nix
@@ -1,18 +1,20 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "codesearch";
-  version = "1.0.0";
-
-  goPackagePath = "github.com/google/codesearch";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "codesearch";
     rev = "v${version}";
-    sha256 = "sha256-3kJ/JT89krbIvprWayBL4chUmT77Oa1W13UNCr4fe4k=";
+    sha256 = "sha256-i03w8PZ31j5EutUZaamZsHz+z4qgX4prePbj5DLA78s=";
   };
 
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     description = "Fast, indexed regexp search over large file trees";
     homepage = "https://github.com/google/codesearch";
diff --git a/pkgs/tools/text/discount/default.nix b/pkgs/tools/text/discount/default.nix
index dd03bcfa6a3..44d50c0c963 100644
--- a/pkgs/tools/text/discount/default.nix
+++ b/pkgs/tools/text/discount/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.pell.portland.or.us/~orc/Code/discount/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ shell ];
+    mainProgram = "markdown";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/gtranslator/default.nix b/pkgs/tools/text/gtranslator/default.nix
index d5e7922831e..e15941b5fc8 100644
--- a/pkgs/tools/text/gtranslator/default.nix
+++ b/pkgs/tools/text/gtranslator/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -12,11 +11,10 @@
 , libxml2
 , libgda6
 , libhandy
-, libsoup
+, libsoup_3
 , json-glib
 , gspell
 , glib
-, libdazzle
 , gtk3
 , gtksourceview4
 , gnome
@@ -25,22 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtranslator";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "E28R/gOhlJkMQ6/jOL0eoK0U5+H26Gjlv3xbUsTF5eE=";
+    sha256 = "Kme8v+ZDBhsGltiaEIR9UL81kF/zNhuYcTV9PjQi8Ts=";
   };
 
-  patches = [
-    # Fix build with meson 0.61
-    # data/meson.build:15:5: ERROR: Function does not take positional arguments.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gtranslator/-/commit/7ac572cc8c8c37ca3826ecf0d395edd3c38e8e22.patch";
-      sha256 = "aRg6dYweftV8F7FXykO7m0G+p4SLTFnhTcZx72UCMDE=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -55,11 +44,10 @@ stdenv.mkDerivation rec {
     libxml2
     glib
     gtk3
-    libdazzle
     gtksourceview4
     libgda6
     libhandy
-    libsoup
+    libsoup_3
     json-glib
     gettext
     gspell
diff --git a/pkgs/tools/text/opencc/default.nix b/pkgs/tools/text/opencc/default.nix
index 5ad14295e87..fbff68abb69 100644
--- a/pkgs/tools/text/opencc/default.nix
+++ b/pkgs/tools/text/opencc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python2 }:
+{ lib, stdenv, fetchFromGitHub, cmake, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "opencc";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-q/y4tRov/BYCAiE4i7fT6ysTerxxOHMZUWT2Jlo/0rI=";
   };
 
-  nativeBuildInputs = [ cmake python2 ];
+  nativeBuildInputs = [ cmake python3 ];
 
   # let intermediate tools find intermediate library
   preBuild = lib.optionalString stdenv.isLinux ''
diff --git a/pkgs/tools/text/replace/default.nix b/pkgs/tools/text/replace/default.nix
index 058c2ba3daa..62b83636b37 100644
--- a/pkgs/tools/text/replace/default.nix
+++ b/pkgs/tools/text/replace/default.nix
@@ -27,8 +27,9 @@ stdenv.mkDerivation rec {
   patches = [./malloc.patch];
 
   meta = {
-    homepage = "https://replace.richardlloyd.org.uk/";
     description = "A tool to replace verbatim strings";
+    homepage = "https://replace.richardlloyd.org.uk/";
+    mainProgram = "replace-literal";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/sift/default.nix b/pkgs/tools/text/sift/default.nix
index dc025f17a78..f282c28f8fe 100644
--- a/pkgs/tools/text/sift/default.nix
+++ b/pkgs/tools/text/sift/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub, installShellFiles }:
 
 buildGoPackage rec {
   pname = "sift";
@@ -7,6 +7,8 @@ buildGoPackage rec {
 
   goPackagePath = "github.com/svent/sift";
 
+  nativeBuildInputs = [ installShellFiles ];
+
   src = fetchFromGitHub {
     inherit rev;
     owner = "svent";
@@ -14,12 +16,16 @@ buildGoPackage rec {
     sha256 = "0bgy0jf84z1c3msvb60ffj4axayfchdkf0xjnsbx9kad1v10g7i1";
   };
 
+  postInstall = ''
+    installShellCompletion --cmd sift --bash go/src/github.com/svent/sift/sift-completion.bash
+  '';
+
   goDeps = ./deps.nix;
 
   meta = with lib; {
     description = "A fast and powerful alternative to grep";
     homepage = "https://sift-tool.org";
-    maintainers = [ maintainers.carlsverre ];
+    maintainers = with maintainers; [ carlsverre viraptor ];
     license = licenses.gpl3;
   };
 }
diff --git a/pkgs/tools/text/xml/html-xml-utils/default.nix b/pkgs/tools/text/xml/html-xml-utils/default.nix
index f1ab390e481..741dcaad344 100644
--- a/pkgs/tools/text/xml/html-xml-utils/default.nix
+++ b/pkgs/tools/text/xml/html-xml-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "html-xml-utils";
-  version = "8.3";
+  version = "8.4";
 
   src = fetchurl {
     url = "https://www.w3.org/Tools/HTML-XML-utils/${pname}-${version}.tar.gz";
-    sha256 = "sha256-pQxNFtrWYK1nku9TvHfvqdVyl5diN3Gj/OUtjiPT0Iw=";
+    sha256 = "sha256-QbubFOH0zWEC4/jft55xRqJMCWk4aYcxZcQhdppX0Tc=";
   };
 
   buildInputs = [curl libiconv];
diff --git a/pkgs/tools/virtualization/kubevirt/default.nix b/pkgs/tools/virtualization/kubevirt/default.nix
new file mode 100644
index 00000000000..999d5b3dfc1
--- /dev/null
+++ b/pkgs/tools/virtualization/kubevirt/default.nix
@@ -0,0 +1,43 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+, testers
+, kubevirt
+}:
+
+buildGoModule rec {
+  pname = "kubevirt";
+  version = "0.52.0";
+
+  src = fetchFromGitHub {
+    owner = "kubevirt";
+    repo = "kubevirt";
+    rev = "v${version}";
+    sha256 = "0ldc13nypbk3r9ihbdfibpyvzyzz4m68zzb7g6cq551ks9qdiyma";
+  };
+
+  vendorSha256 = null;
+
+  subPackages = [ "cmd/virtctl" ];
+
+  tags = [ "selinux" ];
+
+  ldflags = [
+    "-X kubevirt.io/client-go/version.gitCommit=v${version}"
+    "-X kubevirt.io/client-go/version.gitTreeState=clean"
+    "-X kubevirt.io/client-go/version.gitVersion=v${version}"
+  ];
+
+  passthru.tests.version = testers.testVersion {
+    package = kubevirt;
+    command = "virtctl version --client";
+    version = "v${version}";
+  };
+
+  meta = with lib; {
+    description = "Client tool to use advanced features such as console access";
+    homepage = "https://kubevirt.io/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ haslersn ];
+  };
+}
diff --git a/pkgs/tools/virtualization/ovftool/default.nix b/pkgs/tools/virtualization/ovftool/default.nix
new file mode 100644
index 00000000000..c4b4acdbb48
--- /dev/null
+++ b/pkgs/tools/virtualization/ovftool/default.nix
@@ -0,0 +1,186 @@
+{ lib, stdenv, system ? builtins.currentSystem, ovftoolBundles ? {}
+, requireFile, buildFHSUserEnv, autoPatchelfHook, makeWrapper, unzip
+, glibc, c-ares, libressl, curl, expat, icu60, xercesc, zlib
+}:
+
+let
+  version = "4.4.1-16812187";
+
+  # FHS environment required to unpack ovftool on x86.
+  ovftoolX86Unpacker = buildFHSUserEnv rec {
+    name = "ovftool-unpacker";
+    targetPkgs = pkgs: [ pkgs.bash ];
+    multiPkgs = targetPkgs;
+    runScript = "bash";
+  };
+
+  # unpackPhase for i686 and x86_64 ovftool self-extracting bundles.
+  ovftoolX86UnpackPhase = ''
+    runHook preUnpack
+    # This is a self-extracting shell script and needs a FHS environment to run.
+    # In reality, it could be doing anything, which is bad for reproducibility.
+    # Our postUnpack uses nix-hash to verify the hash to prevent problems.
+    #
+    # Note that the Arch PKGBUILD at
+    # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=vmware-ovftool
+    # appears to use xvfb-run - this hasn't been proven necessary so far.
+    #
+    cp ${ovftoolSource} ./ovftool.bundle
+    chmod +x ./ovftool.bundle
+    ${ovftoolX86Unpacker}/bin/ovftool-unpacker ./ovftool.bundle -x ovftool
+    rm ovftool.bundle
+    extracted=ovftool/vmware-ovftool/
+    if [ -d "$extracted" ]; then
+      # Move the directory we care about to ovftool/
+      mv "$extracted" .
+      rm -r ovftool
+      mv "$(basename -- "$extracted")" ovftool
+      echo "ovftool extracted successfully" >&2
+    else
+      echo "Could not find $extracted - are you sure this is ovftool?" >&2
+      rm -r ovftool
+      exit 1
+    fi
+    runHook postUnpack
+  '';
+
+  # unpackPhase for aarch64 .zip.
+  ovftoolAarch64UnpackPhase = ''
+    runHook preUnpack
+    unzip ${ovftoolSource}
+    extracted=ovftool/
+    if [ -d "$extracted" ]; then
+      echo "ovftool extracted successfully" >&2
+    else
+      echo "Could not find $extracted - are you sure this is ovftool?" >&2
+      exit 1
+    fi
+    runHook postUnpack
+  '';
+
+  # When the version is bumped, postUnpackHash will change
+  # for all these supported systems. Update it from the printed error on build.
+  #
+  # This is just a sanity check, since ovftool is a self-extracting bundle
+  # that could be doing absolutely anything on 2/3 of the supported platforms.
+  ovftoolSystems = {
+    "i686-linux" = {
+      filename = "VMware-ovftool-${version}-lin.i386.bundle";
+      sha256 = "0gx78g3s77mmpir7jbiskna10i6262ihal1ywivlb6xxxxbhqzwj";
+      unpackPhase = ovftoolX86UnpackPhase;
+      postUnpackHash = "1k8rp8ywhs0cl9aad37v1p0493bdvkxrsvwg5pgv2bhvjs4hqk7n";
+    };
+    "x86_64-linux" = {
+      filename = "VMware-ovftool-${version}-lin.x86_64.bundle";
+      sha256 = "1kp2bp4d9i8y7q25yqff2bn62mh292lws7b66lyn8ka9b35kvnzc";
+      unpackPhase = ovftoolX86UnpackPhase;
+      postUnpackHash = "0zvyakwi4iishqxxisihgh91bmdsfvj5vchm2c192hia03a143py";
+    };
+    "aarch64-linux" = {
+      filename = "VMware-ovftool-${version}-lin.aarch64.zip";
+      sha256 = "0all8bwv5p5adnzqvrly6nzmxmfpywvlbfr0finr4n100yv0v1xy";
+      unpackPhase = ovftoolAarch64UnpackPhase;
+      postUnpackHash = "16vyyzrmryi8b7mrd6nxnhywvvj2pw0ban4qfiqfahw763fn6971";
+    };
+  };
+
+  ovftoolSystem = if builtins.hasAttr system ovftoolSystems then
+                    ovftoolSystems.${system}
+                  else throw "System '${system}' is unsupported by ovftool";
+
+  ovftoolSource = if builtins.hasAttr system ovftoolBundles then
+                    ovftoolBundles.${system}
+                  else
+                    requireFile {
+                      name = ovftoolSystem.filename;
+                      url = "https://my.vmware.com/group/vmware/downloads/get-download?downloadGroup=OVFTOOL441";
+                      sha256 = ovftoolSystem.sha256;
+                    };
+in
+stdenv.mkDerivation rec {
+  pname = "ovftool";
+  inherit version;
+
+  src = ovftoolSource;
+
+  buildInputs = [
+    glibc
+    libressl
+    c-ares
+    (curl.override { openssl = libressl; })
+    expat
+    icu60
+    xercesc
+    zlib
+  ];
+
+  nativeBuildInputs = [ autoPatchelfHook makeWrapper unzip ];
+
+  sourceRoot = ".";
+
+  unpackPhase = ovftoolSystem.unpackPhase;
+
+  postUnpackHash = ovftoolSystem.postUnpackHash;
+
+  # Expects a directory named 'ovftool' containing the ovftool install.
+  # Based on https://aur.archlinux.org/packages/vmware-ovftool/
+  # with the addition of a libexec directory and a Nix-style binary wrapper.
+  installPhase = ''
+    runHook preInstall
+    if [ -d ovftool ]; then
+      # Ensure we're in the staging directory
+      cd ovftool
+    fi
+    # libraries
+    install -m 755 -d "$out/lib/${pname}"
+    # These all appear to be VMWare proprietary except for libgoogleurl.
+    # The rest of the libraries that the installer extracts are omitted here,
+    # and provided in buildInputs.
+    #
+    # FIXME: can we replace libgoogleurl? Possibly from Chromium?
+    #
+    install -m 644 -t "$out/lib/${pname}" \
+      libgoogleurl.so.59 \
+      libssoclient.so \
+      libvim-types.so libvmacore.so libvmomi.so
+    # ovftool specifically wants 1.0.2 but our libcrypto is named 1.0.0
+    ln -s "${lib.getLib libressl}/lib/libcrypto.so" \
+      "$out/lib/${pname}/libcrypto.so.1.0.2"
+    ln -s "${lib.getLib libressl}/lib/libssl.so" \
+      "$out/lib/${pname}/libssl.so.1.0.2"
+    # libexec
+    install -m 755 -d "$out/libexec/${pname}"
+    install -m 755 -t "$out/libexec/${pname}" ovftool.bin
+    install -m 644 -t "$out/libexec/${pname}" icudt44l.dat
+    # libexec resources
+    for subdir in "certs" "env" "env/en" "schemas/DMTF" "schemas/vmware"; do
+      install -m 755 -d "$out/libexec/${pname}/$subdir"
+      install -m 644 -t "$out/libexec/${pname}/$subdir" "$subdir"/*.*
+    done
+    # EULA/OSS files
+    install -m 755 -d "$out/share/licenses/${pname}"
+    install -m 644 -t "$out/share/licenses/${pname}" \
+      "vmware.eula" "vmware-eula.rtf" "open_source_licenses.txt"
+    # documentation files
+    install -m 755 -d "$out/share/doc/${pname}"
+    install -m 644 -t "$out/share/doc/${pname}" "README.txt"
+    # binary wrapper; note that LC_CTYPE is defaulted to en_US.UTF-8 by
+    # VMWare's wrapper script. We use C.UTF-8 instead.
+    install -m 755 -d "$out/bin"
+    makeWrapper "$out/libexec/${pname}/ovftool.bin" "$out/bin/ovftool" \
+      --set-default LC_CTYPE C.UTF-8 \
+      --prefix LD_LIBRARY_PATH : "$out/lib"
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    addAutoPatchelfSearchPath "$out/lib"
+  '';
+
+  meta = with lib; {
+    description = "VMWare tools for working with OVF, OVA, and VMX images";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ numinit wolfangaukang ];
+    platforms = builtins.attrNames ovftoolSystems;
+  };
+}
diff --git a/pkgs/tools/wayland/wlogout/default.nix b/pkgs/tools/wayland/wlogout/default.nix
index d9d44212601..7f9935b6c3c 100644
--- a/pkgs/tools/wayland/wlogout/default.nix
+++ b/pkgs/tools/wayland/wlogout/default.nix
@@ -10,6 +10,11 @@
 , wayland
 , wayland-protocols
 , gtk-layer-shell
+# gtk-layer-shell fails to cross-compile due to a hard dependency
+# on gobject-introspection.
+# Disable it when cross-compiling since it's an optional dependency.
+# This disables transparency support.
+, withGtkLayerShell ? (stdenv.buildPlatform == stdenv.hostPlatform)
 }:
 
 stdenv.mkDerivation rec {
@@ -23,12 +28,15 @@ stdenv.mkDerivation rec {
     sha256 = "cTscfx+erHVFHwwYpN7pADQWt5sq75sQSyXSP/H8kOs=";
   };
 
+  strictDeps = true;
+  depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ pkg-config meson ninja scdoc ];
   buildInputs = [
     gtk3
     libxkbcommon
     wayland
     wayland-protocols
+  ] ++ lib.optionals withGtkLayerShell [
     gtk-layer-shell
   ];
 
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 694d2c73487..22bca85eb4f 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -106,6 +106,10 @@ mapAliases ({
   bashburn = throw "bashburn has been removed: deleted by upstream"; # Added 2022-01-07
   bazaar = throw "bazaar has been deprecated by breezy"; # Added 2020-04-19
   bazaarTools = throw "bazaar has been deprecated by breezy"; # Added 2020-04-19
+  bazel_0 = throw "bazel 0 is past end of life as it is not an lts version"; # Added 2022-05-09
+  bazel_0_27 = throw "bazel 0.27 is past end of life as it is not an lts version"; # Added 2022-05-09
+  bazel_0_29 = throw "bazel 0.29 is past end of life as it is not an lts version"; # Added 2022-05-09
+  bazel_1 = throw "bazel 1 is past end of life as it is not an lts version"; # Added 2022-05-09
   bcat = throw "bcat has been removed because upstream is dead"; # Added 2021-08-22
   beret = throw "beret has been removed"; # Added 2021-11-16
   bin_replace_string = throw "bin_replace_string has been removed: deleted by upstream"; # Added 2022-01-07
@@ -850,7 +854,6 @@ mapAliases ({
   navit = throw "navit has been removed from nixpkgs, due to being unmaintained"; # Added 2021-06-07
   ncat = throw "'ncat' has been renamed to/replaced by 'nmap'"; # Converted to throw 2022-02-22
   neap = throw "neap was removed from nixpkgs, as it relies on python2"; # Added 2022-01-12
-  netcat-openbsd = throw "'netcat-openbsd' has been renamed to/replaced by 'libressl.nc'"; # Converted to throw 2022-02-22
   netease-cloud-music = throw "netease-cloud-music has been removed together with deepin"; # Added 2020-08-31
   networkmanager_fortisslvpn = throw "'networkmanager_fortisslvpn' has been renamed to/replaced by 'networkmanager-fortisslvpn'"; # Converted to throw 2022-02-22
   networkmanager_iodine = throw "'networkmanager_iodine' has been renamed to/replaced by 'networkmanager-iodine'"; # Converted to throw 2022-02-22
@@ -943,8 +946,8 @@ mapAliases ({
   pgp-tools = throw "'pgp-tools' has been renamed to/replaced by 'signing-party'"; # Converted to throw 2022-02-22
   pg_tmp = throw "'pg_tmp' has been renamed to/replaced by 'ephemeralpg'"; # Converted to throw 2022-02-22
   phantomjs = throw "phantomjs 1.9.8 has been dropped due to lack of maintenance and security issues"; # Added 2022-02-20
+  phantomjs2 = throw "phantomjs2 has been dropped due to lack of maintenance"; # Added 2022-04-22
   philter = throw "philter has been removed: abandoned by upstream"; # Added 2022-04-26
-
   # Obsolete PHP version aliases
   php73 = throw "php73 has been dropped due to the lack of maintanence from upstream for future releases"; # Added 2021-06-03
   php73Packages = php73; # Added 2021-06-03
@@ -1063,6 +1066,7 @@ mapAliases ({
   pulseaudioLight = throw "'pulseaudioLight' has been renamed to/replaced by 'pulseaudio'"; # Converted to throw 2022-02-22
   pulseeffects = throw "Use pulseeffects-legacy if you use PulseAudio and easyeffects if you use PipeWire"; # Added 2021-02-13
   pulseeffects-pw = easyeffects; # Added 2021-07-07
+  py-wmi-client = throw "py-wmi-client has been removed: abandoned by upstream"; # Added 2022-04-26
   pydb = throw "pydb has been removed: abandoned by upstream"; # Added 2022-04-22
   pyIRCt = throw "pyIRCt has been removed from nixpkgs as it is unmaintained and python2-only";
   pyMAILt = throw "pyMAILt has been removed from nixpkgs as it is unmaintained and python2-only";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 822d01ad79b..ff318258d0e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -161,7 +161,9 @@ with pkgs;
     autoconf = autoconf269;
   };
 
-  autorestic = callPackage ../tools/backup/autorestic { };
+  autorestic = callPackage ../tools/backup/autorestic {
+    buildGoModule = buildGo118Module;
+  };
 
   autoPatchelfHook = makeSetupHook {
     name = "auto-patchelf-hook";
@@ -440,6 +442,8 @@ with pkgs;
 
   enum4linux-ng = python3Packages.callPackage ../tools/security/enum4linux-ng { };
 
+  erosmb = callPackage ../tools/security/erosmb { };
+
   onesixtyone = callPackage ../tools/security/onesixtyone {};
 
   oletools = with python3.pkgs; toPythonApplication oletools;
@@ -602,7 +606,9 @@ with pkgs;
 
   packr = callPackage ../development/libraries/packr { };
 
-  perseus-cli = callPackage ../development/tools/perseus-cli { };
+  perseus-cli = callPackage ../development/tools/perseus-cli {
+    inherit (darwin.apple_sdk.frameworks) CoreServices;
+  };
 
   pet = callPackage ../development/tools/pet { };
 
@@ -1071,6 +1077,8 @@ with pkgs;
 
   airspyhf = callPackage ../applications/radio/airspyhf { };
 
+  airwindows-lv2 = callPackage ../applications/audio/airwindows-lv2 { };
+
   aj-snapshot  = callPackage ../applications/audio/aj-snapshot { };
 
   ajour = callPackage ../tools/games/ajour {
@@ -1096,6 +1104,8 @@ with pkgs;
 
   bikeshed = python3Packages.callPackage ../applications/misc/bikeshed { };
 
+  cidrgrep = callPackage ../tools/text/cidrgrep { };
+
   cope = callPackage ../tools/misc/cope { };
 
   ejson2env = callPackage ../tools/admin/ejson2env { };
@@ -1136,6 +1146,8 @@ with pkgs;
 
   headsetcontrol = callPackage ../tools/audio/headsetcontrol { };
 
+  headset-charge-indicator = callPackage ../tools/audio/headset-charge-indicator { };
+
   httm = callPackage ../tools/filesystems/httm { };
 
   ksnip = libsForQt5.callPackage ../tools/misc/ksnip { };
@@ -1184,6 +1196,8 @@ with pkgs;
 
   ventoy-bin = callPackage ../tools/cd-dvd/ventoy-bin { };
 
+  kubevirt = callPackage ../tools/virtualization/kubevirt { };
+
   vopono = callPackage ../tools/networking/vopono { };
 
   winbox = callPackage ../tools/admin/winbox {
@@ -1635,7 +1649,9 @@ with pkgs;
 
   amazon-ecs-cli = callPackage ../tools/virtualization/amazon-ecs-cli { };
 
-  amazon-qldb-shell = callPackage ../development/tools/amazon-qldb-shell { };
+  amazon-qldb-shell = callPackage ../development/tools/amazon-qldb-shell {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   amber = callPackage ../tools/text/amber {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -2598,6 +2614,8 @@ with pkgs;
 
   bdf2sfd = callPackage ../tools/misc/bdf2sfd { };
 
+  bdfresize = callPackage ../tools/misc/bdfresize { };
+
   bcache-tools = callPackage ../tools/filesystems/bcache-tools { };
 
   bchunk = callPackage ../tools/cd-dvd/bchunk { };
@@ -3229,6 +3247,8 @@ with pkgs;
 
   dibbler = callPackage ../tools/networking/dibbler { };
 
+  dieharder = callPackage ../tools/security/dieharder { };
+
   diesel-cli = callPackage ../development/tools/diesel-cli {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -4692,6 +4712,8 @@ with pkgs;
 
   usbview = callPackage ../tools/misc/usbview { };
 
+  usbimager = callPackage ../tools/misc/usbimager { };
+
   uwuify = callPackage ../tools/misc/uwuify { };
 
   anthy = callPackage ../tools/inputmethods/anthy { };
@@ -5552,9 +5574,7 @@ with pkgs;
     elasticsearch = elasticsearch7;
   };
 
-  elasticsearch-curator = callPackage ../tools/admin/elasticsearch-curator {
-    python = python3;
-  };
+  elasticsearch-curator = callPackage ../tools/admin/elasticsearch-curator { };
 
   embree = callPackage ../development/libraries/embree { };
   embree2 = callPackage ../development/libraries/embree/2.x.nix { };
@@ -5626,8 +5646,10 @@ with pkgs;
   };
 
   exempi = callPackage ../development/libraries/exempi {
-    stdenv = if stdenv.isi686 then gcc6Stdenv else gcc9Stdenv;
-    boost  = boost15x;
+    stdenv = if stdenv.isDarwin then stdenv
+             else if stdenv.isi686 then gcc6Stdenv
+             else gcc9Stdenv;
+    boost  = if stdenv.isDarwin then boost else boost15x;
   };
 
   execline = skawarePackages.execline;
@@ -6389,8 +6411,6 @@ with pkgs;
 
   gnirehtet = callPackage ../tools/networking/gnirehtet { };
 
-  gnome-2048 = callPackage ../desktops/gnome/games/gnome-2048 { };
-
   gnome-builder = callPackage ../applications/editors/gnome-builder { };
 
   gnome-desktop = callPackage ../development/libraries/gnome-desktop { };
@@ -8036,9 +8056,6 @@ with pkgs;
   librest_1_0 = callPackage ../development/libraries/librest/1.0.nix { };
 
   inherit (callPackages ../development/libraries/libwebsockets { })
-    libwebsockets_3_1
-    libwebsockets_3_2
-    libwebsockets_4_2
     libwebsockets_4_3;
   libwebsockets = libwebsockets_4_3;
 
@@ -8525,6 +8542,8 @@ with pkgs;
 
   netcat-gnu = callPackage ../tools/networking/netcat { };
 
+  netcat-openbsd = callPackage ../tools/networking/netcat-openbsd { };
+
   netdiscover = callPackage ../tools/networking/netdiscover { };
 
   nethogs = callPackage ../tools/networking/nethogs { };
@@ -9065,6 +9084,8 @@ with pkgs;
 
   otpw = callPackage ../os-specific/linux/otpw { };
 
+  ovftool = callPackage ../tools/virtualization/ovftool { };
+
   overcommit = callPackage ../development/tools/overcommit { };
 
   overmind = callPackage ../applications/misc/overmind { };
@@ -9119,8 +9140,6 @@ with pkgs;
 
   pamtester = callPackage ../tools/security/pamtester { };
 
-  pantheon-tweaks = callPackage ../desktops/pantheon/third-party/pantheon-tweaks { };
-
   paperless-ngx = callPackage ../applications/office/paperless-ngx { };
 
   paperwork = callPackage ../applications/office/paperwork/paperwork-gtk.nix { };
@@ -9482,7 +9501,9 @@ with pkgs;
 
   proxify = callPackage ../tools/networking/proxify { };
 
-  proxysql = callPackage ../servers/sql/proxysql { };
+  proxysql = callPackage ../servers/sql/proxysql {
+    stdenv = if stdenv.targetPlatform.isx86_64 then gcc10Stdenv else stdenv;
+  };
 
   prs = callPackage ../tools/security/prs { };
 
@@ -9548,6 +9569,8 @@ with pkgs;
 
   pyinfra = with python3Packages; toPythonApplication pyinfra;
 
+  pylint = with python3Packages; toPythonApplication pylint;
+
   pympress = callPackage ../applications/office/pympress { };
 
   pyspread = libsForQt5.callPackage ../applications/office/pyspread { };
@@ -10224,7 +10247,9 @@ with pkgs;
 
   silc_server = callPackage ../servers/silc-server { };
 
-  sile = callPackage ../tools/typesetting/sile { };
+  sile = callPackage ../tools/typesetting/sile {
+    lua = lua5_4;
+  };
 
   silver-searcher = callPackage ../tools/text/silver-searcher { };
 
@@ -10338,7 +10363,9 @@ with pkgs;
     jdk = jdk11;
   };
 
-  spglib = callPackage ../development/libraries/spglib { };
+  spglib = callPackage ../development/libraries/spglib {
+    inherit (llvmPackages) openmp;
+  };
 
   spicy = callPackage ../development/tools/spicy { };
 
@@ -10593,6 +10620,8 @@ with pkgs;
 
   swagger-codegen3 = callPackage ../tools/networking/swagger-codegen3 { };
 
+  swaggerhole = callPackage ../tools/security/swaggerhole { };
+
   swapview = callPackage ../os-specific/linux/swapview { };
 
   swtpm = callPackage ../tools/security/swtpm { };
@@ -10996,6 +11025,8 @@ with pkgs;
 
   trousers = callPackage ../tools/security/trousers { };
 
+  trueseeing = callPackage ../tools/security/trueseeing { };
+
   trx = callPackage ../tools/audio/trx { };
 
   tryton = callPackage ../applications/office/tryton { };
@@ -11105,6 +11136,10 @@ with pkgs;
 
   ugrep = callPackage ../tools/text/ugrep { };
 
+  uhk-agent = callPackage ../os-specific/linux/uhk-agent { };
+
+  uhk-udev-rules = callPackage ../os-specific/linux/uhk-udev-rules { };
+
   uif2iso = callPackage ../tools/cd-dvd/uif2iso { };
 
   uivonim = callPackage ../applications/editors/uivonim { };
@@ -11672,8 +11707,6 @@ with pkgs;
 
   chase = callPackage ../tools/system/chase { };
 
-  wingpanel-indicator-ayatana = callPackage ../desktops/pantheon/third-party/wingpanel-indicator-ayatana { };
-
   wimlib = callPackage ../tools/archivers/wimlib { };
 
   wipe = callPackage ../tools/security/wipe { };
@@ -12345,7 +12378,7 @@ with pkgs;
 
   comby = callPackage ../development/tools/comby { };
 
-  compcert = coqPackages.compcert.override { version = "3.9"; };
+  inherit (coqPackages) compcert;
 
   computecpp-unwrapped = callPackage ../development/compilers/computecpp {};
   computecpp = wrapCCWith rec {
@@ -14181,25 +14214,6 @@ with pkgs;
     nodejs = nodejs_latest;
   };
 
-  lxappearance = callPackage ../desktops/lxde/core/lxappearance { };
-
-  lxappearance-gtk2 = callPackage ../desktops/lxde/core/lxappearance {
-    gtk2 = gtk2-x11;
-    withGtk3 = false;
-  };
-
-  lxmenu-data = callPackage ../desktops/lxde/core/lxmenu-data.nix { };
-
-  lxpanel = callPackage ../desktops/lxde/core/lxpanel {
-    gtk2 = gtk2-x11;
-  };
-
-  lxtask = callPackage ../desktops/lxde/core/lxtask { };
-
-  lxrandr = callPackage ../desktops/lxde/core/lxrandr { };
-
-  lxsession = callPackage ../desktops/lxde/core/lxsession { };
-
   kona = callPackage ../development/interpreters/kona {};
 
   lolcode = callPackage ../development/interpreters/lolcode { };
@@ -14818,37 +14832,6 @@ with pkgs;
 
   bazel = bazel_3;
 
-  bazel_0 = bazel_0_26;
-
-  bazel_0_26 = callPackage ../development/tools/build-managers/bazel/bazel_0_26 {
-    inherit (darwin) cctools;
-    inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
-    buildJdk = jdk8_headless;
-    buildJdkName = "jdk8";
-    runJdk = jdk11_headless;
-    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
-  };
-
-  bazel_0_29 = callPackage ../development/tools/build-managers/bazel/bazel_0_29 {
-    inherit (darwin) cctools;
-    inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
-    buildJdk = jdk8_headless;
-    buildJdkName = "jdk8";
-    runJdk = jdk11_headless;
-    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
-    bazel_self = bazel_0_29;
-  };
-
-  bazel_1 = callPackage ../development/tools/build-managers/bazel/bazel_1 {
-    inherit (darwin) cctools;
-    inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
-    buildJdk = jdk8_headless;
-    buildJdkName = "jdk8";
-    runJdk = jdk11_headless;
-    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
-    bazel_self = bazel_1;
-  };
-
   bazel_3 = callPackage ../development/tools/build-managers/bazel/bazel_3 {
     inherit (darwin) cctools;
     inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
@@ -15513,8 +15496,6 @@ with pkgs;
   gnumake = callPackage ../development/tools/build-managers/gnumake { };
   gnumake42 = callPackage ../development/tools/build-managers/gnumake/4.2 { };
 
-  gnustep = recurseIntoAttrs (callPackage ../desktops/gnustep {});
-
   gob2 = callPackage ../development/tools/misc/gob2 { };
 
   gocd-agent = callPackage ../development/tools/continuous-integration/gocd-agent { };
@@ -15904,8 +15885,6 @@ with pkgs;
 
   pgcli = pkgs.python3Packages.pgcli;
 
-  phantomjs2 = libsForQt514.callPackage ../development/tools/phantomjs2 { };
-
   picotool = callPackage ../development/tools/picotool { };
 
   pmccabe = callPackage ../development/tools/misc/pmccabe { };
@@ -17882,8 +17861,13 @@ with pkgs;
   } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
+  icu71 = callPackage ../development/libraries/icu/71.nix ({
+    nativeBuildRoot = buildPackages.icu71.override { buildRootOnly = true; };
+  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
+      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
+    }));
 
-  icu = icu70;
+  icu = icu71;
 
   id3lib = callPackage ../development/libraries/id3lib { };
 
@@ -18577,6 +18561,7 @@ with pkgs;
   libffcall = callPackage ../development/libraries/libffcall { };
 
   libffi = callPackage ../development/libraries/libffi { };
+  libffi_3_3 = callPackage ../development/libraries/libffi/3.3.nix { };
   libffiBoot = libffi.override {
     doCheck = false;
   };
@@ -19930,7 +19915,8 @@ with pkgs;
   openvdb = callPackage ../development/libraries/openvdb {};
 
   inherit (callPackages ../development/libraries/libressl { })
-    libressl_3_4;
+    libressl_3_4
+    libressl_3_5;
 
   libressl = libressl_3_4;
 
@@ -20105,7 +20091,6 @@ with pkgs;
   protobuf3_8 = callPackage ../development/libraries/protobuf/3.8.nix { };
   protobuf3_7 = callPackage ../development/libraries/protobuf/3.7.nix { };
   protobuf3_6 = callPackage ../development/libraries/protobuf/3.6.nix { };
-  protobuf3_1 = callPackage ../development/libraries/protobuf/3.1.nix { };
 
   protobufc = callPackage ../development/libraries/protobufc/1.3.nix { };
 
@@ -21826,12 +21811,16 @@ with pkgs;
 
   jitsi-videobridge = callPackage ../servers/jitsi-videobridge { };
 
+  kanidm = callPackage ../servers/kanidm { };
+
   kapowbang = callPackage ../servers/kapowbang { };
 
   keycloak = callPackage ../servers/keycloak { };
 
   knot-dns = callPackage ../servers/dns/knot-dns { };
-  knot-resolver = callPackage ../servers/dns/knot-resolver { };
+  knot-resolver = callPackage ../servers/dns/knot-resolver {
+    systemd = systemdMinimal; # in closure already anyway
+  };
 
   rdkafka = callPackage ../development/libraries/rdkafka { };
 
@@ -22419,10 +22408,7 @@ with pkgs;
 
   pypolicyd-spf = python3.pkgs.callPackage ../servers/mail/pypolicyd-spf { };
 
-  qpid-cpp = callPackage ../servers/amqp/qpid-cpp {
-    boost = boost155;
-    inherit (python2Packages) buildPythonPackage qpid-python;
-  };
+  qpid-cpp = callPackage ../servers/amqp/qpid-cpp { };
 
   qremotecontrol-server = callPackage ../servers/misc/qremotecontrol-server { };
 
@@ -22889,7 +22875,9 @@ with pkgs;
 
   drbd = callPackage ../os-specific/linux/drbd { };
 
-  dropwatch = callPackage ../os-specific/linux/dropwatch { };
+  dropwatch = callPackage ../os-specific/linux/dropwatch {
+    readline = readline81;
+  };
 
   dsd = callPackage ../applications/radio/dsd { };
 
@@ -24352,6 +24340,8 @@ with pkgs;
 
   kde-rounded-corners = libsForQt5.callPackage ../data/themes/kwin-decorations/kde-rounded-corners { };
 
+  khmeros = callPackage ../data/fonts/khmeros {};
+
   kochi-substitute = callPackage ../data/fonts/kochi-substitute {};
 
   kochi-substitute-naga10 = callPackage ../data/fonts/kochi-substitute-naga10 {};
@@ -24418,6 +24408,8 @@ with pkgs;
 
   linux-manual = callPackage ../data/documentation/linux-manual { };
 
+  lklug-sinhala = callPackage ../data/fonts/lklug-sinhala {};
+
   lmmath = callPackage ../data/fonts/lmmath {};
 
   lmodern = callPackage ../data/fonts/lmodern { };
@@ -24524,6 +24516,8 @@ with pkgs;
 
   nafees = callPackage ../data/fonts/nafees { };
 
+  nanum = callPackage ../data/fonts/nanum {  };
+
   nanum-gothic-coding = callPackage ../data/fonts/nanum-gothic-coding {  };
 
   national-park-typeface = callPackage ../data/fonts/national-park { };
@@ -24721,6 +24715,8 @@ with pkgs;
 
   sierra-gtk-theme = callPackage ../data/themes/sierra { };
 
+  sil-padauk = callPackage ../data/fonts/sil-padauk { };
+
   snap7 = callPackage ../development/libraries/snap7 {};
 
   snowblind = callPackage ../data/themes/snowblind { };
@@ -24820,6 +24816,8 @@ with pkgs;
 
   inherit (callPackages ../data/fonts/tai-languages { }) tai-ahom;
 
+  takao = callPackage ../data/fonts/takao { };
+
   taskspooler = callPackage ../tools/system/taskspooler { };
 
   tamsyn = callPackage ../data/fonts/tamsyn { inherit (buildPackages.xorg) mkfontscale; };
@@ -24863,6 +24861,8 @@ with pkgs;
 
   theme-vertex = callPackage ../data/themes/vertex { };
 
+  tibetan-machine = callPackage ../data/fonts/tibetan-machine { };
+
   times-newer-roman = callPackage ../data/fonts/times-newer-roman { };
 
   tipa = callPackage ../data/fonts/tipa { };
@@ -27028,6 +27028,8 @@ with pkgs;
 
   pmbootstrap = python3Packages.callPackage ../tools/misc/pmbootstrap { };
 
+  shelf = libsForQt5.callPackage ../applications/office/shelf { };
+
   shepherd = nodePackages."@nerdwallet/shepherd";
 
   skate = callPackage ../applications/misc/skate { };
@@ -28179,6 +28181,8 @@ with pkgs;
 
   rofi-pulse-select = callPackage ../applications/audio/rofi-pulse-select { };
 
+  rofi-rbw = python3Packages.callPackage ../applications/misc/rofi-rbw { };
+
   rofi-vpn = callPackage ../applications/networking/rofi-vpn { };
 
   ympd = callPackage ../applications/audio/ympd { };
@@ -28354,8 +28358,7 @@ with pkgs;
   ostinato = libsForQt5.callPackage ../applications/networking/ostinato { };
 
   p4 = callPackage ../applications/version-management/p4 { };
-  # Broken with Qt5.15 because qtwebkit is broken with it
-  p4v = libsForQt514.callPackage ../applications/version-management/p4v { };
+  p4v = libsForQt515.callPackage ../applications/version-management/p4v { };
 
   partio = callPackage ../development/libraries/partio {};
 
@@ -29000,7 +29003,8 @@ with pkgs;
 
   protonmail-bridge = callPackage ../applications/networking/protonmail-bridge { };
 
-  protonvpn-cli = callPackage ../applications/networking/protonvpn-cli { };
+  protonvpn-cli = python3Packages.callPackage ../applications/networking/protonvpn-cli { };
+  protonvpn-cli_2 = python3Packages.callPackage ../applications/networking/protonvpn-cli/2.nix { };
 
   protonvpn-gui = python3Packages.callPackage ../applications/networking/protonvpn-gui { };
 
@@ -29237,6 +29241,8 @@ with pkgs;
 
   rcs = callPackage ../applications/version-management/rcs { };
 
+  rcshist = callPackage ../applications/version-management/rcshist { };
+
   rdesktop = callPackage ../applications/networking/remote/rdesktop { };
 
   rdedup = callPackage ../tools/backup/rdedup {
@@ -29257,6 +29263,8 @@ with pkgs;
 
   rednotebook = python3Packages.callPackage ../applications/editors/rednotebook { };
 
+  remnote = callPackage ../applications/misc/remnote { };
+
   remotebox = callPackage ../applications/virtualization/remotebox { };
 
   restique = libsForQt5.callPackage ../applications/backup/restique { };
@@ -29687,8 +29695,6 @@ with pkgs;
 
   surf = callPackage ../applications/networking/browsers/surf { gtk = gtk2; };
 
-  surf-display = callPackage ../desktops/surf-display { };
-
   surge = callPackage ../applications/audio/surge {
     inherit (gnome) zenity;
     git = gitMinimal;
@@ -29816,6 +29822,8 @@ with pkgs;
     abseil-cpp = abseil-cpp_202111;
   };
 
+  telegram-bot-api = callPackage ../servers/telegram-bot-api { };
+
   tektoncd-cli = callPackage ../applications/networking/cluster/tektoncd-cli { };
 
   telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli { };
@@ -30372,7 +30380,7 @@ with pkgs;
 
   wafw00f = callPackage ../tools/security/wafw00f { };
 
-  whispers = callPackage ../tools/security/whispers { };
+  whispers = with python3Packages; toPythonApplication whispers;
 
   waon = callPackage ../applications/audio/waon { };
 
@@ -32422,12 +32430,19 @@ with pkgs;
 
   wyvern = callPackage ../games/wyvern { };
 
+  hsetroot = callPackage ../tools/X11/hsetroot { };
+
+  imwheel = callPackage ../tools/X11/imwheel { };
+
+  kakasi = callPackage ../tools/text/kakasi { };
+
   ### DESKTOP ENVIRONMENTS
 
+  arcan = recurseIntoAttrs (callPackage ../desktops/arcan { });
+
   cdesktopenv = callPackage ../desktops/cdesktopenv { };
 
   cinnamon = recurseIntoAttrs (callPackage ../desktops/cinnamon { });
-
   inherit (cinnamon) mint-x-icons mint-y-icons;
 
   enlightenment = recurseIntoAttrs (callPackage ../desktops/enlightenment {
@@ -32452,14 +32467,28 @@ with pkgs;
 
   gnome-tour = callPackage ../desktops/gnome/core/gnome-tour { };
 
-  hsetroot = callPackage ../tools/X11/hsetroot { };
+  chrome-gnome-shell = callPackage ../desktops/gnome/extensions/chrome-gnome-shell { };
 
-  imwheel = callPackage ../tools/X11/imwheel { };
+  gnome-2048 = callPackage ../desktops/gnome/games/gnome-2048 { };
 
-  kakasi = callPackage ../tools/text/kakasi { };
+  gnustep = recurseIntoAttrs (callPackage ../desktops/gnustep { });
 
   lumina = recurseIntoAttrs (callPackage ../desktops/lumina { });
 
+  ### DESKTOPS/LXDE
+
+  lxde = recurseIntoAttrs (callPackage ../desktops/lxde { });
+  # Backwards compatibility aliases
+  inherit (lxde)
+    lxappearance
+    lxappearance-gtk2
+    lxmenu-data
+    lxpanel
+    lxrandr
+    lxsession
+    lxtask
+  ;
+
   lxqt = recurseIntoAttrs (import ../desktops/lxqt {
     inherit pkgs;
     inherit (lib) makeScope;
@@ -32470,6 +32499,18 @@ with pkgs;
 
   pantheon = recurseIntoAttrs (callPackage ../desktops/pantheon { });
 
+  pantheon-tweaks = callPackage ../desktops/pantheon/third-party/pantheon-tweaks { };
+
+  wingpanel-indicator-ayatana = callPackage ../desktops/pantheon/third-party/wingpanel-indicator-ayatana { };
+
+  rox-filer = callPackage ../desktops/rox/rox-filer {
+    gtk = gtk2;
+  };
+
+  surf-display = callPackage ../desktops/surf-display { };
+
+  xfce = recurseIntoAttrs (callPackage ../desktops/xfce { });
+
   plasma-applet-volumewin7mixer = libsForQt5.callPackage ../applications/misc/plasma-applet-volumewin7mixer { };
 
   plasma-theme-switcher = libsForQt5.callPackage ../applications/misc/plasma-theme-switcher {};
@@ -32488,16 +32529,6 @@ with pkgs;
 
   gnome-themes-extra = gnome.gnome-themes-extra;
 
-  rox-filer = callPackage ../desktops/rox/rox-filer {
-    gtk = gtk2;
-  };
-
-  arcan = recurseIntoAttrs (callPackage ../desktops/arcan {
-    callPackage = newScope arcan;
-  });
-
-  xfce = recurseIntoAttrs (callPackage ../desktops/xfce { });
-
   xrandr-invert-colors = callPackage ../applications/misc/xrandr-invert-colors { };
 
   ### SCIENCE/CHEMISTY
@@ -33962,6 +33993,8 @@ with pkgs;
 
   kompose = callPackage ../applications/networking/cluster/kompose { };
 
+  kompute = callPackage ../development/libraries/kompute { };
+
   kontemplate = callPackage ../applications/networking/cluster/kontemplate { };
 
   # In general we only want keep the last three minor versions around that
@@ -34338,8 +34371,6 @@ with pkgs;
 
   qtrvsim = libsForQt5.callPackage ../applications/science/computer-architecture/qtrvsim { };
 
-  py-wmi-client = callPackage ../tools/networking/py-wmi-client { };
-
   qdl = callPackage ../tools/misc/qdl { };
 
   rates = callPackage ../tools/misc/rates {
@@ -34871,6 +34902,8 @@ with pkgs;
 
   yarGen = callPackage ../tools/security/yarGen { };
 
+  yersinia = callPackage ../tools/security/yersinia { };
+
   yaxg = callPackage ../tools/graphics/yaxg {};
 
   zap = callPackage ../tools/networking/zap { };
@@ -34978,7 +35011,7 @@ with pkgs;
 
   simplenote = callPackage ../applications/misc/simplenote { };
 
-  hy = callPackage ../development/interpreters/hy {};
+  hy = python3Packages.hy.withPackages (python-packages: [ ]);
 
   wmic-bin = callPackage ../servers/monitoring/plugins/wmic-bin.nix { };
 
@@ -34992,8 +35025,6 @@ with pkgs;
 
   chrome-export = callPackage ../tools/misc/chrome-export {};
 
-  chrome-gnome-shell = callPackage  ../desktops/gnome/extensions/chrome-gnome-shell {};
-
   chrome-token-signing = libsForQt5.callPackage ../tools/security/chrome-token-signing {};
 
   NSPlist = callPackage ../development/libraries/NSPlist {};
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 6af05d761c4..9c3e666c5b3 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -160,7 +160,7 @@ in rec {
   coqPackages_8_13 = mkCoqPackages coq_8_13;
   coqPackages_8_14 = mkCoqPackages coq_8_14;
   coqPackages_8_15 = mkCoqPackages coq_8_15;
-  coqPackages = recurseIntoAttrs coqPackages_8_13;
+  coqPackages = recurseIntoAttrs coqPackages_8_15;
   coq = coqPackages.coq;
 
 }
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 9743acce4b6..454e1cdca76 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -541,6 +541,7 @@ in {
     });
     linux_5_10_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_10 { });
     linux_5_15_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_15 { });
+    linux_5_17_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_17 { });
 
     linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen);
     linux_lqx = recurseIntoAttrs (packagesFor kernels.linux_lqx);
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index e8ac6445d0e..3e0e8e25b2f 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -105,13 +105,13 @@ in
 
   vicious = luaLib.toLuaModule( stdenv.mkDerivation rec {
     pname = "vicious";
-    version = "2.5.0";
+    version = "2.5.1";
 
     src = fetchFromGitHub {
-      owner = "Mic92";
+      owner = "vicious-widgets";
       repo = "vicious";
       rev = "v${version}";
-      sha256 = "0lb90334mz0my8ydsmnsnkki0xr58kinsg0hf9d6k4b0vjfi0r0a";
+      sha256 = "sha256-geu/g/dFAVxtY1BuJYpZoVtFS/oL66NFnqiLAnJELtI=";
     };
 
     buildInputs = [ lua ];
@@ -124,9 +124,9 @@ in
 
     meta = with lib; {
       description = "A modular widget library for the awesome window manager";
-      homepage    = "https://github.com/Mic92/vicious";
-      license     = licenses.gpl2;
-      maintainers = with maintainers; [ makefu mic92 ];
+      homepage    = "https://vicious.rtfd.io";
+      license     = licenses.gpl2Plus;
+      maintainers = with maintainers; [ makefu mic92 McSinyx ];
       platforms   = platforms.linux;
     };
   });
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 72568265a82..adf03ae7271 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -18989,6 +18989,20 @@ let
     };
   };
 
+  POSIXAtFork = buildPerlPackage {
+    pname = "POSIX-AtFork";
+    version = "0.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors//id/N/NI/NIKOLAS/POSIX-AtFork-0.04.tar.gz";
+      sha256 = "sha256-wuIpOobUhxRLyPe6COfEt2sRsOTf3EGAmEXTDvoH5g4=";
+    };
+    buildInputs = [ TestSharedFork ];
+    meta = {
+      description = "Hook registrations at fork(2)";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   POSIXstrftimeCompiler = buildPerlModule {
     pname = "POSIX-strftime-Compiler";
     version = "0.44";
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 0dcb33f7965..a24a8e2c98f 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -82,6 +82,7 @@ mapAliases ({
   loo-py = loopy; # added 2022-05-03
   Markups = markups; # added 2022-02-14
   MechanicalSoup = mechanicalsoup; # added 2021-06-01
+  memcached = python-memcached; # added 2022-05-06
   net2grid = gridnet; # add 2022-04-22
   nose-cover3 = throw "nose-cover3 has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-02-16
   pam = python-pam; # added 2020-09-07.
@@ -108,6 +109,7 @@ mapAliases ({
   pytestrunner = pytest-runner; # added 2021-01-04
   python-igraph = igraph; # added 2021-11-11
   python-lz4 = lz4; # added 2018-06-01
+  python_magic = python-magic; # added 2022-05-07
   python_mimeparse = python-mimeparse; # added 2021-10-31
   python-subunit = subunit; # added 2021-09-10
   pytest_xdist = pytest-xdist; # added 2021-01-04
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 894e7f1da5d..42bf379faca 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -120,6 +120,7 @@ in {
     pythonImportsCheckHook
     pythonNamespacesHook
     pythonRecompileBytecodeHook
+    pythonRelaxDepsHook
     pythonRemoveBinBytecodeHook
     pythonRemoveTestsDirHook
     setuptoolsBuildHook
@@ -344,6 +345,8 @@ in {
 
   aiolifx-effects = callPackage ../development/python-modules/aiolifx-effects { };
 
+  aiolimiter = callPackage ../development/python-modules/aiolimiter { };
+
   aiolip = callPackage ../development/python-modules/aiolip { };
 
   aiolyric = callPackage ../development/python-modules/aiolyric { };
@@ -1386,6 +1389,8 @@ in {
 
   browser-cookie3 = callPackage ../development/python-modules/browser-cookie3 { };
 
+  brunt = callPackage ../development/python-modules/brunt { };
+
   bsddb3 = callPackage ../development/python-modules/bsddb3 { };
 
   bsdiff4 = callPackage ../development/python-modules/bsdiff4 { };
@@ -2395,6 +2400,8 @@ in {
 
   django-taggit = callPackage ../development/python-modules/django-taggit { };
 
+  django-tastypie = callPackage ../development/python-modules/django-tastypie { };
+
   django-timezone-field = callPackage ../development/python-modules/django-timezone-field { };
 
   django_treebeard = callPackage ../development/python-modules/django_treebeard { };
@@ -3788,6 +3795,8 @@ in {
 
   hatchling = callPackage ../development/python-modules/hatchling { };
 
+  hatch-vcs = callPackage ../development/python-modules/hatch-vcs { };
+
   haversine = callPackage ../development/python-modules/haversine { };
 
   hawkauthlib = callPackage ../development/python-modules/hawkauthlib { };
@@ -3998,6 +4007,8 @@ in {
 
   hyppo = callPackage ../development/python-modules/hyppo { };
 
+  hyrule = callPackage ../development/python-modules/hyrule { };
+
   i2c-tools = callPackage ../development/python-modules/i2c-tools {
     inherit (pkgs) i2c-tools;
   };
@@ -5167,6 +5178,8 @@ in {
 
   measurement = callPackage ../development/python-modules/measurement { };
 
+  meater-python = callPackage ../development/python-modules/meater-python { };
+
   mecab-python3 = callPackage ../development/python-modules/mecab-python3 { };
 
   mechanicalsoup = callPackage ../development/python-modules/mechanicalsoup { };
@@ -5181,8 +5194,6 @@ in {
 
   meld3 = callPackage ../development/python-modules/meld3 { };
 
-  memcached = callPackage ../development/python-modules/memcached { };
-
   memory-allocator = callPackage ../development/python-modules/memory-allocator { };
 
   memory_profiler = callPackage ../development/python-modules/memory_profiler { };
@@ -5736,6 +5747,8 @@ in {
 
   notifications-python-client = callPackage ../development/python-modules/notifications-python-client { };
 
+  notify-events = callPackage ../development/python-modules/notify-events { };
+
   notify-py = callPackage ../development/python-modules/notify-py { };
 
   notify2 = callPackage ../development/python-modules/notify2 { };
@@ -6359,6 +6372,8 @@ in {
 
   proxy_tools = callPackage ../development/python-modules/proxy_tools { };
 
+  py-nextbusnext = callPackage ../development/python-modules/py-nextbusnext { };
+
   pyaehw4a1 = callPackage ../development/python-modules/pyaehw4a1 { };
 
   pyatag = callPackage ../development/python-modules/pyatag { };
@@ -6459,6 +6474,8 @@ in {
 
   python-lsp-black = callPackage ../development/python-modules/python-lsp-black { };
 
+  python-memcached = callPackage ../development/python-modules/python-memcached { };
+
   python-openems = callPackage ../development/python-modules/python-openems { };
 
   python-openzwave-mqtt = callPackage ../development/python-modules/python-openzwave-mqtt { };
@@ -7699,6 +7716,8 @@ in {
 
   py-radix = callPackage ../development/python-modules/py-radix { };
 
+  pyrainbird = callPackage ../development/python-modules/pyrainbird { };
+
   pyramid_beaker = callPackage ../development/python-modules/pyramid_beaker { };
 
   pyramid = callPackage ../development/python-modules/pyramid { };
@@ -8348,7 +8367,7 @@ in {
     inherit (pkgs) lzo;
   };
 
-  python_magic = callPackage ../development/python-modules/python-magic { };
+  python-magic = callPackage ../development/python-modules/python-magic { };
 
   python-manilaclient = callPackage ../development/python-modules/python-manilaclient { };
 
@@ -8756,6 +8775,8 @@ in {
 
   qnap-qsw = callPackage ../development/python-modules/qnap-qsw{ };
 
+  qnapstats = callPackage ../development/python-modules/qnapstats { };
+
   qrcode = callPackage ../development/python-modules/qrcode { };
 
   qreactor = callPackage ../development/python-modules/qreactor { };
@@ -8768,6 +8789,8 @@ in {
 
   qscintilla = self.qscintilla-qt5;
 
+  qstylizer = callPackage ../development/python-modules/qstylizer { };
+
   qt5reactor = callPackage ../development/python-modules/qt5reactor { };
 
   qtawesome = callPackage ../development/python-modules/qtawesome { };
@@ -8819,6 +8842,8 @@ in {
 
   rainbowstream = callPackage ../development/python-modules/rainbowstream { };
 
+  raincloudy = callPackage ../development/python-modules/raincloudy { };
+
   ramlfications = callPackage ../development/python-modules/ramlfications { };
 
   random2 = callPackage ../development/python-modules/random2 { };
@@ -9273,6 +9298,8 @@ in {
 
   scs = callPackage ../development/python-modules/scs { };
 
+  sdds = callPackage ../development/python-modules/sdds { };
+
   sdnotify = callPackage ../development/python-modules/sdnotify { };
 
   seaborn = callPackage ../development/python-modules/seaborn { };
@@ -10381,6 +10408,8 @@ in {
 
   ttp = callPackage ../development/python-modules/ttp { };
 
+  ttp-templates = callPackage ../development/python-modules/ttp-templates { };
+
   tubes = callPackage ../development/python-modules/tubes { };
 
   tunigo = callPackage ../development/python-modules/tunigo { };
@@ -10551,6 +10580,8 @@ in {
 
   ukpostcodeparser = callPackage ../development/python-modules/ukpostcodeparser { };
 
+  ukrainealarm = callPackage ../development/python-modules/ukrainealarm { };
+
   umalqurra = callPackage ../development/python-modules/umalqurra { };
 
   umap-learn = callPackage ../development/python-modules/umap-learn { };
@@ -10921,6 +10952,8 @@ in {
 
   whisper = callPackage ../development/python-modules/whisper { };
 
+  whispers = callPackage ../development/python-modules/whispers { };
+
   whitenoise = callPackage ../development/python-modules/whitenoise { };
 
   whodap = callPackage ../development/python-modules/whodap { };
@@ -11161,7 +11194,6 @@ in {
 
   youtube-dl-light = callPackage ../tools/misc/youtube-dl {
     ffmpegSupport = false;
-    phantomjsSupport = false;
   };
 
   yoyo-migrations = callPackage ../development/python-modules/yoyo-migrations { };
@@ -11171,7 +11203,6 @@ in {
   yt-dlp-light = callPackage ../tools/misc/yt-dlp {
     atomicparsleySupport = false;
     ffmpegSupport = false;
-    phantomjsSupport = false;
     rtmpSupport = false;
   };
 
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index 0b1324b8672..7629790d50d 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -146,8 +146,12 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
 
   mauikit = callPackage ../development/libraries/mauikit { };
 
+  mauikit-accounts = callPackage ../development/libraries/mauikit-accounts { };
+
   mauikit-filebrowsing = callPackage ../development/libraries/mauikit-filebrowsing { };
 
+  mauikit-texteditor = callPackage ../development/libraries/mauikit-texteditor { };
+
   mlt = callPackage ../development/libraries/mlt/qt-5.nix { };
 
   openbr = callPackage ../development/libraries/openbr { };
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index 88b53f6b636..a1e72c90bea 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -317,6 +317,7 @@ let
                 random
                 QuickCheck
                 cabal2nix
+                xhtml # isn't bundled for cross
               ;
             };
 
@@ -327,6 +328,7 @@ let
                 random
                 QuickCheck
                 cabal2nix
+                xhtml # isn't bundled for cross
               ;
             };
           };