summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix4
-rw-r--r--pkgs/applications/audio/easyeffects/default.nix4
-rw-r--r--pkgs/applications/audio/furnace/default.nix99
-rw-r--r--pkgs/applications/audio/jellycli/default.nix33
-rw-r--r--pkgs/applications/audio/jellycli/fix-test-dir.patch13
-rw-r--r--pkgs/applications/audio/mopidy/ytmusic.nix13
-rw-r--r--pkgs/applications/audio/pt2-clone/default.nix4
-rw-r--r--pkgs/applications/audio/squeezelite/default.nix78
-rw-r--r--pkgs/applications/editors/ed/default.nix4
-rw-r--r--pkgs/applications/editors/jetbrains/darwin.nix37
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix147
-rw-r--r--pkgs/applications/editors/jetbrains/linux.nix (renamed from pkgs/applications/editors/jetbrains/common.nix)14
-rwxr-xr-xpkgs/applications/editors/jetbrains/update.pl101
-rwxr-xr-xpkgs/applications/editors/jetbrains/update.py97
-rw-r--r--pkgs/applications/editors/jetbrains/versions.json296
-rw-r--r--pkgs/applications/editors/lapce/default.nix83
-rw-r--r--pkgs/applications/editors/lapce/fix-version.patch31
-rw-r--r--pkgs/applications/editors/music/tuxguitar/default.nix6
-rw-r--r--pkgs/applications/editors/sigil/default.nix4
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix88
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix12
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix10
-rw-r--r--pkgs/applications/emulators/cdemu/vhba.nix2
-rw-r--r--pkgs/applications/emulators/dolphin-emu/master.nix6
-rw-r--r--pkgs/applications/emulators/fceux/default.nix4
-rw-r--r--pkgs/applications/emulators/rpcs3/default.nix8
-rw-r--r--pkgs/applications/emulators/ryujinx/default.nix6
-rw-r--r--pkgs/applications/emulators/ryujinx/deps.nix2
-rw-r--r--pkgs/applications/finance/irpf/default.nix66
-rw-r--r--pkgs/applications/graphics/gnome-obfuscate/default.nix70
-rw-r--r--pkgs/applications/graphics/icon-library/default.nix18
-rw-r--r--pkgs/applications/graphics/lightburn/default.nix4
-rw-r--r--pkgs/applications/graphics/nsxiv/default.nix4
-rw-r--r--pkgs/applications/graphics/paraview/default.nix4
-rw-r--r--pkgs/applications/misc/abook/default.nix2
-rw-r--r--pkgs/applications/misc/charm/default.nix6
-rw-r--r--pkgs/applications/misc/crow-translate/default.nix8
-rw-r--r--pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch2
-rw-r--r--pkgs/applications/misc/dasel/default.nix6
-rw-r--r--pkgs/applications/misc/eos-installer/default.nix48
-rw-r--r--pkgs/applications/misc/fluidd/default.nix4
-rw-r--r--pkgs/applications/misc/gramps/default.nix4
-rw-r--r--pkgs/applications/misc/hubstaff/default.nix6
-rw-r--r--pkgs/applications/misc/kchmviewer/default.nix48
-rw-r--r--pkgs/applications/misc/kratos/default.nix8
-rw-r--r--pkgs/applications/misc/logseq/default.nix9
-rw-r--r--pkgs/applications/misc/mediaelch/default.nix4
-rw-r--r--pkgs/applications/misc/metadata-cleaner/default.nix4
-rw-r--r--pkgs/applications/misc/mkgmap/splitter/default.nix4
-rw-r--r--pkgs/applications/misc/mob/default.nix4
-rw-r--r--pkgs/applications/misc/moonlight-qt/default.nix1
-rw-r--r--pkgs/applications/misc/otpclient/default.nix4
-rw-r--r--pkgs/applications/misc/prusa-slicer/super-slicer.nix2
-rw-r--r--pkgs/applications/misc/stork/default.nix6
-rw-r--r--pkgs/applications/misc/systembus-notify/default.nix44
-rw-r--r--pkgs/applications/misc/waybar/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json36
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix20
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix8
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/surf/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/argo/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/driftctl/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/fluxcd/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/hadoop/default.nix65
-rw-r--r--pkgs/applications/networking/cluster/k3s/default.nix24
-rwxr-xr-xpkgs/applications/networking/cluster/k3s/update.sh2
-rw-r--r--pkgs/applications/networking/cluster/kn/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kube-capacity/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubemqctl/default.nix25
-rw-r--r--pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix10
-rw-r--r--pkgs/applications/networking/cluster/nixops/poetry.lock42
-rw-r--r--pkgs/applications/networking/cluster/nixops/pyproject.toml5
-rw-r--r--pkgs/applications/networking/cluster/qbec/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/spark/default.nix55
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json234
-rwxr-xr-xpkgs/applications/networking/cluster/terraform-providers/update-all-providers13
-rwxr-xr-xpkgs/applications/networking/cluster/terraform-providers/update-provider70
-rw-r--r--pkgs/applications/networking/cluster/tfswitch/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/tgswitch/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/vcluster/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/velero/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/flexget/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/alfaview/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/cinny/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-package.json2
-rw-r--r--pkgs/applications/networking/instant-messengers/element/pin.json6
-rw-r--r--pkgs/applications/networking/instant-messengers/ferdi/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/mirage/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/neochat/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix6
-rw-r--r--pkgs/applications/networking/irc/kirc/default.nix6
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix6
-rw-r--r--pkgs/applications/networking/juju/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/himalaya/default.nix12
-rw-r--r--pkgs/applications/networking/n8n/node-packages.nix328
-rw-r--r--pkgs/applications/networking/nextdns/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix4
-rw-r--r--pkgs/applications/networking/protonvpn-gui/default.nix43
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix12
-rw-r--r--pkgs/applications/networking/sniffers/sngrep/default.nix15
-rw-r--r--pkgs/applications/networking/sync/onedrive/default.nix4
-rw-r--r--pkgs/applications/office/paperless-ng/default.nix4
-rw-r--r--pkgs/applications/office/timeline/default.nix8
-rw-r--r--pkgs/applications/office/treesheets/default.nix60
-rw-r--r--pkgs/applications/science/astronomy/phd2/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/siril/default.nix4
-rw-r--r--pkgs/applications/science/computer-architecture/qtrvsim/default.nix30
-rw-r--r--pkgs/applications/science/electronics/gaw/default.nix34
-rw-r--r--pkgs/applications/science/electronics/xschem/default.nix46
-rw-r--r--pkgs/applications/science/logic/lean/default.nix6
-rw-r--r--pkgs/applications/science/logic/nuXmv/default.nix25
-rw-r--r--pkgs/applications/science/logic/opensmt/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch52
-rw-r--r--pkgs/applications/science/math/sage/patches/tachyon-renamed-focallength.patch81
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix19
-rw-r--r--pkgs/applications/science/misc/bada-bib/default.nix5
-rw-r--r--pkgs/applications/system/monitor/default.nix6
-rw-r--r--pkgs/applications/terminal-emulators/roxterm/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/xterm/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cliff/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/lab/default.nix6
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/jujutsu/default.nix60
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix11
-rw-r--r--pkgs/applications/version-management/mercurial/fix-rhg-type-aarch64.patch12
-rw-r--r--pkgs/applications/version-management/tkrev/default.nix (renamed from pkgs/applications/version-management/tkcvs/default.nix)13
-rw-r--r--pkgs/applications/version-management/tortoisehg/default.nix4
-rw-r--r--pkgs/applications/video/epgstation/client/package.json57
-rw-r--r--pkgs/applications/video/epgstation/default.nix75
-rw-r--r--pkgs/applications/video/epgstation/epgstation.16
-rw-r--r--pkgs/applications/video/epgstation/package.json113
-rw-r--r--pkgs/applications/video/epgstation/update.nix23
-rw-r--r--pkgs/applications/video/epgstation/use-mysql-over-domain-socket.patch55
-rw-r--r--pkgs/applications/video/f1viewer/default.nix6
-rw-r--r--pkgs/applications/video/freetube/default.nix4
-rw-r--r--pkgs/applications/video/go-chromecast/default.nix6
-rw-r--r--pkgs/applications/video/makemkv/default.nix24
-rw-r--r--pkgs/applications/video/mpv/default.nix5
-rw-r--r--pkgs/applications/video/mpv/scripts/vr-reversal.nix35
-rw-r--r--pkgs/applications/video/smplayer/default.nix8
-rw-r--r--pkgs/applications/virtualization/cloud-hypervisor/default.nix6
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker-slim/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/buildx.nix4
-rw-r--r--pkgs/applications/virtualization/docker/compose.nix6
-rw-r--r--pkgs/applications/virtualization/firecracker/default.nix2
-rw-r--r--pkgs/applications/virtualization/flintlock/default.nix49
-rw-r--r--pkgs/applications/virtualization/lima/default.nix6
-rw-r--r--pkgs/applications/virtualization/open-vm-tools/default.nix25
-rw-r--r--pkgs/applications/virtualization/qemu/9p-ignore-noatime.patch49
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix2
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix22
-rw-r--r--pkgs/applications/virtualization/x11docker/default.nix4
-rw-r--r--pkgs/applications/window-managers/berry/default.nix2
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix6
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix17
-rw-r--r--pkgs/applications/window-managers/labwc/default.nix11
-rw-r--r--pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch29
-rw-r--r--pkgs/build-support/alternatives/blas/default.nix31
-rw-r--r--pkgs/build-support/alternatives/lapack/default.nix29
-rw-r--r--pkgs/build-support/appimage/default.nix2
-rw-r--r--pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix26
-rw-r--r--pkgs/build-support/build-fhs-userenv/env.nix26
-rw-r--r--pkgs/build-support/cc-wrapper/add-flags.sh18
-rwxr-xr-xpkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh2
-rw-r--r--pkgs/build-support/fetchpatch/default.nix4
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix497
-rw-r--r--pkgs/build-support/ocaml/dune.nix2
-rw-r--r--pkgs/build-support/rust/import-cargo-lock.nix7
-rw-r--r--pkgs/build-support/setup-hooks/auto-patchelf.py329
-rw-r--r--pkgs/build-support/setup-hooks/auto-patchelf.sh331
-rw-r--r--pkgs/build-support/setup-hooks/make-wrapper.sh18
-rw-r--r--pkgs/data/fonts/borg-sans-mono/default.nix26
-rw-r--r--pkgs/data/fonts/lmodern/default.nix10
-rw-r--r--pkgs/data/fonts/noto-fonts/default.nix22
-rw-r--r--pkgs/data/fonts/sudo/default.nix4
-rwxr-xr-xpkgs/data/fonts/vazir-fonts/default.nix4
-rw-r--r--pkgs/data/icons/kora-icon-theme/default.nix4
-rw-r--r--pkgs/data/misc/tzdata/default.nix3
-rw-r--r--pkgs/data/misc/v2ray-geoip/default.nix6
-rw-r--r--pkgs/data/themes/flat-remix-gtk/default.nix4
-rw-r--r--pkgs/desktops/arcan/arcan/clone-sources.nix2
-rw-r--r--pkgs/desktops/arcan/durden/default.nix10
-rw-r--r--pkgs/desktops/arcan/pipeworld/default.nix10
-rw-r--r--pkgs/desktops/arcan/prio/default.nix6
-rw-r--r--pkgs/desktops/arcan/xarcan/default.nix16
-rw-r--r--pkgs/desktops/gnome/apps/gnome-todo/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/evince/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix11
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-mail/default.nix10
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-photos/default.nix10
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/kdecoration.nix4
-rw-r--r--pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch8
-rw-r--r--pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch5
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch41
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch4
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix432
-rw-r--r--pkgs/development/compilers/4th/001-install-manual-fixup.diff12
-rw-r--r--pkgs/development/compilers/4th/default.nix17
-rw-r--r--pkgs/development/compilers/crystal/default.nix10
-rw-r--r--pkgs/development/compilers/cudatoolkit/common.nix57
-rw-r--r--pkgs/development/compilers/dictu/default.nix4
-rw-r--r--pkgs/development/compilers/dotnet/build-dotnet.nix5
-rw-r--r--pkgs/development/compilers/fasm/bin.nix4
-rw-r--r--pkgs/development/compilers/go/1.16.nix4
-rw-r--r--pkgs/development/compilers/go/1.17.nix4
-rw-r--r--pkgs/development/compilers/go/1.18.nix7
-rw-r--r--pkgs/development/compilers/llvm/13/clang/add-nostdlibinc-flag.patch18
-rw-r--r--pkgs/development/compilers/llvm/13/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/13/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/14/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/14/llvm/default.nix3
-rwxr-xr-xpkgs/development/compilers/llvm/update.sh8
-rw-r--r--pkgs/development/compilers/ocaml/4.12.nix4
-rw-r--r--pkgs/development/compilers/ocaml/4.14.nix9
-rw-r--r--pkgs/development/compilers/open-watcom/v2.nix6
-rw-r--r--pkgs/development/compilers/qbe/default.nix6
-rwxr-xr-xpkgs/development/compilers/rust/print-hashes.sh1
-rw-r--r--pkgs/development/compilers/sdcc/default.nix4
-rw-r--r--pkgs/development/compilers/vala/default.nix4
-rw-r--r--pkgs/development/dotnet-modules/python-language-server/default.nix6
-rw-r--r--pkgs/development/embedded/stm32/stm32cubemx/default.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml1
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix1
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2
-rw-r--r--pkgs/development/haskell-modules/non-hackage-packages.nix2
-rw-r--r--pkgs/development/interpreters/clojure/babashka.nix4
-rw-r--r--pkgs/development/interpreters/guile/2.2.nix4
-rw-r--r--pkgs/development/interpreters/guile/3.0.nix28
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix3
-rw-r--r--pkgs/development/interpreters/python/default.nix32
-rw-r--r--pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix2
-rw-r--r--pkgs/development/interpreters/ruby/default.nix6
-rw-r--r--pkgs/development/interpreters/ruby/patchsets.nix2
-rw-r--r--pkgs/development/interpreters/spidermonkey/91.nix4
-rw-r--r--pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch43
-rw-r--r--pkgs/development/libraries/SDL2/default.nix115
-rw-r--r--pkgs/development/libraries/SDL2/find-headers.patch46
-rw-r--r--pkgs/development/libraries/audio/lv2/default.nix36
-rw-r--r--pkgs/development/libraries/aws-checksums/default.nix4
-rw-r--r--pkgs/development/libraries/boost/generic.nix9
-rw-r--r--pkgs/development/libraries/cimg/default.nix4
-rw-r--r--pkgs/development/libraries/civetweb/0001-allow-setting-paths-in-makefile.patch33
-rw-r--r--pkgs/development/libraries/civetweb/default.nix39
-rw-r--r--pkgs/development/libraries/clearsilver/default.nix44
-rw-r--r--pkgs/development/libraries/elpa/default.nix4
-rw-r--r--pkgs/development/libraries/expat/default.nix4
-rw-r--r--pkgs/development/libraries/gd/default.nix12
-rw-r--r--pkgs/development/libraries/gdbm/default.nix4
-rw-r--r--pkgs/development/libraries/glib/default.nix4
-rw-r--r--pkgs/development/libraries/glibc/2.33-master.patch.gzbin147266 -> 155232 bytes
-rw-r--r--pkgs/development/libraries/glibc/common.nix4
-rw-r--r--pkgs/development/libraries/gnu-config/default.nix2
-rw-r--r--pkgs/development/libraries/gpgme/default.nix76
-rw-r--r--pkgs/development/libraries/gpgme/python-310-detection-without-distutils.patch273
-rw-r--r--pkgs/development/libraries/gpgme/python-find-version-string-above-310.patch373
-rw-r--r--pkgs/development/libraries/gpgme/test_t-edit-sign.diff125
-rw-r--r--pkgs/development/libraries/gtk-frdp/default.nix6
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch6
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix664
-rw-r--r--pkgs/development/libraries/lcms2/default.nix4
-rw-r--r--pkgs/development/libraries/libaom/default.nix4
-rw-r--r--pkgs/development/libraries/libarchive-qt/default.nix9
-rw-r--r--pkgs/development/libraries/libarchive/default.nix4
-rw-r--r--pkgs/development/libraries/libbsd/default.nix6
-rw-r--r--pkgs/development/libraries/libclc/default.nix3
-rw-r--r--pkgs/development/libraries/libctl/default.nix31
-rw-r--r--pkgs/development/libraries/libdrm/default.nix4
-rw-r--r--pkgs/development/libraries/libgbinder/default.nix4
-rw-r--r--pkgs/development/libraries/libgee/default.nix4
-rw-r--r--pkgs/development/libraries/libhdhomerun/default.nix4
-rw-r--r--pkgs/development/libraries/libnbd/default.nix9
-rw-r--r--pkgs/development/libraries/libnfs/default.nix4
-rw-r--r--pkgs/development/libraries/libpng/default.nix2
-rw-r--r--pkgs/development/libraries/libqmi/default.nix4
-rw-r--r--pkgs/development/libraries/librsvg/default.nix4
-rw-r--r--pkgs/development/libraries/libsigsegv/default.nix4
-rw-r--r--pkgs/development/libraries/libtiff/default.nix16
-rw-r--r--pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch278
-rw-r--r--pkgs/development/libraries/libvirt/0002-meson-patch-ch-install-prefix.patch14
-rw-r--r--pkgs/development/libraries/libvirt/default.nix387
-rw-r--r--pkgs/development/libraries/libwacom/default.nix4
-rw-r--r--pkgs/development/libraries/libxkbcommon/default.nix4
-rw-r--r--pkgs/development/libraries/libxml2/default.nix122
-rw-r--r--pkgs/development/libraries/libxslt/default.nix59
-rw-r--r--pkgs/development/libraries/mesa/default.nix9
-rw-r--r--pkgs/development/libraries/ncurses/default.nix2
-rw-r--r--pkgs/development/libraries/neon/default.nix4
-rw-r--r--pkgs/development/libraries/nettle/generic.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix4
-rw-r--r--pkgs/development/libraries/opendht/default.nix4
-rw-r--r--pkgs/development/libraries/openh264/default.nix4
-rw-r--r--pkgs/development/libraries/openssl/default.nix8
-rw-r--r--pkgs/development/libraries/orcania/default.nix4
-rw-r--r--pkgs/development/libraries/pango/default.nix4
-rw-r--r--pkgs/development/libraries/pipewire/default.nix3
-rw-r--r--pkgs/development/libraries/plasma-wayland-protocols/default.nix4
-rw-r--r--pkgs/development/libraries/polkit/default.nix6
-rw-r--r--pkgs/development/libraries/prometheus-cpp/default.nix7
-rw-r--r--pkgs/development/libraries/protolock/default.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.15/srcs-generated.json40
-rw-r--r--pkgs/development/libraries/readline/readline-8.1-patches.nix2
l---------pkgs/development/libraries/readline/update-patch-set.sh1
-rw-r--r--pkgs/development/libraries/rocclr/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-device-libs/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-opencl-runtime/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-runtime/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-thunk/default.nix4
-rw-r--r--pkgs/development/libraries/science/astronomy/cfitsio/default.nix4
-rw-r--r--pkgs/development/libraries/science/astronomy/stellarsolver/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/amd-blis/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/amd-libflame/default.nix6
-rw-r--r--pkgs/development/libraries/science/math/blas/default.nix63
-rw-r--r--pkgs/development/libraries/science/math/cudnn/default.nix119
-rw-r--r--pkgs/development/libraries/science/math/cudnn/generic.nix44
-rw-r--r--pkgs/development/libraries/science/math/liblapack/default.nix18
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix4
-rw-r--r--pkgs/development/libraries/speex/default.nix10
-rw-r--r--pkgs/development/libraries/t1lib/default.nix11
-rw-r--r--pkgs/development/libraries/tk/generic.nix3
-rw-r--r--pkgs/development/libraries/vte/default.nix6
-rw-r--r--pkgs/development/libraries/wasilibc/default.nix33
-rw-r--r--pkgs/development/libraries/wxwidgets/3.1/default.nix138
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK28.nix (renamed from pkgs/development/libraries/wxwidgets/2.8/default.nix)0
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK29.nix (renamed from pkgs/development/libraries/wxwidgets/2.9/default.nix)2
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK30.nix (renamed from pkgs/development/libraries/wxwidgets/3.0/default.nix)10
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK31.nix149
-rw-r--r--pkgs/development/libraries/wxwidgets/wxmac30.nix (renamed from pkgs/development/libraries/wxwidgets/3.0/mac.nix)0
-rw-r--r--pkgs/development/libraries/xdg-dbus-proxy/default.nix4
-rw-r--r--pkgs/development/libraries/zchunk/default.nix5
-rw-r--r--pkgs/development/node-packages/default.nix20
-rw-r--r--pkgs/development/node-packages/node-packages.json1
-rw-r--r--pkgs/development/node-packages/node-packages.nix7446
-rw-r--r--pkgs/development/ocaml-modules/facile/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/genspio/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/janestreet/janePackage.nix4
-rw-r--r--pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix2
-rw-r--r--pkgs/development/ocaml-modules/lwt/camlp4.nix4
-rw-r--r--pkgs/development/ocaml-modules/nonstd/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocamlfuse/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/owee/default.nix17
-rw-r--r--pkgs/development/ocaml-modules/ppx_tools/default.nix19
-rw-r--r--pkgs/development/ocaml-modules/spacetime_lib/default.nix5
-rw-r--r--pkgs/development/php-packages/box/default.nix2
-rw-r--r--pkgs/development/php-packages/deployer/default.nix2
-rw-r--r--pkgs/development/php-packages/phing/default.nix2
-rw-r--r--pkgs/development/php-packages/phive/default.nix31
-rw-r--r--pkgs/development/php-packages/php-cs-fixer/default.nix2
-rw-r--r--pkgs/development/php-packages/php-parallel-lint/default.nix4
-rw-r--r--pkgs/development/php-packages/phpcbf/default.nix2
-rw-r--r--pkgs/development/php-packages/phpcs/default.nix2
-rw-r--r--pkgs/development/php-packages/phpmd/default.nix2
-rw-r--r--pkgs/development/php-packages/phpstan/default.nix6
-rw-r--r--pkgs/development/php-packages/psalm/default.nix2
-rw-r--r--pkgs/development/php-packages/psysh/default.nix2
-rw-r--r--pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--pkgs/development/python-modules/adb-enhanced/default.nix4
-rw-r--r--pkgs/development/python-modules/aio-geojson-client/default.nix4
-rw-r--r--pkgs/development/python-modules/aioairzone/default.nix40
-rw-r--r--pkgs/development/python-modules/aiohttp/default.nix5
-rw-r--r--pkgs/development/python-modules/aiosignal/default.nix5
-rw-r--r--pkgs/development/python-modules/allure-behave/default.nix38
-rw-r--r--pkgs/development/python-modules/amcrest/default.nix4
-rw-r--r--pkgs/development/python-modules/androidtv/default.nix4
-rw-r--r--pkgs/development/python-modules/apycula/default.nix13
-rw-r--r--pkgs/development/python-modules/async_generator/default.nix20
-rw-r--r--pkgs/development/python-modules/awscrt/default.nix4
-rw-r--r--pkgs/development/python-modules/awsiotpythonsdk/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-containerregistry/default.nix32
-rw-r--r--pkgs/development/python-modules/azure-mgmt-monitor/default.nix18
-rw-r--r--pkgs/development/python-modules/azure-mgmt-netapp/default.nix17
-rw-r--r--pkgs/development/python-modules/bitlist/default.nix12
-rw-r--r--pkgs/development/python-modules/black/default.nix20
-rw-r--r--pkgs/development/python-modules/boltztrap2/default.nix4
-rw-r--r--pkgs/development/python-modules/bumps/default.nix33
-rw-r--r--pkgs/development/python-modules/cchardet/default.nix6
-rw-r--r--pkgs/development/python-modules/channels-redis/default.nix4
-rw-r--r--pkgs/development/python-modules/charset-normalizer/default.nix4
-rw-r--r--pkgs/development/python-modules/chart-studio/default.nix4
-rw-r--r--pkgs/development/python-modules/check-manifest/default.nix24
-rw-r--r--pkgs/development/python-modules/cloudscraper/default.nix16
-rw-r--r--pkgs/development/python-modules/dash/default.nix4
-rw-r--r--pkgs/development/python-modules/deep-translator/default.nix4
-rw-r--r--pkgs/development/python-modules/django-picklefield/default.nix18
-rw-r--r--pkgs/development/python-modules/django/2.nix5
-rw-r--r--pkgs/development/python-modules/django/3.nix5
-rw-r--r--pkgs/development/python-modules/docx2txt/default.nix26
-rw-r--r--pkgs/development/python-modules/env-canada/default.nix4
-rw-r--r--pkgs/development/python-modules/eventlet/default.nix2
-rw-r--r--pkgs/development/python-modules/fe25519/default.nix12
-rw-r--r--pkgs/development/python-modules/flatdict/default.nix27
-rw-r--r--pkgs/development/python-modules/forecast-solar/default.nix4
-rw-r--r--pkgs/development/python-modules/fountains/default.nix7
-rw-r--r--pkgs/development/python-modules/frozenlist/default.nix12
-rw-r--r--pkgs/development/python-modules/gaphas/default.nix4
-rw-r--r--pkgs/development/python-modules/ge25519/default.nix13
-rw-r--r--pkgs/development/python-modules/google-auth/default.nix9
-rw-r--r--pkgs/development/python-modules/google-cloud-bigtable/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-redis/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-secret-manager/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-storage/default.nix8
-rw-r--r--pkgs/development/python-modules/google-cloud-texttospeech/default.nix4
-rw-r--r--pkgs/development/python-modules/graphql-subscription-manager/default.nix4
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/identify/default.nix4
-rw-r--r--pkgs/development/python-modules/imap-tools/default.nix6
-rw-r--r--pkgs/development/python-modules/importlib-metadata/default.nix6
-rw-r--r--pkgs/development/python-modules/iniconfig/default.nix6
-rw-r--r--pkgs/development/python-modules/intellifire4py/default.nix4
-rw-r--r--pkgs/development/python-modules/ipython/default.nix13
-rw-r--r--pkgs/development/python-modules/jax/default.nix4
-rw-r--r--pkgs/development/python-modules/jedi/default.nix6
-rw-r--r--pkgs/development/python-modules/jupyterlab/default.nix4
-rw-r--r--pkgs/development/python-modules/keyrings-google-artifactregistry-auth/default.nix44
-rw-r--r--pkgs/development/python-modules/libcloud/default.nix4
-rw-r--r--pkgs/development/python-modules/libvirt/default.nix4
-rw-r--r--pkgs/development/python-modules/mat2/bubblewrap-path.patch35
-rw-r--r--pkgs/development/python-modules/mat2/default.nix7
-rw-r--r--pkgs/development/python-modules/mat2/paths.patch35
-rw-r--r--pkgs/development/python-modules/mdformat/default.nix4
-rw-r--r--pkgs/development/python-modules/meilisearch/default.nix39
-rw-r--r--pkgs/development/python-modules/meshtastic/default.nix4
-rw-r--r--pkgs/development/python-modules/moto/default.nix2
-rw-r--r--pkgs/development/python-modules/nassl/default.nix91
-rw-r--r--pkgs/development/python-modules/neo4j-driver/default.nix4
-rw-r--r--pkgs/development/python-modules/oci/default.nix4
-rw-r--r--pkgs/development/python-modules/parts/default.nix7
-rw-r--r--pkgs/development/python-modules/pbr/default.nix4
-rw-r--r--pkgs/development/python-modules/pbr/tests.nix4
-rw-r--r--pkgs/development/python-modules/persistent/default.nix4
-rw-r--r--pkgs/development/python-modules/pex/default.nix4
-rw-r--r--pkgs/development/python-modules/pillow/default.nix4
-rw-r--r--pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--pkgs/development/python-modules/platformdirs/default.nix4
-rw-r--r--pkgs/development/python-modules/plexapi/default.nix4
-rw-r--r--pkgs/development/python-modules/protonvpn-nm-lib/default.nix4
-rw-r--r--pkgs/development/python-modules/proxmoxer/default.nix4
-rw-r--r--pkgs/development/python-modules/pudb/default.nix7
-rw-r--r--pkgs/development/python-modules/py3status/default.nix4
-rw-r--r--pkgs/development/python-modules/pyathena/default.nix4
-rw-r--r--pkgs/development/python-modules/pyaussiebb/default.nix6
-rw-r--r--pkgs/development/python-modules/pycep-parser/default.nix6
-rw-r--r--pkgs/development/python-modules/pycryptodome/default.nix5
-rw-r--r--pkgs/development/python-modules/pycryptodomex/default.nix5
-rw-r--r--pkgs/development/python-modules/pyftdi/default.nix19
-rw-r--r--pkgs/development/python-modules/pygmt/default.nix4
-rw-r--r--pkgs/development/python-modules/pyinfra/default.nix60
-rw-r--r--pkgs/development/python-modules/pyisy/default.nix4
-rw-r--r--pkgs/development/python-modules/pykrakenapi/default.nix4
-rw-r--r--pkgs/development/python-modules/pymavlink/default.nix4
-rw-r--r--pkgs/development/python-modules/pymediaroom/default.nix12
-rw-r--r--pkgs/development/python-modules/pyopenssl/default.nix108
-rw-r--r--pkgs/development/python-modules/pypandoc/default.nix4
-rw-r--r--pkgs/development/python-modules/pyramid_exclog/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2-core/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2-ethtool/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2-ipdb/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2-ipset/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2-ndb/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2-nftables/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2-nslink/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2-protocols/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2/default.nix4
-rw-r--r--pkgs/development/python-modules/pysigma-backend-splunk/default.nix46
-rw-r--r--pkgs/development/python-modules/pysigma-pipeline-crowdstrike/default.nix46
-rw-r--r--pkgs/development/python-modules/pysigma-pipeline-sysmon/default.nix46
-rw-r--r--pkgs/development/python-modules/pysigma/default.nix54
-rw-r--r--pkgs/development/python-modules/pytest-aiohttp/default.nix39
-rw-r--r--pkgs/development/python-modules/pytest-asyncio/default.nix11
-rw-r--r--pkgs/development/python-modules/pytest-cases/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-json-report/default.nix8
-rw-r--r--pkgs/development/python-modules/pytest-mock/default.nix11
-rw-r--r--pkgs/development/python-modules/python-box/default.nix10
-rw-r--r--pkgs/development/python-modules/python-http-client/default.nix4
-rw-r--r--pkgs/development/python-modules/python-juicenet/default.nix14
-rw-r--r--pkgs/development/python-modules/pyupgrade/default.nix4
-rw-r--r--pkgs/development/python-modules/pywlroots/default.nix4
-rw-r--r--pkgs/development/python-modules/pyyaml/default.nix2
-rw-r--r--pkgs/development/python-modules/qcengine/default.nix4
-rw-r--r--pkgs/development/python-modules/readme_renderer/default.nix4
-rw-r--r--pkgs/development/python-modules/regex/default.nix15
-rw-r--r--pkgs/development/python-modules/renault-api/default.nix4
-rw-r--r--pkgs/development/python-modules/rencode/default.nix15
-rw-r--r--pkgs/development/python-modules/responses/default.nix6
-rw-r--r--pkgs/development/python-modules/ropgadget/default.nix8
-rw-r--r--pkgs/development/python-modules/ruamel-yaml/default.nix4
-rw-r--r--pkgs/development/python-modules/sabyenc3/default.nix28
-rw-r--r--pkgs/development/python-modules/samsungtvws/default.nix4
-rw-r--r--pkgs/development/python-modules/semantic-version/default.nix31
-rw-r--r--pkgs/development/python-modules/snitun/default.nix2
-rw-r--r--pkgs/development/python-modules/soco/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlite-utils/default.nix4
-rw-r--r--pkgs/development/python-modules/sslyze/default.nix4
-rw-r--r--pkgs/development/python-modules/stack-data/default.nix6
-rw-r--r--pkgs/development/python-modules/stups-pierone/default.nix4
-rw-r--r--pkgs/development/python-modules/symengine/default.nix4
-rw-r--r--pkgs/development/python-modules/tatsu/default.nix4
-rw-r--r--pkgs/development/python-modules/thinc/default.nix4
-rw-r--r--pkgs/development/python-modules/timetagger/default.nix4
-rw-r--r--pkgs/development/python-modules/tls-parser/default.nix16
-rw-r--r--pkgs/development/python-modules/traitsui/default.nix4
-rw-r--r--pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--pkgs/development/python-modules/twentemilieu/default.nix4
-rw-r--r--pkgs/development/python-modules/txtorcon/default.nix4
-rw-r--r--pkgs/development/python-modules/typed-ast/default.nix4
-rw-r--r--pkgs/development/python-modules/types-dateutil/default.nix4
-rw-r--r--pkgs/development/python-modules/types-freezegun/default.nix4
-rw-r--r--pkgs/development/python-modules/types-paramiko/default.nix4
-rw-r--r--pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--pkgs/development/python-modules/types-setuptools/default.nix4
-rw-r--r--pkgs/development/python-modules/types-urllib3/default.nix4
-rw-r--r--pkgs/development/python-modules/unidiff/default.nix4
-rw-r--r--pkgs/development/python-modules/volvooncall/default.nix27
-rw-r--r--pkgs/development/python-modules/vt-py/default.nix4
-rw-r--r--pkgs/development/python-modules/wled/default.nix4
-rw-r--r--pkgs/development/python-modules/xmltodict/default.nix12
-rw-r--r--pkgs/development/python-modules/yalexs/default.nix4
-rw-r--r--pkgs/development/python-modules/zwave-js-server-python/default.nix4
-rw-r--r--pkgs/development/tools/analysis/actionlint/default.nix6
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix5
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/rocm-cmake/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/sbt-extras/default.nix6
-rw-r--r--pkgs/development/tools/buildkit/default.nix4
-rw-r--r--pkgs/development/tools/clj-kondo/default.nix4
-rw-r--r--pkgs/development/tools/cloud-nuke/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/fly/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/database/litestream/default.nix6
-rw-r--r--pkgs/development/tools/database/prisma-engines/default.nix6
-rw-r--r--pkgs/development/tools/database/sqlfluff/default.nix4
-rw-r--r--pkgs/development/tools/delve/default.nix4
-rw-r--r--pkgs/development/tools/doctl/default.nix4
-rw-r--r--pkgs/development/tools/efm-langserver/default.nix4
-rw-r--r--pkgs/development/tools/electron/default.nix64
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/evans/default.nix6
-rw-r--r--pkgs/development/tools/gomodifytags/default.nix10
-rw-r--r--pkgs/development/tools/jp/default.nix16
-rw-r--r--pkgs/development/tools/jql/default.nix6
-rw-r--r--pkgs/development/tools/just/default.nix16
-rw-r--r--pkgs/development/tools/k6/default.nix4
-rw-r--r--pkgs/development/tools/kcli/default.nix2
-rw-r--r--pkgs/development/tools/kustomize/kustomize-sops.nix6
-rw-r--r--pkgs/development/tools/misc/autoconf/2.13.nix3
-rw-r--r--pkgs/development/tools/misc/ctags/default.nix6
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix4
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix4
-rw-r--r--pkgs/development/tools/misc/sipp/default.nix27
-rw-r--r--pkgs/development/tools/mold/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/dune/3.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix2
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix10
-rw-r--r--pkgs/development/tools/open-policy-agent/default.nix4
-rw-r--r--pkgs/development/tools/operator-sdk/default.nix6
-rw-r--r--pkgs/development/tools/parsing/flex/default.nix4
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/default.nix2
-rw-r--r--pkgs/development/tools/profiling/systemtap/default.nix4
-rw-r--r--pkgs/development/tools/rocminfo/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-crev/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-insta/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-nextest/default.nix29
-rw-r--r--pkgs/development/tools/rust/probe-run/default.nix8
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/development/tools/shellharden/default.nix6
-rw-r--r--pkgs/development/tools/stylua/default.nix6
-rw-r--r--pkgs/development/tools/symfony-cli/default.nix4
-rw-r--r--pkgs/development/tools/tokio-console/default.nix6
-rw-r--r--pkgs/development/tools/typos/default.nix6
-rw-r--r--pkgs/development/tools/vala-lint/default.nix6
-rw-r--r--pkgs/development/tools/vendir/default.nix4
-rw-r--r--pkgs/development/tools/wllvm/default.nix5
-rw-r--r--pkgs/development/tools/zld/default.nix24
-rw-r--r--pkgs/development/web/grails/default.nix4
-rw-r--r--pkgs/development/web/nodejs/setup-hook.sh2
-rw-r--r--pkgs/games/airshipper/default.nix6
-rw-r--r--pkgs/games/bsdgames/default.nix5
-rw-r--r--pkgs/games/devilutionx/default.nix6
-rw-r--r--pkgs/games/freedroidrpg/default.nix11
-rw-r--r--pkgs/games/gcompris/default.nix24
-rw-r--r--pkgs/games/klavaro/default.nix14
-rw-r--r--pkgs/games/klavaro/icons.patch146
-rw-r--r--pkgs/games/klavaro/trans_lang_get_similar.patch71
-rw-r--r--pkgs/games/steam/fhsenv.nix6
-rw-r--r--pkgs/games/terraria-server/default.nix4
-rw-r--r--pkgs/games/tuxpaint/default.nix26
-rw-r--r--pkgs/games/xsnow/default.nix4
-rw-r--r--pkgs/misc/cups/default.nix4
-rw-r--r--pkgs/misc/logging/pacemaker/default.nix102
-rw-r--r--pkgs/misc/openrussian-cli/default.nix15
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix4
-rw-r--r--pkgs/os-specific/linux/akvcam/default.nix3
-rw-r--r--pkgs/os-specific/linux/apfs/default.nix2
-rw-r--r--pkgs/os-specific/linux/audit/default.nix12
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix4
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix4
-rw-r--r--pkgs/os-specific/linux/can-isotp/default.nix15
-rw-r--r--pkgs/os-specific/linux/cryptodev/default.nix1
-rw-r--r--pkgs/os-specific/linux/digimend/default.nix5
-rw-r--r--pkgs/os-specific/linux/dpdk-kmods/default.nix6
-rw-r--r--pkgs/os-specific/linux/ena/default.nix3
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix2
-rw-r--r--pkgs/os-specific/linux/forktty/default.nix4
-rw-r--r--pkgs/os-specific/linux/fwts/module.nix2
-rw-r--r--pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix2
-rw-r--r--pkgs/os-specific/linux/hid-nintendo/default.nix2
-rw-r--r--pkgs/os-specific/linux/jool/default.nix11
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.15.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.16.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.10.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix2
-rw-r--r--pkgs/os-specific/linux/libpsm2/default.nix4
-rw-r--r--pkgs/os-specific/linux/lttng-modules/default.nix10
-rw-r--r--pkgs/os-specific/linux/lvm2/2_03.nix4
-rw-r--r--pkgs/os-specific/linux/lvm2/common.nix3
-rw-r--r--pkgs/os-specific/linux/mba6x_bl/default.nix2
-rw-r--r--pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix7
-rw-r--r--pkgs/os-specific/linux/netatop/default.nix3
-rw-r--r--pkgs/os-specific/linux/ocf-resource-agents/default.nix7
-rw-r--r--pkgs/os-specific/linux/oci-seccomp-bpf-hook/default.nix4
-rw-r--r--pkgs/os-specific/linux/openrazer/driver.nix2
-rw-r--r--pkgs/os-specific/linux/r8168/default.nix8
-rw-r--r--pkgs/os-specific/linux/rtl8189es/default.nix14
-rw-r--r--pkgs/os-specific/linux/rtl8192eu/default.nix2
-rw-r--r--pkgs/os-specific/linux/rtl8814au/default.nix3
-rw-r--r--pkgs/os-specific/linux/rtl8821ce/default.nix4
-rw-r--r--pkgs/os-specific/linux/rtl8821cu/default.nix4
-rw-r--r--pkgs/os-specific/linux/rtl88x2bu/default.nix6
-rw-r--r--pkgs/os-specific/linux/rtw88/default.nix3
-rw-r--r--pkgs/os-specific/linux/rtw89/default.nix3
-rw-r--r--pkgs/os-specific/linux/tuigreet/default.nix2
-rw-r--r--pkgs/os-specific/linux/udisks/2-default.nix4
-rw-r--r--pkgs/os-specific/linux/udisks/fix-paths.patch37
-rw-r--r--pkgs/os-specific/linux/usbguard/default.nix4
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix4
-rw-r--r--pkgs/os-specific/linux/v4l-utils/default.nix12
-rw-r--r--pkgs/os-specific/linux/v4l2loopback/default.nix7
-rw-r--r--pkgs/os-specific/linux/veikk-linux-driver/default.nix6
-rw-r--r--pkgs/os-specific/linux/xmm7360-pci/default.nix6
-rw-r--r--pkgs/os-specific/linux/xpadneo/default.nix2
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix11
-rw-r--r--pkgs/servers/computing/slurm/default.nix4
-rw-r--r--pkgs/servers/corosync/default.nix10
-rw-r--r--pkgs/servers/dns/coredns/default.nix17
-rw-r--r--pkgs/servers/endlessh-go/default.nix15
-rw-r--r--pkgs/servers/fingerd/bsd-fingerd/default.nix26
-rw-r--r--pkgs/servers/fingerd/bsd-fingerd/ubuntu-0.17-9.patch67
-rw-r--r--pkgs/servers/freeradius/default.nix87
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix2
-rw-r--r--pkgs/servers/home-assistant/default.nix12
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix10
-rw-r--r--pkgs/servers/http/jetty/default.nix8
-rw-r--r--pkgs/servers/http/pomerium/default.nix10
-rw-r--r--pkgs/servers/imgproxy/default.nix6
-rw-r--r--pkgs/servers/invidious/default.nix53
-rw-r--r--pkgs/servers/invidious/lsquic.nix20
-rw-r--r--pkgs/servers/invidious/shards.nix12
-rwxr-xr-xpkgs/servers/invidious/update.sh96
-rw-r--r--pkgs/servers/invidious/use-etc-ssl-certs.patch13
-rw-r--r--pkgs/servers/invidious/versions.json18
-rw-r--r--pkgs/servers/invidious/videojs.nix18
-rw-r--r--pkgs/servers/invidious/videojs.sh9
-rw-r--r--pkgs/servers/janus-gateway/default.nix4
-rw-r--r--pkgs/servers/klipper/default.nix6
-rw-r--r--pkgs/servers/kubemq-community/default.nix27
-rw-r--r--pkgs/servers/mautrix-telegram/0002-Don-t-depend-on-pytest-runner.patch24
-rw-r--r--pkgs/servers/mautrix-telegram/default.nix13
-rw-r--r--pkgs/servers/mautrix-whatsapp/default.nix6
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix58
-rw-r--r--pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry-git-overlay.nix14
-rw-r--r--pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry.lock503
-rw-r--r--pkgs/servers/monitoring/prometheus/dmarc-exporter/pyproject.toml14
-rwxr-xr-xpkgs/servers/monitoring/prometheus/dmarc-exporter/update5
-rw-r--r--pkgs/servers/monitoring/prometheus/redis-exporter.nix4
-rw-r--r--pkgs/servers/nextcloud/default.nix17
-rw-r--r--pkgs/servers/piping-server-rust/default.nix6
-rw-r--r--pkgs/servers/sabnzbd/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/default.nix20
-rw-r--r--pkgs/servers/sql/postgresql/ext/rum.nix31
-rw-r--r--pkgs/servers/sql/postgresql/packages.nix2
-rw-r--r--pkgs/servers/sql/proxysql/default.nix7
-rw-r--r--pkgs/servers/tailscale/default.nix4
-rw-r--r--pkgs/servers/unifi/default.nix4
-rw-r--r--pkgs/servers/web-apps/wiki-js/default.nix6
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix14
-rw-r--r--pkgs/shells/bash/bash-5.1-patches.nix4
-rw-r--r--pkgs/shells/fish/default.nix10
-rw-r--r--pkgs/shells/fish/tests-pcre2-update.patch7
-rw-r--r--pkgs/shells/hilbish/default.nix4
-rw-r--r--pkgs/shells/tcsh/default.nix16
-rw-r--r--pkgs/shells/zsh/default.nix11
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/stdenv/default.nix1
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-cross.nix2
-rw-r--r--pkgs/test/make-wrapper/default.nix3
-rw-r--r--pkgs/tools/admin/aliyun-cli/default.nix6
-rw-r--r--pkgs/tools/admin/berglas/default.nix33
-rw-r--r--pkgs/tools/admin/bubblewrap/default.nix49
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--pkgs/tools/admin/fioctl/default.nix6
-rw-r--r--pkgs/tools/admin/fits-cloudctl/default.nix4
-rw-r--r--pkgs/tools/admin/lexicon/default.nix30
-rw-r--r--pkgs/tools/admin/meshcentral/default.nix4
-rw-r--r--pkgs/tools/admin/meshcentral/package.json4
-rw-r--r--pkgs/tools/admin/meshcentral/yarn.lock349
-rw-r--r--pkgs/tools/admin/meshcentral/yarn.nix328
-rw-r--r--pkgs/tools/admin/oci-cli/default.nix4
-rw-r--r--pkgs/tools/admin/syft/default.nix6
-rw-r--r--pkgs/tools/admin/trivy/default.nix6
-rw-r--r--pkgs/tools/archivers/7zz/default.nix58
-rwxr-xr-xpkgs/tools/archivers/7zz/update.sh50
-rw-r--r--pkgs/tools/archivers/p7zip/default.nix35
-rwxr-xr-xpkgs/tools/archivers/p7zip/update.sh47
-rw-r--r--pkgs/tools/archivers/unrar/default.nix4
-rw-r--r--pkgs/tools/backup/autorestic/default.nix4
-rw-r--r--pkgs/tools/backup/btrbk/default.nix4
-rw-r--r--pkgs/tools/backup/bupstash/default.nix6
-rw-r--r--pkgs/tools/backup/discordchatexporter-cli/default.nix23
-rw-r--r--pkgs/tools/backup/discordchatexporter-cli/deps.nix4
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/default.nix10
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix8
-rw-r--r--pkgs/tools/filesystems/dosfstools/default.nix15
-rw-r--r--pkgs/tools/graphics/agi/default.nix4
-rw-r--r--pkgs/tools/graphics/pngoptimizer/default.nix34
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix16
-rw-r--r--pkgs/tools/inputmethods/ibus/fix-paths.patch18
-rw-r--r--pkgs/tools/misc/apkeep/default.nix6
-rw-r--r--pkgs/tools/misc/coreboot-utils/default.nix2
-rw-r--r--pkgs/tools/misc/findutils/default.nix4
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix4
-rw-r--r--pkgs/tools/misc/lbdb/default.nix55
-rw-r--r--pkgs/tools/misc/license-generator/default.nix20
-rw-r--r--pkgs/tools/misc/man-db/default.nix4
-rw-r--r--pkgs/tools/misc/nncp/default.nix4
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix6
-rw-r--r--pkgs/tools/misc/plantuml-server/default.nix59
-rw-r--r--pkgs/tools/misc/rockbox-utility/default.nix43
-rw-r--r--pkgs/tools/misc/steampipe/default.nix6
-rw-r--r--pkgs/tools/misc/up/default.nix2
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix10
-rw-r--r--pkgs/tools/misc/zellij/default.nix6
-rw-r--r--pkgs/tools/networking/boringtun/default.nix6
-rw-r--r--pkgs/tools/networking/boundary/default.nix10
-rw-r--r--pkgs/tools/networking/bsd-finger/default.nix39
-rw-r--r--pkgs/tools/networking/checkip/default.nix4
-rw-r--r--pkgs/tools/networking/cmst/default.nix4
-rw-r--r--pkgs/tools/networking/dnsproxy/default.nix4
-rw-r--r--pkgs/tools/networking/flannel/default.nix4
-rw-r--r--pkgs/tools/networking/frp/default.nix6
-rw-r--r--pkgs/tools/networking/hey/default.nix2
-rw-r--r--pkgs/tools/networking/httpie/default.nix18
-rw-r--r--pkgs/tools/networking/innernet/default.nix6
-rw-r--r--pkgs/tools/networking/iperf/3.nix4
-rw-r--r--pkgs/tools/networking/magic-wormhole-rs/Cargo.toml.patch67
-rw-r--r--pkgs/tools/networking/magic-wormhole-rs/default.nix32
-rw-r--r--pkgs/tools/networking/minio-client/default.nix6
-rw-r--r--pkgs/tools/networking/pirate-get/default.nix4
-rw-r--r--pkgs/tools/networking/qrcp/default.nix13
-rw-r--r--pkgs/tools/networking/sockperf/default.nix4
-rw-r--r--pkgs/tools/networking/wakelan/default.nix17
-rw-r--r--pkgs/tools/networking/wget/default.nix4
-rw-r--r--pkgs/tools/networking/ytcc/default.nix4
-rw-r--r--pkgs/tools/nix/nix-output-monitor/default.nix173
-rw-r--r--pkgs/tools/nix/nix-output-monitor/generated-package.nix147
-rwxr-xr-xpkgs/tools/nix/nix-output-monitor/update.sh25
-rw-r--r--pkgs/tools/package-management/cargo-about/default.nix6
-rw-r--r--pkgs/tools/package-management/cargo-outdated/default.nix6
-rw-r--r--pkgs/tools/package-management/cargo-release/default.nix6
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix4
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix6
-rw-r--r--pkgs/tools/package-management/libdnf/default.nix4
-rw-r--r--pkgs/tools/package-management/microdnf/default.nix4
-rw-r--r--pkgs/tools/package-management/nix-du/default.nix8
-rw-r--r--pkgs/tools/package-management/nix-eval-jobs/default.nix4
-rw-r--r--pkgs/tools/package-management/nix-index/default.nix10
-rw-r--r--pkgs/tools/package-management/nix/default.nix8
-rw-r--r--pkgs/tools/security/amber/default.nix6
-rw-r--r--pkgs/tools/security/cariddi/default.nix6
-rw-r--r--pkgs/tools/security/cdk-go/default.nix6
-rw-r--r--pkgs/tools/security/cfripper/default.nix4
-rw-r--r--pkgs/tools/security/dnsx/default.nix6
-rw-r--r--pkgs/tools/security/expliot/default.nix7
-rw-r--r--pkgs/tools/security/exploitdb/default.nix5
-rw-r--r--pkgs/tools/security/feroxbuster/default.nix45
-rw-r--r--pkgs/tools/security/fulcio/default.nix52
-rw-r--r--pkgs/tools/security/gitleaks/default.nix6
-rw-r--r--pkgs/tools/security/gnupg/23.nix16
-rw-r--r--pkgs/tools/security/grype/default.nix21
-rw-r--r--pkgs/tools/security/libtpms/default.nix4
-rw-r--r--pkgs/tools/security/pomerium-cli/default.nix58
-rw-r--r--pkgs/tools/security/sdlookup/default.nix25
-rw-r--r--pkgs/tools/security/sigma-cli/default.nix50
-rw-r--r--pkgs/tools/security/sops/default.nix6
-rw-r--r--pkgs/tools/security/spire/default.nix7
-rw-r--r--pkgs/tools/security/step-ca/default.nix6
-rw-r--r--pkgs/tools/security/swtpm/default.nix41
-rw-r--r--pkgs/tools/security/zdns/default.nix11
-rw-r--r--pkgs/tools/system/hostctl/default.nix23
-rw-r--r--pkgs/tools/system/natscli/default.nix6
-rw-r--r--pkgs/tools/system/rocm-smi/default.nix4
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix4
-rw-r--r--pkgs/tools/text/difftastic/default.nix6
-rw-r--r--pkgs/tools/wayland/cliphist/default.nix6
-rw-r--r--pkgs/tools/wayland/swayr/default.nix6
-rw-r--r--pkgs/tools/wayland/wl-gammactl/default.nix40
-rw-r--r--pkgs/tools/wayland/ydotool/default.nix29
-rw-r--r--pkgs/tools/wayland/ydotool/fixup-cmakelists.patch58
-rw-r--r--pkgs/top-level/aliases.nix351
-rw-r--r--pkgs/top-level/all-packages.nix194
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix6
-rw-r--r--pkgs/top-level/php-packages.nix2
-rw-r--r--pkgs/top-level/python-aliases.nix1
-rw-r--r--pkgs/top-level/python-packages.nix62
-rw-r--r--pkgs/top-level/stage.nix44
845 files changed, 16572 insertions, 8677 deletions
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
index 24cc45a3aaf..7b527139e91 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwig-studio";
-  version = "4.1.6";
+  version = "4.2";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
-    sha256 = "sha256-Q4YYdMUd/T8tGGcakhoLdHvWsHwOq7LgIb77sr2OWuQ=";
+    sha256 = "sha256-hIIEVj5sM/NdhBiwerFvyIXqj0R8EvcxwM6UZ0CE428=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
diff --git a/pkgs/applications/audio/easyeffects/default.nix b/pkgs/applications/audio/easyeffects/default.nix
index 23ca109c6b4..de4b7a3176f 100644
--- a/pkgs/applications/audio/easyeffects/default.nix
+++ b/pkgs/applications/audio/easyeffects/default.nix
@@ -35,13 +35,13 @@
 
 stdenv.mkDerivation rec {
   pname = "easyeffects";
-  version = "6.2.3";
+  version = "6.2.4";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "easyeffects";
     rev = "v${version}";
-    sha256 = "sha256-A1UanrAbmZFGCmDNIr1h+v5RVMsIl4qgM/veBirudQM=";
+    sha256 = "sha256-g/qN1Tafh71HdPLHW43Zva9MK6G+qxSnb1aRisuwdBw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/furnace/default.nix b/pkgs/applications/audio/furnace/default.nix
new file mode 100644
index 00000000000..e7794175ac9
--- /dev/null
+++ b/pkgs/applications/audio/furnace/default.nix
@@ -0,0 +1,99 @@
+{ stdenv
+, lib
+, nix-update-script
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, pkg-config
+, makeWrapper
+, fmt_8
+, libsndfile
+, SDL2
+, zlib
+, withJACK ? stdenv.hostPlatform.isUnix
+, libjack2
+, withGUI ? true
+, Cocoa
+}:
+
+stdenv.mkDerivation rec {
+  pname = "furnace";
+  version = "0.5.6";
+
+  src = fetchFromGitHub {
+    owner = "tildearrow";
+    repo = "furnace";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "sha256-BcaPQuDFkAaxFQKwoI6xdSWcyHo5VsqZcwf++JISqRs=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "0001-furnace-fix-wrong-include-path.patch";
+      url = "https://github.com/tildearrow/furnace/commit/456db22f9d9f0ed40d74fe50dde492e69e901fcc.patch";
+      sha256 = "17ikb1z9ldm7kdj00m4swsrq1qx94vlzhc6h020x3ryzwnglc8d3";
+    })
+  ];
+
+  postPatch = ''
+    # rtmidi is not used yet
+    sed -i -e '/add_subdirectory(extern\/rtmidi/d' -e '/DEPENDENCIES_LIBRARIES rtmidi/d' CMakeLists.txt
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    makeWrapper
+  ];
+
+  buildInputs = [
+    fmt_8
+    libsndfile
+    SDL2
+    zlib
+  ] ++ lib.optionals withJACK [
+    libjack2
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    Cocoa
+  ];
+
+  cmakeFlags = [
+    "-DBUILD_GUI=${if withGUI then "ON" else "OFF"}"
+    "-DSYSTEM_FMT=ON"
+    "-DSYSTEM_LIBSNDFILE=ON"
+    "-DSYSTEM_ZLIB=ON"
+    "-DSYSTEM_SDL2=ON"
+    "-DWITH_JACK=${if withJACK then "ON" else "OFF"}"
+    "-DWARNINGS_ARE_ERRORS=ON"
+  ];
+
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    # Normal CMake install phase on Darwin only installs the binary, the user is expected to use CPack to build a
+    # bundle. That adds alot of overhead for not much benefit (CPack is currently abit broken, and needs impure access
+    # to /usr/bin/hdiutil). So we'll manually assemble & install everything instead.
+
+    mkdir -p $out/{Applications/Furnace.app/Contents/{MacOS,Resources},share/{,doc,licenses}/furnace}
+    mv $out/{bin,Applications/Furnace.app/Contents/MacOS}/furnace
+    makeWrapper $out/{Applications/Furnace.app/Contents/MacOS,bin}/furnace
+
+    install -m644 {../res,$out/Applications/Furnace.app/Contents}/Info.plist
+    install -m644 ../res/icon.icns $out/Applications/Furnace.app/Contents/Resources/Furnace.icns
+    install -m644 {..,$out/share/licenses/furnace}/LICENSE
+    cp -r ../papers $out/share/doc/furnace/
+    cp -r ../demos $out/share/furnace/
+  '';
+
+  passthru.updateScript = nix-update-script {
+    attrPath = pname;
+  };
+
+  meta = with lib; {
+    description = "Multi-system chiptune tracker compatible with DefleMask modules";
+    homepage = "https://github.com/tildearrow/furnace";
+    license = with licenses; [ gpl2Plus ];
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/audio/jellycli/default.nix b/pkgs/applications/audio/jellycli/default.nix
new file mode 100644
index 00000000000..cfb9deb5872
--- /dev/null
+++ b/pkgs/applications/audio/jellycli/default.nix
@@ -0,0 +1,33 @@
+{ lib, fetchFromGitHub, buildGoModule, alsa-lib }:
+
+buildGoModule rec {
+  pname = "jellycli";
+  version = "0.9.1";
+
+  src = fetchFromGitHub {
+    owner = "tryffel";
+    repo = "jellycli";
+    rev = "v${version}";
+    sha256 = "1awzcxnf175a794rhzbmqxxjss77mfa1yrr0wgdxaivrlkibxjys";
+  };
+
+  vendorSha256 = "02fwsnrhj09m0aa199plpqlsjrwpmrk4c80fszzm07s5vmjqvnfy";
+
+  patches = [
+    # Fixes log file path for tests.
+    ./fix-test-dir.patch
+  ];
+
+  buildInputs = [ alsa-lib ];
+
+  meta = with lib; {
+    description = "Jellyfin terminal client";
+    longDescription = ''
+      Terminal music player, works with Jellyfin (>= 10.6) , Emby (>= 4.4), and
+      Subsonic comptabile servers (API >= 1.16), e.g., Navidrome.
+    '';
+    homepage = "https://github.com/tryffel/jellycli";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ oxzi ];
+  };
+}
diff --git a/pkgs/applications/audio/jellycli/fix-test-dir.patch b/pkgs/applications/audio/jellycli/fix-test-dir.patch
new file mode 100644
index 00000000000..83cacfe9af0
--- /dev/null
+++ b/pkgs/applications/audio/jellycli/fix-test-dir.patch
@@ -0,0 +1,13 @@
+diff --git a/config/config_test.go b/config/config_test.go
+index 9f63a7e..7e790b8 100644
+--- a/config/config_test.go
++++ b/config/config_test.go
+@@ -110,7 +110,7 @@ func TestInitEmptyConfig(t *testing.T) {
+ 		Subsonic: Subsonic{},
+ 		Player: Player{
+ 			Server:                "jellyfin",
+-			LogFile:               "/tmp/jellycli.log",
++			LogFile:               "/build/jellycli.log",
+ 			LogLevel:              "info",
+ 			AudioBufferingMs:      150,
+ 			HttpBufferingS:        5,
diff --git a/pkgs/applications/audio/mopidy/ytmusic.nix b/pkgs/applications/audio/mopidy/ytmusic.nix
index 92b75414785..9f393a0e752 100644
--- a/pkgs/applications/audio/mopidy/ytmusic.nix
+++ b/pkgs/applications/audio/mopidy/ytmusic.nix
@@ -2,24 +2,33 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mopidy-ytmusic";
-  version = "0.3.2";
+  version = "0.3.5";
 
   src = python3Packages.fetchPypi {
     inherit version;
     pname = "Mopidy-YTMusic";
-    sha256 = "sha256-BZtW+qHsTnOMj+jdAFI8ZMwGxJc9lNosgPJZGbt4JgU=";
+    sha256 = "0pncyxfqxvznb9y4ksndbny1yf5mxh4089ak0yz86dp2qi5j99iv";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'ytmusicapi>=0.20.0,<0.21.0' 'ytmusicapi>=0.20.0'
+  '';
+
   propagatedBuildInputs = [
     mopidy
     python3Packages.ytmusicapi
     python3Packages.pytube
   ];
 
+  pythonImportsCheck = [ "mopidy_ytmusic" ];
+
+  # has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "Mopidy extension for playing music from YouTube Music";
+    homepage = "https://github.com/OzymandiasTheGreat/mopidy-ytmusic";
     license = licenses.asl20;
     maintainers = [ maintainers.nickhu ];
   };
diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix
index 05e6fac55f0..57c327d429d 100644
--- a/pkgs/applications/audio/pt2-clone/default.nix
+++ b/pkgs/applications/audio/pt2-clone/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pt2-clone";
-  version = "1.41";
+  version = "1.42";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "pt2-clone";
     rev = "v${version}";
-    sha256 = "sha256-FnGtUoA6ol4lqp5HXjoJ3CHjdRs8eML0WI917ruid84=";
+    sha256 = "sha256-CwnEvQsxrYStJ4RxnE0lHt1fBHQEZrjSldnQnTOPaE0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/audio/squeezelite/default.nix b/pkgs/applications/audio/squeezelite/default.nix
index 31fe69b00de..5fc0d6f4200 100644
--- a/pkgs/applications/audio/squeezelite/default.nix
+++ b/pkgs/applications/audio/squeezelite/default.nix
@@ -1,39 +1,50 @@
-{ lib, stdenv, fetchFromGitHub
-, alsa-lib, flac, libmad, libvorbis, mpg123
+{ lib
+, stdenv
+, fetchFromGitHub
+, alsa-lib
+, flac
+, libmad
+, libpulseaudio
+, libvorbis
+, mpg123
+, audioBackend ? "alsa"
 , dsdSupport ? true
-, faad2Support ? true, faad2
-, ffmpegSupport ? true, ffmpeg
-, opusSupport ? true, opusfile
-, resampleSupport ? true, soxr
-, sslSupport ? true, openssl
+, faad2Support ? true
+, faad2
+, ffmpegSupport ? true
+, ffmpeg
+, opusSupport ? true
+, opusfile
+, resampleSupport ? true
+, soxr
+, sslSupport ? true
+, openssl
 }:
 
 let
-  concatStringsSep = lib.concatStringsSep;
-  optional = lib.optional;
-  opts = [ "-DLINKALL" ]
-    ++ optional dsdSupport "-DDSD"
-    ++ optional (!faad2Support) "-DNO_FAAD"
-    ++ optional ffmpegSupport "-DFFMPEG"
-    ++ optional opusSupport "-DOPUS"
-    ++ optional resampleSupport "-DRESAMPLE"
-    ++ optional sslSupport "-DUSE_SSL";
+  inherit (lib) optional optionalString;
 
-in stdenv.mkDerivation {
-  pname = "squeezelite";
+  pulseSupport = audioBackend == "pulse";
 
+  binName = "squeezelite${optionalString pulseSupport "-pulse"}";
+
+in
+stdenv.mkDerivation {
+  # the nixos module uses the pname as the binary name
+  pname = binName;
   # versions are specified in `squeezelite.h`
   # see https://github.com/ralph-irving/squeezelite/issues/29
-  version = "1.9.6.1196";
+  version = "1.9.9.1401";
 
   src = fetchFromGitHub {
-    owner  = "ralph-irving";
-    repo   = "squeezelite";
-    rev    = "2b508464dce2cbdb2a3089c58df2a6fbc36328c0";
-    sha256 = "024ypr1da2r079k3hgiifzd3d3wcfprhbl5zdm40zm0c7frzmr8i";
+    owner = "ralph-irving";
+    repo = "squeezelite";
+    rev = "894df3ea80f66a27a9ae5fab918acf62a6798b8b";
+    hash = "sha256-LIi+9vb0+56AGvVrLx4gQaUkUNjIi6PmqrLViLT1DSU=";
   };
 
-  buildInputs = [ alsa-lib flac libmad libvorbis mpg123 ]
+  buildInputs = [ flac libmad libvorbis mpg123 ]
+    ++ lib.singleton (if pulseSupport then libpulseaudio else alsa-lib)
     ++ optional faad2Support faad2
     ++ optional ffmpegSupport ffmpeg
     ++ optional opusSupport opusfile
@@ -47,15 +58,22 @@ in stdenv.mkDerivation {
       --replace "<opusfile.h>" "<opus/opusfile.h>"
   '';
 
-  preBuild = ''
-    export OPTS="${concatStringsSep " " opts}"
-  '';
+  EXECUTABLE = binName;
+
+  OPTS = [ "-DLINKALL" ]
+    ++ optional dsdSupport "-DDSD"
+    ++ optional (!faad2Support) "-DNO_FAAD"
+    ++ optional ffmpegSupport "-DFFMPEG"
+    ++ optional opusSupport "-DOPUS"
+    ++ optional pulseSupport "-DPULSEAUDIO"
+    ++ optional resampleSupport "-DRESAMPLE"
+    ++ optional sslSupport "-DUSE_SSL";
 
   installPhase = ''
     runHook preInstall
 
-    install -Dm755 -t $out/bin                   squeezelite
-    install -Dm644 -t $out/share/doc/squeezelite *.txt *.md
+    install -Dm555 -t $out/bin                   ${binName}
+    install -Dm444 -t $out/share/doc/squeezelite *.txt *.md
 
     runHook postInstall
   '';
@@ -63,7 +81,7 @@ in stdenv.mkDerivation {
   meta = with lib; {
     description = "Lightweight headless squeezebox client emulator";
     homepage = "https://github.com/ralph-irving/squeezelite";
-    license = with licenses; [ gpl3 ] ++ optional dsdSupport bsd2;
+    license = with licenses; [ gpl3Plus ] ++ optional dsdSupport bsd2;
     maintainers = with maintainers; [ samdoshi ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix
index a6ab483a7b0..f5ed28cedf6 100644
--- a/pkgs/applications/editors/ed/default.nix
+++ b/pkgs/applications/editors/ed/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (rec {
   pname = "ed";
-  version = "1.17";
+  version = "1.18";
 
   src = fetchurl {
     url = "mirror://gnu/ed/${pname}-${version}.tar.lz";
-    sha256 = "0m2yrkfjjraakxr98nsiakqrn351h99n706x9asgmdi57j43kpki";
+    sha256 = "sha256-rKjvrZgAxYdySiC5eqj8R+a1pH34Fgb+q6gxsHRGK08=";
   };
 
   nativeBuildInputs = [ lzip ];
diff --git a/pkgs/applications/editors/jetbrains/darwin.nix b/pkgs/applications/editors/jetbrains/darwin.nix
new file mode 100644
index 00000000000..b1002e23582
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/darwin.nix
@@ -0,0 +1,37 @@
+{ lib
+, stdenvNoCC
+, undmg
+, ...
+}:
+
+{ meta
+, name
+, product
+, productShort ? product
+, src
+, version
+, ...
+}:
+
+let
+  loname = lib.toLower productShort;
+in
+  stdenvNoCC.mkDerivation {
+    inherit meta src version;
+    desktopName = product;
+    installPhase = ''
+      runHook preInstall
+      APP_DIR="$out/Applications/${product}.app"
+      mkdir -p "$APP_DIR"
+      cp -Tr "${product}.app" "$APP_DIR"
+      mkdir -p "$out/bin"
+      cat << EOF > "$out/bin/${loname}"
+      open -na '$APP_DIR' --args "\$@"
+      EOF
+      chmod +x "$out/bin/${loname}"
+      runHook postInstall
+    '';
+    nativeBuildInputs = [ undmg ];
+    pname = lib.concatStringsSep "-" (lib.init (lib.splitString "-" name));
+    sourceRoot = ".";
+  }
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 5f4700c1662..b47c1270790 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -10,7 +10,18 @@
 with lib;
 
 let
-  mkJetBrainsProduct = callPackage ./common.nix { inherit vmopts; };
+  platforms = lib.platforms.linux ++ [ "x86_64-darwin" "aarch64-darwin" ];
+  ideaPlatforms = [ "x86_64-darwin" "i686-darwin" "i686-linux" "x86_64-linux" "aarch64-darwin" ];
+
+  inherit (stdenv.hostPlatform) system;
+
+  versions = builtins.fromJSON (readFile (./versions.json));
+  versionKey = if stdenv.isLinux then "linux" else system;
+  products = versions.${versionKey} or (throw "Unsupported system: ${system}");
+
+  package = if stdenv.isDarwin then ./darwin.nix else ./linux.nix;
+  mkJetBrainsProduct = callPackage package { inherit vmopts; };
+
   # Sorted alphabetically
 
   buildClion = { name, version, src, license, description, wmClass, ... }:
@@ -19,13 +30,12 @@ let
       product = "CLion";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/clion/";
-        inherit description license;
+        inherit description license platforms;
         longDescription = ''
           Enhancing productivity for every C and C++
           developer on Linux, macOS and Windows.
         '';
         maintainers = with maintainers; [ edwtjo mic92 ];
-        platforms = platforms.linux;
       };
     }).overrideAttrs (attrs: {
       nativeBuildInputs = (attrs.nativeBuildInputs or []) ++ optionals (stdenv.isLinux) [
@@ -58,14 +68,13 @@ let
       product = "DataGrip";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/datagrip/";
-        inherit description license;
+        inherit description license platforms;
         longDescription = ''
           DataGrip is a new IDE from JetBrains built for database admins.
           It allows you to quickly migrate and refactor relational databases,
           construct efficient, statically checked SQL queries and much more.
         '';
         maintainers = with maintainers; [ ];
-        platforms = platforms.linux;
       };
     });
 
@@ -75,7 +84,7 @@ let
       product = "Goland";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/go/";
-        inherit description license;
+        inherit description license platforms;
         longDescription = ''
           Goland is the codename for a new commercial IDE by JetBrains
           aimed at providing an ergonomic environment for Go development.
@@ -83,10 +92,9 @@ let
           and tool integrations specific for the Go language
         '';
         maintainers = [ maintainers.miltador ];
-        platforms = platforms.linux;
       };
     }).overrideAttrs (attrs: {
-      postFixup = (attrs.postFixup or "") + ''
+      postFixup = (attrs.postFixup or "") + lib.optionalString stdenv.isLinux ''
         interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
         patchelf --set-interpreter $interp $out/goland*/plugins/go/lib/dlv/linux/dlv
 
@@ -98,10 +106,10 @@ let
       '';
     });
 
-  buildIdea = { name, version, src, license, description, wmClass, ... }:
+  buildIdea = { name, version, src, license, description, wmClass, product, ... }:
     (mkJetBrainsProduct {
-      inherit name version src wmClass jdk;
-      product = "IDEA";
+      inherit name version src wmClass jdk product;
+      productShort = "IDEA";
       extraLdPath = [ zlib ];
       extraWrapperArgs = [
         ''--set M2_HOME "${maven}/maven"''
@@ -116,18 +124,18 @@ let
           with JUnit, TestNG, popular SCMs, Ant & Maven. Also known
           as IntelliJ.
         '';
-        maintainers = with maintainers; [ edwtjo gytis-ivaskevicius ];
-        platforms = [ "x86_64-darwin" "i686-darwin" "i686-linux" "x86_64-linux" ];
+        maintainers = with maintainers; [ edwtjo gytis-ivaskevicius steinybot ];
+        platforms = ideaPlatforms;
       };
     });
 
-  buildMps = { name, version, src, license, description, wmClass, ... }:
+  buildMps = { name, version, src, license, description, wmClass, product, ... }:
     (mkJetBrainsProduct rec {
-      inherit name version src wmClass jdk;
-      product = "MPS";
+      inherit name version src wmClass jdk product;
+      productShort = "MPS";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/mps/";
-        inherit license description;
+        inherit license description platforms;
         longDescription = ''
           A metaprogramming system which uses projectional editing
           which allows users to overcome the limits of language
@@ -135,7 +143,6 @@ let
           diagrams.
         '';
         maintainers = with maintainers; [ rasendubi ];
-        platforms = platforms.linux;
       };
     });
 
@@ -145,24 +152,23 @@ let
       product = "PhpStorm";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/phpstorm/";
-        inherit description license;
+        inherit description license platforms;
         longDescription = ''
           PhpStorm provides an editor for PHP, HTML and JavaScript
           with on-the-fly code analysis, error prevention and
           automated refactorings for PHP and JavaScript code.
         '';
         maintainers = with maintainers; [ schristo ma27 ];
-        platforms = platforms.linux;
       };
     });
 
-  buildPycharm = { name, version, src, license, description, wmClass, ... }:
+  buildPycharm = { name, version, src, license, description, wmClass, product, ... }:
     (mkJetBrainsProduct {
-      inherit name version src wmClass jdk;
-      product = "PyCharm";
+      inherit name version src wmClass jdk product;
+      productShort = "PyCharm";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/pycharm/";
-        inherit description license;
+        inherit description license platforms;
         longDescription = ''
           Python IDE with complete set of tools for productive
           development with Python programming language. In addition, the
@@ -177,11 +183,8 @@ let
           and productive development!
         '';
         maintainers = with maintainers; [ ];
-        platforms = platforms.linux;
       };
-    }).override {
-      propagatedUserEnvPkgs = [ python3 ];
-    };
+    });
 
   buildRider = { name, version, src, license, description, wmClass, ... }:
     (mkJetBrainsProduct {
@@ -189,7 +192,7 @@ let
       product = "Rider";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/rider/";
-        inherit description license;
+        inherit description license platforms;
         longDescription = ''
           JetBrains Rider is a new .NET IDE based on the IntelliJ
           platform and ReSharper. Rider supports .NET Core,
@@ -199,7 +202,6 @@ let
           ASP.NET Core web applications.
         '';
         maintainers = [ maintainers.miltador ];
-        platforms = platforms.linux;
       };
     }).overrideAttrs (attrs: {
       postPatch = lib.optionalString (!stdenv.isDarwin) (attrs.postPatch + ''
@@ -215,10 +217,9 @@ let
       product = "RubyMine";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/ruby/";
-        inherit description license;
+        inherit description license platforms;
         longDescription = description;
         maintainers = with maintainers; [ edwtjo ];
-        platforms = platforms.linux;
       };
     });
 
@@ -228,14 +229,13 @@ let
       product = "WebStorm";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/webstorm/";
-        inherit description license;
+        inherit description license platforms;
         longDescription = ''
           WebStorm provides an editor for HTML, JavaScript (incl. Node.js),
           and CSS with on-the-fly code analysis, error prevention and
           automated refactorings for JavaScript code.
         '';
         maintainers = with maintainers; [ abaldeau ];
-        platforms = platforms.linux;
       };
     }).overrideAttrs (attrs: {
       postPatch = (attrs.postPatch or "") + optionalString (stdenv.isLinux) ''
@@ -244,6 +244,7 @@ let
         rm -r jbr
       '';
     });
+
 in
 
 {
@@ -251,12 +252,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2021.3.3"; /* updated by script */
+    version = products.clion.version;
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = lib.licenses.unfree;
     src = fetchurl {
-      url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "03gil00srq3jljc13iyb7v1yc6l6yhdhqm9d1ld2j2pympl6p61m"; /* updated by script */
+      url = products.clion.url;
+      sha256 = products.clion.sha256;
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -264,12 +265,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2021.3.4"; /* updated by script */
+    version = products.datagrip.version;
     description = "Your Swiss Army Knife for Databases and SQL";
     license = lib.licenses.unfree;
     src = fetchurl {
-      url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "09dkxj5vn99gkgc1yd18w7gqkw2vzci0z9q2fcih0zn7lvqp0im3"; /* updated by script */
+      url = products.datagrip.url;
+      sha256 = products.datagrip.sha256;
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -277,12 +278,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2021.3.3"; /* updated by script */
+    version = products.goland.version;
     description = "Up and Coming Go IDE";
     license = lib.licenses.unfree;
     src = fetchurl {
-      url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "18z4mvxhds5fgdwcfywc4pj8s9ifvsknhradgzmxsvji0fbp0awx"; /* updated by script */
+      url = products.goland.url;
+      sha256 = products.goland.sha256;
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand RELEASE";
@@ -290,12 +291,13 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2021.3.2"; /* updated by script */
+    product = "IntelliJ IDEA CE";
+    version = products.idea-community.version;
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = lib.licenses.asl20;
     src = fetchurl {
-      url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "1j889b2r950bl9wiqq1z8v8s2qicidfcdar300cy666i8rc25qlr"; /* updated by script */
+      url = products.idea-community.url;
+      sha256 = products.idea-community.sha256;
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -303,12 +305,13 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2021.3.2"; /* updated by script */
+    product = "IntelliJ IDEA";
+    version = products.idea-ultimate.version;
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = lib.licenses.unfree;
     src = fetchurl {
-      url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
-      sha256 = "0w36qnqgkvw6j1ks09h515237bhqfaixrimzg2r494ic98amvkps"; /* updated by script */
+      url = products.idea-ultimate.url;
+      sha256 = products.idea-ultimate.sha256;
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -316,13 +319,13 @@ in
 
   mps = buildMps rec {
     name = "mps-${version}";
-    version = "2021.3"; /* updated by script */
-    versionMajorMinor = "2021.3"; /* updated by script */
+    product = "MPS ${products.mps.version-major-minor}";
+    version = products.mps.version;
     description = "Create your own domain-specific language";
     license = lib.licenses.asl20;
     src = fetchurl {
-      url = "https://download.jetbrains.com/mps/${versionMajorMinor}/MPS-${version}.tar.gz";
-      sha256 = "0zw5xqdlhjfg0smfjl8xy7drf9spiwqbmqq8z22x4zb61lpvdbp9"; /* updated by script */
+      url = products.mps.url;
+      sha256 = products.mps.sha256;
     };
     wmClass = "jetbrains-mps";
     update-channel = "MPS RELEASE";
@@ -330,12 +333,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2021.3.2"; /* updated by script */
+    version = products.phpstorm.version;
     description = "Professional IDE for Web and PHP developers";
     license = lib.licenses.unfree;
     src = fetchurl {
-      url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
-      sha256 = "1qi0zq3gzcfnikky37g2dqgmzm7r1883k6asris8nph389qk86vn"; /* updated by script */
+      url = products.phpstorm.url;
+      sha256 = products.phpstorm.sha256;
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PhpStorm RELEASE";
@@ -343,12 +346,13 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2021.3.2"; /* updated by script */
+    product = "PyCharm CE";
+    version = products.pycharm-community.version;
     description = "PyCharm Community Edition";
     license = lib.licenses.asl20;
     src = fetchurl {
-      url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "1s36basydp7cxgbgdapjhkslx0x9vv3639xhm84ny76hf7s03bpi"; /* updated by script */
+      url = products.pycharm-community.url;
+      sha256 = products.pycharm-community.sha256;
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -356,12 +360,13 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2021.3.2"; /* updated by script */
+    product = "PyCharm";
+    version = products.pycharm-professional.version;
     description = "PyCharm Professional Edition";
     license = lib.licenses.unfree;
     src = fetchurl {
-      url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0rwykngqgby05mh47kls8wzi68gfka2z04k6kdmsxwn1hhx5gnbb"; /* updated by script */
+      url = products.pycharm-professional.url;
+      sha256 = products.pycharm-professional.sha256;
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
@@ -369,12 +374,12 @@ in
 
   rider = buildRider rec {
     name = "rider-${version}";
-    version = "2021.3.3"; /* updated by script */
+    version = products.rider.version;
     description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
     license = lib.licenses.unfree;
     src = fetchurl {
-      url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
-      sha256 = "13q6hk5l3fqmz818z5wj014jd5iglpdcpi8zlpgaim1jg5fpvi8x"; /* updated by script */
+      url = products.rider.url;
+      sha256 = products.rider.sha256;
     };
     wmClass = "jetbrains-rider";
     update-channel = "Rider RELEASE";
@@ -382,12 +387,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2021.3.2"; /* updated by script */
+    version = products.ruby-mine.version;
     description = "The Most Intelligent Ruby and Rails IDE";
     license = lib.licenses.unfree;
     src = fetchurl {
-      url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "18ny40zl9hgkynkc5yyy2xqngl9diifh2gqrfnz7rfq14kp10xb9"; /* updated by script */
+      url = products.ruby-mine.url;
+      sha256 = products.ruby-mine.sha256;
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
@@ -395,12 +400,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2021.3.2"; /* updated by script */
+    version = products.webstorm.version;
     description = "Professional IDE for Web and JavaScript development";
     license = lib.licenses.unfree;
     src = fetchurl {
-      url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
-      sha256 = "0q2hn48499hv7licpl84ly0bhiizya8a69dl2vjvgscj3cdkr98q"; /* updated by script */
+      url = products.webstorm.url;
+      sha256 = products.webstorm.sha256;
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WebStorm RELEASE";
diff --git a/pkgs/applications/editors/jetbrains/common.nix b/pkgs/applications/editors/jetbrains/linux.nix
index a5e0a2611f0..d150368ca82 100644
--- a/pkgs/applications/editors/jetbrains/common.nix
+++ b/pkgs/applications/editors/jetbrains/linux.nix
@@ -3,17 +3,15 @@
 , vmopts ? null
 }:
 
-{ name, product, version, src, wmClass, jdk, meta, extraLdPath ? [], extraWrapperArgs ? [] }@args:
+{ name, product, productShort ? product, version, src, wmClass, jdk, meta, extraLdPath ? [], extraWrapperArgs ? [] }@args:
 
 with lib;
 
-let loName = toLower product;
-    hiName = toUpper product;
+let loName = toLower productShort;
+    hiName = toUpper productShort;
     mainProgram = concatStringsSep "-" (init (splitString "-" name));
     vmoptsName = loName
-               + ( if (with stdenv.hostPlatform; (is32bit || isDarwin))
-                   then ""
-                   else "64" )
+               + lib.optionalString stdenv.hostPlatform.is64bit "64"
                + ".vmoptions";
 in
 
@@ -36,7 +34,7 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
 
   nativeBuildInputs = [ makeWrapper patchelf unzip ];
 
-  postPatch = lib.optionalString (!stdenv.isDarwin) ''
+  postPatch = ''
       get_file_size() {
         local fname="$1"
         echo $(ls -l $fname | cut -d ' ' -f5)
@@ -73,7 +71,7 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
     item=${desktopItem}
 
     makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${mainProgram}" \
-      --prefix PATH : "$out/libexec/${name}:${lib.optionalString (stdenv.isDarwin) "${jdk}/jdk/Contents/Home/bin:"}${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
+      --prefix PATH : "$out/libexec/${name}:${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath ([
         # Some internals want libstdc++.so.6
         stdenv.cc.cc.lib libsecret e2fsprogs
diff --git a/pkgs/applications/editors/jetbrains/update.pl b/pkgs/applications/editors/jetbrains/update.pl
deleted file mode 100755
index 201c51094dc..00000000000
--- a/pkgs/applications/editors/jetbrains/update.pl
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i perl -p perl perlPackages.LWPProtocolHttps perlPackages.FileSlurp
-
-use strict;
-use List::Util qw(reduce);
-use File::Slurp;
-use LWP::Simple;
-
-my $only_free = grep { $_ eq "--only-free" } @ARGV;
-
-sub semantic_less {
-  my ($a, $b) = @_;
-  $a =~ s/\b(\d+)\b/sprintf("%010s", $1)/eg;
-  $b =~ s/\b(\d+)\b/sprintf("%010s", $1)/eg;
-  return $a lt $b;
-}
-
-sub get_latest_versions {
-  my @channels = get("https://www.jetbrains.com/updates/updates.xml") =~ /(<channel .+?<\/channel>)/gs;
-  my %h = {};
-  for my $ch (@channels) {
-    my ($id) = $ch =~ /^<channel id="[^"]+" name="([^"]+)"/;
-    my @builds = $ch =~ /(<build .+?<\/build>)/gs;
-    my $latest_build = reduce {
-      my ($aversion) = $a =~ /^<build [^>]*version="([^"]+)"/; die "no version in $a" unless $aversion;
-      my ($bversion) = $b =~ /^<build [^>]*version="([^"]+)"/; die "no version in $b" unless $bversion;
-      semantic_less($aversion, $bversion) ? $b : $a;
-    } @builds;
-    next unless $latest_build;
-
-    # version as in download url
-    my ($version) = $latest_build =~ /^<build [^>]*version="([^"]+)"/;
-    my ($fullNumber) = $latest_build =~ /^<build [^>]*fullNumber="([^"]+)"/;
-    my $latest_version_full1 = "$version-$fullNumber";
-    $latest_version_full1 =~ s/\s*EAP//;
-
-    my ($latest_version) = $latest_build =~ /^<build [^>]*version="([^"]+)"/;
-    ($latest_version) = $latest_build =~ /^<build [^>]*fullNumber="([^"]+)"/ if $latest_version =~ / /;
-
-    $h{$id} = $latest_version;
-    $h{"full1_" . $id} = $latest_version_full1;
-  }
-  return %h;
-}
-
-my %latest_versions = get_latest_versions();
-# for my $ch (sort keys %latest_versions) {
-#  print("$ch $latest_versions{$ch}\n");
-# }
-
-sub update_nix_block {
-  my ($block) = @_;
-  my ($channel) = $block =~ /update-channel\s*=\s*"([^"]+)"/;
-  if ($channel) {
-    if ($latest_versions{$channel}) {
-      my ($version) = $block =~ /version\s*=\s*"([^"]+)"/;
-      die "no version in $block" unless $version;
-      if ($version eq $latest_versions{$channel}) {
-        print("$channel is up to date at $version\n");
-      } elsif ($only_free && $block =~ /licenses\.unfree/) {
-        print("$channel is unfree, skipping\n");
-      } else {
-        my $version_string = $latest_versions{$channel};
-        my $versionMajorMinor = $version_string =~ s/^([0-9]+[.][0-9]+).*/$1/r;
-
-        print("updating $channel: $version -> $version_string\n");
-        my ($url) = $block =~ /url\s*=\s*"([^"]+)"/;
-        # try to interpret some nix
-        my ($name) = $block =~ /name\s*=\s*"([^"]+)"/;
-        $name =~ s/\$\{version\}/$version_string/;
-        # Some url pattern contain variables more than once
-        $url =~ s/\$\{name\}/$name/g;
-        $url =~ s/\$\{version\}/$version_string/g;
-        $url =~ s/\$\{versionMajorMinor\}/$versionMajorMinor/g;
-        die "$url still has some interpolation" if $url =~ /\$/;
-        my ($sha256) = get("$url.sha256") =~ /^([0-9a-f]{64})/;
-        unless ( $sha256 ) {
-          my $full_version = $latest_versions{"full1_" . $channel};
-          $url =~ s/$version_string/$full_version/;
-          ($sha256) = get("$url.sha256") =~ /^([0-9a-f]{64})/;
-          $version_string = $full_version;
-        }
-        die "invalid sha256 in $url.sha256" unless $sha256;
-        my ($sha256Base32) = readpipe("nix-hash --type sha256 --to-base32 $sha256");
-        chomp $sha256Base32;
-        print "Jetbrains published SHA256: $sha256\n";
-        print "Conversion into base32 yields: $sha256Base32\n";
-        $block =~ s#version\s*=\s*"([^"]+)".+$#version = "$version_string"; /* updated by script */#m;
-        $block =~ s#versionMajorMinor\s*=\s*"([^"]+)".+$#versionMajorMinor = "$versionMajorMinor"; /* updated by script */#m;
-        $block =~ s#sha256\s*=\s*"([^"]+)".+$#sha256 = "$sha256Base32"; /* updated by script */#m;
-      }
-    } else {
-      warn "unknown update-channel $channel";
-    }
-  }
-  return $block;
-}
-
-my $nix = read_file 'default.nix';
-$nix =~ s/(= build\w+ rec \{.+?\n  \};\n)/update_nix_block($1)/gse;
-write_file 'default.nix', $nix;
diff --git a/pkgs/applications/editors/jetbrains/update.py b/pkgs/applications/editors/jetbrains/update.py
new file mode 100755
index 00000000000..5301a85ba9a
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/update.py
@@ -0,0 +1,97 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i python3 -p python3 python3.pkgs.packaging python3.pkgs.requests python3.pkgs.xmltodict
+import hashlib
+import json
+import pathlib
+import logging
+import requests
+import sys
+import xmltodict
+from packaging import version
+
+updates_url = "https://www.jetbrains.com/updates/updates.xml"
+versions_file_path = pathlib.Path(__file__).parent.joinpath("versions.json").resolve()
+
+logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
+
+
+def one_or_more(x):
+    return x if isinstance(x, list) else [x]
+
+
+def download_channels():
+    logging.info("Checking for updates from %s", updates_url)
+    updates_response = requests.get(updates_url)
+    updates_response.raise_for_status()
+    root = xmltodict.parse(updates_response.text)
+    products = root["products"]["product"]
+    return {
+        channel["@name"]: channel
+        for product in products
+        for channel in one_or_more(product["channel"])
+    }
+
+
+def build_version(build):
+    return version.parse(build["@version"])
+
+
+def latest_build(channel):
+    builds = one_or_more(channel["build"])
+    latest = max(builds, key=build_version)
+    return latest
+
+
+def download_sha256(url):
+    download_response = requests.get(url)
+    download_response.raise_for_status()
+    h = hashlib.sha256()
+    h.update(download_response.content)
+    return h.hexdigest()
+
+
+channels = download_channels()
+
+
+def update_product(name, product):
+    update_channel = product["update-channel"]
+    logging.info("Updating %s", name)
+    channel = channels.get(update_channel)
+    if channel is None:
+        logging.error("Failed to find channel %s.", update_channel)
+        logging.error("Check that the update-channel in %s matches the name in %s", versions_file_path, updates_url)
+    else:
+        try:
+            build = latest_build(channel)
+            version = build["@version"]
+            parsed_version = build_version(build)
+            version_major_minor = f"{parsed_version.major}.{parsed_version.minor}"
+            download_url = product["url-template"].format(version = version, versionMajorMinor = version_major_minor)
+            product["url"] = download_url
+            product["version-major-minor"] = version_major_minor
+            if "sha256" not in product or product.get("version") != version:
+                logging.info("Found a newer version %s.", version)
+                product["version"] = version
+                product["sha256"] = download_sha256(download_url)
+            else:
+                logging.info("Already at the latest version %s.", version)
+        except Exception as e:
+            logging.exception("Update failed:", exc_info=e)
+            logging.warning("Skipping %s due to the above error.", name)
+            logging.warning("It may be out-of-date. Fix the error and rerun.")
+
+
+def update_products(products):
+    for name, product in products.items():
+        update_product(name, product)
+
+
+with open(versions_file_path, "r") as versions_file:
+    versions = json.load(versions_file)
+
+for products in versions.values():
+    update_products(products)
+
+with open(versions_file_path, "w") as versions_file:
+    json.dump(versions, versions_file, indent=2)
+    versions_file.write("\n")
diff --git a/pkgs/applications/editors/jetbrains/versions.json b/pkgs/applications/editors/jetbrains/versions.json
new file mode 100644
index 00000000000..83f486edfcf
--- /dev/null
+++ b/pkgs/applications/editors/jetbrains/versions.json
@@ -0,0 +1,296 @@
+{
+  "linux": {
+    "clion": {
+      "update-channel": "CLion RELEASE",
+      "url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
+      "version": "2021.3.3",
+      "sha256": "35986be8adfe0a291a0d2d550c1bf4861ae6c33ecbc71198a472e0ac01a0f10d",
+      "url": "https://download.jetbrains.com/cpp/CLion-2021.3.3.tar.gz",
+      "version-major-minor": "2021.3"
+    },
+    "datagrip": {
+      "update-channel": "DataGrip RELEASE",
+      "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz",
+      "version": "2021.3.4",
+      "sha256": "a34670f1a6c77e00237302a70f22fb5bf089dfe128341fd89b2f25bb8becb325",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2021.3.4.tar.gz",
+      "version-major-minor": "2021.3"
+    },
+    "goland": {
+      "update-channel": "GoLand RELEASE",
+      "url-template": "https://download.jetbrains.com/go/goland-{version}.tar.gz",
+      "version": "2021.3.3",
+      "sha256": "9d2b709703516eddeb7f4d6568a7de2e268de4258c7bc7787baee806fbaee4a3",
+      "url": "https://download.jetbrains.com/go/goland-2021.3.3.tar.gz",
+      "version-major-minor": "2021.3"
+    },
+    "idea-community": {
+      "update-channel": "IntelliJ IDEA RELEASE",
+      "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.tar.gz",
+      "version": "2021.3.2",
+      "sha256": "99e2225846d118e3190023abc65c8b2c62a1d1463f601c79a20b9494c54a08c9",
+      "url": "https://download.jetbrains.com/idea/ideaIC-2021.3.2.tar.gz",
+      "version-major-minor": "2021.3"
+    },
+    "idea-ultimate": {
+      "update-channel": "IntelliJ IDEA RELEASE",
+      "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-no-jbr.tar.gz",
+      "version": "2021.3.2",
+      "sha256": "face5d154a2c9244b278bfc6dca37218ae3344090526a0679086eff9b0c56670",
+      "url": "https://download.jetbrains.com/idea/ideaIU-2021.3.2-no-jbr.tar.gz",
+      "version-major-minor": "2021.3"
+    },
+    "mps": {
+      "update-channel": "MPS RELEASE",
+      "url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}.tar.gz",
+      "version": "2021.3",
+      "sha256": "e9aeb62f0d667dd285f808e3ba308f572797dbf11d51e9aa06cf49481bee857f",
+      "url": "https://download.jetbrains.com/mps/2021.3/MPS-2021.3.tar.gz",
+      "version-major-minor": "2021.3"
+    },
+    "phpstorm": {
+      "update-channel": "PhpStorm RELEASE",
+      "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz",
+      "version": "2021.3.2",
+      "sha256": "761b347142035e8b74cc5a9939100af9d45f1f6ee29de1e78cd6b1ff06fe20e2",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2021.3.2.tar.gz",
+      "version-major-minor": "2021.3"
+    },
+    "pycharm-community": {
+      "update-channel": "PyCharm RELEASE",
+      "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz",
+      "version": "2021.3.2",
+      "sha256": "f1ae01f471d01c6f09aab0a761c6dea9834ef584f2aaf6d6ebecdce6b55a66e8",
+      "url": "https://download.jetbrains.com/python/pycharm-community-2021.3.2.tar.gz",
+      "version-major-minor": "2021.3"
+    },
+    "pycharm-professional": {
+      "update-channel": "PyCharm RELEASE",
+      "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz",
+      "version": "2021.3.2",
+      "sha256": "6bd9573a84c1f2ae6b9b6612f0859aee21133f479ace43602dc0af879f9d9e67",
+      "url": "https://download.jetbrains.com/python/pycharm-professional-2021.3.2.tar.gz",
+      "version-major-minor": "2021.3"
+    },
+    "rider": {
+      "update-channel": "Rider RELEASE",
+      "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
+      "version": "2021.3.3",
+      "sha256": "1dc57d5d7932d4a8dea51fc5cbdaa52f9626490092978f02fa15bb41cb84068f",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2021.3.3.tar.gz",
+      "version-major-minor": "2021.3"
+    },
+    "ruby-mine": {
+      "update-channel": "RubyMine RELEASE",
+      "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz",
+      "version": "2021.3.2",
+      "sha256": "697510ee2401bb7cbe75193f015d8c2dd1677117defbc2a6f5f3c1443f20dea2",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2021.3.2.tar.gz",
+      "version-major-minor": "2021.3"
+    },
+    "webstorm": {
+      "update-channel": "WebStorm RELEASE",
+      "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz",
+      "version": "2021.3.2",
+      "sha256": "18a53c1b1b92e9b7e516b425a390f23f46b880a704d1cb223d1ba64410b15060",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2021.3.2.tar.gz",
+      "version-major-minor": "2021.3"
+    }
+  },
+  "x86_64-darwin": {
+    "clion": {
+      "update-channel": "CLion RELEASE",
+      "url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
+      "version": "2021.3.3",
+      "sha256": "342a4d8549ae4623a5edfa7f9737887cf0a25c1a61bb414b54b742b1c5a1a84d",
+      "url": "https://download.jetbrains.com/cpp/CLion-2021.3.3.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "datagrip": {
+      "update-channel": "DataGrip RELEASE",
+      "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg",
+      "version": "2021.3.4",
+      "sha256": "27e709d2ced66d37a615d8c56885828e49a08962708e28df1a20f324c626bf52",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2021.3.4.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "goland": {
+      "update-channel": "GoLand RELEASE",
+      "url-template": "https://download.jetbrains.com/go/goland-{version}.dmg",
+      "version": "2021.3.3",
+      "sha256": "4b245b6fe0cf588adbf36e68f12397d5fd311b0b6d49f17ba374ebaa10d207c9",
+      "url": "https://download.jetbrains.com/go/goland-2021.3.3.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "idea-community": {
+      "update-channel": "IntelliJ IDEA RELEASE",
+      "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.dmg",
+      "version": "2021.3.2",
+      "sha256": "20d8cee2bbedaeb0ea388f795e13d08eca5b59e59d4e980ac2d8bc07c9fed3e9",
+      "url": "https://download.jetbrains.com/idea/ideaIC-2021.3.2.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "idea-ultimate": {
+      "update-channel": "IntelliJ IDEA RELEASE",
+      "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.dmg",
+      "version": "2021.3.2",
+      "sha256": "9f574562b866e6ccc3d2f9b4c245c45844d1d0fd54be3dbdcc893d40ba1cf54a",
+      "url": "https://download.jetbrains.com/idea/ideaIU-2021.3.2.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "mps": {
+      "update-channel": "MPS RELEASE",
+      "url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}-macos.dmg",
+      "version": "2021.3",
+      "sha256": "2c5517518fec31ac960e4309fa848ad831f9048ef15df1b362e12aa8f41d9dbd",
+      "url": "https://download.jetbrains.com/mps/2021.3/MPS-2021.3-macos.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "phpstorm": {
+      "update-channel": "PhpStorm RELEASE",
+      "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg",
+      "version": "2021.3.2",
+      "sha256": "596a9d5fdc30d5fba65ddd482da90f9d555fed748b930587562022bfe7df4e14",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2021.3.2.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "pycharm-community": {
+      "update-channel": "PyCharm RELEASE",
+      "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg",
+      "version": "2021.3.2",
+      "sha256": "b8f41f5dddeda0ed5f5c81ba57d2560ccc6e227987882fb6bf305b5d1d8c6909",
+      "url": "https://download.jetbrains.com/python/pycharm-community-2021.3.2.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "pycharm-professional": {
+      "update-channel": "PyCharm RELEASE",
+      "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg",
+      "version": "2021.3.2",
+      "sha256": "188b998660e7cfb7ac1364c818c008a5608ab2aeb17c6cc19d1d9dda547d3775",
+      "url": "https://download.jetbrains.com/python/pycharm-professional-2021.3.2.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "rider": {
+      "update-channel": "Rider RELEASE",
+      "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
+      "version": "2021.3.3",
+      "sha256": "41a0939cb6258a0fb303268c5a466a663cf3588af14bcbb351be4c3a1d158094",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2021.3.3.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "ruby-mine": {
+      "update-channel": "RubyMine RELEASE",
+      "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg",
+      "version": "2021.3.2",
+      "sha256": "ba27c14b21d66ca96a64ceb7dc5d9f0952254a5f405b3201f51d2ad3cc749a96",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2021.3.2.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "webstorm": {
+      "update-channel": "WebStorm RELEASE",
+      "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg",
+      "version": "2021.3.2",
+      "sha256": "932d4920f831d1ceae68a474444c37d986277d8d3288d3aab93dd43d99336a36",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2021.3.2.dmg",
+      "version-major-minor": "2021.3"
+    }
+  },
+  "aarch64-darwin": {
+    "clion": {
+      "update-channel": "CLion RELEASE",
+      "url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
+      "version": "2021.3.3",
+      "sha256": "fbf651fa4a5925fe729be30ca8a6fa3be84dc4d7827dbcf74f4d28c52b903cc2",
+      "url": "https://download.jetbrains.com/cpp/CLion-2021.3.3-aarch64.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "datagrip": {
+      "update-channel": "DataGrip RELEASE",
+      "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg",
+      "version": "2021.3.4",
+      "sha256": "7a77ba9fce56c781ae6a4fc65eaab4bcc10780b6bd679b04d74146719e42890a",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2021.3.4-aarch64.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "goland": {
+      "update-channel": "GoLand RELEASE",
+      "url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.dmg",
+      "version": "2021.3.3",
+      "sha256": "54397d48e20fb534206e13f84b35868b1eaea13175176487b1239b23db4e13db",
+      "url": "https://download.jetbrains.com/go/goland-2021.3.3-aarch64.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "idea-community": {
+      "update-channel": "IntelliJ IDEA RELEASE",
+      "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.dmg",
+      "version": "2021.3.2",
+      "sha256": "79e540fb0cd480837b3a954e4802f4f252073955393e8927c9c1b28c37112d51",
+      "url": "https://download.jetbrains.com/idea/ideaIC-2021.3.2-aarch64.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "idea-ultimate": {
+      "update-channel": "IntelliJ IDEA RELEASE",
+      "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.dmg",
+      "version": "2021.3.2",
+      "sha256": "511c6aed9c5cd4c7665a9bac9ba94582977013244cbe88b820eb5464fce91a1c",
+      "url": "https://download.jetbrains.com/idea/ideaIU-2021.3.2-aarch64.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "mps": {
+      "update-channel": "MPS RELEASE",
+      "url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}-macos-aarch64.dmg",
+      "version": "2021.3",
+      "url": "https://download.jetbrains.com/mps/2021.3/MPS-2021.3-macos-aarch64.dmg",
+      "sha256": "3ace6d45db718dffd80bf126a76735fb65099de292112a01cc078aa61c475a70",
+      "version-major-minor": "2021.3"
+    },
+    "phpstorm": {
+      "update-channel": "PhpStorm RELEASE",
+      "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg",
+      "version": "2021.3.2",
+      "sha256": "ba15c3f843c85141a9adaec1c4611224a853bd98649148751e34ac304591a314",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2021.3.2-aarch64.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "pycharm-community": {
+      "update-channel": "PyCharm RELEASE",
+      "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg",
+      "version": "2021.3.2",
+      "sha256": "407bf395cfb6d61f1c0861c7679b197238780e82a019e10162b8cd7130edb15a",
+      "url": "https://download.jetbrains.com/python/pycharm-community-2021.3.2-aarch64.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "pycharm-professional": {
+      "update-channel": "PyCharm RELEASE",
+      "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg",
+      "version": "2021.3.2",
+      "sha256": "12fa34d1e60a555bac230acea9cd46c7adfe9ca42ff3e458c79d33e5b88eb8db",
+      "url": "https://download.jetbrains.com/python/pycharm-professional-2021.3.2-aarch64.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "rider": {
+      "update-channel": "Rider RELEASE",
+      "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
+      "version": "2021.3.3",
+      "sha256": "65603860d1fd3134c5659f5a06de7cac17f3183a01056b79cfe72242b99adb37",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2021.3.3-aarch64.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "ruby-mine": {
+      "update-channel": "RubyMine RELEASE",
+      "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg",
+      "version": "2021.3.2",
+      "sha256": "33773222b2fa14300de5ed12ca96c3442b933f66cef67cebc9610e5cef51c75e",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2021.3.2-aarch64.dmg",
+      "version-major-minor": "2021.3"
+    },
+    "webstorm": {
+      "update-channel": "WebStorm RELEASE",
+      "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg",
+      "version": "2021.3.2",
+      "sha256": "f4788ec0c55123b1f4e14934792f65bf8040e2a2ee673e985b50b8feded60408",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2021.3.2-aarch64.dmg",
+      "version-major-minor": "2021.3"
+    }
+  }
+}
diff --git a/pkgs/applications/editors/lapce/default.nix b/pkgs/applications/editors/lapce/default.nix
new file mode 100644
index 00000000000..2653806a14f
--- /dev/null
+++ b/pkgs/applications/editors/lapce/default.nix
@@ -0,0 +1,83 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, cmake
+, pkg-config
+, python3
+, perl
+, freetype
+, fontconfig
+, libxkbcommon
+, xcbutil
+, libX11
+, libXcursor
+, libXrandr
+, libXi
+, vulkan-loader
+, copyDesktopItems
+, makeDesktopItem
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "lapce";
+  version = "0.0.10";
+
+  src = fetchFromGitHub {
+    owner = "lapce";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "tOVFm4DFQurFU4DtpPwxXQLbTGCZnrV1FfYKtvkRxRE=";
+  };
+
+  cargoPatches = [ ./fix-version.patch ];
+
+  cargoSha256 = "BwB3KgmI5XnZ5uHv6f+kGKBzpyxPWcoKvF7qw90eorI=";
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    python3
+    perl
+    copyDesktopItems
+  ];
+
+  buildInputs = [
+    freetype
+    fontconfig
+    libxkbcommon
+    xcbutil
+    libX11
+    libXcursor
+    libXrandr
+    libXi
+    vulkan-loader
+  ];
+
+  # Add missing vulkan dependency to rpath
+  preFixup = ''
+    patchelf --add-needed ${vulkan-loader}/lib/libvulkan.so.1 $out/bin/lapce
+  '';
+
+  postInstall = ''
+    install -Dm0644 $src/extra/images/logo.svg $out/share/icons/hicolor/scalable/apps/lapce.svg
+  '';
+
+  desktopItems = [ (makeDesktopItem {
+    name = "lapce";
+    exec = "lapce %F";
+    icon = "lapce";
+    desktopName = "Lapce";
+    comment = meta.description;
+    genericName = "Code Editor";
+    categories = [ "Development" "Utility" "TextEditor" ];
+  }) ];
+
+  meta = with lib; {
+    description = "Lightning-fast and Powerful Code Editor written in Rust";
+    homepage = "https://github.com/lapce/lapce";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ elliot ];
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/applications/editors/lapce/fix-version.patch b/pkgs/applications/editors/lapce/fix-version.patch
new file mode 100644
index 00000000000..2a8d96be169
--- /dev/null
+++ b/pkgs/applications/editors/lapce/fix-version.patch
@@ -0,0 +1,31 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index bc9a0f8..45a74ad 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -2165,7 +2165,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "lapce"
+-version = "0.0.9"
++version = "0.0.10"
+ dependencies = [
+  "lapce-core",
+  "lapce-proxy",
+@@ -2173,7 +2173,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "lapce-core"
+-version = "0.0.9"
++version = "0.0.10"
+ dependencies = [
+  "Inflector",
+  "alacritty_terminal 0.15.0",
+@@ -2233,7 +2233,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "lapce-proxy"
+-version = "0.0.9"
++version = "0.0.10"
+ dependencies = [
+  "alacritty_terminal 0.16.0-rc2",
+  "anyhow",
diff --git a/pkgs/applications/editors/music/tuxguitar/default.nix b/pkgs/applications/editors/music/tuxguitar/default.nix
index b76e4fa0a7b..3605f6c6e4e 100644
--- a/pkgs/applications/editors/music/tuxguitar/default.nix
+++ b/pkgs/applications/editors/music/tuxguitar/default.nix
@@ -2,11 +2,11 @@
 
 let metadata = assert stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux";
   if stdenv.hostPlatform.system == "i686-linux" then
-    { arch = "x86"; sha256 = "afa4b1116aee18e3ddd93132467809d0bcf03715cf9ad55b895f021a13e1cb8a"; }
+    { arch = "x86"; sha256 = "sha256-k4FQrt72VNb5FdYMzxskcVhKlvx8MZelUlLCItxDB7c="; }
   else
-    { arch = "x86_64"; sha256 = "55ab653c601727a2077080e7ea4d76fe7a897379934ed9a5b544e20d490f53f9"; };
+    { arch = "x86_64"; sha256 = "sha256-mj5wVQlY2xFzdulvMdb5Qb5HGwr7RElzIkpOLjaAfGA="; };
 in stdenv.mkDerivation rec {
-  version = "1.5.4";
+  version = "1.5.5";
   pname = "tuxguitar";
 
   src = fetchurl {
diff --git a/pkgs/applications/editors/sigil/default.nix b/pkgs/applications/editors/sigil/default.nix
index 0da5a2c2550..b93fbd6110f 100644
--- a/pkgs/applications/editors/sigil/default.nix
+++ b/pkgs/applications/editors/sigil/default.nix
@@ -6,13 +6,13 @@
 
 mkDerivation rec {
   pname = "sigil";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     repo = "Sigil";
     owner = "Sigil-Ebook";
     rev = version;
-    sha256 = "sha256-PsHliyJu61QFTFZUgDtxguu18GBVTOGMW6pPYjHhvG0=";
+    sha256 = "sha256-LfP3qUzoHuYSpkTz1queVGTWOP9v9kbgbgvvtiMK6Eo=";
   };
 
   pythonPath = with python3Packages; [ lxml ];
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index 0cb09814c0f..13c5c49db48 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.4227";
+  version = "8.2.4350";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "sha256-Xj4ymkrWY5GWpQhEDYtPtaRovBa6j19dW9GWg9WSdig=";
+    sha256 = "sha256-+fCyLZi9+9r7tYoRQsVESkcoHHtM7vrVuOGdJi/9iF0=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index f4dbd811670..a5c8dcfb50f 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -5,6 +5,7 @@
 , vscode-utils
 , asciidoctor
 , nodePackages
+, python3Packages
 , jdk
 , llvmPackages_8
 , nixpkgs-fmt
@@ -697,8 +698,8 @@ let
         mktplcRef = {
           name = "gitlens";
           publisher = "eamodio";
-          version = "12.0.1";
-          sha256 = "1xv1vzx643qa8jhjpnpv2wrymz38w130vm0idkcl77lh209r5i8x";
+          version = "12.0.3";
+          sha256 = "sha256-PHQXfk0JggkEBRflHp+OAUOCVuymCubaszfDCYbpfG0=";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/eamodio.gitlens/changelog";
@@ -789,8 +790,8 @@ let
         mktplcRef = {
           name = "prettier-vscode";
           publisher = "esbenp";
-          version = "9.2.0";
-          sha256 = "sha256-ROI312MPMUY1q6IV4qVCW8DD0MQPA/hVW7rfamo/IbI=";
+          version = "9.3.0";
+          sha256 = "sha256-hJgPjWf7a8+ltjmXTK8U/MwqgIZqBjmcCfHsAk2G3PA=";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/esbenp.prettier-vscode/changelog";
@@ -887,8 +888,8 @@ let
         mktplcRef = {
           name = "auto-close-tag";
           publisher = "formulahendry";
-          version = "0.5.13";
-          sha256 = "0swyxhcibv6cl54gmfpnbz6bqidjzc77nx369wndhlq264idnwkw";
+          version = "0.5.14";
+          sha256 = "sha256-XYYHS2QTy8WYjtUYYWsIESzmH4dRQLlXQpJq78BolMw=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -899,8 +900,8 @@ let
         mktplcRef = {
           name = "auto-rename-tag";
           publisher = "formulahendry";
-          version = "0.1.9";
-          sha256 = "1xk8rzda16qgdxhq8bz6f8w09fd9044qczx1wfhszd6w3r4q9262";
+          version = "0.1.10";
+          sha256 = "sha256-uXqWebxnDwaUVLFG6MUh4bZ7jw5d2rTHRm5NoR2n0Vs=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1229,8 +1230,8 @@ let
         mktplcRef = {
           name = "svg";
           publisher = "jock";
-          version = "1.4.15";
-          sha256 = "0a5w6qxvsdzcmgc0yfiagpmz25y90pmzgrxz9899na5qy3pjcbmz";
+          version = "1.4.17";
+          sha256 = "sha256-CDxh/YRyDGocxG4qOcyLXA0zHCg0YJ7XUu3OjFFjleI=";
         };
         meta = with lib; {
           license = licenses.mit;
@@ -1313,6 +1314,33 @@ let
         };
       };
 
+      kddejong.vscode-cfn-lint = let
+        inherit (python3Packages) cfn-lint;
+      in buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-cfn-lint";
+          publisher = "kddejong";
+          version = "0.21.0";
+          sha256 = "sha256-IueXiN+077tiecAsVCzgYksWYTs00mZv6XJVMtRJ/PQ=";
+        };
+
+        nativeBuildInputs = [ jq moreutils ];
+
+        buildInputs = [ cfn-lint ];
+
+        postInstall = ''
+          cd "$out/$installPrefix"
+          jq '.contributes.configuration.properties."cfnLint.path".default = "${cfn-lint}/bin/cfn-lint"' package.json | sponge package.json
+        '';
+
+        meta = with lib; {
+          description = "CloudFormation Linter IDE integration, autocompletion, and documentation";
+          homepage = "https://github.com/aws-cloudformation/cfn-lint-visual-studio-code";
+          license = lib.licenses.asl20;
+          maintainers = with maintainers; [ wolfangaukang ];
+        };
+      };
+
       kubukoz.nickel-syntax = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "nickel-syntax";
@@ -1374,6 +1402,18 @@ let
         };
       };
 
+      marp-team.marp-vscode = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "marp-vscode";
+          publisher = "marp-team";
+          version = "1.5.0";
+          sha256 = "0wqsj8rp58vl3nafkjvyw394h5j4jd7d24ra6hkvfpnlzrgv4yhs";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       mikestead.dotenv = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "dotenv";
@@ -1426,8 +1466,8 @@ let
         mktplcRef = {
           name = "vscode-docker";
           publisher = "ms-azuretools";
-          version = "1.19.0";
-          sha256 = "sha256-buIAbsyKUvX3blO1AbCq/tJ1KAcqaFpciqQovmOZ5GE=";
+          version = "1.20.0";
+          sha256 = "sha256-i3gYTP76YEDItG2oXR9pEXuGv0qmyf1Xv6HQvDBEOyg=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1590,8 +1630,8 @@ let
         mktplcRef = {
           name = "java";
           publisher = "redhat";
-          version = "1.3.0";
-          sha256 = "sha256-Y5hP/Rq9BsFwbCRQWOfiLHKoYkKBpZx8blg9o74obfk=";
+          version = "1.4.0";
+          sha256 = "sha256-9q3ilNukx3sQ6Fr1LhuQdjHHS251SDoHxC33w+qrfAI=";
         };
         buildInputs = [ jdk ];
         meta = {
@@ -1604,8 +1644,8 @@ let
         mktplcRef = {
           name = "vscode-yaml";
           publisher = "redhat";
-          version = "1.3.0";
-          sha256 = "sha256-Tz6bLcBUATn8cYIzGoLJwgaJZGbBVr1CISmJHz+iM60=";
+          version = "1.5.1";
+          sha256 = "sha256-JXhmgBFZdKNjgX6K7U+M/T7HEmIOBQOzQEJ5957TUuM=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1659,8 +1699,8 @@ let
         mktplcRef = {
           name = "material-icon-theme";
           publisher = "PKief";
-          version = "4.12.1";
-          sha256 = "sha256-pmWnnZrdk6zb8YFG5ESgK4k875hgeseWyzkA9YUjg7A=";
+          version = "4.14.1";
+          sha256 = "sha256-OHXi0EfeyKMeFiMU5yg0aDoWds4ED0lb+l6T12XZ3LQ=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1679,6 +1719,18 @@ let
         };
       };
 
+      richie5um2.snake-trail = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "snake-trail";
+          publisher = "richie5um2";
+          version = "0.6.0";
+          sha256 = "0wkpq9f48hplrgabb0v1ij6fc4sb8h4a93dagw4biprhnnm3qx49";
+        };
+        meta = with lib; {
+          license = licenses.mit;
+        };
+      };
+
       ritwickdey.liveserver = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "liveserver";
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 7fc805a8b11..370647de1fc 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 = "09hqcym8dj4d8r5ibdzypdmjxdw4ix24zq688vnb4kfas2jbb3hi";
-    x86_64-darwin = "1wij82gl1wqrprrfn9cfih19wr4h3bn2xapr1l2l0mkansrzsvg5";
-    aarch64-linux = "09x93i190lmxb3ygzjcmb7ag3dz7ixf07yk7zqc7ljrnn5f0b6ag";
-    aarch64-darwin = "1k7glnqy0vjx55chjpwbgwipcvzb0vx0wmvqis865pvzmr0d06a0";
-    armv7l-linux = "0vkivg1f61k8vkr0j9dm7fw2klh45xxnp07pill1gmrwxafm5bra";
+    x86_64-linux = "0x8vc6gj83mn767wi285k0hxhlh5gh1lcvq63na89vglja4ipna4";
+    x86_64-darwin = "1x47xfq0fgd10wq6aa8gq55aqrl1ir1f6v1mm6324yny16pf20k2";
+    aarch64-linux = "1ibg2qvpnwfwwzgby2xva9xz138b13x9q8vf1xf6plazv0arla1l";
+    aarch64-darwin = "100834mqix7b46frlqf0jz4qs673lavxm8sizfjm7c9y0xxy4ld3";
+    armv7l-linux = "100yfkzvnjccp1g3p353jr2vicvkjc0skiwmmzgad6i8j1m9js62";
   }.${system};
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.65.1";
+    version = "1.65.2";
     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 4fd3e89ec59..a91227d9db4 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -13,10 +13,10 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "09zpc8c2il6x88h65kbm6z8vfnx0byzpcqqy9a1za5ilqr3dhk43";
-    x86_64-darwin = "09m2ij0phf5ni5m110z2bnmd9z50lz1qsh7w7cfawycjhwsl602z";
-    aarch64-linux = "1nsdn9mc4ahrz392w2z071sfxc5jmwhamlaid2qy899cc7sk8nqr";
-    armv7l-linux = "1ii6li6l09ccxf0gyjy3f5752kr4a8pga5w0a0ndgfa73mhlamin";
+    x86_64-linux = "1sh2f7hwhilwmlgy11kl0s2n3phpcir15wyl2fkyhsr2kdj4jz9r";
+    x86_64-darwin = "1s04d91f08982wi8hb4dw0j57d6zqrdgns16ihrgsvahrzksgq4b";
+    aarch64-linux = "1a97lk1qz2lz0lk5lpja32zy07iwdbskp6baf429iz7fz232rshm";
+    armv7l-linux = "0vjqxqcr7fq3ncx1nl6ny7qcqm4vlsn33c074hhcg5292blg2a0p";
   }.${system};
 
   sourceRoot = {
@@ -31,7 +31,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.65.1";
+    version = "1.65.2";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/emulators/cdemu/vhba.nix b/pkgs/applications/emulators/cdemu/vhba.nix
index aeadcf5c1c1..40792c81ac1 100644
--- a/pkgs/applications/emulators/cdemu/vhba.nix
+++ b/pkgs/applications/emulators/cdemu/vhba.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-csWowcRSgF5M74yv787MLSXOGXrkxnODCCgC5a3Nd7Y=";
   };
 
-  makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];
+  makeFlags = kernel.makeFlags ++ [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
   meta = with lib; {
diff --git a/pkgs/applications/emulators/dolphin-emu/master.nix b/pkgs/applications/emulators/dolphin-emu/master.nix
index 56e107300b5..be3e7f555f8 100644
--- a/pkgs/applications/emulators/dolphin-emu/master.nix
+++ b/pkgs/applications/emulators/dolphin-emu/master.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dolphin-emu";
-  version = "5.0-15993";
+  version = "5.0-16101";
 
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "5e595616379a694789fe749e40a27ef069f0090e";
-    sha256 = "1kid8qjn8r7dxh2yc1y6yal6qkfxij0ymi3zryxsnym3rjh1jds9";
+    rev = "8ecfa537a242de74d2e372e30d9d79b14584b2fb";
+    sha256 = "3jLGVzTDzEtHWvIb9DFTbJiA9dE9Pm14vYER998Zln0=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/emulators/fceux/default.nix b/pkgs/applications/emulators/fceux/default.nix
index 9289fb081f0..0247a10f0e5 100644
--- a/pkgs/applications/emulators/fceux/default.nix
+++ b/pkgs/applications/emulators/fceux/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fceux";
-  version = "2.6.2";
+  version = "2.6.3";
 
   src = fetchFromGitHub {
     owner = "TASEmulators";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-yQX58m/sMW/8Jr5cm2SrVXTiF7qyZOgOZg1v0qEyiLw=";
+    sha256 = "sha256-jNR9AB8s2S9ehYsompkV2GOLsaXIQzldeQ1WRCxdDG0=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/pkgs/applications/emulators/rpcs3/default.nix b/pkgs/applications/emulators/rpcs3/default.nix
index 0ea56d3a72d..6f58990e473 100644
--- a/pkgs/applications/emulators/rpcs3/default.nix
+++ b/pkgs/applications/emulators/rpcs3/default.nix
@@ -9,10 +9,10 @@
 
 let
   # Keep these separate so the update script can regex them
-  rpcs3GitVersion = "13222-8c2fd5095";
-  rpcs3Version = "0.0.20-13222-8c2fd5095";
-  rpcs3Revision = "8c2fd50957be3af05c04a9bb782dce8505fb6400";
-  rpcs3Sha256 = "1cf62vpqdc9i4masgv9zz24h7zdc7gcymx6n1hbh7wp5gg1dw4qi";
+  rpcs3GitVersion = "13327-6c096b72b";
+  rpcs3Version = "0.0.21-13327-6c096b72b";
+  rpcs3Revision = "6c096b72b5294758067a002f981563bbd618d30d";
+  rpcs3Sha256 = "0xmdhjskqbv02jvl43bvw0clsgh9gnahl50fr3q8lmpwpy13ldr4";
 
   ittapi = fetchFromGitHub {
     owner = "intel";
diff --git a/pkgs/applications/emulators/ryujinx/default.nix b/pkgs/applications/emulators/ryujinx/default.nix
index 2ac16662b88..d2c2cf03683 100644
--- a/pkgs/applications/emulators/ryujinx/default.nix
+++ b/pkgs/applications/emulators/ryujinx/default.nix
@@ -17,13 +17,13 @@
 
 buildDotnetModule rec {
   pname = "ryujinx";
-  version = "1.1.64"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
+  version = "1.1.76"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
 
   src = fetchFromGitHub {
     owner = "Ryujinx";
     repo = "Ryujinx";
-    rev = "54bfaa125d9b6ae1be53ec431d40326fba51d0de";
-    sha256 = "0p8wmnm8sjx7wqb5z62mp8c3cwrv241ji3fawj2qgqx3k9jlb31i";
+    rev = "e2ffa5a125fcbe8a25c73d8e04c08c08ef378860";
+    sha256 = "1rmiyjqwlsbzh9q7d12n72ka9adaby2rfcbn75sf47p5857yi3p9";
   };
 
   dotnet-sdk = dotnetCorePackages.sdk_6_0;
diff --git a/pkgs/applications/emulators/ryujinx/deps.nix b/pkgs/applications/emulators/ryujinx/deps.nix
index 804b17d8946..4dc809a74b1 100644
--- a/pkgs/applications/emulators/ryujinx/deps.nix
+++ b/pkgs/applications/emulators/ryujinx/deps.nix
@@ -22,6 +22,7 @@
   (fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "6.15.0"; sha256 = "0dwx7dk8jr10784nriqbi364qbxzfwq0c6xia0ac5rzrp7179r4d"; })
   (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "6.15.0"; sha256 = "0jn9a20a2zixnkm3bmpmvmiv7mk0hqdlnpi0qgjkg1nir87czm19"; })
   (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "6.15.0"; sha256 = "1nbgydr45f7lp980xyrkzpyaw2mkkishjwp3slgxk7f0mz6q8i1v"; })
+  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.8.0"; sha256 = "1ln2mva7j2mpsj9rdhpk8vhm3pgd8wn563xqdcwd38avnhp74rm9"; })
   (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.0"; sha256 = "188cbx99ahvksap9w20943p62fmzxa6fl133w4r7c6bjpsrm29a4"; })
   (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.0"; sha256 = "1016ld3kg4dav2yxxh0i32cy0ixv7s0wl9czydbhkbs2d8669kfx"; })
   (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0qaylw18flrfl3vxnbp8wsiz29znidmn6dhv7k4v4jj2za16wmji"; })
@@ -32,7 +33,6 @@
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
   (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.8.0"; sha256 = "1ln2mva7j2mpsj9rdhpk8vhm3pgd8wn563xqdcwd38avnhp74rm9"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.8.0"; sha256 = "0ii9d88py6mjsxzj9v3zx4izh6rb9ma6s9kj85xmc0xrw7jc2g3m"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.8.0"; sha256 = "1rh8cga1km3jfafkwfjr0dwqrxb4306hf7fipwba9h02w7vlhb9a"; })
   (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; })
diff --git a/pkgs/applications/finance/irpf/default.nix b/pkgs/applications/finance/irpf/default.nix
new file mode 100644
index 00000000000..e7ac78da18e
--- /dev/null
+++ b/pkgs/applications/finance/irpf/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, stdenvNoCC
+, fetchzip
+, copyDesktopItems
+, jdk11
+, makeDesktopItem
+, makeWrapper
+, unzip
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "irpf";
+  version = "2022-1.0";
+
+  src = let
+    year = lib.head (lib.splitVersion version);
+  in fetchzip {
+    url = "https://downloadirpf.receita.fazenda.gov.br/irpf/${year}/irpf/arquivos/IRPF${version}.zip";
+    sha256 = "0h8f51ilvg7m6hlx0y5mpxhac90p32ksbrffw0hxdqbilgjz1s68";
+  };
+
+  nativeBuildInputs = [ unzip makeWrapper copyDesktopItems ];
+
+  desktopItems = [
+    (makeDesktopItem rec {
+      name = pname;
+      exec = pname;
+      icon = "rfb64";
+      desktopName = "Imposto de Renda Pessoa Física";
+      comment = "Programa Oficial da Receita para elaboração do IRPF";
+      categories = [ "Office" ];
+    })
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    BASEDIR="$out/share/${pname}"
+    mkdir -p "$BASEDIR"
+
+    cp -r help lib lib-modulos "$BASEDIR"
+
+    install -Dm755 irpf.jar "$BASEDIR/${pname}.jar"
+    install -Dm644 Leia-me.htm offline.png online.png pgd-updater.jar "$BASEDIR"
+
+    makeWrapper ${jdk11}/bin/java $out/bin/${pname} \
+      --add-flags "-Dawt.useSystemAAFontSettings=on" \
+      --add-flags "-Dswing.aatext=true" \
+      --add-flags "-jar $BASEDIR/${pname}.jar" \
+      --set _JAVA_AWT_WM_NONREPARENTING 1 \
+      --set AWT_TOOLKIT MToolkit
+
+    mkdir -p $out/share/pixmaps
+    unzip -j lib/ppgd-icones-4.0.jar icones/rfb64.png -d $out/share/pixmaps
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Programa Oficial da Receita para elaboração do IRPF";
+    homepage = "https://www.gov.br/receitafederal/pt-br";
+    license = licenses.unfree;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ atila ];
+  };
+}
diff --git a/pkgs/applications/graphics/gnome-obfuscate/default.nix b/pkgs/applications/graphics/gnome-obfuscate/default.nix
new file mode 100644
index 00000000000..8cb4208e267
--- /dev/null
+++ b/pkgs/applications/graphics/gnome-obfuscate/default.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+
+, gettext
+, meson
+, ninja
+, pkg-config
+, python3
+, rustPlatform
+, wrapGAppsHook
+
+, appstream-glib
+, desktop-file-utils
+, glib
+, gtk4
+, libadwaita
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-obfuscate";
+  version = "0.0.4";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "World";
+    repo = "Obfuscate";
+    rev = version;
+    sha256 = "sha256-P8Y2Eizn1BMZXuFjGMXF/3oAUzI8ZNTrnbLyU+V6uk4=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    sha256 = "sha256-5MzWz5NH2sViIfaP8xOQLreEal5TYkji11VaUgieT3U=";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    glib
+    meson
+    ninja
+    pkg-config
+    python3
+    rustPlatform.cargoSetupHook
+    rustPlatform.rust.cargo
+    rustPlatform.rust.rustc
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    appstream-glib
+    desktop-file-utils
+    glib
+    gtk4
+    libadwaita
+  ];
+
+  postPatch = ''
+    patchShebangs build-aux/meson_post_install.py
+  '';
+
+  meta = with lib; {
+    description = "Censor private information";
+    homepage = "https://gitlab.gnome.org/World/obfuscate";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/graphics/icon-library/default.nix b/pkgs/applications/graphics/icon-library/default.nix
index 276ccb51274..4dd97d92217 100644
--- a/pkgs/applications/graphics/icon-library/default.nix
+++ b/pkgs/applications/graphics/icon-library/default.nix
@@ -1,25 +1,21 @@
 { lib, stdenv, fetchurl, wrapGAppsHook
-, cargo, desktop-file-utils, meson, ninja, pkg-config, python3, rustc
-, dbus, gdk-pixbuf, glib, gtk3, gtksourceview4, libhandy
+, cargo, desktop-file-utils, meson, ninja, pkg-config, rustc
+, gdk-pixbuf, glib, gtk4, gtksourceview5, libadwaita
 }:
 
 stdenv.mkDerivation rec {
   pname = "icon-library";
-  version = "0.0.8";
+  version = "0.0.11";
 
   src = fetchurl {
-    url = "https://gitlab.gnome.org/World/design/icon-library/uploads/fdf890706e0eef2458a5285e3bf65dd5/icon-library-${version}.tar.xz";
-    sha256 = "0807b56bgm8j1gpq4nf8x31gq9wqhcmpzpkqw6s4wissw3cb7q96";
+    url = "https://gitlab.gnome.org/World/design/icon-library/uploads/93d183b17d216bbed7b03b2f3698059c/icon-library-${version}.tar.xz";
+    sha256 = "1zrcnc5dn5fgcl3vklfpbp3m0qzi2n2viw59vw5fhwkysvp670y7";
   };
 
   nativeBuildInputs = [
-    cargo desktop-file-utils meson ninja pkg-config python3 rustc wrapGAppsHook
+    cargo desktop-file-utils meson ninja pkg-config rustc wrapGAppsHook
   ];
-  buildInputs = [ dbus gdk-pixbuf glib gtk3 gtksourceview4 libhandy ];
-
-  postPatch = ''
-    patchShebangs build-aux/meson_post_install.py
-  '';
+  buildInputs = [ gdk-pixbuf glib gtk4 gtksourceview5 libadwaita ];
 
   meta = with lib; {
     homepage = "https://gitlab.gnome.org/World/design/icon-library";
diff --git a/pkgs/applications/graphics/lightburn/default.nix b/pkgs/applications/graphics/lightburn/default.nix
index bbc0c2d9128..05a99527e5f 100644
--- a/pkgs/applications/graphics/lightburn/default.nix
+++ b/pkgs/applications/graphics/lightburn/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lightburn";
-  version = "1.1.01";
+  version = "1.1.03";
 
   nativeBuildInputs = [
     p7zip
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/LightBurnSoftware/deployment/releases/download/${version}/LightBurn-Linux64-v${version}.7z";
-    sha256 = "sha256-HgyqpZTf9GTsbDi1+e20YNoFIPYtTHQd8KC626G0038=";
+    sha256 = "sha256-X7hAkzVqIABpyFokiYaMGZqSda69cKhKghFDWDEVOow=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/nsxiv/default.nix b/pkgs/applications/graphics/nsxiv/default.nix
index 8c414c37247..c1ebbd57c0d 100644
--- a/pkgs/applications/graphics/nsxiv/default.nix
+++ b/pkgs/applications/graphics/nsxiv/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nsxiv";
-  version = "28";
+  version = "29";
 
   src = fetchFromGitHub {
     owner = "nsxiv";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-12RmEAzZdeanrRtnan96loXT7qSjIMjcWf296XmNE+A=";
+    hash = "sha256-JUF2cF6QeAXk6G76uMu3reaMgxp2RcqHDbamkNufwqE=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix
index 1a761de6ec0..cd16fe1de08 100644
--- a/pkgs/applications/graphics/paraview/default.nix
+++ b/pkgs/applications/graphics/paraview/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  version = "5.9.1";
+  version = "5.10.0";
 
   docFiles = [
     (fetchurl {
@@ -35,7 +35,7 @@ in mkDerivation rec {
     owner = "paraview";
     repo = "paraview";
     rev = "v${version}";
-    sha256 = "0pzic95br0vr785jnpxqmfxcljw3wk7bhm2xy0jfmwm1dh2b7xac";
+    sha256 = "0ipx6zq44hpic7gvv0s2jvjncak6vlmrz5sp9ypc15b15bna0gs2";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/abook/default.nix b/pkgs/applications/misc/abook/default.nix
index de463cfd666..e822f869619 100644
--- a/pkgs/applications/misc/abook/default.nix
+++ b/pkgs/applications/misc/abook/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     description = "Text-based addressbook program designed to use with mutt mail client";
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.edwtjo ];
-    platforms = with lib.platforms; linux;
+    platforms = with lib.platforms; unix;
   };
 }
diff --git a/pkgs/applications/misc/charm/default.nix b/pkgs/applications/misc/charm/default.nix
index 2379b702ee8..907bc7a53e0 100644
--- a/pkgs/applications/misc/charm/default.nix
+++ b/pkgs/applications/misc/charm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "charm";
-  version = "0.10.2";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "charm";
     rev = "v${version}";
-    sha256 = "sha256-kyfyRq/5QWMoiMooEpLv7UkehGxFlrfGEq9jA3OHiIs=";
+    sha256 = "sha256-7WdSIpmpN8Zz2k5PveYZoCueQo5sLxLLZvZdzxRlkaE=";
   };
 
-  vendorSha256 = "sha256-LB5fwySDOH+kOYYdGdtLAvETmI6fFP2QT6l2eAS3Ijg=";
+  vendorSha256 = "sha256-5cqZxh2uvmJV7DtAGzQwt//heF3kF9mjyB0KAs8nWZY=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/crow-translate/default.nix b/pkgs/applications/misc/crow-translate/default.nix
index 71142727a83..8505c97e1bc 100644
--- a/pkgs/applications/misc/crow-translate/default.nix
+++ b/pkgs/applications/misc/crow-translate/default.nix
@@ -34,8 +34,8 @@ let
   qonlinetranslator = fetchFromGitHub {
     owner = "crow-translate";
     repo = "QOnlineTranslator";
-    rev = "1.5.2";
-    sha256 = "sha256-iGi25aKwff2hNNx6o4kHZV8gVbEQcMgpTTvop3CoLjM=";
+    rev = "1.5.3";
+    sha256 = "sha256-L8y4vazbWD5SC7itxQOjEcX10w0laewxTOGz+Yd+kVM=";
   };
   circleflags = fetchFromGitHub {
     owner = "HatScripts";
@@ -52,13 +52,13 @@ let
 in
 mkDerivation rec {
   pname = "crow-translate";
-  version = "2.9.1";
+  version = "2.9.2";
 
   src = fetchFromGitHub {
     owner = "crow-translate";
     repo = pname;
     rev = version;
-    sha256 = "sha256-7Zb6PZO8eLeGPEZD37ja+LZydIQdsgy5gMAMtlS4k5Y=";
+    sha256 = "sha256-cxfBdoqGVmtCaXyw6QzXj2V44wKyVal/uqsddwIdvjw=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch b/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch
index 1eb1f464e55..0bfdc9ef2f7 100644
--- a/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch
+++ b/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch
@@ -46,7 +46,7 @@ index c92e745..f265f03 100644
  
  FetchContent_Declare(QOnlineTranslator
 -    GIT_REPOSITORY https://github.com/crow-translate/QOnlineTranslator
--    GIT_TAG 1.5.2
+-    GIT_TAG 1.5.3
 +    SOURCE_DIR @qonlinetranslator@
  )
  
diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix
index 1741e908669..eb17bf5c194 100644
--- a/pkgs/applications/misc/dasel/default.nix
+++ b/pkgs/applications/misc/dasel/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dasel";
-  version = "1.22.1";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "TomWright";
     repo = "dasel";
     rev = "v${version}";
-    sha256 = "091s3hyz9p892garanm9zmkbsn6hn3bnnrz7h3dqsyi58806d5yr";
+    sha256 = "sha256-MUF57begai6yMYLPC5dnyO9S39uHogB+Ie3qDA46Cn8=";
   };
 
-  vendorSha256 = "1y0k03lg9dh3bpi10xzv03h7gq7h0hgggs304p78p3jkr8pmkqss";
+  vendorSha256 = "sha256-NP+Is7Dxz4LGzx5vpv8pJOJhodAYHia1JXYfhJD54as=";
 
   ldflags = [
     "-s" "-w" "-X github.com/tomwright/dasel/internal.Version=${version}"
diff --git a/pkgs/applications/misc/eos-installer/default.nix b/pkgs/applications/misc/eos-installer/default.nix
new file mode 100644
index 00000000000..02d629412a3
--- /dev/null
+++ b/pkgs/applications/misc/eos-installer/default.nix
@@ -0,0 +1,48 @@
+{ lib, stdenv, fetchFromGitHub
+, autoconf, autoconf-archive, automake, glib, intltool, libtool, pkg-config
+, gnome, gnupg, gtk3, udisks
+}:
+
+stdenv.mkDerivation rec {
+  pname = "eos-installer";
+  version = "4.0.3";
+
+  src = fetchFromGitHub {
+    owner = "endlessm";
+    repo = "eos-installer";
+    rev = "Release_${version}";
+    sha256 = "1nl6vim5dd83kvskmf13xp9d6zx39fayz4z0wqwf7xf4nwl07gwz";
+    fetchSubmodules = true;
+  };
+
+  strictDeps = true;
+  nativeBuildInputs = [
+    autoconf autoconf-archive automake glib intltool libtool pkg-config
+  ];
+  buildInputs = [ gnome.gnome-desktop gtk3 udisks ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  configureFlags = [
+    "--libexecdir=${placeholder "out"}/bin"
+    "--localstatedir=/var"
+    "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
+  ];
+
+  # These are for runtime, so can't be discovered from PATH, which
+  # is constructed from nativeBuildInputs.
+  GPG_PATH = "${gnupg}/bin/gpg";
+  GPGCONF_PATH = "${gnupg}/bin/gpgconf";
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/endlessm/eos-installer";
+    description = "Installer UI which writes images to disk";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ qyliss ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/fluidd/default.nix b/pkgs/applications/misc/fluidd/default.nix
index eee466650e3..766b05b2e14 100644
--- a/pkgs/applications/misc/fluidd/default.nix
+++ b/pkgs/applications/misc/fluidd/default.nix
@@ -2,12 +2,12 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "fluidd";
-  version = "1.16.2";
+  version = "1.17.1";
 
   src = fetchurl {
     name = "fluidd-v${version}.zip";
     url = "https://github.com/cadriel/fluidd/releases/download/v${version}/fluidd.zip";
-    sha256 = "1qwj25xvvxvm1fxx216nn2gp7js4d682mm3l4s7ns90fc5ygvc8i";
+    sha256 = "sha256-F4hAFLsZmRg/zeTHo9eYoT0BasorynGaSzNSbKr2/JE=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
index 531ce423737..7365d297e3b 100644
--- a/pkgs/applications/misc/gramps/default.nix
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -55,6 +55,10 @@ in buildPythonApplication rec {
     runHook postInstall
   '';
 
+  # https://github.com/NixOS/nixpkgs/issues/149812
+  # https://nixos.org/manual/nixpkgs/stable/#ssec-gnome-hooks-gobject-introspection
+  strictDeps = false;
+
   meta = with lib; {
     description = "Genealogy software";
     homepage = "https://gramps-project.org";
diff --git a/pkgs/applications/misc/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix
index 5110815023a..a164654b1a6 100644
--- a/pkgs/applications/misc/hubstaff/default.nix
+++ b/pkgs/applications/misc/hubstaff/default.nix
@@ -4,9 +4,9 @@
 , curl, writeShellScript, common-updater-scripts }:
 
 let
-  url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.4-6681f81d/Hubstaff-1.6.4-6681f81d.sh";
-  version = "1.6.4-6681f81d";
-  sha256 = "1j0rzyqm9zm2w44zwxq61fy19m27ghlv11mbfl7yzh2ccmxljxjm";
+  url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.5-31be26f1/Hubstaff-1.6.5-31be26f1.sh";
+  version = "1.6.5-31be26f1";
+  sha256 = "1z1binnqppyxavmjg0l1cvy64ylzy2v454sws2x1am2qhhbnycjm";
 
   rpath = lib.makeLibraryPath
     [ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
diff --git a/pkgs/applications/misc/kchmviewer/default.nix b/pkgs/applications/misc/kchmviewer/default.nix
new file mode 100644
index 00000000000..4d703bff0c2
--- /dev/null
+++ b/pkgs/applications/misc/kchmviewer/default.nix
@@ -0,0 +1,48 @@
+{ lib, stdenv, fetchFromGitHub, fetchpatch, qmake, wrapQtAppsHook, chmlib, libzip, qtwebengine }:
+
+stdenv.mkDerivation rec {
+  pname = "kchmviewer";
+  version = "8.0";
+
+  src = fetchFromGitHub {
+    owner = "gyunaev";
+    repo = pname;
+    rev = "RELEASE_${lib.replaceStrings [ "." ] [ "_" ] version}";
+    sha256 = "sha256-YNpiBf6AFBCRbAZRPODvqGbQQedJJJrZFQIQyzIeBlw=";
+  };
+
+  patches = [
+    # remove unused webkit
+    (fetchpatch {
+      url = "https://github.com/gyunaev/kchmviewer/commit/a4a3984465cb635822953350c571950ae726b539.patch";
+      sha256 = "sha256-nHW18a4SrTG4fETJmKS4ojHXwnX1d1uN1m4H0GIuI28=";
+    })
+    # QtWebengine fixes
+    (fetchpatch {
+      url = "https://github.com/gyunaev/kchmviewer/commit/9ac73e7ad15de08aab6b1198115be2eb44da7afe.patch";
+      sha256 = "sha256-qg2ytqA2On7jg19WZmHIOU7vLQI2hoyqItySLEA64SY=";
+    })
+    (fetchpatch {
+      url = "https://github.com/gyunaev/kchmviewer/commit/99a6d94bdfce9c4578cce82707e71863a71d1453.patch";
+      sha256 = "sha256-o8JkaMmcJObmMt+o/6ooCAPCi+yRAWDAgxV+tR5eHfY=";
+    })
+  ];
+
+  buildInputs = [ chmlib libzip qtwebengine ];
+
+  nativeBuildInputs = [ qmake wrapQtAppsHook ];
+
+  postInstall = ''
+    install -Dm755 bin/kchmviewer -t $out/bin
+    install -Dm644 packages/kchmviewer.png -t $out/share/pixmaps
+    install -Dm644 packages/kchmviewer.desktop -t $out/share/applications
+  '';
+
+  meta = with lib; {
+    description = "CHM (Winhelp) files viewer";
+    homepage = "http://www.ulduzsoft.com/linux/kchmviewer/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/kratos/default.nix b/pkgs/applications/misc/kratos/default.nix
index a0b67042eca..043f607c010 100644
--- a/pkgs/applications/misc/kratos/default.nix
+++ b/pkgs/applications/misc/kratos/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kratos";
-  version = "0.8.0-alpha.3";
+  version = "0.8.3-alpha.1.pre.0";
 
   src = fetchFromGitHub {
     owner = "ory";
     repo = "kratos";
     rev = "v${version}";
-    sha256 = "0ihq2kxjackicxg0hrpmx6bsgz056xbaq3j8py37z2w6mwszarcg";
+    sha256 = "1225paf0x6lb6cb3q5f4lyz0r426ifx4x8145q7nsc6v64srck2y";
   };
 
-  vendorSha256 = "175pckj30cm5xkbvsdvwzarvwapsylyjgj4ss8v5r1sa0fjpj008";
+  vendorSha256 = "10zhxbccjsp6hbmk2lnvbag6c92hz703mcaigaj4wvlf7glpldm6";
 
   subPackages = [ "." ];
 
@@ -25,7 +25,7 @@ buildGoModule rec {
        test/e2e/run.sh
        script/testenv.sh
        script/test-envs.sh
-       persistence/sql/migratest/update_fixtures.sh
+       script/debug-entrypoint.sh
     )
     patchShebangs "''${files[@]}"
 
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index f4e43a79a8f..81c9e9d5515 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron }:
+{ lib, stdenv, fetchurl, appimageTools, makeWrapper, autoPatchelfHook, electron, curl, expat, gcc, openssl, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.6.1";
+  version = "0.6.3";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "ccLqOKH10hmROnxlnNxuD5/AqAcFIILIoW/9yZLEep0=";
+    sha256 = "o3tBHk7bauNczz6lPS3lV0mpYEaBa0lh/mAJKJM2eWU=";
     name = "${pname}-${version}.AppImage";
   };
 
@@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
   dontConfigure = true;
   dontBuild = true;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
+  buildInputs = [ stdenv.cc.cc curl expat openssl zlib ];
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/applications/misc/mediaelch/default.nix b/pkgs/applications/misc/mediaelch/default.nix
index 7cfe873a44e..2381e89640a 100644
--- a/pkgs/applications/misc/mediaelch/default.nix
+++ b/pkgs/applications/misc/mediaelch/default.nix
@@ -18,13 +18,13 @@
 
 mkDerivation rec {
   pname = "mediaelch";
-  version = "2.8.14";
+  version = "2.8.16";
 
   src = fetchFromGitHub {
     owner = "Komet";
     repo = "MediaElch";
     rev = "v${version}";
-    sha256 = "sha256-yHThX5Xs+8SijNKgmg+4Mawbwi3zHA/DJQoIBy0Wchs=";
+    sha256 = "sha256-83bHfIRVAC+3RkCYmV+TBjjQxaFMHfVyxt5Jq44dzeI=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/metadata-cleaner/default.nix b/pkgs/applications/misc/metadata-cleaner/default.nix
index 4412af583b3..9602fee5b5c 100644
--- a/pkgs/applications/misc/metadata-cleaner/default.nix
+++ b/pkgs/applications/misc/metadata-cleaner/default.nix
@@ -18,7 +18,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "metadata-cleaner";
-  version = "2.1.4";
+  version = "2.1.5";
 
   format = "other";
 
@@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "rmnvgr";
     repo = "metadata-cleaner";
     rev = "v${version}";
-    hash = "sha256-46J0iLXzZX5tww4CK8WhrADql023rauO0fpW7Asn5ZY=";
+    hash = "sha256-G7Azeh8+OQILoYEmlIeacoDzN0NRt5NTGavYM9CH8WA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/mkgmap/splitter/default.nix b/pkgs/applications/misc/mkgmap/splitter/default.nix
index db89e538d51..97f74becede 100644
--- a/pkgs/applications/misc/mkgmap/splitter/default.nix
+++ b/pkgs/applications/misc/mkgmap/splitter/default.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "splitter";
-  version = "645";
+  version = "647";
 
   src = fetchurl {
     url = "https://www.mkgmap.org.uk/download/splitter-r${version}-src.tar.gz";
-    sha256 = "Y9feRNDjmwUbSOwxfMIaYIycCvOBMihq5LkuKbALVDY=";
+    sha256 = "j9TJ+9WuItueztWjYoD9s9x8wfsga2QCIY5X2+s3Z1c=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/mob/default.nix b/pkgs/applications/misc/mob/default.nix
index f6490906b55..2b9c847bac8 100644
--- a/pkgs/applications/misc/mob/default.nix
+++ b/pkgs/applications/misc/mob/default.nix
@@ -1,8 +1,8 @@
 { lib
 , buildGoPackage
 , fetchFromGitHub
-
-, withSpeech ? true
+, stdenv
+, withSpeech ? !stdenv.isDarwin
 , makeWrapper
 , espeak-ng
 }:
diff --git a/pkgs/applications/misc/moonlight-qt/default.nix b/pkgs/applications/misc/moonlight-qt/default.nix
index 1a764dfaef3..c2981351749 100644
--- a/pkgs/applications/misc/moonlight-qt/default.nix
+++ b/pkgs/applications/misc/moonlight-qt/default.nix
@@ -57,5 +57,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ luc65r ];
     platforms = platforms.all;
+    mainProgram = "moonlight";
   };
 }
diff --git a/pkgs/applications/misc/otpclient/default.nix b/pkgs/applications/misc/otpclient/default.nix
index afc0ac71d5d..1f5f3d18729 100644
--- a/pkgs/applications/misc/otpclient/default.nix
+++ b/pkgs/applications/misc/otpclient/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "otpclient";
-  version = "2.4.8";
+  version = "2.4.9.1";
 
   src = fetchFromGitHub {
     owner = "paolostivanin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2exqMYcxg0UxlH+ZANQv2MFii9dZ6nizB4vxGR9cAwk=";
+    sha256 = "sha256-QcdPyuwbGK12Kul+gGTfRGmXfghr0qugpBEcrgATOT4=";
   };
 
   buildInputs = [ gtk3 jansson libgcrypt libzip libpng libcotp zbar ];
diff --git a/pkgs/applications/misc/prusa-slicer/super-slicer.nix b/pkgs/applications/misc/prusa-slicer/super-slicer.nix
index 7a4d2ee1d25..c3037f0da8d 100644
--- a/pkgs/applications/misc/prusa-slicer/super-slicer.nix
+++ b/pkgs/applications/misc/prusa-slicer/super-slicer.nix
@@ -45,7 +45,7 @@ let
 
     meta = with lib; {
       inherit description;
-      homepage = "https://github.com/supermerili/SuperSlicer";
+      homepage = "https://github.com/supermerill/SuperSlicer";
       license = licenses.agpl3;
       maintainers = with maintainers; [ cab404 moredread ];
       mainProgram = "superslicer";
diff --git a/pkgs/applications/misc/stork/default.nix b/pkgs/applications/misc/stork/default.nix
index 11face45145..48e2859fa84 100644
--- a/pkgs/applications/misc/stork/default.nix
+++ b/pkgs/applications/misc/stork/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stork";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "jameslittle230";
     repo = "stork";
     rev = "v${version}";
-    sha256 = "sha256-9fylJcUuModemkBRnXeFfB1b+CD9IvTxW+CnlqaUb60=";
+    sha256 = "sha256-aBsxRLUufVUauySCxZKk/ZfcU/5KR7jOHmnx6mHmsFs=";
   };
 
-  cargoSha256 = "sha256-j7OXl66xuTuP6hWJs+xHrwtaBGAYt02OESCN6FH3KX0=";
+  cargoSha256 = "sha256-oNoWGdXYfp47IpqU1twbORPOYrHjArNf43Zyeyat4Xs=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/misc/systembus-notify/default.nix b/pkgs/applications/misc/systembus-notify/default.nix
index 6e5405ce988..770cd858401 100644
--- a/pkgs/applications/misc/systembus-notify/default.nix
+++ b/pkgs/applications/misc/systembus-notify/default.nix
@@ -1,5 +1,30 @@
-{ lib, stdenv, fetchFromGitHub, systemd }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, formats
+, systemd
+}:
 
+let
+  ini = formats.ini { };
+
+  unit = ini.generate "systembus-notify.service" {
+    Unit = {
+      Description = "system bus notification daemon";
+    };
+
+    Service = {
+      Type = "exec";
+      ExecStart = "@out@/bin/systembus-notify";
+      PrivateTmp = true;
+      ProtectHome = true;
+      ProtectSystem = "strict";
+      Restart = "on-failure";
+      Slice = "background.slice";
+    };
+  };
+
+in
 stdenv.mkDerivation rec {
   pname = "systembus-notify";
   version = "1.1";
@@ -8,23 +33,32 @@ stdenv.mkDerivation rec {
     owner = "rfjakob";
     repo = "systembus-notify";
     rev = "v${version}";
-    sha256 = "1pdn45rfpwhrf20hs87qmk2j8sr7ab8161f81019wnypnb1q2fsv";
+    sha256 = "sha256-WzuBw7LXW54CCMgFE9BSJ2skxaz4IA2BcBny63Ihtt0=";
   };
 
   buildInputs = [ systemd ];
 
   installPhase = ''
     runHook preInstall
-    install -Dm755 systembus-notify -t $out/bin
-    install -Dm644 systembus-notify.desktop -t $out/etc/xdg/autostart
+
+    install -Dm555 -t $out/bin systembus-notify
+    install -Dm444 -t $out/share/systembus-notify systembus-notify.desktop
+
+    install -d $out/lib/systemd/user
+    substitute ${unit} $out/lib/systemd/user/${unit.name} \
+      --subst-var out
+
     runHook postInstall
   '';
 
+  # requires a running dbus instance
+  doCheck = false;
+
   meta = with lib; {
     description = "System bus notification daemon";
     homepage = "https://github.com/rfjakob/systembus-notify";
     license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [];
   };
 }
diff --git a/pkgs/applications/misc/waybar/default.nix b/pkgs/applications/misc/waybar/default.nix
index ad43a1e897e..01b7af16409 100644
--- a/pkgs/applications/misc/waybar/default.nix
+++ b/pkgs/applications/misc/waybar/default.nix
@@ -30,13 +30,13 @@
 
 stdenv.mkDerivation rec {
   pname = "waybar";
-  version = "0.9.10";
+  version = "0.9.12";
 
   src = fetchFromGitHub {
     owner = "Alexays";
     repo = "Waybar";
     rev = version;
-    sha256 = "sha256-KiRtU32h3AvThDWnCw55LnqbWVAZLXY/7fU1HxLMjLo=";
+    sha256 = "sha256-NQ/d+eXmc+GRxl5zby97S4U/YQnsRWGpwNZZL0Sqby8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index f5965767cd8..74e14615f81 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -91,11 +91,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.36.111";
+  version = "1.36.116";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "bXZsUqLaP43wJV3Cehgblw1G179HgGhToSL36v5QseA=";
+    sha256 = "whGV0VgCm6JSyrcFQTKbM35b/qLQdBmChTrYuyC+OlI=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 33284faf14e..d71faf6a51e 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": "99.0.4844.51",
-    "sha256": "1qxsn8zvvvsnn0k7nn606rhaial8ikrlfh175msqpp50xibjxicp",
-    "sha256bin64": "04kqfppa88g2q54vp53avyyhqzrxljz49p4wqk76kq7fz2rm94x1",
+    "version": "99.0.4844.74",
+    "sha256": "165vzxv3xi4r9ia3qnqsr4p9ai0344w1pnq03c6jdq7x613lcprd",
+    "sha256bin64": "1xzr7qv4rcardl3apr8w22dn81lzqkklhp26qqlbdcylacqqji04",
     "deps": {
       "gn": {
         "version": "2022-01-10",
@@ -12,16 +12,16 @@
       }
     },
     "chromedriver": {
-      "version": "99.0.4844.35",
-      "sha256_linux": "1q10mn34s03zy0nqcgrjd7ry53g4paxpwcki1bgicpcrwnjlzc3y",
-      "sha256_darwin": "0mcfry8vqqc8n1sgyn2azr8pc4lgjnkpnhz0ggjqm12njq0lfjfx",
-      "sha256_darwin_aarch64": "19wpqd5mq2vrgma899vbbdqhg660x47v4ppbz1r8dcg5r5y93x3s"
+      "version": "99.0.4844.51",
+      "sha256_linux": "1r5wbcfbj9s216jyjasmiscsrsix9ap3pplp12rznrwn4898p51y",
+      "sha256_darwin": "1nak8p5hdrw94lx73m9c110zrwag4qr6487dhplm3qfrnrkdh8wp",
+      "sha256_darwin_aarch64": "0hkcx6a8bcjlbmp6z3ld23mi1kpyjn2g7m3ns9qw6ns4x3rn5i3r"
     }
   },
   "beta": {
-    "version": "100.0.4896.20",
-    "sha256": "0g16xzimp39vk5b27bj12rh14520wihj4m4mwxf387rv0yp03cnr",
-    "sha256bin64": "1qkz32xvgbnd7xck0hm2mcrgdawn6xilldjgfckaaavvj4zinnk9",
+    "version": "100.0.4896.30",
+    "sha256": "06zfx9f6wv4j4fz7ss8pjlxfcsrwrvwqkmdk5bin7slxg4sq31fl",
+    "sha256bin64": "06s2p81grqrxl3p9ksy9q7s3s42ijmcw316nb51f7zx4ijk5hzya",
     "deps": {
       "gn": {
         "version": "2022-01-21",
@@ -32,9 +32,9 @@
     }
   },
   "dev": {
-    "version": "101.0.4919.0",
-    "sha256": "01dp3pkpf2m6r6vfyqgcg99xcii0qi3qm0g69r3nnj2hrs7ziqv2",
-    "sha256bin64": "1x7bfcnhrbakcbdyp1sc79jx6qysnnyj1by6qnl7gyffh8xyb95g",
+    "version": "101.0.4929.5",
+    "sha256": "0330vs0np23x390lfnc5gzmbnkdak590rzqpa7abpfx1gzj1rd3s",
+    "sha256bin64": "0670z86sz2wxpfxda32cirara7yg87g67cymh8ik3w99g5q7cb1d",
     "deps": {
       "gn": {
         "version": "2022-03-01",
@@ -45,9 +45,9 @@
     }
   },
   "ungoogled-chromium": {
-    "version": "99.0.4844.51",
-    "sha256": "1qxsn8zvvvsnn0k7nn606rhaial8ikrlfh175msqpp50xibjxicp",
-    "sha256bin64": "04kqfppa88g2q54vp53avyyhqzrxljz49p4wqk76kq7fz2rm94x1",
+    "version": "99.0.4844.74",
+    "sha256": "165vzxv3xi4r9ia3qnqsr4p9ai0344w1pnq03c6jdq7x613lcprd",
+    "sha256bin64": "1xzr7qv4rcardl3apr8w22dn81lzqkklhp26qqlbdcylacqqji04",
     "deps": {
       "gn": {
         "version": "2022-01-10",
@@ -56,8 +56,8 @@
         "sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv"
       },
       "ungoogled-patches": {
-        "rev": "99.0.4844.51-1",
-        "sha256": "0rs10jrng63lk4xgnqpgc8zxaj6lp70csbx6r0ihpv4z3rdn37va"
+        "rev": "99.0.4844.74-1",
+        "sha256": "1ki517fi55rz7ib2sq0q6gw1w1m2j4yakkpcgpmgvapg05s3zg7m"
       }
     }
   }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 8df80ab526a..50cc5718290 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -11,7 +11,6 @@
 , gdk-pixbuf
 , glib
 , glibc
-, gtk2
 , gtk3
 , libkrb5
 , libX11
@@ -110,7 +109,6 @@ stdenv.mkDerivation {
       gdk-pixbuf
       glib
       glibc
-      gtk2
       gtk3
       libkrb5
       mesa
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index d57839b0e4b..cace1829ccc 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -15,7 +15,9 @@
 , rust-cbindgen, nodejs, nasm, fetchpatch
 , gnum4
 , gtk3, wrapGAppsHook
+, pkgsCross
 , debugBuild ? false
+, runCommand
 
 ### optionals
 
@@ -121,6 +123,15 @@ let
                 })
                 else stdenv;
 
+  # Compile the wasm32 sysroot to build the RLBox Sandbox
+  # https://hacks.mozilla.org/2021/12/webassembly-and-back-again-fine-grained-sandboxing-in-firefox-95/
+  # We only link c++ libs here, our compiler wrapper can find wasi libc and crt itself.
+  wasiSysRoot = runCommand "wasi-sysroot" {} ''
+    mkdir -p $out/lib/wasm32-wasi
+    for lib in ${pkgsCross.wasi32.llvmPackages.libcxx}/lib/* ${pkgsCross.wasi32.llvmPackages.libcxxabi}/lib/*; do
+      ln -s $lib $out/lib/wasm32-wasi
+    done
+  '';
 in
 
 buildStdenv.mkDerivation ({
@@ -213,7 +224,11 @@ buildStdenv.mkDerivation ({
     configureScript="$(realpath ./mach) configure"
     export MOZBUILD_STATE_PATH=$(pwd)/mozbuild
 
-  '' + (lib.optionalString googleAPISupport ''
+  '' + (lib.optionalString (lib.versionAtLeast version "95.0") ''
+    # RBox WASM Sandboxing
+    export WASM_CC=${pkgsCross.wasi32.stdenv.cc}/bin/${pkgsCross.wasi32.stdenv.cc.targetPrefix}cc
+    export WASM_CXX=${pkgsCross.wasi32.stdenv.cc}/bin/${pkgsCross.wasi32.stdenv.cc.targetPrefix}c++
+  '') + (lib.optionalString googleAPISupport ''
     # Google API key used by Chromium and Firefox.
     # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
     # please get your own set of keys.
@@ -258,6 +273,7 @@ buildStdenv.mkDerivation ({
   ++ lib.optional ltoSupport "--enable-lto=cross" # Cross-language LTO.
   ++ lib.optional (ltoSupport && (buildStdenv.isAarch32 || buildStdenv.isi686 || buildStdenv.isx86_64)) "--disable-elf-hack"
   ++ lib.optional (ltoSupport && !buildStdenv.isDarwin) "--enable-linker=lld"
+  ++ lib.optional (lib.versionAtLeast version "95") "--with-wasi-sysroot=${wasiSysRoot}"
 
   ++ flag alsaSupport "alsa"
   ++ flag pulseaudioSupport "pulseaudio"
@@ -277,7 +293,6 @@ buildStdenv.mkDerivation ({
   ++ lib.optionals enableDebugSymbols [ "--disable-strip" "--disable-install-strip" ]
 
   ++ lib.optional enableOfficialBranding "--enable-official-branding"
-  ++ lib.optional (lib.versionAtLeast version "95") "--without-wasm-sandboxed-libraries"
   ++ extraConfigureFlags;
 
   postConfigure = ''
@@ -356,6 +371,7 @@ buildStdenv.mkDerivation ({
     inherit applicationName;
     inherit tests;
     inherit gtk3;
+    inherit wasiSysRoot;
   } // extraPassthru;
 
   hardeningDisable = [ "format" ]; # -Werror=format-security
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 6dd783d8662..f5a156943c7 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -7,10 +7,10 @@ in
 rec {
   firefox = common rec {
     pname = "firefox";
-    version = "97.0.2";
+    version = "98.0.1";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "efbf33723f5979025454b6cc183927afb4bc72a51c00b5d45940122da596b8ac99080f3a6a59f5dd85a725e356349ec57e7eba1c36cdab7d55a28b04895d274c";
+      sha512 = "1434ff775e6cdc6d9a75fa0e6d07a4680ada86ecfd7b65208c597ed765e847d900b68df355e6bea6461f6d86ee7a8b2ce3117f23826ad144bd87dfe64ee39b42";
     };
 
     meta = {
@@ -32,10 +32,10 @@ rec {
 
   firefox-esr-91 = common rec {
     pname = "firefox-esr";
-    version = "91.7.0esr";
+    version = "91.7.1esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "925811989d8a91d826ba356bd46ac54be8153288ec0319c28d2bfbe89191e62e107691159dd7ca247253e2a4952eb59a5b9613e3feea3f5351238d4822e26301";
+      sha512 = "c56aa38e9d706ff1f1838d2639dac82109dcffb54a7ea17326ae306604d78967ac32da13676756999bc1aa0bf50dc4e7072936ceb16e2e834bea48382ae4b48c";
     };
 
     meta = {
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index 69ee0444c3d..bd7d42777f5 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -50,11 +50,11 @@ let
 in stdenv.mkDerivation rec {
 
   pname = "opera";
-  version = "84.0.4316.21";
+  version = "84.0.4316.31";
 
   src = fetchurl {
     url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
-    sha256 = "sha256-CEKUd2QlZQJbpBO1t4oKmyd+uhPiCOY+eXtSrZf75e4=";
+    sha256 = "sha256-ypSnarhtJNQn3yOtydjmf6WmHAYbOfMg3xatCxTfIMY=";
   };
 
   unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
diff --git a/pkgs/applications/networking/browsers/surf/default.nix b/pkgs/applications/networking/browsers/surf/default.nix
index 7bf3ee9e75b..c79aa1d6f1d 100644
--- a/pkgs/applications/networking/browsers/surf/default.nix
+++ b/pkgs/applications/networking/browsers/surf/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   inherit patches;
 
-  installFlags = [ "PREFIX=$(out)" ];
+  makeFlags = [ "PREFIX=$(out)" ];
 
   # Add run-time dependencies to PATH. Append them to PATH so the user can
   # override the dependencies with their own PATH.
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index 07817e3ab0a..503952fa59a 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -19,16 +19,16 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "3.2.9";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "sha256-lZ6FjWXhVc51BlioDSryeYe5aZeUhMMEde+kk2SwV20=";
+    sha256 = "sha256-BDHbbb3WqQvRJB1A4NInfvujjB3r/AMmVvos8i/CnyU=";
   };
 
-  vendorSha256 = "sha256-hxSr0sNlz93JxOxnE2SnR6/OgCGK8DrJZxqQtSxfbj8=";
+  vendorSha256 = "sha256-YeSeaYOkNRjQgxsK9G7iPbVpfrPs4HRRFwfoUDxoCm0=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix b/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix
index a4b49adb1e2..4667b130e8d 100644
--- a/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix
+++ b/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "cloudfoundry-cli";
-  version = "8.0.0";
+  version = "8.3.0";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "00cwnfylra0msbb423ad21if98s6smzccsyidqsl4r2mrlkhahwm";
+    sha256 = "sha256-tC9U0yvuMEwO4mzWyUC+v+/H0EzgwTu02waTQrx19Bs=";
   };
-  vendorSha256 = "0fcgyyd11xfhn8i11bqnaw3h51bj1y8s37b4d8wzv31dr8zswqsc";
+  vendorSha256 = "sha256-aXq92SI4cgJrmo67SEfg8YKPEpO2UW2fcYnKq9TmAQg=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/cluster/driftctl/default.nix b/pkgs/applications/networking/cluster/driftctl/default.nix
index 4c22b9adca5..03f5ccda400 100644
--- a/pkgs/applications/networking/cluster/driftctl/default.nix
+++ b/pkgs/applications/networking/cluster/driftctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "driftctl";
-  version = "0.23.0";
+  version = "0.23.2";
 
   src = fetchFromGitHub {
     owner = "snyk";
     repo = "driftctl";
     rev = "v${version}";
-    sha256 = "sha256-TUwTvCsWB+n+shVU1hTzLYROG9Wp4ySzJwAnappK7TY=";
+    sha256 = "sha256-hGwQdR2LF1uuq11d2BD4hVjcXpPCbRNovOqJpj0J1Sw=";
   };
 
   vendorSha256 = "sha256-I0OCRhUvuaF4k5qqPaV6R24mrd9AG5GgQCCF6yodK0E=";
diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix
index a583bf30895..d5762d938a3 100644
--- a/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -1,9 +1,9 @@
 { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
 
 let
-  version = "0.27.3";
-  sha256 = "08ax1033456hfm5qz0r671xm5ig0047nqp7xffyn9za498bm4i5q";
-  manifestsSha256 = "165kspq10nvlihcb1460qmbw5r1mlzs5gliw01qa4mymvzmlggk7";
+  version = "0.27.4";
+  sha256 = "06951i332gr17nsbns8mh4kcjilqfw5w95shaznpaksx93f554g0";
+  manifestsSha256 = "0fvzh7j3vi5hw8jbw2gisjnn53bffwnp7zm3dwcbv3svwpw7823d";
 
   manifests = fetchzip {
     url =
@@ -23,7 +23,7 @@ in buildGoModule rec {
     inherit sha256;
   };
 
-  vendorSha256 = "sha256-ENSfec7iSKOkILgVCVnORpAia4D+vBjQAUXDA7EIvVQ=";
+  vendorSha256 = "sha256-7sHLXjyYMWSFckDPeVGJYK+nwhbRpD76tV334PCVYwA=";
 
   postUnpack = ''
     cp -r ${manifests} source/cmd/flux/manifests
diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix
index 6a48cc8ada8..adb46540cba 100644
--- a/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/pkgs/applications/networking/cluster/hadoop/default.nix
@@ -15,6 +15,8 @@
 , zlib
 , zstd
 , openssl
+, glibc
+, nixosTests
 }:
 
 with lib;
@@ -22,7 +24,7 @@ with lib;
 assert elem stdenv.system [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
 
 let
-  common = { pname, version, untarDir ? "${pname}-${version}", sha256, jdk, openssl ? null, nativeLibs ? [ ], libPatches ? "" }:
+  common = { pname, version, untarDir ? "${pname}-${version}", sha256, jdk, openssl ? null, nativeLibs ? [ ], libPatches ? "", tests }:
     stdenv.mkDerivation rec {
       inherit pname version jdk libPatches untarDir openssl;
       src = fetchurl {
@@ -38,7 +40,10 @@ let
       installPhase = ''
         mkdir -p $out/{lib/${untarDir}/conf,bin,lib}
         mv * $out/lib/${untarDir}
-
+      '' + optionalString stdenv.isLinux ''
+        # All versions need container-executor, but some versions can't use autoPatchelf because of broken SSL versions
+        patchelf --set-interpreter ${glibc.out}/lib64/ld-linux-x86-64.so.2 $out/lib/${untarDir}/bin/container-executor
+      '' + ''
         for n in $(find $out/lib/${untarDir}/bin -type f ! -name "*.*"); do
           makeWrapper "$n" "$out/bin/$(basename $n)"\
             --set-default JAVA_HOME ${jdk.home}\
@@ -49,6 +54,8 @@ let
         done
       '' + libPatches;
 
+      passthru = { inherit tests; };
+
       meta = {
         homepage = "https://hadoop.apache.org/";
         description = "Framework for distributed processing of large data sets across clusters of computers";
@@ -73,30 +80,34 @@ in
 {
   # Different version of hadoop support different java runtime versions
   # https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions
-  hadoop_3_3 =
-    common
-      (rec {
-        pname = "hadoop";
-        version = "3.3.1";
-        untarDir = "${pname}-${version}";
-        sha256 = rec {
-          x86_64-linux = "1b3v16ihysqaxw8za1r5jlnphy8dwhivdx2d0z64309w57ihlxxd";
-          x86_64-darwin = x86_64-linux;
-          aarch64-linux = "00ln18vpi07jq2slk3kplyhcj8ad41n0yl880q5cihilk7daclxz";
-          aarch64-darwin = aarch64-linux;
-        };
-
-        inherit openssl;
-        nativeLibs = [ stdenv.cc.cc.lib protobuf3_7 zlib snappy ];
-        libPatches = ''
-          ln -s ${getLib cyrus_sasl}/lib/libsasl2.so $out/lib/${untarDir}/lib/native/libsasl2.so.2
-          ln -s ${getLib openssl}/lib/libcrypto.so $out/lib/${untarDir}/lib/native/
-          ln -s ${getLib zlib}/lib/libz.so.1 $out/lib/${untarDir}/lib/native/
-          ln -s ${getLib zstd}/lib/libzstd.so.1 $out/lib/${untarDir}/lib/native/
-          ln -s ${getLib bzip2}/lib/libbz2.so.1 $out/lib/${untarDir}/lib/native/
-        '' + optionalString stdenv.isLinux "patchelf --add-rpath ${jdk.home}/lib/server $out/lib/${untarDir}/lib/native/libnativetask.so.1.0.0";
-        jdk = jdk11_headless;
-      });
+  hadoop_3_3 = common rec {
+    pname = "hadoop";
+    version = "3.3.1";
+    untarDir = "${pname}-${version}";
+    sha256 = rec {
+      x86_64-linux = "1b3v16ihysqaxw8za1r5jlnphy8dwhivdx2d0z64309w57ihlxxd";
+      x86_64-darwin = x86_64-linux;
+      aarch64-linux = "00ln18vpi07jq2slk3kplyhcj8ad41n0yl880q5cihilk7daclxz";
+      aarch64-darwin = aarch64-linux;
+    };
+    jdk = jdk11_headless;
+    inherit openssl;
+    # TODO: Package and add Intel Storage Acceleration Library
+    nativeLibs = [ stdenv.cc.cc.lib protobuf3_7 zlib snappy ];
+    libPatches = ''
+      ln -s ${getLib cyrus_sasl}/lib/libsasl2.so $out/lib/${untarDir}/lib/native/libsasl2.so.2
+      ln -s ${getLib openssl}/lib/libcrypto.so $out/lib/${untarDir}/lib/native/
+      ln -s ${getLib zlib}/lib/libz.so.1 $out/lib/${untarDir}/lib/native/
+      ln -s ${getLib zstd}/lib/libzstd.so.1 $out/lib/${untarDir}/lib/native/
+      ln -s ${getLib bzip2}/lib/libbz2.so.1 $out/lib/${untarDir}/lib/native/
+    '' + optionalString stdenv.isLinux ''
+      # libjvm.so for Java >=11
+      patchelf --add-rpath ${jdk.home}/lib/server $out/lib/${untarDir}/lib/native/libnativetask.so.1.0.0
+      # Java 8 has libjvm.so at a different path
+      patchelf --add-rpath ${jdk.home}/jre/lib/amd64/server $out/lib/${untarDir}/lib/native/libnativetask.so.1.0.0
+    '';
+    tests = nixosTests.hadoop;
+  };
   hadoop_3_2 = common rec {
     pname = "hadoop";
     version = "3.2.2";
@@ -104,11 +115,13 @@ in
     jdk = jdk8_headless;
     # not using native libs because of broken openssl_1_0_2 dependency
     # can be manually overriden
+    tests = nixosTests.hadoop_3_2;
   };
   hadoop2 = common rec {
     pname = "hadoop";
     version = "2.10.1";
     sha256.x86_64-linux = "1w31x4bk9f2swnx8qxx0cgwfg8vbpm6cy5lvfnbbpl3rsjhmyg97";
     jdk = jdk8_headless;
+    tests = nixosTests.hadoop2;
   };
 }
diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix
index 3beb8e9c23c..fa355b65131 100644
--- a/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/default.nix
@@ -46,30 +46,30 @@ 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.3+k3s1";     # k3s git tag
-  k3sCommit = "6f4217a3405d16a1a51bbb40872d7dcb87207bb9"; # k3s git commit at the above version
-  k3sRepoSha256 = "sha256-0dRusG1vL+1KbmViIUNCZK1b+FEgV6otcVUyFonHmm4=";
-  k3sVendorSha256 = "sha256-8Yp9csyRNSYi9wo8E8mF8cu92wG1t3l18wJ8Y4L7HEA=";
+  k3sVersion = "1.23.4+k3s1";     # k3s git tag
+  k3sCommit = "43b1cb48200d8f6af85c16ed944d68fcc96b6506"; # k3s git commit at the above version
+  k3sRepoSha256 = "1sn7rd5hqfqvwj036blk0skmq6r8igbmiqk1dnpaqnkkddpzdgmc";
+  k3sVendorSha256 = "sha256-1/kQvNqFUWwch1JH+twWzBdjNYseoZyVObB1+s9WPM4=";
 
-  k3sServerVendorSha256 = "sha256-9+2k/ipAOhc8JJU+L2dwaM01Dkw+0xyrF5kt6mL19G0=";
+  k3sServerVendorSha256 = "sha256-2KIFff43jfqWdxX61aWofrjmc5mMkr5aEJRFdGpLyU8=";
 
   # 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.9.1";
-  traefikChartSha256 = "sha256-XM1DLofU1zEEFeB5bNQ7cgv102gXsToPP7SFh87QuGQ=";
+  traefikChartVersion = "10.14.1";
+  traefikChartSha256 = "09a6cialx7nrh7nwi1gkkh8zcsasxcgb52dyx0r8bjq9ng29simj";
 
   # taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
-  k3sRootVersion = "0.9.1";
-  k3sRootSha256 = "0r2cj4l50cxkrvszpzxfk36lvbjf9vcmp6d5lvxg8qsah8lki3x8";
+  k3sRootVersion = "0.11.0";
+  k3sRootSha256 = "016n56vi09xkvjph7wgzb2m86mhd5x65fs4d11pmh20hl249r620";
 
   # taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L45
-  k3sCNIVersion = "0.9.1-k3s1";
-  k3sCNISha256 = "1327vmfph7b8i14q05c2xdfzk60caflg1zhycx0mrf3d59f4zsz5";
+  k3sCNIVersion = "1.0.1-k3s1";
+  k3sCNISha256 = "11ihlzzdnqf9p21y0a4ckpbxac016nm7746dcykhj26ym9zxyv92";
 
   # 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.9-k3s1";
-  containerdSha256 = "sha256-7xlhBA6KuwFlw+jyThygv4Ow9F3xjjIUtS6x8YHwjic=";
+  containerdSha256 = "09wfy20z3c9fnla353pibpsb10xzl0f4xwp8qdjh3fwa1q2626gg";
 
   # 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";
diff --git a/pkgs/applications/networking/cluster/k3s/update.sh b/pkgs/applications/networking/cluster/k3s/update.sh
index eb79778c963..8f199bf9cc0 100755
--- a/pkgs/applications/networking/cluster/k3s/update.sh
+++ b/pkgs/applications/networking/cluster/k3s/update.sh
@@ -7,7 +7,7 @@ WORKDIR=$(mktemp -d)
 trap "rm -rf ${WORKDIR}" EXIT
 
 NIXPKGS_ROOT="$(git rev-parse --show-toplevel)"/
-NIXPKGS_K3S_FOLDER=${NIXPKGS_ROOT}$(dirname "${BASH_SOURCE[0]}")/
+NIXPKGS_K3S_FOLDER=$(cd $(dirname ${BASH_SOURCE[0]}); pwd -P)/
 cd ${NIXPKGS_K3S_FOLDER}
 
 LATEST_TAG_RAWFILE=${WORKDIR}/latest_tag.json
diff --git a/pkgs/applications/networking/cluster/kn/default.nix b/pkgs/applications/networking/cluster/kn/default.nix
index d5faebdab3c..93ccd873f77 100644
--- a/pkgs/applications/networking/cluster/kn/default.nix
+++ b/pkgs/applications/networking/cluster/kn/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kn";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "knative";
     repo = "client";
     rev = "knative-v${version}";
-    sha256 = "sha256-PxiYxDHcA95MinNpEcXul2cYrV/VB6gThhYCZANqAGY=";
+    sha256 = "sha256-xpSnirdEZ/Cua/wicu62HzeDm0E8Xo/Jt2eMfUS7mDo=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/kube-capacity/default.nix b/pkgs/applications/networking/cluster/kube-capacity/default.nix
index 0a2386d37ce..c7d14748e80 100644
--- a/pkgs/applications/networking/cluster/kube-capacity/default.nix
+++ b/pkgs/applications/networking/cluster/kube-capacity/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kube-capacity";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "robscott";
     repo = pname;
-    sha256 = "sha256-jop1dn+D0A6BkR1UCMrU9qcbZ1AHVth430cTd+kUYJw=";
+    sha256 = "sha256-+1qewL8N3WTS7GW6fpL2+RPbFQQ/3DDMgShtBi+lRtg=";
   };
 
-  vendorSha256 = "sha256-PkCUwe3S1bq37ME2WyTUnwEcbnFcNI0eaI9yW/HZ1uw=";
+  vendorSha256 = "sha256-sMobdarMMktf34LbQnyZ6sgbfiJhWxWSQR0F+4x5J58=";
 
   meta = with lib; {
     description =
diff --git a/pkgs/applications/networking/cluster/kubemqctl/default.nix b/pkgs/applications/networking/cluster/kubemqctl/default.nix
new file mode 100644
index 00000000000..a5ad1ea0a77
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubemqctl/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubemqctl";
+  version = "3.5.1";
+  src = fetchFromGitHub {
+    owner = "kubemq-io";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0daqvd1y6b87xvnpdl2k0sa91zdmp48r0pgp6dvnb2l44ml8a4z0";
+  };
+
+  ldflags = [ "-w" "-s" "-X main.version=${version}" ];
+
+  doCheck = false; # TODO tests are failing
+
+  vendorSha256 = "1agn6i7cnsb5igvvbjzlaa5fgssr5h7h25y440q44bk16jxk6s74";
+
+  meta = {
+    homepage = "https://github.com/kubemq-io/kubemqctl";
+    description = "Kubemqctl is a command line interface (CLI) for Kubemq Kubernetes Message Broker.";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ brianmcgee ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix b/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
index b5c9820bb31..27c496905e5 100644
--- a/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
+++ b/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
@@ -5,8 +5,8 @@ self: super: {
     _: {
       src = pkgs.fetchgit {
         url = "https://github.com/NixOS/nixops.git";
-        rev = "d939c9bcae184d10583bf48211739b5b6521fc64";
-        sha256 = "111wfph4c737xxs717pz8bnksp8zw0b6zv1il4zzq3fshv2ckd5c";
+        rev = "7220cbdc8a1cf2db5b3ad75b525faf145a5560a3";
+        sha256 = "199cw25cvjb8gxs56nc8ilq7v4560c6vgi1sh1vqrsqxayq1g4cs";
       };
     }
   );
@@ -74,9 +74,9 @@ self: super: {
   nixops-virtd = super.nixops-virtd.overridePythonAttrs (
     _: {
       src = pkgs.fetchgit {
-        url = "https://github.com/nix-community/nixops-libvirtd.git";
-        rev = "1245280d97e0adc4643d02d1cf62ddd582c73e49";
-        sha256 = "1z3zsx54585rcyabj6hrbwbd1c783rrlfj53np1sa3i7m93vmxzc";
+        url = "https://github.com/lovesegfault/nixops-libvirtd.git";
+        rev = "84d1688ee06afff136738b3eaf51f9cc3c08c350";
+        sha256 = "1f3q9bwmdjr3qac7fh9b9hgw7l43hmiixbsmqm2zrnhb7xcyfmfg";
       };
     }
   );
diff --git a/pkgs/applications/networking/cluster/nixops/poetry.lock b/pkgs/applications/networking/cluster/nixops/poetry.lock
index d42776a82ea..fa17d4286b3 100644
--- a/pkgs/applications/networking/cluster/nixops/poetry.lock
+++ b/pkgs/applications/networking/cluster/nixops/poetry.lock
@@ -8,14 +8,14 @@ python-versions = "*"
 
 [[package]]
 name = "apache-libcloud"
-version = "3.4.1"
+version = "3.5.0"
 description = "A standard Python library that abstracts away differences among multiple cloud provider APIs. For more information and documentation, please see https://libcloud.apache.org"
 category = "main"
 optional = false
-python-versions = ">=3.5, <4"
+python-versions = ">=3.6, <4"
 
 [package.dependencies]
-requests = ">=2.5.0"
+requests = ">=2.26.0"
 
 [[package]]
 name = "babel"
@@ -38,14 +38,14 @@ python-versions = "*"
 
 [[package]]
 name = "boto3"
-version = "1.21.11"
+version = "1.21.18"
 description = "The AWS SDK for Python"
 category = "main"
 optional = false
 python-versions = ">= 3.6"
 
 [package.dependencies]
-botocore = ">=1.24.11,<1.25.0"
+botocore = ">=1.24.18,<1.25.0"
 jmespath = ">=0.7.1,<1.0.0"
 s3transfer = ">=0.5.0,<0.6.0"
 
@@ -54,7 +54,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
 
 [[package]]
 name = "botocore"
-version = "1.24.11"
+version = "1.24.18"
 description = "Low-level, data-driven core of boto 3."
 category = "main"
 optional = false
@@ -194,7 +194,7 @@ testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake
 
 [[package]]
 name = "libvirt-python"
-version = "7.10.0"
+version = "8.1.0"
 description = "The libvirt virtualization API python binding"
 category = "main"
 optional = false
@@ -227,7 +227,7 @@ typing-extensions = "^3.7.4"
 type = "git"
 url = "https://github.com/NixOS/nixops.git"
 reference = "master"
-resolved_reference = "d939c9bcae184d10583bf48211739b5b6521fc64"
+resolved_reference = "7220cbdc8a1cf2db5b3ad75b525faf145a5560a3"
 
 [[package]]
 name = "nixops-aws"
@@ -358,14 +358,14 @@ python-versions = "^3.7"
 develop = false
 
 [package.dependencies]
-libvirt-python = "^7.0"
+libvirt-python = "^8.0"
 nixops = {git = "https://github.com/NixOS/nixops.git", branch = "master"}
 
 [package.source]
 type = "git"
-url = "https://github.com/nix-community/nixops-libvirtd.git"
-reference = "master"
-resolved_reference = "1245280d97e0adc4643d02d1cf62ddd582c73e49"
+url = "https://github.com/lovesegfault/nixops-libvirtd.git"
+reference = "update-libvirt"
+resolved_reference = "84d1688ee06afff136738b3eaf51f9cc3c08c350"
 
 [[package]]
 name = "nixopsvbox"
@@ -677,7 +677,7 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
 [metadata]
 lock-version = "1.1"
 python-versions = "^3.8"
-content-hash = "e75c6429aa8989659a345f903e2e67d87514b5864751e33890d90aa2d20ef3e2"
+content-hash = "63b68a38ca6f7b9189d2403c2c6d1ec7af29cc1ccdeab2fbc970b5dbd766c3c6"
 
 [metadata.files]
 alabaster = [
@@ -685,8 +685,8 @@ alabaster = [
     {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"},
 ]
 apache-libcloud = [
-    {file = "apache-libcloud-3.4.1.tar.gz", hash = "sha256:88f18da0cf3fac0af723e743fb741d9d1be251881edab7a5a0d1629955b5011b"},
-    {file = "apache_libcloud-3.4.1-py2.py3-none-any.whl", hash = "sha256:af1a5b3cda7bc3220093726ff67dbb70928521e2ec19d0e33a31b1e22fde1850"},
+    {file = "apache-libcloud-3.5.0.tar.gz", hash = "sha256:073f10492976faa383a22b13b82c249827cfe90a083c71620e8316e815a6db3b"},
+    {file = "apache_libcloud-3.5.0-py2.py3-none-any.whl", hash = "sha256:3789f4f2464fe18e317cdd3a03eff363268e096bc47f1f5770ee82d6ffe28c40"},
 ]
 babel = [
     {file = "Babel-2.9.1-py2.py3-none-any.whl", hash = "sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9"},
@@ -697,12 +697,12 @@ boto = [
     {file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"},
 ]
 boto3 = [
-    {file = "boto3-1.21.11-py3-none-any.whl", hash = "sha256:bf5f6a8997ed11a66280ace67cc25ec31c28525940da91d309c3976a9955d4cf"},
-    {file = "boto3-1.21.11.tar.gz", hash = "sha256:f2cecf5d176f398a39bfde0008df83c03f2142b2be5eabe32bf104961df68810"},
+    {file = "boto3-1.21.18-py3-none-any.whl", hash = "sha256:d857feb6af9932e1ee3a748060a2cd9fd6043dbbccf66976eda54586597efdc0"},
+    {file = "boto3-1.21.18.tar.gz", hash = "sha256:8d6f3c548f0ee03d742f404c96515e7579fc6968135aaa50dd855a046698ff79"},
 ]
 botocore = [
-    {file = "botocore-1.24.11-py3-none-any.whl", hash = "sha256:b29c2b5906d7f70782634bb8713c77e39f23aafc994bb2f7dccbeb2b36712adc"},
-    {file = "botocore-1.24.11.tar.gz", hash = "sha256:2af93de704f3122878a3233e7cf5de0b02f6c4c9fa993ca853b583f597bb1c38"},
+    {file = "botocore-1.24.18-py3-none-any.whl", hash = "sha256:7ea8ef1ff7c4882ab59b337662f90ddf5ea860e95e7e209dca593a34ea585b1b"},
+    {file = "botocore-1.24.18.tar.gz", hash = "sha256:d2da7ccbc5ddd61fe3cd45fcbd3de380d9e3a15bfa8fbfd2d9259a93dcc60c56"},
 ]
 certifi = [
     {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"},
@@ -775,6 +775,8 @@ cryptography = [
     {file = "cryptography-3.4.8-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34dae04a0dce5730d8eb7894eab617d8a70d0c97da76b905de9efb7128ad7085"},
     {file = "cryptography-3.4.8-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eb7bb0df6f6f583dd8e054689def236255161ebbcf62b226454ab9ec663746b"},
     {file = "cryptography-3.4.8-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:9965c46c674ba8cc572bc09a03f4c649292ee73e1b683adb1ce81e82e9a6a0fb"},
+    {file = "cryptography-3.4.8-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:3c4129fc3fdc0fa8e40861b5ac0c673315b3c902bbdc05fc176764815b43dd1d"},
+    {file = "cryptography-3.4.8-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:695104a9223a7239d155d7627ad912953b540929ef97ae0c34c7b8bf30857e89"},
     {file = "cryptography-3.4.8-cp36-abi3-win32.whl", hash = "sha256:21ca464b3a4b8d8e86ba0ee5045e103a1fcfac3b39319727bc0fc58c09c6aff7"},
     {file = "cryptography-3.4.8-cp36-abi3-win_amd64.whl", hash = "sha256:3520667fda779eb788ea00080124875be18f2d8f0848ec00733c0ec3bb8219fc"},
     {file = "cryptography-3.4.8-pp36-pypy36_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d2a6e5ef66503da51d2110edf6c403dc6b494cc0082f85db12f54e9c5d4c3ec5"},
@@ -815,7 +817,7 @@ jsonpickle = [
     {file = "jsonpickle-2.1.0.tar.gz", hash = "sha256:84684cfc5338a534173c8dd69809e40f2865d0be1f8a2b7af8465e5b968dcfa9"},
 ]
 libvirt-python = [
-    {file = "libvirt-python-7.10.0.tar.gz", hash = "sha256:267774bbdf99d47515274542880499437dc94ae291771f5663c62020a62da975"},
+    {file = "libvirt-python-8.1.0.tar.gz", hash = "sha256:a21ecfab6d29ac1bdd1bfd4aa3ef58447f9f70919aefecd03774613f65914e43"},
 ]
 markupsafe = [
     {file = "MarkupSafe-2.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3028252424c72b2602a323f70fbf50aa80a5d3aa616ea6add4ba21ae9cc9da4c"},
diff --git a/pkgs/applications/networking/cluster/nixops/pyproject.toml b/pkgs/applications/networking/cluster/nixops/pyproject.toml
index 89e6e34c771..acee33da249 100644
--- a/pkgs/applications/networking/cluster/nixops/pyproject.toml
+++ b/pkgs/applications/networking/cluster/nixops/pyproject.toml
@@ -14,7 +14,10 @@ nixops-gcp = {git = "https://github.com/nix-community/nixops-gce.git"}
 nixops-hercules-ci = {git = "https://github.com/hercules-ci/nixops-hercules-ci.git"}
 nixops-hetzner = {git = "https://github.com/NixOS/nixops-hetzner"}
 nixopsvbox = {git = "https://github.com/nix-community/nixops-vbox.git"}
-nixops-virtd = {git = "https://github.com/nix-community/nixops-libvirtd.git"}
+# FIXME: Once #30 lands this can be replaced
+# https://github.com/nix-community/nixops-libvirtd/pull/30
+# nixops-virtd = {git = "https://github.com/nix-community/nixops-libvirtd.git"}
+nixops-virtd = { git = "https://github.com/lovesegfault/nixops-libvirtd.git", branch = "update-libvirt" }
 
 [tool.poetry.dev-dependencies]
 sphinx = "^3.1.2"
diff --git a/pkgs/applications/networking/cluster/qbec/default.nix b/pkgs/applications/networking/cluster/qbec/default.nix
index 3d34a65e292..8dcb08247e3 100644
--- a/pkgs/applications/networking/cluster/qbec/default.nix
+++ b/pkgs/applications/networking/cluster/qbec/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "qbec";
-  version = "0.15.1";
+  version = "0.15.2";
 
   src = fetchFromGitHub {
     owner = "splunk";
     repo = "qbec";
     rev = "v${version}";
-    sha256 = "sha256-cXU+LnOCsGg+iwH5c7cKVi2Htw45AGxyjJFKXKbTkUo=";
+    sha256 = "sha256-js/UjnNYRW7s3b4TeprhmBe4cDLDYDrMeLtpASI9aN4=";
   };
 
-  vendorSha256 = "sha256-CiVAzFN/ygIiyhZKYtJ197TZO3ppL/emWSj4hAlIanc=";
+  vendorSha256 = "sha256-oEbKk9cMbI0ZWXrfM8Y19OF/A75mwHl0C/PJx0oTOBo=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix
index 7876eb1c752..7770f98afe5 100644
--- a/pkgs/applications/networking/cluster/spark/default.nix
+++ b/pkgs/applications/networking/cluster/spark/default.nix
@@ -1,13 +1,26 @@
-{ lib, stdenv, fetchzip, makeWrapper, jdk8, python3Packages, extraPythonPackages ? [], coreutils, hadoop
-, RSupport? true, R
+{ lib
+, stdenv
+, fetchzip
+, makeWrapper
+, jdk8
+, python3Packages
+, extraPythonPackages ? [ ]
+, coreutils
+, hadoop
+, RSupport ? true
+, R
 }:
 
 with lib;
 
 let
-  spark = { pname, version, src }:
+  spark = { pname, version, sha256 }:
     stdenv.mkDerivation rec {
-      inherit pname version src;
+      inherit pname version;
+      src = fetchzip {
+        url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
+        sha256 = sha256;
+      };
       nativeBuildInputs = [ makeWrapper ];
       buildInputs = [ jdk8 python3Packages.python ]
         ++ extraPythonPackages
@@ -45,31 +58,29 @@ let
       '';
 
       meta = {
-        description      = "Apache Spark is a fast and general engine for large-scale data processing";
-        homepage         = "https://spark.apache.org/";
-        license          = lib.licenses.asl20;
-        platforms        = lib.platforms.all;
-        maintainers      = with maintainers; [ thoughtpolice offline kamilchm illustris ];
+        description = "Apache Spark is a fast and general engine for large-scale data processing";
+        homepage = "https://spark.apache.org/";
+        license = lib.licenses.asl20;
+        platforms = lib.platforms.all;
+        maintainers = with maintainers; [ thoughtpolice offline kamilchm illustris ];
         repositories.git = "git://git.apache.org/spark.git";
       };
     };
-in {
-  spark3 = spark rec {
+in
+{
+  spark_3_2 = spark rec {
+    pname = "spark";
+    version = "3.2.1";
+    sha256 = "0kxdqczwmj6pray0h8h1qhygni9m82jzznw5fbv9hrxrkq1v182d";
+  };
+  spark_3_1 = spark rec {
     pname = "spark";
     version = "3.1.2";
-
-    src = fetchzip {
-      url    = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
-      sha256 = "1bgh2y6jm7wqy6yc40rx68xkki31i3jiri2yixb1bm0i9pvsj9yf";
-    };
+    sha256 = "1bgh2y6jm7wqy6yc40rx68xkki31i3jiri2yixb1bm0i9pvsj9yf";
   };
-  spark2 = spark rec {
+  spark_2_4 = spark rec {
     pname = "spark";
     version = "2.4.8";
-
-    src = fetchzip {
-      url    = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
-      sha256 = "1mkyq0gz9fiav25vr0dba5ivp0wh0mh7kswwnx8pvsmb6wbwyfxv";
-    };
+    sha256 = "1mkyq0gz9fiav25vr0dba5ivp0wh0mh7kswwnx8pvsmb6wbwyfxv";
   };
 }
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 73c76101397..457b9d342cc 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -40,10 +40,10 @@
     "owner": "aliyun",
     "provider-source-address": "registry.terraform.io/aliyun/alicloud",
     "repo": "terraform-provider-alicloud",
-    "rev": "v1.159.0",
-    "sha256": "0vfpmagxrlv6fqaq008lhygxd49br06d0bi1w6dsazfszw3ihj02",
-    "vendorSha256": "05vkn52s0x6kcyxxs0p7w6z1nclmvvla7rjv1ippzw7fgn2s19m0",
-    "version": "1.159.0"
+    "rev": "v1.160.0",
+    "sha256": "sha256-ijSOvBS8bcFKX0qa2Cl/xqDdwduamVdCWzgTCWao1Sg=",
+    "vendorSha256": "sha256-oKaghX3u8H9vDFvmo+jelTIbvuHnAt27Z9N0oEWxcxc=",
+    "version": "1.160.0"
   },
   "ansible": {
     "owner": "nbering",
@@ -94,28 +94,28 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/aws",
     "repo": "terraform-provider-aws",
-    "rev": "v4.4.0",
-    "sha256": "082bllsihmc4jndi1hrv1chcrdm755vphlgpajg22s1ajmylqgm5",
-    "vendorSha256": "0j6ghjr2mhi7nixkk8v9vwm6sr78h0wnj1lxs19lkrpnvy6jc31i",
-    "version": "4.4.0"
+    "rev": "v4.5.0",
+    "sha256": "sha256-L1LRuinU3YrqywRGpmUqGQgjZ1JuYhECjCN6ysYPzco=",
+    "vendorSha256": "sha256-3akEup/M7Zc5MPf2XA+324PxQiHegIwzR05JNSjYanw=",
+    "version": "4.5.0"
   },
   "azuread": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azuread",
     "repo": "terraform-provider-azuread",
-    "rev": "v2.18.0",
-    "sha256": "06l4w9g4p48gnb9c9mmnydvpyr89f8rijpf103ndsg6ack6k4mg2",
+    "rev": "v2.19.1",
+    "sha256": "sha256-n5jDlcy5rwCcrqoL3ut+HThDLQ8hPj2mZ15d7hhALFw=",
     "vendorSha256": null,
-    "version": "2.18.0"
+    "version": "2.19.1"
   },
   "azurerm": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azurerm",
     "repo": "terraform-provider-azurerm",
-    "rev": "v2.98.0",
-    "sha256": "0cfdw70q1kh6f50gsc94mh1xi7s4z47wfsmskp1ahx7av7wpz1p6",
+    "rev": "v2.99.0",
+    "sha256": "sha256-HXLr22UVciRvW1iaa46sy37ivG41hKqhrQtCXpnl8ss=",
     "vendorSha256": null,
-    "version": "2.98.0"
+    "version": "2.99.0"
   },
   "azurestack": {
     "owner": "hashicorp",
@@ -148,10 +148,10 @@
     "owner": "DrFaust92",
     "provider-source-address": "registry.terraform.io/DrFaust92/bitbucket",
     "repo": "terraform-provider-bitbucket",
-    "rev": "v2.4.1",
-    "sha256": "07y0biab2g6plkyp8scqf7b12alijnxq2zqqr05lbm6wgrc22kvk",
-    "vendorSha256": null,
-    "version": "2.4.1"
+    "rev": "v2.8.0",
+    "sha256": "sha256-W+mAud3DpBViLeFwXLWIwZ1+TOco8FWZnVrIbHUwgIU=",
+    "vendorSha256": "sha256-hSMVLDZXC9QMpcgREjEUjhxArtotrIrIyfdNIZw8uM4=",
+    "version": "2.8.0"
   },
   "brightbox": {
     "owner": "brightbox",
@@ -166,10 +166,10 @@
     "owner": "checkly",
     "provider-source-address": "registry.terraform.io/checkly/checkly",
     "repo": "terraform-provider-checkly",
-    "rev": "v1.4.2",
-    "sha256": "1wd9834d3yi2y35yrcrgxmzijrb2ymz11gqmva9m1hd10i0aqj9f",
-    "vendorSha256": "0pjxrdpsn99g6hjp0flrk7czjb05ibnsjcggrvvpwzrbj55rqzgd",
-    "version": "1.4.2"
+    "rev": "v1.4.3",
+    "sha256": "sha256-5VF1cAFgdm2TR4wvuNlycpgQuVdHesFYnTv34MeauxY=",
+    "vendorSha256": "sha256-7X2cS5Erf373zu8xqe2KBSz52ZmZOnAlNC8lq2/LXV4=",
+    "version": "1.4.3"
   },
   "checkpoint": {
     "deleteVendor": true,
@@ -194,10 +194,10 @@
     "owner": "cloudflare",
     "provider-source-address": "registry.terraform.io/cloudflare/cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v3.9.1",
-    "sha256": "02kyjf2mizvxv1a2fkw2wsk0gmilj83sj3qv1d7g0wxxkxx00nd2",
-    "vendorSha256": "167jafxr4g43y9gvqjq5z7vd9cyf15d69wbrdvqsfzj8sszqfq5l",
-    "version": "3.9.1"
+    "rev": "v3.10.1",
+    "sha256": "sha256-2Ulavo82Y8dEOXtgpbgCwuCTOhAEoOFbgL4bK5HXQlY=",
+    "vendorSha256": "sha256-CgK1/Ddau3glxmzb7Y6o1RZbMV8dwA84F6n2OzuyZrU=",
+    "version": "3.10.1"
   },
   "cloudfoundry": {
     "owner": "cloudfoundry-community",
@@ -257,10 +257,10 @@
     "owner": "DataDog",
     "provider-source-address": "registry.terraform.io/DataDog/datadog",
     "repo": "terraform-provider-datadog",
-    "rev": "v3.8.1",
-    "sha256": "0mvl80dsqzab1r3p5n446737dadzfbsyfbdy2w2xvmz4fgx6aklh",
-    "vendorSha256": "0p8czqb4hn5z9bfgsfajdpx46hwil0ax75j8xljlh1ccvpp2rvyz",
-    "version": "3.8.1"
+    "rev": "v3.9.0",
+    "sha256": "sha256-CncMqWIa1JiHkIkNAgIQl4fcKZVKZGD4BZSjuv5cw18=",
+    "vendorSha256": "sha256-U1gVP4o1mj21NW9z8jyV5KhuJNJRYAV1Qvg1fV1zGO4=",
+    "version": "3.9.0"
   },
   "dhall": {
     "owner": "awakesecurity",
@@ -275,10 +275,10 @@
     "owner": "digitalocean",
     "provider-source-address": "registry.terraform.io/digitalocean/digitalocean",
     "repo": "terraform-provider-digitalocean",
-    "rev": "v2.17.1",
-    "sha256": "0dfw4sjmsfzrs28gf5k4vqjs6phwa6w3pwi7fpbngnw6l2r4m6h9",
+    "rev": "v2.18.0",
+    "sha256": "sha256-MuJpBLOB8AeAlNhQC+rwT6mkZriU4+XgAqQY33xjFck=",
     "vendorSha256": null,
-    "version": "2.17.1"
+    "version": "2.18.0"
   },
   "dme": {
     "owner": "DNSMadeEasy",
@@ -329,19 +329,19 @@
     "owner": "phillbaker",
     "provider-source-address": "registry.terraform.io/phillbaker/elasticsearch",
     "repo": "terraform-provider-elasticsearch",
-    "rev": "v2.0.0-beta.4",
-    "sha256": "0ypw916sziy8dhvbv96f7d4as08ps18xxx8h6ip69mk74vf029sm",
-    "vendorSha256": "1w92k895ikrqm9n1hf36wlh9nq278vifl3r14v0rxa8g9awizfdr",
-    "version": "2.0.0-beta.4"
+    "rev": "v2.0.0",
+    "sha256": "sha256-wl8pRAB97JObpZvi2rdyDZP5itKcOnm6Gsbku1+5oqQ=",
+    "vendorSha256": "sha256-OCXTZg0JkaxJDEgoF2Qs4BcMSiYkQpLmehWdCpEmTzk=",
+    "version": "2.0.0"
   },
   "exoscale": {
     "owner": "exoscale",
     "provider-source-address": "registry.terraform.io/exoscale/exoscale",
     "repo": "terraform-provider-exoscale",
-    "rev": "v0.32.0",
-    "sha256": "1jnpbw50cqzkxr1xgxxnkg0fp65mz84v9fqxpv4j29djgvi94w2m",
+    "rev": "v0.33.0",
+    "sha256": "sha256-mih0Bo6fcNgpyeCQ+GWSPyTrPlGzmBXkEO43TOVWMds=",
     "vendorSha256": null,
-    "version": "0.32.0"
+    "version": "0.33.0"
   },
   "external": {
     "owner": "hashicorp",
@@ -356,10 +356,10 @@
     "owner": "fastly",
     "provider-source-address": "registry.terraform.io/fastly/fastly",
     "repo": "terraform-provider-fastly",
-    "rev": "v1.1.1",
-    "sha256": "1n7lwvfp4y0k1rh13jz94im367h6mxmvglik2nddq58pmxwns2lz",
+    "rev": "v1.1.2",
+    "sha256": "sha256-CxyVW9uE9mK+ZF8fyjAsrFKY82xAyGn9k1jOFqTaAhA=",
     "vendorSha256": null,
-    "version": "1.1.1"
+    "version": "1.1.2"
   },
   "flexibleengine": {
     "owner": "FlexibleEngineCloud",
@@ -392,39 +392,39 @@
     "owner": "integrations",
     "provider-source-address": "registry.terraform.io/integrations/github",
     "repo": "terraform-provider-github",
-    "rev": "v4.20.1",
-    "sha256": "1kqi41g1lw2phar7gy35rf92qb5s32p7q780d9wrmyimriwhlh4j",
+    "rev": "v4.21.0",
+    "sha256": "sha256-ayL22zlfZkGL/ycyQX384g7CjFHDgK8k010kg1fI4h4=",
     "vendorSha256": null,
-    "version": "4.20.1"
+    "version": "4.21.0"
   },
   "gitlab": {
     "owner": "gitlabhq",
     "provider-source-address": "registry.terraform.io/gitlabhq/gitlab",
     "repo": "terraform-provider-gitlab",
-    "rev": "v3.11.1",
-    "sha256": "19l2m1d8jn5c8kd39fhw34f805ckad36vs4a2xalpb3whj89sfwy",
-    "vendorSha256": "0flvda6jrq5ff8lk0405bxs90rwpaw3aci85bfd9k258sp3ign9s",
-    "version": "3.11.1"
+    "rev": "v3.12.0",
+    "sha256": "sha256-6CrM2Pt4yB0ZaXvcgUPreIhJrUhXCNt/xt+fExzGJqc=",
+    "vendorSha256": "sha256-78/7+t75xFjLt1JfoVpHVPlM7q5BX+NI/I9ugfjdv+g=",
+    "version": "3.12.0"
   },
   "google": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google",
     "proxyVendor": true,
     "repo": "terraform-provider-google",
-    "rev": "v4.12.0",
-    "sha256": "0yrzzg7b1dqfsz6wpqh869qwdwbi747hr5xwcjycl8mz4ajlwzsz",
-    "vendorSha256": "1rfhcapahzss8frpnyag53r5s7iqwq7ndqjv30bmhzw3ilwgdfdr",
-    "version": "4.12.0"
+    "rev": "v4.13.0",
+    "sha256": "sha256-QSHlnvsWmkdUE7dd6HqzYtyYC+XDW69dIp/h7u1jD9g=",
+    "vendorSha256": "sha256-1tiFBc03RyIAtnu/NqhU3RowM8JhuLNS+blfyjXBcW0=",
+    "version": "4.13.0"
   },
   "google-beta": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google-beta",
     "proxyVendor": true,
     "repo": "terraform-provider-google-beta",
-    "rev": "v4.12.0",
-    "sha256": "0dbhzch3vixl8lpdd39p1crx997kdg25scliha7nj2g7a8cli73y",
-    "vendorSha256": "1rfhcapahzss8frpnyag53r5s7iqwq7ndqjv30bmhzw3ilwgdfdr",
-    "version": "4.12.0"
+    "rev": "v4.13.0",
+    "sha256": "sha256-jjYUijzUgIiSC9eL6rbgtuBSh6bbHLjeifN+GIndrVs=",
+    "vendorSha256": "sha256-1tiFBc03RyIAtnu/NqhU3RowM8JhuLNS+blfyjXBcW0=",
+    "version": "4.13.0"
   },
   "grafana": {
     "owner": "grafana",
@@ -511,10 +511,10 @@
     "owner": "IBM-Cloud",
     "provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
     "repo": "terraform-provider-ibm",
-    "rev": "v1.39.1",
-    "sha256": "1f7zhczsz9w4lk2fzcbk1w1pjwnmbgn7lk8nsyk5azkspbf4hjzv",
-    "vendorSha256": "1dhm99h7srnfwscdqy2zaj3wjdb0v1ybb7arv60522xvhsdnb99r",
-    "version": "1.39.1"
+    "rev": "v1.39.2",
+    "sha256": "sha256-9r0tt0N3m/IYq/9oepQ4DcB78ds8pb1up1TyjFYzX1U=",
+    "vendorSha256": "sha256-8qgm1zDdwKNE/bs1n5cpY/DUD3SKtFmnvEgwtKorASk=",
+    "version": "1.39.2"
   },
   "icinga2": {
     "owner": "Icinga",
@@ -565,10 +565,10 @@
     "owner": "kingsoftcloud",
     "provider-source-address": "registry.terraform.io/kingsoftcloud/ksyun",
     "repo": "terraform-provider-ksyun",
-    "rev": "v1.3.41",
-    "sha256": "0p8fl7dkp2nfw73ij769svm83cpvi1rw3aykf0qx33n9si78m892",
-    "vendorSha256": "1pm4kld23mvgs14z54fpfdvnj0alm8frkkmf0851hi58nazc54dq",
-    "version": "1.3.41"
+    "rev": "v1.3.42",
+    "sha256": "sha256-wj4o2XSz8ylZJdseIi/TadlhOwFWZ6nfDOUezbeGYw4=",
+    "vendorSha256": "sha256-nbAEaRFtFtB4ftLgnCv3MmkjFFbcNkCuxZc+G8/ObPE=",
+    "version": "1.3.42"
   },
   "kubectl": {
     "owner": "gavinbunney",
@@ -610,10 +610,10 @@
     "owner": "linode",
     "provider-source-address": "registry.terraform.io/linode/linode",
     "repo": "terraform-provider-linode",
-    "rev": "v1.25.2",
-    "sha256": "18w9x80zary64873d1r824g28l5dhkda1qq0lr895afwh8g11dfp",
-    "vendorSha256": "0c882yafydhdhnp5awb8llzbmiljfdbamqlx740347ywpliy0ga2",
-    "version": "1.25.2"
+    "rev": "v1.26.1",
+    "sha256": "sha256-bd0raIIh/VmTlSVYnNd98fpppRKnO46g8FI5OwZPjMg=",
+    "vendorSha256": "sha256-SCTWvTgJ0QYh2DEbTI9coa3Fp4fBHusytF+JFzAq2XA=",
+    "version": "1.26.1"
   },
   "linuxbox": {
     "owner": "numtide",
@@ -628,10 +628,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/local",
     "repo": "terraform-provider-local",
-    "rev": "v2.1.0",
-    "sha256": "0lv1mvy4pkx0sc49xny4j0h30m64lvr3rnmqk85i5p0xhyn77gf2",
-    "vendorSha256": null,
-    "version": "2.1.0"
+    "rev": "v2.2.2",
+    "sha256": "sha256-JpTdRi9EagrnhYnlq6sl6+t4SE6i7T7YrGTsYCDync8=",
+    "vendorSha256": "sha256-Ha/MGbXwwhbVxaHbkU2xBhyNcDxLivk7vYQjfVzWOcY=",
+    "version": "2.2.2"
   },
   "logicmonitor": {
     "deleteVendor": true,
@@ -719,10 +719,10 @@
     "owner": "newrelic",
     "provider-source-address": "registry.terraform.io/newrelic/newrelic",
     "repo": "terraform-provider-newrelic",
-    "rev": "v2.39.0",
-    "sha256": "03raj9a0qxvss03ab78pdqwbkc4hc95khzi7lg1a156vxfnibdr2",
-    "vendorSha256": "0sch3wdgy6mx8a983miwi5ihky2j4mzvcg8wilwlp7nsgrfv6ghc",
-    "version": "2.39.0"
+    "rev": "v2.39.2",
+    "sha256": "sha256-NfszsBliZAjY52kPWB7yhOEYZB2V4yOp6IDffF7EG6k=",
+    "vendorSha256": "sha256-DD6zXX7anks5jRw9tn8lUvgJY4k81oGSQr0a/xofkGk=",
+    "version": "2.39.2"
   },
   "nomad": {
     "owner": "hashicorp",
@@ -771,22 +771,22 @@
     "version": "1.3.0"
   },
   "oci": {
-    "owner": "terraform-providers",
-    "provider-source-address": "registry.terraform.io/hashicorp/oci",
+    "owner": "oracle",
+    "provider-source-address": "registry.terraform.io/oracle/oci",
     "repo": "terraform-provider-oci",
-    "rev": "v4.66.0",
-    "sha256": "0iyh87ckv18f3krlhklj07shv5jwskp6fd70fq3zzfdl07jyy429",
+    "rev": "v4.68.0",
+    "sha256": "sha256-f1Nk5NurQvJuGyGrZQnZIXIpaH1qFAX+oTBNan6rORI=",
     "vendorSha256": null,
-    "version": "4.66.0"
+    "version": "4.68.0"
   },
   "okta": {
     "owner": "okta",
     "provider-source-address": "registry.terraform.io/okta/okta",
     "repo": "terraform-provider-okta",
-    "rev": "v3.22.0",
-    "sha256": "1fsxdljpyb9qxc32jgi1yrwrs8rb8iz7ld11a0sm65qhh5yvl5jh",
-    "vendorSha256": "0l0di6cmm41z7i4d498xxc8wcrbg6r9w4vcdksqhz92s1gqs3f4z",
-    "version": "3.22.0"
+    "rev": "v3.22.1",
+    "sha256": "sha256-G1KJJSxJmzFlIUWOs+7htcgp61oWCu+ryCKaIHzxhzw=",
+    "vendorSha256": "sha256-n7ih8QtapA+xno1twlM2b2XGEesdJdJIPD+QWpmJDVA=",
+    "version": "3.22.1"
   },
   "oktaasa": {
     "owner": "oktadeveloper",
@@ -811,10 +811,10 @@
     "owner": "OpenNebula",
     "provider-source-address": "registry.terraform.io/OpenNebula/opennebula",
     "repo": "terraform-provider-opennebula",
-    "rev": "v0.4.1",
-    "sha256": "13z14p8zkrmffai5pdiwi33xsznan015nl9b9cfyxi1is4m5i41m",
-    "vendorSha256": "0qyzavig8wnnjzm63pny5azywqyrnjm978yg5y0sr6zw8wghjd15",
-    "version": "0.4.1"
+    "rev": "v0.4.2",
+    "sha256": "sha256-h2trcyXJcdWQyonjdDLkJkcawE4AoFYnzLZtKPotMY0=",
+    "vendorSha256": "sha256-JTQJH0f8m6yBL8+jk6q02WPuvyre3mHql9Zy9OJW32M=",
+    "version": "0.4.2"
   },
   "openstack": {
     "owner": "terraform-provider-openstack",
@@ -829,10 +829,10 @@
     "owner": "opentelekomcloud",
     "provider-source-address": "registry.terraform.io/opentelekomcloud/opentelekomcloud",
     "repo": "terraform-provider-opentelekomcloud",
-    "rev": "v1.27.6",
-    "sha256": "1vq2h4ldvskw874fdnjqh1np5z09dh3q3lrqjmfand8ksrzacjjm",
-    "vendorSha256": "0bkya9ckh82bacaksqbb6010fwclz9wh1b5k1s9z9d0d6bgvf60m",
-    "version": "1.27.6"
+    "rev": "v1.27.7",
+    "sha256": "sha256-8y++zfxRam4sZvGWajyGiPv/5G8K7D4+ReNU7DBlqe8=",
+    "vendorSha256": "sha256-OqN+QGclKYo4jjQi0HJ/80zVTPkcOQyl4n6i2BpDZQE=",
+    "version": "1.27.7"
   },
   "opsgenie": {
     "owner": "opsgenie",
@@ -991,10 +991,10 @@
     "owner": "splunk-terraform",
     "provider-source-address": "registry.terraform.io/splunk-terraform/signalfx",
     "repo": "terraform-provider-signalfx",
-    "rev": "v6.9.0",
-    "sha256": "08p33mjshi3m36yxhlvlsghnqmw2pnihglxm2p9iapi0zg3wxqbq",
-    "vendorSha256": "0hw7gz08k27kswbn42kab730f8gj2sjksmkc662hb9nbq8ykazbd",
-    "version": "6.9.0"
+    "rev": "v6.10.0",
+    "sha256": "sha256-ZfNxab95ZDz68fEPfYd+w0E/fS/FPBVIs4kHTBhG858=",
+    "vendorSha256": "sha256-bX01PcLLpgWFMWxWPaUW8iEHxllqCmIX1/OIicB/h0M=",
+    "version": "6.10.0"
   },
   "skytap": {
     "owner": "skytap",
@@ -1027,10 +1027,10 @@
     "owner": "spotinst",
     "provider-source-address": "registry.terraform.io/spotinst/spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.68.0",
-    "sha256": "0llyy4rskspw4cy8jdbk175rli9s53mabj4b9yarm7apg17ai399",
-    "vendorSha256": "0j0airkc1p0y9w1w40fbwxmymf8rbal2ycrkp31x1c06f8s4lhzm",
-    "version": "1.68.0"
+    "rev": "v1.69.0",
+    "sha256": "sha256-pTQvqjh52B9w383yLvhNjDujSgQI1k8WpA1vpcY7RKI=",
+    "vendorSha256": "sha256-X7K0eHbmGBYnJ5ovnD/y6O9r7TTHgK7f7s9w4R5ThBU=",
+    "version": "1.69.0"
   },
   "stackpath": {
     "owner": "stackpath",
@@ -1045,10 +1045,10 @@
     "owner": "StatusCakeDev",
     "provider-source-address": "registry.terraform.io/StatusCakeDev/statuscake",
     "repo": "terraform-provider-statuscake",
-    "rev": "v1.0.1",
-    "sha256": "16pwsna1bkrdppxn2vjgbx552vsg4f2igykcb26mw3vp6n9piwfl",
-    "vendorSha256": null,
-    "version": "1.0.1"
+    "rev": "v2.0.0-pre",
+    "sha256": "sha256-S9VJRGREoRJPIb9gv822Y/8ZRa0x7WoPjU7BxLlRpOM=",
+    "vendorSha256": "sha256-wKrbjxRCDk8GFAR0OFz4w9UnkIXH9EO/S+p2RKNLJaM=",
+    "version": "2.0.0-pre"
   },
   "sumologic": {
     "owner": "SumoLogic",
@@ -1072,10 +1072,10 @@
     "owner": "tencentcloudstack",
     "provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.63.0",
-    "sha256": "1d5mzmr5r01gqf519r7f3mfcm1w7hryansymwazjbwy2rxpsn958",
+    "rev": "v1.65.0",
+    "sha256": "sha256-NpKZ4KbEDxCYmG2E4F/bHEUmK6invkcIaNkXDZjhmDI=",
     "vendorSha256": null,
-    "version": "1.63.0"
+    "version": "1.65.0"
   },
   "tfe": {
     "owner": "hashicorp",
@@ -1200,10 +1200,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/vsphere",
     "repo": "terraform-provider-vsphere",
-    "rev": "v2.1.0",
-    "sha256": "193qprm7psx0gshv5q7idm05k78rpi2vpdg5pgs7bq1wpzlaqrpa",
+    "rev": "v2.1.1",
+    "sha256": "sha256-Xu5BMmOHEX+ctPu8374BDGsRC5hnvzji5oI69ptIi3Y=",
     "vendorSha256": null,
-    "version": "2.1.0"
+    "version": "2.1.1"
   },
   "vultr": {
     "owner": "vultr",
@@ -1218,10 +1218,10 @@
     "owner": "vmware",
     "provider-source-address": "registry.terraform.io/vmware/wavefront",
     "repo": "terraform-provider-wavefront",
-    "rev": "v3.0.0",
-    "sha256": "1awi74b7ny021krck0vp1gv6v93a4h0rgdl5xib82lf5pxnx4wgn",
-    "vendorSha256": "0gbwj4cqywip22irkx9hyghy6zx9dirm6gd3i70nclchvkg9dm1x",
-    "version": "3.0.0"
+    "rev": "v3.0.1",
+    "sha256": "sha256-6SQjYaN0yhcHdmM+vGvIDPHKxN34ns3Yz+CMTEo13s0=",
+    "vendorSha256": "sha256-PdSW3tyQUWbBiaM9U3NsqX/j4fMw9ZmjEDdyjxmRfD0=",
+    "version": "3.0.1"
   },
   "yandex": {
     "owner": "yandex-cloud",
diff --git a/pkgs/applications/networking/cluster/terraform-providers/update-all-providers b/pkgs/applications/networking/cluster/terraform-providers/update-all-providers
index 57e1ab32f08..d7a05cf24a6 100755
--- a/pkgs/applications/networking/cluster/terraform-providers/update-all-providers
+++ b/pkgs/applications/networking/cluster/terraform-providers/update-all-providers
@@ -5,7 +5,7 @@
 # Update all providers which have specified provider source address
 set -euo pipefail
 
-providers=$(
+readarray -t providers < <(
   jq -r 'to_entries
   | map_values(.value + { alias: .key })
   | .[]
@@ -13,10 +13,13 @@ providers=$(
   | .alias' providers.json
 )
 
-echo "Will update providers:"
-echo "${providers}"
+cat <<EOF
+Will update ${#providers[@]} providers:
 
-for provider in ${providers}; do
-  echo "Updating ${provider}"
+${providers[*]}
+
+EOF
+
+for provider in "${providers[@]}"; do
   ./update-provider "$@" "${provider}"
 done
diff --git a/pkgs/applications/networking/cluster/terraform-providers/update-provider b/pkgs/applications/networking/cluster/terraform-providers/update-provider
index 255e82aee1d..4310fcdcc27 100755
--- a/pkgs/applications/networking/cluster/terraform-providers/update-provider
+++ b/pkgs/applications/networking/cluster/terraform-providers/update-provider
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -I nixpkgs=../../../../.. -i bash -p coreutils curl jq moreutils nix nix-prefetch
+#! nix-shell -I nixpkgs=../../../../.. -i bash -p coreutils curl git jq moreutils nix nix-prefetch
 # shellcheck shell=bash
 # vim: ft=sh
 #
@@ -75,45 +75,46 @@ if [[ -z ${provider} ]]; then
   exit 1
 fi
 
-provider_name=$(basename "${provider}")
-
 # Usage: read_attr <key>
 read_attr() {
-  jq -r ".\"${provider_name}\".\"$1\"" providers.json
+  jq -r ".\"${provider}\".\"$1\"" providers.json
 }
 
 # Usage: update_attr <key> <value>
 update_attr() {
   if [[ $2 == "null" ]]; then
-    jq -S ".\"${provider_name}\".\"$1\" = null" providers.json | sponge providers.json
+    jq -S ".\"${provider}\".\"$1\" = null" providers.json | sponge providers.json
   else
-    jq -S ".\"${provider_name}\".\"$1\" = \"$2\"" providers.json | sponge providers.json
+    jq -S ".\"${provider}\".\"$1\" = \"$2\"" providers.json | sponge providers.json
   fi
 }
 
-prefetch_github() {
-  # of a given owner, repo and rev, fetch the tarball and return the output of
-  # `nix-prefetch-url`
-  local owner=$1
-  local repo=$2
-  local rev=$3
-  nix-prefetch-url --unpack "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz"
+repo_root=$(git rev-parse --show-toplevel)
+
+generate_hash() {
+  nix-prefetch -I nixpkgs="${repo_root}" \
+    "{ sha256 }: (import ${repo_root} {}).terraform-providers.${provider}.$1.overrideAttrs (_: { $2 = sha256; })"
 }
 
-old_source_address="$(read_attr provider-source-address)"
-old_vendor_sha256=$(read_attr vendorSha256)
-old_version=$(read_attr version)
+echo_provider() {
+  echo "== terraform-providers.${provider}: $* =="
+}
 
 if [[ ${provider} =~ ^[^/]+/[^/]+$ ]]; then
+  echo_provider "init"
   source_address=registry.terraform.io/${provider}
+  provider=$(basename "${provider}")
+  update_attr "provider-source-address" "${source_address}"
+  update_attr version "0"
+  # create empty stings so nix-prefetch works
+  update_attr sha256 ""
+  update_attr vendorSha256 ""
 else
-  source_address=${old_source_address}
-fi
-if [[ ${source_address} == "null" ]]; then
-  echo "Could not find the source address for provider: ${provider}"
-  exit 1
+  source_address="$(read_attr provider-source-address)"
 fi
-update_attr "provider-source-address" "${source_address}"
+
+old_vendor_sha256=$(read_attr vendorSha256)
+old_version=$(read_attr version)
 
 # The provider source address (used inside Terraform `required_providers` block) is
 # used to compute the registry API endpoint
@@ -125,8 +126,10 @@ registry_response=$(curl -s https://"${source_address/\///v1/providers/}")
 
 version="$(jq -r '.version' <<<"${registry_response}")"
 if [[ ${old_version} == "${version}" && ${force} != 1 && -z ${vendorSha256} && ${old_vendor_sha256} != "${vendorSha256}" ]]; then
-  echo "${provider_name} is already at version ${version}"
+  echo_provider "already at version ${version}"
   exit
+else
+  echo_provider "updating from ${old_version} to ${version}"
 fi
 update_attr version "${version}"
 
@@ -138,28 +141,23 @@ repo="$(echo "${provider_source_url}" | cut -d '/' -f 5)"
 update_attr repo "${repo}"
 rev="$(jq -r '.tag' <<<"${registry_response}")"
 update_attr rev "${rev}"
-sha256=$(prefetch_github "${org}" "${repo}" "${rev}")
+echo_provider "calculating sha256"
+sha256=$(generate_hash src outputHash)
 update_attr sha256 "${sha256}"
 
 if [[ -z ${vendorSha256} ]]; then
   if [[ ${old_vendor_sha256} == null ]]; then
     vendorSha256=null
-  elif [[ -n ${old_vendor_sha256} ]]; then
-    echo "=== Calculating vendorSha256 ==="
-    vendorSha256=$(nix-prefetch -I nixpkgs=../../../../.. "{ sha256 }: (import ../../../../.. {}).terraform-providers.${provider_name}.go-modules.overrideAttrs (_: { vendorSha256 = sha256; })")
-    # Deal with nix unstable
-    if [[ ${vendorSha256} == sha256-* ]]; then
-      vendorSha256=$(nix --extra-experimental-features nix-command hash to-base32 "${vendorSha256}")
-    fi
+  else
+    echo_provider "calculating vendorSha256"
+    vendorSha256=$(generate_hash go-modules vendorSha256)
   fi
 fi
 
-if [[ -n ${vendorSha256} ]]; then
-  update_attr vendorSha256 "${vendorSha256}"
-fi
+update_attr vendorSha256 "${vendorSha256}"
 
 # Check that the provider builds
 if [[ ${build} == 1 ]]; then
-  echo "=== Building terraform-providers.${provider_name} ==="
-  nix-build --no-out-link ../../../../.. -A "terraform-providers.${provider_name}"
+  echo_provider "building"
+  nix-build --no-out-link "${repo_root}" -A "terraform-providers.${provider}"
 fi
diff --git a/pkgs/applications/networking/cluster/tfswitch/default.nix b/pkgs/applications/networking/cluster/tfswitch/default.nix
index f8473481cc0..3e872c27142 100644
--- a/pkgs/applications/networking/cluster/tfswitch/default.nix
+++ b/pkgs/applications/networking/cluster/tfswitch/default.nix
@@ -1,16 +1,16 @@
 { buildGoModule, lib, fetchFromGitHub }:
 buildGoModule rec {
   pname = "tfswitch";
-  version = "0.13.1201";
+  version = "0.13.1218";
 
   src = fetchFromGitHub {
     owner = "warrensbox";
     repo = "terraform-switcher";
     rev = version;
-    sha256 = "sha256-gJa8oVdgerDi0GdTSNus5rHLsFuzg8ZqVeKTMuPXu0o=";
+    sha256 = "sha256-RJdbNXO+6TqFLapWiZ1UeXGS5522ykQvhhNDEHPr8xE=";
   };
 
-  vendorSha256 = "sha256-z3UDrwlMHFFH56U3oylSWE3wqWOCA4RI2smafHHwYkQ=";
+  vendorSha256 = "sha256-Xqgki072Iy+snRriPVJ9oaDNJ/LiKL+AuU+eVw0zlDU=";
 
   # Disable tests since it requires network access and relies on the
   # presence of release.hashicorp.com
diff --git a/pkgs/applications/networking/cluster/tgswitch/default.nix b/pkgs/applications/networking/cluster/tgswitch/default.nix
index 560e593ba19..5f669a6b9d8 100644
--- a/pkgs/applications/networking/cluster/tgswitch/default.nix
+++ b/pkgs/applications/networking/cluster/tgswitch/default.nix
@@ -1,13 +1,13 @@
 { buildGoPackage, lib, fetchFromGitHub }:
 buildGoPackage rec {
   pname = "tgswitch";
-  version = "0.5.382";
+  version = "0.5.389";
 
   src = fetchFromGitHub {
     owner = "warrensbox";
     repo = "tgswitch";
     rev = version;
-    sha256 = "sha256-DbPf1o1XlXLpuYSrNMRwHRqi/urQhSfzPW5BPIvZC/Y=";
+    sha256 = "sha256-6hErfI7LEJFgOoJR8IF9jTSBwqbQYeGiwdeJShqxVQ0=";
   };
 
   goPackagePath = "github.com/warrensbox/tgswitch";
diff --git a/pkgs/applications/networking/cluster/vcluster/default.nix b/pkgs/applications/networking/cluster/vcluster/default.nix
index b41e443ba32..7f1476d7fbf 100644
--- a/pkgs/applications/networking/cluster/vcluster/default.nix
+++ b/pkgs/applications/networking/cluster/vcluster/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vcluster";
-  version = "0.5.3";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "loft-sh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+rLDRVfB6wZ1wYoLE2wwRxzS6GmI6KYtOKdXZd+LnnU=";
+    sha256 = "sha256-kY12bsZyDb36KE2dWx6RVYlKTbJh+XFQcBpFXoCLgEM=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/velero/default.nix b/pkgs/applications/networking/cluster/velero/default.nix
index e0042e43efb..88c3a31fd2d 100644
--- a/pkgs/applications/networking/cluster/velero/default.nix
+++ b/pkgs/applications/networking/cluster/velero/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "velero";
-  version = "1.8.0";
+  version = "1.8.1";
 
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "velero";
     rev = "v${version}";
-    sha256 = "sha256-tQGAzQFrpCUAEzdd5vr4j2oIb6TKeN9DQm96TdP0n40=";
+    sha256 = "sha256-oiYr9JQlJVxjZxGhZyOIUy934KedBmDhzK+71qmaD58=";
   };
 
   ldflags = [
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index f8dcbc0183a..0b8650f3f7d 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -11,15 +11,15 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.73";
+  version = "1.2.74";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    sha256 = "sha256-E16p40Pmr9o2946XlO3TUE/xUueG0NBWux23MgAVLlI=";
+    sha256 = "sha256-Mfgvl6ljmYn9Vu/tWS0JAuH1pzQZ4zoD5+5ejUJF/Lg=";
   };
-  vendorSha256 = "sha256-NHeUj1JWRqElY2BpQ+7ANqwlOYQ5H2R00LGqktcsoF4=";
+  vendorSha256 = "sha256-MsIbuwsb0sKEh3Z7ArtG/8SWFPaXLu+TGNruhsHhtb4=";
   proxyVendor = true;
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 7f18fe2f51c..f4a2306017a 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.2";
+  version = "3.3.3";
 
   # Fetch from GitHub in order to use `requirements.in`
   src = fetchFromGitHub {
     owner = "flexget";
     repo = "flexget";
     rev = "v${version}";
-    hash = "sha256-Z2JYFnE9g2bWaR+Ghxg3zJUD0Ja8/od52jkOVWEqeVE=";
+    hash = "sha256-a76x4Klad3lct2M9RxSroUYKmEX7lPqDN+dFvfjavo8=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/alfaview/default.nix b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
index 764ba6a0d79..ebed984c4d5 100644
--- a/pkgs/applications/networking/instant-messengers/alfaview/default.nix
+++ b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alfaview";
-  version = "8.37.0";
+  version = "8.40.0";
 
   src = fetchurl {
     url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb";
-    sha256 = "sha256-hU4tqDu95ej8ChiWJq3ZPhEwxBcmTQkA/n///pPVa5U=";
+    sha256 = "sha256-meiIDIG7OXxF2aclHA/8FN8aSz5KWJliDbm2p/flD4k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/cinny/default.nix b/pkgs/applications/networking/instant-messengers/cinny/default.nix
index c46c19896d5..1ca42b15417 100644
--- a/pkgs/applications/networking/instant-messengers/cinny/default.nix
+++ b/pkgs/applications/networking/instant-messengers/cinny/default.nix
@@ -4,11 +4,11 @@ let
   configOverrides = writeText "cinny-config-overrides.json" (builtins.toJSON conf);
 in stdenv.mkDerivation rec {
   pname = "cinny";
-  version = "1.7.0";
+  version = "1.8.1";
 
   src = fetchurl {
     url = "https://github.com/ajbura/cinny/releases/download/v${version}/cinny-v${version}.tar.gz";
-    sha256 = "0133dbzxy0n0i6bn2p3lx33kpabnf9kzs9mv4xws30hbns25q99k";
+    sha256 = "13jd7hihkw3nlcj0m157z6qix61v6zjs52h5zmw2agm47qmv0w6z";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
index 6d3353c2515..984a9cb501d 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "element-desktop",
   "productName": "Element",
   "main": "lib/electron-main.js",
-  "version": "1.10.6",
+  "version": "1.10.7",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
diff --git a/pkgs/applications/networking/instant-messengers/element/pin.json b/pkgs/applications/networking/instant-messengers/element/pin.json
index d1fb0fe1c62..f75dfc66ca9 100644
--- a/pkgs/applications/networking/instant-messengers/element/pin.json
+++ b/pkgs/applications/networking/instant-messengers/element/pin.json
@@ -1,6 +1,6 @@
 {
-  "version": "1.10.6",
-  "desktopSrcHash": "TJGYavawLDLbP9Sg7HxIcOkr7hcTfAwk4fyOOEv4KhI=",
+  "version": "1.10.7",
+  "desktopSrcHash": "HkGny9t8dNzVGyyqgr4tABbFZgWV4xqGZt9xH4ejkew=",
   "desktopYarnHash": "038rqg26dn8chzscck5mlhnw2viy6gr8pjb7zrcmi7ipx9h038a0",
-  "webHash": "1wax4h5gfcq4giyq1igsix748cngky487kwvf69zb1gz95hjds9r"
+  "webHash": "0gim79a1zpfc56ca5fndp2whmlv9jz1s32z666i268xppn4z53k1"
 }
diff --git a/pkgs/applications/networking/instant-messengers/ferdi/default.nix b/pkgs/applications/networking/instant-messengers/ferdi/default.nix
index 92e39f091b1..0a44a37cf4b 100644
--- a/pkgs/applications/networking/instant-messengers/ferdi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ferdi/default.nix
@@ -17,10 +17,10 @@ in
 mkFranzDerivation' rec {
   pname = "ferdi";
   name = "Ferdi";
-  version = "5.7.0";
+  version = "5.8.0";
   src = fetchurl {
     url = "https://github.com/getferdi/ferdi/releases/download/v${version}/ferdi_${version}_amd64.deb";
-    sha256 = "sha256-WwtnYNjXHk80o1wMsEBoaT9j0+4TWTfWhuVpGHaZB7c=";
+    sha256 = "sha256-Dd/iH9dtr4WvM++bSURF8kI6BsF6uBiSFviC/ik2H+o=";
   };
   extraBuildInputs = [ xorg.libxshmfence ];
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/mirage/default.nix b/pkgs/applications/networking/instant-messengers/mirage/default.nix
index f35db8e3a11..bfe11b27218 100644
--- a/pkgs/applications/networking/instant-messengers/mirage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mirage/default.nix
@@ -65,6 +65,7 @@ mkDerivation rec {
     setuptools
     watchgod
     dbus-python
+    matrix-nio
   ];
 
   qmakeFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/neochat/default.nix b/pkgs/applications/networking/instant-messengers/neochat/default.nix
index 6de6922913f..a8e73ad1098 100644
--- a/pkgs/applications/networking/instant-messengers/neochat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/neochat/default.nix
@@ -8,6 +8,7 @@
 , kconfig
 , kdbusaddons
 , ki18n
+, kio
 , kirigami2
 , kitemmodels
 , knotifications
@@ -16,23 +17,25 @@
 , libquotient
 , libsecret
 , olm
+, qcoro
 , qqc2-desktop-style
 , qtgraphicaleffects
 , qtkeychain
 , qtmultimedia
 , qtquickcontrols2
+, sonnet
 }:
 
 mkDerivation rec {
   pname = "neochat";
-  version = "1.2";
+  version = "22.02";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "network";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Kpv7BY/qS0A3xFlYFhz1RRNwQVsyhOTHHGDbWRTTv1I=";
+    sha256 = "sha256-7EBnHuwpyJ/bGrCldZHWOwcnJWDIDaNWZXHkCYkOTjs=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];
@@ -41,6 +44,7 @@ mkDerivation rec {
     cmark
     kconfig
     kdbusaddons
+    kio
     ki18n
     kirigami2
     kitemmodels
@@ -50,11 +54,13 @@ mkDerivation rec {
     libquotient
     libsecret
     olm
+    qcoro
     qtgraphicaleffects
     qtkeychain
     qtmultimedia
     qtquickcontrols2
     qqc2-desktop-style
+    sonnet
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
index e315938c571..3f6d374c399 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -28,13 +28,13 @@
 
 mkDerivation rec {
   pname = "qtox";
-  version = "1.17.5";
+  version = "1.17.6";
 
   src = fetchFromGitHub {
     owner = "qTox";
     repo = "qTox";
     rev = "v${version}";
-    sha256 = "sha256-H3qFEw/TkzOxEXtZs0k89wWMnhrOkF7VapUKtCUhGns=";
+    sha256 = "sha256-naKWoodSMw0AEtACvkASFmw9t0H0d2pcqOW79NNTYF0=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 228627ec5c3..99ee871c917 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.34.0"; # Please backport all updates to the stable channel.
+  version = "5.35.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-uU4WJtd9qwrjHgsK0oDg/pCf/5lfNhoMDEd/lHUnLwk=";
+    sha256 = "sha256-2KF2OLq6/vHElgloxn+kgQisJC+HAkpOBfsKfEPW35c=";
   };
 
   nativeBuildInputs = [
@@ -147,7 +147,7 @@ in stdenv.mkDerivation rec {
     homepage    = "https://signal.org/";
     changelog   = "https://github.com/signalapp/Signal-Desktop/releases/tag/v${version}";
     license     = lib.licenses.agpl3Only;
-    maintainers = with lib.maintainers; [ ixmatus primeos equirosa ];
+    maintainers = with lib.maintainers; [ mic92 equirosa ];
     platforms   = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index 4766b796a35..a1b897dce22 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 = "20220303";
+  version = "20220314";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    sha256 = "sha256-3fT9cHosg/A/JowIARQ46OxmsQWFOBb7tIiRWVNfUo4=";
+    sha256 = "sha256-E3gH4Ym2tmH9qmbfKWybgO6qUW2rpJQyhBh6LPpfFHE=";
   };
 
   # Remove when Apple SDK is >= 10.13
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 265e72c3867..c23e416d2c6 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -70,7 +70,7 @@ let
 in
 env.mkDerivation rec {
   pname = "telegram-desktop";
-  version = "3.5.2";
+  version = "3.6.0";
   # Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
 
   # Telegram-Desktop with submodules
@@ -79,7 +79,7 @@ env.mkDerivation rec {
     repo = "tdesktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "05324xvb00yz2jfigyy7izk8wnq8phm3sidw62kf7xqyh63qnrzh";
+    sha256 = "0zcjm08nfdlxrsv0fi6dqg3lk52bcvsxnsf6jm5fv6gf5v9ia3hq";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
index a3c61a6f337..200e0e887e3 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation {
   pname = "tg_owt";
-  version = "unstable-2022-02-09";
+  version = "unstable-2022-02-25";
 
   src = fetchFromGitHub {
     owner = "desktop-app";
     repo = "tg_owt";
-    rev = "4cba1acdd718b700bb33945c0258283689d4eac7";
-    sha256 = "0j201x9k38mvcyhf1wlyghyvdpv1l75xwgj9rl2l7r55afrpw4ca";
+    rev = "a264028ec71d9096e0aa629113c49c25db89d260";
+    sha256 = "10p3x8z3ps8s1ivi9y8px2gsg4pvsvz6g9wbgh5w8hilikxqq7r5";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/irc/kirc/default.nix b/pkgs/applications/networking/irc/kirc/default.nix
index 08823cab573..71bd96d3b70 100644
--- a/pkgs/applications/networking/irc/kirc/default.nix
+++ b/pkgs/applications/networking/irc/kirc/default.nix
@@ -5,18 +5,18 @@
 
 stdenv.mkDerivation rec {
   pname = "kirc";
-  version = "0.2.9";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "mcpcpc";
     repo = pname;
     rev = version;
-    hash = "sha256-KRCVjz59SHjk86VgfGxYKk/Ti3o77dV7fdRu9mB3FSo=";
+    hash = "sha256-bLBrkbW/Iv1v9z5NOiMAA/dH5/9FlqusRV5rSqjdlPw=";
   };
 
   dontConfigure = true;
 
-  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+  installFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
     homepage = "http://kirc.io/";
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 80f15eeff3c..541ad8c68f2 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -28,21 +28,21 @@ let
   in
     assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
     stdenv.mkDerivation rec {
-      version = "3.3";
+      version = "3.4.1";
       pname = "weechat";
 
       hardeningEnable = [ "pie" ];
 
       src = fetchurl {
         url = "https://weechat.org/files/src/weechat-${version}.tar.bz2";
-        sha256 = "sha256-GnSi7uMxiyWSQau75q07NlX1ikaBeWOdrzOf9f0jnBM=";
+        sha256 = "sha256-TJ4JI97WiobkBxgnkUGh/XQAIlDV+PDgIxCzTqefiMw=";
       };
 
       outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
 
       cmakeFlags = with lib; [
         "-DENABLE_MAN=ON"
-        "-DENABLE_DOC=ON"
+        "-DENABLE_DOC=OFF"         # TODO: Documentation fails to build, was deactivated to push through security update
         "-DENABLE_JAVASCRIPT=OFF"  # Requires v8 <= 3.24.3, https://github.com/weechat/weechat/issues/360
         "-DENABLE_PHP=OFF"
       ]
diff --git a/pkgs/applications/networking/juju/default.nix b/pkgs/applications/networking/juju/default.nix
index 1adb61b8934..0d57e252e30 100644
--- a/pkgs/applications/networking/juju/default.nix
+++ b/pkgs/applications/networking/juju/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "juju";
-  version = "2.9.11";
+  version = "2.9.26";
 
   src = fetchFromGitHub {
     owner = "juju";
     repo = "juju";
     rev = "juju-${version}";
-    sha256 = "sha256-KcvlnEfDzwhFzwaWLYuRGa8nh6MkjqZ+u+qJSJZl13U=";
+    sha256 = "sha256-phzjjW9KG0Z5WAzxtYdI7i2Nw4FHVNeEJswQreHga4M=";
   };
 
-  vendorSha256 = "sha256-0KGeMJDv1BdqM1/uMk+mKpK+Nejz9PiCAfRy96pu3OQ=";
+  vendorSha256 = "sha256-Jzd6I3a/2Un2a3/T2vzFuHwe9Y3eGEvfpZWSwjWokM0=";
 
   # Disable tests because it attempts to use a mongodb instance
   doCheck = false;
diff --git a/pkgs/applications/networking/mailreaders/himalaya/default.nix b/pkgs/applications/networking/mailreaders/himalaya/default.nix
index 1c2d4110086..27779c96983 100644
--- a/pkgs/applications/networking/mailreaders/himalaya/default.nix
+++ b/pkgs/applications/networking/mailreaders/himalaya/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "himalaya";
-  version = "0.5.8";
+  version = "0.5.9";
 
   src = fetchFromGitHub {
     owner = "soywod";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Ejaspj0YpkGmfO1omOhx8ZDg77J7NqC32mw5Cd3K1FM=";
+    sha256 = "sha256-g+ySsHnJ4FpmJLEjlutuiJmMkKI3Jb+HkWi1WBIo1aw=";
   };
 
-  cargoSha256 = "sha256-xce2iHrqTxIirrut4dN7526pjE4T+ruaDS44jr+KeGs=";
+  cargoSha256 = "sha256-NkkONl57zSilElVAOXUBxWnims4+EIVkkTdExbeBAaQ=";
 
   nativeBuildInputs = lib.optionals enableCompletions [ installShellFiles ]
     ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ pkg-config ];
@@ -34,6 +34,8 @@ rustPlatform.buildRustPackage rec {
       openssl
     ];
 
+  # flag added because without end-to-end testing is ran which requires
+  # additional tooling and servers to test
   cargoTestFlags = [ "--lib" ];
 
   postInstall = lib.optionalString enableCompletions ''
@@ -45,10 +47,10 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "CLI email client written in Rust";
+    description = "Command-line interface for email management";
     homepage = "https://github.com/soywod/himalaya";
     changelog = "https://github.com/soywod/himalaya/blob/v${version}/CHANGELOG.md";
     license = licenses.bsdOriginal;
-    maintainers = with maintainers; [ yanganto ];
+    maintainers = with maintainers; [ toastal yanganto ];
   };
 }
diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix
index 38a1e2ab2aa..a86ac412c14 100644
--- a/pkgs/applications/networking/n8n/node-packages.nix
+++ b/pkgs/applications/networking/n8n/node-packages.nix
@@ -40,13 +40,13 @@ let
         sha512 = "QmmJmexXKtPyc3/rsZR/YTLDvMatzbzAypJmLzvlfxgz/SkgnqV/D4f6F2LsK6tBj1qhyp8BoXiOebiej0zz3A==";
       };
     };
-    "@azure/core-lro-2.2.3" = {
+    "@azure/core-lro-2.2.4" = {
       name = "_at_azure_slash_core-lro";
       packageName = "@azure/core-lro";
-      version = "2.2.3";
+      version = "2.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.2.3.tgz";
-        sha512 = "UMdlR9NsqDCLTba3EUbRjfMF4gDmWvld196JmUjbz9WWhJ2XT00OR5MXeWiR+vmGT+ETiO4hHFCi2/eGO5YVtg==";
+        url = "https://registry.npmjs.org/@azure/core-lro/-/core-lro-2.2.4.tgz";
+        sha512 = "e1I2v2CZM0mQo8+RSix0x091Av493e4bnT22ds2fcQGslTHzM2oTbswkB65nP4iEpCxBrFxOSDPKExmTmjCVtQ==";
       };
     };
     "@azure/core-paging-1.2.1" = {
@@ -103,22 +103,22 @@ let
         sha512 = "UA/8dgLy3+ZiwJjAZHxL4MUB14fFQPkaAOZ94jsTW/Z6WmoOeny2+cLk0+dyIX/iH6qSrEWKwbStEeB970B9pA==";
       };
     };
-    "@azure/storage-blob-12.8.0" = {
+    "@azure/storage-blob-12.9.0" = {
       name = "_at_azure_slash_storage-blob";
       packageName = "@azure/storage-blob";
-      version = "12.8.0";
+      version = "12.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.8.0.tgz";
-        sha512 = "c8+Wz19xauW0bGkTCoqZH4dYfbtBniPiGiRQOn1ca6G5jsjr4azwaTk9gwjVY8r3vY2Taf95eivLzipfIfiS4A==";
+        url = "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.9.0.tgz";
+        sha512 = "ank38FdCLfJ+EoeMzCz3hkYJuZAd63ARvDKkxZYRDb+beBYf+/+gx8jNTqkq/hfyUl4dJQ/a7tECU0Y0F98CHg==";
       };
     };
-    "@babel/runtime-7.17.2" = {
+    "@babel/runtime-7.17.7" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.17.2";
+      version = "7.17.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz";
-        sha512 = "hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.7.tgz";
+        sha512 = "L6rvG9GDxaLgFjg41K+5Yv9OMrU98sWe+Ykmc6FDJW/+vYZMhdOMKkISgzptMaERHvS2Y2lw9MDRm2gHhlQQoA==";
       };
     };
     "@colors/colors-1.5.0" = {
@@ -139,13 +139,13 @@ let
         sha512 = "hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==";
       };
     };
-    "@fontsource/open-sans-4.5.5" = {
+    "@fontsource/open-sans-4.5.6" = {
       name = "_at_fontsource_slash_open-sans";
       packageName = "@fontsource/open-sans";
-      version = "4.5.5";
+      version = "4.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.5.tgz";
-        sha512 = "h1oUPSQpoMnDrnzIZTVS9PPBFhWXS87v6/cd9FY2Xc+GKbOVcjPZxcvUDU1TnCie2QSoYY9aifERRV/d8JHtWQ==";
+        url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.6.tgz";
+        sha512 = "bQuNS0H1VL1VLC6FwmReHlpJaICVe/seODU3Q9cpTQbJ5OtRD4TwWMrAjfTxqcFNollA6O0AlE4BnRSWMQLfvw==";
       };
     };
     "@icetee/ftp-0.3.15" = {
@@ -445,13 +445,13 @@ let
         sha512 = "zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==";
       };
     };
-    "@types/lodash-4.14.179" = {
+    "@types/lodash-4.14.180" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
-      version = "4.14.179";
+      version = "4.14.180";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.179.tgz";
-        sha512 = "uwc1x90yCKqGcIOAT6DwOSuxnrAbpkdPsUOZtwrXb4D/6wZs+6qG7QnIawDuZWg0sWpxl+ltIKCaLoMlna678w==";
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.180.tgz";
+        sha512 = "XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g==";
       };
     };
     "@types/lossless-json-1.0.1" = {
@@ -472,13 +472,13 @@ let
         sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
       };
     };
-    "@types/node-12.20.46" = {
+    "@types/node-12.20.47" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.20.46";
+      version = "12.20.47";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.20.46.tgz";
-        sha512 = "cPjLXj8d6anFPzFvOPxS3fvly3Shm5nTfl6g8X5smexixbuGUf7hfr21J5tX9JW+UPStp/5P5R8qrKL5IyVJ+A==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz";
+        sha512 = "BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==";
       };
     };
     "@types/node-17.0.21" = {
@@ -976,13 +976,13 @@ let
         sha512 = "uUbetCWczQHbsKyX1C99XpQHBM8SWfovvaZhPIj23/1uV7SQf0WeRZbiLpw0JZm+LHTChfNgrLfDJOVoU2kU+A==";
       };
     };
-    "aws-sdk-2.1087.0" = {
+    "aws-sdk-2.1093.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1087.0";
+      version = "2.1093.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1087.0.tgz";
-        sha512 = "m5EERT29Fwh2cv3SaSdygeAjJBXnjSaXRRERy70bf6PQ7KgmASJouBxY11g5G7LTEPK/yfB0TGshujKh3hEtPA==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1093.0.tgz";
+        sha512 = "YD6VNemoKkzDMHsUiGP/MwpM0T20ukp3KTSxPY34Xw3Ww0zP19C54CfjaXhn//R27f2c57BtVez+he2RZ5GwyQ==";
       };
     };
     "aws-sign2-0.7.0" = {
@@ -1471,6 +1471,15 @@ let
         sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
       };
     };
+    "clamp-1.0.1" = {
+      name = "clamp";
+      packageName = "clamp";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz";
+        sha1 = "66a0e64011816e37196828fdc8c8c147312c8634";
+      };
+    };
     "class-validator-0.13.2" = {
       name = "class-validator";
       packageName = "class-validator";
@@ -1777,6 +1786,15 @@ let
         sha512 = "Mn4AJiYkR3TAZH1Xm/RU7gFS/0kM5TBSAQDry8y40Aez0ASY+3boUhv+3QE5XbOXiXM2JjdhkKve3IsBvWCibQ==";
       };
     };
+    "cookie-0.4.1" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz";
+        sha512 = "ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==";
+      };
+    };
     "cookie-0.4.2" = {
       name = "cookie";
       packageName = "cookie";
@@ -1786,6 +1804,15 @@ let
         sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
       };
     };
+    "cookie-parser-1.4.6" = {
+      name = "cookie-parser";
+      packageName = "cookie-parser";
+      version = "1.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz";
+        sha512 = "z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==";
+      };
+    };
     "cookie-signature-1.0.6" = {
       name = "cookie-signature";
       packageName = "cookie-signature";
@@ -3604,13 +3631,13 @@ let
         sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
       };
     };
-    "isbot-3.4.3" = {
+    "isbot-3.4.5" = {
       name = "isbot";
       packageName = "isbot";
-      version = "3.4.3";
+      version = "3.4.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isbot/-/isbot-3.4.3.tgz";
-        sha512 = "5hAgiY9ysMIJcVQlGHcXptwgZr1yYbIGNBE36a3sPo7cLZ9eLTLx0qOssekFKaTHiXTwd/ZZMTuOS7w4faOmpw==";
+        url = "https://registry.npmjs.org/isbot/-/isbot-3.4.5.tgz";
+        sha512 = "+KD6q1BBtw0iK9aGBGSfxJ31/ZgizKRjhm8ebgJUBMx0aeeQuIJ1I72beCoIrltIZGrSm4vmrxRxrG5n1aUTtw==";
       };
     };
     "isexe-2.0.0" = {
@@ -4045,6 +4072,15 @@ let
         sha1 = "d8757b1da807dde24816b0d6a84bea1a76230b23";
       };
     };
+    "lodash.throttle-4.1.1" = {
+      name = "lodash.throttle";
+      packageName = "lodash.throttle";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz";
+        sha1 = "c23e91b710242ac70c37f1e1cda9274cc39bf2f4";
+      };
+    };
     "lodash.uniqby-4.7.0" = {
       name = "lodash.uniqby";
       packageName = "lodash.uniqby";
@@ -4135,6 +4171,15 @@ let
         sha512 = "IXAq50s4qwrOBrXJklY+KhgZF+5y98PDaNo0gi/v2KQBFLyWr+JyFvijZXkGKjQj/h9c0OwoE+JZbwUXce76hQ==";
       };
     };
+    "luxon-2.3.1" = {
+      name = "luxon";
+      packageName = "luxon";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/luxon/-/luxon-2.3.1.tgz";
+        sha512 = "I8vnjOmhXsMSlNMZlMkSOvgrxKJl0uOsEzdGgGNZuZPaS9KlefpE9KV95QFftlJSC+1UyCC9/I69R02cz/zcCA==";
+      };
+    };
     "mailparser-3.4.0" = {
       name = "mailparser";
       packageName = "mailparser";
@@ -4180,13 +4225,22 @@ let
         sha512 = "etgt+n4LlOkGSJbBTV9VROHA5R7ekIPS4vfh+bCAoJgRrJWdqJCBbpS3osRJ/HrT7R68MzMiY3L3sDJ/Fd8aBg==";
       };
     };
-    "mappersmith-2.37.1" = {
+    "mappersmith-2.38.0" = {
       name = "mappersmith";
       packageName = "mappersmith";
-      version = "2.37.1";
+      version = "2.38.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mappersmith/-/mappersmith-2.37.1.tgz";
-        sha512 = "3QiXhRADHTK/it1riJMJm/sHmLlGdw3pfLgZJQu9MfT1CNeiO93keNY0BVLlRmpPBsMER/P7kj3mtcAK2V331Q==";
+        url = "https://registry.npmjs.org/mappersmith/-/mappersmith-2.38.0.tgz";
+        sha512 = "D2+ICkvNGnGCz01MADdQQilcHGffwLd1ell4b4uXS9QYvLfrX0r5nl5zb9V+2YDy3142u6VUl1b154pxJAxw3g==";
+      };
+    };
+    "material-colors-1.2.6" = {
+      name = "material-colors";
+      packageName = "material-colors";
+      version = "1.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz";
+        sha512 = "6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==";
       };
     };
     "md5-2.3.0" = {
@@ -4261,22 +4315,22 @@ let
         sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
-    "mime-db-1.51.0" = {
+    "mime-db-1.52.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.51.0";
+      version = "1.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz";
-        sha512 = "5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz";
+        sha512 = "sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==";
       };
     };
-    "mime-types-2.1.34" = {
+    "mime-types-2.1.35" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.34";
+      version = "2.1.35";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz";
-        sha512 = "6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz";
+        sha512 = "ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==";
       };
     };
     "mimic-fn-2.1.0" = {
@@ -4486,49 +4540,49 @@ let
         sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
       };
     };
-    "n8n-core-0.107.0" = {
+    "n8n-core-0.109.0" = {
       name = "n8n-core";
       packageName = "n8n-core";
-      version = "0.107.0";
+      version = "0.109.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.107.0.tgz";
-        sha512 = "jwlEv67bPCn1Npp5SkZ11MViQgN96B2bUmSdsKPIBkJGkAPdd6BAUNAhF6qlAS53KhkbSqjuZkn71sDwbHv1cg==";
+        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.109.0.tgz";
+        sha512 = "hzimsUZbWHfG9RofSX7czg0DgB7YAIcLi7JRFUVB90HVdasFf1HQFVM2AwFZC/lLVckktuadWSpq2MOKW+lE3Q==";
       };
     };
-    "n8n-design-system-0.13.0" = {
+    "n8n-design-system-0.14.0" = {
       name = "n8n-design-system";
       packageName = "n8n-design-system";
-      version = "0.13.0";
+      version = "0.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.13.0.tgz";
-        sha512 = "dnweYfFdU9RLdZhmllAlF35dFp0F8Cxw2YAVPMTYOJ2saTs992kvI+09k5iVHDdRxA92BKRXgRRfvY1p0goXcQ==";
+        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.14.0.tgz";
+        sha512 = "E9Tvnjd9hktVPsqBcX579Fr4Nn/QEVAHQaYZlPGrqxXLVD76mF0WQWJpU6XTZEs/9pKfEftk/TmDihtENLVTxg==";
       };
     };
-    "n8n-editor-ui-0.133.0" = {
+    "n8n-editor-ui-0.135.0" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "0.133.0";
+      version = "0.135.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.133.0.tgz";
-        sha512 = "lKi2eyx5mn5vfo5sArvsnQ+1khdkX7I1Aqml5VFgzTUhHDLZB2Pvupu+czE55l9QSGs6oqaN9a9NRblWOHc0zQ==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.135.0.tgz";
+        sha512 = "oM+Pnh4ZaUnDy5lj6u71EyXUPGNlbEIn3lpi4+xyO8tYtFyaN1kifS/q/a1sYrgZlwbWaksgUvTqufZ3Te6Yqw==";
       };
     };
-    "n8n-nodes-base-0.164.0" = {
+    "n8n-nodes-base-0.166.0" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "0.164.0";
+      version = "0.166.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.164.0.tgz";
-        sha512 = "5GSd0f1rQZfKt9e0S1zwn5K34TSd1lYkd3MEPKDHjvksxfNOumtZpf0rwEgb/7Uf6azw7ESqk4VXwxiVQu0sgw==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.166.0.tgz";
+        sha512 = "Iet76bGJrS3rTal5KbuBsJvYzAw3o9xfcLHERpDJyXOxgvrPfZ62A7RpmLMLA3KJLfKevY+VLGLWW5odTSvtEg==";
       };
     };
-    "n8n-workflow-0.89.0" = {
+    "n8n-workflow-0.91.0" = {
       name = "n8n-workflow";
       packageName = "n8n-workflow";
-      version = "0.89.0";
+      version = "0.91.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.89.0.tgz";
-        sha512 = "hggmmjHsa3VjP5puRssH4Q8hoigqJ3W+KQeY54Qsa1rJoJEjZYy53NGOQ3QMmuPuTUvVMHe4Z/Hb6u4Bbh1wAg==";
+        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.91.0.tgz";
+        sha512 = "a4yqSvcalQs2MEDkOeadQc9cwK/3f6t+EKr/e8rEN5D9djnmuvoRJC+V9v6KPuHy66q1pv6w7fpmnrLRO+2WrA==";
       };
     };
     "named-placeholders-1.1.2" = {
@@ -5089,6 +5143,42 @@ let
         sha512 = "uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==";
       };
     };
+    "passport-0.5.2" = {
+      name = "passport";
+      packageName = "passport";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passport/-/passport-0.5.2.tgz";
+        sha512 = "w9n/Ot5I7orGD4y+7V3EFJCQEznE5RxHamUxcqLT2QoJY0f2JdN8GyHonYFvN0Vz+L6lUJfVhrk2aZz2LbuREw==";
+      };
+    };
+    "passport-cookie-1.0.9" = {
+      name = "passport-cookie";
+      packageName = "passport-cookie";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passport-cookie/-/passport-cookie-1.0.9.tgz";
+        sha512 = "8a6foX2bbGoJzup0RAiNcC2tTqzYS46RQEK3Z4u8p86wesPUjgDaji3C7+5j4TGyCq4ZoOV+3YLw1Hy6cV6kyw==";
+      };
+    };
+    "passport-jwt-4.0.0" = {
+      name = "passport-jwt";
+      packageName = "passport-jwt";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passport-jwt/-/passport-jwt-4.0.0.tgz";
+        sha512 = "BwC0n2GP/1hMVjR4QpnvqA61TxenUMlmfNjYNgK0ZAs0HK4SOQkHcSv4L328blNTLtHq7DbmvyNJiH+bn6C5Mg==";
+      };
+    };
+    "passport-strategy-1.0.0" = {
+      name = "passport-strategy";
+      packageName = "passport-strategy";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz";
+        sha1 = "b5539aa8fc225a3d1ad179476ddf236b440f52e4";
+      };
+    };
     "path-case-3.0.4" = {
       name = "path-case";
       packageName = "path-case";
@@ -5134,6 +5224,15 @@ let
         sha512 = "gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==";
       };
     };
+    "pause-0.0.1" = {
+      name = "pause";
+      packageName = "pause";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
+        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+      };
+    };
     "pdf-parse-1.1.1" = {
       name = "pdf-parse";
       packageName = "pdf-parse";
@@ -5287,13 +5386,13 @@ let
         sha512 = "vrlOGvNVELko0+J8NpGC5lHWDGrk8LQJq9nwAMIVEVBfN1Lib3BLxAaLRGDTuUnvl45j5N9dT2H85PULz6IjjQ==";
       };
     };
-    "popsicle-redirects-1.1.0" = {
+    "popsicle-redirects-1.1.1" = {
       name = "popsicle-redirects";
       packageName = "popsicle-redirects";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/popsicle-redirects/-/popsicle-redirects-1.1.0.tgz";
-        sha512 = "XCpzVjVk7tty+IJnSdqWevmOr1n8HNDhL86v7mZ6T1JIIf2KGybxUk9mm7ZFOhWMkGB0e8XkacHip7BV8AQWQA==";
+        url = "https://registry.npmjs.org/popsicle-redirects/-/popsicle-redirects-1.1.1.tgz";
+        sha512 = "mC2HrKjdTAWDalOjGxlXw9j6Qxrz/Yd2ui6bPxpi2IQDYWpF4gUAMxbA8EpSWJhLi0PuWKDwTHHPrUPGutAoIA==";
       };
     };
     "popsicle-transport-http-1.2.1" = {
@@ -6682,6 +6781,15 @@ let
         sha512 = "a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==";
       };
     };
+    "tinycolor2-1.4.2" = {
+      name = "tinycolor2";
+      packageName = "tinycolor2";
+      version = "1.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz";
+        sha512 = "vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==";
+      };
+    };
     "tlds-1.224.0" = {
       name = "tlds";
       packageName = "tlds";
@@ -7159,6 +7267,24 @@ let
         sha512 = "xwTm7NLh/uOjARRBs8/95H0e8fT3Ukw5D/JJWhxMbhKzNh1Nu981jQKvkep9iKYNxzlVrdzD0mlBGkDKZWprlw==";
       };
     };
+    "vue-2.6.14" = {
+      name = "vue";
+      packageName = "vue";
+      version = "2.6.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz";
+        sha512 = "x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==";
+      };
+    };
+    "vue-color-2.8.1" = {
+      name = "vue-color";
+      packageName = "vue-color";
+      version = "2.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-color/-/vue-color-2.8.1.tgz";
+        sha512 = "BoLCEHisXi2QgwlhZBg9UepvzZZmi4176vbr+31Shen5WWZwSLVgdScEPcB+yrAtuHAz42309C0A4+WiL9lNBw==";
+      };
+    };
     "vue-fragment-1.5.2" = {
       name = "vue-fragment";
       packageName = "vue-fragment";
@@ -7177,6 +7303,15 @@ let
         sha512 = "SX35iJHL5PJ4Gfh0Mo/q0shyHiI2V6Zkh51c+k8E9O1RKv5BQyYrCxRzpvPrsIOJEnLaeiovet3dsUB0e/kDzw==";
       };
     };
+    "vue2-boring-avatars-0.3.4" = {
+      name = "vue2-boring-avatars";
+      packageName = "vue2-boring-avatars";
+      version = "0.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue2-boring-avatars/-/vue2-boring-avatars-0.3.4.tgz";
+        sha512 = "N3FYX9Z6rZdTeP3BOBz2LMxlWo9WRmPF6SOsYzz+tEuUH0QjX8UD7c1X95J8pZ7cFvbh9QflVujYQRqRiiwoAg==";
+      };
+    };
     "webidl-conversions-3.0.1" = {
       name = "webidl-conversions";
       packageName = "webidl-conversions";
@@ -7480,10 +7615,10 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "0.166.0";
+    version = "0.168.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-0.166.0.tgz";
-      sha512 = "t8tRpOyrEIxaIuLzfBajDPjAMygcCapiIqHDjU8YloJalI0MnbuoQ6DgA2RdRDZElN0yew0rQR8ZxZ2nMUk8Fg==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-0.168.1.tgz";
+      sha512 = "bghyOcF+KZmRsmyC9p2ARb+RIlUBDwTKCMLd5eUFW1SKMBCWgQZwG8KCLCRApWjXjP1SYekeyDo1PSl5fa7Hxw==";
     };
     dependencies = [
       (sources."@azure/abort-controller-1.0.5" // {
@@ -7503,7 +7638,7 @@ in
           sources."tslib-2.3.1"
         ];
       })
-      (sources."@azure/core-lro-2.2.3" // {
+      (sources."@azure/core-lro-2.2.4" // {
         dependencies = [
           sources."tslib-2.3.1"
         ];
@@ -7530,12 +7665,12 @@ in
         ];
       })
       sources."@azure/ms-rest-nodeauth-3.1.1"
-      (sources."@azure/storage-blob-12.8.0" // {
+      (sources."@azure/storage-blob-12.9.0" // {
         dependencies = [
           sources."tslib-2.3.1"
         ];
       })
-      sources."@babel/runtime-7.17.2"
+      sources."@babel/runtime-7.17.7"
       sources."@colors/colors-1.5.0"
       (sources."@dabh/diagnostics-2.0.3" // {
         dependencies = [
@@ -7543,7 +7678,7 @@ in
           sources."kuler-2.0.0"
         ];
       })
-      sources."@fontsource/open-sans-4.5.5"
+      sources."@fontsource/open-sans-4.5.6"
       sources."@icetee/ftp-0.3.15"
       sources."@kafkajs/confluent-schema-registry-1.0.6"
       sources."@kwsites/file-exists-1.1.1"
@@ -7592,7 +7727,7 @@ in
       sources."@types/ftp-0.3.33"
       sources."@types/json-diff-0.5.2"
       sources."@types/jsonwebtoken-8.5.8"
-      sources."@types/lodash-4.14.179"
+      sources."@types/lodash-4.14.180"
       sources."@types/lossless-json-1.0.1"
       sources."@types/mime-1.3.2"
       sources."@types/node-17.0.21"
@@ -7664,7 +7799,7 @@ in
         ];
       })
       sources."avsc-5.7.3"
-      (sources."aws-sdk-2.1087.0" // {
+      (sources."aws-sdk-2.1093.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."events-1.1.1"
@@ -7774,6 +7909,7 @@ in
       sources."cheerio-select-1.5.0"
       sources."chokidar-3.5.2"
       sources."chownr-1.1.4"
+      sources."clamp-1.0.1"
       sources."class-validator-0.13.2"
       sources."clean-stack-3.0.1"
       sources."cli-color-0.1.7"
@@ -7835,7 +7971,8 @@ in
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
       sources."convict-6.2.1"
-      sources."cookie-0.4.2"
+      sources."cookie-0.4.1"
+      sources."cookie-parser-1.4.6"
       sources."cookie-signature-1.0.6"
       sources."core-js-3.21.1"
       sources."core-util-is-1.0.2"
@@ -7923,6 +8060,7 @@ in
       sources."expand-tilde-2.0.2"
       (sources."express-4.17.3" // {
         dependencies = [
+          sources."cookie-0.4.2"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
         ];
@@ -8078,7 +8216,7 @@ in
       sources."is-windows-1.0.2"
       sources."is-wsl-2.2.0"
       sources."isarray-0.0.1"
-      sources."isbot-3.4.3"
+      sources."isbot-3.4.5"
       sources."isexe-2.0.0"
       sources."iso-639-1-2.1.13"
       sources."isstream-0.1.2"
@@ -8137,6 +8275,7 @@ in
       sources."lodash.merge-4.6.2"
       sources."lodash.once-4.1.1"
       sources."lodash.set-4.3.2"
+      sources."lodash.throttle-4.1.1"
       sources."lodash.uniqby-4.7.0"
       sources."lodash.unset-4.5.2"
       sources."logform-2.4.0"
@@ -8154,6 +8293,7 @@ in
           sources."yallist-2.1.2"
         ];
       })
+      sources."luxon-2.3.1"
       (sources."mailparser-3.4.0" // {
         dependencies = [
           sources."iconv-lite-0.6.3"
@@ -8168,7 +8308,8 @@ in
       })
       sources."make-error-1.3.6"
       sources."make-error-cause-2.3.0"
-      sources."mappersmith-2.37.1"
+      sources."mappersmith-2.38.0"
+      sources."material-colors-1.2.6"
       sources."md5-2.3.0"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
@@ -8177,8 +8318,8 @@ in
       sources."micromatch-4.0.4"
       sources."millisecond-0.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.51.0"
-      sources."mime-types-2.1.34"
+      sources."mime-db-1.52.0"
+      sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.1.2"
@@ -8224,19 +8365,19 @@ in
         ];
       })
       sources."mz-2.7.0"
-      (sources."n8n-core-0.107.0" // {
+      (sources."n8n-core-0.109.0" // {
         dependencies = [
           sources."qs-6.10.3"
         ];
       })
-      sources."n8n-design-system-0.13.0"
-      sources."n8n-editor-ui-0.133.0"
-      (sources."n8n-nodes-base-0.164.0" // {
+      sources."n8n-design-system-0.14.0"
+      sources."n8n-editor-ui-0.135.0"
+      (sources."n8n-nodes-base-0.166.0" // {
         dependencies = [
           sources."iconv-lite-0.6.3"
         ];
       })
-      sources."n8n-workflow-0.89.0"
+      sources."n8n-workflow-0.91.0"
       (sources."named-placeholders-1.1.2" // {
         dependencies = [
           sources."lru-cache-4.1.5"
@@ -8341,6 +8482,10 @@ in
           sources."tslib-2.3.1"
         ];
       })
+      sources."passport-0.5.2"
+      sources."passport-cookie-1.0.9"
+      sources."passport-jwt-4.0.0"
+      sources."passport-strategy-1.0.0"
       (sources."path-case-3.0.4" // {
         dependencies = [
           sources."tslib-2.3.1"
@@ -8350,6 +8495,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
+      sources."pause-0.0.1"
       (sources."pdf-parse-1.1.1" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -8378,7 +8524,7 @@ in
       sources."popsicle-12.1.0"
       sources."popsicle-content-encoding-1.0.0"
       sources."popsicle-cookie-jar-1.0.0"
-      sources."popsicle-redirects-1.1.0"
+      sources."popsicle-redirects-1.1.1"
       sources."popsicle-transport-http-1.2.1"
       sources."popsicle-transport-xhr-2.0.0"
       sources."popsicle-user-agent-1.0.0"
@@ -8564,7 +8710,7 @@ in
       sources."tdigest-0.1.1"
       (sources."tedious-6.7.1" // {
         dependencies = [
-          sources."@types/node-12.20.46"
+          sources."@types/node-12.20.47"
           sources."bl-3.0.1"
           sources."depd-2.0.0"
           sources."iconv-lite-0.5.2"
@@ -8588,6 +8734,7 @@ in
       sources."through2-filter-3.0.0"
       sources."throwback-4.1.0"
       sources."timeago.js-4.0.2"
+      sources."tinycolor2-1.4.2"
       sources."tlds-1.224.0"
       sources."tmp-0.0.33"
       (sources."tmp-promise-3.0.3" // {
@@ -8663,8 +8810,11 @@ in
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."vm2-3.9.9"
+      sources."vue-2.6.14"
+      sources."vue-color-2.8.1"
       sources."vue-fragment-1.5.2"
       sources."vue-i18n-8.27.0"
+      sources."vue2-boring-avatars-0.3.4"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
diff --git a/pkgs/applications/networking/nextdns/default.nix b/pkgs/applications/networking/nextdns/default.nix
index a18257dfeb6..c06291c719e 100644
--- a/pkgs/applications/networking/nextdns/default.nix
+++ b/pkgs/applications/networking/nextdns/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "nextdns";
-  version = "1.37.7";
+  version = "1.37.10";
 
   src = fetchFromGitHub {
     owner = "nextdns";
     repo = "nextdns";
     rev = "v${version}";
-    sha256 = "sha256-L5PeT4Y2oWM1WUJaBK9xgrpfkpvKM1+sA29A3AiDE38=";
+    sha256 = "sha256-iwxgDBIuTClikvXF+3mCjFKKV0upN+K+aL85ewYkMXo=";
   };
 
   vendorSha256 = "sha256-6hWD05lXteqL7egj9tiRVHlevKM33i+a+zBUZs7PF7I=";
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index 2ccf4ff4b86..f24f74e5ae0 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnunet";
-  version = "0.15.3";
+  version = "0.16.0";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
-    sha256 = "sha256-1iZpqPQeB46qIgznejL08/gB4wmTV66McFSY/nOITsU=";
+    sha256 = "sha256-0y2m8T/xzYZwUlcZ6g956fdtLef2Bphg4Kd/xpo2AGg=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/protonvpn-gui/default.nix b/pkgs/applications/networking/protonvpn-gui/default.nix
index b6583efe730..ecfde0a39c2 100644
--- a/pkgs/applications/networking/protonvpn-gui/default.nix
+++ b/pkgs/applications/networking/protonvpn-gui/default.nix
@@ -1,8 +1,21 @@
-{ lib, fetchFromGitHub, gobject-introspection, imagemagick,
-wrapGAppsHook, python3Packages, gtk3, networkmanager, webkitgtk }:
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, wrapGAppsHook
+, gobject-introspection
+, imagemagick
+, networkmanager
+, pango
+, webkitgtk
+# Python libs
+, protonvpn-nm-lib
+, psutil
+# Optionals
+, withIndicator ? true
+, libappindicator-gtk3 }:
 
-python3Packages.buildPythonApplication rec {
-  pname = "protonvpn-linux-gui";
+buildPythonApplication rec {
+  pname = "protonvpn-gui";
   version = "1.7.0";
 
   src = fetchFromGitHub {
@@ -12,22 +25,26 @@ python3Packages.buildPythonApplication rec {
     sha256 = "sha256-uzooFQBq2mhqTBr/cgea5cVQ889P70sgSk2vjXBQEfw=";
   };
 
-  strictDeps = false;
-
   nativeBuildInputs = [
-    gobject-introspection imagemagick wrapGAppsHook
+    gobject-introspection
+    imagemagick
+    wrapGAppsHook
   ];
 
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = [
     protonvpn-nm-lib
     psutil
   ];
 
   buildInputs = [
-    gtk3 networkmanager webkitgtk
-  ];
+    # To avoid enabling strictDeps = false (#56943)
+    gobject-introspection
+    networkmanager
+    pango
+    webkitgtk
+  ] ++ lib.optionals withIndicator [ libappindicator-gtk3 ];
 
-  postFixup = ''
+  postInstall = ''
     # Setting icons
     for size in 16 32 48 64 72 96 128 192 512 1024; do
       mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
@@ -45,9 +62,9 @@ python3Packages.buildPythonApplication rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "Linux GUI for ProtonVPN, written in Python";
+    description = "Official ProtonVPN Linux app";
     homepage = "https://github.com/ProtonVPN/linux-app";
-    maintainers = with maintainers; [ offline wolfangaukang ];
+    maintainers = with maintainers; [ wolfangaukang ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index efce24a06f9..9721c6b9ba4 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitLab, cmake, ninja, pkg-config, wrapGAppsHook
 , glib, gtk3, gettext, libxkbfile, libX11
-, freerdp, libssh, libgcrypt, gnutls
+, freerdp, libssh, libgcrypt, gnutls, vte
 , pcre2, libdbusmenu-gtk3, libappindicator-gtk3
 , libvncserver, libpthreadstubs, libXdmcp, libxkbcommon
 , libsecret, libsoup, spice-protocol, spice-gtk, libepoxy, at-spi2-core
@@ -8,19 +8,20 @@
 # The themes here are soft dependencies; only icons are missing without them.
 , gnome
 , withLibsecret ? true
+, withVte ? true
 }:
 
 with lib;
 
 stdenv.mkDerivation rec {
   pname = "remmina";
-  version = "1.4.24";
+  version = "1.4.25";
 
   src = fetchFromGitLab {
     owner  = "Remmina";
     repo   = "Remmina";
     rev    = "v${version}";
-    sha256 = "sha256-rcxgr3HVOWA3mTfX8tka9bPGDRDtKhBRsfQ3hv9XHf0=";
+    sha256 = "sha256-1val/KCClEtw1prVWuXJe8DmmQ7e7oqwAfAnT9G9iHI=";
   };
 
   nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook ];
@@ -33,10 +34,11 @@ stdenv.mkDerivation rec {
     libsoup spice-protocol spice-gtk libepoxy at-spi2-core
     openssl gnome.adwaita-icon-theme json-glib libsodium webkitgtk
     harfbuzz
-  ] ++ optionals withLibsecret [ libsecret ];
+  ] ++ optionals withLibsecret [ libsecret ]
+    ++ optionals withVte [ vte ];
 
   cmakeFlags = [
-    "-DWITH_VTE=OFF"
+    "-DWITH_VTE=${if withVte then "ON" else "OFF"}"
     "-DWITH_TELEPATHY=OFF"
     "-DWITH_AVAHI=OFF"
     "-DWITH_LIBSECRET=${if withLibsecret then "ON" else "OFF"}"
diff --git a/pkgs/applications/networking/sniffers/sngrep/default.nix b/pkgs/applications/networking/sniffers/sngrep/default.nix
index 5bcbac74ca7..401d6dfa32c 100644
--- a/pkgs/applications/networking/sniffers/sngrep/default.nix
+++ b/pkgs/applications/networking/sniffers/sngrep/default.nix
@@ -3,7 +3,6 @@
 , autoconf
 , automake
 , fetchFromGitHub
-, fetchpatch
 , libpcap
 , ncurses
 , openssl
@@ -12,25 +11,15 @@
 
 stdenv.mkDerivation rec {
   pname = "sngrep";
-  version = "1.4.9";
+  version = "1.4.10";
 
   src = fetchFromGitHub {
     owner = "irontec";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-92wPRDFSoIOYFv3XKdsuYH8j3D8kXyg++q6VpIIMGDg=";
+    sha256 = "sha256-P618QLk85W0oPisAGiRfpCgHCddKutUkGjwdfgsV4Es=";
   };
 
-  patches = [
-    # Pull fix pending upstream inclusion for ncurses-6.3 support:
-    #  https://github.com/irontec/sngrep/pull/382
-    (fetchpatch {
-      name = "ncurses-6.3.patch";
-      url = "https://github.com/irontec/sngrep/commit/d09e1c323dbd7fc899e8985899baec568f045601.patch";
-      sha256 = "sha256-nY5i3WQh/oKboEAh4wvxF5Imf2BHYEKdFj+WF1M3SSA=";
-    })
-  ];
-
   nativeBuildInputs = [
     autoconf
     automake
diff --git a/pkgs/applications/networking/sync/onedrive/default.nix b/pkgs/applications/networking/sync/onedrive/default.nix
index 2cbf706ea78..68af0bd2890 100644
--- a/pkgs/applications/networking/sync/onedrive/default.nix
+++ b/pkgs/applications/networking/sync/onedrive/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "onedrive";
-  version = "2.4.15";
+  version = "2.4.16";
 
   src = fetchFromGitHub {
     owner = "abraunegg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nYko7htg16Sp/Fs+KuPflrpHn8WShM0OKozhr9BFH5U=";
+    sha256 = "sha256-GoufEcCu/Cg2Fu0RcjTi4te/7+gZfQRTj+AtK0YnF5I=";
   };
 
   nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ];
diff --git a/pkgs/applications/office/paperless-ng/default.nix b/pkgs/applications/office/paperless-ng/default.nix
index e3ca9af422c..ab140f90ced 100644
--- a/pkgs/applications/office/paperless-ng/default.nix
+++ b/pkgs/applications/office/paperless-ng/default.nix
@@ -18,10 +18,6 @@ let
   py = python3.override {
     packageOverrides = self: super: {
       django = super.django_3;
-      django-picklefield = super.django-picklefield.overrideAttrs (oldAttrs: {
-        # Checks do not pass with django 3
-        doInstallCheck = false;
-      });
       # Avoid warning in django-q versions > 1.3.4
       # https://github.com/jonaswinkler/paperless-ng/issues/857
       # https://github.com/Koed00/django-q/issues/526
diff --git a/pkgs/applications/office/timeline/default.nix b/pkgs/applications/office/timeline/default.nix
index b8b98c19bbf..7cf777ae13f 100644
--- a/pkgs/applications/office/timeline/default.nix
+++ b/pkgs/applications/office/timeline/default.nix
@@ -8,22 +8,20 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "timeline";
-  version = "2.4.0";
+  version = "2.6.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/thetimelineproj/${pname}-${version}.zip";
-    sha256 = "1pa0whqci6c2p20xf7gbndrrpr1xg42ixhql595ibdd4p3l37v23";
+    sha256 = "sha256-qwH2mt3Va62QJKJGOpt5WV3QksqQaRGEif4CcPC5F2E=";
   };
 
   nativeBuildInputs = [ python3.pkgs.wrapPython copyDesktopItems ];
 
   pythonPath = with python3.pkgs; [
-    wxPython_4_1
+    wxPython_4_0
     humblewx
     icalendar
     markdown
-    pysvg-py3
-    pillow
   ];
 
   checkInputs = [
diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix
index d8fe8649381..2055bfc0fc7 100644
--- a/pkgs/applications/office/treesheets/default.nix
+++ b/pkgs/applications/office/treesheets/default.nix
@@ -1,41 +1,39 @@
-{ lib, stdenv, fetchFromGitHub, wxGTK, makeWrapper }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, wxGTK
+, cmake
+, ninja
+, wrapGAppsHook
+, unstableGitUpdater
+}:
 
 stdenv.mkDerivation rec {
   pname = "treesheets";
-  version = "1.0.1";
+  version = "unstable-2022-03-12";
 
   src = fetchFromGitHub {
-    owner  = "aardappel";
-    repo   = "treesheets";
-    rev    = "v${version}";
-    sha256 = "0krsj7i5yr76imf83krz2lmlmpbsvpwqg2d4r0jwxiydjfyj4qr4";
+    owner = "aardappel";
+    repo = "treesheets";
+    rev = "120c10d4d9ea1ce76db5c1bbd6f5d705b397b57d";
+    sha256 = "oXgOvvRoZpueEeWnD3jsc6y5RIAzkXzLeEe7BSErBpw=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ wxGTK ];
+  nativeBuildInputs = [
+    cmake
+    ninja
+    wrapGAppsHook
+  ];
 
-  preConfigure = "cd src";
+  buildInputs = [
+    wxGTK
+  ];
 
-  postInstall = ''
-    mkdir "$out/share" -p
-    cp -av ../TS "$out/share/libexec"
+  NIX_CFLAGS_COMPILE = "-DPACKAGE_VERSION=\"${builtins.replaceStrings [ "unstable-" ] [ "" ] version}\"";
 
-    mkdir "$out/bin" -p
-    makeWrapper "$out/share/libexec/treesheets" "$out/bin/treesheets"
-
-    mkdir "$out/share/doc" -p
-
-    for f in readme.html docs examples
-    do
-      mv -v "$out/share/libexec/$f" "$out/share/doc"
-      ln -sv "$out/share/doc/$f" "$out/share/libexec/$f"
-    done
-
-    mkdir "$out/share/applications" -p
-    mv -v "$out/share/libexec/treesheets.desktop" "$out/share/applications"
-    substituteInPlace "$out/share/applications/treesheets.desktop" \
-      --replace "Icon=images/treesheets.svg" "Icon=$out/share/libexec/images/treesheets.svg"
-  '';
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
 
   meta = with lib; {
     description = "Free Form Data Organizer";
@@ -49,9 +47,9 @@ stdenv.mkDerivation rec {
       planning, requirements gathering, presentation of information, etc.
     '';
 
-    homepage    = "https://strlen.com/treesheets/";
+    homepage = "https://strlen.com/treesheets/";
     maintainers = with maintainers; [ obadz avery ];
-    platforms   = platforms.linux;
-    license     = licenses.zlib;
+    platforms = platforms.linux;
+    license = licenses.zlib;
   };
 }
diff --git a/pkgs/applications/science/astronomy/phd2/default.nix b/pkgs/applications/science/astronomy/phd2/default.nix
index 543e6820a76..52049302a27 100644
--- a/pkgs/applications/science/astronomy/phd2/default.nix
+++ b/pkgs/applications/science/astronomy/phd2/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "phd2";
-  version = "2.6.10";
+  version = "2.6.11";
 
   src = fetchFromGitHub {
     owner = "OpenPHDGuiding";
     repo = "phd2";
     rev = "v${version}";
-    sha256 = "sha256-2ZiPjhlguWXFcC53xG1aqAode7twtoHWszFUMQkK5xU=";
+    sha256 = "sha256-iautgHOVzdLWYGOVu3wHBDt30uCbaP58mDz/l7buB1k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/astronomy/siril/default.nix b/pkgs/applications/science/astronomy/siril/default.nix
index b50cb4b71d0..4a51e88dc3b 100644
--- a/pkgs/applications/science/astronomy/siril/default.nix
+++ b/pkgs/applications/science/astronomy/siril/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "siril";
-  version = "0.99.10.1";
+  version = "1.0.0";
 
   src = fetchFromGitLab {
     owner = "free-astro";
     repo = pname;
     rev = version;
-    sha256 = "sha256-gqV+pJNaU+GnYiUo/imofgNdeM+AtDg/pSH7aoqhkYA=";
+    sha256 = "sha256-yqWFEa1fnSwl0ecN9hMI13QCfj0f69CFqTJlEAhTpJI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/computer-architecture/qtrvsim/default.nix b/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
new file mode 100644
index 00000000000..fc840fe45fb
--- /dev/null
+++ b/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, fetchFromGitHub, cmake, wrapQtAppsHook, qtbase }:
+
+stdenv.mkDerivation rec {
+  pname = "QtRVSim";
+  version = "0.9.2";
+
+  src = fetchFromGitHub {
+    owner = "cvut";
+    repo = "qtrvsim";
+    rev = "refs/tags/v${version}";
+    sha256 = "B1l+ysrodeDbxYfdLLMF8yk4/uPXTcDrTaMtYm89HuU=";
+  };
+
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+
+  buildInputs = [ qtbase ];
+
+  meta = with lib; {
+    description = "RISC-V CPU simulator for education purposes";
+    longDescription = ''
+      RISC-V CPU simulator for education purposes with pipeline and cache visualization.
+      Developed at FEE CTU for computer architecture classes.
+    '';
+    homepage = "https://github.com/cvut/qtrvsim";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ jdupak ];
+    mainProgram = "qtrvsim_gui";
+  };
+}
diff --git a/pkgs/applications/science/electronics/gaw/default.nix b/pkgs/applications/science/electronics/gaw/default.nix
new file mode 100644
index 00000000000..928613737b4
--- /dev/null
+++ b/pkgs/applications/science/electronics/gaw/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, fetchurl
+, lib
+, gtk3
+, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gaw";
+  version = "20200922";
+
+  src = fetchurl {
+    url = "https://download.tuxfamily.org/gaw/download/gaw3-${version}.tar.gz";
+    sha256 = "0qmap11v470a1yj4ypfvdq6wkfni77ijqpknka8b4fndi62sl4wa";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ gtk3 ];
+
+  meta = with lib; {
+    description = "Gtk Analog Wave viewer";
+    longDescription = ''
+      Gaw is a software tool for displaying analog waveforms from
+      sampled datas, for example from the output of simulators or
+      input from sound cards. Data can be imported to gaw using files,
+      direct tcp/ip connection or directly from the sound card.
+    '';
+    homepage = "http://gaw.tuxfamily.org";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ fbeffa ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/science/electronics/xschem/default.nix b/pkgs/applications/science/electronics/xschem/default.nix
new file mode 100644
index 00000000000..25fa0aca467
--- /dev/null
+++ b/pkgs/applications/science/electronics/xschem/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, fetchFromGitHub
+, lib
+, bison
+, cairo
+, flex
+, libX11
+, libXpm
+, pkg-config
+, tcl
+, tk
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xschem";
+  version = "3.0.0";
+
+  src = fetchFromGitHub {
+    owner = "StefanSchippers";
+    repo = "xschem";
+    rev = version;
+    sha256 = "sha256-C57jo8tAbiqQAgf4Xp2lpFGOr6F1knPpFcYxPiqSM4k=";
+  };
+
+  nativeBuildInputs = [ bison flex pkg-config ];
+
+  buildInputs = [ cairo libX11 libXpm tcl tk ];
+
+  hardeningDisable = [ "format" ];
+
+  meta = with lib; {
+    description = "Schematic capture and netlisting EDA tool";
+    longDescription = ''
+      Xschem is a schematic capture program, it allows creation of
+      hierarchical representation of circuits with a top down approach.
+      By focusing on interfaces, hierarchy and instance properties a
+      complex system can be described in terms of simpler building
+      blocks. A VHDL or Verilog or Spice netlist can be generated from
+      the drawn schematic, allowing the simulation of the circuit.
+    '';
+    homepage = "https://xschem.sourceforge.io/stefan/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ fbeffa ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index 22e755bd852..1eea97a0fd2 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.39.2";
+  version = "3.41.0";
 
   src = fetchFromGitHub {
     owner  = "leanprover-community";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     # from. this is then used to check whether an olean file should be
     # rebuilt. don't use a tag as rev because this will get replaced into
     # src/githash.h.in in preConfigure.
-    rev    = "402f41cdedbd46a368fb7807bebe83550d887631";
-    sha256 = "0jddakr07ixspw19xblpj1882vxxaljg3fflhn4myvigwzkav334";
+    rev    = "154ac72f4ff674bc4486ac611f926a3d6b999f9f";
+    sha256 = "0mpxlfjq460x1vi3v6qzgjv74asg0qlhykd51pj347795x5b1hf1";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/nuXmv/default.nix b/pkgs/applications/science/logic/nuXmv/default.nix
new file mode 100644
index 00000000000..021c612d106
--- /dev/null
+++ b/pkgs/applications/science/logic/nuXmv/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "nuXmv";
+  version = "2.0.0";
+
+  src = fetchurl {
+    url = "https://es-static.fbk.eu/tools/nuxmv/downloads/nuXmv-${version}-linux64.tar.gz";
+    sha256 = "0nndrw994clf8lnlcfzdf1mf00vif3fvd4xsiwcjpbyk12091zqr";
+  };
+
+  installPhase= ''
+    runHook preInstall
+    install -Dm755 -t $out/bin ./bin/nuXmv
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Symbolic model checker for analysis of finite and infinite state systems";
+    homepage = "https://nuxmv.fbk.eu/pmwiki.php";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ siraben ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/science/logic/opensmt/default.nix b/pkgs/applications/science/logic/opensmt/default.nix
index e701fb2711f..9f104ab80a6 100644
--- a/pkgs/applications/science/logic/opensmt/default.nix
+++ b/pkgs/applications/science/logic/opensmt/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opensmt";
-  version = "2.2.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "usi-verification-and-security";
     repo = "opensmt";
     rev = "v${version}";
-    sha256 = "sha256-6VkBGDzqG3mplpvFh5DIR0I1I2/J0Pi7xYk/yVn04Kg=";
+    sha256 = "sha256-3F4Q/ZWlgkiiW7QVjnaaDLSNLVdfAOSmwYdQo1v9Lv4=";
   };
 
   nativeBuildInputs = [ cmake bison flex ];
diff --git a/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch b/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch
deleted file mode 100644
index 871e494c362..00000000000
--- a/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff --git a/src/sage/repl/interface_magic.py b/src/sage/repl/interface_magic.py
-index 8a455b69b0..a93e1c9e04 100644
---- a/src/sage/repl/interface_magic.py
-+++ b/src/sage/repl/interface_magic.py
-@@ -260,7 +260,7 @@ class InterfaceMagic(object):
-             2
-             120
-             sage: shell.run_cell('%%gap foo\n1+1;\n')
--            ...File "<string>", line unknown
-+            ...File...<string>...
-             SyntaxError: Interface magics have no options, got "foo"
-             <BLANKLINE>
-             sage: shell.run_cell('%%gap?')
-diff --git a/src/sage/repl/interpreter.py b/src/sage/repl/interpreter.py
-index 71dbe429fd..36b1d986d6 100644
---- a/src/sage/repl/interpreter.py
-+++ b/src/sage/repl/interpreter.py
-@@ -70,25 +70,6 @@ that shell.  The bulk of this functionality is provided through
- 
- TESTS:
- 
--Check that Cython source code appears in tracebacks::
--
--    sage: from sage.repl.interpreter import get_test_shell
--    sage: shell = get_test_shell()
--    sage: print("dummy line"); shell.run_cell('1/0') # see #25320 for the reason of the `...` and the dummy line in this test
--    dummy line
--    ...
--    ZeroDivisionError...Traceback (most recent call last)
--    <ipython-input-...> in <module>...
--    ----> 1 Integer(1)/Integer(0)
--    .../sage/rings/integer.pyx in sage.rings.integer.Integer...div...
--    ...
--    -> ...                  raise ZeroDivisionError("rational division by zero")
--       ....:            x = <Rational> Rational.__new__(Rational)
--       ....:            mpq_div_zz(x.value, ....value, (<Integer>right).value)
--    <BLANKLINE>
--    ZeroDivisionError: rational division by zero
--    sage: shell.quit()
--
- Test prompt transformer::
- 
-     sage: from sage.repl.interpreter import SagePromptTransformer
-@@ -423,7 +404,7 @@ def SagePreparseTransformer(lines):
-         sage: from sage.repl.interpreter import get_test_shell
-         sage: shell = get_test_shell()
-         sage: shell.run_cell(bad_syntax)
--          File "<string>", line unknown
-+          File...<string>...
-         SyntaxError: Mismatched ']'
-         <BLANKLINE>
-         sage: shell.quit()
diff --git a/pkgs/applications/science/math/sage/patches/tachyon-renamed-focallength.patch b/pkgs/applications/science/math/sage/patches/tachyon-renamed-focallength.patch
new file mode 100644
index 00000000000..5fea8830903
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/tachyon-renamed-focallength.patch
@@ -0,0 +1,81 @@
+diff --git a/src/sage/interfaces/tachyon.py b/src/sage/interfaces/tachyon.py
+index 3f1dcdb538..b6fa8d1fbd 100644
+--- a/src/sage/interfaces/tachyon.py
++++ b/src/sage/interfaces/tachyon.py
+@@ -261,13 +261,13 @@ written in the sequence they are listed in the examples in this section.
+   The {\bf PROJECTION} keyword must be followed by one of the supported
+ camera projection mode identifiers {\bf PERSPECTIVE}, {\bf PERSPECTIVE_DOF},
+ {\bf ORTHOGRAPHIC}, or {\bf FISHEYE}.  The {\bf FISHEYE} projection mode
+-requires two extra parameters {\bf FOCALLENGTH} and {\bf APERTURE}
++requires two extra parameters {\bf FOCALDIST} and {\bf APERTURE}
+ which precede the regular camera options.
+ 
+ \begin{verbatim}
+ Camera
+   projection perspective_dof
+-  focallength 0.75
++  focaldist 0.75
+   aperture 0.02
+   Zoom 0.666667
+   Aspectratio 1.000000
+diff --git a/src/sage/plot/plot3d/tachyon.py b/src/sage/plot/plot3d/tachyon.py
+index 08caf38d67..3e827411ce 100644
+--- a/src/sage/plot/plot3d/tachyon.py
++++ b/src/sage/plot/plot3d/tachyon.py
+@@ -92,7 +92,7 @@ angle, right angle)::
+ Finally there is the ``projection='perspective_dof'`` option. ::
+ 
+     sage: T = Tachyon(xres=800, antialiasing=4, raydepth=10,
+-    ....: projection='perspective_dof', focallength='1.0', aperture='.0025')
++    ....: projection='perspective_dof', focaldist='1.0', aperture='.0025')
+     sage: T.light((0,5,7), 1.0, (1,1,1))
+     sage: T.texture('t1', opacity=1, specular=.3)
+     sage: T.texture('t2', opacity=1, specular=.3, color=(0,0,1))
+@@ -186,7 +186,7 @@ class Tachyon(WithEqualityById, SageObject):
+       or ``'fisheye'``.
+     - ``frustum`` - (default ''), otherwise list of four numbers. Only
+       used with projection='fisheye'.
+-    - ``focallength`` - (default ''), otherwise a number. Only used
++    - ``focaldist`` - (default ''), otherwise a number. Only used
+       with projection='perspective_dof'.
+     - ``aperture`` - (default ''), otherwise a number.  Only used
+       with projection='perspective_dof'.
+@@ -331,7 +331,7 @@ class Tachyon(WithEqualityById, SageObject):
+     Use of the ``projection='perspective_dof'`` option.  This may not be
+     implemented correctly. ::
+ 
+-        sage: T = Tachyon(xres=800,antialiasing=4, raydepth=10, projection='perspective_dof', focallength='1.0', aperture='.0025')
++        sage: T = Tachyon(xres=800,antialiasing=4, raydepth=10, projection='perspective_dof', focaldist='1.0', aperture='.0025')
+         sage: T.light((0,5,7), 1.0, (1,1,1))
+         sage: T.texture('t1', opacity=1, specular=.3)
+         sage: T.texture('t2', opacity=1, specular=.3, color=(0,0,1))
+@@ -365,7 +365,7 @@ class Tachyon(WithEqualityById, SageObject):
+                  look_at=[0, 0, 0],
+                  viewdir=None,
+                  projection='PERSPECTIVE',
+-                 focallength='',
++                 focaldist='',
+                  aperture='',
+                  frustum=''):
+         r"""
+@@ -391,7 +391,7 @@ class Tachyon(WithEqualityById, SageObject):
+             self._camera_position = (-3, 0, 0) # default value
+         self._updir = updir
+         self._projection = projection
+-        self._focallength = focallength
++        self._focaldist = focaldist
+         self._aperture = aperture
+         self._frustum = frustum
+         self._objects = []
+@@ -624,9 +624,9 @@ class Tachyon(WithEqualityById, SageObject):
+         camera_out = r"""
+            camera
+               projection %s""" % (tostr(self._projection))
+-        if self._focallength != '':
++        if self._focaldist != '':
+             camera_out = camera_out + r"""
+-              focallength %s""" % (float(self._focallength))
++              focaldist %s""" % (float(self._focaldist))
+         if self._aperture != '':
+             camera_out = camera_out + r"""
+               aperture %s""" % (float(self._aperture))
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 73a5881d214..22e3a288b7d 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -119,15 +119,13 @@ stdenv.mkDerivation rec {
     # https://trac.sagemath.org/ticket/32959
     ./patches/linbox-1.7-upgrade.patch
 
-    # To emit better tracebacks, IPython 8 parses Python files using the ast
-    # module (via the stack_data package). Since Cython is a superset of Python,
-    # this results in no Cython code being printed in tracebacks. Fixing this
-    # properly is tracked in https://github.com/alexmojaki/stack_data/issues/21,
-    # but for now we just disable the corresponding test. An alternative would
-    # be to revert IPython's IPython/core/ultratb.py, but this would need to be
-    # Sage-specific (since it would worsen tracebacks for pure Python code).
-    # Sage tracks this at https://trac.sagemath.org/ticket/33170
-    ./patches/no-cython-sources-in-tracebacks-on-ipython8.patch
+    # https://trac.sagemath.org/ticket/33170
+    (fetchSageDiff {
+      base = "9.5.rc1";
+      name = "ipython-8-update.patch";
+      rev = "a90a314616d86d6be9c0d5233f0d36c4bfe06231";
+      sha256 = "sha256-pXdtokTo84xNCnV+HyAKEzG562z8FjzJ7hczOja0dRw=";
+    })
 
     # https://trac.sagemath.org/ticket/32968
     (fetchSageDiff {
@@ -155,6 +153,9 @@ stdenv.mkDerivation rec {
       rev = "97d7958bed441cf2ccc714d88f83d3a8426bc085";
       sha256 = "sha256-y1STE0oxswnijGCsBw8eHWWqpmT1XMznIfA0vvX9pFA=";
     })
+
+    # adapted from https://trac.sagemath.org/ticket/23712#comment:22
+    ./patches/tachyon-renamed-focallength.patch
   ];
 
   patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/pkgs/applications/science/misc/bada-bib/default.nix b/pkgs/applications/science/misc/bada-bib/default.nix
index bd2f94ac4a7..3ca998643ac 100644
--- a/pkgs/applications/science/misc/bada-bib/default.nix
+++ b/pkgs/applications/science/misc/bada-bib/default.nix
@@ -17,7 +17,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "bada-bib";
-  version = "0.5.1";
+  version = "0.6.0";
   format = "other";
   strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
@@ -25,7 +25,7 @@ python3Packages.buildPythonApplication rec {
     owner = "RogerCrocker";
     repo = "BadaBib";
     rev = "v${version}";
-    sha256 = "sha256-tb/720WPqcO4w1EMmidjtEidsjZ0dEhe+/vnJPM6kxo=";
+    sha256 = "sha256-gfZc3R8hrYy4Nco+XwG29lzZd537ByEgd3RL8h7f6DQ=";
   };
 
   nativeBuildInputs = [
@@ -52,7 +52,6 @@ python3Packages.buildPythonApplication rec {
   pythonPath = with python3Packages; [
     bibtexparser
     pygobject3
-    watchgod
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/system/monitor/default.nix b/pkgs/applications/system/monitor/default.nix
index 653d727525e..5de6e1165dc 100644
--- a/pkgs/applications/system/monitor/default.nix
+++ b/pkgs/applications/system/monitor/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "monitor";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "stsdc";
     repo = "monitor";
     rev = version;
-    sha256 = "1fv98yz9393ddp0k96bwbgccy6x9dmmg8g1pjd3xs6m4c1bnvfc7";
+    sha256 = "sha256-qwx60cp3Q6PL1iwRP+M9Rtmxcis0EByi8fk13H4cXfc=";
     fetchSubmodules = true;
   };
 
@@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/stsdc/monitor";
     maintainers = with maintainers; [ xiorcale ] ++ teams.pantheon.members;
     platforms = platforms.linux;
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     mainProgram = "com.github.stsdc.monitor";
   };
 }
diff --git a/pkgs/applications/terminal-emulators/roxterm/default.nix b/pkgs/applications/terminal-emulators/roxterm/default.nix
index da9bfac952b..3e4454726b6 100644
--- a/pkgs/applications/terminal-emulators/roxterm/default.nix
+++ b/pkgs/applications/terminal-emulators/roxterm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "roxterm";
-  version = "3.11.1";
+  version = "3.12.1";
 
   src = fetchFromGitHub {
     owner = "realh";
     repo = "roxterm";
     rev = version;
-    sha256 = "1n7588bl83sp51jwjq97f526c7fkh0kq90idw3nayb4zmi530irx";
+    sha256 = "sha256-jVcf/nrEq8dM8rw40ZhXGJjt3DQLroCePtIAdAsVIfs=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapGAppsHook libxslt ];
diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix
index 0f9bc33a907..3530b2d1d2f 100644
--- a/pkgs/applications/terminal-emulators/xterm/default.nix
+++ b/pkgs/applications/terminal-emulators/xterm/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "xterm";
-  version = "371";
+  version = "372";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz"
       "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz"
     ];
-    sha256 = "MviIJ3sZ4o68CjESv/AAYHwHvtBnnKoL7rs2+crUhPU=";
+    sha256 = "xtCBJ8skCcOgS8rlWbcCUZbtdwu3vyZjCry0XZX2CrE=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix
index 5d96929282f..36b813f547e 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.5.2";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-60XEc0V8stbl+JozTqu8yO37K1NXX/X2xFkcO9p/QNY=";
+    sha256 = "sha256-NvVm/deO4LSIl5TSziqsrGt9atCXjt4UZ/VJfmX3i4c=";
   };
 
-  vendorSha256 = "sha256-aMD4a+jwCINcHV/z5UyTF+o3BzN9wviz+kLwDys9/BI=";
+  vendorSha256 = "sha256-pBjg6WyD61+Bl3ttcpl/b9XoWBCi7cDvE8NPaZGu7Aw=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix b/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
index b93491e267c..c9bf60a1eb9 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-cliff";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "git-cliff";
     rev = "v${version}";
-    sha256 = "sha256-cctgZz65BliOePal4zrPpTbxMkz4GJj6gIh2YzEg+Do=";
+    sha256 = "sha256-CJ/2Cv/XoLq9U7u5mexH8iCCHbGtV6xohP3FapqO3+g=";
   };
 
-  cargoSha256 = "sha256-M/BNqLZnLthaBONwn5XMmulmqyZTWv5LQFvxASDrBCI=";
+  cargoSha256 = "sha256-pYStKDgvvV/Z96TAonpDW7DIs1YSO6gAoiUCieVa9QY=";
 
   # attempts to run the program on .git in src which is not deterministic
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-and-tools/lab/default.nix b/pkgs/applications/version-management/git-and-tools/lab/default.nix
index f1be6a4fc8d..8f4acbc3fc4 100644
--- a/pkgs/applications/version-management/git-and-tools/lab/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/lab/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "lab";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "zaquestion";
     repo = "lab";
     rev = "v${version}";
-    sha256 = "0g8v3cli8rvr0zsxiv4w0afzqmh0d85a832c4hc75b3f9amkr0dl";
+    sha256 = "sha256-sw00D/PJaLAPHoPdJC2WYUNklIzMbc/bXt2jlQZ7E90=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "09xn5vycb9shygs13pfwxlb89j6rhrbplm10mfgxi4kzlvm7agl6";
+  vendorSha256 = "sha256-FwnVMH//GwFbi+llFF6XNqrZX2hRB4r51p8TRz2vN+g=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index f4eeb4aac12..7fe27da6080 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "2.21";
+  version = "2.22";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "sha256-nl/NFbyL0MWgvpwaqkCOkKuSquFTQRKZ7Ski5qYRL9w=";
+    sha256 = "sha256-oVwvoZdjD6V3CHECZOYBSYVtCX1XwW5fynyCn7Oj+Bc=";
   };
 
   # Fix 'NameError: name 'ssl' is not defined'
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 37000982d8e..f08c88ab2fa 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -16,12 +16,12 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.16.3";
+  version = "1.16.4";
 
   # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
-    sha256 = "sha256-kT87CV/P1MUBLRetzYdIsIGVDjp9F6zmD2ovmcmy4Ys=";
+    sha256 = "sha256-7zlreX05pkhn381FMgQ8Nj3OP+BUr6o3u5f4ouo/Khg=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/version-management/jujutsu/default.nix b/pkgs/applications/version-management/jujutsu/default.nix
new file mode 100644
index 00000000000..fbf800363ab
--- /dev/null
+++ b/pkgs/applications/version-management/jujutsu/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, openssl
+, stdenv
+, dbus
+, sqlite
+, Security
+, SystemConfiguration
+, libiconv
+, testVersion
+, jujutsu
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "jujutsu";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "martinvonz";
+    repo = "jj";
+    rev = "v${version}";
+    sha256 = "sha256-BOT2pKcOSOha28fba62X+GgILcplhkMWhZo7Q0gGTQ8=";
+  };
+
+  cargoSha256 = "sha256-uvR+WXX2iIWFhcPYpOoOS1WBvOXuhTmgVVT2446c6XE=";
+
+  # Needed to get openssl-sys to use pkg-config.
+  OPENSSL_NO_VENDOR = 1;
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+    dbus
+    sqlite
+  ] ++ lib.optionals stdenv.isDarwin [
+    Security
+    SystemConfiguration
+    libiconv
+  ];
+
+  passthru.tests = {
+    version = testVersion {
+      package = jujutsu;
+      command = "jj --version";
+    };
+  };
+
+  meta = with lib; {
+    description = "A Git-compatible DVCS that is both simple and powerful";
+    homepage = "https://github.com/martinvonz/jj";
+    changelog = "https://github.com/martinvonz/jj/blob/v${version}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ _0x4A6F ];
+  };
+}
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 0124cf0646e..9dc3e0329e3 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -21,13 +21,18 @@ let
 
   self = python3Packages.buildPythonApplication rec {
     pname = "mercurial${lib.optionalString fullBuild "-full"}";
-    version = "6.0.3";
+    version = "6.1";
 
     src = fetchurl {
       url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-      sha256 = "sha256-Z/E2R6RlF6K1Z83Lc8mHIdddNqBDLeuxUCK3f5wTgzM=";
+      sha256 = "sha256-hvmGReRWWpJWmR3N4it3uOfSLKb7tgwfTNvYRpo4zB8=";
     };
 
+    patches = [
+      # Fix the type of libc buffer for aarch64-linux
+      ./fix-rhg-type-aarch64.patch
+    ];
+
     format = "other";
 
     passthru = { inherit python; }; # pass it so that the same version can be used in hg2git
@@ -35,7 +40,7 @@ let
     cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
       inherit src;
       name = "mercurial-${version}";
-      sha256 = "sha256-i4WROxezeqLX4hTdcPrqsf6dBqsNZz6fFAPzItYuklE=";
+      sha256 = "sha256-+Y91gEC8vmyutNpVFAAL4MSg4KnpFbhH12CIuMRx0Mc=";
       sourceRoot = "mercurial-${version}/rust";
     } else null;
     cargoRoot = if rustSupport then "rust" else null;
diff --git a/pkgs/applications/version-management/mercurial/fix-rhg-type-aarch64.patch b/pkgs/applications/version-management/mercurial/fix-rhg-type-aarch64.patch
new file mode 100644
index 00000000000..84417b497c0
--- /dev/null
+++ b/pkgs/applications/version-management/mercurial/fix-rhg-type-aarch64.patch
@@ -0,0 +1,12 @@
+diff --git a/rust/hg-core/src/lock.rs b/rust/hg-core/src/lock.rs
+--- a/rust/hg-core/src/lock.rs
++++ b/rust/hg-core/src/lock.rs
+@@ -145,7 +145,7 @@ lazy_static::lazy_static! {
+ 
+         /// Same as https://github.com/python/cpython/blob/v3.10.0/Modules/socketmodule.c#L5414
+         const BUFFER_SIZE: usize = 1024;
+-        let mut buffer = [0_i8; BUFFER_SIZE];
++        let mut buffer = [0 as libc::c_char; BUFFER_SIZE];
+         let hostname_bytes = unsafe {
+             let result = libc::gethostname(buffer.as_mut_ptr(), BUFFER_SIZE);
+             if result != 0 {
diff --git a/pkgs/applications/version-management/tkcvs/default.nix b/pkgs/applications/version-management/tkrev/default.nix
index 36e9154571b..66c1aa4d0e1 100644
--- a/pkgs/applications/version-management/tkcvs/default.nix
+++ b/pkgs/applications/version-management/tkrev/default.nix
@@ -1,18 +1,21 @@
 { lib, stdenv, fetchurl, tcl, tk }:
 
 stdenv.mkDerivation rec {
-  pname = "tkcvs";
-  version = "8.2.1";
+  pname = "tkrev";
+  version = "9.4.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/tkcvs/tkcvs_${lib.replaceStrings ["."] ["_"] version}.tar.gz";
-    sha256 = "0kvj6rcx1153wq0n1lmd8imbrki6xy5wxghwzlb9i15l65sclg3i";
+    url = "mirror://sourceforge/tkcvs/tkrev_${version}.tar.gz";
+    sha256 = "sha256-WHDZPShEB9Q+Bjbb37mogJLUZk2GuWoO8bz+Zydc7i4=";
   };
 
   buildInputs = [ tcl tk ];
 
   patchPhase = ''
-    sed -e 's@exec wish@exec ${tk}/bin/wish@' -i tkcvs/tkcvs.tcl tkdiff/tkdiff
+    for file in tkrev/tkrev.tcl tkdiff/tkdiff; do
+        substituteInPlace "$file" \
+            --replace "exec wish" "exec ${tk}/bin/wish"
+    done
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix
index 66f3b9a0aaf..6a9903c25b2 100644
--- a/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/pkgs/applications/version-management/tortoisehg/default.nix
@@ -7,11 +7,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "tortoisehg";
-  version = "6.0";
+  version = "6.1";
 
   src = fetchurl {
     url = "https://www.mercurial-scm.org/release/tortoisehg/targz/tortoisehg-${version}.tar.gz";
-    sha256 = "sha256-25uQ2llF/+wqdGpun/nzlvAf286OIRmlZUISZ0szH6Y=";
+    sha256 = "sha256-UG13BlFY9DcsCPWaBiYa6r2oA3ieJtTYfXknDoKNkYI=";
   };
 
   # Extension point for when thg's mercurial is lagging behind mainline.
diff --git a/pkgs/applications/video/epgstation/client/package.json b/pkgs/applications/video/epgstation/client/package.json
new file mode 100644
index 00000000000..6ba9974afa5
--- /dev/null
+++ b/pkgs/applications/video/epgstation/client/package.json
@@ -0,0 +1,57 @@
+{
+  "name": "epgstation-client",
+  "version": "2.6.20",
+  "private": true,
+  "scripts": {
+    "build": "vue-cli-service build",
+    "lint": "vue-cli-service lint",
+    "watch": "vue-cli-service build --watch --mode development"
+  },
+  "dependencies": {
+    "@mdi/font": "6.5.95",
+    "aribb24.js": "1.8.8",
+    "axios": "0.24.0",
+    "eventemitter2": "6.4.5",
+    "hls.js": "1.1.2",
+    "inversify": "6.0.1",
+    "json-stable-stringify": "1.0.1",
+    "lodash": "4.17.21",
+    "material-design-icons-iconfont": "6.1.1",
+    "mpegts.js": "1.6.10",
+    "reflect-metadata": "0.1.13",
+    "resize-observer-polyfill": "1.5.1",
+    "roboto-fontface": "*",
+    "smoothscroll-polyfill": "0.4.4",
+    "socket.io-client": "4.3.2",
+    "typeface-roboto": "1.1.13",
+    "vue": "2.6.14",
+    "vue-class-component": "7.2.6",
+    "vue-property-decorator": "9.1.2",
+    "vue-router": "3.5.3",
+    "vuetify": "2.5.10",
+    "vuetify-datetime-picker": "2.1.1",
+    "@types/hls.js": "0.13.3",
+    "@types/json-stable-stringify": "1.0.33",
+    "@types/lodash": "4.14.178",
+    "@types/smoothscroll-polyfill": "0.3.1",
+    "@types/socket.io-client": "1.4.36",
+    "@typescript-eslint/eslint-plugin": "4.33.0",
+    "@typescript-eslint/parser": "4.33.0",
+    "@vue/cli-plugin-eslint": "4.5.12",
+    "@vue/cli-plugin-typescript": "4.5.13",
+    "@vue/cli-plugin-vuex": "4.5.13",
+    "@vue/cli-service": "4.5.13",
+    "@vue/eslint-config-prettier": "6.0.0",
+    "@vue/eslint-config-typescript": "7.0.0",
+    "eslint": "7.32.0",
+    "eslint-plugin-prettier": "3.4.1",
+    "eslint-plugin-vue": "7.20.0",
+    "prettier": "2.4.1",
+    "sass": "1.32.12",
+    "sass-loader": "10.2.0",
+    "typescript": "4.4.4",
+    "vue-cli-plugin-vuetify": "2.4.3",
+    "vue-template-compiler": "2.6.14",
+    "vuetify-loader": "1.7.3"
+  }
+}
diff --git a/pkgs/applications/video/epgstation/default.nix b/pkgs/applications/video/epgstation/default.nix
index 3d910ad4c0e..77510ae153d 100644
--- a/pkgs/applications/video/epgstation/default.nix
+++ b/pkgs/applications/video/epgstation/default.nix
@@ -10,17 +10,18 @@
 , nodePackages
 , gzip
 , jq
+, yq
 }:
 
 let
   # NOTE: use updateScript to bump the package version
   pname = "EPGStation";
-  version = "1.7.5";
+  version = "2.6.20";
   src = fetchFromGitHub {
     owner = "l3tnun";
     repo = "EPGStation";
     rev = "v${version}";
-    sha256 = "06yaf5yb5rp3q0kdhw33df7px7vyfby885ckb6bdzw3wnams5d8m";
+    sha256 = "K1cAvmqWEfS6EY4MKAtjXb388XLYHtouxNM70PWgFig=";
   };
 
   workaround-opencollective-buildfailures = stdenv.mkDerivation {
@@ -35,19 +36,44 @@ let
     '';
   };
 
-  pkg = nodePackages.epgstation.override (drv: {
+  client = nodePackages.epgstation-client.override (drv: {
+    # FIXME: remove this option if possible
+    #
+    # Unsetting this option resulted NPM attempting to re-download packages.
+    dontNpmInstall = true;
+
+    meta = drv.meta // {
+      inherit (nodejs.meta) platforms;
+    };
+  });
+
+  server = nodePackages.epgstation.override (drv: {
     inherit src;
 
+    bypassCache = false;
+
+    # This is set to false to keep devDependencies at build time. Build time
+    # dependencies are pruned afterwards.
+    production = false;
+
     buildInputs = [ bash ];
     nativeBuildInputs = [
+      nodejs
       workaround-opencollective-buildfailures
       makeWrapper
-      nodePackages.node-pre-gyp
-    ];
+    ] ++ (with nodePackages; [
+      node-pre-gyp
+      node-gyp-build
+    ]);
 
     preRebuild = ''
       # Fix for not being able to connect to mysql using domain sockets.
-      patch -p1 ${./use-mysql-over-domain-socket.patch}
+      patch -p1 < ${./use-mysql-over-domain-socket.patch}
+
+      # Workaround for https://github.com/svanderburg/node2nix/issues/275
+      sed -i -e "s|#!/usr/bin/env node|#! ${nodejs}/bin/node|" node_modules/node-gyp-build/bin.js
+
+      find . -name package-lock.json -delete
     '';
 
     postInstall = let
@@ -56,12 +82,19 @@ let
     ''
       mkdir -p $out/{bin,libexec,share/doc/epgstation,share/man/man1}
 
-      pushd $out/lib/node_modules/EPGStation
+      pushd $out/lib/node_modules/epgstation
+
+      cp -r ${client}/lib/node_modules/epgstation-client/node_modules client/node_modules
+      chmod -R u+w client/node_modules
 
       npm run build
+
       npm prune --production
+      pushd client
+      npm prune --production
+      popd
 
-      mv config/{enc.sh,enc.js} $out/libexec
+      mv config/enc.js.template $out/libexec/enc.js
       mv LICENSE Readme.md $out/share/doc/epgstation
       mv doc/* $out/share/doc/epgstation
       sed 's/@DESCRIPTION@/${drv.meta.description}/g' ${./epgstation.1} \
@@ -82,8 +115,9 @@ let
       ln -sfT /var/lib/epgstation/thumbnail thumbnail
 
       makeWrapper ${nodejs}/bin/npm $out/bin/epgstation \
-       --run "cd $out/lib/node_modules/EPGStation" \
-       --prefix PATH : ${lib.makeBinPath runtimeDeps}
+       --run "cd $out/lib/node_modules/epgstation" \
+       --prefix PATH : ${lib.makeBinPath runtimeDeps} \
+       --set APP_ROOT_PATH "$out/lib/node_modules/epgstation"
 
       popd
     '';
@@ -99,22 +133,25 @@ let
         common-updater-scripts
         genericUpdater
         writers
-        jq;
+        jq
+        yq;
     };
 
     # nodePackages.epgstation is a stub package to fetch npm dependencies and
-    # is marked as broken to prevent users from installing it directly. This
-    # technique ensures epgstation can share npm packages with the rest of
-    # nixpkgs while still allowing us to heavily customize the build. It also
-    # allows us to provide devDependencies for the epgstation build process
-    # without doing the same for all the other node packages.
-    meta = drv.meta // { broken = false; };
+    # its meta.platforms is made empty to prevent users from installing it
+    # directly. This technique ensures epgstation can share npm packages with
+    # the rest of nixpkgs while still allowing us to heavily customize the
+    # build. It also allows us to provide devDependencies for the epgstation
+    # build process without doing the same for all the other node packages.
+    meta = drv.meta // {
+      inherit (nodejs.meta) platforms;
+    };
   });
 in
-pkg // {
+server // {
   name = "${pname}-${version}";
 
-  meta = with lib; pkg.meta // {
+  meta = with lib; server.meta // {
     maintainers = with maintainers; [ midchildan ];
 
     # NOTE: updateScript relies on this being correct
diff --git a/pkgs/applications/video/epgstation/epgstation.1 b/pkgs/applications/video/epgstation/epgstation.1
index bb5c0238137..2dc67f64608 100644
--- a/pkgs/applications/video/epgstation/epgstation.1
+++ b/pkgs/applications/video/epgstation/epgstation.1
@@ -27,7 +27,7 @@ platforms, run
 to start EPGStation.
 .Sh FILES
 .Bl -tag -width Ds -compact
-.It Pa /etc/epgstation/config.json
+.It Pa /etc/epgstation/config.yml
 .Nm
 configuration file.
 .El
@@ -48,5 +48,9 @@ Restore the EPGstation database.
 .Pp
 .Dl $ epgstation run restore /path/to/src
 .Pp
+Restore the EPGstation database from the prior v1 release.
+.Pp
+.Dl $ epgstation run v1migrate /path/to/src
+.Pp
 .Sh SEE ALSO
 .Xr npm 1
diff --git a/pkgs/applications/video/epgstation/package.json b/pkgs/applications/video/epgstation/package.json
index 53b1ebca2da..cf302a95161 100644
--- a/pkgs/applications/video/epgstation/package.json
+++ b/pkgs/applications/video/epgstation/package.json
@@ -1,85 +1,72 @@
 {
-  "name": "EPGStation",
-  "version": "1.7.5",
+  "name": "epgstation",
+  "version": "2.6.20",
   "description": "DTV Software in Japan.",
   "repository": {
     "type": "git",
-    "url": "https://github.com/l3tnun/EPGStation.git"
+    "url": "git+https://github.com/l3tnun/EPGStation-V2.git"
   },
   "author": "l3tnun",
   "license": "MIT",
   "bugs": {
-    "url": "https://github.com/l3tnun/EPGStation/issues"
-  },
-  "homepage": "https://github.com/l3tnun/EPGStation#readme",
-  "engines": {
-    "node": "^10.x.x < 11 || ^12.14.0 < 13 || ^14.5.0 < 15"
+    "url": "https://github.com/l3tnun/EPGStation-V2/issues"
   },
+  "homepage": "https://github.com/l3tnun/EPGStation-V2#readme",
   "dependencies": {
-    "aribts": "^2.1.12",
-    "b24.js": "1.0.3",
-    "basic-auth": "2.0.1",
+    "arib-subtitle-timedmetadater": "4.0.9",
+    "aribts": "2.1.12",
+    "axios": "0.24.0",
     "body-parser": "1.19.0",
-    "chart.js": "2.9.3",
-    "css-ripple-effect": "1.0.5",
-    "diskusage": "1.1.3",
+    "cors": "2.8.5",
+    "diskusage-ng": "1.0.2",
     "express": "4.17.1",
-    "express-openapi": "7.0.1",
-    "fs-extra": "9.0.1",
-    "hls-b24.js": "0.12.3",
-    "js-yaml": "3.14.0",
-    "lodash": "4.17.20",
+    "express-openapi": "9.3.0",
+    "file-type": "16.5.3",
+    "inversify": "5.1.1",
+    "js-yaml": "4.1.0",
+    "lodash": "4.17.21",
     "log4js": "6.3.0",
-    "material-design-icons": "3.0.1",
-    "material-design-lite": "1.3.0",
     "minimist": "1.2.5",
-    "mirakurun": "3.3.1",
-    "mithril": "2.0.4",
+    "mirakurun": "3.9.0-beta.26",
     "mkdirp": "1.0.4",
-    "multer": "1.4.2",
+    "multer": "1.4.3",
     "mysql": "2.18.1",
-    "openapi-types": "7.0.1",
-    "pg": "8.3.3",
-    "request": "2.88.2",
-    "socket.io": "2.3.0",
-    "socket.io-client": "2.3.0",
-    "sqlite3": "5.0.0",
-    "swagger-ui-dist": "3.34.0",
+    "openapi-types": "9.3.0",
+    "reflect-metadata": "0.1.13",
+    "socket.io": "4.3.1",
+    "source-map-support": "0.5.20",
+    "sqlite3": "5.0.2",
+    "swagger-ui-dist": "3.52.5",
+    "typeorm": "0.2.38",
     "url-join": "4.0.1",
-    "@types/basic-auth": "1.1.3",
-    "@types/body-parser": "1.19.0",
-    "@types/chart.js": "2.9.24",
-    "@types/express": "4.17.8",
-    "@types/hls.js": "0.13.1",
-    "@types/js-yaml": "3.12.5",
-    "@types/lodash": "4.14.161",
-    "@types/material-design-lite": "1.1.16",
-    "@types/minimist": "1.2.0",
-    "@types/mithril": "2.0.3",
-    "@types/mkdirp": "1.0.1",
-    "@types/multer": "1.4.4",
-    "@types/mysql": "2.15.15",
-    "@types/node": "14.11.1",
-    "@types/pg": "7.14.5",
-    "@types/request": "2.48.5",
-    "@types/socket.io": "2.1.11",
-    "@types/socket.io-client": "1.4.33",
-    "@types/sqlite3": "3.1.6",
-    "@types/url-join": "4.0.0",
-    "del": "5.1.0",
+    "@types/body-parser": "1.19.1",
+    "@types/express": "4.17.13",
+    "@types/file-type": "10.9.1",
+    "@types/js-yaml": "4.0.4",
+    "@types/lodash": "4.14.176",
+    "@types/minimist": "1.2.2",
+    "@types/mkdirp": "1.0.2",
+    "@types/mongodb": "4.0.6",
+    "@types/multer": "1.4.7",
+    "@types/node": "16.11.6",
+    "@types/socket.io": "3.0.1",
+    "@types/source-map-support": "0.5.4",
+    "@types/sqlite3": "3.1.7",
+    "@types/url-join": "4.0.1",
+    "@typescript-eslint/eslint-plugin": "4.33.0",
+    "@typescript-eslint/parser": "4.33.0",
+    "del": "6.0.0",
+    "eslint": "7.32.0",
+    "eslint-config-prettier": "8.3.0",
+    "eslint-plugin-prettier": "3.4.1",
     "gulp": "4.0.2",
-    "gulp-clean-css": "4.3.0",
-    "gulp-concat": "2.6.1",
-    "gulp-dart-sass": "1.0.2",
+    "gulp-eslint": "6.0.0",
     "gulp-plumber": "1.2.1",
-    "gulp-sourcemaps": "2.6.5",
-    "gulp-tslint": "8.1.4",
+    "gulp-sourcemaps": "3.0.0",
     "gulp-typescript": "5.0.1",
-    "terser-webpack-plugin": "4.2.2",
-    "ts-loader": "8.0.4",
-    "tslint": "6.1.3",
-    "typescript": "4.0.3",
-    "webpack": "4.44.2",
-    "webpack-stream": "6.1.0"
+    "prettier": "2.4.1",
+    "ts-loader": "9.2.6",
+    "ts-node": "10.4.0",
+    "typescript": "4.4.4"
   }
 }
diff --git a/pkgs/applications/video/epgstation/update.nix b/pkgs/applications/video/epgstation/update.nix
index 5c2fbe66f04..5eb23be6c52 100644
--- a/pkgs/applications/video/epgstation/update.nix
+++ b/pkgs/applications/video/epgstation/update.nix
@@ -6,6 +6,7 @@
 , genericUpdater
 , writers
 , jq
+, yq
 }:
 
 let
@@ -40,6 +41,11 @@ in writers.writeBash "update-epgstation" ''
     } | del(.devDependencies, .main, .scripts)' \
     "$SRC/package.json" \
     > package.json
+  ${jq}/bin/jq '. + {
+      dependencies: (.dependencies + .devDependencies),
+    } | del(.devDependencies, .main, .scripts)' \
+    "$SRC/client/package.json" \
+    > client/package.json
 
   # Regenerate node packages to update the pre-overriden epgstation derivation.
   # This must come *after* package.json has been regenerated.
@@ -49,18 +55,11 @@ in writers.writeBash "update-epgstation" ''
 
   # Generate default streaming settings for the nixos module.
   pushd ../../../../nixos/modules/services/video/epgstation
-  ${jq}/bin/jq '
-    { liveHLS
-    , liveMP4
-    , liveWebM
-    , mpegTsStreaming
-    , mpegTsViewer
-    , recordedDownloader
-    , recordedStreaming
-    , recordedHLS
-    , recordedViewer
-    }' \
-    "$SRC/config/config.sample.json" \
+  ${yq}/bin/yq -j '{ urlscheme , stream }' \
+    "$SRC/config/config.yml.template" \
     > streaming.json
+
+  # Fix generated output for EditorConfig compliance
+  printf '\n' >> streaming.json  # rule: insert_final_newline
   popd
 ''
diff --git a/pkgs/applications/video/epgstation/use-mysql-over-domain-socket.patch b/pkgs/applications/video/epgstation/use-mysql-over-domain-socket.patch
index 48640f2ba08..87bb3e7fbd1 100644
--- a/pkgs/applications/video/epgstation/use-mysql-over-domain-socket.patch
+++ b/pkgs/applications/video/epgstation/use-mysql-over-domain-socket.patch
@@ -1,17 +1,46 @@
-diff --git a/src/server/ConfigInterface.ts b/src/server/ConfigInterface.ts
-index d23badd..1dd2b98 100644
---- a/src/server/ConfigInterface.ts
-+++ b/src/server/ConfigInterface.ts
-@@ -11,9 +11,10 @@ interface ConfigInterface {
-     dbPath: string;
-     dbInfoPath: string;
-     mysql: {
+diff --git a/ormconfig.js b/ormconfig.js
+index 5591853b..838c06cb 100644
+--- a/ormconfig.js
++++ b/ormconfig.js
+@@ -38,8 +38,6 @@ switch (config.dbtype) {
+ 
+     case 'mysql':
+         ormConfig.type = 'mysql';
+-        ormConfig.host = config.mysql.host;
+-        ormConfig.port = config.mysql.port;
+         ormConfig.username = config.mysql.user;
+         ormConfig.password = config.mysql.password;
+         ormConfig.database = config.mysql.database;
+@@ -49,6 +47,12 @@ switch (config.dbtype) {
+         } else {
+             ormConfig.charset = config.mysql.charset;
+         }
++        if (config.mysql.socketPath) {
++            ormConfig.socketPath = config.mysql.socketPath;
++        } else {
++            ormConfig.host = config.mysql.host;
++            ormConfig.port = config.mysql.port;
++        }
+         break;
+ 
+     case 'postgres':
+diff --git a/src/model/IConfigFile.ts b/src/model/IConfigFile.ts
+index 6a502e83..ba84a423 100644
+--- a/src/model/IConfigFile.ts
++++ b/src/model/IConfigFile.ts
+@@ -61,12 +61,13 @@ export default interface IConfigFile {
+         regexp?: boolean;
+     };
+     mysql?: {
 -        host: string;
 +        host?: string;
-+        socketPath?: string;
          user: string;
--        password: string;
-+        password?: string;
+-        port: number;
++        port?: number;
+         password: string;
          database: string;
-         connectTimeout: number;
-         connectionLimit: number;
+         charset?: string;
++        socketPath?: string;
+     };
+     postgres?: {
+         host: string;
diff --git a/pkgs/applications/video/f1viewer/default.nix b/pkgs/applications/video/f1viewer/default.nix
index 33e1863428e..7c091b425af 100644
--- a/pkgs/applications/video/f1viewer/default.nix
+++ b/pkgs/applications/video/f1viewer/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "f1viewer";
-  version = "2.5.0";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "SoMuchForSubtlety";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cTXueIOD+OXx4WikhdNv3v/F2/f5aDicyPP7FgTU6AM=";
+    sha256 = "sha256-MY8xqpAzK1c4XL7w/LR83DyHFCI5X7wldosDDo7pXNI=";
   };
 
-  vendorSha256 = "sha256-47uLx4t0N1T3zqZ9o/su/onJEUdGXpq+iVSUaRnwW3I=";
+  vendorSha256 = "sha256-8c1+t6Lo11Q2kEDy9IWLw9bsZYtJFksE7Om3ysx7fc4=";
 
   meta = with lib; {
     description =
diff --git a/pkgs/applications/video/freetube/default.nix b/pkgs/applications/video/freetube/default.nix
index 8b90704a535..c93be6b6383 100644
--- a/pkgs/applications/video/freetube/default.nix
+++ b/pkgs/applications/video/freetube/default.nix
@@ -23,11 +23,11 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    mkdir -p $out/bin $out/share/${pname} $out/share/applications
+    mkdir -p $out/bin $out/share/${pname} $out/share/applications $out/share/icons/hicolor/scalable/apps
 
     cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
     cp -a ${appimageContents}/freetube.desktop $out/share/applications/${pname}.desktop
-    cp -a ${appimageContents}/usr/share/icons $out/share
+    cp -a ${appimageContents}/usr/share/icons/hicolor/scalable/freetube.svg $out/share/icons/hicolor/scalable/apps
 
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/applications/video/go-chromecast/default.nix b/pkgs/applications/video/go-chromecast/default.nix
index 0ffb5170dc2..99ddd7b24b6 100644
--- a/pkgs/applications/video/go-chromecast/default.nix
+++ b/pkgs/applications/video/go-chromecast/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-chromecast";
-  version = "0.2.11";
+  version = "0.2.12";
 
   src = fetchFromGitHub {
     owner = "vishen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BCOyeXo3uoR4ry/nFbF+//U62/hHnPK+tbG+8Rv6Rv0=";
+    sha256 = "sha256-h8qWwMaEhXnj6ZSrKAXBVbrMR0je41EoOtFeN9XlCuk=";
   };
 
-  vendorSha256 = "sha256-idxElk4Sy7SE9G1OMRw8YH4o8orBa80qhBXPA+ar620=";
+  vendorSha256 = "sha256-PpMLHuJR6irp+QHhzguwGtBy30HM7DR0tNGiwB07M5E=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" "-X main.date=unknown" ];
 
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index 26d80b1596c..712ccacd7a0 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -14,21 +14,21 @@
 }:
 
 let
-  version = "1.16.5";
+  version = "1.16.7";
   # Using two URLs as the first one will break as soon as a new version is released
   src_bin = fetchurl {
     urls = [
       "http://www.makemkv.com/download/makemkv-bin-${version}.tar.gz"
       "http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz"
     ];
-    sha256 = "1y14yxhjj0sdq0s24qr58m0ddhna2rf0q0w3ny888as4wbqiwvm0";
+    sha256 = "sha256-YjsYW2MmzDZqOMdYlqE0dZ399Qq8hJRQ9BCViNexLHs=";
   };
   src_oss = fetchurl {
     urls = [
       "http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz"
       "http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz"
     ];
-    sha256 = "131vdi4gyc996z77rrcqb9nfbd62j8314ai4ib1jnilmrsrk93p5";
+    sha256 = "sha256-TL0PRP/pDg16qsbYi9RYyD0egNDaxuApmR86hiR/Rq8=";
   };
 
 in mkDerivation {
@@ -55,15 +55,15 @@ in mkDerivation {
   installPhase = ''
     runHook preInstall
 
-    install -Dm555 -t $out/bin                          out/makemkv ../makemkv-bin-${version}/bin/amd64/makemkvcon
-    install -D     -t $out/lib                          out/lib{driveio,makemkv,mmbd}.so.*
-    install -D     -t $out/share/MakeMKV                ../makemkv-bin-${version}/src/share/*
-    install -Dm444 -t $out/share/applications           ../makemkv-oss-${version}/makemkvgui/share/makemkv.desktop
-    install -Dm444 -t $out/share/icons/hicolor/16x16    ../makemkv-oss-${version}/makemkvgui/share/icons/16x16/*
-    install -Dm444 -t $out/share/icons/hicolor/32x32    ../makemkv-oss-${version}/makemkvgui/share/icons/32x32/*
-    install -Dm444 -t $out/share/icons/hicolor/64x64    ../makemkv-oss-${version}/makemkvgui/share/icons/64x64/*
-    install -Dm444 -t $out/share/icons/hicolor/128x128  ../makemkv-oss-${version}/makemkvgui/share/icons/128x128/*
-    install -Dm444 -t $out/share/icons/hicolor/256x256  ../makemkv-oss-${version}/makemkvgui/share/icons/256x256/*
+    install -Dm555 -t $out/bin                              out/makemkv ../makemkv-bin-${version}/bin/amd64/makemkvcon
+    install -D     -t $out/lib                              out/lib{driveio,makemkv,mmbd}.so.*
+    install -D     -t $out/share/MakeMKV                    ../makemkv-bin-${version}/src/share/*
+    install -Dm444 -t $out/share/applications               ../makemkv-oss-${version}/makemkvgui/share/makemkv.desktop
+    install -Dm444 -t $out/share/icons/hicolor/16x16/apps   ../makemkv-oss-${version}/makemkvgui/share/icons/16x16/*
+    install -Dm444 -t $out/share/icons/hicolor/32x32/apps   ../makemkv-oss-${version}/makemkvgui/share/icons/32x32/*
+    install -Dm444 -t $out/share/icons/hicolor/64x64/apps   ../makemkv-oss-${version}/makemkvgui/share/icons/64x64/*
+    install -Dm444 -t $out/share/icons/hicolor/128x128/apps ../makemkv-oss-${version}/makemkvgui/share/icons/128x128/*
+    install -Dm444 -t $out/share/icons/hicolor/256x256/apps ../makemkv-oss-${version}/makemkvgui/share/icons/256x256/*
 
     runHook postInstall
   '';
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index 576f79c4779..3ceda57fb89 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -15,7 +15,6 @@
 , freetype
 , libass
 , libpthreadstubs
-, mujs
 , nv-codec-headers
 , lua
 , libuchardet
@@ -56,6 +55,7 @@
 , cmsSupport         ? true,           lcms2
 , dvdnavSupport      ? stdenv.isLinux, libdvdnav
 , jackaudioSupport   ? false,          libjack2
+, javascriptSupport  ? true,           mujs
 , libpngSupport      ? true,           libpng
 , openalSupport      ? true,           openalSoft
 , pulseSupport       ? config.pulseaudio or stdenv.isLinux, libpulseaudio
@@ -108,6 +108,7 @@ in stdenv.mkDerivation rec {
     (lib.enableFeature archiveSupport  "libarchive")
     (lib.enableFeature cddaSupport     "cdda")
     (lib.enableFeature dvdnavSupport   "dvdnav")
+    (lib.enableFeature javascriptSupport "javascript")
     (lib.enableFeature openalSupport   "openal")
     (lib.enableFeature sdl2Support     "sdl2")
     (lib.enableFeature sixelSupport    "sixel")
@@ -134,7 +135,6 @@ in stdenv.mkDerivation rec {
     libpthreadstubs
     libuchardet
     luaEnv
-    mujs
   ] ++ lib.optionals alsaSupport        [ alsa-lib ]
     ++ lib.optionals archiveSupport     [ libarchive ]
     ++ lib.optionals bluraySupport      [ libbluray ]
@@ -145,6 +145,7 @@ in stdenv.mkDerivation rec {
     ++ lib.optionals drmSupport         [ libdrm mesa ]
     ++ lib.optionals dvdnavSupport      [ libdvdnav libdvdnav.libdvdread ]
     ++ lib.optionals jackaudioSupport   [ libjack2 ]
+    ++ lib.optionals javascriptSupport  [ mujs ]
     ++ lib.optionals libpngSupport      [ libpng ]
     ++ lib.optionals openalSupport      [ openalSoft ]
     ++ lib.optionals pulseSupport       [ libpulseaudio ]
diff --git a/pkgs/applications/video/mpv/scripts/vr-reversal.nix b/pkgs/applications/video/mpv/scripts/vr-reversal.nix
new file mode 100644
index 00000000000..4c4aacef31d
--- /dev/null
+++ b/pkgs/applications/video/mpv/scripts/vr-reversal.nix
@@ -0,0 +1,35 @@
+{ lib, stdenvNoCC, fetchFromGitHub, ffmpeg }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "vr-reversal";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "dfaker";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1wn2ngcvn7wcsl3kmj782x5q9130qw951lj6ilrkafp6q6zscpqr";
+  };
+
+  dontBuild = true;
+
+  # reset_rot is only available in ffmpeg 5.0, see 5bcc61ce87922ecccaaa0bd303a7e195929859a8
+  postPatch = lib.optionalString (lib.versionOlder ffmpeg.version "5.0") ''
+    substituteInPlace 360plugin.lua --replace ":reset_rot=1:" ":"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/mpv/scripts
+    cp -r 360plugin.lua $out/share/mpv/scripts/
+  '';
+
+  passthru.scriptName = "360plugin.lua";
+
+  meta = with lib; {
+    description = "Script for mpv to play VR video with optional saving of head tracking data.";
+    homepage = "https://github.com/dfaker/VR-reversal";
+    license = licenses.unlicense;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ schnusch ];
+  };
+}
diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix
index 6d4e0f18d6f..eecb3a6b974 100644
--- a/pkgs/applications/video/smplayer/default.nix
+++ b/pkgs/applications/video/smplayer/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "smplayer";
-  version = "21.10.0";
+  version = "22.2.0";
 
   src = fetchFromGitHub {
     owner = "smplayer-dev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-p6036c8KX3GCINmkjHZlDLgHhLKri+t2WNWzP4KsSI8=";
+    hash = "sha256-7DMvIqW3vzjVzJPyjbXuHHcf1T6EFcf/a/mVYqa3XS8=";
   };
 
   nativeBuildInputs = [
@@ -22,7 +22,9 @@ stdenv.mkDerivation rec {
     wrapQtAppsHook
   ];
 
-  buildInputs = [ qtscript ];
+  buildInputs = [
+    qtscript
+  ];
 
   dontUseQmakeConfigure = true;
 
diff --git a/pkgs/applications/virtualization/cloud-hypervisor/default.nix b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
index bb94c2986f3..b381d3ccca1 100644
--- a/pkgs/applications/virtualization/cloud-hypervisor/default.nix
+++ b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cloud-hypervisor";
-  version = "22.0";
+  version = "22.1";
 
   src = fetchFromGitHub {
     owner = "cloud-hypervisor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1n4i7rgx8rkif2naw429fnkhv0888sfxmnky67fd42mlv1lhz9w8";
+    sha256 = "sha256-KWCGcGB4HCpV7uSM4otQhSGEzQ+1jQip2fiAysNN54k=";
   };
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optional stdenv.isAarch64 dtc;
 
-  cargoSha256 = "0kc6lcwlqg9l19l4psakgkc5jf28nw1riz85adci897yha1dsnh0";
+  cargoSha256 = "sha256-R70H1R9jFnQyOLI4UNuRzpOAAnGSBGpiHFKbxP2472o=";
 
   OPENSSL_NO_VENDOR = true;
 
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
index 87b91196f88..b6d238d599e 100644
--- a/pkgs/applications/virtualization/cri-o/default.nix
+++ b/pkgs/applications/virtualization/cri-o/default.nix
@@ -15,13 +15,13 @@
 
 buildGoModule rec {
   pname = "cri-o";
-  version = "1.23.1";
+  version = "1.23.2";
 
   src = fetchFromGitHub {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    sha256 = "sha256-A59Bgt0u8jzpTijT5vcO8JREL7Elx1mWnwddAuRHn5c=";
+    sha256 = "sha256-sjeYWBcal6RtoUZd6orQ+237Fz80vQKx5vocFMq4l7U=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/virtualization/docker-slim/default.nix b/pkgs/applications/virtualization/docker-slim/default.nix
index cd8a1f5041a..3bc0f225de6 100644
--- a/pkgs/applications/virtualization/docker-slim/default.nix
+++ b/pkgs/applications/virtualization/docker-slim/default.nix
@@ -6,7 +6,7 @@
 
 buildGoPackage rec {
   pname = "docker-slim";
-  version = "1.37.3";
+  version = "1.37.4";
 
   goPackagePath = "github.com/docker-slim/docker-slim";
 
@@ -14,7 +14,7 @@ buildGoPackage rec {
     owner = "docker-slim";
     repo = "docker-slim";
     rev = version;
-    sha256 = "sha256-jzwQ3nrhLDiQXcVkPiXrRAmpLQOD8ILBnoCEUiEbxzw=";
+    sha256 = "sha256-iz1V+wcrJf0grOe81kwbXPBqnvXpHnh7IMDdugaUOH0=";
   };
 
   subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];
diff --git a/pkgs/applications/virtualization/docker/buildx.nix b/pkgs/applications/virtualization/docker/buildx.nix
index a149b5e4b33..440d094b430 100644
--- a/pkgs/applications/virtualization/docker/buildx.nix
+++ b/pkgs/applications/virtualization/docker/buildx.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-buildx";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "buildx";
     rev = "v${version}";
-    sha256 = "sha256-5EV0Rw1+ufxQ1wmQ0EJXQ7HVtXVbB4do/tet0QFRi08=";
+    sha256 = "sha256-PSqVe4m2na6BjNxIKKZG1ja6zEzwI2AwgJlaMfaW2EM=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix
index 2f0ff8cc5f5..e2a3f1e1077 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.3.0";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    sha256 = "sha256-DbZzVyTafBVsXvm1/aSdXJruKxBq5Ff8AIfDREFFVh0=";
+    sha256 = "sha256-PFR7EcRkqn/d6gYlMNN36nRIslYEN0JFSbFU9niGc+Y=";
   };
 
-  vendorSha256 = "sha256-ePL1L/A+48JEu6jpbzy8UBWrFY10iqITILSclfYs8Lw=";
+  vendorSha256 = "sha256-L6PNKK1ID7ZVX/4sG72wn9ZjWlx0lsNuiBc/EtCN03E=";
 
   ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix
index c2769a0ccf3..9d35e87f161 100644
--- a/pkgs/applications/virtualization/firecracker/default.nix
+++ b/pkgs/applications/virtualization/firecracker/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   sourceRoot = ".";
   src = dlbin {
     x86_64-linux = "sha256-yeWVsrvH3yYlS2uH/TkSleHjXvIDnHWcZSvLgV+CGF0=";
-    aarch64-linux = "sha256-75UC+HeVUfUk1HRvTJsOHbHHkgr6me1OtxDF7lahf68=";
+    aarch64-linux = "sha256-9ggRmijwXE9adVFv5XommgvdpeeWnWUFES+Ep2GrBVo=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/virtualization/flintlock/default.nix b/pkgs/applications/virtualization/flintlock/default.nix
new file mode 100644
index 00000000000..d258604496e
--- /dev/null
+++ b/pkgs/applications/virtualization/flintlock/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, cni-plugins
+, buildGoModule
+, firecracker
+, containerd
+, runc
+, makeWrapper
+, fetchFromGitHub
+}:
+
+buildGoModule rec{
+  pname = "flintlock";
+  version = "0.1.0-alpha.9";
+
+  src = fetchFromGitHub {
+    owner = "weaveworks";
+    repo = "flintlock";
+    rev = "v${version}";
+    sha256 = "sha256-Xw3g2wh0fPUknSuAKoJL3jxVZS50wSPZ9Wz05zkTVXM=";
+  };
+
+  vendorSha256 = "sha256-EjVlM6AD+O/z6+R5TRBmmRWbrP4C+qyvsnEjwOkDkUE=";
+
+  subPackages = [ "cmd/flintlock-metrics" "cmd/flintlockd" ];
+
+  ldflags = [ "-s" "-w" "-X github.com/weaveworks/flintlock/internal/version.Version=v${version}" ];
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  buildInputs = [
+    firecracker
+  ];
+
+  postInstall = ''
+    for prog in flintlockd flintlock-metrics; do
+      wrapProgram "$out/bin/$prog" --prefix PATH : ${lib.makeBinPath [ cni-plugins firecracker containerd runc ]}
+    done
+  '';
+
+  meta = with lib; {
+    description = "Create and manage the lifecycle of MicroVMs backed by containerd";
+    homepage = "https://github.com/weaveworks/flintlock";
+    license = licenses.mpl20;
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
+    maintainers = with maintainers; [ techknowlogick ];
+  };
+}
diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix
index 4f58f012716..68e902253ed 100644
--- a/pkgs/applications/virtualization/lima/default.nix
+++ b/pkgs/applications/virtualization/lima/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "lima";
-  version = "0.8.3";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "lima-vm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hzoc5zbdnHHTY04aGn+77lHvPh+KNOPoZmW19YIZHv8=";
+    sha256 = "sha256-Y15oYAdq+bsG2qD/ZTqXHgkelAdQF4SnOE79gDhlNGE=";
   };
 
-  vendorSha256 = "sha256-eJnwXXYWMaIfM8SW4MtmG4wsPA/9sx4j2AkOd6GpnsY=";
+  vendorSha256 = "sha256-66CcLWG45vZwM2LVc1xsjJYyxefGEBW4fY3wo1ESQUM=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix
index c3721bbe36e..6018608a3f1 100644
--- a/pkgs/applications/virtualization/open-vm-tools/default.nix
+++ b/pkgs/applications/virtualization/open-vm-tools/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook
-, bash, fuse, libmspack, openssl, pam, xercesc, icu, libdnet, procps, libtirpc, rpcsvc-proto
+{ stdenv, lib, fetchFromGitHub, fetchpatch, makeWrapper, autoreconfHook
+, bash, fuse3, libmspack, openssl, pam, xercesc, icu, libdnet, procps, libtirpc, rpcsvc-proto
 , libX11, libXext, libXinerama, libXi, libXrender, libXrandr, libXtst
 , pkg-config, glib, gdk-pixbuf-xlib, gtk3, gtkmm3, iproute2, dbus, systemd, which
 , libdrm, udev
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "open-vm-tools";
-  version = "11.3.5";
+  version = "12.0.0";
 
   src = fetchFromGitHub {
     owner  = "vmware";
     repo   = "open-vm-tools";
     rev    = "stable-${version}";
-    sha256 = "03fahljrijq4ij8a4v8d7806mpf22ppkgr61n5s974g3xfdvpl13";
+    sha256 = "sha256-agWTGf8x6bxZ7S5bU2scHt8IdLLe/hZdaEMfHIK9d8U=";
   };
 
   sourceRoot = "${src.name}/open-vm-tools";
@@ -22,10 +22,24 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config ];
-  buildInputs = [ fuse glib icu libdnet libdrm libmspack libtirpc openssl pam procps rpcsvc-proto udev xercesc ]
+  buildInputs = [ fuse3 glib icu libdnet libdrm libmspack libtirpc openssl pam procps rpcsvc-proto udev xercesc ]
       ++ lib.optionals withX [ gdk-pixbuf-xlib gtk3 gtkmm3 libX11 libXext libXinerama libXi libXrender libXrandr libXtst ];
 
+  patches = [
+    # glibc 2.35 and GCC 11 & 12 reporting possible array bounds overflow
+    # Will be fixed in the release after 12.0.0
+    (fetchpatch {
+      url = "https://github.com/vmware/open-vm-tools/commit/de6d129476724668b8903e2a87654f50ba21b1b2.patch";
+      sha256 = "1cqhm868g40kcp8qzzwq10zd4bah9ypaw1qawnli5d240mlkpfhh";
+    })
+  ];
+
+  prePatch = ''
+    cd ..
+  '';
+
   postPatch = ''
+     cd open-vm-tools
      sed -i 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,' Makefile.am
      sed -i 's,^confdir = ,confdir = ''${prefix},' scripts/Makefile.am
      sed -i 's,usr/bin,''${prefix}/usr/bin,' scripts/Makefile.am
@@ -43,6 +57,7 @@ stdenv.mkDerivation rec {
     "--without-kernel-modules"
     "--without-xmlsecurity"
     "--with-udev-rules-dir=${placeholder "out"}/lib/udev/rules.d"
+    "--with-fuse=fuse3"
   ] ++ lib.optional (!withX) "--without-x";
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/virtualization/qemu/9p-ignore-noatime.patch b/pkgs/applications/virtualization/qemu/9p-ignore-noatime.patch
deleted file mode 100644
index 7376e6f66ad..00000000000
--- a/pkgs/applications/virtualization/qemu/9p-ignore-noatime.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 9e4932ae99946b1a08ab5b5345fd2bc3486e54a5 Mon Sep 17 00:00:00 2001
-From: aszlig <aszlig@nix.build>
-Date: Mon, 18 Mar 2019 13:21:01 +0100
-Subject: [PATCH] 9pfs: Ignore O_NOATIME open flag
-
-Since Linux 4.19, overlayfs uses the O_NOATIME flag on its lowerdir,
-which in turn causes errors when the Nix store is mounted in the guest
-because the file owner of the store paths typically don't match the
-owner of the QEMU process.
-
-After submitting a patch to the overlayfs mailing list[1], it turns out
-that my patch was incomplete[2] and needs a bit more rework.
-
-So instead of using an incomplete kernel patch in nixpkgs, which affects
-*all* users of overlayfs, not just NixOS VM tests, I decided that for
-now it's better to patch QEMU instead.
-
-The change here really only ignores the O_NOATIME flag so that the
-behaviour is similar to what NFS does. From open(2):
-
-This flag may not be effective on all filesystems. One example is NFS,
-where the server maintains the access time.
-
-This change is therefore only temporary until the final fix lands in the
-stable kernel releases.
-
-[1]: https://www.spinics.net/lists/linux-unionfs/msg06755.html
-[2]: https://www.spinics.net/lists/linux-unionfs/msg06756.html
-
-Signed-off-by: aszlig <aszlig@nix.build>
----
- hw/9pfs/9p.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
-index a6d6b3f835..4eb26e2294 100644
---- a/hw/9pfs/9p.c
-+++ b/hw/9pfs/9p.c
-@@ -139,7 +139,6 @@ static int dotl_to_open_flags(int flags)
-         { P9_DOTL_DSYNC, O_DSYNC },
-         { P9_DOTL_FASYNC, FASYNC },
- #ifndef CONFIG_DARWIN
--        { P9_DOTL_NOATIME, O_NOATIME },
-         /*
-          *  On Darwin, we could map to F_NOCACHE, which is
-          *  similar, but doesn't quite have the same
--- 
-2.35.1
-
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 9dcf80d0369..2b183dd48d0 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -142,8 +142,6 @@ stdenv.mkDerivation rec {
     # set was removed during the process of upstreaming this functionality, and
     # will still be needed in nix until the macOS SDK reaches 10.13+.
     ./provide-fallback-for-utimensat.patch
-    # Still needed indefinitely
-    ./9p-ignore-noatime.patch
   ]
     ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch;
 
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index 4fd30b36752..aa225c1d173 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchFromGitHub, python3, intltool, file, wrapGAppsHook, gtk-vnc
 , vte, avahi, dconf, gobject-introspection, libvirt-glib, system-libvirt
 , gsettings-desktop-schemas, libosinfo, gnome, gtksourceview4, docutils, cpio
-, e2fsprogs, findutils, gzip, cdrtools
+, e2fsprogs, findutils, gzip, cdrtools, xorriso
 , spiceSupport ? true, spice-gtk ? null
 }:
 
@@ -49,8 +49,7 @@ python3.pkgs.buildPythonApplication rec {
   dontWrapGApps = true;
 
   preFixup = ''
-    mkdir -p $out/share/glib-2.0/schemas
-    cp $src/data/*.gschema.xml $out/share/glib-2.0/schemas/
+    glib-compile-schemas $out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas
 
     gappsWrapperArgs+=(--set PYTHONPATH "$PYTHONPATH")
     # these are called from virt-install in initrdinject.py
@@ -59,14 +58,17 @@ python3.pkgs.buildPythonApplication rec {
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
   '';
 
-  checkInputs = with python3.pkgs; [ cpio cdrtools pytestCheckHook ];
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+    cpio
+    cdrtools
+    xorriso
+  ];
 
-  disabledTestPaths = [
-    "tests/test_cli.py"
-    "tests/test_disk.py"
-    "tests/test_checkprops.py"
-    "tests/test_storage.py"
-  ]; # Error logs: https://gist.github.com/superherointj/fee040872beaafaaa19b8bf8f3ff0be5
+  disabledTests = [
+    "testAlterDisk"
+    "test_misc_nonpredicatble_generate"
+  ];
 
   preCheck = ''
     export HOME=.
diff --git a/pkgs/applications/virtualization/x11docker/default.nix b/pkgs/applications/virtualization/x11docker/default.nix
index 67345952655..bad1e98296c 100644
--- a/pkgs/applications/virtualization/x11docker/default.nix
+++ b/pkgs/applications/virtualization/x11docker/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute2 }:
 stdenv.mkDerivation rec {
   pname = "x11docker";
-  version = "7.1.1";
+  version = "7.1.3";
   src = fetchFromGitHub {
     owner = "mviereck";
     repo = "x11docker";
     rev = "v${version}";
-    sha256 = "sha256-SUHWqcDL/oDljCpngkhUvzOvMIlZSc1p0j0wjupPBqw=";
+    sha256 = "sha256-eSarw5RG2ckup9pNlZtAyZAN8IPZy94RRfej9ppiLfo=";
   };
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/window-managers/berry/default.nix b/pkgs/applications/window-managers/berry/default.nix
index 82127c2733e..f6ba52013f6 100644
--- a/pkgs/applications/window-managers/berry/default.nix
+++ b/pkgs/applications/window-managers/berry/default.nix
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
+    homepage = "https://berrywm.org/";
     description = "A healthy, bite-sized window manager";
     longDescription = ''
       berry is a healthy, bite-sized window manager written in C for unix
@@ -69,7 +70,6 @@ stdenv.mkDerivation rec {
       - Intuitively place new windows in unoccupied spaces.
       - Virtual desktops.
     '';
-    homepage = "https://berrywm.org/";
     license = licenses.mit;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
index cdcfcca15ea..ed518d8eb2e 100644
--- a/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.21.6";
+  version = "0.21.8";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2PBGw5LHIOOPXBZ+12wL2ZGH+gfbkXNIItpE6SLT8so=";
+    sha256 = "sha256-l0XfitQSmSkivEg8+XcA/+bWdy/wzIpii/Npc4p8kUw=";
   };
 
-  cargoSha256 = "sha256-wtxfdQw5zKCxYu7N2BpcLVTlitQmwY7s8oO4dpK8MjE=";
+  cargoSha256 = "sha256-2rJ9ZZHK1acJu6r6EjuoolLJZMdBsbKgN1DNvGM7deA=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index deac4bed607..75cb96f27f4 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "2.9.4";
+  version = "2.9.6";
 
   src = fetchFromGitHub {
-    owner  = "ice-wm";
+    owner = "ice-wm";
     repo = pname;
     rev = version;
-    hash = "sha256-ne2lqo9CAhGgC8dd9R03zhFXy9nPBQR0NcfAY0DeVj4=";
+    hash = "sha256-qC8gEVJ/cmsEbF8jMzv7zyvVcjlbXhgHU3ixe7RLcnA=";
   };
 
   nativeBuildInputs = [
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
     perl
     pkg-config
   ];
+
   buildInputs = [
     expat
     fontconfig
@@ -108,11 +109,11 @@ stdenv.mkDerivation rec {
       system. Application windows can be managed by keyboard and mouse. Windows
       can be iconified to the taskbar, to the tray, to the desktop or be made
       hidden. They are controllable by a quick switch window (Alt+Tab) and in a
-      window list. A handful of configurable focus models are
-      menu-selectable. Setups with multiple monitors are supported by RandR and
-      Xinerama. IceWM is very configurable, themeable and well documented. It
-      includes an optional external background wallpaper manager with
-      transparency support, a simple session manager and a system tray.
+      window list. A handful of configurable focus models are menu-selectable.
+      Setups with multiple monitors are supported by RandR and Xinerama. IceWM
+      is very configurable, themeable and well documented. It includes an
+      optional external background wallpaper manager with transparency support,
+      a simple session manager and a system tray.
     '';
     license = licenses.lgpl2Only;
     maintainers = [ maintainers.AndersonTorres ];
diff --git a/pkgs/applications/window-managers/labwc/default.nix b/pkgs/applications/window-managers/labwc/default.nix
index 580fd29faa0..f58b71ef03a 100644
--- a/pkgs/applications/window-managers/labwc/default.nix
+++ b/pkgs/applications/window-managers/labwc/default.nix
@@ -21,20 +21,15 @@
 
 stdenv.mkDerivation rec {
   pname = "labwc";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "labwc";
     repo = pname;
     rev = version;
-    hash = "sha256-O9jVDR7UROt5u8inUsZjbzB3dQTosiLYqXkeOyGrbaM=";
+    hash = "sha256-G0EQuXSHftl4JLXKIro+tmhbApwAhlzcjPEL7DP6LHk=";
   };
 
-  patches = [
-    # Required to fix the build with wlroots 0.15.1:
-    ./relax-the-version-constraint-for-wlroots.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -64,6 +59,6 @@ stdenv.mkDerivation rec {
     description = "A Wayland stacking compositor, similar to Openbox";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
+    inherit (wayland.meta) platforms;
   };
 }
diff --git a/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch b/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch
deleted file mode 100644
index 9a790f28516..00000000000
--- a/pkgs/applications/window-managers/labwc/relax-the-version-constraint-for-wlroots.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 21d8bfcf7899f5ec50b29f523ace4c19cbfbe919 Mon Sep 17 00:00:00 2001
-From: Michael Weiss <dev.primeos@gmail.com>
-Date: Fri, 4 Feb 2022 21:17:05 +0100
-Subject: [PATCH] build: Relax the version constraint for wlroots to accept
- patch releases
-
-Patch releases only contain backwards compatible changes (mainly bug
-fixes) so we want to allow them. This fixes the build with the recently
-released wlroots 0.15.1 and uses the same version constraints as other
-projects that depend on wlroots (e.g., Sway).
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index f950b8e..1905dda 100644
---- a/meson.build
-+++ b/meson.build
-@@ -37,7 +37,7 @@ if git.found()
- endif
- add_project_arguments('-DLABWC_VERSION=@0@'.format(version), language: 'c')
-
--wlroots_version = ['=0.15.0']
-+wlroots_version = ['>=0.15.0', '<0.16.0']
- wlroots_proj = subproject(
-   'wlroots',
-   default_options: ['default_library=static', 'examples=false'],
---
-2.34.1
diff --git a/pkgs/build-support/alternatives/blas/default.nix b/pkgs/build-support/alternatives/blas/default.nix
index 8917784bc6c..7186675a5c6 100644
--- a/pkgs/build-support/alternatives/blas/default.nix
+++ b/pkgs/build-support/alternatives/blas/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv
-, lapack-reference, openblasCompat, openblas
+, lapack-reference, openblas
 , isILP64 ? false
-, blasProvider ? if isILP64 then openblas else openblasCompat }:
+, blasProvider ? openblas }:
 
 let
   blasFortranSymbols = [
@@ -32,10 +32,13 @@ let
 
 
   blasImplementation = lib.getName blasProvider;
+  blasProvider' = if blasImplementation == "mkl"
+                  then blasProvider
+                  else blasProvider.override { blas64 = isILP64; };
 
 in
 
-assert isILP64 -> (blasImplementation == "openblas" && blasProvider.blas64) || blasImplementation == "mkl";
+assert isILP64 -> blasImplementation == "mkl" || blasProvider'.blas64;
 
 stdenv.mkDerivation {
   pname = "blas";
@@ -43,13 +46,13 @@ stdenv.mkDerivation {
 
   outputs = [ "out" "dev" ];
 
-  meta = (blasProvider.meta or {}) // {
+  meta = (blasProvider'.meta or {}) // {
     description = "${lib.getName blasProvider} with just the BLAS C and FORTRAN ABI";
   };
 
   passthru = {
     inherit isILP64;
-    provider = blasProvider;
+    provider = blasProvider';
     implementation = blasImplementation;
   };
 
@@ -62,10 +65,10 @@ stdenv.mkDerivation {
   installPhase = (''
   mkdir -p $out/lib $dev/include $dev/lib/pkgconfig
 
-  libblas="${lib.getLib blasProvider}/lib/libblas${canonicalExtension}"
+  libblas="${lib.getLib blasProvider'}/lib/libblas${canonicalExtension}"
 
   if ! [ -e "$libblas" ]; then
-    echo "$libblas does not exist, ${blasProvider.name} does not provide libblas."
+    echo "$libblas does not exist, ${blasProvider'.name} does not provide libblas."
     exit 1
   fi
 
@@ -79,11 +82,11 @@ stdenv.mkDerivation {
 
 '' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then ''
   patchelf --set-soname libblas${canonicalExtension} $out/lib/libblas${canonicalExtension}
-  patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libblas${canonicalExtension}):${lib.getLib blasProvider}/lib" $out/lib/libblas${canonicalExtension}
+  patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libblas${canonicalExtension}):${lib.getLib blasProvider'}/lib" $out/lib/libblas${canonicalExtension}
 '' else if stdenv.hostPlatform.isDarwin then ''
   install_name_tool \
     -id $out/lib/libblas${canonicalExtension} \
-    -add_rpath ${lib.getLib blasProvider}/lib \
+    -add_rpath ${lib.getLib blasProvider'}/lib \
     $out/lib/libblas${canonicalExtension}
 '' else "") + ''
 
@@ -99,10 +102,10 @@ Libs: -L$out/lib -lblas
 Cflags: -I$dev/include
 EOF
 
-  libcblas="${lib.getLib blasProvider}/lib/libcblas${canonicalExtension}"
+  libcblas="${lib.getLib blasProvider'}/lib/libcblas${canonicalExtension}"
 
   if ! [ -e "$libcblas" ]; then
-    echo "$libcblas does not exist, ${blasProvider.name} does not provide libcblas."
+    echo "$libcblas does not exist, ${blasProvider'.name} does not provide libcblas."
     exit 1
   fi
 
@@ -111,11 +114,11 @@ EOF
 
 '' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then ''
   patchelf --set-soname libcblas${canonicalExtension} $out/lib/libcblas${canonicalExtension}
-  patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libcblas${canonicalExtension}):${lib.getLib blasProvider}/lib" $out/lib/libcblas${canonicalExtension}
+  patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libcblas${canonicalExtension}):${lib.getLib blasProvider'}/lib" $out/lib/libcblas${canonicalExtension}
 '' else if stdenv.hostPlatform.isDarwin then ''
   install_name_tool \
     -id $out/lib/libcblas${canonicalExtension} \
-    -add_rpath ${lib.getLib blasProvider}/lib \
+    -add_rpath ${lib.getLib blasProvider'}/lib \
     $out/lib/libcblas${canonicalExtension}
 '' else "") + ''
   if [ "$out/lib/libcblas${canonicalExtension}" != "$out/lib/libcblas${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then
@@ -135,6 +138,6 @@ EOF
   mkdir -p $out/nix-support
   echo 'export MKL_INTERFACE_LAYER=${lib.optionalString isILP64 "I"}LP64,GNU' > $out/nix-support/setup-hook
   ln -s $out/lib/libblas${canonicalExtension} $out/lib/libmkl_rt${stdenv.hostPlatform.extensions.sharedLibrary}
-  ln -sf ${blasProvider}/include/* $dev/include
+  ln -sf ${blasProvider'}/include/* $dev/include
 '');
 }
diff --git a/pkgs/build-support/alternatives/lapack/default.nix b/pkgs/build-support/alternatives/lapack/default.nix
index 61da183c835..80fb7be8c1e 100644
--- a/pkgs/build-support/alternatives/lapack/default.nix
+++ b/pkgs/build-support/alternatives/lapack/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv
-, lapack-reference, openblasCompat, openblas
+, lapack-reference, openblas
 , isILP64 ? false
-, lapackProvider ? if isILP64 then openblas else openblasCompat }:
+, lapackProvider ? openblas }:
 
 let
 
@@ -11,10 +11,13 @@ let
                        else stdenv.hostPlatform.extensions.sharedLibrary;
 
   lapackImplementation = lib.getName lapackProvider;
+  lapackProvider' = if lapackImplementation == "mkl"
+                  then lapackProvider
+                  else lapackProvider.override { blas64 = isILP64; };
 
 in
 
-assert isILP64 -> (lapackImplementation == "openblas" && lapackProvider.blas64) || lapackImplementation == "mkl";
+assert isILP64 -> lapackImplementation == "mkl" || lapackProvider'.blas64;
 
 stdenv.mkDerivation {
   pname = "lapack";
@@ -22,13 +25,13 @@ stdenv.mkDerivation {
 
   outputs = [ "out" "dev" ];
 
-  meta = (lapackProvider.meta or {}) // {
-    description = "${lib.getName lapackProvider} with just the LAPACK C and FORTRAN ABI";
+  meta = (lapackProvider'.meta or {}) // {
+    description = "${lib.getName lapackProvider'} with just the LAPACK C and FORTRAN ABI";
   };
 
   passthru = {
     inherit isILP64;
-    provider = lapackProvider;
+    provider = lapackProvider';
     implementation = lapackImplementation;
   };
 
@@ -41,10 +44,10 @@ stdenv.mkDerivation {
   installPhase = (''
   mkdir -p $out/lib $dev/include $dev/lib/pkgconfig
 
-  liblapack="${lib.getLib lapackProvider}/lib/liblapack${canonicalExtension}"
+  liblapack="${lib.getLib lapackProvider'}/lib/liblapack${canonicalExtension}"
 
   if ! [ -e "$liblapack" ]; then
-    echo "$liblapack does not exist, ${lapackProvider.name} does not provide liblapack."
+    echo "$liblapack does not exist, ${lapackProvider'.name} does not provide liblapack."
     exit 1
   fi
 
@@ -53,7 +56,7 @@ stdenv.mkDerivation {
 
 '' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then ''
   patchelf --set-soname liblapack${canonicalExtension} $out/lib/liblapack${canonicalExtension}
-  patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapack${canonicalExtension}):${lapackProvider}/lib" $out/lib/liblapack${canonicalExtension}
+  patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapack${canonicalExtension}):${lapackProvider'}/lib" $out/lib/liblapack${canonicalExtension}
 '' else "") + ''
 
   if [ "$out/lib/liblapack${canonicalExtension}" != "$out/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then
@@ -70,10 +73,10 @@ Cflags: -I$dev/include
 Libs: -L$out/lib -llapack
 EOF
 
-  liblapacke="${lib.getLib lapackProvider}/lib/liblapacke${canonicalExtension}"
+  liblapacke="${lib.getLib lapackProvider'}/lib/liblapacke${canonicalExtension}"
 
   if ! [ -e "$liblapacke" ]; then
-    echo "$liblapacke does not exist, ${lapackProvider.name} does not provide liblapacke."
+    echo "$liblapacke does not exist, ${lapackProvider'.name} does not provide liblapacke."
     exit 1
   fi
 
@@ -82,7 +85,7 @@ EOF
 
 '' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then ''
   patchelf --set-soname liblapacke${canonicalExtension} $out/lib/liblapacke${canonicalExtension}
-  patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapacke${canonicalExtension}):${lib.getLib lapackProvider}/lib" $out/lib/liblapacke${canonicalExtension}
+  patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapacke${canonicalExtension}):${lib.getLib lapackProvider'}/lib" $out/lib/liblapacke${canonicalExtension}
 '' else "") + ''
 
   if [ -f "$out/lib/liblapacke.so.3" ]; then
@@ -102,6 +105,6 @@ EOF
   mkdir -p $out/nix-support
   echo 'export MKL_INTERFACE_LAYER=${lib.optionalString isILP64 "I"}LP64,GNU' > $out/nix-support/setup-hook
   ln -s $out/lib/liblapack${canonicalExtension} $out/lib/libmkl_rt${stdenv.hostPlatform.extensions.sharedLibrary}
-  ln -sf ${lapackProvider}/include/* $dev/include
+  ln -sf ${lapackProvider'}/include/* $dev/include
 '');
 }
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index 4d302156f70..0bee6ce065a 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -68,6 +68,8 @@ rec {
       xdg-utils
       iana-etc
       krb5
+      gsettings-desktop-schemas
+      hicolor-icon-theme # dont show a gtk warning about hicolor not being installed
     ];
 
     # list of libraries expected in an appimage environment:
diff --git a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
index 1c4e2b60769..d0f88df4453 100644
--- a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
+++ b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
@@ -93,6 +93,32 @@ let
     paths = [ etcPkg ldconfig ] ++ basePkgs ++ targetPaths;
     extraOutputsToInstall = [ "out" "lib" "bin" ] ++ extraOutputsToInstall;
     ignoreCollisions = true;
+    postBuild = ''
+      if [[ -d  $out/share/gsettings-schemas/ ]]; then
+          # Recreate the standard schemas directory if its a symlink to make it writable
+          if [[ -L $out/share/glib-2.0 ]]; then
+              ln -s $(readlink $out/share/glib-2.0) $out/share/glib-2.0.old
+              rm -rf $out/share/glib-2.0
+          fi
+
+          mkdir -p $out/share/glib-2.0/schemas
+
+          # symlink any schema files or overrides to the standard schema directory
+          if [[ -e $out/share/glib-2.0.old/schemas ]]; then
+              ln -fs $out/share/glib-2.0.old/schemas/*.xml $out/share/glib-2.0/schemas
+              ln -fs $out/share/glib-2.0.old/schemas/*.gsettings-schemas.override $out/share/glib-2.0/schemas
+          fi
+
+          for d in $out/share/gsettings-schemas/*; do
+              # Force symlink, in case there are duplicates
+              ln -fs $d/glib-2.0/schemas/*.xml $out/share/glib-2.0/schemas
+              ln -fs $d/glib-2.0/schemas/*.gschema.override $out/share/glib-2.0/schemas
+          done
+
+          # and compile them
+          ${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
+      fi
+    '';
   };
 
   staticUsrProfileMulti = buildEnv {
diff --git a/pkgs/build-support/build-fhs-userenv/env.nix b/pkgs/build-support/build-fhs-userenv/env.nix
index abf577baa2d..7251500f76c 100644
--- a/pkgs/build-support/build-fhs-userenv/env.nix
+++ b/pkgs/build-support/build-fhs-userenv/env.nix
@@ -134,6 +134,32 @@ let
     paths = [ etcPkg ] ++ basePkgs ++ targetPaths;
     extraOutputsToInstall = [ "out" "lib" "bin" ] ++ extraOutputsToInstall;
     ignoreCollisions = true;
+    postBuild = ''
+      if [[ -d  $out/share/gsettings-schemas/ ]]; then
+          # Recreate the standard schemas directory if its a symlink to make it writable
+          if [[ -L $out/share/glib-2.0 ]]; then
+              ln -s $(readlink $out/share/glib-2.0) $out/share/glib-2.0.old
+              rm -rf $out/share/glib-2.0
+          fi
+
+          mkdir -p $out/share/glib-2.0/schemas
+
+          # symlink any schema files or overrides to the standard schema directory
+          if [[ -e $out/share/glib-2.0.old/schemas ]]; then
+              ln -fs $out/share/glib-2.0.old/schemas/*.xml $out/share/glib-2.0/schemas
+              ln -fs $out/share/glib-2.0.old/schemas/*.gsettings-schemas.override $out/share/glib-2.0/schemas
+          fi
+
+          for d in $out/share/gsettings-schemas/*; do
+              # Force symlink, in case there are duplicates
+              ln -fs $d/glib-2.0/schemas/*.xml $out/share/glib-2.0/schemas
+              ln -fs $d/glib-2.0/schemas/*.gschema.override $out/share/glib-2.0/schemas
+          done
+
+          # and compile them
+          ${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
+      fi
+    '';
   };
 
   staticUsrProfileMulti = buildEnv {
diff --git a/pkgs/build-support/cc-wrapper/add-flags.sh b/pkgs/build-support/cc-wrapper/add-flags.sh
index a6e991914e6..c59118d6c09 100644
--- a/pkgs/build-support/cc-wrapper/add-flags.sh
+++ b/pkgs/build-support/cc-wrapper/add-flags.sh
@@ -33,6 +33,20 @@ NIX_CFLAGS_COMPILE_@suffixSalt@="-B@out@/bin/ $NIX_CFLAGS_COMPILE_@suffixSalt@"
 # Export and assign separately in order that a failing $(..) will fail
 # the script.
 
+# Currently bootstrap-tools does not split glibc, and gcc files into
+# separate directories. As a workaround we want resulting cflags to be
+# ordered as: crt1-cflags libc-cflags cc-cflags. Otherwise we mix crt/libc.so
+# from different libc as seen in
+#   https://github.com/NixOS/nixpkgs/issues/158042
+#
+# Note that below has reverse ordering as we prepend flags one-by-one.
+# Once bootstrap-tools is split into different directories we can stop
+# relying on flag ordering below.
+
+if [ -e @out@/nix-support/cc-cflags ]; then
+    NIX_CFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/cc-cflags) $NIX_CFLAGS_COMPILE_@suffixSalt@"
+fi
+
 if [[ "$cInclude" = 1 ]] && [ -e @out@/nix-support/libc-cflags ]; then
     NIX_CFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/libc-cflags) $NIX_CFLAGS_COMPILE_@suffixSalt@"
 fi
@@ -49,10 +63,6 @@ if [ -e @out@/nix-support/libcxx-ldflags ]; then
     NIX_CXXSTDLIB_LINK_@suffixSalt@+=" $(< @out@/nix-support/libcxx-ldflags)"
 fi
 
-if [ -e @out@/nix-support/cc-cflags ]; then
-    NIX_CFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/cc-cflags) $NIX_CFLAGS_COMPILE_@suffixSalt@"
-fi
-
 if [ -e @out@/nix-support/gnat-cflags ]; then
     NIX_GNATFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/gnat-cflags) $NIX_GNATFLAGS_COMPILE_@suffixSalt@"
 fi
diff --git a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
index 2d02767814e..d2e7882caf6 100755
--- a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
+++ b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
@@ -9,7 +9,7 @@ fi
 
 pkgs=$1
 tmpfile=$(mktemp /tmp/nuget-to-nix.XXXXXX)
-trap 'rm -f "$tmpfile" EXIT
+trap "rm -f ${tmpfile}" EXIT
 
 echo "{ fetchNuGet }: ["
 
diff --git a/pkgs/build-support/fetchpatch/default.nix b/pkgs/build-support/fetchpatch/default.nix
index 740baa8cff5..6e25b2d6ecc 100644
--- a/pkgs/build-support/fetchpatch/default.nix
+++ b/pkgs/build-support/fetchpatch/default.nix
@@ -54,9 +54,9 @@ fetchurl ({
       "$tmpfile" > "$out"
 
     if [ ! -s "$out" ]; then
-      echo "error: Filtered patch '$out$' is empty (while the original patch file was not)!" 1>&2
+      echo "error: Filtered patch '$out' is empty (while the original patch file was not)!" 1>&2
       echo "Check your includes and excludes." 1>&2
-      echo "Normalizd patch file was:" 1>&2
+      echo "Normalized patch file was:" 1>&2
       cat "$tmpfile" 1>&2
       exit 1
     fi
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index e4d6f02a94b..954c88d1baf 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -1,6 +1,6 @@
 {
 
-  # Content-addressable Nix mirrors.
+  # Content-addressable Nix mirrors
   hashedMirrors = [
     "https://tarballs.nixos.org"
   ];
@@ -8,37 +8,73 @@
   # Mirrors for mirror://site/filename URIs, where "site" is
   # "sourceforge", "gnu", etc.
 
-  luarocks = [
-    "https://luarocks.org/"
-    "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/"
-    "https://luafr.org/moonrocks/"
-    "http://luarocks.logiceditor.com/rocks/"
+  # Alsa Project
+  alsa = [
+    "https://www.alsa-project.org/files/pub/"
+    "ftp://ftp.alsa-project.org/pub/"
+    "http://alsa.cybermirror.org/"
+    "http://www.mirrorservice.org/sites/ftp.alsa-project.org/pub/"
   ];
 
-  # SourceForge.
-  sourceforge = [
-    "https://downloads.sourceforge.net/"
-    "https://prdownloads.sourceforge.net/"
-    "https://netcologne.dl.sourceforge.net/sourceforge/"
-    "https://versaweb.dl.sourceforge.net/sourceforge/"
-    "https://freefr.dl.sourceforge.net/sourceforge/"
-    "https://osdn.dl.sourceforge.net/sourceforge/"
-    "https://kent.dl.sourceforge.net/sourceforge/"
+  # Apache
+  apache = [
+    "https://www-eu.apache.org/dist/"
+    "https://ftp.wayne.edu/apache/"
+    "https://www.apache.org/dist/"
+    "https://archive.apache.org/dist/" # fallback for old releases
+    "https://apache.cs.uu.nl/"
+    "https://apache.cs.utah.edu/"
+    "http://ftp.tudelft.nl/apache/"
+    "ftp://ftp.funet.fi/pub/mirrors/apache.org/"
   ];
 
-  # OSDN (formerly SourceForge.jp).
-  osdn = [
-    "https://osdn.dl.osdn.jp/"
-    "https://osdn.mirror.constant.com/"
-    "https://mirrors.gigenet.com/OSDN/"
-    "https://osdn.dl.sourceforge.jp/"
-    "https://jaist.dl.sourceforge.jp/"
+  # Bioconductor mirrors (from https://bioconductor.org/about/mirrors/)
+  # The commented-out ones don't seem to allow direct package downloads;
+  # they serve error messages that result in hash mismatches instead
+  bioc = [
+    # http://bioc.ism.ac.jp/
+    # http://bioc.openanalytics.eu/
+    # http://bioconductor.fmrp.usp.br/
+    # http://mirror.aarnet.edu.au/pub/bioconductor/
+    # http://watson.nci.nih.gov/bioc_mirror/
+    "https://bioconductor.statistik.tu-dortmund.de/packages/"
+    "https://mirrors.ustc.edu.cn/bioc/"
+    "http://bioconductor.jp/packages/"
+  ];
+
+  # BitlBee mirrors, see https://www.bitlbee.org/main.php/mirrors.html
+  bitlbee = [
+    "https://get.bitlbee.org/"
+    "https://ftp.snt.utwente.nl/pub/software/bitlbee/"
+    "http://bitlbee.intergenia.de/"
+  ];
+
+  # GCC
+  gcc = [
+    "https://bigsearcher.com/mirrors/gcc/"
+    "https://mirror.koddos.net/gcc/"
+    "ftp://ftp.nluug.nl/mirror/languages/gcc/"
+    "ftp://ftp.fu-berlin.de/unix/languages/gcc/"
+    "ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/"
+    "ftp://gcc.gnu.org/pub/gcc/"
+  ];
+
+  # GNOME
+  gnome = [
+    # This one redirects to some mirror closeby, so it should be all you need
+    "https://download.gnome.org/"
+
+    "https://fr2.rpmfind.net/linux/gnome.org/"
+    "https://ftp.acc.umu.se/pub/GNOME/"
+    "https://ftp.belnet.be/mirror/ftp.gnome.org/"
+    "ftp://ftp.cse.buffalo.edu/pub/Gnome/"
+    "ftp://ftp.nara.wide.ad.jp/pub/X11/GNOME/"
   ];
 
-  # GNU (https://www.gnu.org/prep/ftp.html).
+  # GNU (https://www.gnu.org/prep/ftp.html)
   gnu = [
     # This one redirects to a (supposedly) nearby and (supposedly) up-to-date
-    # mirror.
+    # mirror
     "https://ftpmirror.gnu.org/"
 
     "https://ftp.nluug.nl/pub/gnu/"
@@ -47,23 +83,13 @@
     "https://mirror.dogado.de/gnu/"
     "https://mirror.tochlab.net/pub/gnu/"
 
-    # This one is the master repository, and thus it's always up-to-date.
+    # This one is the master repository, and thus it's always up-to-date
     "https://ftp.gnu.org/pub/gnu/"
 
     "ftp://ftp.funet.fi/pub/mirrors/ftp.gnu.org/gnu/"
   ];
 
-  # GCC.
-  gcc = [
-    "https://bigsearcher.com/mirrors/gcc/"
-    "https://mirror.koddos.net/gcc/"
-    "ftp://ftp.nluug.nl/mirror/languages/gcc/"
-    "ftp://ftp.fu-berlin.de/unix/languages/gcc/"
-    "ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/"
-    "ftp://gcc.gnu.org/pub/gcc/"
-  ];
-
-  # GnuPG.
+  # GnuPG
   gnupg = [
     "https://gnupg.org/ftp/gcrypt/"
     "https://mirrors.dotsrc.org/gcrypt/"
@@ -72,11 +98,23 @@
     "http://www.ring.gr.jp/pub/net/"
   ];
 
-  # kernel.org's /pub (/pub/{linux,software}) tree.
-  kernel = [
-    "https://cdn.kernel.org/pub/"
-    "http://linux-kernel.uio.no/pub/"
-    "ftp://ftp.funet.fi/pub/mirrors/ftp.kernel.org/pub/"
+  # IBiblio (former metalab/sunsite)
+  # Most of the time the expressions refer to the /pub/Linux/ subdirectory;
+  # however there are other useful files outside it
+  ibiblioPubLinux = [
+    "https://www.ibiblio.org/pub/Linux/"
+    "ftp://ftp.ibiblio.org/pub/linux/"
+    "ftp://ftp.gwdg.de/pub/linux/metalab/"
+    "ftp://ftp.metalab.unc.edu/pub/linux/"
+  ];
+
+  # ImageMagick mirrors, see https://www.imagemagick.org/script/mirror.php
+  imagemagick = [
+    "https://www.imagemagick.org/download/"
+    "https://mirror.checkdomain.de/imagemagick/"
+    "https://ftp.nluug.nl/ImageMagick/"
+    "https://ftp.sunet.se/mirror/imagemagick.org/ftp/"
+    "ftp://ftp.sunet.se/mirror/imagemagick.org/ftp/" # also contains older versions removed from most mirrors
   ];
 
   # Mirrors from https://download.kde.org/ls-lR.mirrorlist
@@ -89,13 +127,99 @@
     "https://ftp.funet.fi/pub/mirrors/ftp.kde.org/pub/kde/"
   ];
 
-  # Gentoo files.
-  gentoo = [
-    "https://ftp.snt.utwente.nl/pub/os/linux/gentoo/"
-    "https://distfiles.gentoo.org/"
-    "https://mirrors.kernel.org/gentoo/"
+  # kernel.org's /pub (/pub/{linux,software}) tree
+  kernel = [
+    "https://cdn.kernel.org/pub/"
+    "http://linux-kernel.uio.no/pub/"
+    "ftp://ftp.funet.fi/pub/mirrors/ftp.kernel.org/pub/"
   ];
 
+  # MySQL
+  mysql = [
+    "https://cdn.mysql.com/Downloads/"
+  ];
+
+  # Maven Central
+  maven = [
+    "https://repo1.maven.org/maven2/"
+  ];
+
+  # Mozilla projects
+  mozilla = [
+    "https://download.cdn.mozilla.net/pub/mozilla.org/"
+    "https://archive.mozilla.org/pub/"
+  ];
+
+  # OSDN (formerly SourceForge.jp)
+  osdn = [
+    "https://osdn.dl.osdn.jp/"
+    "https://osdn.mirror.constant.com/"
+    "https://mirrors.gigenet.com/OSDN/"
+    "https://osdn.dl.sourceforge.jp/"
+    "https://jaist.dl.sourceforge.jp/"
+  ];
+
+  # PostgreSQL
+  postgresql = [
+    "https://ftp.postgresql.org/pub/"
+  ];
+
+  # Roy marples mirrors
+  roy = [
+    "https://roy.marples.name/downloads/"
+    "https://cflags.cc/roy/"
+  ];
+
+  # Sage mirrors (https://www.sagemath.org/mirrors.html)
+  sageupstream = [
+    # Africa (HTTPS)
+    "https://sagemath.mirror.ac.za/spkg/upstream/"
+    "https://mirror.ufs.ac.za/sagemath/spkg/upstream/"
+
+    # America, North (HTTPS)
+    "https://mirrors.mit.edu/sage/spkg/upstream/"
+    "https://mirrors.xmission.com/sage/spkg/upstream/"
+
+    # Asia (HTTPS)
+    "https://mirrors.tuna.tsinghua.edu.cn/sagemath/spkg/upstream/"
+    "https://mirrors.ustc.edu.cn/sagemath/spkg/upstream/"
+    "http://ftp.tsukuba.wide.ad.jp/software/sage/spkg/upstream/"
+    "https://ftp.yz.yamagata-u.ac.jp/pub/math/sage/spkg/upstream/"
+    "https://mirror.yandex.ru/mirrors/sage.math.washington.edu/spkg/upstream/"
+
+    # Australia (HTTPS)
+    "https://mirror.aarnet.edu.au/pub/sage/spkg/upstream/"
+
+    # Europe (HTTPS)
+    "https://sage.mirror.garr.it/mirrors/sage/spkg/upstream/"
+    "https://www-ftp.lip6.fr/pub/math/sagemath/spkg/upstream/"
+
+    # Africa (non-HTTPS)
+    "ftp://ftp.sun.ac.za/pub/mirrors/www.sagemath.org/spkg/upstream/"
+
+    # America, North (non-HTTPS)
+    "http://www.cecm.sfu.ca/sage/spkg/upstream/"
+
+    # America, South (non-HTTPS)
+    "http://sagemath.c3sl.ufpr.br/spkg/upstream/"
+    "http://linorg.usp.br/sage/spkg/upstream"
+
+    # Asia (non-HTTPS)
+    "http://ftp.kaist.ac.kr/sage/spkg/upstream/"
+    "http://ftp.riken.jp/sagemath/spkg/upstream/"
+
+    # Europe (non-HTTPS)
+    "http://mirrors.fe.up.pt/pub/sage/spkg/upstream/"
+    "http://ftp.ntua.gr/pub/sagemath/spkg/upstream/"
+  ];
+
+  # SAMBA
+  samba = [
+    "https://www.samba.org/ftp/"
+    "http://www.samba.org/ftp/"
+  ];
+
+  # GNU Savannah
   savannah = [
     # Mirrors from https://download-mirror.savannah.gnu.org/releases/00_MIRRORS.html
     "https://mirror.easyname.at/nongnu/"
@@ -126,28 +250,56 @@
     "ftp://ftp.mirrorservice.org/sites/download.savannah.gnu.org/releases/"
   ];
 
-  samba = [
-    "https://www.samba.org/ftp/"
-    "http://www.samba.org/ftp/"
+  # SourceForge
+  sourceforge = [
+    "https://downloads.sourceforge.net/"
+    "https://prdownloads.sourceforge.net/"
+    "https://netcologne.dl.sourceforge.net/sourceforge/"
+    "https://versaweb.dl.sourceforge.net/sourceforge/"
+    "https://freefr.dl.sourceforge.net/sourceforge/"
+    "https://osdn.dl.sourceforge.net/sourceforge/"
+    "https://kent.dl.sourceforge.net/sourceforge/"
   ];
 
-  # BitlBee mirrors, see https://www.bitlbee.org/main.php/mirrors.html .
-  bitlbee = [
-    "https://get.bitlbee.org/"
-    "https://ftp.snt.utwente.nl/pub/software/bitlbee/"
-    "http://bitlbee.intergenia.de/"
+  # Steam Runtime
+  steamrt = [
+    "https://repo.steampowered.com/steamrt/"
+    "https://public.abbradar.moe/steamrt/"
   ];
 
-  # ImageMagick mirrors, see https://www.imagemagick.org/script/mirror.php
-  imagemagick = [
-    "https://www.imagemagick.org/download/"
-    "https://mirror.checkdomain.de/imagemagick/"
-    "https://ftp.nluug.nl/ImageMagick/"
-    "https://ftp.sunet.se/mirror/imagemagick.org/ftp/"
-    "ftp://ftp.sunet.se/mirror/imagemagick.org/ftp/" # also contains older versions removed from most mirrors
+  # TCSH shell
+  tcsh = [
+    "https://astron.com/pub/tcsh/"
+    "https://astron.com/pub/tcsh/old/"
+    "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/"
+    "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/old/"
+    "ftp://ftp.astron.com/pub/tcsh/"
+    "ftp://ftp.astron.com/pub/tcsh/old/"
+    "ftp://ftp.funet.fi/pub/unix/shells/tcsh/"
+    "ftp://ftp.funet.fi/pub/unix/shells/tcsh/old/"
   ];
 
-  # CPAN mirrors.
+  # XFCE
+  xfce = [
+    "https://archive.xfce.org/"
+    "https://mirror.netcologne.de/xfce/"
+    "https://archive.be.xfce.org/xfce/"
+    "https://archive.al-us.xfce.org/"
+    "http://archive.se.xfce.org/xfce/"
+    "http://mirror.perldude.de/archive.xfce.org/"
+    "http://archive.be2.xfce.org/"
+    "http://ftp.udc.es/xfce/"
+  ];
+
+  # X.org
+  xorg = [
+    "https://xorg.freedesktop.org/releases/"
+    "https://ftp.x.org/archive/"
+  ];
+
+  ### Programming languages' package repos
+
+  # Perl CPAN
   cpan = [
     "https://cpan.metacpan.org/"
     "https://cpan.perl.org/"
@@ -155,7 +307,35 @@
     "https://backpan.perl.org/"  # for old releases
   ];
 
-  # CentOS.
+  # Haskell Hackage
+  hackage = [
+    "https://hackage.haskell.org/package/"
+  ];
+
+  # Lua Rocks
+  luarocks = [
+    "https://luarocks.org/"
+    "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/"
+    "https://luafr.org/moonrocks/"
+    "http://luarocks.logiceditor.com/rocks/"
+  ];
+
+  # Python PyPI
+  pypi = [
+    "https://files.pythonhosted.org/packages/source/"
+    # pypi.io is a more semantic link, but atm it’s referencing
+    # files.pythonhosted.org over two redirects
+    "https://pypi.io/packages/source/"
+  ];
+
+  # Python Test-PyPI
+  testpypi = [
+    "https://test.pypi.io/packages/source/"
+  ];
+
+  ### Linux distros
+
+  # CentOS
   centos = [
     # For old releases
     "https://vault.centos.org/"
@@ -168,7 +348,7 @@
     "http://mirror.centos.org/centos/"
   ];
 
-  # Debian.
+  # Debian
   debian = [
     "https://httpredir.debian.org/debian/"
     "https://ftp.debian.org/debian/"
@@ -181,17 +361,9 @@
     "ftp://ftp.funet.fi/pub/mirrors/ftp.debian.org/debian/"
   ];
 
-  # Ubuntu.
-  ubuntu = [
-    "https://nl.archive.ubuntu.com/ubuntu/"
-    "https://old-releases.ubuntu.com/ubuntu/"
-    "https://mirrors.edge.kernel.org/ubuntu/"
-    "http://de.archive.ubuntu.com/ubuntu/"
-    "http://archive.ubuntu.com/ubuntu/"
-  ];
-
-  # Fedora (please only add full mirrors that carry old Fedora distributions as well).
-  # See: https://mirrors.fedoraproject.org/publiclist (but not all carry old content).
+  # Fedora
+  # Please add only full mirrors that carry old Fedora distributions as well
+  # See: https://mirrors.fedoraproject.org/publiclist (but not all carry old content)
   fedora = [
     "https://archives.fedoraproject.org/pub/fedora/"
     "https://fedora.osuosl.org/"
@@ -203,7 +375,14 @@
     "http://mirror.1000mbps.com/fedora/"
   ];
 
-  # openSUSE.
+  # Gentoo
+  gentoo = [
+    "https://ftp.snt.utwente.nl/pub/os/linux/gentoo/"
+    "https://distfiles.gentoo.org/"
+    "https://mirrors.kernel.org/gentoo/"
+  ];
+
+  # openSUSE
   opensuse = [
     "https://opensuse.hro.nl/opensuse/distribution/"
     "https://ftp.funet.fi/pub/linux/mirrors/opensuse/distribution/"
@@ -213,169 +392,21 @@
     "http://ftp.hosteurope.de/mirror/ftp.opensuse.org/discontinued/"
   ];
 
-  gnome = [
-    # This one redirects to some mirror closeby, so it should be all you need.
-    "https://download.gnome.org/"
-
-    "https://fr2.rpmfind.net/linux/gnome.org/"
-    "https://ftp.acc.umu.se/pub/GNOME/"
-    "https://ftp.belnet.be/mirror/ftp.gnome.org/"
-    "ftp://ftp.cse.buffalo.edu/pub/Gnome/"
-    "ftp://ftp.nara.wide.ad.jp/pub/X11/GNOME/"
-  ];
-
-  xfce = [
-    "https://archive.xfce.org/"
-    "https://mirror.netcologne.de/xfce/"
-    "https://archive.be.xfce.org/xfce/"
-    "https://archive.al-us.xfce.org/"
-    "http://archive.se.xfce.org/xfce/"
-    "http://mirror.perldude.de/archive.xfce.org/"
-    "http://archive.be2.xfce.org/"
-    "http://ftp.udc.es/xfce/"
-  ];
-
-  # X.org.
-  xorg = [
-    "https://xorg.freedesktop.org/releases/"
-    "https://ftp.x.org/archive/"
-  ];
-
-  apache = [
-    "https://www-eu.apache.org/dist/"
-    "https://ftp.wayne.edu/apache/"
-    "https://www.apache.org/dist/"
-    "https://archive.apache.org/dist/" # fallback for old releases
-    "https://apache.cs.uu.nl/"
-    "https://apache.cs.utah.edu/"
-    "http://ftp.tudelft.nl/apache/"
-    "ftp://ftp.funet.fi/pub/mirrors/apache.org/"
-  ];
-
-  postgresql = [
-    "https://ftp.postgresql.org/pub/"
-  ];
-
-  metalab = [
-    "ftp://ftp.gwdg.de/pub/linux/metalab/"
-    "ftp://ftp.metalab.unc.edu/pub/linux/"
-  ];
-
-  # Bioconductor mirrors (from https://bioconductor.org/about/mirrors/)
-  # The commented-out ones don't seem to allow direct package downloads;
-  # they serve error messages that result in hash mismatches instead.
-  bioc = [
-    # http://bioc.ism.ac.jp/
-    # http://bioc.openanalytics.eu/
-    # http://bioconductor.fmrp.usp.br/
-    # http://mirror.aarnet.edu.au/pub/bioconductor/
-    # http://watson.nci.nih.gov/bioc_mirror/
-    "https://bioconductor.statistik.tu-dortmund.de/packages/"
-    "https://mirrors.ustc.edu.cn/bioc/"
-    "http://bioconductor.jp/packages/"
-  ];
-
-  # Hackage mirrors
-  hackage = [
-    "https://hackage.haskell.org/package/"
-  ];
-
-  # Roy marples mirrors
-  roy = [
-    "https://roy.marples.name/downloads/"
-    "https://cflags.cc/roy/"
-  ];
-
-  # Sage mirrors (https://www.sagemath.org/mirrors.html)
-  sageupstream = [
-    # Africa (HTTPS)
-    "https://sagemath.mirror.ac.za/spkg/upstream/"
-    "https://mirror.ufs.ac.za/sagemath/spkg/upstream/"
-
-    # America, North (HTTPS)
-    "https://mirrors.mit.edu/sage/spkg/upstream/"
-    "https://mirrors.xmission.com/sage/spkg/upstream/"
-
-    # Asia (HTTPS)
-    "https://mirrors.tuna.tsinghua.edu.cn/sagemath/spkg/upstream/"
-    "https://mirrors.ustc.edu.cn/sagemath/spkg/upstream/"
-    "http://ftp.tsukuba.wide.ad.jp/software/sage/spkg/upstream/"
-    "https://ftp.yz.yamagata-u.ac.jp/pub/math/sage/spkg/upstream/"
-    "https://mirror.yandex.ru/mirrors/sage.math.washington.edu/spkg/upstream/"
-
-    # Australia (HTTPS)
-    "https://mirror.aarnet.edu.au/pub/sage/spkg/upstream/"
-
-    # Europe (HTTPS)
-    "https://sage.mirror.garr.it/mirrors/sage/spkg/upstream/"
-    "https://www-ftp.lip6.fr/pub/math/sagemath/spkg/upstream/"
-
-    # Africa (non-HTTPS)
-    "ftp://ftp.sun.ac.za/pub/mirrors/www.sagemath.org/spkg/upstream/"
-
-    # America, North (non-HTTPS)
-    "http://www.cecm.sfu.ca/sage/spkg/upstream/"
-
-    # America, South (non-HTTPS)
-    "http://sagemath.c3sl.ufpr.br/spkg/upstream/"
-    "http://linorg.usp.br/sage/spkg/upstream"
-
-    # Asia (non-HTTPS)
-    "http://ftp.kaist.ac.kr/sage/spkg/upstream/"
-    "http://ftp.riken.jp/sagemath/spkg/upstream/"
-
-    # Europe (non-HTTPS)
-    "http://mirrors.fe.up.pt/pub/sage/spkg/upstream/"
-    "http://ftp.ntua.gr/pub/sagemath/spkg/upstream/"
+  # Ubuntu
+  ubuntu = [
+    "https://nl.archive.ubuntu.com/ubuntu/"
+    "https://old-releases.ubuntu.com/ubuntu/"
+    "https://mirrors.edge.kernel.org/ubuntu/"
+    "http://de.archive.ubuntu.com/ubuntu/"
+    "http://archive.ubuntu.com/ubuntu/"
   ];
 
-  # MySQL mirrors
-  mysql = [
-    "https://cdn.mysql.com/Downloads/"
-  ];
+  # ... and other OSes in general
 
-  # OpenBSD mirrors
+  # OpenBSD
   openbsd = [
     "https://ftp.openbsd.org/pub/OpenBSD/"
     "ftp://ftp.nluug.nl/pub/OpenBSD/"
     "ftp://ftp-stud.fht-esslingen.de/pub/OpenBSD/"
   ];
-
-  # Steam Runtime mirrors
-  steamrt = [
-    "https://repo.steampowered.com/steamrt/"
-    "https://public.abbradar.moe/steamrt/"
-  ];
-
-  # Python PyPI mirrors
-  pypi = [
-    "https://files.pythonhosted.org/packages/source/"
-    # pypi.io is a more semantic link, but atm it’s referencing
-    # files.pythonhosted.org over two redirects
-    "https://pypi.io/packages/source/"
-  ];
-
-  # Python Test-PyPI mirror
-  testpypi = [
-    "https://test.pypi.io/packages/source/"
-  ];
-
-  # Mozilla projects.
-  mozilla = [
-    "https://download.cdn.mozilla.net/pub/mozilla.org/"
-    "https://archive.mozilla.org/pub/"
-  ];
-
-  # Maven Central
-  maven = [
-    "https://repo1.maven.org/maven2/"
-  ];
-
-  # Alsa Project
-  alsa = [
-    "https://www.alsa-project.org/files/pub/"
-    "ftp://ftp.alsa-project.org/pub/"
-    "http://alsa.cybermirror.org/"
-    "http://www.mirrorservice.org/sites/ftp.alsa-project.org/pub/"
-  ];
 }
diff --git a/pkgs/build-support/ocaml/dune.nix b/pkgs/build-support/ocaml/dune.nix
index 6bdec501630..18e8784cfab 100644
--- a/pkgs/build-support/ocaml/dune.nix
+++ b/pkgs/build-support/ocaml/dune.nix
@@ -2,7 +2,7 @@
 
 { pname, version, nativeBuildInputs ? [], enableParallelBuilding ? true, ... }@args:
 
-let Dune = if args.useDune2 or false then dune_2 else dune_1; in
+let Dune = if args.useDune2 or true then dune_2 else dune_1; in
 
 if (args ? minimumOCamlVersion && ! lib.versionAtLeast ocaml.version args.minimumOCamlVersion) ||
    (args ? minimalOCamlVersion && ! lib.versionAtLeast ocaml.version args.minimalOCamlVersion)
diff --git a/pkgs/build-support/rust/import-cargo-lock.nix b/pkgs/build-support/rust/import-cargo-lock.nix
index fd3608741ea..e571c01f95c 100644
--- a/pkgs/build-support/rust/import-cargo-lock.nix
+++ b/pkgs/build-support/rust/import-cargo-lock.nix
@@ -128,8 +128,13 @@ let
 
         # If the target package is in a workspace, or if it's the top-level
         # crate, we should find the crate path using `cargo metadata`.
-        crateCargoTOML=$(${cargo}/bin/cargo metadata --format-version 1 --no-deps --manifest-path $tree/Cargo.toml | \
+        # Some packages do not have a Cargo.toml at the top-level,
+        # but only in nested directories.
+        # Only check the top-level Cargo.toml, if it actually exists
+        if [[ -f $tree/Cargo.toml ]]; then
+          crateCargoTOML=$(${cargo}/bin/cargo metadata --format-version 1 --no-deps --manifest-path $tree/Cargo.toml | \
           ${jq}/bin/jq -r '.packages[] | select(.name == "${pkg.name}") | .manifest_path')
+        fi
 
         # If the repository is not a workspace the package might be in a subdirectory.
         if [[ -z $crateCargoTOML ]]; then
diff --git a/pkgs/build-support/setup-hooks/auto-patchelf.py b/pkgs/build-support/setup-hooks/auto-patchelf.py
new file mode 100644
index 00000000000..26fd623e3da
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/auto-patchelf.py
@@ -0,0 +1,329 @@
+#!/usr/bin/env python3
+
+from collections import defaultdict
+from contextlib import contextmanager
+from dataclasses import dataclass
+from elftools.common.exceptions import ELFError # type: ignore
+from elftools.elf.dynamic import DynamicSection # type: ignore
+from elftools.elf.elffile import ELFFile # type: ignore
+from elftools.elf.enums import ENUM_E_TYPE, ENUM_EI_OSABI # type: ignore
+from itertools import chain
+from pathlib import Path, PurePath
+
+from typing import Tuple, Optional, Iterator, List, DefaultDict, Set
+
+import argparse
+import os
+import pprint
+import subprocess
+import sys
+
+
+
+@contextmanager
+def open_elf(path: Path) -> Iterator[ELFFile]:
+    with path.open('rb') as stream:
+        yield ELFFile(stream)
+
+
+def is_static_executable(elf: ELFFile) -> bool:
+    # Statically linked executables have an ELF type of EXEC but no INTERP.
+    return (elf.header["e_type"] == 'ET_EXEC'
+            and not elf.get_section_by_name(".interp"))
+
+
+def is_dynamic_executable(elf: ELFFile) -> bool:
+    # We do not require an ELF type of EXEC. This also catches
+    # position-independent executables, as they typically have an INTERP
+    # section but their ELF type is DYN.
+    return bool(elf.get_section_by_name(".interp"))
+
+
+def get_dependencies(elf: ELFFile) -> List[str]:
+    dependencies = []
+    # This convoluted code is here on purpose. For some reason, using
+    # elf.get_section_by_name(".dynamic") does not always return an
+    # instance of DynamicSection, but that is required to call iter_tags
+    for section in elf.iter_sections():
+        if isinstance(section, DynamicSection):
+            for tag in section.iter_tags('DT_NEEDED'):
+                dependencies.append(tag.needed)
+            break # There is only one dynamic section
+
+    return dependencies
+
+
+def get_rpath(elf: ELFFile) -> List[str]:
+    # This convoluted code is here on purpose. For some reason, using
+    # elf.get_section_by_name(".dynamic") does not always return an
+    # instance of DynamicSection, but that is required to call iter_tags
+    for section in elf.iter_sections():
+        if isinstance(section, DynamicSection):
+            for tag in section.iter_tags('DT_RUNPATH'):
+                return tag.runpath.split(':')
+
+            for tag in section.iter_tags('DT_RPATH'):
+                return tag.rpath.split(':')
+
+            break # There is only one dynamic section
+
+    return []
+
+
+def get_arch(elf: ELFFile) -> str:
+    return elf.get_machine_arch()
+
+
+def get_osabi(elf: ELFFile) -> str:
+    return elf.header["e_ident"]["EI_OSABI"]
+
+
+def osabi_are_compatible(wanted: str, got: str) -> bool:
+    """
+    Tests whether two OS ABIs are compatible, taking into account the
+    generally accepted compatibility of SVR4 ABI with other ABIs.
+    """
+    if not wanted or not got:
+        # One of the types couldn't be detected, so as a fallback we'll
+        # assume they're compatible.
+        return True
+
+    # Generally speaking, the base ABI (0x00), which is represented by
+    # readelf(1) as "UNIX - System V", indicates broad compatibility
+    # with other ABIs.
+    #
+    # TODO: This isn't always true. For example, some OSes embed ABI
+    # compatibility into SHT_NOTE sections like .note.tag and
+    # .note.ABI-tag.  It would be prudent to add these to the detection
+    # logic to produce better ABI information.
+    if wanted == 'ELFOSABI_SYSV':
+        return True
+
+    # Similarly here, we should be able to link against a superset of
+    # features, so even if the target has another ABI, this should be
+    # fine.
+    if got == 'ELFOSABI_SYSV':
+        return True
+
+    # Otherwise, we simply return whether the ABIs are identical.
+    return wanted == got
+
+
+def glob(path: Path, pattern: str, recursive: bool) -> Iterator[Path]:
+    return path.rglob(pattern) if recursive else path.glob(pattern)
+
+
+cached_paths: Set[Path] = set()
+soname_cache: DefaultDict[Tuple[str, str], List[Tuple[Path, str]]] = defaultdict(list)
+
+
+def populate_cache(initial: List[Path], recursive: bool =False) -> None:
+    lib_dirs = list(initial)
+
+    while lib_dirs:
+        lib_dir = lib_dirs.pop(0)
+
+        if lib_dir in cached_paths:
+            continue
+
+        cached_paths.add(lib_dir)
+
+        for path in glob(lib_dir, "*.so*", recursive):
+            if not path.is_file():
+                continue
+
+            resolved = path.resolve()
+            try:
+                with open_elf(path) as elf:
+                    osabi = get_osabi(elf)
+                    arch = get_arch(elf)
+                    rpath = [Path(p) for p in get_rpath(elf)
+                                     if p and '$ORIGIN' not in p]
+                    lib_dirs += rpath
+                    soname_cache[(path.name, arch)].append((resolved.parent, osabi))
+
+            except ELFError:
+                # Not an ELF file in the right format
+                pass
+
+
+def find_dependency(soname: str, soarch: str, soabi: str) -> Optional[Path]:
+    for lib, libabi in soname_cache[(soname, soarch)]:
+        if osabi_are_compatible(soabi, libabi):
+            return lib
+    return None
+
+
+@dataclass
+class Dependency:
+    file: Path              # The file that contains the dependency
+    name: Path              # The name of the dependency
+    found: bool = False     # Whether it was found somewhere
+
+
+def auto_patchelf_file(path: Path, runtime_deps: list[Path]) -> list[Dependency]:
+    try:
+        with open_elf(path) as elf:
+
+            if is_static_executable(elf):
+                # No point patching these
+                print(f"skipping {path} because it is statically linked")
+                return []
+
+            if elf.num_segments() == 0:
+                # no segment (e.g. object file)
+                print(f"skipping {path} because it contains no segment")
+                return []
+
+            file_arch = get_arch(elf)
+            if interpreter_arch != file_arch:
+                # Our target architecture is different than this file's
+                # architecture, so skip it.
+                print(f"skipping {path} because its architecture ({file_arch})"
+                      f" differs from target ({interpreter_arch})")
+                return []
+
+            file_osabi = get_osabi(elf)
+            if not osabi_are_compatible(interpreter_osabi, file_osabi):
+                print(f"skipping {path} because its OS ABI ({file_osabi}) is"
+                      f" not compatible with target ({interpreter_osabi})")
+                return []
+
+            file_is_dynamic_executable = is_dynamic_executable(elf)
+
+            file_dependencies = map(Path, get_dependencies(elf))
+
+    except ELFError:
+        return []
+
+    rpath = []
+    if file_is_dynamic_executable:
+        print("setting interpreter of", path)
+        subprocess.run(
+                ["patchelf", "--set-interpreter", interpreter_path.as_posix(), path.as_posix()],
+                check=True)
+        rpath += runtime_deps
+
+    print("searching for dependencies of", path)
+    dependencies = []
+    # Be sure to get the output of all missing dependencies instead of
+    # failing at the first one, because it's more useful when working
+    # on a new package where you don't yet know the dependencies.
+    for dep in file_dependencies:
+        if dep.is_absolute() and dep.is_file():
+            # This is an absolute path. If it exists, just use it.
+            # Otherwise, we probably want this to produce an error when
+            # checked (because just updating the rpath won't satisfy
+            # it).
+            continue
+        elif (libc_lib / dep).is_file():
+            # This library exists in libc, and will be correctly
+            # resolved by the linker.
+            continue
+
+        if found_dependency := find_dependency(dep.name, file_arch, file_osabi):
+            rpath.append(found_dependency)
+            dependencies.append(Dependency(path, dep, True))
+            print(f"    {dep} -> found: {found_dependency}")
+        else:
+            dependencies.append(Dependency(path, dep, False))
+            print(f"    {dep} -> not found!")
+
+    # Dedup the rpath
+    rpath_str = ":".join(dict.fromkeys(map(Path.as_posix, rpath)))
+
+    if rpath:
+        print("setting RPATH to:", rpath_str)
+        subprocess.run(
+                ["patchelf", "--set-rpath", rpath_str, path.as_posix()],
+                check=True)
+
+    return dependencies
+
+
+def auto_patchelf(
+        paths_to_patch: List[Path],
+        lib_dirs: List[Path],
+        runtime_deps: List[Path],
+        recursive: bool =True,
+        ignore_missing: bool =False) -> None:
+
+    if not paths_to_patch:
+        sys.exit("No paths to patch, stopping.")
+
+    # Add all shared objects of the current output path to the cache,
+    # before lib_dirs, so that they are chosen first in find_dependency.
+    populate_cache(paths_to_patch, recursive)
+    populate_cache(lib_dirs)
+
+    dependencies = []
+    for path in chain.from_iterable(glob(p, '*', recursive) for p in paths_to_patch):
+        if not path.is_symlink() and path.is_file():
+            dependencies += auto_patchelf_file(path, runtime_deps)
+
+    missing = [dep for dep in dependencies if not dep.found]
+
+    # Print a summary of the missing dependencies at the end
+    for dep in missing:
+        print(f"auto-patchelf could not satisfy dependency {dep.name} wanted by {dep.file}")
+
+    if missing and not ignore_missing:
+        sys.exit('auto-patchelf failed to find all the required dependencies.\n'
+                 'Add the missing dependencies to --libs or use --ignore-missing.')
+
+
+def main() -> None:
+    parser = argparse.ArgumentParser(
+        prog="auto-patchelf",
+        description='auto-patchelf tries as hard as possible to patch the'
+                    ' provided binary files by looking for compatible'
+                    'libraries in the provided paths.')
+    parser.add_argument(
+        "--ignore-missing",
+        action="store_true",
+        help="Do not fail when some dependencies are not found.")
+    parser.add_argument(
+        "--no-recurse",
+        dest="recursive",
+        action="store_false",
+        help="Patch only the provided paths, and ignore their children")
+    parser.add_argument(
+        "--paths", nargs="*", type=Path,
+        help="Paths whose content needs to be patched.")
+    parser.add_argument(
+        "--libs", nargs="*", type=Path,
+        help="Paths where libraries are searched for.")
+    parser.add_argument(
+        "--runtime-dependencies", nargs="*", type=Path,
+        help="Paths to prepend to the runtime path of executable binaries.")
+
+    print("automatically fixing dependencies for ELF files")
+    args = parser.parse_args()
+    pprint.pprint(vars(args))
+
+    auto_patchelf(
+        args.paths,
+        args.libs,
+        args.runtime_dependencies,
+        args.recursive,
+        args.ignore_missing)
+
+
+interpreter_path: Path  = None # type: ignore
+interpreter_osabi: str  = None # type: ignore
+interpreter_arch: str   = None # type: ignore
+libc_lib: Path          = None # type: ignore
+
+if __name__ == "__main__":
+    nix_support = Path(os.environ['NIX_BINTOOLS']) / 'nix-support'
+    interpreter_path = Path((nix_support / 'dynamic-linker').read_text().strip())
+    libc_lib = Path((nix_support / 'orig-libc').read_text().strip()) / 'lib'
+
+    with open_elf(interpreter_path) as interpreter:
+        interpreter_osabi = get_osabi(interpreter)
+        interpreter_arch = get_arch(interpreter)
+
+    if interpreter_arch and interpreter_osabi and interpreter_path and libc_lib:
+        main()
+    else:
+        sys.exit("Failed to parse dynamic linker (ld) properties.")
diff --git a/pkgs/build-support/setup-hooks/auto-patchelf.sh b/pkgs/build-support/setup-hooks/auto-patchelf.sh
index 4b3a1c5c390..9822674196a 100644
--- a/pkgs/build-support/setup-hooks/auto-patchelf.sh
+++ b/pkgs/build-support/setup-hooks/auto-patchelf.sh
@@ -1,289 +1,21 @@
 #!/usr/bin/env bash
 
 declare -a autoPatchelfLibs
-declare -Ag autoPatchelfFailedDeps
+declare -a extraAutoPatchelfLibs
 
 gatherLibraries() {
     autoPatchelfLibs+=("$1/lib")
 }
 
-# wrapper around patchelf to raise proper error messages
-# containing the tried file name and command
-runPatchelf() {
-  patchelf "$@" || (echo "Command failed: patchelf $*" && exit 1)
-}
-
 # shellcheck disable=SC2154
 # (targetOffset is referenced but not assigned.)
 addEnvHooks "$targetOffset" gatherLibraries
 
-isExecutable() {
-    # For dynamically linked ELF files it would be enough to check just for the
-    # INTERP section. However, we won't catch statically linked executables as
-    # they only have an ELF type of EXEC but no INTERP.
-    #
-    # So what we do here is just check whether *either* the ELF type is EXEC
-    # *or* there is an INTERP section. This also catches position-independent
-    # executables, as they typically have an INTERP section but their ELF type
-    # is DYN.
-    isExeResult="$(LANG=C $READELF -h -l "$1" 2> /dev/null \
-        | grep '^ *Type: *EXEC\>\|^ *INTERP\>')"
-    # not using grep -q, because it can cause Broken pipe
-    # https://unix.stackexchange.com/questions/305547/broken-pipe-when-grepping-output-but-only-with-i-flag
-    [ -n "$isExeResult" ]
-}
-
-# We cache dependencies so that we don't need to search through all of them on
-# every consecutive call to findDependency.
-declare -Ag autoPatchelfCachedDepsAssoc
-declare -ag autoPatchelfCachedDeps
-
-addToDepCache() {
-    if [[ ${autoPatchelfCachedDepsAssoc[$1]+f} ]]; then return; fi
-
-    # store deps in an assoc. array for efficient lookups
-    # otherwise findDependency would have quadratic complexity
-    autoPatchelfCachedDepsAssoc["$1"]=""
-
-    # also store deps in normal array to maintain their order
-    autoPatchelfCachedDeps+=("$1")
-}
-
-declare -gi depCacheInitialised=0
-declare -gi doneRecursiveSearch=0
-declare -g foundDependency
-
-getDepsFromElfBinary() {
-    # NOTE: This does not use runPatchelf because it may encounter non-ELF
-    # files. Caller is expected to check the return code if needed.
-    patchelf --print-needed "$1" 2> /dev/null
-}
-
-getRpathFromElfBinary() {
-    # NOTE: This does not use runPatchelf because it may encounter non-ELF
-    # files. Caller is expected to check the return code if needed.
-    local rpath
-    IFS=':' read -ra rpath < <(patchelf --print-rpath "$1" 2> /dev/null) || return $?
-
-    printf "%s\n" "${rpath[@]}"
-}
-
-populateCacheForDep() {
-    local so="$1"
-    local rpath found
-    rpath="$(getRpathFromElfBinary "$so")" || return 1
-
-    for found in $(getDepsFromElfBinary "$so"); do
-        local rpathElem
-        for rpathElem in $rpath; do
-            # Ignore empty element or $ORIGIN magic variable which should be
-            # deterministically resolved by adding this package's library
-            # files early anyway.
-            #
-            # shellcheck disable=SC2016
-            # (Expressions don't expand in single quotes, use double quotes for
-            # that.)
-            if [[ -z "$rpathElem" || "$rpathElem" == *'$ORIGIN'* ]]; then
-                continue
-            fi
-
-            local soname="${found%.so*}"
-            local foundso=
-            for foundso in "$rpathElem/$soname".so*; do
-                addToDepCache "$foundso"
-            done
-
-            # Found in this element of the rpath, no need to check others.
-            if [ -n "$foundso" ]; then
-                break
-            fi
-        done
-    done
-
-    # Not found in any rpath element.
-    return 1
-}
-
-populateCacheWithRecursiveDeps() {
-    # Dependencies may add more to the end of this array, so we use a counter
-    # with while instead of a regular for loop here.
-    local -i i=0
-    while [ $i -lt ${#autoPatchelfCachedDeps[@]} ]; do
-        populateCacheForDep "${autoPatchelfCachedDeps[$i]}"
-        i=$i+1
-    done
-}
-
-getBinArch() {
-    $OBJDUMP -f "$1" 2> /dev/null | sed -ne 's/^architecture: *\([^,]\+\).*/\1/p'
-}
-
-# Returns the specific OS ABI for an ELF file in the format produced by
-# readelf(1), like "UNIX - System V" or "UNIX - GNU".
-getBinOsabi() {
-    $READELF -h "$1" 2> /dev/null | sed -ne 's/^[ \t]*OS\/ABI:[ \t]*\(.*\)/\1/p'
-}
-
-# Tests whether two OS ABIs are compatible, taking into account the generally
-# accepted compatibility of SVR4 ABI with other ABIs.
-areBinOsabisCompatible() {
-    local wanted="$1"
-    local got="$2"
-
-    if [[ -z "$wanted" || -z "$got" ]]; then
-        # One of the types couldn't be detected, so as a fallback we'll assume
-        # they're compatible.
-        return 0
-    fi
-
-    # Generally speaking, the base ABI (0x00), which is represented by
-    # readelf(1) as "UNIX - System V", indicates broad compatibility with other
-    # ABIs.
-    #
-    # TODO: This isn't always true. For example, some OSes embed ABI
-    # compatibility into SHT_NOTE sections like .note.tag and .note.ABI-tag.
-    # It would be prudent to add these to the detection logic to produce better
-    # ABI information.
-    if [[ "$wanted" == "UNIX - System V" ]]; then
-        return 0
-    fi
-
-    # Similarly here, we should be able to link against a superset of features,
-    # so even if the target has another ABI, this should be fine.
-    if [[ "$got" == "UNIX - System V" ]]; then
-        return 0
-    fi
-
-    # Otherwise, we simply return whether the ABIs are identical.
-    if [[ "$wanted" == "$got" ]]; then
-        return 0
-    fi
-
-    return 1
-}
-
-# NOTE: If you want to use this function outside of the autoPatchelf function,
-# keep in mind that the dependency cache is only valid inside the subshell
-# spawned by the autoPatchelf function, so invoking this directly will possibly
-# rebuild the dependency cache. See the autoPatchelf function below for more
-# information.
-findDependency() {
-    local filename="$1"
-    local arch="$2"
-    local osabi="$3"
-    local lib dep
-
-    if [ $depCacheInitialised -eq 0 ]; then
-        for lib in "${autoPatchelfLibs[@]}"; do
-            for so in "$lib/"*.so*; do addToDepCache "$so"; done
-        done
-        depCacheInitialised=1
-    fi
-
-    for dep in "${autoPatchelfCachedDeps[@]}"; do
-        if [ "$filename" = "${dep##*/}" ]; then
-            if [ "$(getBinArch "$dep")" = "$arch" ] && areBinOsabisCompatible "$osabi" "$(getBinOsabi "$dep")"; then
-                foundDependency="$dep"
-                return 0
-            fi
-        fi
-    done
-
-    # Populate the dependency cache with recursive dependencies *only* if we
-    # didn't find the right dependency so far and afterwards run findDependency
-    # again, but this time with $doneRecursiveSearch set to 1 so that it won't
-    # recurse again (and thus infinitely).
-    if [ $doneRecursiveSearch -eq 0 ]; then
-        populateCacheWithRecursiveDeps
-        doneRecursiveSearch=1
-        findDependency "$filename" "$arch" || return 1
-        return 0
-    fi
-    return 1
-}
-
-autoPatchelfFile() {
-    local dep rpath="" toPatch="$1"
-
-    local interpreter
-    interpreter="$(< "$NIX_BINTOOLS/nix-support/dynamic-linker")"
-
-    local interpreterArch interpreterOsabi toPatchArch toPatchOsabi
-    interpreterArch="$(getBinArch "$interpreter")"
-    interpreterOsabi="$(getBinOsabi "$interpreter")"
-    toPatchArch="$(getBinArch "$toPatch")"
-    toPatchOsabi="$(getBinOsabi "$toPatch")"
-
-    if [ "$interpreterArch" != "$toPatchArch" ]; then
-        # Our target architecture is different than this file's architecture,
-        # so skip it.
-        echo "skipping $toPatch because its architecture ($toPatchArch) differs from target ($interpreterArch)" >&2
-        return 0
-    elif ! areBinOsabisCompatible "$interpreterOsabi" "$toPatchOsabi"; then
-        echo "skipping $toPatch because its OS ABI ($toPatchOsabi) is not compatible with target ($interpreterOsabi)" >&2
-        return 0
-    fi
-
-    if isExecutable "$toPatch"; then
-        runPatchelf --set-interpreter "$interpreter" "$toPatch"
-        # shellcheck disable=SC2154
-        # (runtimeDependencies is referenced but not assigned.)
-        if [ -n "$runtimeDependencies" ]; then
-            for dep in $runtimeDependencies; do
-                rpath="$rpath${rpath:+:}$dep/lib"
-            done
-        fi
-    fi
-
-    local libcLib
-    libcLib="$(< "$NIX_BINTOOLS/nix-support/orig-libc")/lib"
-
-    echo "searching for dependencies of $toPatch" >&2
-
-    local missing
-    missing="$(getDepsFromElfBinary "$toPatch")" || return 0
-
-    # This ensures that we get the output of all missing dependencies instead
-    # of failing at the first one, because it's more useful when working on a
-    # new package where you don't yet know its dependencies.
-
-    for dep in $missing; do
-        if [[ "$dep" == /* ]]; then
-            # This is an absolute path. If it exists, just use it. Otherwise,
-            # we probably want this to produce an error when checked (because
-            # just updating the rpath won't satisfy it).
-            if [ -f "$dep" ]; then
-                continue
-            fi
-        elif [ -f "$libcLib/$dep" ]; then
-            # This library exists in libc, and will be correctly resolved by
-            # the linker.
-            continue
-        fi
-
-        echo -n "  $dep -> " >&2
-        if findDependency "$dep" "$toPatchArch" "$toPatchOsabi"; then
-            rpath="$rpath${rpath:+:}${foundDependency%/*}"
-            echo "found: $foundDependency" >&2
-        else
-            echo "not found!" >&2
-            autoPatchelfFailedDeps["$dep"]="$toPatch"
-        fi
-    done
-
-    if [ -n "$rpath" ]; then
-        echo "setting RPATH to: $rpath" >&2
-        runPatchelf --set-rpath "$rpath" "$toPatch"
-    fi
-}
-
 # Can be used to manually add additional directories with shared object files
 # to be included for the next autoPatchelf invocation.
 addAutoPatchelfSearchPath() {
     local -a findOpts=()
 
-    # XXX: Somewhat similar to the one in the autoPatchelf function, maybe make
-    #      it DRY someday...
     while [ $# -gt 0 ]; do
         case "$1" in
             --) shift; break;;
@@ -296,15 +28,19 @@ addAutoPatchelfSearchPath() {
         esac
     done
 
-    while IFS= read -r -d '' file; do
-        addToDepCache "$file"
+    local dir=
+    while IFS= read -r -d '' dir; do
+        extraAutoPatchelfLibs+=("$dir")
     done <  <(find "$@" "${findOpts[@]}" \! -type d \
-            \( -name '*.so' -o -name '*.so.*' \) -print0)
+            \( -name '*.so' -o -name '*.so.*' \) -print0 \
+            | sed -z 's#/[^/]*$##' \
+            | uniq -z
+        )
 }
 
+
 autoPatchelf() {
     local norecurse=
-
     while [ $# -gt 0 ]; do
         case "$1" in
             --) shift; break;;
@@ -317,47 +53,14 @@ autoPatchelf() {
         esac
     done
 
-    if [ $# -eq 0 ]; then
-        echo "autoPatchelf: No paths to patch specified." >&2
-        return 1
-    fi
-
-    echo "automatically fixing dependencies for ELF files" >&2
-
-    # Add all shared objects of the current output path to the start of
-    # autoPatchelfCachedDeps so that it's chosen first in findDependency.
-    addAutoPatchelfSearchPath ${norecurse:+--no-recurse} -- "$@"
-
-    while IFS= read -r -d $'\0' file; do
-      isELF "$file" || continue
-      segmentHeaders="$(LANG=C $READELF -l "$file")"
-      # Skip if the ELF file doesn't have segment headers (eg. object files).
-      # not using grep -q, because it can cause Broken pipe
-      grep -q '^Program Headers:' <<<"$segmentHeaders" || continue
-      if isExecutable "$file"; then
-          # Skip if the executable is statically linked.
-          grep -q "^ *INTERP\\>" <<<"$segmentHeaders" || continue
-      fi
-      # Jump file if patchelf is unable to parse it
-      # Some programs contain binary blobs for testing,
-      # which are identified as ELF but fail to be parsed by patchelf
-      patchelf "$file" || continue
-      autoPatchelfFile "$file"
-    done < <(find "$@" ${norecurse:+-maxdepth 1} -type f -print0)
-
-    # fail if any dependencies were not found and
-    # autoPatchelfIgnoreMissingDeps is not set
-    local depsMissing=0
-    for failedDep in "${!autoPatchelfFailedDeps[@]}"; do
-      echo "autoPatchelfHook could not satisfy dependency $failedDep wanted by ${autoPatchelfFailedDeps[$failedDep]}"
-      depsMissing=1
-    done
-    # shellcheck disable=SC2154
-    # (autoPatchelfIgnoreMissingDeps is referenced but not assigned.)
-    if [[ $depsMissing == 1 && -z "$autoPatchelfIgnoreMissingDeps" ]]; then
-      echo "Add the missing dependencies to the build inputs or set autoPatchelfIgnoreMissingDeps=true"
-      exit 1
-    fi
+    local runtimeDependenciesArray=($runtimeDependencies)
+    @pythonInterpreter@ @autoPatchelfScript@                            \
+        ${norecurse:+--no-recurse}                                      \
+        ${autoPatchelfIgnoreMissingDeps:+--ignore-missing}              \
+        --paths "$@"                                                    \
+        --libs "${autoPatchelfLibs[@]}"                                 \
+               "${extraAutoPatchelfLibs[@]}"                            \
+        --runtime-dependencies "${runtimeDependenciesArray[@]/%//lib}"
 }
 
 # XXX: This should ultimately use fixupOutputHooks but we currently don't have
diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh
index 604096135c2..fa606583289 100644
--- a/pkgs/build-support/setup-hooks/make-wrapper.sh
+++ b/pkgs/build-support/setup-hooks/make-wrapper.sh
@@ -51,7 +51,19 @@ makeWrapper() {
         local varName="$2"    # name of list variable to add to
         local separator="$3"  # character used to separate elements of list
         local value="$4"      # one value, or multiple values separated by `separator`, to add to list
-        if test -n "$value"; then
+
+        # Disable file globbing, since bash will otherwise try to find
+        # filenames matching the the value to be prefixed/suffixed if
+        # it contains characters considered wildcards, such as `?` and
+        # `*`. We want the value as is, except we also want to split
+        # it on on the separator; hence we can't quote it.
+        local reenableGlob=0
+        if [[ ! -o noglob ]]; then
+            reenableGlob=1
+        fi
+        set -o noglob
+
+        if [[ -n "$value" ]]; then
             local old_ifs=$IFS
             IFS=$separator
 
@@ -86,6 +98,10 @@ makeWrapper() {
             done
             IFS=$old_ifs
         fi
+
+        if (( reenableGlob )); then
+            set +o noglob
+        fi
     }
 
     mkdir -p "$(dirname "$wrapper")"
diff --git a/pkgs/data/fonts/borg-sans-mono/default.nix b/pkgs/data/fonts/borg-sans-mono/default.nix
new file mode 100644
index 00000000000..57b0a23bf7b
--- /dev/null
+++ b/pkgs/data/fonts/borg-sans-mono/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchzip }:
+
+let
+  pname = "borg-sans-mono";
+  version = "0.2.0";
+in
+fetchzip {
+  name = "${pname}-${version}";
+
+  # https://github.com/marnen/borg-sans-mono/issues/19
+  url = "https://github.com/marnen/borg-sans-mono/files/107663/BorgSansMono.ttf.zip";
+  sha256 = "1gz4ab0smw76ih5cs2l3n92c77nv7ld5zghq42avjsfhxrc2n5ri";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+  '';
+
+  meta = with lib; {
+    description = "Droid Sans Mono Slashed + Hasklig-style ligatures";
+    homepage = "https://github.com/marnen/borg-sans-mono";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ atila ];
+  };
+}
diff --git a/pkgs/data/fonts/lmodern/default.nix b/pkgs/data/fonts/lmodern/default.nix
index 53fc456d758..af0e7033135 100644
--- a/pkgs/data/fonts/lmodern/default.nix
+++ b/pkgs/data/fonts/lmodern/default.nix
@@ -1,9 +1,9 @@
 { fetchzip }:
 
 fetchzip {
-  name = "lmodern-2.004.5";
+  name = "lmodern-2.005";
 
-  url = "mirror://debian/pool/main/l/lmodern/lmodern_2.004.5.orig.tar.gz";
+  url = "mirror://debian/pool/main/l/lmodern/lmodern_2.005.orig.tar.gz";
 
   postFetch = ''
     tar xzvf $downloadedFile
@@ -11,13 +11,13 @@ fetchzip {
     mkdir -p $out/texmf-dist/
     mkdir -p $out/share/fonts/
 
-    cp -r lmodern-2.004.5/* $out/texmf-dist/
-    cp -r lmodern-2.004.5/fonts/{opentype,type1} $out/share/fonts/
+    cp -r lmodern-2.005/* $out/texmf-dist/
+    cp -r lmodern-2.005/fonts/{opentype,type1} $out/share/fonts/
 
     ln -s -r $out/texmf* $out/share/
   '';
 
-  sha256 = "11f10qnp8a435lhh19zc2znlf9q4isynmvjmvr63g5n5fhvhc192";
+  sha256 = "sha256-ySdKUt8o5FqmpdnYSzbGJ1f9t8VmKYXqPt53e1/E/FA=";
 
   meta = {
     description = "Latin Modern font";
diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix
index 9c9996db39e..248d076b997 100644
--- a/pkgs/data/fonts/noto-fonts/default.nix
+++ b/pkgs/data/fonts/noto-fonts/default.nix
@@ -5,12 +5,12 @@
 , fetchurl
 , cairo
 , nixosTests
-, python3
 , pkg-config
 , pngquant
 , which
 , imagemagick
 , zopfli
+, buildPackages
 }:
 
 let
@@ -130,8 +130,8 @@ in
   noto-fonts-emoji = let
     version = "2.034";
     emojiPythonEnv =
-      python3.withPackages (p: with p; [ fonttools nototools ]);
-  in stdenv.mkDerivation {
+      buildPackages.python3.withPackages (p: with p; [ fonttools nototools ]);
+  in stdenvNoCC.mkDerivation {
     pname = "noto-fonts-emoji";
     inherit version;
 
@@ -142,13 +142,17 @@ in
       sha256 = "1d6zzk0ii43iqfnjbldwp8sasyx99lbjp1nfgqjla7ixld6yp98l";
     };
 
-    nativeBuildInputs = [
+    depsBuildBuild = [
+      buildPackages.stdenv.cc
+      pkg-config
       cairo
+    ];
+
+    nativeBuildInputs = [
       imagemagick
       zopfli
       pngquant
       which
-      pkg-config
       emojiPythonEnv
     ];
 
@@ -159,14 +163,6 @@ in
       # python requirements using python.withPackages
       sed -i '/ifndef VIRTUAL_ENV/,+2d' Makefile
 
-      # Remove check for missing zopfli, it doesn't
-      # work and we guarantee its presence already.
-      sed -i '/ifdef MISSING_ZOPFLI/,+2d' Makefile
-      sed -i '/ifeq (,$(shell which $(ZOPFLIPNG)))/,+4d' Makefile
-
-      sed -i '/ZOPFLIPNG = zopflipng/d' Makefile
-      echo "ZOPFLIPNG = ${zopfli}/bin/zopflipng" >> Makefile
-
       # Make the build verbose so it won't get culled by Hydra thinking that
       # it somehow got stuck doing nothing.
       sed -i 's;\t@;\t;' Makefile
diff --git a/pkgs/data/fonts/sudo/default.nix b/pkgs/data/fonts/sudo/default.nix
index 45450a7c20f..b78880824c7 100644
--- a/pkgs/data/fonts/sudo/default.nix
+++ b/pkgs/data/fonts/sudo/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchzip }:
 
 let
-  version = "0.62";
+  version = "0.63.1";
 in fetchzip {
   name = "sudo-font-${version}";
   url = "https://github.com/jenskutilek/sudo-font/releases/download/v${version}/sudo.zip";
-  sha256 = "sha256-I0E2zYbfEFBEIBNC7nnJb+hOaBgGZkAIg08YpA8awso=";
+  sha256 = "sha256-z/1Y2eJMrQ+43UIt4HWcLwjYs+hfCY/g4iRxJ+yBAqw=";
 
   postFetch = ''
     mkdir -p $out/share/fonts/
diff --git a/pkgs/data/fonts/vazir-fonts/default.nix b/pkgs/data/fonts/vazir-fonts/default.nix
index b2c4f1faa3c..b8885298c08 100755
--- a/pkgs/data/fonts/vazir-fonts/default.nix
+++ b/pkgs/data/fonts/vazir-fonts/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "vazir-fonts";
-  version = "30.1.0";
+  version = "32.0.0";
 in fetchFromGitHub {
   name = "${pname}-${version}";
 
@@ -14,7 +14,7 @@ in fetchFromGitHub {
     tar xf $downloadedFile --strip=1
     find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \;
   '';
-  sha256 = "sha256-J1l6rBFgaXFtGnK0pH7GbaYTt5TI/OevjZrXmaEgkB4=";
+  sha256 = "sha256-Uy8hgBtCcTLwXu9FkLN1WavUfP74Jf53ChxVGS3UBVM=";
 
   meta = with lib; {
     homepage = "https://github.com/rastikerdar/vazir-font";
diff --git a/pkgs/data/icons/kora-icon-theme/default.nix b/pkgs/data/icons/kora-icon-theme/default.nix
index 8df63a75ad8..01572e79761 100644
--- a/pkgs/data/icons/kora-icon-theme/default.nix
+++ b/pkgs/data/icons/kora-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec  {
   pname = "kora-icon-theme";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub  {
     owner = "bikass";
     repo = "kora";
     rev = "v${version}";
-    sha256 = "sha256-kUgNj7KuxsQ/BvQ0ORl3xzEm9gv69+2PS0Bgv8i/S9U=";
+    sha256 = "sha256-3TKjd2Lblb+/zFq7rkdgnD1dJU3kis7QZi7Ui74IWzA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index 52662b190a7..78c93b05033 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     "BINDIR=$(bin)/bin"
     "ZICDIR=$(bin)/bin"
     "ETCDIR=$(TMPDIR)/etc"
-    "TZDEFAULT=$(TMPDIR)/etc"
+    "TZDEFAULT=tzdefault-to-remove"
     "LIBDIR=$(dev)/lib"
     "MANDIR=$(man)/share/man"
     "AWK=awk"
@@ -54,6 +54,7 @@ stdenv.mkDerivation rec {
   postInstall =
     ''
       rm $out/share/zoneinfo-posix
+      rm $out/share/zoneinfo/tzdefault-to-remove
       mkdir $out/share/zoneinfo/posix
       ( cd $out/share/zoneinfo/posix; ln -s ../* .; rm posix )
       mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right
diff --git a/pkgs/data/misc/v2ray-geoip/default.nix b/pkgs/data/misc/v2ray-geoip/default.nix
index 12163691668..7e2b12e863f 100644
--- a/pkgs/data/misc/v2ray-geoip/default.nix
+++ b/pkgs/data/misc/v2ray-geoip/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "v2ray-geoip";
-  version = "202203020509";
+  version = "202203170039";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "geoip";
-    rev = "9dce4df2c1f409bad67f579910a4edf522251e7b";
-    sha256 = "sha256-fR0lzvVQjWA3KbzLhuvoB15Z+7RAv34Wf5W7KRZ//QA=";
+    rev = "0b5c94c368dc5f70ebf995e87188aa8f40d45489";
+    sha256 = "sha256-iaqU6CkrewICONps43nbZaUiM2aahSwfSD5bZz1P4Zc=";
   };
 
   installPhase = ''
diff --git a/pkgs/data/themes/flat-remix-gtk/default.nix b/pkgs/data/themes/flat-remix-gtk/default.nix
index 59b2714285e..fec900a2d7e 100644
--- a/pkgs/data/themes/flat-remix-gtk/default.nix
+++ b/pkgs/data/themes/flat-remix-gtk/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flat-remix-gtk";
-  version = "20220215";
+  version = "20220310";
 
   src = fetchFromGitHub {
     owner = "daniruiz";
     repo = pname;
     rev = version;
-    sha256 = "sha256-J9PAHQ/MbdDuX16ioQQnzZpIZs/NJVkJjLL4nfaeNkU=";
+    sha256 = "sha256-fKkqMGb1UopjM7hTTury1I3oD5AlHqKP+WLmgAZIQxo=";
   };
 
   dontBuild = true;
diff --git a/pkgs/desktops/arcan/arcan/clone-sources.nix b/pkgs/desktops/arcan/arcan/clone-sources.nix
index 2ade63e70bf..c7c6bebb704 100644
--- a/pkgs/desktops/arcan/arcan/clone-sources.nix
+++ b/pkgs/desktops/arcan/arcan/clone-sources.nix
@@ -11,7 +11,7 @@
     rev = "94cb3a2eb96b3f17a1a3bd0e6f7da97c0e1d8f57";
     sha256 = "sha256-LzjqunX/T8khF2UjPlPYiQOwMGem8MqPYneR2LdZ5Fg=";
   };
-  libuvc-src = fetchgit {
+  libuvc-src = fetchFromGitHub {
     owner = "libuvc";
     repo = "libuvc";
     rev = "b2b01ae6a2875d05c99eb256bb15815018d6e837";
diff --git a/pkgs/desktops/arcan/durden/default.nix b/pkgs/desktops/arcan/durden/default.nix
index b5fc02127ec..46012d69d2d 100644
--- a/pkgs/desktops/arcan/durden/default.nix
+++ b/pkgs/desktops/arcan/durden/default.nix
@@ -5,15 +5,19 @@
 
 stdenv.mkDerivation rec {
   pname = "durden";
-  version = "0.6.1+date=2021-10-17";
+  version = "0.6.1+date=2022-03-11";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = pname;
-    rev = "5fb8b0f9bc2952ed9cf7dc20a1c5c0cc44c02ff1";
-    hash = "sha256-+EIsrCkMe9MrUQOCh0R+rsDg/Rqs3iQWO0GZCgZQ+No=";
+    rev = "fec2a1051500df28becce188d932645743091efa";
+    hash = "sha256-uZ7oTnkWG3P/4ETgn6MQ9v47mRAJnvyzglQS7jlabPA=";
   };
 
+  dontConfigure = true;
+
+  dontBuild = true;
+
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/desktops/arcan/pipeworld/default.nix b/pkgs/desktops/arcan/pipeworld/default.nix
index fa1a09230d9..09f809aa471 100644
--- a/pkgs/desktops/arcan/pipeworld/default.nix
+++ b/pkgs/desktops/arcan/pipeworld/default.nix
@@ -5,15 +5,19 @@
 
 stdenv.mkDerivation rec {
   pname = "pipeworld";
-  version = "0.pre+date=2021-11-26";
+  version = "0.pre+date=2021-12-03";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = pname;
-    rev = "9f816db154ca5c54af952ad11c2186ccac5bdd2d";
-    hash = "sha256-uwnrRsMP0RLEGr2mEVQ6kEtV/c6t5qSCHY0ynywPzkw=";
+    rev = "c653414670cafb0c73a57492aa3d9510460b16a9";
+    hash = "sha256-XuAsuTC+P6yoNlDnsT2fiWoqKW+1JKc9NF+Vn/ta0pk=";
   };
 
+  dontConfigure = true;
+
+  dontBuild = true;
+
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/desktops/arcan/prio/default.nix b/pkgs/desktops/arcan/prio/default.nix
index 34443baa801..406aea740fc 100644
--- a/pkgs/desktops/arcan/prio/default.nix
+++ b/pkgs/desktops/arcan/prio/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   pname = "prio";
-  version = "0.pre+unstable=2018-09-13";
+  version = "0.pre+date=2018-09-13";
 
   src = fetchFromGitHub {
     owner = "letoram";
@@ -14,6 +14,10 @@ stdenv.mkDerivation rec {
     hash = "sha256-Idv/duEYmDk/rO+TI8n+FY3VFDtUEh8C292jh12BJuM=";
   };
 
+  dontConfigure = true;
+
+  dontBuild = true;
+
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/desktops/arcan/xarcan/default.nix b/pkgs/desktops/arcan/xarcan/default.nix
index d72bf4ad5bb..0668754d6aa 100644
--- a/pkgs/desktops/arcan/xarcan/default.nix
+++ b/pkgs/desktops/arcan/xarcan/default.nix
@@ -38,23 +38,15 @@
 
 stdenv.mkDerivation rec {
   pname = "xarcan";
-  version = "0.6.0+unstable=2021-06-14";
+  version = "0.6.0+date=2021-08-26";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = pname;
-    rev = "98d28a5f2c6860bb191fbc1c9e577c18e4c9a9b7";
-    hash = "sha256-UTIVDKnYD/q0K6G7NJUKh1tHcqnsuiJ/cQxWuPMJ2G4=";
+    rev = "e40f0176e495ffdad6e7405c58378df6532eb70d";
+    hash = "sha256-T+1oL7P5MTDkeSfW6OXc1OgfZ8E6e/4YRonf1eXcfIA=";
   };
 
-  patches = [
-    # fix build with meson 0.60
-    (fetchpatch {
-      url = "https://github.com/letoram/xarcan/commit/b67e514dbb59bffc23b75d47ca7f24e96c4aeb05.patch";
-      sha256 = "sha256-tSQmNy1Id6nDIN+03dc1+rEEF8fMq0yJBiscNM60xic=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -122,6 +114,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.all;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/desktops/gnome/apps/gnome-todo/default.nix b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
index 32a7a2fb343..cdcf0d69a33 100644
--- a/pkgs/desktops/gnome/apps/gnome-todo/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
@@ -27,14 +27,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-todo";
-  version = "unstable-2022-02-01";
+  version = "unstable-2022-03-11";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = "gnome-todo";
-    rev = "2cd071ad35efdef72038730d658f013dd0fc7daa";
-    sha256 = "FMG9ju+LsglAvbBhdgDF+2ZxB633EwnatwCFgW+VOTk=";
+    rev = "07791399742366b4e3a6897430054d91df4594b4";
+    sha256 = "821KgxkkW4T6bdGuttAz9ao/WStM1QEfn4hY/b0d0jI=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/evince/default.nix b/pkgs/desktops/gnome/core/evince/default.nix
index 28406e41284..d7001853fa6 100644
--- a/pkgs/desktops/gnome/core/evince/default.nix
+++ b/pkgs/desktops/gnome/core/evince/default.nix
@@ -49,13 +49,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evince";
-  version = "41.3";
+  version = "41.4";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evince/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "M0awH5vcjy1f/qkvEQoJDGSjYklCtbVDqtRZKp3jO7A=";
+    sha256 = "/yRSQPIwkivsMqTXsKHZGyR6g9E0hPmbdANdUesjITA=";
   };
 
   patches = lib.optionals withPantheon [
@@ -130,6 +130,8 @@ stdenv.mkDerivation rec {
     "-Dps=enabled"
   ] ++ lib.optionals (!withLibsecret) [
     "-Dkeyring=disabled"
+  ] ++ lib.optionals (!supportMultimedia) [
+    "-Dmultimedia=disabled"
   ];
 
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix b/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix
index aae01577a88..b043883a492 100644
--- a/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchpatch
 , substituteAll
 , fetchurl
@@ -70,6 +71,14 @@ stdenv.mkDerivation rec {
     })
 
     # Fix build with new meson
+    # plugins/power/meson.build:78:7: ERROR: Function does not take positional arguments.
+    # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/283
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/commit/afa7e4bb9c519e2daf500a6079088669500768c0.patch";
+      sha256 = "8wxJIKPoZyfs1t0zAsb5SVCdt297NUiGmXIBNI6hbCQ=";
+    })
+    # meson.build:86:3: ERROR: The `==` operator of str does not accept objects of type bool (True)
+    # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/249
     (fetchpatch {
       url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/commit/28e28e9e598342c897ae5ca350d0da6f4aea057b.diff";
       sha256 = "U+suR7wYjLWPqmkJpHm6pPOWL7sjL6GhIFX8MHrBRAY=";
diff --git a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
index 2963f98db40..4a003d6c5ab 100644
--- a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , pkg-config
 , meson
@@ -34,6 +35,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-ooqVNMgeAqGlFcfachPPfhSiKTEEcNGv5oWdM7VLWOc=";
   };
 
+  patches = [
+    # Fix build with vala 0.56
+    # https://github.com/elementary/mail/pull/765
+    (fetchpatch {
+      url = "https://github.com/elementary/mail/commit/c3aa61d226f49147d7685cc00013469ff4df369a.patch";
+      sha256 = "sha256-OxNBGIC1hrEaFSufQ59Wb0AMfdzqPt6diL4g3hbL/Ig=";
+    })
+  ];
+
   nativeBuildInputs = [
     appstream
     desktop-file-utils
diff --git a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
index 1ff9157b301..e5a8523014d 100644
--- a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , meson
 , ninja
@@ -41,6 +42,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-NhF/WgS6IOwgALSCNyFNxz8ROVTb+mUX+lBtnWEyhEI=";
   };
 
+  patches = [
+    # Fix build with vala 0.56
+    # https://github.com/elementary/photos/pull/711
+    (fetchpatch {
+      url = "https://github.com/elementary/photos/commit/6594f1323726fb0d38519a7bdafe16f9170353cb.patch";
+      sha256 = "sha256-Ie9ULC8Xw4KLQJANPXh4LDywMjWfniPX/P76eHW8LHc=";
+    })
+  ];
+
   nativeBuildInputs = [
     appstream
     desktop-file-utils
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index b0e706602b6..44b96e8beb9 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.23.5/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.24.0/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/kdecoration.nix b/pkgs/desktops/plasma-5/kdecoration.nix
index 1427997ee84..86d146c8b41 100644
--- a/pkgs/desktops/plasma-5/kdecoration.nix
+++ b/pkgs/desktops/plasma-5/kdecoration.nix
@@ -1,8 +1,8 @@
-{ mkDerivation, lib, extra-cmake-modules, qtbase, ki18n }:
+{ mkDerivation, lib, extra-cmake-modules, qtbase, ki18n, kcoreaddons }:
 
 mkDerivation {
   pname = "kdecoration";
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ qtbase ki18n ];
+  buildInputs = [ qtbase ki18n kcoreaddons ];
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch b/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
index e6ab62caf71..9bade4eab6a 100644
--- a/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
+++ b/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
@@ -63,11 +63,11 @@ index 0000000..726065d
 +
 +}// namespace
 +
-+#endif // SERVICE_UTILS_H
-diff --git a/src/service_utils.h b/src/service_utils.h
++#endif // NIXOS_UTILS_H
+diff --git a/src/utils/serviceutils.h b/src/utils/serviceutils.h
 index 8a70c1f..475b15d 100644
---- a/src/service_utils.h
-+++ b/src/service_utils.h
+--- a/src/utils/serviceutils.h
++++ b/src/utils/serviceutils.h
 @@ -19,6 +19,7 @@
  #include <QLoggingCategory>
  //KF
diff --git a/pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch
index cda82e08442..ec4a34037dc 100644
--- a/pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch
+++ b/pkgs/desktops/plasma-5/libksysguard/0001-qdiriterator-follow-symlinks.patch
@@ -11,11 +11,10 @@ diff --git a/processui/scripting.cpp b/processui/scripting.cpp
 index efed8ff..841761a 100644
 --- a/processui/scripting.cpp
 +++ b/processui/scripting.cpp
-@@ -167,7 +167,7 @@ void Scripting::loadContextMenu() {
-     QStringList scripts;
+@@ -293,7 +293,7 @@ void Scripting::loadContextMenu()
      const QStringList dirs =
          QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("ksysguard/scripts/"), QStandardPaths::LocateDirectory);
-     Q_FOREACH (const QString &dir, dirs) {
+     for (const QString &dir : dirs) {
 -        QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
 +        QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
          while (it.hasNext()) {
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch b/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
index 508d3949884..e00d8b4a5c9 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
+++ b/pkgs/desktops/plasma-5/plasma-workspace/0001-startkde.patch
@@ -14,33 +14,33 @@ diff --git a/startkde/plasma-session/startup.cpp b/startkde/plasma-session/start
 index 270744053..356160e96 100644
 --- a/startkde/plasma-session/startup.cpp
 +++ b/startkde/plasma-session/startup.cpp
-@@ -143,7 +143,7 @@ Startup::Startup(QObject *parent)
-     const AutoStart autostart;
+@@ -179,7 +179,7 @@ Startup::Startup(QObject *parent)
+     }
  
      // Keep for KF5; remove in KF6 (KInit will be gone then)
 -    QProcess::execute(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit_wrapper"), QStringList());
 +    QProcess::execute(QStringLiteral(NIXPKGS_START_KDEINIT_WRAPPER), QStringList());
  
-     KJob *windowManagerJob = nullptr;
-     if (qEnvironmentVariable("XDG_SESSION_TYPE") != QLatin1String("wayland")) {
-diff --git a/startkde/startplasma-waylandsession.cpp b/startkde/startplasma-waylandsession.cpp
+     KJob *phase1 = nullptr;
+     m_lock.reset(new QEventLoopLocker);
+diff --git a/startkde/startplasma-wayland.cpp b/startkde/startplasma-wayland.cpp
 index 3a054a04f..b2e7ab3fb 100644
---- a/startkde/startplasma-waylandsession.cpp
-+++ b/startkde/startplasma-waylandsession.cpp
-@@ -33,7 +33,7 @@ int main(int argc, char **argv)
-     out << "startplasma-waylandsession: Shutting down...\n";
+--- a/startkde/startplasma-wayland.cpp
++++ b/startkde/startplasma-wayland.cpp
+@@ -91,7 +91,7 @@ int main(int argc, char **argv)
+     out << "startplasma-wayland: Shutting down...\n";
  
      // Keep for KF5; remove in KF6 (KInit will be gone then)
 -    runSync(QStringLiteral("kdeinit5_shutdown"), {});
 +    runSync(QStringLiteral(NIXPKGS_KDEINIT5_SHUTDOWN), {});
  
-     out << "startplasma-waylandsession: Done.\n";
- 
+     out << "startplasmacompositor: Shutting down...\n";
+     cleanupPlasmaEnvironment(oldSystemdEnvironment);
 diff --git a/startkde/startplasma-x11.cpp b/startkde/startplasma-x11.cpp
 index d6b2c5439..534eeb0e5 100644
 --- a/startkde/startplasma-x11.cpp
 +++ b/startkde/startplasma-x11.cpp
-@@ -90,7 +90,7 @@ int main(int argc, char **argv)
+@@ -89,7 +89,7 @@ int main(int argc, char **argv)
      out << "startkde: Shutting down...\n";
  
      // Keep for KF5; remove in KF6 (KInit will be gone then)
@@ -53,7 +53,7 @@ diff --git a/startkde/startplasma.cpp b/startkde/startplasma.cpp
 index 008fdfcaf..72468f21c 100644
 --- a/startkde/startplasma.cpp
 +++ b/startkde/startplasma.cpp
-@@ -39,7 +39,7 @@ QTextStream out(stderr);
+@@ -50,7 +50,7 @@ QTextStream out(stderr);
  void messageBox(const QString &text)
  {
      out << text;
@@ -62,7 +62,7 @@ index 008fdfcaf..72468f21c 100644
  }
  
  QStringList allServices(const QLatin1String &prefix)
-@@ -340,7 +340,7 @@ void setupX11()
+@@ -412,7 +412,7 @@ void setupX11()
      //     If the user has overwritten fonts, the cursor font may be different now
      //     so don't move this up.
  
@@ -70,17 +70,8 @@ index 008fdfcaf..72468f21c 100644
 +    runSync(QStringLiteral(NIXPKGS_XSETROOT), {QStringLiteral("-cursor_name"), QStringLiteral("left_ptr")});
  }
  
- void cleanupPlasmaEnvironment(const std::optional<QStringList> &oldSystemdEnvironment)
-@@ -403,7 +403,7 @@ void setupFontDpi()
-     // TODO port to c++?
-     const QByteArray input = "Xft.dpi: " + QByteArray::number(fontsCfg.readEntry("forceFontDPI", 0));
-     QProcess p;
--    p.start(QStringLiteral("xrdb"), {QStringLiteral("-quiet"), QStringLiteral("-merge"), QStringLiteral("-nocpp")});
-+    p.start(QStringLiteral(NIXPKGS_XRDB), {QStringLiteral("-quiet"), QStringLiteral("-merge"), QStringLiteral("-nocpp")});
-     p.setProcessChannelMode(QProcess::ForwardedChannels);
-     p.write(input);
-     p.closeWriteChannel();
-@@ -425,7 +425,7 @@ QProcess *setupKSplash()
+ void cleanupPlasmaEnvironment(const std::optional<QProcessEnvironment> &oldSystemdEnvironment)
+@@ -500,7 +500,7 @@ QProcess *setupKSplash()
          KConfigGroup ksplashCfg = cfg.group("KSplash");
          if (ksplashCfg.readEntry("Engine", QStringLiteral("KSplashQML")) == QLatin1String("KSplashQML")) {
              p = new QProcess;
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch b/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch
index 633551f6e3c..211316e2473 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch
+++ b/pkgs/desktops/plasma-5/plasma-workspace/0002-absolute-wallpaper-install-dir.patch
@@ -15,8 +15,8 @@ index a560da3..f723c1e 100644
  type=image
  color=#1d99f3
  fontSize=10
--background=${KDE_INSTALL_FULL_WALLPAPERDIR}/Next/contents/images/5120x2880.png
-+background=${NIXPKGS_BREEZE_WALLPAPERS}/Next/contents/images/5120x2880.png
+-background=${KDE_INSTALL_FULL_WALLPAPERDIR}/Next/contents/images/5120x2880.jpg
++background=${NIXPKGS_BREEZE_WALLPAPERS}/Next/contents/images/5120x2880.jpg
  needsFullUserModel=false
 -- 
 2.30.0
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index 9de087f10e8..c5da337d10d 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,427 +4,435 @@
 
 {
   bluedevil = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/bluedevil-5.23.5.tar.xz";
-      sha256 = "1nbnmfdaisqngygyz1478fswsm1xp28v9l78xlw70yvvyjk2kc6v";
-      name = "bluedevil-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/bluedevil-5.24.0.tar.xz";
+      sha256 = "128br83hkxxrb6wca3d1racygdnfgk3r5md1gcjvgwb0gpy6bnzp";
+      name = "bluedevil-5.24.0.tar.xz";
     };
   };
   breeze = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/breeze-5.23.5.tar.xz";
-      sha256 = "1pyw7rhzkbd9kwsm8l7iz867jhwlbmkarc5iihg0bkbcg1ds18ic";
-      name = "breeze-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/breeze-5.24.0.tar.xz";
+      sha256 = "08b3hihz98z7kdybb0y1b74q1dn511ga81qqqxzlfirgpp8c9f9q";
+      name = "breeze-5.24.0.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/breeze-grub-5.23.5.tar.xz";
-      sha256 = "12rm9a3vrmb3sm04l2c4vcj8psfyjxplp9wgh87q3k1rcyqz7fqk";
-      name = "breeze-grub-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/breeze-grub-5.24.0.tar.xz";
+      sha256 = "0p0pzmsd6scssyxcm9n58mp7fc9vz1lg4n7c1ch4bqragih1gnlr";
+      name = "breeze-grub-5.24.0.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/breeze-gtk-5.23.5.tar.xz";
-      sha256 = "1ynbvfgy2nlxg5svjqazj70m7py58ixxa7xyj13dcj6i2ikbcjld";
-      name = "breeze-gtk-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/breeze-gtk-5.24.0.tar.xz";
+      sha256 = "090cczxc1ciic6wghz3p21gpfdwnc8pjcvq6wn7bfkp1i3r5mihp";
+      name = "breeze-gtk-5.24.0.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/breeze-plymouth-5.23.5.tar.xz";
-      sha256 = "1sllcrhz8hniqkgybk5bbb36fzjcdp5drjbf7v7jn4ih4wvybwmk";
-      name = "breeze-plymouth-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/breeze-plymouth-5.24.0.tar.xz";
+      sha256 = "1qqpwgp1yy3p1s0z21xwds6wx4z8daibkgk1bynj73cx7a2wch9g";
+      name = "breeze-plymouth-5.24.0.tar.xz";
     };
   };
   discover = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/discover-5.23.5.tar.xz";
-      sha256 = "1kzp7jpw2kgml2yc3cx9n5syln3kyd9fxa5klh3sa1xn6bz9f8zr";
-      name = "discover-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/discover-5.24.0.tar.xz";
+      sha256 = "0dbfvqana31wqharsbyb8rcrw1w6l9x1g6p02aqwiph0inkrz20q";
+      name = "discover-5.24.0.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/drkonqi-5.23.5.tar.xz";
-      sha256 = "08jjh52r6dmgp7dyxjxvavb4cxhmvzirwdn7hnmfhdbwkm09fqm5";
-      name = "drkonqi-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/drkonqi-5.24.0.tar.xz";
+      sha256 = "1ismgg7rcxijkprn4sci15wn4w2gmdn0fdbgvzxdcrqaf4g6qc3s";
+      name = "drkonqi-5.24.0.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kactivitymanagerd-5.23.5.tar.xz";
-      sha256 = "09v6pia34a694g0amj0miqi0j42yqvhfcv6yr9zfix4gf1qcdidn";
-      name = "kactivitymanagerd-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kactivitymanagerd-5.24.0.tar.xz";
+      sha256 = "12dvgm3ilyqlxzm8209b7g42nfk0ahfzizs3pbmi18zapjszcsps";
+      name = "kactivitymanagerd-5.24.0.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kde-cli-tools-5.23.5.tar.xz";
-      sha256 = "1203z87i4dmhq1vlrfj4kiw157i5zkccd2bwc7p7qwhgbddaw5jd";
-      name = "kde-cli-tools-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kde-cli-tools-5.24.0.tar.xz";
+      sha256 = "0l8a4ysz1cqwdh3c20q51qamwh58vvs8yzb5jdvbp8bahsyyc4mr";
+      name = "kde-cli-tools-5.24.0.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kde-gtk-config-5.23.5.tar.xz";
-      sha256 = "14qqxy2vz9004kfam9biv6q0601sn9yhrkx0i8y0958a58s5z3hp";
-      name = "kde-gtk-config-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kde-gtk-config-5.24.0.tar.xz";
+      sha256 = "024pglycz2kbp9npnvbx5qpkz9381wyyp6xkalqynzr9gy58syrx";
+      name = "kde-gtk-config-5.24.0.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kdecoration-5.23.5.tar.xz";
-      sha256 = "1kqj8l95wy46kfsw3f1crxwba9zwdlbgi7345mamhyks74wj1628";
-      name = "kdecoration-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kdecoration-5.24.0.tar.xz";
+      sha256 = "0xl8892w49z11k9mxgh7lp8a4l1x8wldmaij82kd1vnh9sxvb3f3";
+      name = "kdecoration-5.24.0.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kdeplasma-addons-5.23.5.tar.xz";
-      sha256 = "0cq0g8nqrkwv12010rsrmzqvxsa5arjpa87gvws8pah3v9k1xnkq";
-      name = "kdeplasma-addons-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kdeplasma-addons-5.24.0.tar.xz";
+      sha256 = "0q8yf0gz4gjn1kyf545i8fpsn2dpy48qhjpm8ssp3ywv6s2abjxn";
+      name = "kdeplasma-addons-5.24.0.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kgamma5-5.23.5.tar.xz";
-      sha256 = "17j0kv00ibs2g9jxfvflk965221iznm0ydgj3i05i6j2bd8301zn";
-      name = "kgamma5-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kgamma5-5.24.0.tar.xz";
+      sha256 = "07w7l25snpi98j5bxg3zri5lsymabnli6h9d5w0qx0c19wzjwayl";
+      name = "kgamma5-5.24.0.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/khotkeys-5.23.5.tar.xz";
-      sha256 = "13562p0bv0jkamx9q07wi5vs78bdrhd0h3qg5rxajc5s36gyh63a";
-      name = "khotkeys-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/khotkeys-5.24.0.tar.xz";
+      sha256 = "0gjdwdzg5vybalima8jnwrprqj0rnxmzds0x8w707nb9ypz4k7k6";
+      name = "khotkeys-5.24.0.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kinfocenter-5.23.5.tar.xz";
-      sha256 = "0f7ik3gg1pimjlc94dp6psk0sha8k7pinx50nvmgsglap4k1xbk7";
-      name = "kinfocenter-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kinfocenter-5.24.0.tar.xz";
+      sha256 = "09fq69q4300ppi1y9pp8s4h1bbai1p5qsz384bb445pjvwsyn6nf";
+      name = "kinfocenter-5.24.0.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kmenuedit-5.23.5.tar.xz";
-      sha256 = "0k3dbip98zwia6m8nlgiw4mz09pkw7bik4cn3j73v2x3n7y3c542";
-      name = "kmenuedit-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kmenuedit-5.24.0.tar.xz";
+      sha256 = "0bjiqdw4wqi5vpkn98wjjz23x6k47lvxac8nyxs8ddd9i8mlklij";
+      name = "kmenuedit-5.24.0.tar.xz";
     };
   };
   kscreen = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kscreen-5.23.5.tar.xz";
-      sha256 = "0j5rgzj132j7qy1pgi12mhihf1a89a3xh8j5f7dp5s1f8kyjq0yi";
-      name = "kscreen-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kscreen-5.24.0.tar.xz";
+      sha256 = "19kqvvgj209ri035ldzn1k5l36l54rvagsnfzhw61v8rd9r6r02x";
+      name = "kscreen-5.24.0.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kscreenlocker-5.23.5.tar.xz";
-      sha256 = "07vhwvcyz9ynjzh44zny1f6di2knzy3fkiji3bhrki8p3zc9vjpm";
-      name = "kscreenlocker-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kscreenlocker-5.24.0.tar.xz";
+      sha256 = "0d827h5br27sdd925brljb1mwnkzj739g5q0k8xkw9f9q9bxk8l8";
+      name = "kscreenlocker-5.24.0.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/ksshaskpass-5.23.5.tar.xz";
-      sha256 = "0p8aka60mc8p96v3bx954jy99n9lf0a4b09sig307clwinfr23if";
-      name = "ksshaskpass-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/ksshaskpass-5.24.0.tar.xz";
+      sha256 = "1xiw25imhmkcikp746q9s393djmkdpkh9jb7h1diwwhambnimy6d";
+      name = "ksshaskpass-5.24.0.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/ksystemstats-5.23.5.tar.xz";
-      sha256 = "1xmr0yk5xynja6z7xc6l1zd529q5si5qs71f72dba2zna22hb7hb";
-      name = "ksystemstats-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/ksystemstats-5.24.0.tar.xz";
+      sha256 = "1182dfcg1av9329g9p9ll64yiwyxm46kczakxb3vj4d2ajaclzm1";
+      name = "ksystemstats-5.24.0.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kwallet-pam-5.23.5.tar.xz";
-      sha256 = "1cha41wiqsfgyrqb8di5qnnz0mnvmchprxay48czrn3r5mz49pw9";
-      name = "kwallet-pam-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kwallet-pam-5.24.0.tar.xz";
+      sha256 = "0jzi2rcwxxjp3lg8cywp96ysnwm51a0m9pdwk8z7n3v1ncr2p38q";
+      name = "kwallet-pam-5.24.0.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kwayland-integration-5.23.5.tar.xz";
-      sha256 = "0gs68v4rriknn59fv0yjcgrmcryv7wxgskswdgi1xx18v0rlc4ag";
-      name = "kwayland-integration-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kwayland-integration-5.24.0.tar.xz";
+      sha256 = "1yq9cjb8xcvqr747p5hm8xxg4rn6mahchd5c2camv3qrjbqm8ll6";
+      name = "kwayland-integration-5.24.0.tar.xz";
     };
   };
   kwayland-server = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kwayland-server-5.23.5.tar.xz";
-      sha256 = "0b8c1mkh36cgxhx18v9j23n9gnvzy22x50gpiw3dbkjzsmr1n7by";
-      name = "kwayland-server-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kwayland-server-5.24.0.tar.xz";
+      sha256 = "1zbi4c14zvjwkxxqlg80mv749ybnkmcdvn72irmrzbbf4g1z7k32";
+      name = "kwayland-server-5.24.0.tar.xz";
     };
   };
   kwin = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kwin-5.23.5.tar.xz";
-      sha256 = "00azqmdgkh72bg4d8868cin984vxxk6s6pk5x4dfvlaknzlyfjgp";
-      name = "kwin-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kwin-5.24.0.tar.xz";
+      sha256 = "19q5pphqnr1xc1c4z0sd3yr60jsiq190llwllfmlj4acjlbcbbn6";
+      name = "kwin-5.24.0.tar.xz";
     };
   };
   kwrited = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/kwrited-5.23.5.tar.xz";
-      sha256 = "0aj911kfzd100jq1k1sg7i1nhiixnl7qiphc2bczn47f1jj64iqv";
-      name = "kwrited-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/kwrited-5.24.0.tar.xz";
+      sha256 = "018wvkkqzg4qyjd0w1h2d3ms72ghlq8mg79rrsj518l7hhlv6rsg";
+      name = "kwrited-5.24.0.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/layer-shell-qt-5.23.5.tar.xz";
-      sha256 = "1ah66z9hiricw6h3j7x2k7d49y7g4l2s9w2658wjrava2qng9bsr";
-      name = "layer-shell-qt-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/layer-shell-qt-5.24.0.tar.xz";
+      sha256 = "0y3z2xr9vpxnm84gs1zpa1apma341wza7pjcpwibaqd6aiz9vpqv";
+      name = "layer-shell-qt-5.24.0.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/libkscreen-5.23.5.tar.xz";
-      sha256 = "08wgg96clp685fl5lflrfd4kmf5c2p5ms7n1q2izvg0n6qr37m1i";
-      name = "libkscreen-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/libkscreen-5.24.0.tar.xz";
+      sha256 = "0h6sycib940gbw2rf6ax3v7mg77pzga36xzwzbyz9h49fba3dpjk";
+      name = "libkscreen-5.24.0.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/libksysguard-5.23.5.tar.xz";
-      sha256 = "1gy1grkkz7vwglby52vv4gr8zbzsv8rbvwbp6rqvvhmqg7ascc1h";
-      name = "libksysguard-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/libksysguard-5.24.0.tar.xz";
+      sha256 = "1f0hwk2kzmgpjxmsjfd4g25sr91qyazp4hysyfjdhrrs2ajdkm0b";
+      name = "libksysguard-5.24.0.tar.xz";
     };
   };
   milou = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/milou-5.23.5.tar.xz";
-      sha256 = "05bc6hc5pn5rz4zp6b2akjdbssv7xppvzsw3pidkqb8pincl01gh";
-      name = "milou-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/milou-5.24.0.tar.xz";
+      sha256 = "0sxsisrzfancxwk8lsxhj2b85sgjdb9gzy4l0nax4fp942ygiirs";
+      name = "milou-5.24.0.tar.xz";
     };
   };
   oxygen = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/oxygen-5.23.5.tar.xz";
-      sha256 = "1vvy9yqllqq9dx2riwv4bmxfq13wph5wagy84f1hhl7zxnbcyv0c";
-      name = "oxygen-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/oxygen-5.24.0.tar.xz";
+      sha256 = "0ym74q29c2f32l1xm3kd0s2p7zzbg6a96g7d39fkp5paxicx5fb7";
+      name = "oxygen-5.24.0.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-browser-integration-5.23.5.tar.xz";
-      sha256 = "0jw9jircgbilig4pryyjxhby8qc7nag9a1s5nk1zdsnlaqr08jyp";
-      name = "plasma-browser-integration-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-browser-integration-5.24.0.tar.xz";
+      sha256 = "1gp9m7drwxflb0ms0vbvk7qydm1bghhzalc00lpcjh4nrf0bgh33";
+      name = "plasma-browser-integration-5.24.0.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-desktop-5.23.5.tar.xz";
-      sha256 = "0ym8cssw351ygw2vy27cyxql05y0gaflnqnq4fwkdgidldvmi45k";
-      name = "plasma-desktop-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-desktop-5.24.0.tar.xz";
+      sha256 = "1brnm6yivjy2piy88ncmclv4g2rxkaiyi923c557dmiipah2bx7z";
+      name = "plasma-desktop-5.24.0.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-disks-5.23.5.tar.xz";
-      sha256 = "0197zyj5p7j8y80g0vvf5d9bq86qxkhwpa9dzb5l3is50y8lkj6p";
-      name = "plasma-disks-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-disks-5.24.0.tar.xz";
+      sha256 = "1c3pwnyhdmj7grk3gjh4kw5437m5cxhp70qsbhnfsaacps3mdv5d";
+      name = "plasma-disks-5.24.0.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-firewall-5.23.5.tar.xz";
-      sha256 = "0fhycjrb89blh6wf24rvq7bafqqrxj37ir0daj5jlph9f1w4laq0";
-      name = "plasma-firewall-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-firewall-5.24.0.tar.xz";
+      sha256 = "1jjw414547qksjxg2x5n666iq6qildbn9k9c8hqipmwnlkprpbb1";
+      name = "plasma-firewall-5.24.0.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-integration-5.23.5.tar.xz";
-      sha256 = "03c0cqvr5cdpvxgm145sqpbbr8wv0qv4pqjl69v3bs010pd755lg";
-      name = "plasma-integration-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-integration-5.24.0.tar.xz";
+      sha256 = "17dqf6j1za3q8hzk7jfc5wc7s4kr28slrkq5iqvzqgyqjqy3z7rv";
+      name = "plasma-integration-5.24.0.tar.xz";
+    };
+  };
+  plasma-mobile = {
+    version = "5.24.0";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.24.0/plasma-mobile-5.24.0.tar.xz";
+      sha256 = "0g9mbb8dzqcngc1sq43knwyc3kr81w3vl359wyrgvnr8r1qikv2z";
+      name = "plasma-mobile-5.24.0.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-nano-5.23.5.tar.xz";
-      sha256 = "1yh67bh1smk7zx35hd72pafjbjdv7wwwhm76ga5sj251m61ncxim";
-      name = "plasma-nano-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-nano-5.24.0.tar.xz";
+      sha256 = "0i8lsp83g2i3c88djkmxawwbwa6lr0w89lzxj73fr6az6vdcrypj";
+      name = "plasma-nano-5.24.0.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-nm-5.23.5.tar.xz";
-      sha256 = "14sknzy4v4xx1ihjn1s6x0lv5difnp4gi24zsdqvnkxkmxzhcij3";
-      name = "plasma-nm-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-nm-5.24.0.tar.xz";
+      sha256 = "17pmyklmr46qg21w4ql9q5nhfdjw1xmmv1qz7lyhlww7qa6mz1ny";
+      name = "plasma-nm-5.24.0.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-pa-5.23.5.tar.xz";
-      sha256 = "1pcnf59qj7rgmcbc5xhad5zl487r48i2kyp6nc3yrlgj1xcfpfxg";
-      name = "plasma-pa-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-pa-5.24.0.tar.xz";
+      sha256 = "19n2plbk455qwgq0lcpb7rj2ck78ck64fpvlldmh53j9vxyzcasl";
+      name = "plasma-pa-5.24.0.tar.xz";
     };
   };
   plasma-phone-components = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-phone-components-5.23.5.tar.xz";
-      sha256 = "08c03pycvv7ald21d8ckxpv6d25qlxs28gjm99hdn6x8m74j7frn";
-      name = "plasma-phone-components-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-phone-components-5.24.0.tar.xz";
+      sha256 = "0g9mbb8dzqcngc1sq43knwyc3kr81w3vl359wyrgvnr8r1qikv2z";
+      name = "plasma-phone-components-5.24.0.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-sdk-5.23.5.tar.xz";
-      sha256 = "1s0l09lgqipks0w0jplaaipcs4a1ny4iclkz9hkfx4xjgcvk5m2j";
-      name = "plasma-sdk-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-sdk-5.24.0.tar.xz";
+      sha256 = "16fn98rv4qaci3b5whzjs6csbbxyrnmnr9gngn5dirdpla8cffld";
+      name = "plasma-sdk-5.24.0.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-systemmonitor-5.23.5.tar.xz";
-      sha256 = "1snzabxgja9rsk000h97qjadb9fs8zdbqpr4zqa9sk0jjgm011lf";
-      name = "plasma-systemmonitor-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-systemmonitor-5.24.0.tar.xz";
+      sha256 = "0zkvbgwm2rpyisbx72a75ywy45d2primjjpnmw76x6924j8sp7pd";
+      name = "plasma-systemmonitor-5.24.0.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-tests-5.23.5.tar.xz";
-      sha256 = "125b0sf7h0ibjl7msw1sc3cccms8nrrkx6cgwd46a9xi5svrsfg2";
-      name = "plasma-tests-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-tests-5.24.0.tar.xz";
+      sha256 = "1q95mrrb0p9ah4dg3bhkc9yh2ydasdmyd87jclraybcsfl6fi9kf";
+      name = "plasma-tests-5.24.0.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-thunderbolt-5.23.5.tar.xz";
-      sha256 = "1ich92w479llvq1vjlfyvxh3dvqc4pgycfi97hz4sfhn7dnaw3vr";
-      name = "plasma-thunderbolt-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-thunderbolt-5.24.0.tar.xz";
+      sha256 = "1vsb3wf2sgbfbm2wk8kj18qhv4z9l4yzxaf8g30zpz4d1sva7jdc";
+      name = "plasma-thunderbolt-5.24.0.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-vault-5.23.5.tar.xz";
-      sha256 = "1gf531q29qnvvsdxqgb1zyxwh5ck25kb0h1kk0d95pjkkylgyv0d";
-      name = "plasma-vault-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-vault-5.24.0.tar.xz";
+      sha256 = "1vk38iarhsr6rdrmhbcyjziw3dn8yjmgyn4dy2xdr0l4yqpq7qzz";
+      name = "plasma-vault-5.24.0.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-workspace-5.23.5.tar.xz";
-      sha256 = "0x950nb56xmmdf7hfpbrd9hvgq1a8vca0x8g1qsvrjhh5ymydgif";
-      name = "plasma-workspace-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-workspace-5.24.0.tar.xz";
+      sha256 = "0jnksl2i2viw5aaqv38b371z4lxrxah6p1bjp40a1zfa68vr8dz3";
+      name = "plasma-workspace-5.24.0.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plasma-workspace-wallpapers-5.23.5.tar.xz";
-      sha256 = "0nr631yz8v671a87vh9f2a5kfjhn4f9147b339p09fwgfpx06vfx";
-      name = "plasma-workspace-wallpapers-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plasma-workspace-wallpapers-5.24.0.tar.xz";
+      sha256 = "0329ks3q32nb9k3dxddlmxccjilgyxx5jplwbpln5b0p4plkn77k";
+      name = "plasma-workspace-wallpapers-5.24.0.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/plymouth-kcm-5.23.5.tar.xz";
-      sha256 = "0ynyqfm6az8yj3d30yxza5mjcsgfw6mmdkcgr3v95r6db112hqbx";
-      name = "plymouth-kcm-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/plymouth-kcm-5.24.0.tar.xz";
+      sha256 = "1pcvfrv8vmk43s14209iv8gngi3al9g4za74yz2l79nxscyppzh5";
+      name = "plymouth-kcm-5.24.0.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.23.5";
+    version = "1-5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/polkit-kde-agent-1-5.23.5.tar.xz";
-      sha256 = "1wgpgbq987qa6fdayw4155fwym6rcn2z7w66s8faqv94x78njzln";
-      name = "polkit-kde-agent-1-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/polkit-kde-agent-1-5.24.0.tar.xz";
+      sha256 = "1qayxff5hl8qr9p5bsfrq0cz3x1jlwc8f0nx66rkbngphdm7085n";
+      name = "polkit-kde-agent-1-5.24.0.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/powerdevil-5.23.5.tar.xz";
-      sha256 = "1lxjqd4w3jvnffcn9751j9k1fzsyasd1z8b1gm2iaf38iys21116";
-      name = "powerdevil-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/powerdevil-5.24.0.tar.xz";
+      sha256 = "06mrahlrqibvgfhcxywh72h6jblqq6sjsxqjzbq7zbq61vgc3jg3";
+      name = "powerdevil-5.24.0.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/qqc2-breeze-style-5.23.5.tar.xz";
-      sha256 = "15i9h2md54a1h7isvma4x9pni3iy0bk84z8ibn3a36ydimyq5hra";
-      name = "qqc2-breeze-style-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/qqc2-breeze-style-5.24.0.tar.xz";
+      sha256 = "11kwrqsq5i1y1kvhg75hvax7bz122cjdsvb66f6hvni09yfcgyci";
+      name = "qqc2-breeze-style-5.24.0.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/sddm-kcm-5.23.5.tar.xz";
-      sha256 = "0csj1gml8w29dzv62zpbia9g10qz5k1nzv1yywsvay1q8rbqccxv";
-      name = "sddm-kcm-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/sddm-kcm-5.24.0.tar.xz";
+      sha256 = "011b68vca8nnmj9rxlyl5gl3xrrbysmcrx8szyfhha0wl9rgy2hx";
+      name = "sddm-kcm-5.24.0.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/systemsettings-5.23.5.tar.xz";
-      sha256 = "0shsqancxbxy6f4fd9m2a30x7gnjmd6gb8kq4nhlj6rramcwn3jh";
-      name = "systemsettings-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/systemsettings-5.24.0.tar.xz";
+      sha256 = "1jx1kllfd5561fq11d90r7m68736rsdlyzb109yq8awdwrl1vkp3";
+      name = "systemsettings-5.24.0.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.23.5";
+    version = "5.24.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.23.5/xdg-desktop-portal-kde-5.23.5.tar.xz";
-      sha256 = "09s3fpjdrnxqvnyxmxva0rx612d6pxv28qqvm00hzrb23nxz6qgb";
-      name = "xdg-desktop-portal-kde-5.23.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.0/xdg-desktop-portal-kde-5.24.0.tar.xz";
+      sha256 = "0f5wv4557avzcn7gf2hjqpn2p9r0d16k1iqcijzcfdmnvh2cp69d";
+      name = "xdg-desktop-portal-kde-5.24.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/compilers/4th/001-install-manual-fixup.diff b/pkgs/development/compilers/4th/001-install-manual-fixup.diff
new file mode 100644
index 00000000000..6002e7a0d99
--- /dev/null
+++ b/pkgs/development/compilers/4th/001-install-manual-fixup.diff
@@ -0,0 +1,12 @@
+diff -Naur 4th-3.64.0-old/sources/Makefile 4th-3.64.0-new/sources/Makefile
+--- 4th-3.64.0-old/sources/Makefile	2022-03-15 12:37:45.925122854 -0300
++++ 4th-3.64.0-new/sources/Makefile	2022-03-15 12:38:50.987870211 -0300
+@@ -125,7 +125,7 @@
+ 
+ install: mostlyinstall
+ 	install -Dm644 ../documentation/4th.1 $(MANDIR)/man1/4th.1
+-	install -Dm644 ../documentation/4tHmanual.txt $(DOCDIR)/4th/
++	install -Dm644 ../documentation/4tHmanual.pdf $(DOCDIR)/4th/
+ 
+ uninstall:
+ 	-rm -f $(LIBRARIES)/lib4th.{a,so*}
diff --git a/pkgs/development/compilers/4th/default.nix b/pkgs/development/compilers/4th/default.nix
index a8923879c06..d76a5cc733c 100644
--- a/pkgs/development/compilers/4th/default.nix
+++ b/pkgs/development/compilers/4th/default.nix
@@ -2,13 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "4th";
-  version = "3.62.5";
+  version = "3.64.0";
 
   src = fetchurl {
     url = "https://sourceforge.net/projects/forth-4th/files/${pname}-${version}/${pname}-${version}-unix.tar.gz";
-    sha256 = "sha256-+CL33Yz7CxdEpi1lPG7+kzV4rheJ7GCgiFCaOLyktPw=";
+    hash = "sha256-wJBekjFsFRIkhY/P/yHBQ8he+k+fGyrePGTP2Yjgpqg=";
   };
 
+  patches = [
+    # Fix install manual; report this patch to upstream
+    ./001-install-manual-fixup.diff
+  ];
+
   dontConfigure = true;
 
   makeFlags = [
@@ -31,9 +36,11 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A portable Forth compiler";
     homepage = "https://thebeez.home.xs4all.nl/4tH/index.html";
-    license = licenses.lgpl3;
-    platforms = platforms.all;
+    description = "A portable Forth compiler";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
   };
 }
+# TODO: set Makefile according to platform
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index 4ac820b7e01..280e0fdd230 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -33,6 +33,7 @@ let
     i686-linux = "linux-i686";
     x86_64-darwin = "darwin-x86_64";
     aarch64-darwin = "darwin-universal";
+    aarch64-linux = "linux-aarch64";
   };
 
   arch = archs.${stdenv.system} or (throw "system ${stdenv.system} not supported");
@@ -40,13 +41,19 @@ let
 
   checkInputs = [ git gmp openssl readline libxml2 libyaml ];
 
+  binaryUrl = version: rel:
+    if arch == archs.aarch64-linux then
+      "https://dev.alpinelinux.org/archive/crystal/crystal-${version}-aarch64-alpine-linux-musl.tar.gz"
+    else
+      "https://github.com/crystal-lang/crystal/releases/download/${version}/crystal-${version}-${toString rel}-${arch}.tar.gz";
+
   genericBinary = { version, sha256s, rel ? 1 }:
     stdenv.mkDerivation rec {
       pname = "crystal-binary";
       inherit version;
 
       src = fetchurl {
-        url = "https://github.com/crystal-lang/crystal/releases/download/${version}/crystal-${version}-${toString rel}-${arch}.tar.gz";
+        url = binaryUrl version rel;
         sha256 = sha256s.${stdenv.system};
       };
 
@@ -225,6 +232,7 @@ rec {
       x86_64-linux = "1949argajiyqyq09824yj3wjyv88gd8wbf20xh895saqfykiq880";
       i686-linux = "0w0f4fwr2ijhx59i7ppicbh05hfmq7vffmgl7lal6im945m29vch";
       x86_64-darwin = "01n0rf8zh551vv8wq3h0ifnsai0fz9a77yq87xx81y9dscl9h099";
+      aarch64-linux = "0sns7l4q3z82qi3dc2r4p63f4s8hvifqzgq56ykwyrvawynjhd53";
     };
   };
 
diff --git a/pkgs/development/compilers/cudatoolkit/common.nix b/pkgs/development/compilers/cudatoolkit/common.nix
index f408d7b3312..46832e1cc2d 100644
--- a/pkgs/development/compilers/cudatoolkit/common.nix
+++ b/pkgs/development/compilers/cudatoolkit/common.nix
@@ -61,8 +61,6 @@ stdenv.mkDerivation rec {
     gtk2 glib fontconfig freetype unixODBC alsa-lib
   ];
 
-  rpath = "${lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64";
-
   unpackPhase = ''
     sh $src --keep --noexec
 
@@ -119,6 +117,12 @@ stdenv.mkDerivation rec {
         fi
       done
       mv pkg/builds/cuda_nvcc/nvvm $out/nvvm
+
+      mv pkg/builds/cuda_sanitizer_api $out/cuda_sanitizer_api
+      ln -s $out/cuda_sanitizer_api/compute-sanitizer/compute-sanitizer $out/bin/compute-sanitizer
+
+      mv pkg/builds/nsight_systems/target-linux-x64 $out/target-linux-x64
+      mv pkg/builds/nsight_systems/host-linux-x64 $out/host-linux-x64
     ''}
 
     rm -f $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
@@ -184,22 +188,35 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  preFixup = ''
-    while IFS= read -r -d ''$'\0' i; do
-      if ! isELF "$i"; then continue; fi
-      echo "patching $i..."
-      if [[ ! $i =~ \.so ]]; then
-        patchelf \
-          --set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i
-      fi
-      if [[ $i =~ libcudart ]]; then
-        patchelf --remove-rpath $i
-      else
-        rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
-        patchelf --set-rpath "$rpath2" --force-rpath $i
-      fi
-    done < <(find $out $lib $doc -type f -print0)
-  '';
+  preFixup =
+    let rpath = lib.concatStringsSep ":" [
+      (lib.makeLibraryPath (runtimeDependencies ++ [ "$lib" "$out" "$out/nvvm" ]))
+      "${stdenv.cc.cc.lib}/lib64"
+      "$out/jre/lib/amd64/jli"
+      "$out/lib64"
+      "$out/nvvm/lib64"
+    ];
+    in
+    ''
+      while IFS= read -r -d $'\0' i; do
+        if ! isELF "$i"; then continue; fi
+        echo "patching $i..."
+        if [[ ! $i =~ \.so ]]; then
+          patchelf \
+            --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $i
+        fi
+        if [[ $i =~ libcudart ]]; then
+          patchelf --remove-rpath $i
+        else
+          patchelf --set-rpath "${rpath}" --force-rpath $i
+        fi
+      done < <(find $out $lib $doc -type f -print0)
+    '' + lib.optionalString (lib.versionAtLeast version "11") ''
+      for file in $out/target-linux-x64/*.so; do
+        echo "patching $file..."
+        patchelf --set-rpath "${rpath}:\$ORIGIN" $file
+      done
+    '';
 
   # Set RPATH so that libcuda and other libraries in
   # /run/opengl-driver(-32)/lib can be found. See the explanation in
@@ -208,6 +225,10 @@ stdenv.mkDerivation rec {
   # --force-rpath prevents changing RPATH (set above) to RUNPATH.
   postFixup = ''
     addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so
+  '' + lib.optionalString (lib.versionAtLeast version "11") ''
+    addOpenGLRunpath $out/cuda_sanitizer_api/compute-sanitizer/*
+    addOpenGLRunpath $out/cuda_sanitizer_api/compute-sanitizer/x86/*
+    addOpenGLRunpath $out/target-linux-x64/*
   '';
 
   # cuda-gdb doesn't run correctly when not using sandboxing, so
diff --git a/pkgs/development/compilers/dictu/default.nix b/pkgs/development/compilers/dictu/default.nix
index 8ff6a5120f7..94871fd7d7c 100644
--- a/pkgs/development/compilers/dictu/default.nix
+++ b/pkgs/development/compilers/dictu/default.nix
@@ -13,13 +13,13 @@ assert enableLTO -> stdenv.cc.isGNU;
 
 stdenv.mkDerivation rec {
   pname = "dictu";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "dictu-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-K/RbkRK8nCkmaNwWplWe2nWtULhn/GCNPXYStfMeUPg=";
+    sha256 = "sha256-EYoLEyK8jh4z3/9aMuUBt0pCwks7NIevsK2mOh8x6bQ=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/compilers/dotnet/build-dotnet.nix b/pkgs/development/compilers/dotnet/build-dotnet.nix
index 55deb594706..4c2464f8eee 100644
--- a/pkgs/development/compilers/dotnet/build-dotnet.nix
+++ b/pkgs/development/compilers/dotnet/build-dotnet.nix
@@ -90,7 +90,10 @@ in stdenv.mkDerivation rec {
   '';
 
   setupHook = writeText "dotnet-setup-hook" ''
-    export HOME=$(mktemp -d) # Dotnet expects a writable home directory for its configuration files
+    if [ ! -w "$HOME" ]; then
+      export HOME=$(mktemp -d) # Dotnet expects a writable home directory for its configuration files
+    fi
+
     export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 # Dont try to expand NuGetFallbackFolder to disk
     export DOTNET_NOLOGO=1 # Disables the welcome message
     export DOTNET_CLI_TELEMETRY_OPTOUT=1
diff --git a/pkgs/development/compilers/fasm/bin.nix b/pkgs/development/compilers/fasm/bin.nix
index 9f4263b08ed..d9f809c0a0a 100644
--- a/pkgs/development/compilers/fasm/bin.nix
+++ b/pkgs/development/compilers/fasm/bin.nix
@@ -3,11 +3,11 @@
 stdenvNoCC.mkDerivation rec {
   pname = "fasm-bin";
 
-  version = "1.73.29";
+  version = "1.73.30";
 
   src = fetchurl {
     url = "https://flatassembler.net/fasm-${version}.tgz";
-    sha256 = "sha256-Yyj02DRo9wTkJ01ukOwElHr1ZyZFPOMTibwyAkqYISs=";
+    sha256 = "sha256-dRlQUaWIHbu+DwQBFh6Tf4o2u0LTRw/Ehp2hT9LC8QE=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/compilers/go/1.16.nix b/pkgs/development/compilers/go/1.16.nix
index c30abc44fe2..add1e70bbe3 100644
--- a/pkgs/development/compilers/go/1.16.nix
+++ b/pkgs/development/compilers/go/1.16.nix
@@ -45,7 +45,8 @@ let
     "riscv64" = "riscv64";
     "s390x" = "s390x";
     "powerpc64le" = "ppc64le";
-  }.${platform.parsed.cpu.name} or (throw "Unsupported system");
+    "mips64el" = "mips64le";
+  }.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}");
 
   # We need a target compiler which is still runnable at build time,
   # to handle the cross-building case where build != host == target
@@ -168,6 +169,7 @@ stdenv.mkDerivation rec {
     ./creds-test.patch
     ./go-1.9-skip-flaky-19608.patch
     ./go-1.9-skip-flaky-20072.patch
+    ./skip-chown-tests-1.16.patch
     ./skip-external-network-tests-1.16.patch
     ./skip-nohup-tests.patch
     ./skip-cgo-tests-1.15.patch
diff --git a/pkgs/development/compilers/go/1.17.nix b/pkgs/development/compilers/go/1.17.nix
index 4b2a3d39a98..69537dc899e 100644
--- a/pkgs/development/compilers/go/1.17.nix
+++ b/pkgs/development/compilers/go/1.17.nix
@@ -45,7 +45,8 @@ let
     "riscv64" = "riscv64";
     "s390x" = "s390x";
     "powerpc64le" = "ppc64le";
-  }.${platform.parsed.cpu.name} or (throw "Unsupported system");
+    "mips64el" = "mips64le";
+  }.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}");
 
   # We need a target compiler which is still runnable at build time,
   # to handle the cross-building case where build != host == target
@@ -168,6 +169,7 @@ stdenv.mkDerivation rec {
     ./creds-test.patch
     ./go-1.9-skip-flaky-19608.patch
     ./go-1.9-skip-flaky-20072.patch
+    ./skip-chown-tests-1.16.patch
     ./skip-external-network-tests-1.16.patch
     ./skip-nohup-tests.patch
     ./skip-cgo-tests-1.15.patch
diff --git a/pkgs/development/compilers/go/1.18.nix b/pkgs/development/compilers/go/1.18.nix
index 17c31051999..a4cb013d94f 100644
--- a/pkgs/development/compilers/go/1.18.nix
+++ b/pkgs/development/compilers/go/1.18.nix
@@ -45,7 +45,8 @@ let
     "riscv64" = "riscv64";
     "s390x" = "s390x";
     "powerpc64le" = "ppc64le";
-  }.${platform.parsed.cpu.name} or (throw "Unsupported system");
+    "mips64el" = "mips64le";
+  }.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}");
 
   # We need a target compiler which is still runnable at build time,
   # to handle the cross-building case where build != host == target
@@ -54,11 +55,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.18rc1";
+  version = "1.18";
 
   src = fetchurl {
     url = "https://go.dev/dl/go${version}.src.tar.gz";
-    sha256 = "sha256-XOx6ZlMAj6hfiCGzNmXeN74om3oC8X829wWojEOYC7g=";
+    sha256 = "sha256-OPQj20zINIg/K1I0QoL6ejn7uTZQ3GKhH98L5kCb2tY=";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/compilers/llvm/13/clang/add-nostdlibinc-flag.patch b/pkgs/development/compilers/llvm/13/clang/add-nostdlibinc-flag.patch
new file mode 100644
index 00000000000..8007ba05f6e
--- /dev/null
+++ b/pkgs/development/compilers/llvm/13/clang/add-nostdlibinc-flag.patch
@@ -0,0 +1,18 @@
+diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp
+index 94a7553e273b..8a1d455950b2 100644
+--- a/lib/Driver/Driver.cpp
++++ b/lib/Driver/Driver.cpp
+@@ -412,6 +412,13 @@ DerivedArgList *Driver::TranslateInputArgs(const InputArgList &Args) const {
+   }
+ #endif
+ 
++  {
++    Arg *A = DAL->MakeFlagArg(/*BaseArg=*/nullptr,
++                              Opts.getOption(options::OPT_nostdlibinc));
++    A->claim();
++    DAL->append(A);
++  }
++
+   return DAL;
+ }
+ 
diff --git a/pkgs/development/compilers/llvm/13/clang/default.nix b/pkgs/development/compilers/llvm/13/clang/default.nix
index 6c227f1ae72..62b9e0470a6 100644
--- a/pkgs/development/compilers/llvm/13/clang/default.nix
+++ b/pkgs/development/compilers/llvm/13/clang/default.nix
@@ -42,6 +42,7 @@ let
       # mis-compilation in firefox.
       # See: https://bugzilla.mozilla.org/show_bug.cgi?id=1741454
       ./revert-malloc-alignment-assumption.patch
+      ./add-nostdlibinc-flag.patch
       (substituteAll {
         src = ../../clang-11-12-LLVMgold-path.patch;
         libllvmLibdir = "${libllvm.lib}/lib";
@@ -51,10 +52,6 @@ let
     postPatch = ''
       (cd tools && ln -s ../../clang-tools-extra extra)
 
-      sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
-             -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
-             lib/Driver/ToolChains/*.cpp
-
       # Patch for standalone doc building
       sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
     '' + lib.optionalString stdenv.hostPlatform.isMusl ''
diff --git a/pkgs/development/compilers/llvm/13/default.nix b/pkgs/development/compilers/llvm/13/default.nix
index be5e9404cdd..874be111ade 100644
--- a/pkgs/development/compilers/llvm/13/default.nix
+++ b/pkgs/development/compilers/llvm/13/default.nix
@@ -18,7 +18,7 @@
 }:
 
 let
-  release_version = "13.0.0";
+  release_version = "13.0.1";
   candidate = ""; # empty or "rcN"
   dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
   rev = ""; # When using a Git commit
@@ -30,7 +30,7 @@ let
     owner = "llvm";
     repo = "llvm-project";
     rev = if rev != "" then rev else "llvmorg-${version}";
-    sha256 = "0cjl0vssi4y2g4nfr710fb6cdhxmn5r0vis15sf088zsc5zydfhw";
+    sha256 = "06dv6h5dmvzdxbif2s8njki6h32796v368dyb5945x8gjj72xh7k";
   };
 
   llvm_meta = {
diff --git a/pkgs/development/compilers/llvm/14/default.nix b/pkgs/development/compilers/llvm/14/default.nix
index 5a91fb17fe6..ce126f7b502 100644
--- a/pkgs/development/compilers/llvm/14/default.nix
+++ b/pkgs/development/compilers/llvm/14/default.nix
@@ -19,7 +19,7 @@
 
 let
   release_version = "14.0.0";
-  candidate = "rc2"; # empty or "rcN"
+  candidate = "rc4"; # empty or "rcN"
   dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
   rev = ""; # When using a Git commit
   rev-version = ""; # When using a Git commit
@@ -30,7 +30,7 @@ let
     owner = "llvm";
     repo = "llvm-project";
     rev = if rev != "" then rev else "llvmorg-${version}";
-    sha256 = "sha256-5wJEaWvwJohtjqlIsBkqQ5rE6rcWw07MaQnN1RxPb5w=";
+    sha256 = "0xm3hscg6xv48rjdi7sg9ky960af1qyg5k3jyavnaqimlaj9wxgp";
   };
 
   llvm_meta = {
diff --git a/pkgs/development/compilers/llvm/14/llvm/default.nix b/pkgs/development/compilers/llvm/14/llvm/default.nix
index d2059cc66ba..05aac728b45 100644
--- a/pkgs/development/compilers/llvm/14/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/14/llvm/default.nix
@@ -209,6 +209,9 @@ in stdenv.mkDerivation (rec {
 
   checkTarget = "check-all";
 
+  # For the update script:
+  passthru.monorepoSrc = monorepoSrc;
+
   requiredSystemFeatures = [ "big-parallel" ];
   meta = llvm_meta // {
     homepage = "https://llvm.org/";
diff --git a/pkgs/development/compilers/llvm/update.sh b/pkgs/development/compilers/llvm/update.sh
index 603c603f275..95ad356dbd9 100755
--- a/pkgs/development/compilers/llvm/update.sh
+++ b/pkgs/development/compilers/llvm/update.sh
@@ -20,7 +20,11 @@ sed -Ei \
 
 readonly ATTRSET="llvmPackages_$VERSION_MAJOR"
 
-if [ "$VERSION_MAJOR" -ge "13" ]; then
+if [ "$VERSION_MAJOR" -ge "14" ]; then
+  readonly SOURCES=(
+    "llvm.monorepoSrc"
+  )
+elif [ "$VERSION_MAJOR" -eq "13" ]; then
   readonly SOURCES=(
     "llvm.src"
   )
@@ -43,7 +47,7 @@ fi
 for SOURCE in "${SOURCES[@]}"; do
   echo "Updating the hash of $SOURCE:"
   declare ATTR="$ATTRSET.$SOURCE"
-  declare OLD_HASH="$(nix eval -f . $ATTR.outputHash)"
+  declare OLD_HASH="$(nix --extra-experimental-features nix-command eval -f . $ATTR.outputHash)"
   declare NEW_HASH="\"$(nix-prefetch-url -A $ATTR)\""
   find "$DIR" -type f -exec sed -i "s/$OLD_HASH/$NEW_HASH/" {} +
 done
diff --git a/pkgs/development/compilers/ocaml/4.12.nix b/pkgs/development/compilers/ocaml/4.12.nix
index 0662e66e0b6..4be2bcf5f9d 100644
--- a/pkgs/development/compilers/ocaml/4.12.nix
+++ b/pkgs/development/compilers/ocaml/4.12.nix
@@ -1,6 +1,6 @@
 import ./generic.nix {
   major_version = "4";
   minor_version = "12";
-  patch_version = "0";
-  sha256 = "1hxy349jfa2vkfgmxf6pvd9w4z5bmcgsg0fxfdabcghyvjw9vvir";
+  patch_version = "1";
+  sha256 = "1jbjjnmqq6ymsy81x188i256bz4z5jrz1pws8g1qf59c32ganjkf";
 }
diff --git a/pkgs/development/compilers/ocaml/4.14.nix b/pkgs/development/compilers/ocaml/4.14.nix
new file mode 100644
index 00000000000..96e1c13d285
--- /dev/null
+++ b/pkgs/development/compilers/ocaml/4.14.nix
@@ -0,0 +1,9 @@
+import ./generic.nix {
+  major_version = "4";
+  minor_version = "14";
+  patch_version = "0-beta1";
+  src = fetchTarball {
+    url = "https://caml.inria.fr/pub/distrib/ocaml-4.14/ocaml-4.14.0~beta1.tar.xz";
+    sha256 = "0jiz20hb58jbbk8j38agx11ra4hg0v3prmzc5a9j70lm09mnzfcd";
+  };
+}
diff --git a/pkgs/development/compilers/open-watcom/v2.nix b/pkgs/development/compilers/open-watcom/v2.nix
index b521aaef106..dc2af6e7835 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-02-22";
+  version = "unstable-2022-03-14";
   name = "${pname}-unwrapped-${version}";
 
   src = fetchFromGitHub {
     owner = "open-watcom";
     repo = "open-watcom-v2";
-    rev = "9e25b3d6b8066f09b4f7131a31de1cf2af691e9a";
-    sha256 = "1w336070kmhc6cmn2aqr8vm0fmw3yza2n0w4asvs2kqxjgmbn6i2";
+    rev = "22627ccc1bd3de70aff9ac056e0dc9ecf7f7b6ec";
+    sha256 = "khy/fhmQjTGKfx6iOUBt+ySwpEx0df/7meyNvBnJAPY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/compilers/qbe/default.nix b/pkgs/development/compilers/qbe/default.nix
index 52397f78b8a..80182fc9de6 100644
--- a/pkgs/development/compilers/qbe/default.nix
+++ b/pkgs/development/compilers/qbe/default.nix
@@ -6,12 +6,12 @@
 
 stdenv.mkDerivation rec {
   pname = "qbe";
-  version = "unstable-2021-12-05";
+  version = "unstable-2022-03-17";
 
   src = fetchgit {
     url = "git://c9x.me/qbe.git";
-    rev = "367c8215d99054892740ad74c690b106c45ebf60";
-    sha256 = "sha256-xhTEiFR1RXMHtxmXlRof3O8monXEjstyWP3GClZmMuU=";
+    rev = "c6b41eb8c8cece8266b2173a83216e1ce77eb2be";
+    sha256 = "sha256-vpNZNED+C9VMzWyyyntQuBgTvbpZpJ/EwOztdOEP7vI=";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/development/compilers/rust/print-hashes.sh b/pkgs/development/compilers/rust/print-hashes.sh
index ebf8d900bb3..dd2c116a341 100755
--- a/pkgs/development/compilers/rust/print-hashes.sh
+++ b/pkgs/development/compilers/rust/print-hashes.sh
@@ -19,6 +19,7 @@ PLATFORMS=(
   aarch64-apple-darwin
   powerpc64le-unknown-linux-gnu
   riscv64gc-unknown-linux-gnu
+  mips64el-unknown-linux-gnuabi64
 )
 BASEURL=https://static.rust-lang.org/dist
 VERSION=${1:-}
diff --git a/pkgs/development/compilers/sdcc/default.nix b/pkgs/development/compilers/sdcc/default.nix
index 28a461b0988..8f6bc5e6dac 100644
--- a/pkgs/development/compilers/sdcc/default.nix
+++ b/pkgs/development/compilers/sdcc/default.nix
@@ -10,11 +10,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sdcc";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2";
-    sha256 = "0gskzli17ghnn5qllvn4d56qf9bvvclqjh63nnj63p52smvggvc1";
+    sha256 = "sha256-tJuuHSO81gV6gsT/5WE/nNDLz9HpQOnYTEv+nfCowFM=";
   };
 
   buildInputs = [ boost gputils texinfo zlib ];
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 1dc910c6222..72512a1202f 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -90,8 +90,8 @@ in rec {
   };
 
   vala_0_54 = generic {
-    version = "0.54.6";
-    sha256 = "SdYNlqP99sQoc5dEK8bW2Vv0CqffZ47kkSjEsRum5Gk=";
+    version = "0.54.7";
+    sha256 = "Ygecof8C5dF65yqppa3GGuav3P67DZ8GBjo2776soMc=";
   };
 
   vala = vala_0_54;
diff --git a/pkgs/development/dotnet-modules/python-language-server/default.nix b/pkgs/development/dotnet-modules/python-language-server/default.nix
index 420475806a0..a433840b7bc 100644
--- a/pkgs/development/dotnet-modules/python-language-server/default.nix
+++ b/pkgs/development/dotnet-modules/python-language-server/default.nix
@@ -10,13 +10,13 @@
 
 buildDotnetModule rec {
   pname = "python-language-server";
-  version = "2021-09-08";
+  version = "2022-02-18";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "python-language-server";
-    rev = "26ea18997f45f7d7bc5a3c5a9efc723a8dbb02fa";
-    sha256 = "1m8pf9k20wy4fzv27v3bswvc8s01ag6ka2qm9nn6bgq0s0lq78mh";
+    rev = "52c1afd34b5acb0b44597bb8681232876fe94084";
+    sha256 = "05s8mwi3dqzjghgpr1mfs1b7cgrq818bbj1v7aly6axc8c2n4gny";
   };
 
   projectFile = "src/LanguageServer/Impl/Microsoft.Python.LanguageServer.csproj";
diff --git a/pkgs/development/embedded/stm32/stm32cubemx/default.nix b/pkgs/development/embedded/stm32/stm32cubemx/default.nix
index 7c0b1802bac..e6ead8dd372 100644
--- a/pkgs/development/embedded/stm32/stm32cubemx/default.nix
+++ b/pkgs/development/embedded/stm32/stm32cubemx/default.nix
@@ -9,11 +9,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "stm32cubemx";
-  version = "6.4.0";
+  version = "6.5.0";
 
   src = fetchzip {
     url = "https://sw-center.st.com/packs/resource/library/stm32cube_mx_v${builtins.replaceStrings ["."] [""] version}-lin.zip";
-    sha256 = "sha256-5qotjAyaNFtYUjHlNKwywmBJGAzS/IM9bF+dmONE4bk=";
+    sha256 = "sha256-19RG+bJCmkaytMtDpDLbDvfKo27Z+Mo/sOrs8lOVV44=";
     stripRoot = false;
   };
 
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index b3cac2e3973..038060a2136 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -3703,7 +3703,6 @@ broken-packages:
   - persistent-discover
   - persistent-documentation
   - persistent-equivalence
-  - persistent-migration
   - persistent-mongoDB
   - persistent-mysql-haskell
   - persistent-odbc
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index c8893a751fd..b93dcb18344 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -163,6 +163,7 @@ self: super: builtins.intersectAttrs super {
   network-transport-tcp = dontCheck super.network-transport-tcp;
   network-transport-zeromq = dontCheck super.network-transport-zeromq; # https://github.com/tweag/network-transport-zeromq/issues/30
   oidc-client = dontCheck super.oidc-client;            # the spec runs openid against google.com
+  persistent-migration = dontCheck super.persistent-migration; # spec requires pg_ctl binary
   pipes-mongodb = dontCheck super.pipes-mongodb;        # http://hydra.cryp.to/build/926195/log/raw
   pixiv = dontCheck super.pixiv;
   raven-haskell = dontCheck super.raven-haskell;        # http://hydra.cryp.to/build/502053/log/raw
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 2e08662a9de..f0e6c84e6bc 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -211081,8 +211081,6 @@ self: {
        ];
        description = "Manual migrations for the persistent library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "persistent-mongoDB" = callPackage
diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix
index 4aead5d1880..e06f9d30d2d 100644
--- a/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -24,8 +24,6 @@ self: super: {
 
   nix-linter = self.callPackage ../../development/tools/analysis/nix-linter { };
 
-  nix-output-monitor = self.callPackage ../../tools/nix/nix-output-monitor { };
-
   # hasura graphql-engine is not released to hackage.
   # https://github.com/hasura/graphql-engine/issues/7391
   ci-info = self.callPackage ../misc/haskell/hasura/ci-info.nix {};
diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix
index ce15fe4c5af..c3dcd0a0f71 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.7.7";
+  version = "0.7.8";
 
   src = fetchurl {
     url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-4aYYm2gCtfp+OiY6ouaTn4giHbX6JyULBHMpDnGMpbs=";
+    sha256 = "sha256-VbDivl92YYWzIbkbOgDijzf9bZ5ZyodcapPPG4EiGXc=";
   };
 
   executable = "bb";
diff --git a/pkgs/development/interpreters/guile/2.2.nix b/pkgs/development/interpreters/guile/2.2.nix
index 19ef0e60848..04c60e80e8f 100644
--- a/pkgs/development/interpreters/guile/2.2.nix
+++ b/pkgs/development/interpreters/guile/2.2.nix
@@ -83,9 +83,9 @@ builder rec {
   # Explicitly link against libgcc_s, to work around the infamous
   # "libgcc_s.so.1 must be installed for pthread_cancel to work".
 
-  # don't have "libgcc_s.so.1" on darwin
+  # don't have "libgcc_s.so.1" on clang
   LDFLAGS = lib.optionalString
-    (!stdenv.isDarwin && !stdenv.hostPlatform.isStatic) "-lgcc_s";
+    (stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) "-lgcc_s";
 
   configureFlags = [
     "--with-libreadline-prefix=${lib.getDev readline}"
diff --git a/pkgs/development/interpreters/guile/3.0.nix b/pkgs/development/interpreters/guile/3.0.nix
index 76aa0c4404f..d0f5aa5573b 100644
--- a/pkgs/development/interpreters/guile/3.0.nix
+++ b/pkgs/development/interpreters/guile/3.0.nix
@@ -14,6 +14,7 @@
 , pkg-config
 , pkgsBuildBuild
 , readline
+, writeScript
 }:
 
 let
@@ -24,11 +25,11 @@ let
 in
 builder rec {
   pname = "guile";
-  version = "3.0.7";
+  version = "3.0.8";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-9X2GxwYgJxv863qb4MgXRKAz8IrcfOuoMsmRerPmkbc=";
+    sha256 = "sha256-2qcGClbygE6bdMjX5/6L7tErQ6qyeJo4WFGD/MF7ihM=";
   };
 
   outputs = [ "out" "dev" "info" ];
@@ -81,9 +82,9 @@ builder rec {
   # Explicitly link against libgcc_s, to work around the infamous
   # "libgcc_s.so.1 must be installed for pthread_cancel to work".
 
-  # don't have "libgcc_s.so.1" on darwin
+  # don't have "libgcc_s.so.1" on clang
   LDFLAGS = lib.optionalString
-    (!stdenv.isDarwin && !stdenv.hostPlatform.isStatic) "-lgcc_s";
+    (stdenv.cc.isGNU && !stdenv.hostPlatform.isStatic) "-lgcc_s";
 
   configureFlags = [
     "--with-libreadline-prefix=${lib.getDev readline}"
@@ -102,7 +103,10 @@ builder rec {
   ]
   # Disable JIT on Apple Silicon, as it is not yet supported
   # https://debbugs.gnu.org/cgi/bugreport.cgi?bug=44505";
-  ++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) "--enable-jit=no";
+  ++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) "--enable-jit=no"
+  # At least on x86_64-darwin '-flto' autodetection is not correct:
+  #  https://github.com/NixOS/nixpkgs/pull/160051#issuecomment-1046193028
+  ++ lib.optional (stdenv.isDarwin) "--disable-lto";
 
   postInstall = ''
     wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
@@ -126,6 +130,20 @@ builder rec {
 
   setupHook = ./setup-hook-3.0.sh;
 
+  passthru = {
+    updateScript = writeScript "update-guile-3" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p curl pcre common-updater-scripts
+
+      set -eu -o pipefail
+
+      # Expect the text in format of '"https://ftp.gnu.org/gnu/guile/guile-3.0.8.tar.gz"'
+      new_version="$(curl -s https://www.gnu.org/software/guile/download/ |
+          pcregrep -o1 '"https://ftp.gnu.org/gnu/guile/guile-(3[.0-9]+).tar.gz"')"
+      update-source-version guile_3_0 "$new_version"
+    '';
+  };
+
   meta = with lib; {
     homepage = "https://www.gnu.org/software/guile/";
     description = "Embeddable Scheme implementation";
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 1bcbd2bb4b5..02ecf8d25b1 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -191,7 +191,6 @@ in with passthru; stdenv.mkDerivation {
 
   prePatch = optionalString stdenv.isDarwin ''
     substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
-    substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
   '' + optionalString (pythonOlder "3.9" && stdenv.isDarwin && x11Support) ''
     # Broken on >= 3.9; replaced with ./3.9/darwin-tcl-tk.patch
     substituteInPlace setup.py --replace /Library/Frameworks /no-such-path
@@ -342,8 +341,6 @@ in with passthru; stdenv.mkDerivation {
       substituteInPlace ./setup.py --replace $i /no-such-path
     done
   '' + optionalString stdenv.isDarwin ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
-    export MACOSX_DEPLOYMENT_TARGET=10.6
     # Override the auto-detection in setup.py, which assumes a universal build
     export PYTHON_DECIMAL_WITH_MACHINE=${if stdenv.isAarch64 then "uint128" else "x64"}
   '' + optionalString (isPy3k && pythonOlder "3.7") ''
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 6bee51f6423..579e3a05c58 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -120,15 +120,6 @@ with pkgs;
   };
 
   sources = {
-    python38 = {
-      sourceVersion = {
-        major = "3";
-        minor = "8";
-        patch = "12";
-        suffix = "";
-      };
-      sha256 = "1si8hw2xpagh4iji89zdx69p3dv5mjqwwbx2x2sl6lrp41jaglxi";
-    };
     python39 = {
       sourceVersion = {
         major = "3";
@@ -169,19 +160,26 @@ in {
     sourceVersion = {
       major = "3";
       minor = "7";
-      patch = "12";
+      patch = "13";
       suffix = "";
     };
-    sha256 = "041jqjl5wf7gsw84zd3jgvg91skq20l2fy5zbhz237w38zxzfyzp";
+    sha256 = "sha256-mfEGJ134iZw+jLnXwBzmhsIC7ydZUzAUJxlGk95b74Q=";
     inherit (darwin) configd;
     inherit passthruFun;
   };
 
-  python38 = callPackage ./cpython ({
+  python38 = callPackage ./cpython {
     self = python38;
+    sourceVersion = {
+      major = "3";
+      minor = "8";
+      patch = "13";
+      suffix = "";
+    };
+    sha256 = "sha256-bzCQdwEgQKo5/o8MYduMD6HEUTZ2MpnTdcnldW8Jz1c=";
     inherit (darwin) configd;
     inherit passthruFun;
-  } // sources.python38);
+  };
 
   python39 = callPackage ./cpython ({
     self = python39;
@@ -201,9 +199,9 @@ in {
       major = "3";
       minor = "11";
       patch = "0";
-      suffix = "a4";
+      suffix = "a6";
     };
-    sha256 = "sha256-Q3/nN2w2Pa+vNM6A8ERrQfyaQsDiqMflGdPwoLfPs+0=";
+    sha256 = "sha256-HFOi/3WHljPjDKwp0qpregEONVuV8L+axpG+zPX50So=";
     inherit (darwin) configd;
     inherit passthruFun;
   };
@@ -282,9 +280,9 @@ in {
     sourceVersion = {
       major = "7";
       minor = "3";
-      patch = "6";
+      patch = "8";
     };
-    sha256 = "sha256-ghJ/Q/rmznXUfWxFOfjB6jcunC2/pA+ui1g1HVInk6Q="; # linux64
+    sha256 = "0h493q0lhpz035afi4g09f4mz5a72vqx4sa7qcry5z4zagxq8bhz"; # linux64
     pythonVersion = "2.7";
     inherit passthruFun;
   };
diff --git a/pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix b/pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix
index 460af1cc67b..877a00efa48 100644
--- a/pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix
+++ b/pkgs/development/interpreters/python/pypy/prebuilt_2_7.nix
@@ -7,7 +7,6 @@
 # Dependencies
 , bzip2
 , zlib
-, openssl_1_0_2
 , expat
 , ncurses6
 , tcl-8_5
@@ -50,7 +49,6 @@ let
   deps = [
     bzip2
     zlib
-    openssl_1_0_2
     expat
     ncurses6
     tcl-8_5
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index c676a7b05e5..ea31f354d0d 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -268,10 +268,10 @@ in {
   };
 
   ruby_3_1 = generic {
-    version = rubyVersion "3" "1" "0" "";
+    version = rubyVersion "3" "1" "1" "";
     sha256 = {
-      src = "sha256-UKBQTG7ctNYc5rjP292qlXBxlfqw7Ne16SZUsqlBKFQ=";
-      git = "sha256-TcsoWY+zVZeue1/ypV1L0WERp1UVK35WtVtYPYiJh4c=";
+      src = "sha256-/m5Hgt6XRDl43bqLpL440iKqJNw+PwKmqOdwHA7rYZ0=";
+      git = "sha256-76t/tGyK5nz7nvcRdHJTjjckU+Kv+/kbTMiNWJ93jU8=";
     };
   };
 }
diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix
index 2e51670a9f8..b76dc1a23b1 100644
--- a/pkgs/development/interpreters/ruby/patchsets.nix
+++ b/pkgs/development/interpreters/ruby/patchsets.nix
@@ -10,6 +10,6 @@
     "${patchSet}/patches/ruby/3.0/head/railsexpress/01-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/3.0/head/railsexpress/02-malloc-trim.patch"
   ];
-  "3.1.0" = ops useRailsExpress [ # no patches yet (2021-12-25)
+  "3.1.1" = ops useRailsExpress [ # no patches yet (2021-12-25)
   ];
 }
diff --git a/pkgs/development/interpreters/spidermonkey/91.nix b/pkgs/development/interpreters/spidermonkey/91.nix
index 6be61a1210b..811a0247a57 100644
--- a/pkgs/development/interpreters/spidermonkey/91.nix
+++ b/pkgs/development/interpreters/spidermonkey/91.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "spidermonkey";
-  version = "91.6.0";
+  version = "91.7.0";
 
   src = fetchurl {
     url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
-    sha512 = "3dd1929f93cdd087a93fc3597f32d9005c986b59832954e01a8c2472b179c92ad611eaa73d3fc000a08b838a0b70da73ff5ba82d6009160655ba6894cf04520e";
+    sha512 = "925811989d8a91d826ba356bd46ac54be8153288ec0319c28d2bfbe89191e62e107691159dd7ca247253e2a4952eb59a5b9613e3feea3f5351238d4822e26301";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch b/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch
deleted file mode 100644
index 1be600bedb3..00000000000
--- a/pkgs/development/libraries/SDL2/Fix-build-against-wayland-1.20.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From a31d1f1683ef2e9c063c3fa1db79d111cca99414 Mon Sep 17 00:00:00 2001
-From: David Redondo <kde@david-redondo.de>
-Date: Fri, 10 Dec 2021 16:22:34 +0100
-Subject: [PATCH] Fix build against wayland 1.20
-
-Fixes #5088
-
-(cherry picked from commit e2ade2bfc46d915cd306c63c830b81d800b2575f)
----
- src/video/wayland/SDL_waylanddyn.h | 2 ++
- src/video/wayland/SDL_waylandsym.h | 4 ++++
- 2 files changed, 6 insertions(+)
-
-diff --git a/src/video/wayland/SDL_waylanddyn.h b/src/video/wayland/SDL_waylanddyn.h
-index 485a9c19f..37070e946 100644
---- a/src/video/wayland/SDL_waylanddyn.h
-+++ b/src/video/wayland/SDL_waylanddyn.h
-@@ -81,6 +81,8 @@ void SDL_WAYLAND_UnloadSymbols(void);
- #define wl_proxy_add_listener (*WAYLAND_wl_proxy_add_listener)
- #define wl_proxy_marshal_constructor (*WAYLAND_wl_proxy_marshal_constructor)
- #define wl_proxy_marshal_constructor_versioned (*WAYLAND_wl_proxy_marshal_constructor_versioned)
-+#define wl_proxy_marshal_flags (*WAYLAND_wl_proxy_marshal_flags)
-+#define wl_proxy_marshal_array_flags (*WAYLAND_wl_proxy_marshal_array_flags)
-
- #define wl_seat_interface (*WAYLAND_wl_seat_interface)
- #define wl_surface_interface (*WAYLAND_wl_surface_interface)
-diff --git a/src/video/wayland/SDL_waylandsym.h b/src/video/wayland/SDL_waylandsym.h
-index c4c189d3c..789f49e27 100644
---- a/src/video/wayland/SDL_waylandsym.h
-+++ b/src/video/wayland/SDL_waylandsym.h
-@@ -71,6 +71,10 @@ SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_marshal_constructor, (struct wl_prox
- SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_10)
- SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_marshal_constructor_versioned, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interface, uint32_t version, ...))
-
-+SDL_WAYLAND_MODULE(WAYLAND_CLIENT_1_20)
-+SDL_WAYLAND_SYM(struct wl_proxy*, wl_proxy_marshal_flags, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interfac, uint32_t version, uint32_t flags, ...))
-+SDL_WAYLAND_SYM(struct wl_proxy*, wl_proxy_marshal_array_flags, (struct wl_proxy *proxy, uint32_t opcode, const struct wl_interface *interface, uint32_t version,  uint32_t flags, union wl_argument *args))
-+
- SDL_WAYLAND_INTERFACE(wl_seat_interface)
- SDL_WAYLAND_INTERFACE(wl_surface_interface)
- SDL_WAYLAND_INTERFACE(wl_shm_pool_interface)
---
-2.33.1
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index 95022211d2f..d1086de3718 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -1,20 +1,50 @@
-{ lib, stdenv, config, fetchurl, pkg-config
+{ lib
+, stdenv
+, config
+, fetchurl
+, pkg-config
 , libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, openglSupport ? libGLSupported, libGL
-, alsaSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, alsa-lib
+, openglSupport ? libGLSupported
+, libGL
+, alsaSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
+, alsa-lib
 , x11Support ? !stdenv.targetPlatform.isWindows && !stdenv.hostPlatform.isAndroid
-, libX11, xorgproto, libICE, libXi, libXScrnSaver, libXcursor
-, libXinerama, libXext, libXxf86vm, libXrandr
+, libX11
+, xorgproto
+, libICE
+, libXi
+, libXScrnSaver
+, libXcursor
+, libXinerama
+, libXext
+, libXxf86vm
+, libXrandr
 , waylandSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
-, wayland, wayland-protocols, libxkbcommon
-, dbusSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, dbus
-, udevSupport ? false, udev
-, ibusSupport ? false, ibus
-, fcitxSupport ? false, fcitx
+, wayland
+, wayland-protocols
+, libxkbcommon
+, dbusSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
+, dbus
+, udevSupport ? false
+, udev
+, ibusSupport ? false
+, ibus
+, fcitxSupport ? false
+, fcitx
+, libdecorSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
+, libdecor
+, pipewireSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
+, pipewire # NOTE: must be built with SDL2 without pipewire support
 , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid
 , libpulseaudio
-, AudioUnit, Cocoa, CoreAudio, CoreServices, ForceFeedback, OpenGL
-, audiofile, libiconv
+, AudioUnit
+, Cocoa
+, CoreAudio
+, CoreServices
+, ForceFeedback
+, OpenGL
+, audiofile
+, libiconv
 , withStatic ? false
 }:
 
@@ -25,32 +55,16 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "SDL2";
-  version = "2.0.14";
+  version = "2.0.20";
 
   src = fetchurl {
     url = "https://www.libsdl.org/release/${pname}-${version}.tar.gz";
-    sha256 = "1g1jahknv5r4yhh1xq5sf0md20ybdw1zh1i15lry26sq39bmn8fq";
+    sha256 = "sha256-xWq6HXtbDn6Znkp2mMcLY6M5T/lwS19uHFfgwW8E3QY=";
   };
   dontDisableStatic = withStatic;
   outputs = [ "out" "dev" ];
   outputBin = "dev"; # sdl-config
 
-  patches = [
-    ./find-headers.patch
-    # To fix the build with wayland 1.20.0:
-    ./Fix-build-against-wayland-1.20.patch
-  ];
-
-  # Fix with mesa 19.2: https://bugzilla.libsdl.org/show_bug.cgi?id=4797
-  postPatch = ''
-    substituteInPlace include/SDL_opengl_glext.h \
-      --replace "typedef ptrdiff_t GLsizeiptr;" "typedef signed long int khronos_ssize_t; typedef khronos_ssize_t GLsizeiptr;" \
-      --replace "typedef ptrdiff_t GLintptr;" "typedef signed long int khronos_intptr_t; typedef khronos_intptr_t GLintptr;"
-
-    substituteInPlace configure \
-      --replace 'WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`' 'WAYLAND_SCANNER=`pkg-config --variable=wayland_scanner wayland-scanner`'
-  '';
-
   depsBuildBuild = [ pkg-config ];
 
   nativeBuildInputs = [ pkg-config ] ++ optionals waylandSupport [ wayland ];
@@ -63,18 +77,19 @@ stdenv.mkDerivation rec {
     # Propagated for #include <X11/Xlib.h> and <X11/Xatom.h> in SDL_syswm.h.
     ++ optionals x11Support [ libX11 xorgproto ];
 
-  dlopenBuildInputs = [ ]
-    ++ optionals  alsaSupport [ alsa-lib audiofile ]
-    ++ optional  dbusSupport dbus
-    ++ optional  pulseaudioSupport libpulseaudio
-    ++ optional  udevSupport udev
+  dlopenBuildInputs = optionals alsaSupport [ alsa-lib audiofile ]
+    ++ optional dbusSupport dbus
+    ++ optional libdecorSupport libdecor
+    ++ optional pipewireSupport pipewire
+    ++ optional pulseaudioSupport libpulseaudio
+    ++ optional udevSupport udev
     ++ optionals waylandSupport [ wayland wayland-protocols libxkbcommon ]
     ++ optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ];
 
   buildInputs = [ libiconv ]
     ++ dlopenBuildInputs
-    ++ optional  ibusSupport ibus
-    ++ optional  fcitxSupport fcitx
+    ++ optional ibusSupport ibus
+    ++ optional fcitxSupport fcitx
     ++ optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ];
 
   enableParallelBuilding = true;
@@ -82,9 +97,9 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--disable-oss"
   ] ++ optional (!x11Support) "--without-x"
-    ++ optional alsaSupport "--with-alsa-prefix=${alsa-lib.out}/lib"
-    ++ optional stdenv.targetPlatform.isWindows "--disable-video-opengles"
-    ++ optional stdenv.isDarwin "--disable-sdltest";
+  ++ optional alsaSupport "--with-alsa-prefix=${alsa-lib.out}/lib"
+  ++ optional stdenv.targetPlatform.isWindows "--disable-video-opengles"
+  ++ optional stdenv.isDarwin "--disable-sdltest";
 
   # We remove libtool .la files when static libs are requested,
   # because they make the builds of downstream libs like `SDL_tff`
@@ -117,15 +132,17 @@ stdenv.mkDerivation rec {
   #
   # You can grep SDL sources with `grep -rE 'SDL_(NAME|.*_SYM)'` to
   # list the symbols used in this way.
-  postFixup = let
-    rpath = makeLibraryPath (dlopenPropagatedBuildInputs ++ dlopenBuildInputs);
-  in optionalString (stdenv.hostPlatform.extensions.sharedLibrary == ".so") ''
-    for lib in $out/lib/*.so* ; do
-      if ! [[ -L "$lib" ]]; then
-        patchelf --set-rpath "$(patchelf --print-rpath $lib):${rpath}" "$lib"
-      fi
-    done
-  '';
+  postFixup =
+    let
+      rpath = makeLibraryPath (dlopenPropagatedBuildInputs ++ dlopenBuildInputs);
+    in
+    optionalString (stdenv.hostPlatform.extensions.sharedLibrary == ".so") ''
+      for lib in $out/lib/*.so* ; do
+        if ! [[ -L "$lib" ]]; then
+          patchelf --set-rpath "$(patchelf --print-rpath $lib):${rpath}" "$lib"
+        fi
+      done
+    '';
 
   setupHook = ./setup-hook.sh;
 
diff --git a/pkgs/development/libraries/SDL2/find-headers.patch b/pkgs/development/libraries/SDL2/find-headers.patch
deleted file mode 100644
index a2e0c483703..00000000000
--- a/pkgs/development/libraries/SDL2/find-headers.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -ru3 SDL2-2.0.14/sdl2-config.cmake.in SDL2-2.0.14-new/sdl2-config.cmake.in
---- SDL2-2.0.14/sdl2-config.cmake.in	2020-12-21 18:44:36.000000000 +0100
-+++ SDL2-2.0.14-new/sdl2-config.cmake.in	2021-01-16 23:53:40.721121792 +0100
-@@ -6,7 +6,8 @@
- set(SDL2_PREFIX "@prefix@")
- set(SDL2_EXEC_PREFIX "@prefix@")
- set(SDL2_LIBDIR "@libdir@")
--set(SDL2_INCLUDE_DIRS "@includedir@/SDL2")
-+set(SDL2_INCLUDE_DIRS "@includedir@/SDL2" $ENV{SDL2_PATH})
-+separate_arguments(SDL2_INCLUDE_DIRS)
- set(SDL2_LIBRARIES "-L${SDL2_LIBDIR} @SDL_RLD_FLAGS@ @SDL_LIBS@")
- string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES)
- 
-@@ -20,14 +21,14 @@
- 
-   add_library(SDL2::SDL2 SHARED IMPORTED)
-   set_target_properties(SDL2::SDL2 PROPERTIES
--    INTERFACE_INCLUDE_DIRECTORIES "@includedir@/SDL2"
-+    INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}"
-     IMPORTED_LINK_INTERFACE_LANGUAGES "C"
-     IMPORTED_LOCATION "@libdir@/${CMAKE_SHARED_LIBRARY_PREFIX}SDL2${CMAKE_SHARED_LIBRARY_SUFFIX}"
-     INTERFACE_LINK_LIBRARIES "${SDL2_EXTRA_LINK_FLAGS}")
- 
-   add_library(SDL2::SDL2-static STATIC IMPORTED)
-   set_target_properties(SDL2::SDL2-static PROPERTIES
--    INTERFACE_INCLUDE_DIRECTORIES "@includedir@/SDL2"
-+    INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}"
-     IMPORTED_LINK_INTERFACE_LANGUAGES "C"
-     IMPORTED_LOCATION "@libdir@/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2${CMAKE_STATIC_LIBRARY_SUFFIX}"
-     INTERFACE_LINK_LIBRARIES "${SDL2_EXTRA_LINK_FLAGS_STATIC}")
-diff -ru3 SDL2-2.0.14/sdl2-config.in SDL2-2.0.14-new/sdl2-config.in
---- SDL2-2.0.14/sdl2-config.in	2020-12-21 18:44:36.000000000 +0100
-+++ SDL2-2.0.14-new/sdl2-config.in	2021-01-16 23:57:11.940353171 +0100
-@@ -42,7 +42,11 @@
-       echo @SDL_VERSION@
-       ;;
-     --cflags)
--      echo -I@includedir@/SDL2 @SDL_CFLAGS@
-+      SDL_CFLAGS=""
-+      for i in @includedir@/SDL2 $SDL2_PATH; do
-+        SDL_CFLAGS="$SDL_CFLAGS -I$i"
-+      done
-+      echo $SDL_CFLAGS @SDL_CFLAGS@
-       ;;
- @ENABLE_SHARED_TRUE@    --libs)
- @ENABLE_SHARED_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix
index 616ad5b0c89..d0ef2e65c59 100644
--- a/pkgs/development/libraries/audio/lv2/default.nix
+++ b/pkgs/development/libraries/audio/lv2/default.nix
@@ -1,24 +1,50 @@
-{ lib, stdenv, fetchurl, gtk2, libsndfile, pkg-config, python3, wafHook }:
+{ stdenv
+, lib
+, fetchurl
+, libsndfile
+, pkg-config
+, python3
+, wafHook
+, pipewire
+}:
 
 stdenv.mkDerivation rec {
   pname = "lv2";
   version = "1.18.2";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "https://lv2plug.in/spec/${pname}-${version}.tar.bz2";
     sha256 = "sha256-TokfvHRMBYVb6136gugisUkX3Wbpj4K4Iw29HHqy4F4=";
   };
 
-  nativeBuildInputs = [ pkg-config wafHook ];
-  buildInputs = [ gtk2 libsndfile python3 ];
+  nativeBuildInputs = [
+    pkg-config
+    wafHook
+  ];
+
+  buildInputs = [
+    libsndfile
+    python3
+  ];
 
-  wafConfigureFlags = lib.optionals stdenv.isDarwin [ "--lv2dir=${placeholder "out"}/lib/lv2" ];
+  wafConfigureFlags = [
+    "--includedir=${placeholder "dev"}/include"
+    "--bindir=${placeholder "dev"}/bin"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "--lv2dir=${placeholder "out"}/lib/lv2"
+  ];
+
+  passthru.tests = {
+    inherit pipewire;
+  };
 
   meta = with lib; {
     homepage = "https://lv2plug.in";
     description = "A plugin standard for audio systems";
     license = licenses.mit;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = with maintainers; [ goibhniu ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/aws-checksums/default.nix b/pkgs/development/libraries/aws-checksums/default.nix
index 9042dc56154..058e4ea6a5f 100644
--- a/pkgs/development/libraries/aws-checksums/default.nix
+++ b/pkgs/development/libraries/aws-checksums/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-checksums";
-  version = "0.1.11";
+  version = "0.1.12";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fXu7GI2UR9QiBGP2n2pEFRjz9ZwA+BAK9zxhNnoYWt4=";
+    sha256 = "sha256-k3hIGk92HncRAktpuvNcZnaBZiLj63/wQBz2WScUjhQ=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 49069303570..bad87fba8c6 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -127,7 +127,14 @@ stdenv.mkDerivation {
     extraPrefix = "libs/context/";
   })
   ++ optional (and (versionAtLeast version "1.70") (!versionAtLeast version "1.73")) ./cmake-paths.patch
-  ++ optional (versionAtLeast version "1.73") ./cmake-paths-173.patch;
+  ++ optional (versionAtLeast version "1.73") ./cmake-paths-173.patch
+  ++ optional (version == "1.77.0") (fetchpatch {
+    url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch";
+    sha256 = "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4=";
+    stripLen = 2;
+    extraPrefix = "";
+    includes = [ "boost/math/special_functions/detail/bernoulli_details.hpp" ];
+  });
 
   meta = {
     homepage = "http://boost.org/";
diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix
index 47e9ffa925a..4a482c9da45 100644
--- a/pkgs/development/libraries/cimg/default.nix
+++ b/pkgs/development/libraries/cimg/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cimg";
-  version = "3.0.0";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "dtschump";
     repo = "CImg";
     rev = "v.${version}";
-    hash = "sha256-dC4VuWTz0uyFxLjBQ+2ggndHaCErcoI7tJMfkqbWmeg=";
+    hash = "sha256-OWpztnyVXCg+uoAb6e/2eUK2ebBalDlz6Qcjf17IeMk=";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/development/libraries/civetweb/0001-allow-setting-paths-in-makefile.patch b/pkgs/development/libraries/civetweb/0001-allow-setting-paths-in-makefile.patch
deleted file mode 100644
index 8a14fb3a5fa..00000000000
--- a/pkgs/development/libraries/civetweb/0001-allow-setting-paths-in-makefile.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -u a/Makefile b/Makefile
---- a/Makefile	2020-12-27 18:48:53.934098765 +0100
-+++ b/Makefile	2020-12-27 18:50:44.022674117 +0100
-@@ -19,13 +19,13 @@
- # http://www.gnu.org/prep/standards/html_node/Directory-Variables.html
- PREFIX ?= /usr/local
- EXEC_PREFIX = $(PREFIX)
--BINDIR = $(EXEC_PREFIX)/bin
-+BINDIR ?= $(EXEC_PREFIX)/bin
- DATAROOTDIR = $(PREFIX)/share
- DOCDIR = $(DATAROOTDIR)/doc/$(CPROG)
- SYSCONFDIR ?= $(PREFIX)/etc
- HTMLDIR = $(DOCDIR)
--INCLUDEDIR = $(DESTDIR)$(PREFIX)/include
--LIBDIR = $(DESTDIR)$(EXEC_PREFIX)/lib
-+INCLUDEDIR ?= $(DESTDIR)$(PREFIX)/include
-+LIBDIR ?= $(DESTDIR)$(EXEC_PREFIX)/lib
- PID_FILE ?= /var/run/$(CPROG).pid
- 
- # build tools
-@@ -337,10 +337,10 @@
- 	install -m 755 $(CPROG) "$(BINDIR)/"
- 
- install-headers:
--	install -m 644 $(HEADERS) "$(INCLUDEDIR)"
-+	install -m 644 $(HEADERS) "$(INCLUDEDIR)/"
- 
- install-lib: lib$(CPROG).a
--	install -m 644 $< "$(LIBDIR)"
-+	install -m 644 $< "$(LIBDIR)/"
- 
- install-slib: lib$(CPROG).so
- 	$(eval version=$(shell grep -w "define CIVETWEB_VERSION" include/civetweb.h | sed 's|.*VERSION "\(.*\)"|\1|g'))
diff --git a/pkgs/development/libraries/civetweb/default.nix b/pkgs/development/libraries/civetweb/default.nix
index 93ac618bcac..bf737972612 100644
--- a/pkgs/development/libraries/civetweb/default.nix
+++ b/pkgs/development/libraries/civetweb/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
+, cmake
 }:
 
 stdenv.mkDerivation rec {
@@ -13,33 +15,28 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-Qh6BGPk7a01YzCeX42+Og9M+fjXRs7kzNUCyT4mYab4=";
   };
 
-  makeFlags = [
-    "WITH_CPP=1"
-    "PREFIX=${placeholder "out"}"
-    "LIBDIR=${placeholder "out"}/lib"
-    "INCLUDEDIR=${placeholder "dev"}/include"
-  ];
-
-  patches = [
-    ./0001-allow-setting-paths-in-makefile.patch
-  ];
+  outputs = [ "out" "dev" ];
 
   strictDeps = true;
 
-  outputs = [ "out" "dev" ];
-
-  installTargets = [
-    "install-headers"
-    "install-lib"
-    "install-slib"
-    "install"
+  nativeBuildInputs = [
+    cmake
   ];
 
-  preInstall = ''
-    mkdir -p $dev/include
-    mkdir -p $out/lib
+  # The existence of the "build" script causes `mkdir -p build` to fail:
+  #   mkdir: cannot create directory 'build': File exists
+  preConfigure = ''
+    rm build
   '';
 
+  cmakeFlags = [
+    "-DCIVETWEB_ENABLE_CXX=ON"
+    "-DBUILD_SHARED_LIBS=ON"
+
+    # The civetweb unit tests rely on downloading their fork of libcheck.
+    "-DCIVETWEB_BUILD_TESTING=OFF"
+  ];
+
   meta = {
     description = "Embedded C/C++ web server";
     homepage = "https://github.com/civetweb/civetweb";
diff --git a/pkgs/development/libraries/clearsilver/default.nix b/pkgs/development/libraries/clearsilver/default.nix
deleted file mode 100644
index 1a3e261c60e..00000000000
--- a/pkgs/development/libraries/clearsilver/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, python2 }:
-
-stdenv.mkDerivation rec {
-  pname = "clearsilver";
-  version = "0.10.5";
-
-  src = fetchurl {
-    url = "http://www.clearsilver.net/downloads/clearsilver-${version}.tar.gz";
-    sha256 = "1046m1dpq3nkgxbis2dr2x7hynmy51n64465q78d7pdgvqwa178y";
-  };
-
-  PYTHON_SITE = "${placeholder "out"}/${python2.sitePackages}";
-
-  configureFlags = [
-    "--with-python=${python2.interpreter}"
-    "--disable-apache"
-    "--disable-perl"
-    "--disable-ruby"
-    "--disable-java"
-    "--disable-csharp"
-  ];
-
-  preInstall = ''
-    mkdir -p $out
-    mkdir -p $out/${python2.sitePackages}
-  '';
-
-  patches = [
-    (fetchpatch {
-      url = "https://sources.debian.net/data/main/c/clearsilver/0.10.5-1.6/debian/patches/clang-gcc5.patch";
-      sha256 = "0d44v9jx0b6k8nvrhknd958i9rs59kdh73z0lb4f1mzi8if16c38";
-    })
-    (fetchpatch {
-      url = "https://sources.debian.net/data/main/c/clearsilver/0.10.5-1.6/debian/patches/CVE-2011-4357.diff";
-      sha256 = "1lfncavxdqckrz03gv97lcliygbpi9lnih944vmdbn9zw6fwcipi";
-    })
-  ];
-
-  meta = with lib; {
-    description = "Fast, powerful, and language-neutral HTML template system";
-    homepage = "http://www.clearsilver.net/";
-    license = licenses.free;
-  };
-}
diff --git a/pkgs/development/libraries/elpa/default.nix b/pkgs/development/libraries/elpa/default.nix
index 76152996a1d..2a71b82af3c 100644
--- a/pkgs/development/libraries/elpa/default.nix
+++ b/pkgs/development/libraries/elpa/default.nix
@@ -18,13 +18,13 @@ assert blas.isILP64 == scalapack.isILP64;
 
 stdenv.mkDerivation rec {
   pname = "elpa";
-  version = "2021.11.001";
+  version = "2021.11.002";
 
   passthru = { inherit (blas) isILP64; };
 
   src = fetchurl {
     url = "https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/${version}/elpa-${version}.tar.gz";
-    sha256 = "0bw0nwzwvjfmijfwznmrghypd3q237a3h5g5fcdncilrqnk1sdpv";
+    sha256 = "sha256-V28cru14g7gTlmQP2g9QQYOGbPbL1Lxx0Tg7oiCPH5c=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index 9e913fdf52b..ac54ced75b1 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.4";
+  version = "2.4.6";
 
   src = fetchurl {
     url = "https://github.com/libexpat/libexpat/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-tdJdbjczUcLtGbVitHMtAdJYmsjI6eeWLY3xIHzDEbg=";
+    sha256 = "sha256-3lV5S3qbwhSFL9wHW+quzYVO/hNhWX5iaO6HlGlRKJs=";
   };
 
   outputs = [ "out" "dev" ]; # TODO: fix referrers
diff --git a/pkgs/development/libraries/gd/default.nix b/pkgs/development/libraries/gd/default.nix
index cd971b291b9..7ea8ce6d29b 100644
--- a/pkgs/development/libraries/gd/default.nix
+++ b/pkgs/development/libraries/gd/default.nix
@@ -5,10 +5,11 @@
 , pkg-config
 , zlib
 , libpng
-, libjpeg ? null
-, libwebp ? null
-, libtiff ? null
-, libXpm ? null
+, libjpeg
+, libwebp
+, libtiff
+, libXpm
+, libavif
 , fontconfig
 , freetype
 }:
@@ -41,8 +42,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoconf automake pkg-config ];
 
-  buildInputs = [ zlib fontconfig freetype ];
-  propagatedBuildInputs = [ libpng libjpeg libwebp libtiff libXpm ];
+  buildInputs = [ zlib fontconfig freetype libpng libjpeg libwebp libtiff libXpm libavif ];
 
   outputs = [ "bin" "dev" "out" ];
 
diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix
index 83df37f236b..e1a3def0ba4 100644
--- a/pkgs/development/libraries/gdbm/default.nix
+++ b/pkgs/development/libraries/gdbm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gdbm";
-  version = "1.20";
+  version = "1.23";
 
   src = fetchurl {
     url = "mirror://gnu/gdbm/${pname}-${version}.tar.gz";
-    sha256 = "sha256-OurAVkizSCoQotqYa586OAoprWUL6AuYF6Q1+4EUopI=";
+    sha256 = "sha256-dLEIHSH/8TrkvXwW5dblBKTCb3zeHcoNljpIQXS7ys0=";
   };
 
   doCheck = true; # not cross;
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 30f43c00a05..c98058768b2 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -45,11 +45,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.70.2";
+  version = "2.70.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "BVFFnIXNPaPVjdyQFv0ovlr1A/XhYVpxultRKslFgG8=";
+    sha256 = "Iz+khBweGeOW23YH1Y9rdbozE8UL8Pzgey41MtXrfUY=";
   };
 
   patches = optionals stdenv.isDarwin [
diff --git a/pkgs/development/libraries/glibc/2.33-master.patch.gz b/pkgs/development/libraries/glibc/2.33-master.patch.gz
index 49ffd4a7441..777e94e2b2e 100644
--- a/pkgs/development/libraries/glibc/2.33-master.patch.gz
+++ b/pkgs/development/libraries/glibc/2.33-master.patch.gz
Binary files differdiff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 9a84a5f8167..ffec9972d28 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -44,7 +44,7 @@
 
 let
   version = "2.33";
-  patchSuffix = "-108";
+  patchSuffix = "-117";
   sha256 = "sha256-LiVWAA4QXb1X8Layoy/yzxc73k8Nhd/8z9i35RoGd/8=";
 in
 
@@ -63,7 +63,7 @@ stdenv.mkDerivation ({
     [
       /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping.
           $ git fetch --all -p && git checkout origin/release/2.33/master && git describe
-          glibc-2.33-108-g3e2a15c666
+          glibc-2.33-117-g55446dd8a2
           $ git show --minimal --reverse glibc-2.33.. | gzip -9n --rsyncable - > 2.33-master.patch.gz
 
          To compare the archive contents zdiff can be used.
diff --git a/pkgs/development/libraries/gnu-config/default.nix b/pkgs/development/libraries/gnu-config/default.nix
index a08997ea2cd..0b765019992 100644
--- a/pkgs/development/libraries/gnu-config/default.nix
+++ b/pkgs/development/libraries/gnu-config/default.nix
@@ -20,6 +20,8 @@ in stdenv.mkDerivation {
     mkdir -p $out
     cp ${configGuess} $out/config.guess
     cp ${configSub} $out/config.sub
+
+    chmod +x $out/config.*
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 263807c2fc1..75b13b6b7ef 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -1,28 +1,37 @@
-{ lib, stdenv, fetchurl, fetchpatch
-, autoreconfHook, libgpg-error, gnupg, pkg-config, glib, pth, libassuan
-, file, which, ncurses
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, autoreconfHook
+, libgpg-error
+, gnupg
+, pkg-config
+, glib
+, pth
+, libassuan
+, file
+, which
+, ncurses
 , texinfo
 , buildPackages
 , qtbase ? null
-, pythonSupport ? false, swig2 ? null, python ? null
+, pythonSupport ? false
+, swig2 ? null
+, python ? null
 }:
-
 let
   inherit (stdenv.hostPlatform) system;
 in
-
 stdenv.mkDerivation rec {
   pname = "gpgme";
-  version = "1.16.0";
+  version = "1.17.0";
 
   src = fetchurl {
     url = "mirror://gnupg/gpgme/${pname}-${version}.tar.bz2";
-    sha256 = "1l4yw9fqc1blvx1sq1jnfvp1jijla3ca2jw90p4x9m8hvfpc933c";
+    sha256 = "1xb9k88rrafdi0n95nzx0d6bz7hcn9b44hciqbigrqkvxc6gblsf";
   };
 
   patches = [
-    # probably included in > 1.16.0
-    ./test_t-edit-sign.diff
     # https://dev.gnupg.org/rMc4cf527ea227edb468a84bf9b8ce996807bd6992
     ./fix_gpg_list_keys.diff
     # https://lists.gnupg.org/pipermail/gnupg-devel/2020-April/034591.html
@@ -31,22 +40,48 @@ stdenv.mkDerivation rec {
       url = "https://lists.gnupg.org/pipermail/gnupg-devel/attachments/20200415/f7be62d1/attachment.obj";
       sha256 = "00d4sxq63601lzdp2ha1i8fvybh7dzih4531jh8bx07fab3sw65g";
     })
+    # Support Python 3.10 version detection without distutils, https://dev.gnupg.org/D545
+    ./python-310-detection-without-distutils.patch
+    # Find correct version string for Python >= 3.10, https://dev.gnupg.org/D546
+    ./python-find-version-string-above-310.patch
     # Disable python tests on Darwin as they use gpg (see configureFlags below)
   ] ++ lib.optional stdenv.isDarwin ./disable-python-tests.patch
-  # Fix _AC_UNDECLARED_WARNING for autoconf≥2.70. See https://lists.gnupg.org/pipermail/gnupg-devel/2020-November/034643.html
+  # Fix _AC_UNDECLARED_WARNING for autoconf>=2.70
+  # See https://lists.gnupg.org/pipermail/gnupg-devel/2020-November/034643.html
   ++ lib.optional stdenv.cc.isClang ./fix-clang-autoconf-undeclared-warning.patch;
 
   outputs = [ "out" "dev" "info" ];
+
   outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool
 
-  propagatedBuildInputs =
-    [ libgpg-error glib libassuan pth ]
-    ++ lib.optional (qtbase != null) qtbase;
+  nativeBuildInputs = [
+    autoreconfHook
+    gnupg
+    pkg-config
+    texinfo
+  ] ++ lib.optionals pythonSupport [
+    ncurses
+    python
+    swig2
+    which
+  ];
 
-  nativeBuildInputs = [ pkg-config gnupg texinfo autoreconfHook ]
-  ++ lib.optionals pythonSupport [ python swig2 which ncurses ];
+  propagatedBuildInputs = [
+    glib
+    libassuan
+    libgpg-error
+    pth
+  ] ++ lib.optionals (qtbase != null) [
+    qtbase
+  ];
 
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  checkInputs = [
+    which
+  ];
+
+  depsBuildBuild = [
+    buildPackages.stdenv.cc
+  ];
 
   dontWrapQtApps = true;
 
@@ -59,16 +94,15 @@ stdenv.mkDerivation rec {
   # which has a path length limit. Nix on darwin is using a build directory
   # that already has quite a long path and the resulting socket path doesn't
   # fit in the limit. https://github.com/NixOS/nix/pull/1085
-    ++ lib.optionals stdenv.isDarwin [ "--disable-gpg-test" ];
+  ++ lib.optionals stdenv.isDarwin [ "--disable-gpg-test" ];
 
   NIX_CFLAGS_COMPILE = toString (
     # qgpgme uses Q_ASSERT which retains build inputs at runtime unless
     # debugging is disabled
     lib.optional (qtbase != null) "-DQT_NO_DEBUG"
     # https://www.gnupg.org/documentation/manuals/gpgme/Largefile-Support-_0028LFS_0029.html
-    ++ lib.optional (system == "i686-linux") "-D_FILE_OFFSET_BITS=64");
-
-  checkInputs = [ which ];
+    ++ lib.optional (system == "i686-linux") "-D_FILE_OFFSET_BITS=64"
+  );
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/gpgme/python-310-detection-without-distutils.patch b/pkgs/development/libraries/gpgme/python-310-detection-without-distutils.patch
new file mode 100644
index 00000000000..e0eea9ff042
--- /dev/null
+++ b/pkgs/development/libraries/gpgme/python-310-detection-without-distutils.patch
@@ -0,0 +1,273 @@
+diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
+--- a/m4/ax_python_devel.m4
++++ b/m4/ax_python_devel.m4
+@@ -1,5 +1,5 @@
+ # ===========================================================================
+-#      https://www.gnu.org/software/autoconf-archive/ax_python_devel.html
++#     https://www.gnu.org/software/autoconf-archive/ax_python_devel.html
+ # ===========================================================================
+ #
+ # SYNOPSIS
+@@ -12,8 +12,8 @@
+ #   in your configure.ac.
+ #
+ #   This macro checks for Python and tries to get the include path to
+-#   'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LDFLAGS)
+-#   output variables. It also exports $(PYTHON_EXTRA_LIBS) and
++#   'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LIBS) output
++#   variables. It also exports $(PYTHON_EXTRA_LIBS) and
+ #   $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code.
+ #
+ #   You can search for some particular version of Python by passing a
+@@ -67,7 +67,7 @@
+ #   modified version of the Autoconf Macro, you may extend this special
+ #   exception to the GPL to apply to your modified version as well.
+ 
+-#serial 17
++#serial 23
+ 
+ AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL])
+ AC_DEFUN([AX_PYTHON_DEVEL],[
+@@ -99,7 +99,7 @@
+ This version of the AC@&t@_PYTHON_DEVEL macro
+ doesn't work properly with versions of Python before
+ 2.1.0. You may need to re-run configure, setting the
+-variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
++variables PYTHON_CPPFLAGS, PYTHON_LIBS, PYTHON_SITE_PKG,
+ PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
+ Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
+ to something else than an empty string.
+@@ -135,16 +135,25 @@
+ 	#
+ 	# Check if you have distutils, else fail
+ 	#
+-	AC_MSG_CHECKING([for the distutils Python package])
+-	ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+-	if test -z "$ac_distutils_result"; then
++	AC_MSG_CHECKING([for the sysconfig Python package])
++	ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1`
++	if test $? -eq 0; then
+ 		AC_MSG_RESULT([yes])
++		IMPORT_SYSCONFIG="import sysconfig"
+ 	else
+ 		AC_MSG_RESULT([no])
+-		AC_MSG_ERROR([cannot import Python module "distutils".
++
++		AC_MSG_CHECKING([for the distutils Python package])
++		ac_sysconfig_result=`$PYTHON -c "from distutils import sysconfig" 2>&1`
++		if test $? -eq 0; then
++			AC_MSG_RESULT([yes])
++			IMPORT_SYSCONFIG="from distutils import sysconfig"
++		else
++			AC_MSG_ERROR([cannot import Python module "distutils".
+ Please check your Python installation. The error was:
+-$ac_distutils_result])
+-		PYTHON_VERSION=""
++$ac_sysconfig_result])
++			PYTHON_VERSION=""
++		fi
+ 	fi
+ 
+ 	#
+@@ -152,10 +161,19 @@
+ 	#
+ 	AC_MSG_CHECKING([for Python include path])
+ 	if test -z "$PYTHON_CPPFLAGS"; then
+-		python_path=`$PYTHON -c "import distutils.sysconfig; \
+-			print (distutils.sysconfig.get_python_inc ());"`
+-		plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
+-			print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
++		if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
++			# sysconfig module has different functions
++			python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
++				print (sysconfig.get_path ('include'));"`
++			plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
++				print (sysconfig.get_path ('platinclude'));"`
++		else
++			# old distutils way
++			python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
++				print (sysconfig.get_python_inc ());"`
++			plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
++				print (sysconfig.get_python_inc (plat_specific=1));"`
++		fi
+ 		if test -n "${python_path}"; then
+ 			if test "${plat_python_path}" != "${python_path}"; then
+ 				python_path="-I$python_path -I$plat_python_path"
+@@ -172,14 +190,14 @@
+ 	# Check for Python library path
+ 	#
+ 	AC_MSG_CHECKING([for Python library path])
+-	if test -z "$PYTHON_LDFLAGS"; then
++	if test -z "$PYTHON_LIBS"; then
+ 		# (makes two attempts to ensure we've got a version number
+ 		# from the interpreter)
+ 		ac_python_version=`cat<<EOD | $PYTHON -
+ 
+ # join all versioning strings, on some systems
+ # major/minor numbers could be in different list elements
+-from distutils.sysconfig import *
++from sysconfig import *
+ e = get_config_var('VERSION')
+ if e is not None:
+ 	print(e)
+@@ -197,7 +215,7 @@
+ 		# Make the versioning information available to the compiler
+ 
+ 		# JW: We don't need it and it interferes with the hack
+-		# to detect multiple Pyhton versions
++		# to detect multiple Python versions
+ 		#AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"],
+                 #                  [If available, contains the Python version number currently in use.])
+ 
+@@ -205,8 +223,8 @@
+ 		ac_python_libdir=`cat<<EOD | $PYTHON -
+ 
+ # There should be only one
+-import distutils.sysconfig
+-e = distutils.sysconfig.get_config_var('LIBDIR')
++$IMPORT_SYSCONFIG
++e = sysconfig.get_config_var('LIBDIR')
+ if e is not None:
+ 	print (e)
+ EOD`
+@@ -214,8 +232,8 @@
+ 		# Now, for the library:
+ 		ac_python_library=`cat<<EOD | $PYTHON -
+ 
+-import distutils.sysconfig
+-c = distutils.sysconfig.get_config_vars()
++$IMPORT_SYSCONFIG
++c = sysconfig.get_config_vars()
+ if 'LDVERSION' in c:
+ 	print ('python'+c[['LDVERSION']])
+ else:
+@@ -230,44 +248,67 @@
+ 		then
+ 			# use the official shared library
+ 			ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
+-			PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
++			PYTHON_LIBS="-L$ac_python_libdir -l$ac_python_library"
+ 		else
+ 			# old way: use libpython from python_configdir
+ 			ac_python_libdir=`$PYTHON -c \
+-			  "from distutils.sysconfig import get_python_lib as f; \
++			  "from sysconfig import get_python_lib as f; \
+ 			  import os; \
+ 			  print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
+-			PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
++			PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version"
+ 		fi
+ 
+-		if test -z "PYTHON_LDFLAGS"; then
++		if test -z "PYTHON_LIBS"; then
+ 			AC_MSG_ERROR([
+   Cannot determine location of your Python DSO. Please check it was installed with
+-  dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
++  dynamic libraries enabled, or try setting PYTHON_LIBS by hand.
+ 			])
+ 		fi
+ 	fi
+-	AC_MSG_RESULT([$PYTHON_LDFLAGS])
+-	AC_SUBST([PYTHON_LDFLAGS])
++	AC_MSG_RESULT([$PYTHON_LIBS])
++	AC_SUBST([PYTHON_LIBS])
+ 
+ 	#
+ 	# Check for site packages
+ 	#
+ 	AC_MSG_CHECKING([for Python site-packages path])
+ 	if test -z "$PYTHON_SITE_PKG"; then
+-		PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
+-			print (distutils.sysconfig.get_python_lib(0,0));"`
++		if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
++			PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
++				print (sysconfig.get_path('purelib'));"`
++		else
++			# distutils.sysconfig way
++			PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
++				print (sysconfig.get_python_lib(0,0));"`
++		fi
+ 	fi
+ 	AC_MSG_RESULT([$PYTHON_SITE_PKG])
+ 	AC_SUBST([PYTHON_SITE_PKG])
+ 
++	#
++	# Check for platform-specific site packages
++	#
++	AC_MSG_CHECKING([for Python platform specific site-packages path])
++	if test -z "$PYTHON_SITE_PKG"; then
++		if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
++			PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
++				print (sysconfig.get_path('platlib'));"`
++		else
++			# distutils.sysconfig way
++			PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
++				print (sysconfig.get_python_lib(1,0));"`
++		fi
++	fi
++	AC_MSG_RESULT([$PYTHON_PLATFORM_SITE_PKG])
++	AC_SUBST([PYTHON_PLATFORM_SITE_PKG])
++
+ 	#
+ 	# libraries which must be linked in when embedding
+ 	#
+ 	AC_MSG_CHECKING(python extra libraries)
+ 	if test -z "$PYTHON_EXTRA_LIBS"; then
+-	   PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
+-                conf = distutils.sysconfig.get_config_var; \
++	   PYTHON_EXTRA_LIBS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
++                conf = sysconfig.get_config_var; \
+                 print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
+ 	fi
+ 	AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
+@@ -278,8 +319,8 @@
+ 	#
+ 	AC_MSG_CHECKING(python extra linking flags)
+ 	if test -z "$PYTHON_EXTRA_LDFLAGS"; then
+-		PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
+-			conf = distutils.sysconfig.get_config_var; \
++		PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
++			conf = sysconfig.get_config_var; \
+ 			print (conf('LINKFORSHARED'))"`
+ 	fi
+ 	AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
+@@ -291,8 +332,10 @@
+ 	AC_MSG_CHECKING([consistency of all components of python development environment])
+ 	# save current global flags
+ 	ac_save_LIBS="$LIBS"
++	ac_save_LDFLAGS="$LDFLAGS"
+ 	ac_save_CPPFLAGS="$CPPFLAGS"
+-	LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
++	LIBS="$ac_save_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS $PYTHON_EXTRA_LIBS"
++	LDFLAGS="$ac_save_LDFLAGS $PYTHON_EXTRA_LDFLAGS"
+ 	CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
+ 	AC_LANG_PUSH([C])
+ 	AC_LINK_IFELSE([
+@@ -303,15 +346,17 @@
+ 	# turn back to default flags
+ 	CPPFLAGS="$ac_save_CPPFLAGS"
+ 	LIBS="$ac_save_LIBS"
++	LDFLAGS="$ac_save_LDFLAGS"
+ 
+ 	AC_MSG_RESULT([$pythonexists])
+ 
+         if test ! "x$pythonexists" = "xyes"; then
++        # gpgme: only warn here, no error, as we are looking for multiple versions
+ 	   AC_MSG_WARN([
+   Could not link test program to Python. Maybe the main Python library has been
+   installed in some non-standard library path. If so, pass it to configure,
+-  via the LDFLAGS environment variable.
+-  Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"
++  via the LIBS environment variable.
++  Example: ./configure LIBS="-L/usr/non-standard-path/python/lib"
+   ============================================================================
+    You probably have to install the development version of the Python package
+    for your distribution.  The exact name of this package varies among them.
+@@ -323,4 +368,4 @@
+ 	#
+ 	# all done!
+ 	#
+-])
++])
+\ No newline at end of file
+
diff --git a/pkgs/development/libraries/gpgme/python-find-version-string-above-310.patch b/pkgs/development/libraries/gpgme/python-find-version-string-above-310.patch
new file mode 100644
index 00000000000..3d8191c9929
--- /dev/null
+++ b/pkgs/development/libraries/gpgme/python-find-version-string-above-310.patch
@@ -0,0 +1,373 @@
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -425,11 +425,12 @@
+ 	if test "$found_py" = "1" -o "$found_py3" = "1"; then
+ 	  # Reset everything, so that we can look for another Python.
+           m4_foreach([mym4pythonver],
+-                     [[2.7],[3.4],[3.5],[3.6],[3.7],[3.8],[3.9],[all]],
++                     [[2.7],[3.4],[3.5],[3.6],[3.7],[3.8],[3.9],[3.10],[all]],
+            [unset PYTHON
+ 	    unset PYTHON_VERSION
+ 	    unset PYTHON_CPPFLAGS
+ 	    unset PYTHON_LDFLAGS
++	    unset PYTHON_LIBS
+ 	    unset PYTHON_SITE_PKG
+ 	    unset PYTHON_EXTRA_LIBS
+ 	    unset PYTHON_EXTRA_LDFLAGS
+diff --git a/m4/python.m4 b/m4/python.m4
+--- a/m4/python.m4
++++ b/m4/python.m4
+@@ -1,10 +1,10 @@
+ ## ------------------------                                 -*- Autoconf -*-
+ ## Python file handling
+ ## From Andrew Dalke
+-## Updated by James Henstridge
++## Updated by James Henstridge and other contributors.
+ ## Updated by Werner Koch 2018-10-17
+-## ---------------------------------
+-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
++## ------------------------
++# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -36,13 +36,12 @@
+ # numbers and dots only.
+ AC_DEFUN([AM_PATH_PYTHON],
+  [
+-  dnl Find a Python interpreter.  Python versions prior to 2.0 are not
+-  dnl supported. (2.0 was released on October 16, 2000).  Python 3.0
+-  dnl through to Python 3.9 are also not supported.
++  dnl Find a Python interpreter.  Python versions prior to 2.7 are not
++  dnl supported. Python 3.0 through to Python 3.3 are also not supported.
+   m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
+ [python2 python2.7 dnl
+  python dnl
+- python3 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4
++ python3 python3.10 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4
+  ])
+ 
+   AC_ARG_VAR([PYTHON], [the Python interpreter])
+@@ -85,34 +84,141 @@
+   ])
+ 
+   if test "$PYTHON" = :; then
+-  dnl Run any user-specified action, or abort.
++    dnl Run any user-specified action, or abort.
+     m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
+   else
+ 
+-  dnl Query Python for its version number.  Getting [:3] seems to be
+-  dnl the best way to do this; it's what "site.py" does in the standard
+-  dnl library.
+-
++  dnl Query Python for its version number.  Although site.py simply uses
++  dnl sys.version[:3], printing that failed with Python 3.10, since the
++  dnl trailing zero was eliminated. So now we output just the major
++  dnl and minor version numbers, as numbers. Apparently the tertiary
++  dnl version is not of interest.
++  dnl
+   AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
+-    [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
++    [am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[[:2]])"`])
+   AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
+ 
+-  dnl Use the values of $prefix and $exec_prefix for the corresponding
+-  dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX.  These are made
+-  dnl distinct variables so they can be overridden if need be.  However,
+-  dnl general consensus is that you shouldn't need this ability.
+-
+-  AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
+-  AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
+-
+-  dnl At times (like when building shared libraries) you may want
++  dnl At times, e.g., when building shared libraries, you may want
+   dnl to know which OS platform Python thinks this is.
+-
++  dnl
+   AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
+     [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
+   AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
+ 
+-  # Just factor out some code duplication.
++  dnl emacs-page
++  dnl If --with-python-sys-prefix is given, use the values of sys.prefix
++  dnl and sys.exec_prefix for the corresponding values of PYTHON_PREFIX
++  dnl and PYTHON_EXEC_PREFIX. Otherwise, use the GNU ${prefix} and
++  dnl ${exec_prefix} variables.
++  dnl
++  dnl The two are made distinct variables so they can be overridden if
++  dnl need be, although general consensus is that you shouldn't need
++  dnl this separation.
++  dnl
++  dnl Also allow directly setting the prefixes via configure options,
++  dnl overriding any default.
++  dnl
++  if test "x$prefix" = xNONE; then
++    am__usable_prefix=$ac_default_prefix
++  else
++    am__usable_prefix=$prefix
++  fi
++
++  # Allow user to request using sys.* values from Python,
++  # instead of the GNU $prefix values.
++  AC_ARG_WITH([python-sys-prefix],
++  [AS_HELP_STRING([--with-python-sys-prefix],
++                  [use Python's sys.prefix and sys.exec_prefix values])],
++  [am_use_python_sys=:],
++  [am_use_python_sys=false])
++
++  # Allow user to override whatever the default Python prefix is.
++  AC_ARG_WITH([python_prefix],
++  [AS_HELP_STRING([--with-python_prefix],
++                  [override the default PYTHON_PREFIX])],
++  [am_python_prefix_subst=$withval
++   am_cv_python_prefix=$withval
++   AC_MSG_CHECKING([for explicit $am_display_PYTHON prefix])
++   AC_MSG_RESULT([$am_cv_python_prefix])],
++  [
++   if $am_use_python_sys; then
++     # using python sys.prefix value, not GNU
++     AC_CACHE_CHECK([for python default $am_display_PYTHON prefix],
++     [am_cv_python_prefix],
++     [am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`])
++
++     dnl If sys.prefix is a subdir of $prefix, replace the literal value of
++     dnl $prefix with a variable reference so it can be overridden.
++     case $am_cv_python_prefix in
++     $am__usable_prefix*)
++       am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'`
++       am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"`
++       ;;
++     *)
++       am_python_prefix_subst=$am_cv_python_prefix
++       ;;
++     esac
++   else # using GNU prefix value, not python sys.prefix
++     am_python_prefix_subst='${prefix}'
++     am_python_prefix=$am_python_prefix_subst
++     AC_MSG_CHECKING([for GNU default $am_display_PYTHON prefix])
++     AC_MSG_RESULT([$am_python_prefix])
++   fi])
++  # Substituting python_prefix_subst value.
++  AC_SUBST([PYTHON_PREFIX], [$am_python_prefix_subst])
++
++  # emacs-page Now do it all over again for Python exec_prefix, but with yet
++  # another conditional: fall back to regular prefix if that was specified.
++  AC_ARG_WITH([python_exec_prefix],
++  [AS_HELP_STRING([--with-python_exec_prefix],
++                  [override the default PYTHON_EXEC_PREFIX])],
++  [am_python_exec_prefix_subst=$withval
++   am_cv_python_exec_prefix=$withval
++   AC_MSG_CHECKING([for explicit $am_display_PYTHON exec_prefix])
++   AC_MSG_RESULT([$am_cv_python_exec_prefix])],
++  [
++   # no explicit --with-python_exec_prefix, but if
++   # --with-python_prefix was given, use its value for python_exec_prefix too.
++   AS_IF([test -n "$with_python_prefix"],
++   [am_python_exec_prefix_subst=$with_python_prefix
++    am_cv_python_exec_prefix=$with_python_prefix
++    AC_MSG_CHECKING([for python_prefix-given $am_display_PYTHON exec_prefix])
++    AC_MSG_RESULT([$am_cv_python_exec_prefix])],
++   [
++    # Set am__usable_exec_prefix whether using GNU or Python values,
++    # since we use that variable for pyexecdir.
++    if test "x$exec_prefix" = xNONE; then
++      am__usable_exec_prefix=$am__usable_prefix
++    else
++      am__usable_exec_prefix=$exec_prefix
++    fi
++    #
++    if $am_use_python_sys; then # using python sys.exec_prefix, not GNU
++      AC_CACHE_CHECK([for python default $am_display_PYTHON exec_prefix],
++      [am_cv_python_exec_prefix],
++      [am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"`])
++      dnl If sys.exec_prefix is a subdir of $exec_prefix, replace the
++      dnl literal value of $exec_prefix with a variable reference so it can
++      dnl be overridden.
++      case $am_cv_python_exec_prefix in
++      $am__usable_exec_prefix*)
++        am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'`
++        am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"`
++        ;;
++      *)
++        am_python_exec_prefix_subst=$am_cv_python_exec_prefix
++        ;;
++     esac
++   else # using GNU $exec_prefix, not python sys.exec_prefix
++     am_python_exec_prefix_subst='${exec_prefix}'
++     am_python_exec_prefix=$am_python_exec_prefix_subst
++     AC_MSG_CHECKING([for GNU default $am_display_PYTHON exec_prefix])
++     AC_MSG_RESULT([$am_python_exec_prefix])
++   fi])])
++  # Substituting python_exec_prefix_subst.
++  AC_SUBST([PYTHON_EXEC_PREFIX], [$am_python_exec_prefix_subst])
++
++  # Factor out some code duplication into this shell variable.
+   am_python_setup_sysconfig="\
+ import sys
+ # Prefer sysconfig over distutils.sysconfig, for better compatibility
+@@ -132,96 +238,95 @@
+ except ImportError:
+     pass"
+ 
+-  dnl Set up 4 directories:
++  dnl emacs-page Set up 4 directories:
+ 
+-  dnl pythondir -- where to install python scripts.  This is the
+-  dnl   site-packages directory, not the python standard library
+-  dnl   directory like in previous automake betas.  This behavior
+-  dnl   is more consistent with lispdir.m4 for example.
++  dnl 1. pythondir: where to install python scripts.  This is the
++  dnl    site-packages directory, not the python standard library
++  dnl    directory like in previous automake betas.  This behavior
++  dnl    is more consistent with lispdir.m4 for example.
+   dnl Query distutils for this directory.
+-  AC_CACHE_CHECK([for $am_display_PYTHON script directory],
+-    [am_cv_python_pythondir],
+-    [if test "x$prefix" = xNONE
+-     then
+-       am_py_prefix=$ac_default_prefix
+-     else
+-       am_py_prefix=$prefix
+-     fi
+-     am_cv_python_pythondir=`$PYTHON -c "
++  dnl
++  AC_CACHE_CHECK([for $am_display_PYTHON script directory (pythondir)],
++  [am_cv_python_pythondir],
++  [if test "x$am_cv_python_prefix" = x; then
++     am_py_prefix=$am__usable_prefix
++   else
++     am_py_prefix=$am_cv_python_prefix
++   fi
++   am_cv_python_pythondir=`$PYTHON -c "
+ $am_python_setup_sysconfig
+ if can_use_sysconfig:
+-    sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
++  sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
+ else:
+-    from distutils import sysconfig
+-    sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
++  from distutils import sysconfig
++  sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
+ sys.stdout.write(sitedir)"`
+-     case $am_cv_python_pythondir in
+-     $am_py_prefix*)
+-       am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
+-       am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
+-       ;;
+-     *)
+-       case $am_py_prefix in
+-         /usr|/System*) ;;
+-         *)
+-	  am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
+-	  ;;
+-       esac
+-       ;;
++   #
++   case $am_cv_python_pythondir in
++   $am_py_prefix*)
++     am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
++     am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"`
++     ;;
++   *)
++     case $am_py_prefix in
++       /usr|/System*) ;;
++       *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages"
++          ;;
+      esac
+-    ])
++     ;;
++   esac
++  ])
+   AC_SUBST([pythondir], [$am_cv_python_pythondir])
+ 
+-  dnl pkgpythondir -- $PACKAGE directory under pythondir.  Was
+-  dnl   PYTHON_SITE_PACKAGE in previous betas, but this naming is
+-  dnl   more consistent with the rest of automake.
+-
++  dnl 2. pkgpythondir: $PACKAGE directory under pythondir.  Was
++  dnl    PYTHON_SITE_PACKAGE in previous betas, but this naming is
++  dnl    more consistent with the rest of automake.
++  dnl
+   AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
+ 
+-  dnl pyexecdir -- directory for installing python extension modules
+-  dnl   (shared libraries)
++  dnl 3. pyexecdir: directory for installing python extension modules
++  dnl    (shared libraries).
+   dnl Query distutils for this directory.
+-  AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
+-    [am_cv_python_pyexecdir],
+-    [if test "x$exec_prefix" = xNONE
+-     then
+-       am_py_exec_prefix=$am_py_prefix
+-     else
+-       am_py_exec_prefix=$exec_prefix
+-     fi
+-     am_cv_python_pyexecdir=`$PYTHON -c "
++  dnl
++  AC_CACHE_CHECK([for $am_display_PYTHON extension module directory (pyexecdir)],
++  [am_cv_python_pyexecdir],
++  [if test "x$am_cv_python_exec_prefix" = x; then
++     am_py_exec_prefix=$am__usable_exec_prefix
++   else
++     am_py_exec_prefix=$am_cv_python_exec_prefix
++   fi
++   am_cv_python_pyexecdir=`$PYTHON -c "
+ $am_python_setup_sysconfig
+ if can_use_sysconfig:
+-    sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
++  sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'})
+ else:
+-    from distutils import sysconfig
+-    sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
++  from distutils import sysconfig
++  sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix')
+ sys.stdout.write(sitedir)"`
+-     case $am_cv_python_pyexecdir in
+-     $am_py_exec_prefix*)
+-       am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
+-       am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
+-       ;;
+-     *)
+-       case $am_py_exec_prefix in
+-         /usr|/System*) ;;
+-         *)
+-	   am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
+-	   ;;
+-       esac
+-       ;;
++   #
++   case $am_cv_python_pyexecdir in
++   $am_py_exec_prefix*)
++     am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
++     am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"`
++     ;;
++   *)
++     case $am_py_exec_prefix in
++       /usr|/System*) ;;
++       *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages"
++          ;;
+      esac
+-    ])
++     ;;
++   esac
++  ])
+   AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
+ 
+-  dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
+-
++  dnl 4. pkgpyexecdir: $(pyexecdir)/$(PACKAGE)
++  dnl
+   AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
+ 
+   dnl Run any user-specified action.
+   $2
+   fi
+-
+ ])
+ 
+ 
+
diff --git a/pkgs/development/libraries/gpgme/test_t-edit-sign.diff b/pkgs/development/libraries/gpgme/test_t-edit-sign.diff
deleted file mode 100644
index 55075b9eb12..00000000000
--- a/pkgs/development/libraries/gpgme/test_t-edit-sign.diff
+++ /dev/null
@@ -1,125 +0,0 @@
-From 81a33ea5e1b86d586b956e893a5b25c4cd41c969 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <dev@ingo-kloecker.de>
-Date: Sat, 26 Jun 2021 18:02:47 +0200
-Subject: [PATCH] core: Fix use-after-free issue in test
-
-* tests/gpg/t-edit-sign.c (sign_key, verify_key_signature): New.
-(main): Factored out signing and verifying the result.
---
-
-Factoring the two steps of the test into different functions fixes the
-use-after-free issue that was caused by accidentaly using a variable
-of the first step in the second step.
-
-GnuPG-bug-id: 5509
----
- tests/gpg/t-edit-sign.c | 54 ++++++++++++++++++++++++++++-------------
- 1 file changed, 37 insertions(+), 17 deletions(-)
-
-diff --git a/tests/gpg/t-edit-sign.c b/tests/gpg/t-edit-sign.c
-index 2f983622..e0494c54 100644
---- a/tests/gpg/t-edit-sign.c
-+++ b/tests/gpg/t-edit-sign.c
-@@ -107,31 +107,19 @@ interact_fnc (void *opaque, const char *status, const char *args, int fd)
- }
- 
- 
--int
--main (int argc, char **argv)
-+void
-+sign_key (const char *key_fpr, const char *signer_fpr)
- {
-   gpgme_ctx_t ctx;
-   gpgme_error_t err;
-   gpgme_data_t out = NULL;
--  const char *signer_fpr = "A0FF4590BB6122EDEF6E3C542D727CC768697734"; /* Alpha Test */
-   gpgme_key_t signing_key = NULL;
--  const char *key_fpr = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"; /* Bravo Test */
-   gpgme_key_t key = NULL;
--  gpgme_key_t signed_key = NULL;
--  gpgme_user_id_t signed_uid = NULL;
--  gpgme_key_sig_t key_sig = NULL;
-   char *agent_info;
--  int mode;
--
--  (void)argc;
--  (void)argv;
--
--  init_gpgme (GPGME_PROTOCOL_OpenPGP);
- 
-   err = gpgme_new (&ctx);
-   fail_if_err (err);
- 
--  /* Sign the key */
-   agent_info = getenv("GPG_AGENT_INFO");
-   if (!(agent_info && strchr (agent_info, ':')))
-     gpgme_set_passphrase_cb (ctx, passphrase_cb, 0);
-@@ -159,8 +147,23 @@ main (int argc, char **argv)
-   gpgme_data_release (out);
-   gpgme_key_unref (key);
-   gpgme_key_unref (signing_key);
-+  gpgme_release (ctx);
-+}
-+
-+
-+void
-+verify_key_signature (const char *key_fpr, const char *signer_keyid)
-+{
-+  gpgme_ctx_t ctx;
-+  gpgme_error_t err;
-+  gpgme_key_t signed_key = NULL;
-+  gpgme_user_id_t signed_uid = NULL;
-+  gpgme_key_sig_t key_sig = NULL;
-+  int mode;
-+
-+  err = gpgme_new (&ctx);
-+  fail_if_err (err);
- 
--  /* Verify the key signature */
-   mode  = gpgme_get_keylist_mode (ctx);
-   mode |= GPGME_KEYLIST_MODE_SIGS;
-   err = gpgme_set_keylist_mode (ctx, mode);
-@@ -168,7 +171,7 @@ main (int argc, char **argv)
-   err = gpgme_get_key (ctx, key_fpr, &signed_key, 0);
-   fail_if_err (err);
- 
--  signed_uid = key->uids;
-+  signed_uid = signed_key->uids;
-   if (!signed_uid)
-     {
-       fprintf (stderr, "Signed key has no user IDs\n");
-@@ -180,7 +183,7 @@ main (int argc, char **argv)
-       exit (1);
-     }
-   key_sig = signed_uid->signatures->next;
--  if (strcmp ("2D727CC768697734", key_sig->keyid))
-+  if (strcmp (signer_keyid, key_sig->keyid))
-     {
-       fprintf (stderr, "Unexpected key ID in second user ID sig: %s\n",
-                 key_sig->keyid);
-@@ -196,6 +199,23 @@ main (int argc, char **argv)
- 
-   gpgme_key_unref (signed_key);
-   gpgme_release (ctx);
-+}
-+
-+
-+int
-+main (int argc, char **argv)
-+{
-+  const char *signer_fpr = "A0FF4590BB6122EDEF6E3C542D727CC768697734"; /* Alpha Test */
-+  const char *signer_keyid = signer_fpr + strlen(signer_fpr) - 16;
-+  const char *key_fpr = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"; /* Bravo Test */
-+
-+  (void)argc;
-+  (void)argv;
-+
-+  init_gpgme (GPGME_PROTOCOL_OpenPGP);
-+
-+  sign_key (key_fpr, signer_fpr);
-+  verify_key_signature (key_fpr, signer_keyid);
- 
-   return 0;
- }
--- 
-2.32.0
diff --git a/pkgs/development/libraries/gtk-frdp/default.nix b/pkgs/development/libraries/gtk-frdp/default.nix
index b7c2d5d3aa9..ffb4e5bbbf9 100644
--- a/pkgs/development/libraries/gtk-frdp/default.nix
+++ b/pkgs/development/libraries/gtk-frdp/default.nix
@@ -14,14 +14,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gtk-frdp";
-  version = "unstable-2021-10-01";
+  version = "unstable-2021-10-28";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = pname;
-    rev = "9c15c1202ed66fe20334e33d798cc5ebd39917f0";
-    sha256 = "2YOLpyd26qWQKvneH4ww2DS8h/ZNYDmfbYIjQDvDMko=";
+    rev = "a44d84ec687f41ad37e43697b28a018f65780780";
+    sha256 = "7J4jf3gDiorsc4zs6zwC+j/Zg0oZWKAFAz9vvJJ2CYM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 1e36f1e7f0f..e47b18252e9 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -24,7 +24,7 @@
 }:
 
 let
-  version = "3.2.0";
+  version = "3.3.2";
   inherit (lib) optional optionals optionalString;
   mesonFeatureFlag = opt: b:
     "-D${opt}=${if b then "enabled" else "disabled"}";
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
     owner = "harfbuzz";
     repo = "harfbuzz";
     rev = version;
-    sha256 = "sha256-iNYp/hyJTaaF6e09YpUL7ktBhq2wRN9zKiEH59WLbYU=";
+    sha256 = "sha256-UbYqV7Ch9ugTIwSsCpjnS8H7tcv4P3OVpFDFDZtQCk0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix
index d9ac5e4da3f..79ff2c4ee5f 100644
--- a/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "22.0.3";
+  version = "22.1.0";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "gmmlib";
     rev = "intel-gmmlib-${version}";
-    sha256 = "sha256-cXolz4hKLSTs8K9tCxaKnC2Pr0lQ0M+pPeF2w6bOAR8=";
+    sha256 = "sha256-4LFBokMEhhobKIMzZYlt3Nn88lX60l+IZZ0gi+o7Tds=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 50204bc0ec0..cb4e4cc2629 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.90/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.91/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch b/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch
index 07da70092dc..1379707f02f 100644
--- a/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch
+++ b/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch
@@ -13,18 +13,18 @@ diff --git a/src/client.cpp b/src/client.cpp
 index 44fbacd..6b5abf5 100644
 --- a/src/client.cpp
 +++ b/src/client.cpp
-@@ -378,11 +378,14 @@ int KDEsuClient::stopServer()
+@@ -384,11 +384,14 @@ int KDEsuClient::stopServer()
  
  static QString findDaemon()
  {
--    QString daemon = QFile::decodeName(KDE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
+-    QString daemon = QFile::decodeName(KDE_INSTALL_FULL_LIBEXECDIR_KF "/kdesud");
 -    if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
 -        daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
 -        if (daemon.isEmpty()) {
 -            qCWarning(KSU_LOG) << "kdesud daemon not found.";
 +    QString daemon = QFile::decodeName("/run/wrappers/bin/kdesud");
 +    if (!QFile::exists(daemon)) { // if not in wrappers
-+        daemon = QFile::decodeName(KDE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
++        daemon = QFile::decodeName(KDE_INSTALL_FULL_LIBEXECDIR_KF "/kdesud");
 +        if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
 +            daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
 +            if (daemon.isEmpty()) {
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 1ffc5df68c3..2b3983a892c 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -4,667 +4,667 @@
 
 {
   attica = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/attica-5.90.0.tar.xz";
-      sha256 = "0zs37qyh9biafk76ps2xfc41hbd1n4dq42qqqcvbqcrwfgqz2wlk";
-      name = "attica-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/attica-5.91.0.tar.xz";
+      sha256 = "0svvy7qflidwxns12y2lra54gg6lhglcddzmrw7ccvbdyqcy2pn0";
+      name = "attica-5.91.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/baloo-5.90.0.tar.xz";
-      sha256 = "1nnfys8dyiivd2if81qrgrmpprfni77an9l3wff0l5k85ac86i56";
-      name = "baloo-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/baloo-5.91.0.tar.xz";
+      sha256 = "1cqjbaiwqba707xaz9zsrdz9cms2mdrhv6jpwsq8q7f4g4rxcx3m";
+      name = "baloo-5.91.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/bluez-qt-5.90.0.tar.xz";
-      sha256 = "056i5ndrg5fqm1bx49a0plfhlladphha128wi766zdhcm6np11z3";
-      name = "bluez-qt-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/bluez-qt-5.91.0.tar.xz";
+      sha256 = "0p37jrmppwahh4vaq3wkw6xn0ms8dxcxpfd4glzjlnw426zrwnjr";
+      name = "bluez-qt-5.91.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/breeze-icons-5.90.0.tar.xz";
-      sha256 = "06dfh571rf8gp4gnnqn13xqgc1bpc4ycn6bmxf38x53fxxfl3fnn";
-      name = "breeze-icons-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/breeze-icons-5.91.0.tar.xz";
+      sha256 = "0aj24gn48c17n9jzrj0az04ph4hpx7zf2rj4vgwl19iip69vfzf1";
+      name = "breeze-icons-5.91.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/extra-cmake-modules-5.90.0.tar.xz";
-      sha256 = "1c5wza7srib3mdkf29ygmyj5b6jq322s6h7k5hlljqm5xhy7q07k";
-      name = "extra-cmake-modules-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/extra-cmake-modules-5.91.0.tar.xz";
+      sha256 = "0k65rvxh926ya6qahzk2ns7g1fya1429648mlx7iipxa61g8h5wp";
+      name = "extra-cmake-modules-5.91.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/frameworkintegration-5.90.0.tar.xz";
-      sha256 = "1v7vlq2gk7j5b6gzbawgnpii7csh2zclp5v24qhx4qrmpfssylan";
-      name = "frameworkintegration-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/frameworkintegration-5.91.0.tar.xz";
+      sha256 = "1176ql8f96ap4gzjaj8vm4cr6f2rsx9z93gpc4hx4jcqjhxqrg3z";
+      name = "frameworkintegration-5.91.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kactivities-5.90.0.tar.xz";
-      sha256 = "0wf7nnf3bjz2iq2wqxnyay1100ks0zscsh7sa8xfcijrl7pp305w";
-      name = "kactivities-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kactivities-5.91.0.tar.xz";
+      sha256 = "03y4hx7jgrhac12ys8pm22h0f49kms8b71gck4xv577p3ywi3j60";
+      name = "kactivities-5.91.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kactivities-stats-5.90.0.tar.xz";
-      sha256 = "0qamy8xggjlnm8pkv6vxbaagcp1hg9vgi2ws2yb9xpqk8mdlfbvp";
-      name = "kactivities-stats-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kactivities-stats-5.91.0.tar.xz";
+      sha256 = "0864qfljh20723djfzdv8h6nipw01825lhiknyqz17aj2x2ymzcq";
+      name = "kactivities-stats-5.91.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kapidox-5.90.0.tar.xz";
-      sha256 = "16jl519sx7pirjp5x57x5gbgv477457063rrbwpvyf2ldb6lc29p";
-      name = "kapidox-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kapidox-5.91.0.tar.xz";
+      sha256 = "1xxpl8rn49d2cr7ld94j3wsg21019l2kq14p5bvilisnj3salka3";
+      name = "kapidox-5.91.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/karchive-5.90.0.tar.xz";
-      sha256 = "0411rpgr9dy0zf9mmhj7n7ax0afrn7zvkpzpnjvpvvqsrfkz7qm6";
-      name = "karchive-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/karchive-5.91.0.tar.xz";
+      sha256 = "1kjc47zzdd9jhcmynq6zw6y6zaj2c1i8pxvszx3d9x5asaz2qq53";
+      name = "karchive-5.91.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kauth-5.90.0.tar.xz";
-      sha256 = "1g4i1prspcczpx25wvd8lgdk8c3my7kp3wv489gvcci40rl5z913";
-      name = "kauth-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kauth-5.91.0.tar.xz";
+      sha256 = "001svdyvs8qc6h8zkb9x072npkz6xabz6j0djjb380gl9h9wnrgq";
+      name = "kauth-5.91.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kbookmarks-5.90.0.tar.xz";
-      sha256 = "1svc1i9zxbxf65crfhnv6sz5gknb7x87lzjd8cn11y5lwnsw36kx";
-      name = "kbookmarks-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kbookmarks-5.91.0.tar.xz";
+      sha256 = "0iqfngsvpbgxk6h8l68idcp97df28sa2zwj707zs0mf2bl9k68m4";
+      name = "kbookmarks-5.91.0.tar.xz";
     };
   };
   kcalendarcore = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kcalendarcore-5.90.0.tar.xz";
-      sha256 = "0qbds2ysjv9rqwpvrhisvdd6wyhq5qwhbw5xcbj7ndxwpf8lpa8w";
-      name = "kcalendarcore-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kcalendarcore-5.91.0.tar.xz";
+      sha256 = "0gkn0mzk3za86pjrpi8gd9d71bfv0ihzkgn8yy1ik3dw1rf9gxip";
+      name = "kcalendarcore-5.91.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kcmutils-5.90.0.tar.xz";
-      sha256 = "04crq3j48xwlvp047p3waqrv1gg5sv1950jh02w85q00yjjh0qxk";
-      name = "kcmutils-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kcmutils-5.91.0.tar.xz";
+      sha256 = "009r9r7fz1588g2cnqw585d2fz170x8j8bip1zqr7i4jl21ms68s";
+      name = "kcmutils-5.91.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kcodecs-5.90.0.tar.xz";
-      sha256 = "0kwqyhjs63pqslqcmv3sngyqvl6ah8iaa6nn045sb8a58xb09inh";
-      name = "kcodecs-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kcodecs-5.91.0.tar.xz";
+      sha256 = "0qkwvbp4vp3w57f3fyjknxd66qac77hl77mf042c7jxjl5vq7h1y";
+      name = "kcodecs-5.91.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kcompletion-5.90.0.tar.xz";
-      sha256 = "0hd3nsixibw5z846mpib2lap3ar65rqvasifdnlmqsrvxfmw0ggk";
-      name = "kcompletion-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kcompletion-5.91.0.tar.xz";
+      sha256 = "1l6z85a4rh3vrf4x5g3pqvp0q36gwmw0fbp9ny1iaqyy21dlh8i4";
+      name = "kcompletion-5.91.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kconfig-5.90.0.tar.xz";
-      sha256 = "0yqs3ydxzhhb7rrl01swjc9xw8j1bs3n204bf9slb2bs7lfz56rn";
-      name = "kconfig-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kconfig-5.91.0.tar.xz";
+      sha256 = "0axdnqipa8xgx864zylxllnzchlp50q59bbfw3c98svvvkm3yg56";
+      name = "kconfig-5.91.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kconfigwidgets-5.90.0.tar.xz";
-      sha256 = "1sm1x64x2v3xfcz9ia6qk8d8y1q02fggrc2q0yy5ag5xh1yr9zwq";
-      name = "kconfigwidgets-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kconfigwidgets-5.91.0.tar.xz";
+      sha256 = "01mvv01hv64wadjh8xk3hhp1vbs04cvbrjpfl1g9cv2sa6hr7102";
+      name = "kconfigwidgets-5.91.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kcontacts-5.90.0.tar.xz";
-      sha256 = "0vv2136da5a6lwdj2x38jx2qwrk96hgn8iwaad4yynvc2csx6dim";
-      name = "kcontacts-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kcontacts-5.91.0.tar.xz";
+      sha256 = "1c839c9rvys3jwmi3fzw06r1nhgvrb4z8sdh8gda0w03vqh7h1hv";
+      name = "kcontacts-5.91.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kcoreaddons-5.90.0.tar.xz";
-      sha256 = "02m4h4r0kdy94zq8c6d2fhnd8qwrp4a0v5i4wf6khk4yf4fqy5kf";
-      name = "kcoreaddons-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kcoreaddons-5.91.0.tar.xz";
+      sha256 = "16vimllvcs6rnb1ccbv9zg8hxbzacisgrlffyvwm608f4q1xmqyz";
+      name = "kcoreaddons-5.91.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kcrash-5.90.0.tar.xz";
-      sha256 = "0634jqzbvr8xkv53n2q3fcqlkcmq843w7g455v3swnlaqi92l04f";
-      name = "kcrash-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kcrash-5.91.0.tar.xz";
+      sha256 = "0gdknmp5a36ipvzms4jhxywyxpjh0vy26861c54jfsk13yircjal";
+      name = "kcrash-5.91.0.tar.xz";
     };
   };
   kdav = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kdav-5.90.0.tar.xz";
-      sha256 = "0181ray8vigmwlamx4j5dinw10al0g4l965kyx4wjq9k59nxxgbi";
-      name = "kdav-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kdav-5.91.0.tar.xz";
+      sha256 = "026w3bk2lmc7lqzra8w9jq8i2l1hvqsxz36r1jzj9p01skhdm32v";
+      name = "kdav-5.91.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kdbusaddons-5.90.0.tar.xz";
-      sha256 = "0g609bymfixwaic30y7i0q96anf7pi3galipmjbbfg85ghj9rsa4";
-      name = "kdbusaddons-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kdbusaddons-5.91.0.tar.xz";
+      sha256 = "18qhpj0s4abypkb8ix2d84wv1kqv6qxyblninn2f9hjkl2dnlwis";
+      name = "kdbusaddons-5.91.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kdeclarative-5.90.0.tar.xz";
-      sha256 = "1z7zyj6pw2ym3izi19kpgy12mqpar6mbdbsn6jpxy36l6m3jld1y";
-      name = "kdeclarative-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kdeclarative-5.91.0.tar.xz";
+      sha256 = "183df5c0xyjqsip0izqvvk4wy2bjb973900s1wqsldhhvc7gpf7z";
+      name = "kdeclarative-5.91.0.tar.xz";
     };
   };
   kded = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kded-5.90.0.tar.xz";
-      sha256 = "094g6p87nd5cxcars71315w6zrxjgiw2080p6cf6g72ww54k7sps";
-      name = "kded-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kded-5.91.0.tar.xz";
+      sha256 = "1zi0sixlzaxvw4lfil2r36i3xrav3vfwxp2r1lp4n65dpl7nv7p5";
+      name = "kded-5.91.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/portingAids/kdelibs4support-5.90.0.tar.xz";
-      sha256 = "0zxc11jbg06qz79ljrd6wl36jp73hafcmbk29d0hcvxnkscg3k29";
-      name = "kdelibs4support-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/portingAids/kdelibs4support-5.91.0.tar.xz";
+      sha256 = "1373fi9vi7ki8frr0lsw6yp335i95v8yq2j41s7ip003dpy4hr2g";
+      name = "kdelibs4support-5.91.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/portingAids/kdesignerplugin-5.90.0.tar.xz";
-      sha256 = "18gsy8f32hjadzjnavi3dsknc6hflcnfpr0107lwfc735fd2x2iq";
-      name = "kdesignerplugin-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/portingAids/kdesignerplugin-5.91.0.tar.xz";
+      sha256 = "07lvvryc3k418hd0j7ddlqhid26c51isa8mvk7g6gd0v2x3gp76q";
+      name = "kdesignerplugin-5.91.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kdesu-5.90.0.tar.xz";
-      sha256 = "1q8k2q7c41fzw9gwx9nq4zjpjdwvh29zyh3zd0w3r2kxf6vhf1wp";
-      name = "kdesu-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kdesu-5.91.0.tar.xz";
+      sha256 = "1wj099w810dabqn43pqis4sism3zwq3d1qa9mvcdyjafqbl7xnjm";
+      name = "kdesu-5.91.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/portingAids/kdewebkit-5.90.0.tar.xz";
-      sha256 = "19dqlxy2sl822aldqy1jj7fvxabmg97a0av7d5ayzhnbhhy5izx1";
-      name = "kdewebkit-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/portingAids/kdewebkit-5.91.0.tar.xz";
+      sha256 = "1mln0w1dzrbpm373vfpcyss4xxnrfgwh9nhzr8wmzs8965bn3wqq";
+      name = "kdewebkit-5.91.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kdnssd-5.90.0.tar.xz";
-      sha256 = "17szlqsafz6p4h7s9wascaggn5909c1ig452wy6y4z4402s2lsrr";
-      name = "kdnssd-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kdnssd-5.91.0.tar.xz";
+      sha256 = "1smzwh7lvz8g7vydxnd2kkh0ymg7yp6akc7k2vg8q65pa6pxqn3g";
+      name = "kdnssd-5.91.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kdoctools-5.90.0.tar.xz";
-      sha256 = "1l2a9mlcm8np3s8myq0hj08l82284r90yhx3z2gn7h68b8fzyx0s";
-      name = "kdoctools-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kdoctools-5.91.0.tar.xz";
+      sha256 = "02lr4l4n5gnv7ffzml8lbrdwgfpq6m7ayhz3bdqqijdfvw6h283n";
+      name = "kdoctools-5.91.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kemoticons-5.90.0.tar.xz";
-      sha256 = "08mgk56dafj3q9gs69qcx17qfc45s8ifkjrpzg44p8zs0q51q6cb";
-      name = "kemoticons-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kemoticons-5.91.0.tar.xz";
+      sha256 = "1jznkiq87rkndv10xs6974b5k0v82ly32agy5acxc2xy9wq7la0h";
+      name = "kemoticons-5.91.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kfilemetadata-5.90.0.tar.xz";
-      sha256 = "18y4bn6hz8xa68m0nxv88a1f3xkkks7c7pbiqb1vkrp9bbh52yax";
-      name = "kfilemetadata-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kfilemetadata-5.91.0.tar.xz";
+      sha256 = "1z030irzcvmjq329nwfk3h8cd51dwy9mppnwbgcd0lw6y3bka0rq";
+      name = "kfilemetadata-5.91.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kglobalaccel-5.90.0.tar.xz";
-      sha256 = "04qd1fcc22x70jacqzrv44q1jg5ldzynlfpw5cg2679409r0wnxw";
-      name = "kglobalaccel-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kglobalaccel-5.91.0.tar.xz";
+      sha256 = "09wscg6f19sh314ywpxp47pdr1xf1wzpjchg9rcjg207zrfhqqf0";
+      name = "kglobalaccel-5.91.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kguiaddons-5.90.0.tar.xz";
-      sha256 = "0m9l8xyc7xyj29fzxwp8ahr2l1rzs5rw1c26x446kb7smxvy8awx";
-      name = "kguiaddons-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kguiaddons-5.91.0.tar.xz";
+      sha256 = "0gn8lvpm4i11s5vavlpm162bizjkmh5cb4dhj3p34dlp4vcc4mky";
+      name = "kguiaddons-5.91.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kholidays-5.90.0.tar.xz";
-      sha256 = "1p1kgy110ijk5a3ix4g9y1i7w0gsnzf82jdkwbdza95vibm82iz8";
-      name = "kholidays-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kholidays-5.91.0.tar.xz";
+      sha256 = "165vfmi5y8l00ng494469w5s1gjnf9zkggqrzmq65dfkdis3amdm";
+      name = "kholidays-5.91.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/portingAids/khtml-5.90.0.tar.xz";
-      sha256 = "1bi839x4dhlkqxmv98pq01725b8i8szdxf9b1hf1jv37fk468mja";
-      name = "khtml-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/portingAids/khtml-5.91.0.tar.xz";
+      sha256 = "1ldkk1f954mmgz30vqa895z1nw2jaknnb53lsd5vqxzxi3cmc054";
+      name = "khtml-5.91.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/ki18n-5.90.0.tar.xz";
-      sha256 = "13k8kbkmgdywclcdbfj5ri3gmdblv8yzalmvqd0hn7sym6pkdqfw";
-      name = "ki18n-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/ki18n-5.91.0.tar.xz";
+      sha256 = "11gdd2gvzsz3r8zvqbxxwbpwjvjwnzzhzyrd4spbpdy0w7j8n6ly";
+      name = "ki18n-5.91.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kiconthemes-5.90.0.tar.xz";
-      sha256 = "0w3wi4xy1yy2s1a927cj4my63q0fqhw06ghy9zjw830m31xwpx1k";
-      name = "kiconthemes-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kiconthemes-5.91.0.tar.xz";
+      sha256 = "1khh4ngivwdj9rxxcpx08ka8anskc9i1z9n2zijp4m5ix8mmj3c2";
+      name = "kiconthemes-5.91.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kidletime-5.90.0.tar.xz";
-      sha256 = "1xzwmk0aqv1lcdi51nl1k0lyiinnqxwla6w0xxmsh6193qa3fpvq";
-      name = "kidletime-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kidletime-5.91.0.tar.xz";
+      sha256 = "12qmiwc8p3izj1y5h0rndj2s496ckm1p85dv4g51zbpg7m8a48qv";
+      name = "kidletime-5.91.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kimageformats-5.90.0.tar.xz";
-      sha256 = "0r3ihkly0hf20aqbn7b9171mzqjna078rksdp96z6f7f1qy99v1v";
-      name = "kimageformats-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kimageformats-5.91.0.tar.xz";
+      sha256 = "0df8in33xwajqay487w0hjfsplz8y51w9sjb75na7yqsn75p38xb";
+      name = "kimageformats-5.91.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kinit-5.90.0.tar.xz";
-      sha256 = "0z65hfhj68ahjm558p2pj7dlrczcww8f2xyw9f44w10bp3p5hf1a";
-      name = "kinit-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kinit-5.91.0.tar.xz";
+      sha256 = "1y62k24mwzbg4gchvjb8wn6ygq57wc72clb3jgyipw034czdihvi";
+      name = "kinit-5.91.0.tar.xz";
     };
   };
   kio = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kio-5.90.0.tar.xz";
-      sha256 = "0ds6465fyzjj2azwdghrkxr9wvih0m96lv4kp6syqwii8nv2w7rs";
-      name = "kio-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kio-5.91.0.tar.xz";
+      sha256 = "14v28qilb5ayv9shw86hb88k60nr4bbd2pa4vwsqij9xkwlympgj";
+      name = "kio-5.91.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kirigami2-5.90.0.tar.xz";
-      sha256 = "0r48n11pv3yqsf11phl19cs52ph5ldabrfmq3xmsvxsknm6c4f9b";
-      name = "kirigami2-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kirigami2-5.91.0.tar.xz";
+      sha256 = "0ifljwa6hli2rndfadpzs30dpwc99nnvcm3yi9j5dim2bdf6glwc";
+      name = "kirigami2-5.91.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kitemmodels-5.90.0.tar.xz";
-      sha256 = "0f7zlif7kskbwpw8yrzlfyl954b623icdd9qn0algjcc2i9gqbzi";
-      name = "kitemmodels-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kitemmodels-5.91.0.tar.xz";
+      sha256 = "189kgrw2vjr9067mqr4f2sv06xmnjaapry0bf8s41v6r9v7py708";
+      name = "kitemmodels-5.91.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kitemviews-5.90.0.tar.xz";
-      sha256 = "10s285vxaaxjcy3am4bvch5wd7wv64wwcjvj7lqk2866aql9hmzp";
-      name = "kitemviews-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kitemviews-5.91.0.tar.xz";
+      sha256 = "16cm4zmv1ngrsmy6k0ybv5wxd0g8cc8zwq6ab7jvs7a04sykv238";
+      name = "kitemviews-5.91.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kjobwidgets-5.90.0.tar.xz";
-      sha256 = "1jv3c68mlsxhnd6jgqw5d4qqd66jf8bh6zbcs6bq0bad52ad2r8d";
-      name = "kjobwidgets-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kjobwidgets-5.91.0.tar.xz";
+      sha256 = "14pkyd6j78kignr62xfkvpyi2fwvzcvcsdnn23h8jxkhwm2ri42v";
+      name = "kjobwidgets-5.91.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/portingAids/kjs-5.90.0.tar.xz";
-      sha256 = "1z5d1ixzvaq6x9x0jhmh5bdrdqpsl1x7mh3s8wnycfxwmln6bawv";
-      name = "kjs-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/portingAids/kjs-5.91.0.tar.xz";
+      sha256 = "0jbwlnmf8whzgjkrbnsvdsnn3kv0h44ghf63m2qcgg2l9wb0j8rj";
+      name = "kjs-5.91.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/portingAids/kjsembed-5.90.0.tar.xz";
-      sha256 = "0ydrsg7z1b5hkskjvkb0b9lhx60aqcby2alhfbmkac197sf2frn4";
-      name = "kjsembed-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/portingAids/kjsembed-5.91.0.tar.xz";
+      sha256 = "124y7518jhjg3y2x7bcyl6b3c0bfxfbgd2sz6dwk45y4byx7rl60";
+      name = "kjsembed-5.91.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/portingAids/kmediaplayer-5.90.0.tar.xz";
-      sha256 = "010m5qrn41hcxsmxsq72m83qxikfvn3mgibkgy4bn2x8kxibzmlq";
-      name = "kmediaplayer-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/portingAids/kmediaplayer-5.91.0.tar.xz";
+      sha256 = "0rn9azrj8k1m67y9ni0f3nwl9ldf1ksiqv6dgnzrx6xh0rxfm2h1";
+      name = "kmediaplayer-5.91.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/knewstuff-5.90.0.tar.xz";
-      sha256 = "0q30p7z5zg3p24gp8q83i7my5bg4yfcdwsblmhl230kih8aap2cg";
-      name = "knewstuff-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/knewstuff-5.91.0.tar.xz";
+      sha256 = "0akaxi9klmpwn4pyr6ys5sxcapdspldq1f64im7vd6byzqrgpnax";
+      name = "knewstuff-5.91.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/knotifications-5.90.0.tar.xz";
-      sha256 = "15qb3jh5y1z84dp6wddwid4bk3ks05knkxlwv79hb9cdj8m4m7gi";
-      name = "knotifications-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/knotifications-5.91.0.tar.xz";
+      sha256 = "1207rimq8si1zxnn827631a1hskrd3m3ilgaj3wj859qrbkqmxzm";
+      name = "knotifications-5.91.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/knotifyconfig-5.90.0.tar.xz";
-      sha256 = "1qss40sr7az9x4yvl59mblzzgjm3hd8nvxgqmqlylargvggw496c";
-      name = "knotifyconfig-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/knotifyconfig-5.91.0.tar.xz";
+      sha256 = "07m5mphd8mrak5sdqlldbcd51946v49xpcwi9fhn7w0kx29hknyf";
+      name = "knotifyconfig-5.91.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kpackage-5.90.0.tar.xz";
-      sha256 = "1rig9aws8530sav0pmginqmdcrnz10qjbxfc5lw6mmb3sfig53z0";
-      name = "kpackage-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kpackage-5.91.0.tar.xz";
+      sha256 = "12w8lfwifa107wlrld3zz774hczn9mkib6wqxw24yxxmzfw9lc2i";
+      name = "kpackage-5.91.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kparts-5.90.0.tar.xz";
-      sha256 = "1x8kxd8kgzabd9dyqx2yx1qrrzl1mms4hm3lyg3f1nxki7xl6ra2";
-      name = "kparts-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kparts-5.91.0.tar.xz";
+      sha256 = "10ni6b114acjnmrahvvqw75iqkc10ii97y3z7lirj2727a3qmzzj";
+      name = "kparts-5.91.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kpeople-5.90.0.tar.xz";
-      sha256 = "1632k365bn9n3n8babq620v0px2hmapk8fprx28xpfp27zakhfgw";
-      name = "kpeople-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kpeople-5.91.0.tar.xz";
+      sha256 = "09l2q8cg9p8g7zkd1mjx6x08bqkr4ykxjibskc184asff7v47gvp";
+      name = "kpeople-5.91.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kplotting-5.90.0.tar.xz";
-      sha256 = "0i5ganvpzkpkd2p1avw0fpbp3mgbbifg8mmpvdf28ayh75dvrh9y";
-      name = "kplotting-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kplotting-5.91.0.tar.xz";
+      sha256 = "0rgmmliw9cfi0j2miszqz2kphqm04r5nfs8dqq6pnvclk1k9kss6";
+      name = "kplotting-5.91.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kpty-5.90.0.tar.xz";
-      sha256 = "1p5ny9ry0wwwprhpj9s9xg96h9476rldly7mawvfp5q3ihys8c4a";
-      name = "kpty-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kpty-5.91.0.tar.xz";
+      sha256 = "1yy1k96kikvvnlyd00krc08ifiqbrz0x5vwv3pgdbpnwgl8p580d";
+      name = "kpty-5.91.0.tar.xz";
     };
   };
   kquickcharts = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kquickcharts-5.90.0.tar.xz";
-      sha256 = "1vf9vwrb03z6f19xyc1dc50s3kz21s4mkrv85mmyia0by4qvq5fi";
-      name = "kquickcharts-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kquickcharts-5.91.0.tar.xz";
+      sha256 = "1ghiymm257b8xgmkibb7s7bwb28x3zhnrgrrsya47q5njb87h0ck";
+      name = "kquickcharts-5.91.0.tar.xz";
     };
   };
   kross = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/portingAids/kross-5.90.0.tar.xz";
-      sha256 = "1gs7h03j753pq78q0fmajgd5pw8j3mc105rsph1c22l23vccya3z";
-      name = "kross-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/portingAids/kross-5.91.0.tar.xz";
+      sha256 = "06f8220jmvjsfbzjkr2ybwicwjffbi3yw9sr3bcyrilchrrpgqal";
+      name = "kross-5.91.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/krunner-5.90.0.tar.xz";
-      sha256 = "1q3hsml5274v8dy8rnqpnwxliad2q7a8mbs8k6kpqzih9z94crgi";
-      name = "krunner-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/krunner-5.91.0.tar.xz";
+      sha256 = "17iaw55rkzyfpgkbw2an6pa4wid79b0dnb3310vfaq0xkm0gjxq6";
+      name = "krunner-5.91.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kservice-5.90.0.tar.xz";
-      sha256 = "121y8bbq3m4pv5m9pj753v2nk914216a86ksmdqbgffw217qckdd";
-      name = "kservice-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kservice-5.91.0.tar.xz";
+      sha256 = "0m4j7djiyapi1hm23lz9nd238rrlldxlggzkqq056z486v2137bp";
+      name = "kservice-5.91.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/ktexteditor-5.90.0.tar.xz";
-      sha256 = "1g1dky9bgr2zjr0rw9c730shz588ykyw7qw3sgf0dr3sh8aq222n";
-      name = "ktexteditor-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/ktexteditor-5.91.0.tar.xz";
+      sha256 = "1bkz6v1y5vyxav398a6224ldqa9pqhbad3vmhxrjb2hxcbha2cpm";
+      name = "ktexteditor-5.91.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/ktextwidgets-5.90.0.tar.xz";
-      sha256 = "02g85zahh6hfsw3fcac7hp8kv4d1ha2asmmhnknqd054yl0adxjg";
-      name = "ktextwidgets-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/ktextwidgets-5.91.0.tar.xz";
+      sha256 = "0xmzrak5mwg1l4v38g14i7j1yr3j6sj13q2iqa433hs5agl6l6n4";
+      name = "ktextwidgets-5.91.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kunitconversion-5.90.0.tar.xz";
-      sha256 = "1vrvbsd8limfsmgjcv5kvzyf7g62rv1a0rvbdyq15z23zf4rsmf3";
-      name = "kunitconversion-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kunitconversion-5.91.0.tar.xz";
+      sha256 = "0n2v0f08s71z2imhn41jkm2knjvk7bkwmcz70gs8h97ykrj6niap";
+      name = "kunitconversion-5.91.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kwallet-5.90.0.tar.xz";
-      sha256 = "06ffg84jvrc8xhymg1g5j311vq3ajfqg3arx2cxa98aqld213akl";
-      name = "kwallet-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kwallet-5.91.0.tar.xz";
+      sha256 = "1z1qb6a2b5rqj7js88ms8n67fbs885pw6djbf1l86na2zhf0adip";
+      name = "kwallet-5.91.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kwayland-5.90.0.tar.xz";
-      sha256 = "0n7f4rx695q889j8g4sdpdi3jhk29z8zc4wrk5srs2diqi4y0qqi";
-      name = "kwayland-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kwayland-5.91.0.tar.xz";
+      sha256 = "1a03ckacp39lpsqyykkm6lxajxm71s6ifpzgj8q0a37v75jzmz9y";
+      name = "kwayland-5.91.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kwidgetsaddons-5.90.0.tar.xz";
-      sha256 = "1c17iq0q2w80p7v7k32db0pc5sbzqhvh0w5d145a1nkgr3nbnk6a";
-      name = "kwidgetsaddons-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kwidgetsaddons-5.91.0.tar.xz";
+      sha256 = "03pj98sgybkcz487vr774x05w46imnipq2794nkv426nnhyxrd73";
+      name = "kwidgetsaddons-5.91.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kwindowsystem-5.90.0.tar.xz";
-      sha256 = "0fj7a86dk833ld76c3b1s4ri47bhpvjsi6ryfgdv5q7h2fwh6ia5";
-      name = "kwindowsystem-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kwindowsystem-5.91.0.tar.xz";
+      sha256 = "1yy02fvfabrsvdpmrkdnjdsdd3d2crxavsl47si6ry8fdxb90y95";
+      name = "kwindowsystem-5.91.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/kxmlgui-5.90.0.tar.xz";
-      sha256 = "1q8v1wrx67c37jnd874ilkk8kfk3zvf3f86qg51k16ml0nrwjysg";
-      name = "kxmlgui-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/kxmlgui-5.91.0.tar.xz";
+      sha256 = "1qww2isx99lx0mn1dv0vzrvmr2xdp8zgikyvgw1wf8hfay3v2s1g";
+      name = "kxmlgui-5.91.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/portingAids/kxmlrpcclient-5.90.0.tar.xz";
-      sha256 = "0mq2wgi4qnvscjdkis7jhs004k3s1b3wg0vijjai7xzy772kvclc";
-      name = "kxmlrpcclient-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/portingAids/kxmlrpcclient-5.91.0.tar.xz";
+      sha256 = "1bnymf5wq4apjsgshvbhcggdw7jc0yxv4jag3k19ff9820lskhph";
+      name = "kxmlrpcclient-5.91.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/modemmanager-qt-5.90.0.tar.xz";
-      sha256 = "08nlvg5lwvl3rspi848gp2b2b5pki6sy8c3ww9nn4afy4lk7p609";
-      name = "modemmanager-qt-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/modemmanager-qt-5.91.0.tar.xz";
+      sha256 = "15l46lkh8nkal1nai494dabaysy581jzi8nwrv4kjvc6qwc3yrx2";
+      name = "modemmanager-qt-5.91.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/networkmanager-qt-5.90.0.tar.xz";
-      sha256 = "0i9wvrxbkbil21zndiq4cmnldbqsrdp9gnhmp2ns78xdih8wysa7";
-      name = "networkmanager-qt-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/networkmanager-qt-5.91.0.tar.xz";
+      sha256 = "0f27qin2ks3q7rin53sk9vjjnadjnax99d9k245sjr6fjpczy81f";
+      name = "networkmanager-qt-5.91.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/oxygen-icons5-5.90.0.tar.xz";
-      sha256 = "1izfh6cxivmwiymy7lwbmf9j1hxy2skv6z1lbjr0c4snmx6pqx1g";
-      name = "oxygen-icons5-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/oxygen-icons5-5.91.0.tar.xz";
+      sha256 = "0j3j2lyxr2iz68vasvpjqkix4bnnj6wc4sr97i6x6z06zq0kawai";
+      name = "oxygen-icons5-5.91.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/plasma-framework-5.90.0.tar.xz";
-      sha256 = "1msqjnwvb815kii0rjhn1lvsnvq5wr8iprdjzsviw67va6gaz4p1";
-      name = "plasma-framework-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/plasma-framework-5.91.0.tar.xz";
+      sha256 = "0ydhhpnwf7lfl3kdjsw92mgsza5gy292f7v6kyby4ygjnir1hizl";
+      name = "plasma-framework-5.91.0.tar.xz";
     };
   };
   prison = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/prison-5.90.0.tar.xz";
-      sha256 = "0z2k2hyjj86va5rqgd8qrvhflfppcl2d3f9smxb5w9pp19ashvyk";
-      name = "prison-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/prison-5.91.0.tar.xz";
+      sha256 = "0k1zp3jzh8gjsji6wh5g8k41zdl8s1vd58ipm0lxy670a71wcqcg";
+      name = "prison-5.91.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/purpose-5.90.0.tar.xz";
-      sha256 = "182196hj3mdy1k7wfgadfxy7m1kbqzk6kksn7yd681h2gpky82l1";
-      name = "purpose-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/purpose-5.91.0.tar.xz";
+      sha256 = "1z6wpz7d9byx4n5zx6chmyy9k1jkmghdgahsvkqsc33z6hnh2b4m";
+      name = "purpose-5.91.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/qqc2-desktop-style-5.90.0.tar.xz";
-      sha256 = "05g1rydx0innmiz28mslix4bjsrhsnci227gadngzijncp2v288r";
-      name = "qqc2-desktop-style-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/qqc2-desktop-style-5.91.0.tar.xz";
+      sha256 = "0rd9rvffhif8yckwr7axjcv5iqn5b0jdviij7f9y8vjpkzyjvm8i";
+      name = "qqc2-desktop-style-5.91.0.tar.xz";
     };
   };
   solid = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/solid-5.90.0.tar.xz";
-      sha256 = "10hk4mh426dhi7is5hxa1varn15ijzra5a420zk297pzkphvx0ip";
-      name = "solid-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/solid-5.91.0.tar.xz";
+      sha256 = "1a4k0amyg8mvfr2ld7v8zyphhxv33yybh55vqcshwv4a0jm1wmjg";
+      name = "solid-5.91.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/sonnet-5.90.0.tar.xz";
-      sha256 = "0d4xxm9vw1rc2mypv4z0yihcn679sab0afxr2kbzq01wr6p759y7";
-      name = "sonnet-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/sonnet-5.91.0.tar.xz";
+      sha256 = "067xj5mllpzl0gnxxljhfi9y4xdgrpqbckm7pykczzqrklrrx8dx";
+      name = "sonnet-5.91.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/syndication-5.90.0.tar.xz";
-      sha256 = "0a9j443w42jwvlzjh5mfxn25kwjrz1ya6sgy0c4y3n5xbg031zmx";
-      name = "syndication-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/syndication-5.91.0.tar.xz";
+      sha256 = "1f2kb6mh1xc1k1bn536lq9gq0j2lb65qw4vpp4ixynlfij4zq1gy";
+      name = "syndication-5.91.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/syntax-highlighting-5.90.0.tar.xz";
-      sha256 = "19mckdfdxb5i26y75cgmda91s864jbh1wmf98bv8xa1iqxwkwj5z";
-      name = "syntax-highlighting-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/syntax-highlighting-5.91.0.tar.xz";
+      sha256 = "0fprqi2z8issh3jkql6labszkwd3cpvd6qadsg9fi46vfjr4a2ip";
+      name = "syntax-highlighting-5.91.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.90.0";
+    version = "5.91.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.90/threadweaver-5.90.0.tar.xz";
-      sha256 = "1frhzlzmnrp5y3lrl0ahzxh8syj4vlkjvaypsmbm2bkkn4akizg3";
-      name = "threadweaver-5.90.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.91/threadweaver-5.91.0.tar.xz";
+      sha256 = "1900kqglkwzkjc24mvl0j7jf7xcx6cr6b1g78s5b5m18rw050j12";
+      name = "threadweaver-5.91.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/lcms2/default.nix b/pkgs/development/libraries/lcms2/default.nix
index b600a2ca4c3..14579bc5915 100644
--- a/pkgs/development/libraries/lcms2/default.nix
+++ b/pkgs/development/libraries/lcms2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lcms2";
-  version = "2.12";
+  version = "2.13.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/lcms/${pname}-${version}.tar.gz";
-    sha256 = "sha256-GGY5hehkEARVrD5QdiXEOMNxA1TYXly7fNQEPhH+EPU=";
+    sha256 = "sha256-1HPnlueyfFrwG9bRVS1CtFtDRX5xgs6ZA/OLt0ggO4g=";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix
index 82e44033313..3a3866911b8 100644
--- a/pkgs/development/libraries/libaom/default.nix
+++ b/pkgs/development/libraries/libaom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libaom";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchzip {
     url = "https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz";
-    sha256 = "0fmnbzpl481i7kchx4hbvb507r5pfgyrzfrlrs7jk3bicycm75qv";
+    sha256 = "sha256-g6QkKLrk+SH1s5fRmseAQMmM6y4QwmKmVDPxdbqGmwg=";
     stripRoot = false;
   };
 
diff --git a/pkgs/development/libraries/libarchive-qt/default.nix b/pkgs/development/libraries/libarchive-qt/default.nix
index 62b425bba05..ae74fd3028a 100644
--- a/pkgs/development/libraries/libarchive-qt/default.nix
+++ b/pkgs/development/libraries/libarchive-qt/default.nix
@@ -1,19 +1,20 @@
-{ mkDerivation, lib, fetchFromGitLab, libarchive, xz, zlib, bzip2, cmake, ninja }:
+{ mkDerivation, lib, fetchFromGitLab, libarchive, xz, zlib, bzip2, meson, pkg-config, ninja }:
 
 mkDerivation rec {
   pname = "libarchive-qt";
-  version = "2.0.6";
+  version = "2.0.7";
 
   src = fetchFromGitLab {
     owner = "marcusbritanicus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Z+2zjQolV1Ncr6v9r7fGrc/fEMt0iMtGwv9eZ2Tu2cA=";
+    sha256 = "sha256-KRywB+Op44N00q9tgO2WNCliRgUDRvrCms1O8JYt62o=";
   };
 
   nativeBuildInputs = [
-    cmake
+    meson
     ninja
+    pkg-config
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index 2a1d53e6ee0..1cc6fe6f521 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -12,13 +12,13 @@ assert xarSupport -> libxml2 != null;
 
 stdenv.mkDerivation rec {
   pname = "libarchive";
-  version = "3.5.2";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "libarchive";
     repo = "libarchive";
     rev = "v${version}";
-    sha256 = "sha256-H00UJ+ON1kBc19BgWBBKmO8f23oAg2mk7o9hhDhn50Q=";
+    sha256 = "sha256-u6Zeu9yTjhx5U7KZVUkuuUsQPjWN71mE5egG4T+FGfY=";
   };
 
   outputs = [ "out" "lib" "dev" ];
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix
index 745b34226e2..8c8e47b98a4 100644
--- a/pkgs/development/libraries/libbsd/default.nix
+++ b/pkgs/development/libraries/libbsd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libbsd";
-  version = "0.11.3";
+  version = "0.11.5";
 
   src = fetchurl {
     url = "https://libbsd.freedesktop.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "18a2bcl9z0zyxhrm1lfv4yhhz0589s6jz0s78apaq78mhj0wz5gz";
+    sha256 = "sha256-GpyVJSVjXBu2dwyyLpabk42Oap15EjYrmO6DcFmbDv0=";
   };
 
   outputs = [ "out" "dev" "man" ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Common functions found on BSD systems";
     homepage = "https://libbsd.freedesktop.org/";
-    license = licenses.bsd3;
+    license = with licenses; [ beerware bsd2 bsd3 bsdOriginal isc mit ];
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ matthewbauer ];
   };
diff --git a/pkgs/development/libraries/libclc/default.nix b/pkgs/development/libraries/libclc/default.nix
index fdcc2ae0081..c634892944c 100644
--- a/pkgs/development/libraries/libclc/default.nix
+++ b/pkgs/development/libraries/libclc/default.nix
@@ -27,6 +27,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ninja python3 ];
   buildInputs = [ llvm clang-unwrapped ];
   strictDeps = true;
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ];
 
   meta = with lib; {
     homepage = "http://libclc.llvm.org/";
diff --git a/pkgs/development/libraries/libctl/default.nix b/pkgs/development/libraries/libctl/default.nix
new file mode 100644
index 00000000000..d7fed2415df
--- /dev/null
+++ b/pkgs/development/libraries/libctl/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, gfortran
+, guile
+, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libctl";
+  version = "4.5.1";
+
+  src = fetchFromGitHub {
+    owner = "NanoComp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "uOydBWYPXSBUi+4MM6FNx6B5l2to7Ny9Uc1MMTV9bGA=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook gfortran guile pkg-config ];
+
+  configureFlags = [ "--enable-shared" ];
+
+  meta = with lib; {
+    description = "Guile-based library for supporting flexible control files in scientific simulations";
+    homepage = "https://github.com/NanoComp/libctl";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ carpinchomug ];
+  };
+}
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index 731039e26a0..e08a4673248 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdrm";
-  version = "2.4.109";
+  version = "2.4.110";
 
   src = fetchurl {
     url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "09kzrdsd14zr0i3izvi5mck4vqccl3c9hr84r9i4is0zikh554v2";
+    sha256 = "0dwpry9m5l27dlhq48j4bsiqwm0247cxdqwv3b7ddmkynk2f9kpf";
   };
 
   outputs = [ "out" "dev" "bin" ];
diff --git a/pkgs/development/libraries/libgbinder/default.nix b/pkgs/development/libraries/libgbinder/default.nix
index f2ecf94053b..e5a3b79ba77 100644
--- a/pkgs/development/libraries/libgbinder/default.nix
+++ b/pkgs/development/libraries/libgbinder/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgbinder";
-  version = "1.1.16";
+  version = "1.1.19";
 
   src = fetchFromGitHub {
     owner = "mer-hybris";
     repo = pname;
     rev = version;
-    sha256 = "sha256-g+3yRRiTv2l7ZpJc5a6tOPsErKjdALomAWmYHErdfIQ=";
+    sha256 = "sha256-HTmNoTGyFtOXRy7Y/ZnEgTa2GW6/+TeZxZo7c7ksNtc=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libgee/default.nix b/pkgs/development/libraries/libgee/default.nix
index 1a40d1f17b4..b34790d59c7 100644
--- a/pkgs/development/libraries/libgee/default.nix
+++ b/pkgs/development/libraries/libgee/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgee";
-  version = "0.20.4";
+  version = "0.20.5";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "03nyf8n7i7f67fsh220g52slmihdk1lv4iwspm7xmkgrj3rink2j";
+    sha256 = "MYY6iVfVpyf5BnSVyr8KCIn6XT1EYm5UCUMxGI1cFRg=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libhdhomerun/default.nix b/pkgs/development/libraries/libhdhomerun/default.nix
index 187382e1f3e..0c84cb7e0b1 100644
--- a/pkgs/development/libraries/libhdhomerun/default.nix
+++ b/pkgs/development/libraries/libhdhomerun/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libhdhomerun";
-  version = "20210624";
+  version = "20220303";
 
   src = fetchurl {
     url = "https://download.silicondust.com/hdhomerun/libhdhomerun_${version}.tgz";
-    sha256 = "sha256-3q9GO7zD7vpy+XGZ77YhP3sOLI6R8bPSy/UgVqhxXRU=";
+    sha256 = "sha256-HlT/78LUiTkRUB2jHmYrnQY+bBiv4stcZlMyUnelSpc=";
   };
 
   patchPhase = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/libraries/libnbd/default.nix b/pkgs/development/libraries/libnbd/default.nix
index 3988a79c325..ba21e2206a8 100644
--- a/pkgs/development/libraries/libnbd/default.nix
+++ b/pkgs/development/libraries/libnbd/default.nix
@@ -6,16 +6,17 @@
 , perl
 , libxml2
 , fuse
+, fuse3
 , gnutls
 }:
 
 stdenv.mkDerivation rec {
   pname = "libnbd";
-  version = "1.9.5";
+  version = "1.12.2";
 
   src = fetchurl {
-    url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-development/${pname}-${version}.tar.gz";
-    hash = "sha256-BnMoxIiuwhqcwVr3AwAIFgZPcFsIg55N66ZwWMTUnCw=";
+    url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz";
+    hash = "sha256-57veJapt72LkP02wO4c1nDdHmnodqfT+rKPNDeTGQPM=";
   };
 
   nativeBuildInputs = [
@@ -26,6 +27,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     fuse
+    fuse3
     gnutls
     libxml2
   ];
@@ -55,7 +57,6 @@ stdenv.mkDerivation rec {
     platforms = with platforms; linux;
   };
 }
-# TODO: NBD URI support apparently is not enabled
 # TODO: package the 1.6-stable version too
 # TODO: git version needs ocaml
 # TODO: bindings for go, ocaml and python
diff --git a/pkgs/development/libraries/libnfs/default.nix b/pkgs/development/libraries/libnfs/default.nix
index 4e12553b00b..dd442b2cd4b 100644
--- a/pkgs/development/libraries/libnfs/default.nix
+++ b/pkgs/development/libraries/libnfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libnfs";
-  version = "4.0.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "sahlberg";
     repo = "libnfs";
     rev = "libnfs-${version}";
-    sha256 = "0i27wd4zvhjz7620q043p4d4mkx8zv2yz9adm1byin47dynahyda";
+    sha256 = "sha256-5jyY7hqEhBPiQ8pNd+mRTEc4brht4ID7PoV7O2RFNQA=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index aeb3fcba06f..2293dfc00a0 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -11,7 +11,7 @@ let
   whenPatched = lib.optionalString apngSupport;
 
 in stdenv.mkDerivation rec {
-  name = "libpng" + whenPatched "-apng" + "-${version}";
+  pname = "libpng" + whenPatched "-apng";
   version = "1.6.37";
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix
index c3c9bf6947e..0906d7b967c 100644
--- a/pkgs/development/libraries/libqmi/default.nix
+++ b/pkgs/development/libraries/libqmi/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqmi";
-  version = "1.30.2";
+  version = "1.30.4";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz";
-    sha256 = "sha256-vgHs4OosIZTL6ldEv1qvBsBLpft+x4h6ExFsdtEU/t0=";
+    sha256 = "sha256-ANfaMKT40RhfN8uiic+vHfzQSljy921qz99bhTEtbtY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 1de6090b146..81cad37351a 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "librsvg";
-  version = "2.52.5";
+  version = "2.52.6";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "QHy7q1GBN+oYo/MiC+oYD77nXz5b1roQp6hiwab3TYI=";
+    sha256 = "o/k5oeajpgQIJEYy0DI/jDsg60t7AAU24uW9k7jv+q0=";
   };
 
   cargoVendorDir = "vendor";
diff --git a/pkgs/development/libraries/libsigsegv/default.nix b/pkgs/development/libraries/libsigsegv/default.nix
index bc36a12eea8..84c2f19e5e2 100644
--- a/pkgs/development/libraries/libsigsegv/default.nix
+++ b/pkgs/development/libraries/libsigsegv/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libsigsegv";
-  version = "2.13";
+  version = "2.14";
 
   src = fetchurl {
     url = "mirror://gnu/libsigsegv/libsigsegv-${version}.tar.gz";
-    sha256 = "sha256-vnjuQXawX3x1/wMpjYSHTbkPS2ydVQPw2hIms6PEgRk=";
+    sha256 = "sha256-zaw5QYAzZM+BqQhJm+t5wgDq1gtrW0DK0ST9HgbKopU=";
   };
 
   patches = if enableSigbusFix then [ ./sigbus_fix.patch ] else null;
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index 5f34a80d253..1371345ddd7 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchurl
+, fetchpatch
 
 , autoreconfHook
 , pkg-config
@@ -27,6 +28,21 @@ stdenv.mkDerivation rec {
     # libc++abi 11 has an `#include <version>`, this picks up files name
     # `version` in the project's include paths
     ./rename-version.patch
+    (fetchpatch {
+      name = "CVE-2022-22844.patch";
+      url = "https://gitlab.com/libtiff/libtiff/-/commit/03047a26952a82daaa0792957ce211e0aa51bc64.patch";
+      sha256 = "0cfih55f5qpc84mvlwsffik80bgz6drkflkhrdyqq8m84jw3mbwb";
+    })
+    (fetchpatch {
+      name = "CVE-2022-0561.patch";
+      url = "https://gitlab.com/libtiff/libtiff/-/commit/eecb0712f4c3a5b449f70c57988260a667ddbdef.patch";
+      sha256 = "0m57fdxyvhhr9cc260lvkkn2g4zr4n4v9nricc6lf9h6diagd7mk";
+    })
+    (fetchpatch {
+      name = "CVE-2022-0562.patch";
+      url = "https://gitlab.com/libtiff/libtiff/-/commit/561599c99f987dc32ae110370cfdd7df7975586b.patch";
+      sha256 = "0ycirjjc1vigj03kwjb92n6jszsl9p17ccw5hry7lli9gxyyr0an";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch b/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch
index 86dd461ea07..0945f21211d 100644
--- a/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch
+++ b/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch
@@ -1,4 +1,4 @@
-From a896b0be849455edb83a9305dfec9b41447ef3e4 Mon Sep 17 00:00:00 2001
+From ad42041cfedcf25716429d2aad16641e0e2a012f Mon Sep 17 00:00:00 2001
 From: Euan Kemp <euank@euank.com>
 Date: Thu, 14 Jan 2021 00:32:00 -0800
 Subject: [PATCH] meson: patch in an install prefix for building on nix
@@ -6,22 +6,28 @@ Subject: [PATCH] meson: patch in an install prefix for building on nix
 Used in the nixpkgs version of libvirt so that we can install things in
 the nix store, but read them from the root filesystem.
 ---
- meson.build                       |  9 +++++++++
+ meson.build                       |  9 ++++++++
  meson_options.txt                 |  2 ++
- src/libxl/meson.build             |  6 +++---
- src/locking/meson.build           |  8 ++++----
- src/lxc/meson.build               |  6 +++---
- src/meson.build                   | 18 +++++++++---------
- src/network/meson.build           | 12 ++++++------
+ src/ch/meson.build                |  6 ++---
+ src/interface/meson.build         |  2 +-
+ src/libxl/meson.build             | 18 +++++++--------
+ src/locking/meson.build           |  8 +++----
+ src/lxc/meson.build               | 10 ++++----
+ src/meson.build                   | 18 +++++++--------
+ src/network/meson.build           | 14 ++++++------
+ src/node_device/meson.build       |  2 +-
+ src/nwfilter/meson.build          |  6 ++---
  src/nwfilter/xml/meson.build      |  2 +-
- src/qemu/meson.build              | 14 +++++++-------
- src/remote/meson.build            |  6 +++---
- src/security/apparmor/meson.build |  8 ++++----
- tools/meson.build                 |  4 ++--
- 12 files changed, 53 insertions(+), 42 deletions(-)
+ src/qemu/meson.build              | 38 +++++++++++++++----------------
+ src/remote/meson.build            | 10 ++++----
+ src/secret/meson.build            |  4 ++--
+ src/security/apparmor/meson.build |  8 +++----
+ src/storage/meson.build           |  6 ++---
+ tools/meson.build                 |  2 +-
+ 18 files changed, 88 insertions(+), 77 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index b5164f6..33719f1 100644
+index 9016c0458a..b26e690194 100644
 --- a/meson.build
 +++ b/meson.build
 @@ -39,6 +39,8 @@ if host_machine.system() == 'windows'
@@ -48,7 +54,7 @@ index b5164f6..33719f1 100644
  # sysconfdir as this makes a lot of things break in testing situations
  if prefix == '/usr'
 diff --git a/meson_options.txt b/meson_options.txt
-index e5d79c2..081cd32 100644
+index 5b43cdbd6b..e9dff18441 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
 @@ -1,3 +1,5 @@
@@ -57,27 +63,67 @@ index e5d79c2..081cd32 100644
  option('no_git', type: 'boolean', value: false, description: 'Disable git submodule update')
  option('packager', type: 'string', value: '', description: 'Extra packager name')
  option('packager_version', type: 'string', value: '', description: 'Extra packager version')
+diff --git a/src/ch/meson.build b/src/ch/meson.build
+index 66b77907b0..6aa9bbc548 100644
+--- a/src/ch/meson.build
++++ b/src/ch/meson.build
+@@ -64,8 +64,8 @@ if conf.has('WITH_CH')
+   }
+ 
+   virt_install_dirs += [
+-    localstatedir / 'lib' / 'libvirt' / 'ch',
+-    localstatedir / 'log' / 'libvirt' / 'ch',
+-    runstatedir / 'libvirt' / 'ch',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'ch',
++    install_prefix + localstatedir / 'log' / 'libvirt' / 'ch',
++    install_prefix + runstatedir / 'libvirt' / 'ch',
+   ]
+ endif
+diff --git a/src/interface/meson.build b/src/interface/meson.build
+index 828f274422..2a6b1f8c5e 100644
+--- a/src/interface/meson.build
++++ b/src/interface/meson.build
+@@ -56,6 +56,6 @@ if conf.has('WITH_INTERFACE')
+   }
+ 
+   virt_install_dirs += [
+-    runstatedir / 'libvirt' / 'interface',
++    install_prefix + runstatedir / 'libvirt' / 'interface',
+   ]
+ endif
 diff --git a/src/libxl/meson.build b/src/libxl/meson.build
-index 3bb6cc5..78d7be0 100644
+index 0cc277db82..48d8c5b962 100644
 --- a/src/libxl/meson.build
 +++ b/src/libxl/meson.build
-@@ -84,8 +84,8 @@ if conf.has('WITH_LIBXL')
+@@ -79,14 +79,14 @@ if conf.has('WITH_LIBXL')
    }
  
    virt_install_dirs += [
+-    confdir / 'libxl',
+-    confdir / 'libxl' / 'autostart',
 -    localstatedir / 'lib' / 'libvirt' / 'libxl',
--    runstatedir / 'libvirt' / 'libxl',
+-    localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel',
+-    localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel' / 'target',
+-    localstatedir / 'lib' / 'libvirt' / 'libxl' / 'dump',
+-    localstatedir / 'lib' / 'libvirt' / 'libxl' / 'save',
 -    localstatedir / 'log' / 'libvirt' / 'libxl',
+-    runstatedir / 'libvirt' / 'libxl',
++    install_prefix + confdir / 'libxl',
++    install_prefix + confdir / 'libxl' / 'autostart',
 +    install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl',
-+    install_prefix + runstatedir / 'libvirt' / 'libxl',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel' / 'target',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl' / 'dump',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl' / 'save',
 +    install_prefix + localstatedir / 'log' / 'libvirt' / 'libxl',
++    install_prefix + runstatedir / 'libvirt' / 'libxl',
    ]
  endif
 diff --git a/src/locking/meson.build b/src/locking/meson.build
-index 8a28310..9da81cc 100644
+index 72f7780438..abe70d20d5 100644
 --- a/src/locking/meson.build
 +++ b/src/locking/meson.build
-@@ -243,14 +243,14 @@ if conf.has('WITH_LIBVIRTD')
+@@ -238,14 +238,14 @@ if conf.has('WITH_LIBVIRTD')
    }
  
    virt_install_dirs += [
@@ -97,26 +143,39 @@ index 8a28310..9da81cc 100644
    endif
  endif
 diff --git a/src/lxc/meson.build b/src/lxc/meson.build
-index f8e2a88..96d6687 100644
+index 99d4a34213..aae477c1ee 100644
 --- a/src/lxc/meson.build
 +++ b/src/lxc/meson.build
-@@ -182,8 +182,8 @@ if conf.has('WITH_LXC')
+@@ -176,10 +176,10 @@ if conf.has('WITH_LXC')
    }
  
    virt_install_dirs += [
+-    confdir / 'lxc',
+-    confdir / 'lxc' / 'autostart',
 -    localstatedir / 'lib' / 'libvirt' / 'lxc',
--    runstatedir / 'libvirt' / 'lxc',
 -    localstatedir / 'log' / 'libvirt' / 'lxc',
+-    runstatedir / 'libvirt' / 'lxc',
++    install_prefix + confdir / 'lxc',
++    install_prefix + confdir / 'lxc' / 'autostart',
 +    install_prefix + localstatedir / 'lib' / 'libvirt' / 'lxc',
-+    install_prefix + runstatedir / 'libvirt' / 'lxc',
 +    install_prefix + localstatedir / 'log' / 'libvirt' / 'lxc',
++    install_prefix + runstatedir / 'libvirt' / 'lxc',
    ]
  endif
 diff --git a/src/meson.build b/src/meson.build
-index 7c47821..d33d16a 100644
+index b2d951d36c..305716010f 100644
 --- a/src/meson.build
 +++ b/src/meson.build
-@@ -669,7 +669,7 @@ endforeach
+@@ -210,7 +210,7 @@ openrc_init_files = []
+ 
+ # virt_install_dirs:
+ #   list of directories to create during installation
+-virt_install_dirs = [ confdir ]
++virt_install_dirs = [ install_prefix + confdir ]
+ 
+ # driver_source_files:
+ #   driver source files to check
+@@ -663,7 +663,7 @@ endforeach
  
  virt_conf_files += 'libvirt.conf'
  
@@ -125,7 +184,7 @@ index 7c47821..d33d16a 100644
  install_data(virt_aug_files, install_dir: virt_aug_dir)
  
  # augeas_test_data:
-@@ -729,7 +729,7 @@ foreach data : virt_daemon_confs
+@@ -723,7 +723,7 @@ foreach data : virt_daemon_confs
      output: '@0@.conf'.format(data['name']),
      configuration: daemon_conf,
      install: true,
@@ -134,15 +193,16 @@ index 7c47821..d33d16a 100644
    )
  
    if data.get('with_ip', false)
-@@ -853,14 +853,14 @@ if conf.has('WITH_LIBVIRTD')
+@@ -847,7 +847,7 @@ if conf.has('WITH_LIBVIRTD')
  
        install_data(
          init_file,
 -        install_dir: sysconfdir / 'init.d',
 +        install_dir: install_prefix + sysconfdir / 'init.d',
+         install_mode: 'rwxr-xr-x',
          rename: [ init['name'] ],
        )
- 
+@@ -855,7 +855,7 @@ if conf.has('WITH_LIBVIRTD')
        if init.has_key('confd')
          install_data(
            init['confd'],
@@ -151,16 +211,7 @@ index 7c47821..d33d16a 100644
            rename: [ init['name'] ],
          )
        endif
-@@ -872,7 +872,7 @@ if init_script != 'none'
-   foreach sysconf : sysconf_files
-     install_data(
-       sysconf['file'],
--      install_dir: sysconfdir / 'sysconfig',
-+      install_dir: install_prefix + sysconfdir / 'sysconfig',
-       rename: [ sysconf['name'] ],
-     )
-   endforeach
-@@ -897,10 +897,10 @@ endif
+@@ -882,10 +882,10 @@ endif
  # Install empty directories
  
  virt_install_dirs += [
@@ -176,23 +227,27 @@ index 7c47821..d33d16a 100644
  
  meson.add_install_script(
 diff --git a/src/network/meson.build b/src/network/meson.build
-index 3ec598c..b02040b 100644
+index b5eff0c3ab..a0f26d624e 100644
 --- a/src/network/meson.build
 +++ b/src/network/meson.build
-@@ -79,9 +79,9 @@ if conf.has('WITH_NETWORK')
+@@ -73,11 +73,11 @@ if conf.has('WITH_NETWORK')
    }
  
    virt_install_dirs += [
+-    confdir / 'qemu' / 'networks',
+-    confdir / 'qemu' / 'networks' / 'autostart',
 -    localstatedir / 'lib' / 'libvirt' / 'network',
 -    localstatedir / 'lib' / 'libvirt' / 'dnsmasq',
 -    runstatedir / 'libvirt' / 'network',
++    install_prefix + confdir / 'qemu' / 'networks',
++    install_prefix + confdir / 'qemu' / 'networks' / 'autostart',
 +    install_prefix + localstatedir / 'lib' / 'libvirt' / 'network',
 +    install_prefix + localstatedir / 'lib' / 'libvirt' / 'dnsmasq',
 +    install_prefix + runstatedir / 'libvirt' / 'network',
    ]
  
    configure_file(
-@@ -89,12 +89,12 @@ if conf.has('WITH_NETWORK')
+@@ -85,12 +85,12 @@ if conf.has('WITH_NETWORK')
      output: '@BASENAME@',
      copy: true,
      install: true,
@@ -207,8 +262,37 @@ index 3ec598c..b02040b 100644
      '../default.xml', 'default.xml',
    )
  
+diff --git a/src/node_device/meson.build b/src/node_device/meson.build
+index 1c95975c37..a7831242db 100644
+--- a/src/node_device/meson.build
++++ b/src/node_device/meson.build
+@@ -64,6 +64,6 @@ if conf.has('WITH_NODE_DEVICES')
+   }
+ 
+   virt_install_dirs += [
+-    runstatedir / 'libvirt' / 'nodedev',
++    install_prefix + runstatedir / 'libvirt' / 'nodedev',
+   ]
+ endif
+diff --git a/src/nwfilter/meson.build b/src/nwfilter/meson.build
+index 55cf8fcce4..d331086f2e 100644
+--- a/src/nwfilter/meson.build
++++ b/src/nwfilter/meson.build
+@@ -62,9 +62,9 @@ if conf.has('WITH_NWFILTER')
+   }
+ 
+   virt_install_dirs += [
+-    confdir / 'nwfilter',
+-    runstatedir / 'libvirt' / 'nwfilter-binding',
+-    runstatedir / 'libvirt' / 'nwfilter',
++    install_prefix + confdir / 'nwfilter',
++    install_prefix + runstatedir / 'libvirt' / 'nwfilter-binding',
++    install_prefix + runstatedir / 'libvirt' / 'nwfilter',
+   ]
+ 
+   subdir('xml')
 diff --git a/src/nwfilter/xml/meson.build b/src/nwfilter/xml/meson.build
-index 0d96c54..66c92a1 100644
+index 0d96c54ebe..66c92a1016 100644
 --- a/src/nwfilter/xml/meson.build
 +++ b/src/nwfilter/xml/meson.build
 @@ -25,4 +25,4 @@ nwfilter_xml_files = [
@@ -218,43 +302,71 @@ index 0d96c54..66c92a1 100644
 -install_data(nwfilter_xml_files, install_dir: sysconfdir / 'libvirt' / 'nwfilter')
 +install_data(nwfilter_xml_files, install_dir: install_prefix + sysconfdir / 'libvirt' / 'nwfilter')
 diff --git a/src/qemu/meson.build b/src/qemu/meson.build
-index 90640b0..8802cec 100644
+index 39f0f615cc..5f6f30f82b 100644
 --- a/src/qemu/meson.build
 +++ b/src/qemu/meson.build
-@@ -171,12 +171,12 @@ if conf.has('WITH_QEMU')
-   }
+@@ -175,24 +175,24 @@ if conf.has('WITH_QEMU')
+   endif
  
    virt_install_dirs += [
--    localstatedir / 'lib' / 'libvirt' / 'qemu',
--    runstatedir / 'libvirt' / 'qemu',
+-    confdir / 'qemu',
+-    confdir / 'qemu' / 'autostart',
 -    localstatedir / 'cache' / 'libvirt' / 'qemu',
--    localstatedir / 'log' / 'libvirt' / 'qemu',
+-    localstatedir / 'lib' / 'libvirt' / 'qemu',
+-    localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel',
+-    localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel' / 'target',
+-    localstatedir / 'lib' / 'libvirt' / 'qemu' / 'checkpoint',
+-    localstatedir / 'lib' / 'libvirt' / 'qemu' / 'dump',
+-    localstatedir / 'lib' / 'libvirt' / 'qemu' / 'nvram',
+-    localstatedir / 'lib' / 'libvirt' / 'qemu' / 'ram',
+-    localstatedir / 'lib' / 'libvirt' / 'qemu' / 'save',
+-    localstatedir / 'lib' / 'libvirt' / 'qemu' / 'snapshot',
 -    localstatedir / 'lib' / 'libvirt' / 'swtpm',
--    runstatedir / 'libvirt' / 'qemu' / 'swtpm',
+-    localstatedir / 'log' / 'libvirt' / 'qemu',
 -    localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu',
-+    install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu',
-+    install_prefix + runstatedir / 'libvirt' / 'qemu',
+-    runstatedir / 'libvirt' / 'qemu',
+-    runstatedir / 'libvirt' / 'qemu' / 'dbus',
+-    runstatedir / 'libvirt' / 'qemu' / 'slirp',
+-    runstatedir / 'libvirt' / 'qemu' / 'swtpm',
++    install_prefix + confdir / 'qemu',
++    install_prefix + confdir / 'qemu' / 'autostart',
 +    install_prefix + localstatedir / 'cache' / 'libvirt' / 'qemu',
-+    install_prefix + localstatedir / 'log' / 'libvirt' / 'qemu',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel' / 'target',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'checkpoint',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'dump',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'nvram',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'ram',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'save',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'snapshot',
 +    install_prefix + localstatedir / 'lib' / 'libvirt' / 'swtpm',
-+    install_prefix + runstatedir / 'libvirt' / 'qemu' / 'swtpm',
++    install_prefix + localstatedir / 'log' / 'libvirt' / 'qemu',
 +    install_prefix + localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu',
++    install_prefix + runstatedir / 'libvirt' / 'qemu',
++    install_prefix + runstatedir / 'libvirt' / 'qemu' / 'dbus',
++    install_prefix + runstatedir / 'libvirt' / 'qemu' / 'slirp',
++    install_prefix + runstatedir / 'libvirt' / 'qemu' / 'swtpm',
    ]
  endif
 diff --git a/src/remote/meson.build b/src/remote/meson.build
-index 9ad2f6a..429a15b 100644
+index b2aafe6320..6972d254ca 100644
 --- a/src/remote/meson.build
 +++ b/src/remote/meson.build
-@@ -245,7 +245,7 @@ if conf.has('WITH_REMOTE')
+@@ -235,9 +235,9 @@ if conf.has('WITH_REMOTE')
      }
  
      virt_install_dirs += [
 -      localstatedir / 'log' / 'libvirt',
+-      runstatedir / 'libvirt',
+-      runstatedir / 'libvirt' / 'common',
 +      install_prefix + localstatedir / 'log' / 'libvirt',
++      install_prefix + runstatedir / 'libvirt',
++      install_prefix + runstatedir / 'libvirt' / 'common',
      ]
  
      logrotate_conf = configuration_data()
-@@ -259,7 +259,7 @@ if conf.has('WITH_REMOTE')
+@@ -251,7 +251,7 @@ if conf.has('WITH_REMOTE')
        )
        install_data(
          log_file,
@@ -263,7 +375,7 @@ index 9ad2f6a..429a15b 100644
          rename: [ name ],
        )
      endforeach
-@@ -309,7 +309,7 @@ endif
+@@ -301,7 +301,7 @@ endif
  if conf.has('WITH_SASL')
    install_data(
      'libvirtd.sasl',
@@ -272,11 +384,25 @@ index 9ad2f6a..429a15b 100644
      rename: [ 'libvirt.conf' ],
    )
  endif
+diff --git a/src/secret/meson.build b/src/secret/meson.build
+index 1bda59849b..392bc2cb2e 100644
+--- a/src/secret/meson.build
++++ b/src/secret/meson.build
+@@ -45,7 +45,7 @@ if conf.has('WITH_SECRETS')
+   }
+ 
+   virt_install_dirs += [
+-    confdir / 'secrets',
+-    runstatedir / 'libvirt' / 'secrets',
++    install_prefix + confdir / 'secrets',
++    install_prefix + runstatedir / 'libvirt' / 'secrets',
+   ]
+ endif
 diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build
-index af43780..e2d6c81 100644
+index 990f00b4f3..e5a7a14e1d 100644
 --- a/src/security/apparmor/meson.build
 +++ b/src/security/apparmor/meson.build
-@@ -17,22 +17,22 @@ foreach name : apparmor_gen_profiles
+@@ -19,22 +19,22 @@ foreach name : apparmor_gen_profiles
      output: name,
      configuration: apparmor_gen_profiles_conf,
      install: true,
@@ -303,11 +429,28 @@ index af43780..e2d6c81 100644
 +  install_dir: install_prefix + apparmor_dir / 'local',
    rename: 'usr.lib.libvirt.virt-aa-helper',
  )
+diff --git a/src/storage/meson.build b/src/storage/meson.build
+index 26e7ff1a1a..ad5c6eddc3 100644
+--- a/src/storage/meson.build
++++ b/src/storage/meson.build
+@@ -127,9 +127,9 @@ if conf.has('WITH_STORAGE')
+   }
+ 
+   virt_install_dirs += [
+-    confdir / 'storage',
+-    confdir / 'storage' / 'autostart',
+-    runstatedir / 'libvirt' / 'storage',
++    install_prefix + confdir / 'storage',
++    install_prefix + confdir / 'storage' / 'autostart',
++    install_prefix + runstatedir / 'libvirt' / 'storage',
+   ]
+ endif
+ 
 diff --git a/tools/meson.build b/tools/meson.build
-index b8c6802..dacd0ff 100644
+index f4b4a16c29..059c73a955 100644
 --- a/tools/meson.build
 +++ b/tools/meson.build
-@@ -115,7 +115,7 @@ if conf.has('WITH_LOGIN_SHELL')
+@@ -120,7 +120,7 @@ if conf.has('WITH_LOGIN_SHELL')
      install_rpath: libvirt_rpath,
    )
  
@@ -316,11 +459,6 @@ index b8c6802..dacd0ff 100644
  endif
  
  if host_machine.system() == 'windows'
-@@ -274,7 +274,7 @@ configure_file(
- if init_script == 'systemd'
-   install_data(
-     'libvirt-guests.sysconf',
--    install_dir: sysconfdir / 'sysconfig',
-+    install_dir: install_prefix + sysconfdir / 'sysconfig',
-     rename: 'libvirt-guests',
-   )
+-- 
+2.35.1
+
diff --git a/pkgs/development/libraries/libvirt/0002-meson-patch-ch-install-prefix.patch b/pkgs/development/libraries/libvirt/0002-meson-patch-ch-install-prefix.patch
deleted file mode 100644
index ae97c6455c6..00000000000
--- a/pkgs/development/libraries/libvirt/0002-meson-patch-ch-install-prefix.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/src/ch/meson.build b/src/ch/meson.build
-index e34974d56c..4767763c2c 100644
---- a/src/ch/meson.build
-+++ b/src/ch/meson.build
-@@ -68,7 +68,7 @@ if conf.has('WITH_CH')
-   }
- 
-   virt_install_dirs += [
--    localstatedir / 'lib' / 'libvirt' / 'ch',
--    runstatedir / 'libvirt' / 'ch',
-+    install_prefix + localstatedir / 'lib' / 'libvirt' / 'ch',
-+    install_prefix + runstatedir / 'libvirt' / 'ch',
-   ]
- endif
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 03d0e17cb4c..14e0e478790 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,85 +1,122 @@
 { lib
-, stdenv
-, fetchurl
-, fetchFromGitLab
-, makeWrapper
 , autoreconfHook
-, fetchpatch
+, bash-completion
+, bridge-utils
+, cmake
 , coreutils
-, libxml2
-, gnutls
-, perl
-, python3
-, attr
-, glib
+, curl
+, darwin
+, dbus
+, dnsmasq
 , docutils
-, iproute2
-, readline
-, lvm2
-, util-linux
-, systemd
-, libpciaccess
+, fetchFromGitLab
+, fetchurl
 , gettext
-, libtasn1
+, glib
+, gnutls
+, iproute2
 , iptables
 , libgcrypt
-, yajl
-, pmutils
-, libcap_ng
-, libapparmor
-, dnsmasq
-, libnl
 , libpcap
+, libtasn1
+, libxml2
 , libxslt
-, xhtml1
-, numad
-, numactl
-, perlPackages
-, curl
-, libiconv
-, gmp
-, zfs
-, parted
-, bridge-utils
-, dmidecode
-, dbus
-, libtirpc
-, rpcsvc-proto
-, darwin
+, makeWrapper
 , meson
 , ninja
-, audit
-, cmake
-, bash-completion
+, perl
+, perlPackages
 , pkg-config
-, enableXen ? false
-, xen ? null
-, enableIscsi ? false
-, openiscsi
+, pmutils
+, python3
+, readline
+, rpcsvc-proto
+, stdenv
+, xhtml1
+, yajl
+
+  # Linux
+, acl ? null
+, attr ? null
+, audit ? null
+, dmidecode ? null
+, fuse ? null
+, kmod ? null
+, libapparmor ? null
+, libcap_ng ? null
+, libnl ? null
+, libpciaccess ? null
+, libtirpc ? null
+, lvm2 ? null
+, numactl ? null
+, numad ? null
+, parted ? null
+, systemd ? null
+, util-linux ? null
+
+  # Darwin
+, gmp ? null
+, libiconv ? null
+, Carbon ? null
+, AppKit ? null
+
+  # Options
 , enableCeph ? false
-, ceph
+, ceph ? null
 , enableGlusterfs ? false
-, glusterfs
-, Carbon
-, AppKit
+, glusterfs ? null
+, enableIscsi ? false
+, openiscsi ? null
+, libiscsi ? null
+, enableXen ? false
+, xen ? null
+, enableZfs ? stdenv.isLinux
+, zfs ? null
 }:
 
 with lib;
 
-# if you update, also bump <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> and SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix>
 let
-  buildFromTarball = stdenv.isDarwin;
+  inherit (stdenv) isDarwin isLinux isx86_64;
+  binPath = makeBinPath ([
+    dnsmasq
+  ] ++ optionals isLinux [
+    bridge-utils
+    dmidecode
+    dnsmasq
+    iproute2
+    iptables
+    kmod
+    lvm2
+    numactl
+    numad
+    pmutils
+    systemd
+  ] ++ optionals enableIscsi [
+    libiscsi
+    openiscsi
+  ]);
 in
+
+assert enableXen -> isLinux && isx86_64;
+assert enableCeph -> isLinux;
+assert enableGlusterfs -> isLinux;
+assert enableZfs -> isLinux;
+
+# if you update, also bump <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> and SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix>
 stdenv.mkDerivation rec {
   pname = "libvirt";
-  version = "7.10.0";
+  # NOTE: You must also bump:
+  # <nixpkgs/pkgs/development/python-modules/libvirt/default.nix>
+  # SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix>
+  version = "8.1.0";
 
   src =
-    if buildFromTarball then
+    if isDarwin then
       fetchurl
         {
           url = "https://libvirt.org/sources/${pname}-${version}.tar.xz";
-          sha256 = "sha256-yzGAFK8JcyeSjG49cpIuO+AqPmQBJHsqpS2auOC0gPk=";
+          sha256 = "sha256-PGxDvs/+s0o/OXxhYgaqaaiT/4v16CCDk8hOjnU1KTQ=";
         }
     else
       fetchFromGitLab
@@ -87,76 +124,84 @@ stdenv.mkDerivation rec {
           owner = pname;
           repo = pname;
           rev = "v${version}";
-          sha256 = "sha256-bB8LsjZFeJbMmmC0YRPyMag2MBhwagUFC7aB1KhZEkA=";
+          sha256 = "sha256-nk8pBlss+g4EMy+RnAOyz6YlGGvlBvl5aBpcytsK1wY=";
           fetchSubmodules = true;
         };
 
   patches = [
     ./0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch
-    ./0002-meson-patch-ch-install-prefix.patch
   ];
 
+  # remove some broken tests
+  postPatch = ''
+    sed -i '/commandtest/d' tests/meson.build
+    sed -i '/virnetsockettest/d' tests/meson.build
+    # delete only the first occurrence of this
+    sed -i '0,/qemuxml2argvtest/{/qemuxml2argvtest/d;}' tests/meson.build
+  '' + optionalString isDarwin ''
+    sed -i '/qemucapabilitiestest/d' tests/meson.build
+  '';
+
+
   nativeBuildInputs = [
-    ninja
     meson
+
     cmake
+    docutils
     makeWrapper
+    ninja
     pkg-config
-    docutils
-  ] ++ optional (!stdenv.isDarwin) [
-    rpcsvc-proto
-  ] ++ optionals stdenv.isDarwin [
-    darwin.developer_cmds # needed for rpcgen
-  ];
+  ]
+  ++ optional (!isDarwin) rpcsvc-proto
+  # NOTE: needed for rpcgen
+  ++ optional isDarwin darwin.developer_cmds;
 
   buildInputs = [
     bash-completion
-    pkg-config
-    libxml2
+    curl
+    dbus
+    gettext
+    glib
     gnutls
+    libgcrypt
+    libpcap
+    libtasn1
+    libxml2
+    libxslt
     perl
+    perlPackages.XMLXPath
+    pkg-config
     python3
     readline
-    gettext
-    libtasn1
-    libgcrypt
-    yajl
-    libxslt
     xhtml1
-    perlPackages.XMLXPath
-    curl
-    libpcap
-    glib
-    dbus
-  ] ++ optionals stdenv.isLinux [
+    yajl
+  ] ++ optionals isLinux [
+    acl
+    attr
     audit
-    libpciaccess
-    lvm2
-    util-linux
-    systemd
-    libnl
-    numad
-    zfs
+    fuse
     libapparmor
     libcap_ng
+    libnl
+    libpciaccess
+    libtirpc
+    lvm2
     numactl
-    attr
+    numad
     parted
-    libtirpc
-  ] ++ optionals (enableXen && stdenv.isLinux && stdenv.isx86_64) [
-    xen
-  ] ++ optionals enableIscsi [
-    openiscsi
-  ] ++ optionals enableCeph [
-    ceph
-  ] ++ optionals enableGlusterfs [
-    glusterfs
-  ] ++ optionals stdenv.isDarwin [
-    libiconv
-    gmp
-    Carbon
+    systemd
+    util-linux
+  ] ++ optionals isDarwin [
     AppKit
-  ];
+    Carbon
+    gmp
+    libiconv
+  ]
+  ++ optionals enableCeph [ ceph ]
+  ++ optionals enableGlusterfs [ glusterfs ]
+  ++ optionals enableIscsi [ libiscsi openiscsi ]
+  ++ optionals enableXen [ xen ]
+  ++ optionals enableZfs [ zfs ];
 
   preConfigure =
     let
@@ -164,80 +209,124 @@ stdenv.mkDerivation rec {
         QEMU_BRIDGE_HELPER = "/run/wrappers/bin/qemu-bridge-helper";
         QEMU_PR_HELPER = "/run/libvirt/nix-helpers/qemu-pr-helper";
       };
+
       patchBuilder = var: value: ''
         sed -i meson.build -e "s|conf.set_quoted('${var}',.*|conf.set_quoted('${var}','${value}')|"
       '';
     in
     ''
-      PATH=${lib.makeBinPath ([ dnsmasq ] ++ optionals stdenv.isLinux [ iproute2 iptables lvm2 systemd numad ] ++ optionals enableIscsi [ openiscsi ])}:$PATH
+      PATH="${binPath}:$PATH"
       # the path to qemu-kvm will be stored in VM's .xml and .save files
       # do not use "''${qemu_kvm}/bin/qemu-kvm" to avoid bound VMs to particular qemu derivations
       substituteInPlace src/lxc/lxc_conf.c \
         --replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",'
+
       substituteInPlace build-aux/meson.build \
         --replace "gsed" "sed" \
         --replace "gmake" "make" \
         --replace "ggrep" "grep"
+
       patchShebangs .
     ''
     + (lib.concatStringsSep "\n" (lib.mapAttrsToList patchBuilder overrides));
 
-  mesonAutoFeatures = "auto";
+  mesonAutoFeatures = "disabled";
 
   mesonFlags =
     let
-      opt = option: enable: "-D${option}=${if enable then "enabled" else "disabled"}";
+      cfg = option: val: "-D${option}=${val}";
+      feat = option: enable: cfg option (if enable then "enabled" else "disabled");
+      driver = name: feat "driver_${name}";
+      storage = name: feat "storage_${name}";
     in
     [
       "--sysconfdir=/var/lib"
-      "-Dinstall_prefix=${placeholder "out"}"
-      "-Dlocalstatedir=/var"
-      "-Drunstatedir=/run"
-      "-Dlibpcap=enabled"
-      "-Ddriver_qemu=enabled"
-      "-Ddriver_vmware=enabled"
-      "-Ddriver_vbox=enabled"
-      "-Ddriver_test=enabled"
-      "-Ddriver_esx=enabled"
-      "-Ddriver_remote=enabled"
-      "-Dpolkit=enabled"
-      (opt "storage_iscsi" enableIscsi)
-    ] ++ optionals stdenv.isLinux [
-      (opt "storage_zfs" (zfs != null))
-      "-Dattr=enabled"
-      "-Dapparmor=enabled"
-      "-Dsecdriver_apparmor=enabled"
-      "-Dnumad=enabled"
-      "-Dstorage_disk=enabled"
-      (opt "glusterfs" enableGlusterfs)
-      (opt "storage_rbd" enableCeph)
-    ] ++ optionals stdenv.isDarwin [
-      "-Dinit_script=none"
+      (cfg "install_prefix" (placeholder "out"))
+      (cfg "localstatedir" "/var")
+      (cfg "runstatedir" "/run")
+
+      (cfg "init_script" (if isDarwin then "none" else "systemd"))
+
+      (feat "apparmor" isLinux)
+      (feat "attr" isLinux)
+      (feat "audit" isLinux)
+      (feat "bash_completion" true)
+      (feat "blkid" isLinux)
+      (feat "capng" isLinux)
+      (feat "curl" true)
+      (feat "docs" true)
+      (feat "expensive_tests" true)
+      (feat "firewalld" isLinux)
+      (feat "firewalld_zone" isLinux)
+      (feat "fuse" isLinux)
+      (feat "glusterfs" enableGlusterfs)
+      (feat "host_validate" true)
+      (feat "libiscsi" enableIscsi)
+      (feat "libnl" isLinux)
+      (feat "libpcap" true)
+      (feat "libssh2" true)
+      (feat "login_shell" isLinux)
+      (feat "nss" isLinux)
+      (feat "numactl" isLinux)
+      (feat "numad" isLinux)
+      (feat "pciaccess" isLinux)
+      (feat "polkit" true)
+      (feat "readline" true)
+      (feat "secdriver_apparmor" isLinux)
+      (feat "tests" true)
+      (feat "udev" isLinux)
+      (feat "yajl" true)
+
+      (driver "ch" isLinux)
+      (driver "esx" true)
+      (driver "interface" isLinux)
+      (driver "libvirtd" true)
+      (driver "libxl" enableXen)
+      (driver "lxc" isLinux)
+      (driver "network" true)
+      (driver "openvz" isLinux)
+      (driver "qemu" true)
+      (driver "remote" true)
+      (driver "secrets" true)
+      (driver "test" true)
+      (driver "vbox" true)
+      (driver "vmware" true)
+
+      (storage "dir" true)
+      (storage "disk" isLinux)
+      (storage "fs" isLinux)
+      (storage "gluster" enableGlusterfs)
+      (storage "iscsi" enableIscsi)
+      (storage "iscsi_direct" enableIscsi)
+      (storage "lvm" isLinux)
+      (storage "mpath" isLinux)
+      (storage "rbd" enableCeph)
+      (storage "scsi" true)
+      (storage "vstorage" isLinux)
+      (storage "zfs" enableZfs)
     ];
 
-  postInstall =
-    let
-      binPath = [ iptables iproute2 pmutils numad numactl bridge-utils dmidecode dnsmasq ] ++ optionals enableIscsi [ openiscsi ];
-    in
-    ''
-      substituteInPlace $out/bin/virt-xml-validate \
-        --replace xmllint ${libxml2}/bin/xmllint
-
-      substituteInPlace $out/libexec/libvirt-guests.sh \
-        --replace 'ON_BOOT="start"'       'ON_BOOT=''${ON_BOOT:-start}' \
-        --replace 'ON_SHUTDOWN="suspend"' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \
-        --replace "$out/bin"              '${gettext}/bin' \
-        --replace 'lock/subsys'           'lock' \
-        --replace 'gettext.sh'            'gettext.sh
-      # Added in nixpkgs:
-      gettext() { "${gettext}/bin/gettext" "$@"; }
-      '
-    '' + optionalString stdenv.isLinux ''
-      substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill
-      rm $out/lib/systemd/system/{virtlockd,virtlogd}.*
-      wrapProgram $out/sbin/libvirtd \
-        --prefix PATH : /run/libvirt/nix-emulators:${makeBinPath binPath}
-    '';
+  doCheck = true;
+
+  postInstall = ''
+    substituteInPlace $out/bin/virt-xml-validate \
+      --replace xmllint ${libxml2}/bin/xmllint
+
+    substituteInPlace $out/libexec/libvirt-guests.sh \
+      --replace 'ON_BOOT="start"'       'ON_BOOT=''${ON_BOOT:-start}' \
+      --replace 'ON_SHUTDOWN="suspend"' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \
+      --replace "$out/bin"              '${gettext}/bin' \
+      --replace 'lock/subsys'           'lock' \
+      --replace 'gettext.sh'            'gettext.sh
+    # Added in nixpkgs:
+    gettext() { "${gettext}/bin/gettext" "$@"; }
+    '
+  '' + optionalString isLinux ''
+    substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill
+    rm $out/lib/systemd/system/{virtlockd,virtlogd}.*
+    wrapProgram $out/sbin/libvirtd \
+      --prefix PATH : /run/libvirt/nix-emulators:${binPath}
+  '';
 
   meta = {
     homepage = "https://libvirt.org/";
@@ -248,6 +337,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.lgpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz globin ];
+    maintainers = with maintainers; [ fpletz globin lovesegfault ];
   };
 }
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
index 2f9afff56d8..1517cf97078 100644
--- a/pkgs/development/libraries/libwacom/default.nix
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libwacom";
-  version = "1.99.1";
+  version = "2.0.0";
 
   outputs = [ "out" "dev" ];
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     owner = "linuxwacom";
     repo = "libwacom";
     rev = "libwacom-${version}";
-    sha256 = "sha256-WGW/4m+BTe6dEigUcuUIZjoTeamInW6zrtrlaqKM6Js=";
+    sha256 = "sha256-k8pEgEu+oWNa0rI47osVPKaZGxgwX/ENaz9jPrQXy0E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix
index 25d2d89add0..7bcc62af6ec 100644
--- a/pkgs/development/libraries/libxkbcommon/default.nix
+++ b/pkgs/development/libraries/libxkbcommon/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libxkbcommon";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchurl {
     url = "https://xkbcommon.org/download/${pname}-${version}.tar.xz";
-    sha256 = "0d4jzq0zv1xmng0z0q5lb4rz03ikgxdwi68k3r70ac16gb911ixk";
+    sha256 = "0ca00awfzvxiznvd4mgwgxyqxiwvi07j5xxmg5z0l47rcd9fqv0h";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index bc11c9cfea1..3b7cae36a0e 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -1,20 +1,37 @@
-{ stdenv, lib, fetchurl, fetchpatch
-, zlib, xz, libintl, python, gettext, ncurses, findXMLCatalogs
+{ stdenv
+, lib
+, fetchurl
+, zlib
+, pkg-config
+, autoreconfHook
+, xz
+, libintl
+, python
+, gettext
+, ncurses
+, findXMLCatalogs
 , libiconv
 , pythonSupport ? enableShared && stdenv.buildPlatform == stdenv.hostPlatform
-, icuSupport ? false, icu ? null
+, icuSupport ? false
+, icu
 , enableShared ? stdenv.hostPlatform.libc != "msvcrt" && !stdenv.hostPlatform.isStatic
 , enableStatic ? !enableShared
+, gnome
 }:
 
 stdenv.mkDerivation rec {
   pname = "libxml2";
-  version = "2.9.12";
+  version = "2.9.13";
+
+  outputs = [ "bin" "dev" "out" "man" "doc" ]
+    ++ lib.optional pythonSupport "py"
+    ++ lib.optional (enableStatic && enableShared) "static";
 
   src = fetchurl {
-    url = "http://xmlsoft.org/sources/${pname}-${version}.tar.gz";
-    sha256 = "14hxwzmf5xqppx77z7i0ni9lpzg1a84dqpf8j8l1fvy570g6imn8";
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "J2EwYC0S/khOzANEfuXnWdBGVVj7yda9FE43RTBuvw4=";
   };
+
   patches = [
     # Upstream bugs:
     #   https://bugzilla.gnome.org/show_bug.cgi?id=789714
@@ -28,62 +45,65 @@ stdenv.mkDerivation rec {
     #   https://github.com/NixOS/nixpkgs/pull/63174
     #   https://github.com/NixOS/nixpkgs/pull/72342
     ./utf8-xmlErrorFuncHandler.patch
-
-    # Work around lxml API misuse.
-    # https://gitlab.gnome.org/GNOME/libxml2/issues/255
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/libxml2/commit/85b1792e37b131e7a51af98a37f92472e8de5f3f.patch";
-      sha256 = "epqlNs2S0Zczox3KyCB6R2aJKh87lXydlZ0x6tLHweE=";
-    })
   ];
 
-  outputs = [ "bin" "dev" "out" "man" "doc" ]
-    ++ lib.optional pythonSupport "py"
-    ++ lib.optional (enableStatic && enableShared) "static";
-
   strictDeps = true;
 
-  buildInputs = lib.optional pythonSupport python
-    ++ lib.optional (pythonSupport && python?isPy2 && python.isPy2) gettext
-    ++ lib.optional (pythonSupport && python?isPy3 && python.isPy3) ncurses
-    ++ lib.optional (stdenv.isDarwin &&
-                     pythonSupport && python?isPy2 && python.isPy2) libintl
+  nativeBuildInputs = [
+    pkg-config
+    autoreconfHook
+  ];
+
+  buildInputs = lib.optionals pythonSupport [
+    python
+  ] ++ lib.optionals (pythonSupport && python?isPy2 && python.isPy2) [
+    gettext
+  ] ++ lib.optionals (pythonSupport && python?isPy3 && python.isPy3) [
+    ncurses
+  ] ++ lib.optionals (stdenv.isDarwin && pythonSupport && python?isPy2 && python.isPy2) [
+    libintl
+  ] ++ lib.optionals stdenv.isFreeBSD [
     # Libxml2 has an optional dependency on liblzma.  However, on impure
     # platforms, it may end up using that from /usr/lib, and thus lack a
     # RUNPATH for that, leading to undefined references for its users.
-    ++ lib.optional stdenv.isFreeBSD xz;
+    xz
+  ];
 
-  propagatedBuildInputs = [ zlib findXMLCatalogs ]
-    ++ lib.optional stdenv.isDarwin libiconv
-    ++ lib.optional icuSupport icu;
+  propagatedBuildInputs = [
+    zlib
+    findXMLCatalogs
+  ] ++ lib.optionals stdenv.isDarwin [
+    libiconv
+  ] ++ lib.optionals icuSupport [
+    icu
+  ];
 
   configureFlags = [
-    "--exec_prefix=$dev"
+    "--exec-prefix=${placeholder "dev"}"
     (lib.enableFeature enableStatic "static")
     (lib.enableFeature enableShared "shared")
     (lib.withFeature icuSupport "icu")
     (lib.withFeatureAs pythonSupport "python" python)
   ];
 
-  preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") ''
-    MACOSX_DEPLOYMENT_TARGET=10.16
-  '';
+  installFlags = lib.optionals pythonSupport [
+    "pythondir=\"${placeholder "py"}/${python.sitePackages}\""
+  ];
 
   enableParallelBuilding = true;
 
-  # disable test that's problematic with newer pythons: see
-  # https://mail.gnome.org/archives/xml/2017-August/msg00014.html
-  preCheck = lib.optionalString (pythonSupport && !(python?pythonOlder && python.pythonOlder "3.5")) ''
-    echo "" > python/tests/tstLastError.py
-  '';
-
-  doCheck = (stdenv.hostPlatform == stdenv.buildPlatform) && !stdenv.isDarwin &&
+  doCheck =
+    (stdenv.hostPlatform == stdenv.buildPlatform) &&
+    !stdenv.isDarwin &&
     stdenv.hostPlatform.libc != "musl";
 
-  preInstall = lib.optionalString pythonSupport
-    ''substituteInPlace python/libxml2mod.la --replace "${python}" "$py"'';
-  installFlags = lib.optional pythonSupport
-    "pythondir=\"${placeholder "py"}/lib/${python.libPrefix}/site-packages\"";
+  preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") ''
+    MACOSX_DEPLOYMENT_TARGET=10.16
+  '';
+
+  preInstall = lib.optionalString pythonSupport ''
+    substituteInPlace python/libxml2mod.la --replace "$dev/${python.sitePackages}" "$py/${python.sitePackages}"
+  '';
 
   postFixup = ''
     moveToOutput bin/xml2-config "$dev"
@@ -93,13 +113,21 @@ stdenv.mkDerivation rec {
     moveToOutput lib/libxml2.a "$static"
   '';
 
-  passthru = { inherit version; pythonSupport = pythonSupport; };
+  passthru = {
+    inherit version;
+    pythonSupport = pythonSupport;
+
+    updateScript = gnome.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
+  };
 
-  meta = {
+  meta = with lib; {
     homepage = "http://xmlsoft.org/";
-    description = "An XML parsing library for C";
-    license = lib.licenses.mit;
-    platforms = lib.platforms.all;
-    maintainers = [ lib.maintainers.eelco ];
+    description = "XML parsing library for C";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ eelco jtojnar ];
   };
 }
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index 3993b3f73e1..ac4dd749233 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -1,38 +1,60 @@
-{ lib, stdenv, fetchurl
+{ lib
+, stdenv
+, fetchurl
 , pkg-config
-, libxml2, findXMLCatalogs, gettext, python, libgcrypt
+, autoreconfHook
+, libxml2
+, findXMLCatalogs
+, gettext
+, python
+, ncurses
+, libgcrypt
 , cryptoSupport ? false
 , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform
+, gnome
 }:
 
 stdenv.mkDerivation rec {
   pname = "libxslt";
-  version = "1.1.34";
+  version = "1.1.35";
+
+  outputs = [ "bin" "dev" "out" "man" "doc" ] ++ lib.optional pythonSupport "py";
 
   src = fetchurl {
-    url = "http://xmlsoft.org/sources/${pname}-${version}.tar.gz";
-    sha256 = "0zrzz6kjdyavspzik6fbkpvfpbd25r2qg6py5nnjaabrsr3bvccq";
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "gkfzPpqHLGrIWapFAYvExNALl+L+rJ7rwQyTzh803Xk=";
   };
 
-  outputs = [ "bin" "dev" "out" "man" "doc" ] ++ lib.optional pythonSupport "py";
-
   nativeBuildInputs = [
     pkg-config
+    autoreconfHook
   ];
 
-  buildInputs = [ libxml2.dev ]
-    ++ lib.optional stdenv.isDarwin gettext
-    ++ lib.optionals pythonSupport [ libxml2.py python ]
-    ++ lib.optionals cryptoSupport [ libgcrypt ];
+  buildInputs = [
+    libxml2.dev
+  ] ++ lib.optional stdenv.isDarwin [
+    gettext
+  ] ++ lib.optionals pythonSupport [
+    libxml2.py
+    python
+    ncurses
+  ] ++ lib.optionals cryptoSupport [
+    libgcrypt
+  ];
 
-  propagatedBuildInputs = [ findXMLCatalogs ];
+  propagatedBuildInputs = [
+    findXMLCatalogs
+  ];
 
   configureFlags = [
     "--without-debug"
     "--without-mem-debug"
     "--without-debugger"
-  ] ++ lib.optional pythonSupport "--with-python=${python}"
-    ++ lib.optional (!cryptoSupport) "--without-crypto";
+  ] ++ lib.optionals pythonSupport [
+    "--with-python=${python}"
+  ] ++ lib.optionals (!cryptoSupport) [
+    "--without-crypto"
+  ];
 
   postFixup = ''
     moveToOutput bin/xslt-config "$dev"
@@ -46,6 +68,11 @@ stdenv.mkDerivation rec {
 
   passthru = {
     inherit pythonSupport;
+
+    updateScript = gnome.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
   };
 
   meta = with lib; {
@@ -53,7 +80,7 @@ stdenv.mkDerivation rec {
     description = "A C library and tools to do XSL transformations";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.eelco ];
-    broken = !(pythonSupport -> libxml2.pythonSupport); # see #73102 for why this is not an assert
+    maintainers = with maintainers; [ eelco jtojnar ];
+    broken = pythonSupport && !libxml2.pythonSupport; # see #73102 for why this is not an assert
   };
 }
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 1fb573931b6..23163763ed9 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -33,7 +33,7 @@ with lib;
 let
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
-  version = "21.3.5";
+  version = "21.3.7";
   branch  = versions.major version;
 
 self = stdenv.mkDerivation {
@@ -47,18 +47,13 @@ self = stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
     ];
-    sha256 = "0k2ary16ixsrp65m2n5djpr51nbwdgzpv81pfrnqbvk44jfjlfyr";
+    sha256 = "0ggw3s514z6szasbiy4dv5mdi689121yy2xly2g21gv1mavrvyml";
   };
 
   # TODO:
   #  revive ./dricore-gallium.patch when it gets ported (from Ubuntu), as it saved
   #  ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
   patches = [
-    # To fix flickering on Intel GPUs (iris), see https://github.com/NixOS/nixpkgs/issues/153377:
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/07dc3d4238e57901ccf98e0b506d9aad2c86b9d9.diff";
-      sha256 = "sha256-3fa1qHJes3x1/iXsxfjgy9HnEGlOyFtJatSkU1a3XDI=";
-    })
     # fixes pkgsMusl.mesa build
     ./musl.patch
     (fetchpatch {
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index efab246bb1f..2740b95986c 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -13,7 +13,7 @@
 stdenv.mkDerivation rec {
   # Note the revision needs to be adjusted.
   version = "6.3";
-  name = "ncurses-${version}" + lib.optionalString (abiVersion == "5") "-abi5-compat";
+  pname = "ncurses" + lib.optionalString (abiVersion == "5") "-abi5-compat";
 
   # We cannot use fetchFromGitHub (which calls fetchzip)
   # because we need to be able to use fetchurlBoot.
diff --git a/pkgs/development/libraries/neon/default.nix b/pkgs/development/libraries/neon/default.nix
index a39ece28aae..1521c1a6389 100644
--- a/pkgs/development/libraries/neon/default.nix
+++ b/pkgs/development/libraries/neon/default.nix
@@ -14,12 +14,12 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "0.31.2";
+  version = "0.32.2";
   pname = "neon";
 
   src = fetchurl {
     url = "https://notroj.github.io/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0y46dbhiblcvg8k41bdydr3fivghwk73z040ki5825d24ynf67ng";
+    sha256 = "sha256-mGVmRoxilfxdD7FBpZgeMcn4LuOOk4N0q+2Ece8vsoY=";
   };
 
   patches = optionals stdenv.isDarwin [ ./darwin-fix-configure.patch ];
diff --git a/pkgs/development/libraries/nettle/generic.nix b/pkgs/development/libraries/nettle/generic.nix
index 348faf56b56..44afdf45513 100644
--- a/pkgs/development/libraries/nettle/generic.nix
+++ b/pkgs/development/libraries/nettle/generic.nix
@@ -5,9 +5,9 @@
 }:
 
 stdenv.mkDerivation {
-  name = "nettle-${version}";
+  pname = "nettle";
 
-  inherit src;
+  inherit version src;
 
   outputs = [ "out" "dev" ];
   outputBin = "dev";
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index e92b3dec07b..d17f4c4a783 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -27,7 +27,7 @@ let
   #       It will rebuild itself using the version of this package (NSS) and if
   #       an update is required do the required changes to the expression.
   #       Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
-  version = "3.74";
+  version = "3.75";
 
 in
 stdenv.mkDerivation rec {
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings [ "." ] [ "_" ] version}_RTM/src/${pname}-${version}.tar.gz";
-    sha256 = "0mnhdkm4galhpvfz4rv0918jwmjlwkvcvb1f5va8f3zlz48qi4l8";
+    sha256 = "10l5qn68gly2l4ifv0v6by1qc8nsmhra08nm9m7n913jh83iamzx";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/development/libraries/opendht/default.nix b/pkgs/development/libraries/opendht/default.nix
index fa9fc1f87ee..2cd76a7ca78 100644
--- a/pkgs/development/libraries/opendht/default.nix
+++ b/pkgs/development/libraries/opendht/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opendht";
-  version = "2.3.2";
+  version = "2.3.5";
 
   src = fetchFromGitHub {
     owner = "savoirfairelinux";
     repo = "opendht";
     rev = version;
-    sha256 = "sha256-LevS9euBAFkI1ll79uqmVaRR/6FH6Z4cypHqvCIWxgU=";
+    sha256 = "sha256-GGaq8ziOCUDMxILq2QYUkSP4usBjbufbHwQF4Pr6hHw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/openh264/default.nix b/pkgs/development/libraries/openh264/default.nix
index 93fc495d385..42ae370cd90 100644
--- a/pkgs/development/libraries/openh264/default.nix
+++ b/pkgs/development/libraries/openh264/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openh264";
-  version = "2.1.1";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "cisco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ffav46pz3sbj92nipd62z03fibyqgclfq9w8lgr80s6za6zdk5s";
+    sha256 = "sha256-l64xP39Uaislqh4D7oSxJiQGhXkklol4LgS9BVPbaGk=";
   };
 
   nativeBuildInputs = [ nasm ];
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 390227cfe95..33ddbf7018c 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -186,8 +186,8 @@ in {
   };
 
   openssl_1_1 = common rec {
-    version = "1.1.1m";
-    sha256 = "sha256-+JGZvosjykX8fLnx2NPuZzEjGChq0DD1MWrKZGLbbJY=";
+    version = "1.1.1n";
+    sha256 = "sha256-QNzrUaT2pSdb3g5r8g70uRv8Mu1XwFUuLo4VRjNysXo=";
     patches = [
       ./1.1/nix-ssl-cert-file.patch
 
@@ -201,8 +201,8 @@ in {
   };
 
   openssl_3_0 = common {
-    version = "3.0.1";
-    sha256 = "sha256-wxGthTNTvOeW7a0BqGLFCopYf2Ln4hAO9GWrU+ybBtE=";
+    version = "3.0.2";
+    sha256 = "sha256-mOkczq1NR1auPJzeXgkZGo5YbZ9NUIOOfsCdZBHf22M=";
     patches = [
       ./3.0/nix-ssl-cert-file.patch
 
diff --git a/pkgs/development/libraries/orcania/default.nix b/pkgs/development/libraries/orcania/default.nix
index 1058eaa1f63..2c43cfb4cc9 100644
--- a/pkgs/development/libraries/orcania/default.nix
+++ b/pkgs/development/libraries/orcania/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, cmake, check, subunit }:
 stdenv.mkDerivation rec {
   pname = "orcania";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "babelouest";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-6Libn+S5c7sCmKGq8KojiUhI18zO37rgiiVwQxP3p4o=";
+    sha256 = "sha256-lrc4VEqmCp/P/h0+5/ix6tx4pjfkLy9BLBZtKYLlyGI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 964a3640871..3033b7df4e3 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -24,14 +24,14 @@
 
 stdenv.mkDerivation rec {
   pname = "pango";
-  version = "1.50.3";
+  version = "1.50.4";
 
   outputs = [ "bin" "out" "dev" ]
     ++ lib.optionals withDocs [ "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "St0F7fUcH7N1oczedJiRQSDiPLKA3XOVsa60QfGDikw=";
+    sha256 = "9K1j6H3CsUUwBUKk+wBNB6n5GzQVL64N2+UOzdhRwWI=";
   };
 
   strictDeps = !withIntrospection;
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index d4dc4302139..d37e0a05086 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -20,7 +20,6 @@
 , udev
 , libva
 , libsndfile
-, SDL2
 , vulkan-headers
 , vulkan-loader
 , webrtc-audio-processing
@@ -129,7 +128,6 @@ let
       vulkan-headers
       vulkan-loader
       webrtc-audio-processing
-      SDL2
       systemd
     ] ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ]
     ++ lib.optionals libcameraSupport [ libcamera libdrm ]
@@ -169,6 +167,7 @@ let
       "-Dsession-managers="
       "-Dvulkan=enabled"
       "-Dx11=${mesonEnableFeature x11Support}"
+      "-Dsdl2=disabled" # required only to build examples, causes dependency loop
     ];
 
     # Fontconfig error: Cannot load default config file
diff --git a/pkgs/development/libraries/plasma-wayland-protocols/default.nix b/pkgs/development/libraries/plasma-wayland-protocols/default.nix
index fe148368b49..082702ec46f 100644
--- a/pkgs/development/libraries/plasma-wayland-protocols/default.nix
+++ b/pkgs/development/libraries/plasma-wayland-protocols/default.nix
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   pname = "plasma-wayland-protocols";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-zMn8INehMO2/sjPDOxMldArAGyZAqjelxUTtv7oYqDM=";
+    sha256 = "sha256-t0/6yWnvBn5HGA50imejoYFrcVf/TqYg7UQy9Ztw8B8=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 3a3199cbd7a..72907f7aedc 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -65,6 +65,12 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.freedesktop.org/polkit/polkit/-/commit/a2bf5c9c83b6ae46cbd5c779d3055bff81ded683.patch";
       sha256 = "162jkpg2myq0rb0s5k3nfr4pqwv9im13jf6vzj8p5l39nazg5i4s";
     })
+    # File descriptor leak allows an unprivileged user to cause a crash (CVE-2021-4115)
+    (fetchpatch {
+      name = "CVE-2021-4115.patch";
+      url = "https://src.fedoraproject.org/rpms/polkit/raw/0a203bd46a1e2ec8cc4b3626840e2ea9d0d13a9a/f/CVE-2021-4115.patch";
+      sha256 = "sha256-BivHVVpYB4Ies1YbBDyKwUmNlqq2D1MpMipH9/dZM54=";
+    })
   ] ++ lib.optionals stdenv.hostPlatform.isMusl [
     # Make netgroup support optional (musl does not have it)
     # Upstream MR: https://gitlab.freedesktop.org/polkit/polkit/merge_requests/10
diff --git a/pkgs/development/libraries/prometheus-cpp/default.nix b/pkgs/development/libraries/prometheus-cpp/default.nix
index 173ee6d2e09..a046f255a6a 100644
--- a/pkgs/development/libraries/prometheus-cpp/default.nix
+++ b/pkgs/development/libraries/prometheus-cpp/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , cmake
 , gbenchmark
@@ -10,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "prometheus-cpp";
-  version = "0.9.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "jupp0r";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pjz29ywzfg3blhg2v8fn7gjvq46k3bqn7y0xvmn468ixxhv21fi";
+    sha256 = "L6CXRup3kU1lY5UnwPbaOwEtCeAySNmFCPmHwsk6cRE=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/protolock/default.nix b/pkgs/development/libraries/protolock/default.nix
index e364b907794..ef6338207e3 100644
--- a/pkgs/development/libraries/protolock/default.nix
+++ b/pkgs/development/libraries/protolock/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "protolock";
-  version = "0.15.2";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "nilslice";
     repo = "protolock";
     rev = "v${version}";
-    sha256 = "sha256-cKrG8f8cabuGDN1gmBYleXcBqeJksdREiEy63UK/6J0=";
+    sha256 = "sha256-vWwRZVArmlTIGwD4zV3dEHN2kkoeCZuNIvjCBVAviPo=";
   };
 
-  vendorSha256 = "sha256-2XbBiiiPvZCnlKUzGDLFnxA34N/LmHoPbvRKZckmhx4=";
+  vendorSha256 = "sha256-kgSJUSjY8kgrGCNDPgw1WA8KwAqI5koJQ0IcE+tC5nk=";
 
   doCheck = false;
 
diff --git a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json
index 76c4237dcaf..8bf6386c4c6 100644
--- a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json
+++ b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json
@@ -1,8 +1,8 @@
 {
   "qt3d": {
     "url": "https://invent.kde.org/qt/qt/qt3d.git",
-    "rev": "7edec6e014de27b9dd03f63875c471aac606a918",
-    "sha256": "0qv4vhciigqd8bnqzrs7y71ls7jx1p9cal2rh78m42qgskk1ci59"
+    "rev": "dba14d48611b9e9d59576172658779ab4a39b416",
+    "sha256": "1w2m1rm6mhj9qbanak36rqvc30x495zvj7mh2syy1yd29by0g5i8"
   },
   "qtactiveqt": {
     "url": "https://invent.kde.org/qt/qt/qtactiveqt.git",
@@ -16,8 +16,8 @@
   },
   "qtbase": {
     "url": "https://invent.kde.org/qt/qt/qtbase.git",
-    "rev": "c9fde86b0a2440133bc08f4811b6ca793be47f0a",
-    "sha256": "1fqhdkv3sp3nbzqi2a5wvxn5d4v0xcrq2bl609bdyj4nx367a8wp"
+    "rev": "d16bf02a11953dcac01dca73e6f3778f293adefe",
+    "sha256": "0rpyd5r60707lzfmfi3y501c7is1gzhh30bframsy8bwglck2hjj"
   },
   "qtcharts": {
     "url": "https://invent.kde.org/qt/qt/qtcharts.git",
@@ -26,8 +26,8 @@
   },
   "qtconnectivity": {
     "url": "https://invent.kde.org/qt/qt/qtconnectivity.git",
-    "rev": "69a87a9b831e36a578594a0a13130c384ad03121",
-    "sha256": "0ph07rdf9qfxnw3z2nqbmh6na65z0p2snmlzdw80amd7s0g255kw"
+    "rev": "5e9ca5d36d65dadb98ef90013a1dcf15fbd7ae26",
+    "sha256": "1lpiq3svlnj8f8apd12if11sng7k0l8y6vhr317srzz4dd77cfry"
   },
   "qtdatavis3d": {
     "url": "https://invent.kde.org/qt/qt/qtdatavis3d.git",
@@ -36,8 +36,8 @@
   },
   "qtdeclarative": {
     "url": "https://invent.kde.org/qt/qt/qtdeclarative.git",
-    "rev": "55324650f9e759a43dce927f823c9858574106c3",
-    "sha256": "0cxz4pqvb8l0wqpc4hr0xmc72csqf7dpbbzdqgil9nyyg21ihkz0"
+    "rev": "1d49a5b678957adde7e2db23a485a3f48157bc8f",
+    "sha256": "1wdpgh23mdn0nny9c837iyg9kszc3m4cdmaanf8glymkzn0rkd8w"
   },
   "qtdoc": {
     "url": "https://invent.kde.org/qt/qt/qtdoc.git",
@@ -101,8 +101,8 @@
   },
   "qtquickcontrols2": {
     "url": "https://invent.kde.org/qt/qt/qtquickcontrols2.git",
-    "rev": "be66bf9a5618c745d2a6ee2262967af6307b3b07",
-    "sha256": "11h3f3rb2kqgsw7njzhjwazw1k03v12i83irjndylafiaqw6c6ks"
+    "rev": "d8d6b14b9907adbc6ce307d52be34aaa761a58fa",
+    "sha256": "15c7nrvvn7qc3l7kdbl5wdpazqwv8zvg1aij2jvcrhbymn0zl3mc"
   },
   "qtquicktimeline": {
     "url": "https://invent.kde.org/qt/qt/qtquicktimeline.git",
@@ -146,8 +146,8 @@
   },
   "qtsvg": {
     "url": "https://invent.kde.org/qt/qt/qtsvg.git",
-    "rev": "24128cdf8bef53eddf31a5709bbbc46293006b1c",
-    "sha256": "0vinjcbq4saxhlmvb5i93bzgg30qc3j8r2qfwrzaxc4vmfhfgi56"
+    "rev": "728012f7762ecd5762d493f8796907c6456f31e7",
+    "sha256": "1ldizgybl4fp95xlzf103hqmsqdmr3jbx048jyxcb5gjd3pbwh7p"
   },
   "qttools": {
     "url": "https://invent.kde.org/qt/qt/qttools.git",
@@ -161,18 +161,18 @@
   },
   "qtvirtualkeyboard": {
     "url": "https://invent.kde.org/qt/qt/qtvirtualkeyboard.git",
-    "rev": "353b75b2e34bdae901625bbddf5c5e3f3e6c0de5",
-    "sha256": "12nv773zc05yrbai1z6i481yinih0kxcjzgm9pa0580qz69gd9a5"
+    "rev": "98d1fd864cbb6c7c012c4139118808af110fb8f0",
+    "sha256": "07xjmhca7z5bva03zk73d948qz0a3wnn4kvyy6j4cnp3w5giz5kc"
   },
   "qtwayland": {
     "url": "https://invent.kde.org/qt/qt/qtwayland.git",
-    "rev": "992833ca741efe8f533c61abfaf129a1d8bfcfee",
-    "sha256": "1w8mq38k6s0fncqv113bw1pc7g10ysfmsbyg23hxh9fr5q4ia4q7"
+    "rev": "214f7ab9d3384a4123f14d9f6cd0205cf0aaa794",
+    "sha256": "1qd64w5c16gmpgi936dfjc0pn1a1rbs752k8lfqv2xwysx7qkqwi"
   },
   "qtwebchannel": {
     "url": "https://invent.kde.org/qt/qt/qtwebchannel.git",
-    "rev": "47be9a51b01d9fd9e7f6dca81e98d4eedcec6d38",
-    "sha256": "167rp43c86xr4grzxs4bl46y6sf1q9xa0641mgp4r94g2ipxyc1d"
+    "rev": "fa8b07105b5e274daaa8adcc129fa4aa0447f9f7",
+    "sha256": "0mggqa8kixknbm1p5i5lkrmkj1na3b2xflj011dkjbj8wb78i42n"
   },
   "qtwebglplugin": {
     "url": "https://invent.kde.org/qt/qt/qtwebglplugin.git",
@@ -181,8 +181,8 @@
   },
   "qtwebsockets": {
     "url": "https://invent.kde.org/qt/qt/qtwebsockets.git",
-    "rev": "e7883bc64440b1ff4666272ac6eb710ee4bc221b",
-    "sha256": "1rj99y1f0wn6g1m2k53xkni5v79zgq25yv8b9wx2bz0n2r9iasca"
+    "rev": "b13b56904b76e96ea52d0efe56395acc94b17d96",
+    "sha256": "047asrq7c44v7cn2d7c5zba47qzpsb6nidba77i2xn7gqlfv6z3b"
   },
   "qtwebview": {
     "url": "https://invent.kde.org/qt/qt/qtwebview.git",
diff --git a/pkgs/development/libraries/readline/readline-8.1-patches.nix b/pkgs/development/libraries/readline/readline-8.1-patches.nix
index b8019fb3350..b2aaadf0e9b 100644
--- a/pkgs/development/libraries/readline/readline-8.1-patches.nix
+++ b/pkgs/development/libraries/readline/readline-8.1-patches.nix
@@ -1,4 +1,6 @@
 # Automatically generated by `update-patch-set.sh'; do not edit.
 
 patch: [
+(patch "001" "0i4ikdqgcjnb40y2ss3lm09rq56zih5rzma3bib50dk3d1d4cak8")
+(patch "002" "1p15sfx5xg5k4lam12lyd0givk7dfjddqpnb1jdp3c4clray0nz5")
 ]
diff --git a/pkgs/development/libraries/readline/update-patch-set.sh b/pkgs/development/libraries/readline/update-patch-set.sh
new file mode 120000
index 00000000000..d4f5cd2f312
--- /dev/null
+++ b/pkgs/development/libraries/readline/update-patch-set.sh
@@ -0,0 +1 @@
+../../../shells/bash/update-patch-set.sh
\ No newline at end of file
diff --git a/pkgs/development/libraries/rocclr/default.nix b/pkgs/development/libraries/rocclr/default.nix
index 4d78209f141..b55c2ef8152 100644
--- a/pkgs/development/libraries/rocclr/default.nix
+++ b/pkgs/development/libraries/rocclr/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocclr";
-  version = "4.5.2";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "ROCm-Developer-Tools";
     repo = "ROCclr";
     rev = "rocm-${version}";
-    hash = "sha256-fsQANBND/oDeC/+wmCH/aLlDTxPIi7Z/oN1HnNHHnm0=";
+    hash = "sha256-x6XwYxgiCoy6Q7gIevSTEWgUQ0aEjPFhKSqMqQahHig=";
   };
 
   prePatch = ''
diff --git a/pkgs/development/libraries/rocm-device-libs/default.nix b/pkgs/development/libraries/rocm-device-libs/default.nix
index e2ed679d212..773f98ee54a 100644
--- a/pkgs/development/libraries/rocm-device-libs/default.nix
+++ b/pkgs/development/libraries/rocm-device-libs/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-device-libs";
-  version = "4.5.2";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCm-Device-Libs";
     rev = "rocm-${version}";
-    hash = "sha256-UeunsDRLhmsDOzesiEgYIzYotwecehB6VswshzdRwjw=";
+    hash = "sha256-eZdy9+BfuUVzPO6huvqcwCog96qMVTYoY3l6J0YMUZQ=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/rocm-opencl-runtime/default.nix b/pkgs/development/libraries/rocm-opencl-runtime/default.nix
index f69165c5811..9c19638d3f4 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 = "4.5.2";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCm-OpenCL-Runtime";
     rev = "rocm-${version}";
-    hash = "sha256-0OGYF4urlscr8tMkQwo2yATXwN0DjB092KQ+CBEhfIA=";
+    hash = "sha256-ovYwElZGRKySH1mWFIISxuNNxCjaqoe9oCvqYZGdfq0=";
   };
 
   nativeBuildInputs = [ cmake rocm-cmake ];
diff --git a/pkgs/development/libraries/rocm-runtime/default.nix b/pkgs/development/libraries/rocm-runtime/default.nix
index 54ecd4f59b8..aff0475c4a5 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 = "4.5.2";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCR-Runtime";
     rev = "rocm-${version}";
-    hash = "sha256-DJDlEHnXhegcenO8BIY/8GnZdHldVs0GFLrQy4Z6heY=";
+    hash = "sha256-KOzVZNHtpwEOn7lZ36c4BGrImrq8dkUWRiHqGm+UTDk=";
   };
 
   sourceRoot = "source/src";
diff --git a/pkgs/development/libraries/rocm-thunk/default.nix b/pkgs/development/libraries/rocm-thunk/default.nix
index e76b7c1993a..9ceb1360cda 100644
--- a/pkgs/development/libraries/rocm-thunk/default.nix
+++ b/pkgs/development/libraries/rocm-thunk/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-thunk";
-  version = "4.5.2";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCT-Thunk-Interface";
     rev = "rocm-${version}";
-    hash = "sha256-s/N1wkAgpxYCK6rIiWH8cGQU5YFGj0q4Dxj9j3yIys8=";
+    hash = "sha256-hhDLy92jS/akp1Ozun45OEjVbVcjufkRIfC8bqqFjp4=";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/science/astronomy/cfitsio/default.nix b/pkgs/development/libraries/science/astronomy/cfitsio/default.nix
index 9f9545e52f3..3be249531bb 100644
--- a/pkgs/development/libraries/science/astronomy/cfitsio/default.nix
+++ b/pkgs/development/libraries/science/astronomy/cfitsio/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cfitsio";
-  version = "4.0.0";
+  version = "4.1.0";
 
   src = fetchurl {
     url = "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-${version}.tar.gz";
-    sha256 = "sha256-sqjvugufhtPhvWGfZipHbsGBErTyfMRBzGgKTjd3Ql4=";
+    sha256 = "sha256-s2fGldKDGVjnFmkhw7NW1d+lGx7O5QW5dBa6OdG2wXo=";
   };
 
   buildInputs = [ bzip2 zlib ];
diff --git a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix
index a214d28347d..933b972a4e7 100644
--- a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix
+++ b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "stellarsolver";
-  version = "1.9";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "rlancaste";
     repo = pname;
     rev = version;
-    sha256 = "sha256-PiRXNiemJ+UjVhmd2KPcTKJoDW9K9QBf62nkP1LlOfw=";
+    sha256 = "sha256-pqTSsey1CgOHiEm/C+7sTl9uGe3RVpL7Rdm04KgY+Z8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/science/math/amd-blis/default.nix b/pkgs/development/libraries/science/math/amd-blis/default.nix
index cba9c28164a..f0408730282 100644
--- a/pkgs/development/libraries/science/math/amd-blis/default.nix
+++ b/pkgs/development/libraries/science/math/amd-blis/default.nix
@@ -64,7 +64,7 @@ in stdenv.mkDerivation rec {
     description = "BLAS-compatible library optimized for AMD CPUs";
     homepage = "https://developer.amd.com/amd-aocl/blas-library/";
     license = licenses.bsd3;
-    maintainers = [ ];
+    maintainers = [ maintainers.markuskowa ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/development/libraries/science/math/amd-libflame/default.nix b/pkgs/development/libraries/science/math/amd-libflame/default.nix
index b28fa43a226..a5b65737941 100644
--- a/pkgs/development/libraries/science/math/amd-libflame/default.nix
+++ b/pkgs/development/libraries/science/math/amd-libflame/default.nix
@@ -6,8 +6,12 @@
 , amd-blis
 
 , withOpenMP ? true
+, blas64 ? false
 }:
 
+# right now only LP64 is supported
+assert !blas64;
+
 stdenv.mkDerivation rec {
   pname = "amd-libflame";
   version = "3.0";
@@ -26,6 +30,8 @@ stdenv.mkDerivation rec {
     ./add-lapacke.diff
   ];
 
+  passthru = { inherit blas64; };
+
   nativeBuildInputs = [ gfortran python3 ];
 
   buildInputs = [ amd-blis ];
diff --git a/pkgs/development/libraries/science/math/blas/default.nix b/pkgs/development/libraries/science/math/blas/default.nix
index cfdc102e044..acb737836c0 100644
--- a/pkgs/development/libraries/science/math/blas/default.nix
+++ b/pkgs/development/libraries/science/math/blas/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl, gfortran }:
+{ lib, stdenv, fetchurl, cmake, gfortran
+# Wether to build with ILP64 interface
+, blas64 ? false
+}:
 
 stdenv.mkDerivation rec {
   pname = "blas";
@@ -9,50 +12,19 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-LjYNmcm9yEB6YYiMQKqFP7QhlCDruCZNtIbLiGBGirM=";
   };
 
-  nativeBuildInputs = [ gfortran ];
+  passthru = { inherit blas64; };
 
-  configurePhase = ''
-    echo >make.inc  "SHELL = ${stdenv.shell}"
-    echo >>make.inc "PLAT = _LINUX"
-    echo >>make.inc "FORTRAN = gfortran"
-    echo >>make.inc "OPTS = -O2 -fPIC"
-    echo >>make.inc "DRVOPTS = $$(OPTS)"
-    echo >>make.inc "NOOPT = -O0 -fPIC"
-    echo >>make.inc "LOADER = gfortran"
-    echo >>make.inc "LOADOPTS ="
-    echo >>make.inc "AR = gfortran"
-    echo >>make.inc "ARFLAGS = -shared -o"
-    echo >>make.inc "RANLIB = echo"
-    echo >>make.inc "BLASLIB = libblas.so.${version}"
-  '';
+  nativeBuildInputs = [ cmake gfortran ];
 
-  buildPhase = ''
-    make
-    echo >>make.inc "ARFLAGS = "
-    echo >>make.inc "BLASLIB = libblas.a"
-    echo >>make.inc "AR = ar rcs"
-    echo >>make.inc "RANLIB = ranlib"
-    make
-  '';
+  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]
+    ++ lib.optional blas64 "-DBUILD_INDEX64=ON";
 
-  installPhase =
-    # FreeBSD's stdenv doesn't use Coreutils.
-    let dashD = if stdenv.isFreeBSD then "" else "-D"; in
-    (lib.optionalString stdenv.isFreeBSD "mkdir -p $out/lib ;")
-    + ''
-    install ${dashD} -m755 libblas.a "$out/lib/libblas.a"
-    install ${dashD} -m755 libblas.so.${version} "$out/lib/libblas.so.${version}"
-    ln -s libblas.so.${version} "$out/lib/libblas.so.3"
-    ln -s libblas.so.${version} "$out/lib/libblas.so"
-    # Write pkg-config alias.
-    # See also openblas/default.nix
-    mkdir $out/lib/pkgconfig
-    cat <<EOF > $out/lib/pkgconfig/blas.pc
-Name: blas
-Version: ${version}
-Description: blas provided by the BLAS package.
-Libs: -L$out/lib -lblas
-EOF
+  postInstall = let
+    canonicalExtension = if stdenv.hostPlatform.isLinux
+                       then "${stdenv.hostPlatform.extensions.sharedLibrary}.${lib.versions.major version}"
+                       else stdenv.hostPlatform.extensions.sharedLibrary;
+  in lib.optionalString blas64 ''
+    ln -s $out/lib/libblas64${canonicalExtension} $out/lib/libblas${canonicalExtension}
   '';
 
   preFixup = lib.optionalString stdenv.isDarwin ''
@@ -62,10 +34,11 @@ EOF
     done
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Basic Linear Algebra Subprograms";
-    license = lib.licenses.publicDomain;
+    license = licenses.publicDomain;
+    maintainers = [ maintainers.markuskowa ];
     homepage = "http://www.netlib.org/blas/";
-    platforms = lib.platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix
index 663d61494c7..d05cc3f90ec 100644
--- a/pkgs/development/libraries/science/math/cudnn/default.nix
+++ b/pkgs/development/libraries/science/math/cudnn/default.nix
@@ -1,23 +1,29 @@
 # The following version combinations are supported:
 #  * cuDNN 7.4.2, cudatoolkit 10.0
-#  * cuDNN 7.6.5, cudatoolkit 10.2
-#  * cuDNN 8.1.1, cudatoolkit 11.0-11.2
-#  * cuDNN 8.3.0, cudatoolkit 11.0-11.5
+#  * cuDNN 7.6.5, cudatoolkit 10.0-10.1
+#  * cuDNN 8.1.1, cudatoolkit 10.2-11.2
+#  * cuDNN 8.3.2, cudatoolkit 10.2-11.5
 { callPackage
+, cudatoolkit_10
 , cudatoolkit_10_0
+, cudatoolkit_10_1
 , cudatoolkit_10_2
+, cudatoolkit_11
 , cudatoolkit_11_0
 , cudatoolkit_11_1
 , cudatoolkit_11_2
 , cudatoolkit_11_3
 , cudatoolkit_11_4
 , cudatoolkit_11_5
+, fetchurl
+, lib
 }:
 
 let
   generic = args: callPackage (import ./generic.nix (removeAttrs args [ "cudatoolkit" ])) {
     inherit (args) cudatoolkit;
   };
+  urlPrefix = "https://developer.download.nvidia.com/compute/redist/cudnn";
 in
 rec {
   # cuDNN 7.x
@@ -25,53 +31,88 @@ rec {
   cudnn_7_4_cudatoolkit_10_0 = generic rec {
     version = "7.4.2";
     cudatoolkit = cudatoolkit_10_0;
-    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.4.2.24.tgz";
-    sha256 = "18ys0apiz9afid2s6lvy9qbyi8g66aimb2a7ikl1f3dm09mciprf";
+    # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn_742/cudnn-support-matrix/index.html#cudnn-cuda-hardware-versions__table-cudnn-cuda-hardware-versions.
+    minCudaVersion = "9.2.88";
+    maxCudaVersion = "10.0.99999";
+    mkSrc = _: fetchurl {
+      url = "${urlPrefix}/v${version}/cudnn-10.0-linux-x64-v7.4.2.24.tgz";
+      hash = "sha256-Lt/IagK1DRfojEeJVaMy5qHoF05+U6NFi06lH68C2qM=";
+    };
   };
+  # The only overlap between supported and packaged CUDA versions is 10.0.
 
-  # The `cudnn` alias still points to this in all-packages.nix. It should be
-  # upgraded at some point.
-  cudnn_7_6_cudatoolkit_10_2 = generic rec {
+  cudnn_7_6_cudatoolkit_10_0 = generic rec {
     version = "7.6.5";
-    cudatoolkit = cudatoolkit_10_2;
-    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.5.32.tgz";
-    sha256 = "084c13vzjdkb5s1996yilybg6dgav1lscjr1xdcgvlmfrbr6f0k0";
+    cudatoolkit = cudatoolkit_10_0;
+    # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn_765/cudnn-support-matrix/index.html#cudnn-versions-763-765.
+    minCudaVersion = "9.2.148";
+    maxCudaVersion = "10.1.243";
+    mkSrc = cudatoolkit: fetchurl {
+      url = "${urlPrefix}/v${version}/cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.5.32.tgz";
+      hash = {
+        "10.0" = "sha256-KDVeOV8LK5OsLIO2E2CzW6bNA3fkTni+GXtrYbS0kro=";
+        "10.1" = "sha256-fq7IA5osMKsLx1jTA1iHZ2k972v0myJIWiwAvy4TbLM=";
+      }."${cudatoolkit.majorVersion}";
+    };
   };
-
-  cudnn_7_6_cudatoolkit_10 = cudnn_7_6_cudatoolkit_10_2;
+  cudnn_7_6_cudatoolkit_10_1 = cudnn_7_6_cudatoolkit_10_0.override { cudatoolkit = cudatoolkit_10_1; };
 
   # cuDNN 8.x
   # cuDNN 8.1 is still used by tensorflow at the time of writing (2022-02-17).
   # See https://github.com/NixOS/nixpkgs/pull/158218 for more info.
-  cudnn_8_1_cudatoolkit_11_0 = generic rec {
+  cudnn_8_1_cudatoolkit_10_2 = generic rec {
     version = "8.1.1";
-    cudatoolkit = cudatoolkit_11_0;
-    # 8.1.0 is compatible with CUDA 11.0-11.2:
-    # https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-811/support-matrix/index.html
-    srcName = "cudnn-11.2-linux-x64-v8.1.1.33.tgz";
-    hash = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo=";
+    cudatoolkit = cudatoolkit_10_2;
+    # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-811/support-matrix/index.html#cudnn-versions-810-811.
+    minCudaVersion = "10.2.00000";
+    maxCudaVersion = "11.2.99999";
+    mkSrc = cudatoolkit:
+      let v = if lib.versions.majorMinor cudatoolkit.version == "10.2" then "10.2" else "11.2"; in
+      fetchurl {
+        url = "${urlPrefix}/v${version}/cudnn-${v}-linux-x64-v8.1.1.33.tgz";
+        hash = {
+          "10.2" = "sha256-Kkp7mabpv6aQ6xm7QeSVU/KnpJGls6v8rpAOFmxbbr0=";
+          "11.2" = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo=";
+        }."${v}";
+      };
   };
-  cudnn_8_1_cudatoolkit_11_1 = cudnn_8_1_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_1; };
-  cudnn_8_1_cudatoolkit_11_2 = cudnn_8_1_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_2; };
-  cudnn_8_1_cudatoolkit_11 = cudnn_8_1_cudatoolkit_11_2;
+  cudnn_8_1_cudatoolkit_11_0 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_0; };
+  cudnn_8_1_cudatoolkit_11_1 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_1; };
+  cudnn_8_1_cudatoolkit_11_2 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_2; };
+
+  cudnn_8_1_cudatoolkit_10 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_10; };
+  cudnn_8_1_cudatoolkit_11 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11; };
 
   # cuDNN 8.3 is necessary for the latest jaxlib, esp. jaxlib-bin. See
   # https://github.com/google/jax/discussions/9455 for more info.
-  cudnn_8_3_cudatoolkit_11_0 = generic rec {
-    # 8.3.0 is the last version to respect the folder structure that generic.nix
-    # expects. Later versions have files in a subdirectory `local_installers`.
-    # See eg https://developer.download.nvidia.com/compute/redist/cudnn/v8.3.1/.
-    version = "8.3.0";
-    cudatoolkit = cudatoolkit_11_0;
-    # 8.3.0 is compatible with CUDA 11.0-11.5:
-    # https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-830/support-matrix/index.html
-    srcName = "cudnn-11.5-linux-x64-v8.3.0.98.tgz";
-    hash = "sha256-RMb1rVyxL7dPoMmh58qvTwTXVa3xGi5bbJ5BfaN2srI=";
-  };
-  cudnn_8_3_cudatoolkit_11_1 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_1; };
-  cudnn_8_3_cudatoolkit_11_2 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_2; };
-  cudnn_8_3_cudatoolkit_11_3 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_3; };
-  cudnn_8_3_cudatoolkit_11_4 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_4; };
-  cudnn_8_3_cudatoolkit_11_5 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_5; };
-  cudnn_8_3_cudatoolkit_11 = cudnn_8_3_cudatoolkit_11_5;
+  cudnn_8_3_cudatoolkit_10_2 =
+    generic
+      rec {
+        version = "8.3.2";
+        cudatoolkit = cudatoolkit_10_2;
+        # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-832/support-matrix/index.html#cudnn-cuda-hardware-versions.
+        minCudaVersion = "10.2.00000";
+        maxCudaVersion = "11.5.99999";
+        mkSrc = cudatoolkit:
+          let v = if lib.versions.majorMinor cudatoolkit.version == "10.2" then "10.2" else "11.5"; in
+          fetchurl {
+            # Starting at version 8.3.1 there's a new directory layout including
+            # a subdirectory `local_installers`.
+            url = "https://developer.download.nvidia.com/compute/redist/cudnn/v${version}/local_installers/${v}/cudnn-linux-x86_64-8.3.2.44_cuda${v}-archive.tar.xz";
+            hash = {
+              "10.2" = "sha256-1vVu+cqM+PketzIQumw9ykm6REbBZhv6/lXB7EC2aaw=";
+              "11.5" = "sha256-VQCVPAjF5dHd3P2iNPnvvdzb5DpTsm3AqCxyP6FwxFc=";
+            }."${v}";
+          };
+      }
+  ;
+  cudnn_8_3_cudatoolkit_11_0 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_0; };
+  cudnn_8_3_cudatoolkit_11_1 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_1; };
+  cudnn_8_3_cudatoolkit_11_2 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_2; };
+  cudnn_8_3_cudatoolkit_11_3 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_3; };
+  cudnn_8_3_cudatoolkit_11_4 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_4; };
+  cudnn_8_3_cudatoolkit_11_5 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_5; };
+
+  cudnn_8_3_cudatoolkit_10 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_10; };
+  cudnn_8_3_cudatoolkit_11 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11; };
 }
diff --git a/pkgs/development/libraries/science/math/cudnn/generic.nix b/pkgs/development/libraries/science/math/cudnn/generic.nix
index 13fc0b67997..a5272e56ab6 100644
--- a/pkgs/development/libraries/science/math/cudnn/generic.nix
+++ b/pkgs/development/libraries/science/math/cudnn/generic.nix
@@ -1,11 +1,9 @@
-{ version
-, srcName
-, hash ? null
-, sha256 ? null
+{ minCudaVersion
+, maxCudaVersion
+, mkSrc
+, version
 }:
 
-assert (hash != null) || (sha256 != null);
-
 { stdenv
 , lib
 , cudatoolkit
@@ -25,19 +23,18 @@ stdenv.mkDerivation {
   name = "cudatoolkit-${cudatoolkit.majorVersion}-cudnn-${version}";
 
   inherit version;
-
-  src = let
-    hash_ = if hash != null then { inherit hash; } else { inherit sha256; };
-  in fetchurl ({
-    # URL from NVIDIA docker containers: https://gitlab.com/nvidia/cuda/blob/centos7/7.0/runtime/cudnn4/Dockerfile
-    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v${version}/${srcName}";
-  } // hash_);
+  # It's often the case that the src depends on the version of cudatoolkit it's
+  # being linked against, so we pass in `cudatoolkit` as an argument to `mkSrc`.
+  src = mkSrc cudatoolkit;
 
   nativeBuildInputs = [ addOpenGLRunpath ];
 
   # Some cuDNN libraries depend on things in cudatoolkit, eg.
   # libcudnn_ops_infer.so.8 tries to load libcublas.so.11. So we need to patch
   # cudatoolkit into RPATH. See also https://github.com/NixOS/nixpkgs/blob/88a2ad974692a5c3638fcdc2c772e5770f3f7b21/pkgs/development/python-modules/jaxlib/bin.nix#L78-L98.
+  #
+  # Note also that version <=8.3.0 contained a subdirectory "lib64/" but in
+  # version 8.3.2 it seems to have been renamed to simply "lib/".
   installPhase = ''
     runHook preInstall
 
@@ -46,14 +43,16 @@ stdenv.mkDerivation {
       patchelf --set-rpath "''${p:+$p:}${lib.makeLibraryPath [ stdenv.cc.cc cudatoolkit.lib ]}:${cudatoolkit}/lib:\$ORIGIN/" $1
     }
 
-    for lib in lib64/lib*.so; do
-      fixRunPath $lib
+    for sofile in {lib,lib64}/lib*.so; do
+      fixRunPath $sofile
     done
 
     mkdir -p $out
     cp -a include $out/include
-    cp -a lib64 $out/lib64
+    [ -d "lib/" ] && cp -a lib $out/lib
+    [ -d "lib64/" ] && cp -a lib64 $out/lib64
   '' + lib.optionalString removeStatic ''
+    rm -f $out/lib/*.a
     rm -f $out/lib64/*.a
   '' + ''
     runHook postInstall
@@ -77,10 +76,21 @@ stdenv.mkDerivation {
   };
 
   meta = with lib; {
+    # Check that the cudatoolkit version satisfies our min/max constraints (both
+    # inclusive). We mark the package as broken if it fails to satisfies the
+    # official version constraints (as recorded in default.nix). In some cases
+    # you _may_ be able to smudge version constraints, just know that you're
+    # embarking into unknown and unsupported territory when doing so.
+    broken = let cudaVer = lib.getVersion cudatoolkit; in
+      !(
+        lib.versionAtLeast cudaVer minCudaVersion
+        && lib.versionAtLeast maxCudaVersion cudaVer
+      );
+
     description = "NVIDIA CUDA Deep Neural Network library (cuDNN)";
     homepage = "https://developer.nvidia.com/cudnn";
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ mdaiter ];
+    maintainers = with maintainers; [ mdaiter samuela ];
   };
 }
diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix
index f2a50cb2d3d..9f481961e5b 100644
--- a/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/pkgs/development/libraries/science/math/liblapack/default.nix
@@ -5,6 +5,8 @@
 , gfortran
 , cmake
 , shared ? true
+# Compile with ILP64 interface
+, blas64 ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -36,7 +38,19 @@ stdenv.mkDerivation rec {
     "-DLAPACKE=ON"
     "-DCBLAS=ON"
     "-DBUILD_TESTING=ON"
-  ] ++ lib.optional shared "-DBUILD_SHARED_LIBS=ON";
+  ] ++ lib.optional shared "-DBUILD_SHARED_LIBS=ON"
+    ++ lib.optional blas64 "-DBUILD_INDEX64=ON";
+
+  passthru = { inherit blas64; };
+
+  postInstall =  let
+    canonicalExtension = if stdenv.hostPlatform.isLinux
+                       then "${stdenv.hostPlatform.extensions.sharedLibrary}.${lib.versions.major version}"
+                       else stdenv.hostPlatform.extensions.sharedLibrary;
+  in lib.optionalString blas64 ''
+    ln -s $out/lib/liblapack64${canonicalExtension} $out/lib/liblapack${canonicalExtension}
+    ln -s $out/lib/liblapacke64${canonicalExtension} $out/lib/liblapacke${canonicalExtension}
+  '';
 
   doCheck = true;
 
@@ -63,7 +77,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Linear Algebra PACKage";
     homepage = "http://www.netlib.org/lapack/";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ markuskowa ];
     license = licenses.bsd3;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index d61b6ee3acb..8e5d7180115 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -129,7 +129,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openblas";
-  version = "0.3.19";
+  version = "0.3.20";
 
   outputs = [ "out" "dev" ];
 
@@ -137,7 +137,7 @@ stdenv.mkDerivation rec {
     owner = "xianyi";
     repo = "OpenBLAS";
     rev = "v${version}";
-    sha256 = "sha256-EqA6oFM2theuvvuDOWeOx0Bv6AEFffmpWHJBzp23br0=";
+    sha256 = "sha256-FLPVcepf7tv/es+4kur9Op7o3iVAAayuYN4hY/P4mmQ=";
   };
 
   inherit blas64;
diff --git a/pkgs/development/libraries/speex/default.nix b/pkgs/development/libraries/speex/default.nix
index a7d4aa97074..5509be7822d 100644
--- a/pkgs/development/libraries/speex/default.nix
+++ b/pkgs/development/libraries/speex/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, fftw, speexdsp }:
+{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, pkg-config, fftw, speexdsp }:
 
 stdenv.mkDerivation rec {
   pname = "speex";
@@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
     sed -i '/AC_CONFIG_MACRO_DIR/i PKG_PROG_PKG_CONFIG' configure.ac
   '';
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2020-23903.patch";
+      url = "https://github.com/xiph/speex/commit/870ff845b32f314aec0036641ffe18aba4916887.patch";
+      sha256 = "sha256-uEMDhDTw/LIWNPPCXW6kF+udBmNO88G/jJTojAA9fs8=";
+    })
+  ];
+
   outputs = [ "out" "dev" "doc" ];
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/t1lib/default.nix b/pkgs/development/libraries/t1lib/default.nix
index 69940c18aaf..66c9863c38a 100644
--- a/pkgs/development/libraries/t1lib/default.nix
+++ b/pkgs/development/libraries/t1lib/default.nix
@@ -21,19 +21,22 @@ stdenv.mkDerivation rec {
   version = "5.1.2";
 
   src = fetchurl {
-    url = "mirror://metalab/libs/graphics/t1lib-${version}.tar.gz";
-    sha256 = "0nbvjpnmcznib1nlgg8xckrmsw3haa154byds2h90y2g0nsjh4w2";
+    url = "mirror://ibiblioPubLinux/libs/graphics/${pname}-${version}.tar.gz";
+    hash = "sha256-ghMotQVPeJCg0M0vUoJScHBd82QdvUdtWNF+Vu2Ve1k=";
   };
   inherit patches;
 
   buildInputs = [ libX11 libXaw ];
   buildFlags = [ "without_doc" ];
 
-  postInstall = lib.optionalString (!stdenv.isDarwin) "chmod +x $out/lib/*.so.*"; # ??
+  postInstall = lib.optionalString (!stdenv.isDarwin) ''
+    # ??
+    chmod +x $out/lib/*.so.*
+  '';
 
   meta = with lib; {
-    description = "A type 1 font rasterizer library for UNIX/X11";
     homepage = "http://www.t1lib.org/";
+    description = "A type 1 font rasterizer library for UNIX/X11";
     license = with licenses; [ gpl2 lgpl2 ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/tk/generic.nix b/pkgs/development/libraries/tk/generic.nix
index 6aa67bf274d..fd4f3dea375 100644
--- a/pkgs/development/libraries/tk/generic.nix
+++ b/pkgs/development/libraries/tk/generic.nix
@@ -3,7 +3,8 @@
 , ... }:
 
 tcl.mkTclDerivation {
-  name = "tk-${tcl.version}";
+  pname = "tk";
+  version = tcl.version;
 
   inherit src patches;
 
diff --git a/pkgs/development/libraries/vte/default.nix b/pkgs/development/libraries/vte/default.nix
index 0411086c78c..eae934a4ebb 100644
--- a/pkgs/development/libraries/vte/default.nix
+++ b/pkgs/development/libraries/vte/default.nix
@@ -21,6 +21,7 @@
 , zlib
 , icu
 , systemd
+, systemdSupport ? stdenv.hostPlatform.isLinux
 }:
 
 stdenv.mkDerivation rec {
@@ -63,6 +64,7 @@ stdenv.mkDerivation rec {
     pcre2
     zlib
     icu
+  ] ++ lib.optionals systemdSupport [
     systemd
   ];
 
@@ -73,6 +75,10 @@ stdenv.mkDerivation rec {
     pango
   ];
 
+  mesonFlags = lib.optionals (!systemdSupport) [
+    "-D_systemd=false"
+  ];
+
   postPatch = ''
     patchShebangs perf/*
     patchShebangs src/box_drawing_generate.sh
diff --git a/pkgs/development/libraries/wasilibc/default.nix b/pkgs/development/libraries/wasilibc/default.nix
index 56ed7367b2b..e8436f9e956 100644
--- a/pkgs/development/libraries/wasilibc/default.nix
+++ b/pkgs/development/libraries/wasilibc/default.nix
@@ -1,14 +1,27 @@
-{ stdenv, fetchFromGitHub, lib }:
+{ stdenv, buildPackages, fetchFromGitHub, lib }:
 
 stdenv.mkDerivation {
   pname = "wasilibc";
-  version = "20190712";
-  src = fetchFromGitHub {
-    owner = "CraneStation";
+  version = "unstable-2021-09-23";
+
+  src = buildPackages.fetchFromGitHub {
+    owner = "WebAssembly";
     repo = "wasi-libc";
-    rev = "8df0d4cd6a559b58d4a34b738a5a766b567448cf";
-    sha256 = "1n4gvgzacpagar2mx8g9950q0brnhwz7jg2q44sa5mnjmlnkiqhh";
+    rev = "ad5133410f66b93a2381db5b542aad5e0964db96";
+    hash = "sha256-RiIClVXrb18jF9qCt+5iALHPCZKYcnad7JsILHBV0pA=";
+    fetchSubmodules = true;
   };
+
+  # clang-13: error: argument unused during compilation: '-rtlib=compiler-rt' [-Werror,-Wunused-command-line-argument]
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace "-Werror" ""
+  '';
+
+  preBuild = ''
+    export NIX_CFLAGS_COMPILE="-I$(pwd)/sysroot/include $NIX_CFLAGS_COMPILE"
+  '';
+
   makeFlags = [
     "WASM_CC=${stdenv.cc.targetPrefix}cc"
     "WASM_NM=${stdenv.cc.targetPrefix}nm"
@@ -16,6 +29,8 @@ stdenv.mkDerivation {
     "INSTALL_DIR=${placeholder "out"}"
   ];
 
+  enableParallelBuilding = true;
+
   postInstall = ''
     mv $out/lib/*/* $out/lib
     ln -s $out/share/wasm32-wasi/undefined-symbols.txt $out/lib/wasi.imports
@@ -23,9 +38,9 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "WASI libc implementation for WebAssembly";
-    homepage    = "https://wasi.dev";
-    platforms   = platforms.wasi;
-    maintainers = [ maintainers.matthewbauer ];
+    homepage = "https://wasi.dev";
+    platforms = platforms.wasi;
+    maintainers = with maintainers; [ matthewbauer ];
     license = with licenses; [ asl20 mit llvm-exception ];
   };
 }
diff --git a/pkgs/development/libraries/wxwidgets/3.1/default.nix b/pkgs/development/libraries/wxwidgets/3.1/default.nix
deleted file mode 100644
index cab0197c939..00000000000
--- a/pkgs/development/libraries/wxwidgets/3.1/default.nix
+++ /dev/null
@@ -1,138 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, fetchurl
-, pkg-config
-, libXinerama
-, libSM
-, libXxf86vm
-, libXtst
-, gtk2
-, GConf ? null
-, gtk3
-, xorgproto
-, gst_all_1
-, setfile
-, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, withMesa ? libGLSupported
-, libGLU ? null
-, libGL ? null
-, compat28 ? false
-, compat30 ? true
-, unicode ? true
-, withGtk2 ? true
-, withWebKit ? false
-, webkitgtk ? null
-, AGL ? null
-, Carbon ? null
-, Cocoa ? null
-, Kernel ? null
-, QTKit ? null
-}:
-
-with lib;
-
-assert withMesa -> libGLU != null && libGL != null;
-assert withWebKit -> webkitgtk != null;
-
-assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK31: You cannot enable withWebKit when using withGtk2.";
-
-stdenv.mkDerivation rec {
-  version = "3.1.4";
-  pname = "wxwidgets";
-
-  src = fetchFromGitHub {
-    owner = "wxWidgets";
-    repo = "wxWidgets";
-    rev = "v${version}";
-    sha256 = "1fwzrk6w5k0vs8kqdq5lpzdbp5c09hx740wg6mi6vgmc1r67dv67";
-    fetchSubmodules = true;
-  };
-
-  buildInputs = [
-    libXinerama
-    libSM
-    libXxf86vm
-    libXtst
-    xorgproto
-    gst_all_1.gstreamer
-    gst_all_1.gst-plugins-base
-  ] ++ optionals withGtk2 [ gtk2 GConf ]
-  ++ optional (!withGtk2) gtk3
-  ++ optional withMesa libGLU
-  ++ optional withWebKit webkitgtk
-  ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
-
-  nativeBuildInputs = [ pkg-config ];
-
-  propagatedBuildInputs = optional stdenv.isDarwin AGL;
-
-  patches = [
-    (fetchurl {
-      # https://trac.wxwidgets.org/ticket/17942
-      url = "https://trac.wxwidgets.org/raw-attachment/ticket/17942/"
-        + "fix_assertion_using_hide_in_destroy.diff";
-      sha256 = "009y3dav79wiig789vkkc07g1qdqprg1544lih79199kb1h64lvy";
-    })
-  ];
-
-  configureFlags =
-    [
-      "--disable-precomp-headers"
-      "--enable-mediactrl"
-      (if compat28 then "--enable-compat28" else "--disable-compat28")
-      (if compat30 then "--enable-compat30" else "--disable-compat30")
-    ]
-    ++ optional unicode "--enable-unicode"
-    ++ optional withMesa "--with-opengl"
-    ++ optionals stdenv.isDarwin
-      # allow building on 64-bit
-      [ "--with-cocoa" "--enable-universal-binaries" "--with-macosx-version-min=10.7" ]
-    ++ optionals withWebKit
-      [ "--enable-webview" "--enable-webviewwebkit" ];
-
-  SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib ";
-
-  preConfigure = "
-    substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
-    substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
-    substituteInPlace configure --replace /usr /no-such-path
-  " + optionalString stdenv.isDarwin ''
-    substituteInPlace configure --replace \
-      'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
-      'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
-    substituteInPlace configure --replace \
-      "-framework System" \
-      -lSystem
-  '';
-
-  postInstall = "
-    (cd $out/include && ln -s wx-*/* .)
-  ";
-
-  passthru = {
-    inherit compat28 compat30 unicode;
-    gtk = if withGtk2 then gtk2 else gtk3;
-  };
-
-  enableParallelBuilding = true;
-
-  meta = {
-    platforms = with platforms; darwin ++ linux;
-    license = licenses.wxWindows;
-    homepage = "https://www.wxwidgets.org/";
-    description = "A C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base";
-    longDescription = ''
-      WxWidgets gives you a single, easy-to-use API for
-      writing GUI applications on multiple platforms that still utilize the
-      native platform's controls and utilities. Link with the appropriate library
-      for your platform and compiler, and your application will adopt the look
-      and feel appropriate to that platform. On top of great GUI functionality,
-      wxWidgets gives you: online help, network programming, streams, clipboard
-      and drag and drop, multithreading, image loading and saving in a variety of
-      popular formats, database support, HTML viewing and printing, and much
-      more.
-    '';
-    badPlatforms = [ "x86_64-darwin" ];
-    maintainers = with maintainers; [ tfmoraes ];
-  };
-}
diff --git a/pkgs/development/libraries/wxwidgets/2.8/default.nix b/pkgs/development/libraries/wxwidgets/wxGTK28.nix
index 19a57d68e15..19a57d68e15 100644
--- a/pkgs/development/libraries/wxwidgets/2.8/default.nix
+++ b/pkgs/development/libraries/wxwidgets/wxGTK28.nix
diff --git a/pkgs/development/libraries/wxwidgets/2.9/default.nix b/pkgs/development/libraries/wxwidgets/wxGTK29.nix
index 34d76e53ff6..d5bef77202f 100644
--- a/pkgs/development/libraries/wxwidgets/2.9/default.nix
+++ b/pkgs/development/libraries/wxwidgets/wxGTK29.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     # https://github.com/wxWidgets/wxWidgets/issues/17942
-    ../patches/0001-fix-assertion-using-hide-in-destroy.patch
+    ./patches/0001-fix-assertion-using-hide-in-destroy.patch
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/wxwidgets/3.0/default.nix b/pkgs/development/libraries/wxwidgets/wxGTK30.nix
index 628d8bd0237..11545330387 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/default.nix
+++ b/pkgs/development/libraries/wxwidgets/wxGTK30.nix
@@ -12,8 +12,8 @@
 , pkg-config
 , xorgproto
 , withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, compat24 ? false
-, compat26 ? true
+, compat26 ? false
+, compat28 ? true
 , unicode ? true
 , withGtk2 ? true
 , withWebKit ? false, webkitgtk
@@ -69,14 +69,14 @@ stdenv.mkDerivation rec {
 
   patches = [
     # https://github.com/wxWidgets/wxWidgets/issues/17942
-    ../patches/0001-fix-assertion-using-hide-in-destroy.patch
+    ./patches/0001-fix-assertion-using-hide-in-destroy.patch
   ];
 
   configureFlags = [
     "--disable-precomp-headers"
     "--enable-mediactrl"
-    (if compat24 then "--enable-compat24" else "--disable-compat24")
     (if compat26 then "--enable-compat26" else "--disable-compat26")
+    (if compat28 then "--enable-compat28" else "--disable-compat28")
   ]
   ++ lib.optional unicode "--enable-unicode"
   ++ lib.optional withMesa "--with-opengl"
@@ -136,6 +136,6 @@ stdenv.mkDerivation rec {
 
   passthru = {
     inherit gtk;
-    inherit compat24 compat26 unicode;
+    inherit compat26 compat28 unicode;
   };
 }
diff --git a/pkgs/development/libraries/wxwidgets/wxGTK31.nix b/pkgs/development/libraries/wxwidgets/wxGTK31.nix
new file mode 100644
index 00000000000..c262232f30d
--- /dev/null
+++ b/pkgs/development/libraries/wxwidgets/wxGTK31.nix
@@ -0,0 +1,149 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchurl
+, gnome2
+, gst_all_1
+, gtk2
+, gtk3
+, libGL
+, libGLU
+, libSM
+, libXinerama
+, libXtst
+, libXxf86vm
+, pkg-config
+, xorgproto
+, compat28 ? false
+, compat30 ? true
+, unicode ? true
+, withGtk2 ? true
+, withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
+, withWebKit ? false, webkitgtk
+, darwin
+}:
+
+assert withMesa -> libGLU != null && libGL != null;
+assert withWebKit -> webkitgtk != null;
+
+assert withGtk2 -> (!withWebKit);
+
+let
+  inherit (darwin.stubs) setfile;
+  inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit;
+  inherit (gnome2) GConf;
+  inherit (gst_all_1) gst-plugins-base gstreamer;
+  gtk = if withGtk2 then gtk2 else gtk3;
+in
+stdenv.mkDerivation rec {
+  pname = "wxwidgets";
+  version = "3.1.5";
+
+  src = fetchFromGitHub {
+    owner = "wxWidgets";
+    repo = "wxWidgets";
+    rev = "v${version}";
+    hash = "sha256-2zMvcva0GUDmSYK0Wk3/2Y6R3F7MgdqGBrOhmWgVA6g=";
+    fetchSubmodules = true;
+  };
+
+  patches = [
+    # https://github.com/wxWidgets/wxWidgets/issues/17942
+    ./patches/0001-fix-assertion-using-hide-in-destroy.patch
+  ];
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    gst-plugins-base
+    gstreamer
+    gtk
+    libSM
+    libXinerama
+    libXtst
+    libXxf86vm
+    xorgproto
+  ]
+  ++ lib.optionals withGtk2 [
+    GConf
+  ]
+  ++ lib.optional withMesa libGLU
+  ++ lib.optional withWebKit webkitgtk
+  ++ lib.optionals stdenv.isDarwin [
+    Carbon
+    Cocoa
+    Kernel
+    QTKit
+    setfile
+  ];
+
+  propagatedBuildInputs = lib.optional stdenv.isDarwin AGL;
+
+  configureFlags = [
+    "--disable-precomp-headers"
+    "--enable-mediactrl"
+    (if compat28 then "--enable-compat28" else "--disable-compat28")
+    (if compat30 then "--enable-compat30" else "--disable-compat30")
+  ]
+  ++ lib.optional unicode "--enable-unicode"
+  ++ lib.optional withMesa "--with-opengl"
+  ++ lib.optionals stdenv.isDarwin [
+    # allow building on 64-bit
+    "--enable-universal-binaries"
+    "--with-cocoa"
+    "--with-macosx-version-min=10.7"
+  ]
+  ++ lib.optionals withWebKit [
+    "--enable-webview"
+    "--enable-webviewwebkit"
+  ];
+
+  SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib ";
+
+  preConfigure = ''
+    substituteInPlace configure --replace \
+      'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
+    substituteInPlace configure --replace \
+      'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
+    substituteInPlace configure --replace \
+      /usr /no-such-path
+  '' + lib.optionalString stdenv.isDarwin ''
+    substituteInPlace configure --replace \
+      'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
+      'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
+    substituteInPlace configure --replace \
+      "-framework System" "-lSystem"
+  '';
+
+  postInstall = "
+    pushd $out/include
+    ln -s wx-*/* .
+    popd
+  ";
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://www.wxwidgets.org/";
+    description = "A Cross-Platform C++ GUI Library";
+    longDescription = ''
+      wxWidgets gives you a single, easy-to-use API for writing GUI applications
+      on multiple platforms that still utilize the native platform's controls
+      and utilities. Link with the appropriate library for your platform and
+      compiler, and your application will adopt the look and feel appropriate to
+      that platform. On top of great GUI functionality, wxWidgets gives you:
+      online help, network programming, streams, clipboard and drag and drop,
+      multithreading, image loading and saving in a variety of popular formats,
+      database support, HTML viewing and printing, and much more.
+    '';
+    license = licenses.wxWindows;
+    maintainers = with maintainers; [ AndersonTorres tfmoraes ];
+    platforms = platforms.unix;
+    badPlatforms = platforms.darwin; # ofBorg is failing, don't know if internal
+  };
+
+  passthru = {
+    inherit gtk;
+    inherit compat28 compat30 unicode;
+  };
+}
diff --git a/pkgs/development/libraries/wxwidgets/3.0/mac.nix b/pkgs/development/libraries/wxwidgets/wxmac30.nix
index e1f732929ce..e1f732929ce 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/mac.nix
+++ b/pkgs/development/libraries/wxwidgets/wxmac30.nix
diff --git a/pkgs/development/libraries/xdg-dbus-proxy/default.nix b/pkgs/development/libraries/xdg-dbus-proxy/default.nix
index 21d6b6fa73e..95373934a47 100644
--- a/pkgs/development/libraries/xdg-dbus-proxy/default.nix
+++ b/pkgs/development/libraries/xdg-dbus-proxy/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-dbus-proxy";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchurl {
     url = "https://github.com/flatpak/xdg-dbus-proxy/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "03sj1h0c2l08xa8phw013fnxr4fgav7l2mkjhzf9xk3dykwxcj8p";
+    sha256 = "sha256-A7XSjKh5JT3bvOMQmJCb7MoUleqBGmN3pJLijxbAm5s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/zchunk/default.nix b/pkgs/development/libraries/zchunk/default.nix
index c2ddda7a6c5..c639eb7b30e 100644
--- a/pkgs/development/libraries/zchunk/default.nix
+++ b/pkgs/development/libraries/zchunk/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zchunk";
-  version = "1.1.16";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "zchunk";
     repo = pname;
     rev = version;
-    hash = "sha256-+8FkivLTZXdu0+1wu+7T98y6rQzIHbG9l15Abrbln1o=";
+    hash = "sha256-7H1WF5VkpA65xCdEa0Sw4r4jj+kGhDVCMr5AeE+3Ii4=";
   };
 
   nativeBuildInputs = [
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # does not find argp-standalone
   };
 }
diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix
index 46f1a977775..b308f6128c2 100644
--- a/pkgs/development/node-packages/default.nix
+++ b/pkgs/development/node-packages/default.nix
@@ -127,7 +127,15 @@ let
     # ../../applications/video/epgstation
     epgstation = super."epgstation-../../applications/video/epgstation".override (drv: {
       meta = drv.meta // {
-        broken = true; # not really broken, see the comment above
+        platforms = pkgs.lib.platforms.none;
+      };
+    });
+
+    # NOTE: this is a stub package to fetch npm dependencies for
+    # ../../applications/video/epgstation/client
+    epgstation-client = super."epgstation-client-../../applications/video/epgstation/client".override (drv: {
+      meta = drv.meta // {
+        platforms = pkgs.lib.platforms.none;
       };
     });
 
@@ -270,6 +278,14 @@ let
             url = "https://github.com/svanderburg/node2nix/commit/e4c951971df6c9f9584c7252971c13b55c369916.patch";
             sha256 = "0w8fcyr12g2340rn06isv40jkmz2khmak81c95zpkjgipzx7hp7w";
           })
+          # handle package alias in dependencies
+          # https://github.com/svanderburg/node2nix/pull/240
+          #
+          # TODO: remove after node2nix 1.10.0
+          (fetchpatch {
+            url = "https://github.com/svanderburg/node2nix/commit/644e90c0304038a446ed53efc97e9eb1e2831e71.patch";
+            sha256 = "sha256-sQgVf80H1ouUjzHq+2d9RO4a+o++kh+l+FOTNXfPBH0=";
+          })
         ];
       };
       postInstall = ''
@@ -343,7 +359,7 @@ let
 
       src = fetchurl {
         url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz";
-        sha512 = "sha512-dAld12vtwdz9Rz01nOjmnXe+vHana5PSog8t0XGgLemKsUVsaupYpr74AHaS3s78SaTS5s2HOghnJF+jn91ZrA==";
+        sha512 = "sha512-8SdsLPhKR3mOfoo2o73h9mNn3v5kA/RqGA26Sv6qDS78Eh2uepPqt5e8/nwj5EOblYm5HEGuitaXQrOCLb6uTw==";
       };
       postInstall = with pkgs; ''
         wrapProgram "$out/bin/prisma" \
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index d6ac03eba33..3efdef6cbe6 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -114,6 +114,7 @@
 , "emoj"
 , "emojione"
 , {"epgstation": "../../applications/video/epgstation"}
+, {"epgstation-client": "../../applications/video/epgstation/client"}
 , "escape-string-regexp"
 , "eslint"
 , "eslint_d"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index b29d698ecb8..d1f1908ca7a 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -94,22 +94,13 @@ let
         sha512 = "hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==";
       };
     };
-    "@angular-devkit/architect-0.1302.5" = {
+    "@angular-devkit/architect-0.1302.6" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.1302.5";
+      version = "0.1302.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1302.5.tgz";
-        sha512 = "r07oo8GgUGY28SR3PCM1qNfLE6PNx6SfzBlG4p0OrQQ68ln8HipsEysDGakOWjNFK18SCGWOXAUNrUj8GnV+5g==";
-      };
-    };
-    "@angular-devkit/core-13.2.4" = {
-      name = "_at_angular-devkit_slash_core";
-      packageName = "@angular-devkit/core";
-      version = "13.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.2.4.tgz";
-        sha512 = "hSw1JWA/6dDAF/xleQRXGtzHphfU49TMUhvAoAmsmmz3NAn03xLy1dtqdIXIf+TkFXVvZDaAB2mW8KfRV67GFg==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1302.6.tgz";
+        sha512 = "NztzorUMfwJeRaT7SY00Y8WSqc2lQYuF11yNoyEm7Dae3V7VZ28rW2Z9RwibP27rYQL0RjSMaz2wKITHX2vOAw==";
       };
     };
     "@angular-devkit/core-13.2.5" = {
@@ -121,13 +112,13 @@ let
         sha512 = "WuWp/1R0FtCHPBcJLF13lTLHETtDGFUX0ULfGPRaYB5OVCSQcovVp5UbZTTy/Ss3ub3EOEmJlU8kMJfBrWuq+A==";
       };
     };
-    "@angular-devkit/schematics-13.2.4" = {
-      name = "_at_angular-devkit_slash_schematics";
-      packageName = "@angular-devkit/schematics";
-      version = "13.2.4";
+    "@angular-devkit/core-13.2.6" = {
+      name = "_at_angular-devkit_slash_core";
+      packageName = "@angular-devkit/core";
+      version = "13.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.2.4.tgz";
-        sha512 = "VMhYa4cDu5yE31OvHncAd15Rmlchih/Sr6sxFsIwkg4xzRNIIZCtwqxVXgf0TiTN9zrvlvzK7nhPqTGNqqYb2A==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.2.6.tgz";
+        sha512 = "8h2mWdBTN/dYwZuzKMg2IODlOWMdbJcpQG4XVrkk9ejCPP+3aX5Aa3glCe/voN6eBNiRfs8YDM0jxmpN2aWVtg==";
       };
     };
     "@angular-devkit/schematics-13.2.5" = {
@@ -139,6 +130,15 @@ let
         sha512 = "kAye6VYiF9JQAoeO+BYhy8eT2QOmhB+WLziRjXoFCBxh5+yXTygTVfs9fD5jmIpHmeu4hd2ErSh69yT5xWcD9g==";
       };
     };
+    "@angular-devkit/schematics-13.2.6" = {
+      name = "_at_angular-devkit_slash_schematics";
+      packageName = "@angular-devkit/schematics";
+      version = "13.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.2.6.tgz";
+        sha512 = "mPgSqdnZRuPSMeUA+T+mwVCrq2yhXpcYm1/Rjbhy09CyHs4wSrFv21WHCrE6shlvXpcmwr0n+I0DIeagAPmjUA==";
+      };
+    };
     "@angular-devkit/schematics-cli-13.2.5" = {
       name = "_at_angular-devkit_slash_schematics-cli";
       packageName = "@angular-devkit/schematics-cli";
@@ -355,6 +355,15 @@ let
         sha512 = "TmB2K5UfpDpSbCNBBntXzKHcAk2EA3/P68jmWvmJvglVUdkO9V6kTAuXVe12+h6C4GK0ndwuCrHHtEVcL5t6pQ==";
       };
     };
+    "@astrojs/svelte-language-integration-0.1.1" = {
+      name = "_at_astrojs_slash_svelte-language-integration";
+      packageName = "@astrojs/svelte-language-integration";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@astrojs/svelte-language-integration/-/svelte-language-integration-0.1.1.tgz";
+        sha512 = "npUDO0bitzUC9oTDqVuup0yZObOF45GQ0IkaMf5wxe6XW30SIeyl1j8mdyjOv90vlJeothCKqnQ91qMudpq3Vg==";
+      };
+    };
     "@aws-crypto/crc32-2.0.0" = {
       name = "_at_aws-crypto_slash_crc32";
       packageName = "@aws-crypto/crc32";
@@ -427,13 +436,13 @@ let
         sha512 = "JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==";
       };
     };
-    "@aws-sdk/abort-controller-3.53.0" = {
+    "@aws-sdk/abort-controller-3.54.0" = {
       name = "_at_aws-sdk_slash_abort-controller";
       packageName = "@aws-sdk/abort-controller";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.53.0.tgz";
-        sha512 = "Xe7IX2mpf/qOjh1LrPnJ1UtiDw3cBlmy8n+Q2xSP5vaS/9IH0OMdQUveC9MV9HSgzICX+xzbPyUuSKc+4tufBQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.54.0.tgz";
+        sha512 = "6N7numECrGwal2NEbJwYXOGjwWsFafz8VuUvCBK5G9SgSL5XAbq1S3lL/4gbme5jhgh9CWh7s+bAY7EpOEH2Xg==";
       };
     };
     "@aws-sdk/chunked-blob-reader-3.52.0" = {
@@ -454,193 +463,193 @@ let
         sha512 = "/hVzC0Q12/mWRMBBQD3v82xsLSxZ4RwG6N44XP7MuJoHy4ui4T7D9RSuvBpzzr/4fqF0w9M7XYv6aM4BD2pFIQ==";
       };
     };
-    "@aws-sdk/client-s3-3.53.1" = {
+    "@aws-sdk/client-s3-3.54.0" = {
       name = "_at_aws-sdk_slash_client-s3";
       packageName = "@aws-sdk/client-s3";
-      version = "3.53.1";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.53.1.tgz";
-        sha512 = "uAhjR/TAuXNct6BL/shVg2f/6Zg1EZoXTG8KIywfmLitiUF0PvYwfwSPtNohkz6czgTs/rtirAZHAQKi8jjieA==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.54.0.tgz";
+        sha512 = "9JdhkTqRCYA3esnjFR7xaFysXMfX5TatKE9H8Sds78eoMQrfgB2Yl6ZcEl8Oy0vpMVpOzqRYmcSmFfaBOhuI/g==";
       };
     };
-    "@aws-sdk/client-sso-3.53.0" = {
+    "@aws-sdk/client-sso-3.54.0" = {
       name = "_at_aws-sdk_slash_client-sso";
       packageName = "@aws-sdk/client-sso";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.53.0.tgz";
-        sha512 = "X32YHHc5MO7xO4W3Ly8DeryieeEiDOsnl6ypBkfML7loO3M0ckvvL+HnNUR1J+HYyseEV7V93BsF/A1z5HmINQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.54.0.tgz";
+        sha512 = "5ZYYhoMqeaYhOU4kOEM7daKb8D5QhJ+IpwhHHMPhoHqQEwbbhBTFDXRs3ObUP/QYdBUMWS71+pnDoUdyHqPQ0Q==";
       };
     };
-    "@aws-sdk/client-sts-3.53.0" = {
+    "@aws-sdk/client-sts-3.54.0" = {
       name = "_at_aws-sdk_slash_client-sts";
       packageName = "@aws-sdk/client-sts";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.53.0.tgz";
-        sha512 = "MNG+Pmw/zZQ0kboZtsc8UEGM9pn8abjStDN0Yk67fwFAZMqz8sUHDtFXpa3gSXMrFqBwT+jMFXmIxqiq7XuAeA==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.54.0.tgz";
+        sha512 = "UY8fyi1zaWBJm+ZtDZRvSOv1rjHlvJjtJF3MfGQWDwUM10Amwzfh4Hc2JEzyeMJPkoSSvm6CVjSDyqXo8yLGZA==";
       };
     };
-    "@aws-sdk/config-resolver-3.53.0" = {
+    "@aws-sdk/config-resolver-3.54.0" = {
       name = "_at_aws-sdk_slash_config-resolver";
       packageName = "@aws-sdk/config-resolver";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.53.0.tgz";
-        sha512 = "wAqP/xNx49H1dutHWHjhKduaKtAcDg2KoH25W6peW2qXZ6OfpVcxRIBbJE4Z0yGOmFFaxw0OeH3h2ptP7tdhGQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.54.0.tgz";
+        sha512 = "VaNuvJLMaz3znmBD9BNkoEqNUs5teILU66SnFqBwVqabmOVeOh7M6/f43CcDarkwGklzZB/bn/rx9NOWUtdunA==";
       };
     };
-    "@aws-sdk/credential-provider-env-3.53.0" = {
+    "@aws-sdk/credential-provider-env-3.54.0" = {
       name = "_at_aws-sdk_slash_credential-provider-env";
       packageName = "@aws-sdk/credential-provider-env";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.53.0.tgz";
-        sha512 = "ocqZ4w7y7eay2M+uUBAD6NkhikUPoajEFX1/7iMvEFMmS5MyzjuolHPNK7Hh8lFmPyoflxaMXJVKO8C1MguA/A==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.54.0.tgz";
+        sha512 = "XWfzoUyFVsT4J7iTnXO38FKNdGFyE6ZNBtW9+Yx9EiiLtUlzH09PRv+54KIRQ4uqU+fEdtRh0gOdFajTrnRi3g==";
       };
     };
-    "@aws-sdk/credential-provider-imds-3.53.0" = {
+    "@aws-sdk/credential-provider-imds-3.54.0" = {
       name = "_at_aws-sdk_slash_credential-provider-imds";
       packageName = "@aws-sdk/credential-provider-imds";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.53.0.tgz";
-        sha512 = "aKc8POSqCi58566KhF1p8Sxt7LHehMnshyfQzNAOB7xshSxuWg41rxafnQU4Soq9Tz7q5bwkauR2CEUihv/TRg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.54.0.tgz";
+        sha512 = "Chygp8jswdjtCPmNxEMXigX4clgqh5GDaFGopR/gFaaG960hjF88Fx1/CPYD7exvM1FRO67nyfBOS0QKjSqTXg==";
       };
     };
-    "@aws-sdk/credential-provider-ini-3.53.0" = {
+    "@aws-sdk/credential-provider-ini-3.54.0" = {
       name = "_at_aws-sdk_slash_credential-provider-ini";
       packageName = "@aws-sdk/credential-provider-ini";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.53.0.tgz";
-        sha512 = "g+UoJ1ikDrfpI1wHAhlrcBtX4OHxoLV6vakirpG27hhFwuMih565Q/Sjn3o5hLT8PBlWxwT2YeRuxCjtaL3cDA==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.54.0.tgz";
+        sha512 = "EobK9bJwsUdMKx7vB+tL5eaNaj/NoOPaFJlv0JRL3+5px7d2vF0i9yklj4uT7F3vDlOup6R3b1Gg9GtqxfYt9w==";
       };
     };
-    "@aws-sdk/credential-provider-node-3.53.0" = {
+    "@aws-sdk/credential-provider-node-3.54.0" = {
       name = "_at_aws-sdk_slash_credential-provider-node";
       packageName = "@aws-sdk/credential-provider-node";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.53.0.tgz";
-        sha512 = "sy0NeuJHOBhe7XwxCX2y+YZAB4CqcHveyXJfT6mv7eY6bYQskkMTCPp2D586hSH3c6cfIsmvLSxNhNJApj1Atw==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.54.0.tgz";
+        sha512 = "KsXJG0K7yJg2MCzNW52fSDbCIR5mRobbNnXTMpDRkghlQyHP1gdHsyRedVciMkJhdDILop2lScLw70iQBayP/Q==";
       };
     };
-    "@aws-sdk/credential-provider-process-3.53.0" = {
+    "@aws-sdk/credential-provider-process-3.54.0" = {
       name = "_at_aws-sdk_slash_credential-provider-process";
       packageName = "@aws-sdk/credential-provider-process";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.53.0.tgz";
-        sha512 = "nazHndueCa4y5jUM58OHSysb52E953r3VhmpCs0qIv1ZH5Ijs3kT/usbUq7Yms7pcpaUmpu00VZTc6IfOOC0GA==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.54.0.tgz";
+        sha512 = "hjUQ6FRG3Ihsm77Rgrf1dSfRUVZAFEyAHCuwURePXpYjzMpFYjl12wL6Pwa7MLCqVMyLKQ8HYamznkgBlLQqxw==";
       };
     };
-    "@aws-sdk/credential-provider-sso-3.53.0" = {
+    "@aws-sdk/credential-provider-sso-3.54.0" = {
       name = "_at_aws-sdk_slash_credential-provider-sso";
       packageName = "@aws-sdk/credential-provider-sso";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.53.0.tgz";
-        sha512 = "EongClNxdVw+O4y+S0mZFjNeLHv1ssdAnBM/9L1PfR6sH06eikVmU6isEN2quwoKBy9HRVPaIVF075Q8QIpipg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.54.0.tgz";
+        sha512 = "8HfBTdOw+9gbWsXRTr5y+QYq8gK+YYDx7tKbNv7ZWjMfw49SDef0j0W4ZBZH+FYEPepOEAKjBgtjvlUeFxrOaA==";
       };
     };
-    "@aws-sdk/credential-provider-web-identity-3.53.0" = {
+    "@aws-sdk/credential-provider-web-identity-3.54.0" = {
       name = "_at_aws-sdk_slash_credential-provider-web-identity";
       packageName = "@aws-sdk/credential-provider-web-identity";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.53.0.tgz";
-        sha512 = "YbysBkX3mbomHJZULxk/3jyQ7NWn6rZ68IDY28bmp8cNWajWeGzDxKmR4Y+c8gNiN2ziWjUZWfHcnZC056/79Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.54.0.tgz";
+        sha512 = "Mi87IzpgIi6P3WntumgMJ6rNY8Ay/HtsLFYm4bZ1ZGJH/3QVT4YLm1n8A4xoC+ouhL0i24jmN3X1aNu6amBfEg==";
       };
     };
-    "@aws-sdk/eventstream-marshaller-3.53.0" = {
+    "@aws-sdk/eventstream-marshaller-3.54.0" = {
       name = "_at_aws-sdk_slash_eventstream-marshaller";
       packageName = "@aws-sdk/eventstream-marshaller";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.53.0.tgz";
-        sha512 = "Vt8OjC0hgF0rNcGPbMEROnM5SHODzRdQsG9Y+M2suWDkUqFoh8+6m4v9c/ej3iudAEydZDLcnpV9yGv/CTqceg==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.54.0.tgz";
+        sha512 = "blOxssrHCnugxdcudYB3Vmlp7ziG0to9RfnPq+InI98mIDm3G+rt7vW6GtlkgyWu0EYduj6N+aOI7ssRUCOyDQ==";
       };
     };
-    "@aws-sdk/eventstream-serde-browser-3.53.0" = {
+    "@aws-sdk/eventstream-serde-browser-3.54.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-browser";
       packageName = "@aws-sdk/eventstream-serde-browser";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.53.0.tgz";
-        sha512 = "B+nAlXet/NSEIzaN4fZYGwoFHBYtURuXUE+Ru4EaWyC8+vBEdeO4Vs9o/8mlZSHGiUn41QYYqiZvd+OKweTtBA==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.54.0.tgz";
+        sha512 = "XU9+nA7WlO+Rj0hV+C/2ZlB0zfI4eoit/CIlfGaonfx6EFezH3l4ngMZq8lgd8fSuPy1dN25DWQsW/F3AFSRdg==";
       };
     };
-    "@aws-sdk/eventstream-serde-config-resolver-3.53.0" = {
+    "@aws-sdk/eventstream-serde-config-resolver-3.54.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-config-resolver";
       packageName = "@aws-sdk/eventstream-serde-config-resolver";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.53.0.tgz";
-        sha512 = "4O66c1aSgfdWfbr2pUJTONReVwA4oWQ/fRMhcAMhacqbPko5+3v0Iy/vOiVCm6Isa4K2kVpOUN0L+64niE7jag==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.54.0.tgz";
+        sha512 = "fnbwtjaSd05K2+rcEZ3TQfM6YBY6obWqqt/x0qTTt7277wdqvE3+i0dWcvrQLldGD7xY3+oitEmClAeCE0raiA==";
       };
     };
-    "@aws-sdk/eventstream-serde-node-3.53.0" = {
+    "@aws-sdk/eventstream-serde-node-3.54.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-node";
       packageName = "@aws-sdk/eventstream-serde-node";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.53.0.tgz";
-        sha512 = "92rlY8M8+nU4mUm3j4gtJiv9HY2fGTGLSIGLukOXAUf7xuJ220L+9ZInS4ToiRgq+dOSt8cFPCxRVpQtNesBfA==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.54.0.tgz";
+        sha512 = "b/EXk+Yb6lspfdEvClDkutif1z7Ggbeg/s2z9ug8Zh32i4/8gc4kcoWHy4ez8GUqsrRuOfD1MScqxkSAmIlPlg==";
       };
     };
-    "@aws-sdk/eventstream-serde-universal-3.53.0" = {
+    "@aws-sdk/eventstream-serde-universal-3.54.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-universal";
       packageName = "@aws-sdk/eventstream-serde-universal";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.53.0.tgz";
-        sha512 = "Y3OjTAKhDyz2UyLE0ATmDD3RFyBfJLWeBQkpJu7qICI0XYN2tmV1mCkQUtkT3e4s+UxnuUOa55YQpdUsQUWIDA==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.54.0.tgz";
+        sha512 = "HdFYrLvKHWATev0BCp0I8xH40MhP9cNhxK0h+srdCC9o/Djs3QrI0Nn5rzWdg/hQDyRg8jPSvaGG8P/ekyTn2w==";
       };
     };
-    "@aws-sdk/fetch-http-handler-3.53.0" = {
+    "@aws-sdk/fetch-http-handler-3.54.0" = {
       name = "_at_aws-sdk_slash_fetch-http-handler";
       packageName = "@aws-sdk/fetch-http-handler";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.53.0.tgz";
-        sha512 = "0CcEYarIAVAoGzu1ClO2xDq30Jii6AevDFJYR7M9yojqAMvwjP31DY4/qfPc2nCpSAd9dASR6vcx6r/RoIynVg==";
+        url = "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.54.0.tgz";
+        sha512 = "TIn2ocem/gpMQ12KoiOu3uTHO86OOrmFITulV9D8xTzvFqHe34JKjHQPqII6lDbTCnU9N5CMv3N1CXxolIhiOQ==";
       };
     };
-    "@aws-sdk/hash-blob-browser-3.53.0" = {
+    "@aws-sdk/hash-blob-browser-3.54.0" = {
       name = "_at_aws-sdk_slash_hash-blob-browser";
       packageName = "@aws-sdk/hash-blob-browser";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.53.0.tgz";
-        sha512 = "A3xa0o1W9/tALw0/yoXyBKfxsMlzi1BvzEgCFUU2y914yBo62FiIf1E+BX42m9MfPJ87SD+l3O5QcptMVWvarw==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.54.0.tgz";
+        sha512 = "KIflBj2efxy5/z1ffg1HL3CRxqM7hNqel+dtVCYaCfTJ/MQhcfcR5GsodhJYl99pitryorJeB4chhgNv4bbPUA==";
       };
     };
-    "@aws-sdk/hash-node-3.53.0" = {
+    "@aws-sdk/hash-node-3.54.0" = {
       name = "_at_aws-sdk_slash_hash-node";
       packageName = "@aws-sdk/hash-node";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.53.0.tgz";
-        sha512 = "0xK5PSUUVOPttvCLWrrUTmrKe7Fz6njPdBYvB3ESk1whXL+TY3syJj4em63Sq6yFyeuXdqyTzqfcs9fU2puWkA==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.54.0.tgz";
+        sha512 = "o2XRftfj3Tj2jsZsdvnEY4OtmkT/9OADCWkINQCTcfy+nMuvs1IAS/qruunfaMJ58GntOoI4CVIbRa2lhhJr5w==";
       };
     };
-    "@aws-sdk/hash-stream-node-3.53.1" = {
+    "@aws-sdk/hash-stream-node-3.54.0" = {
       name = "_at_aws-sdk_slash_hash-stream-node";
       packageName = "@aws-sdk/hash-stream-node";
-      version = "3.53.1";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.53.1.tgz";
-        sha512 = "y7pUc6EtkG3TscZR9dpR/BCauP/lRepU+Td43Oe9VUhD6l3lS3TuIHUwB7PEU7NeSU9iqWuflBVK/IBWXrfH3w==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.54.0.tgz";
+        sha512 = "j936gz9O1ist0Bu2IXCf2DUrYfB9DkwKUMRAN14mTrKB+3PAMRhBazUVDJjIxPbcC9MQJnwIa2tiZWn8QC48UA==";
       };
     };
-    "@aws-sdk/invalid-dependency-3.53.0" = {
+    "@aws-sdk/invalid-dependency-3.54.0" = {
       name = "_at_aws-sdk_slash_invalid-dependency";
       packageName = "@aws-sdk/invalid-dependency";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.53.0.tgz";
-        sha512 = "qp2qRFa1a/AjZRCe6MZCpbaXo5t4enGAtch/83fuH4rRkzVOctYox1gyTGTliHk28rjMREtSgZDQZojp5/5M5w==";
+        url = "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.54.0.tgz";
+        sha512 = "eeefTPtkb0FQFMBKmwhvmdPqCgGvTcWEiNH8pznAH0hqxLvOLNdNRoKnX5a1WlYoq3eTm0YN9Zh+N1Sj4mbkcg==";
       };
     };
     "@aws-sdk/is-array-buffer-3.52.0" = {
@@ -652,229 +661,229 @@ let
         sha512 = "5Pe9QKrOeSZb9Z8gtlx9CDMfxH8EiNdClBfXBbc6CiUM7y6l7UintYHkm133zM5XTqtMRYY1jaD8svVAoRPApA==";
       };
     };
-    "@aws-sdk/md5-js-3.53.0" = {
+    "@aws-sdk/md5-js-3.54.0" = {
       name = "_at_aws-sdk_slash_md5-js";
       packageName = "@aws-sdk/md5-js";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.53.0.tgz";
-        sha512 = "+XbYdbxgWniyC7E4kqHC0z0Qsud/EMv9RuKghWLr7IwbUjfR7zix5+AVw3XR+FWrKrDAlyRBhyzG+60STliuiA==";
+        url = "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.54.0.tgz";
+        sha512 = "pMprZD8JBw9WU4Risfd0Clm9SrUpsUS3QriSDeuFnGfRcKHkpw1sDj6HsNsIQ1OCeWuhYqW55Wtzc0pH8U80Mg==";
       };
     };
-    "@aws-sdk/middleware-bucket-endpoint-3.53.0" = {
+    "@aws-sdk/middleware-bucket-endpoint-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-bucket-endpoint";
       packageName = "@aws-sdk/middleware-bucket-endpoint";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.53.0.tgz";
-        sha512 = "q88eevXUkUWp6e/vHGnpt8/8TjscbfW6CWGpexj3DFWt3WZhEhExcoGwwszoL4FQfMFWBL+11EKNZm2orHqDwg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.54.0.tgz";
+        sha512 = "4VC6zxDaveCnQD3eUJezSQ3Ikeq+MxRnvfcNhZytB20tYRy1PnR4jLoqjYkw5U1zstVRABbZdzlsWzZMe308ew==";
       };
     };
-    "@aws-sdk/middleware-content-length-3.53.0" = {
+    "@aws-sdk/middleware-content-length-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-content-length";
       packageName = "@aws-sdk/middleware-content-length";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.53.0.tgz";
-        sha512 = "CXANhpL2MAE2tPKmu0cOf4Fd99useIj5kgX6UA+HWg/ZbJ4qBg6Q4W/nYVt+OuukeqwEEbpt3wv0lKQ8k/vINQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.54.0.tgz";
+        sha512 = "DTlZo00stFwFHyR+GTXxhYePzNbXm+aX5yYQUsrsY2J2HuSbADVgDDekJXbtOH36QBa0OJf7JKbWP8PZDxk1zg==";
       };
     };
-    "@aws-sdk/middleware-expect-continue-3.53.0" = {
+    "@aws-sdk/middleware-expect-continue-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-expect-continue";
       packageName = "@aws-sdk/middleware-expect-continue";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.53.0.tgz";
-        sha512 = "aMKtfOX9b1yx0ER0QspN2jOR/Q1ucRYEaR46yOUPjdcMHHnGxuk3kimsyGqgFm2+pPJdi9FRd9S2eC/tNjYn8w==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.54.0.tgz";
+        sha512 = "6k4hoD7XqGDA8yq10AzF+iafgc+RyrPxr4kqzv50+hI5CZkPcl/vOAgS7iD+Y33dLITYuh+jzlpn7zlLwdOoqw==";
       };
     };
-    "@aws-sdk/middleware-flexible-checksums-3.53.0" = {
+    "@aws-sdk/middleware-flexible-checksums-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-flexible-checksums";
       packageName = "@aws-sdk/middleware-flexible-checksums";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.53.0.tgz";
-        sha512 = "g069Es0Sy3So2HRz+UAwaubFKkGuxwhEf6OS9pmovY2+2yfZBOLoQmf7jS50RgbxJcUDoI7uuKZrp0BcdLDgEg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.54.0.tgz";
+        sha512 = "4+bUwQyYHtTbaJDaj2F7j2K/JUcYdKg169pKmpefZiXZVdfR2/WWwj7Wx7EI40rpPYHaMpSal9tIxz054LPYnw==";
       };
     };
-    "@aws-sdk/middleware-header-default-3.53.0" = {
+    "@aws-sdk/middleware-header-default-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-header-default";
       packageName = "@aws-sdk/middleware-header-default";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.53.0.tgz";
-        sha512 = "eQLFdNBzydZoocnj7YDVO+AJZ3YhuImZ1GXzGsF9FN8IdSjuE4gwB8BQhG6vuUg3GVe+sI+7VUJT6h55OaDBXw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.54.0.tgz";
+        sha512 = "DvkdMJRAYrVsu6S92Z/fhSnj7ZFCNE3ertmIiGsukfMuGmzkuVKxqlUfo89xS3sOF3VY2nNOdNTCnVY4VZLSQQ==";
       };
     };
-    "@aws-sdk/middleware-host-header-3.53.0" = {
+    "@aws-sdk/middleware-host-header-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-host-header";
       packageName = "@aws-sdk/middleware-host-header";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.53.0.tgz";
-        sha512 = "w5qMAUgy52fvJGqzqruNJhv4BtkanE4I368zWiysmwXXL5xmpKs8TpkGqcSQw4g2wKS8MR2Yxh21LukHlsgAJw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.54.0.tgz";
+        sha512 = "X+lvYc2ij1+9tfpvdGGb+/APvH7g/M9RYzIEkI/LvNjVCOA3f3rgzFftZZhD/zccRtrygsvXfeZhoDrHxFKl9g==";
       };
     };
-    "@aws-sdk/middleware-location-constraint-3.53.0" = {
+    "@aws-sdk/middleware-location-constraint-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-location-constraint";
       packageName = "@aws-sdk/middleware-location-constraint";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.53.0.tgz";
-        sha512 = "HtBy8L3XNbovHLVh6wtIIThsbdTsX+jv09M9Cmmu80eM1WXw5Uu6lJX6FdIQXfMXBTZjnmHRL+72CxEtsets8g==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.54.0.tgz";
+        sha512 = "qwZR+GWlRoIFvvCt5ywmX3kV15KxrFbUxyAADCEJ4Q86ebEI3ux9mAHB6niOArRwtA5/wyvjRrOiYo/fTq7eLQ==";
       };
     };
-    "@aws-sdk/middleware-logger-3.53.0" = {
+    "@aws-sdk/middleware-logger-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-logger";
       packageName = "@aws-sdk/middleware-logger";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.53.0.tgz";
-        sha512 = "jMME8OOyPHliHhVD3FaBQ+4X+FDCQovw6CYGqPdqP0JUuhR8E1LWKHV1+xRpkpOICKwBnIXrgD8/0NQo/+Z84A==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.54.0.tgz";
+        sha512 = "bDCQj8IBq1vrXRRrpqD+suJ8hKc4oxUXpRkWdsAD+HnWWRqHjsy0hdq5F8Rj1Abq7CsFtZ+rUXddl+KlmgZ3+A==";
       };
     };
-    "@aws-sdk/middleware-retry-3.53.0" = {
+    "@aws-sdk/middleware-retry-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-retry";
       packageName = "@aws-sdk/middleware-retry";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.53.0.tgz";
-        sha512 = "TKEdTLP//SjasunU3/yX7avXMxhIEDoSOaiwj77zEpPGF2NWcR99UFfqNLeJsRPCyzYScYo1JSuxIwgXHNIhyQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.54.0.tgz";
+        sha512 = "8kVzwxe0HQajeZWXzAp2XCkbiK8E8AZESfXvLyM34Xy2e8L8gdi1j90QLzpFk6WX6rz7hXBQG7utrCJkwXQxLA==";
       };
     };
-    "@aws-sdk/middleware-sdk-s3-3.53.0" = {
+    "@aws-sdk/middleware-sdk-s3-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-s3";
       packageName = "@aws-sdk/middleware-sdk-s3";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.53.0.tgz";
-        sha512 = "cq2NFixf5HBctPaUUMjV97M++q18e/WDrM61lN7eMHfdXW+TlYv4tVF9y9MaE7dpoNp7G0ORLsz05JdVdUI33g==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.54.0.tgz";
+        sha512 = "xESksyOVCuDkMPC8mEqrInnuBeJHLSVOfwIl/pGwzevc+Q5spO9FDUlNfhaEVOEoLqK21TUdZo4z/ElNN94m4w==";
       };
     };
-    "@aws-sdk/middleware-sdk-sts-3.53.0" = {
+    "@aws-sdk/middleware-sdk-sts-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-sts";
       packageName = "@aws-sdk/middleware-sdk-sts";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.53.0.tgz";
-        sha512 = "b9AUXYqA5jaUTpWu7wPZz43RQnmy1WGPFVHd8CvcUzFdMzwJlQeH4wq+sEdZ1KtIsz6n6TmY7vobzrScgq3ftg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.54.0.tgz";
+        sha512 = "4vOlG96fKgqmLMsguoKFdBkk2Fq8JttpgPts9d5Ox73+yQsa0VKrpLiD5OUPqgjGZcX2bilMKCAOBc2v3ESAHw==";
       };
     };
-    "@aws-sdk/middleware-serde-3.53.0" = {
+    "@aws-sdk/middleware-serde-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-serde";
       packageName = "@aws-sdk/middleware-serde";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.53.0.tgz";
-        sha512 = "jPoou51ULWN2PpvWkDF3wLKnTezyM33NBdF89mvfnI4++Za0/NpuL12636YqWLXt2CK87u8cA2Q+7Opob7KocA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.54.0.tgz";
+        sha512 = "O89/5aOiNegBP6Mv+gPr22Zawz2zF2v1o8kwFv2s4PWDzpmvrdF2by6e2Uh9sKzfpcwEW7Wr8kDTwajampVjgA==";
       };
     };
-    "@aws-sdk/middleware-signing-3.53.0" = {
+    "@aws-sdk/middleware-signing-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-signing";
       packageName = "@aws-sdk/middleware-signing";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.53.0.tgz";
-        sha512 = "r3g2ytin1YbhXCDedMfR7ZSlt1B39GWA0+J04ZZzUdevtnS2VnkFNhsanO5os/WOpVUV7iqk/ncJgSpn9LI2DA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.54.0.tgz";
+        sha512 = "KYxmRDh7D6ysAezlsDf3cN2h6OjH66x3NUdgUmW+78nkN9tRvvJEjhmu6IOkPd4E1V9P3JOLbq6zVjDVU12WDQ==";
       };
     };
-    "@aws-sdk/middleware-ssec-3.53.0" = {
+    "@aws-sdk/middleware-ssec-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-ssec";
       packageName = "@aws-sdk/middleware-ssec";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.53.0.tgz";
-        sha512 = "2p2QT3PNepUC5MwT+t0l9bf7MlRHw6DN6CLg4Dptgr3SFR2k8LjUp2S7dJqg4qrhXRiiO7lTZK57PaPPR90dFw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.54.0.tgz";
+        sha512 = "wNQR5pRoN4wJq2IcFOXhRxvars4uWgdUnBQcJ5UDSJhUPwVDA4m+M83Q/54GWRHT+SVsobuNTmTeFnCbgsIq3A==";
       };
     };
-    "@aws-sdk/middleware-stack-3.53.0" = {
+    "@aws-sdk/middleware-stack-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-stack";
       packageName = "@aws-sdk/middleware-stack";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.53.0.tgz";
-        sha512 = "YanQOVUXGjm63GCZVRYPlPMl6niaWtVjE2C0+0lpCrJQYaUIrvKh27Ff40JLi3U0F89hmsYOO7yPQOPTbc9NBg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.54.0.tgz";
+        sha512 = "38iit8VJ7jhFlMdwdDESEJOwbi8wIjF7Q1FOFIoCvURLGkTDQdabGXKwcFVfRuceLO+LJxWP3l0z0c10uZa6gQ==";
       };
     };
-    "@aws-sdk/middleware-user-agent-3.53.0" = {
+    "@aws-sdk/middleware-user-agent-3.54.0" = {
       name = "_at_aws-sdk_slash_middleware-user-agent";
       packageName = "@aws-sdk/middleware-user-agent";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.53.0.tgz";
-        sha512 = "ClKxpFXoHLhdnDxyDRRVNaFYQnfylps7rk1wfbRLWb+FWQwKWBvLq5c5ZPvznBU8BvftDSkFtrY+7OLMlj6qxA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.54.0.tgz";
+        sha512 = "831GP5EBJdDxyq93dpgBZUwBWnZAID2aFvE/VN8c5X8U00ZT7GRt9cy5EL2b6AQN3Z4uWL1ZVDVkYmRAHs33Lg==";
       };
     };
-    "@aws-sdk/node-config-provider-3.53.0" = {
+    "@aws-sdk/node-config-provider-3.54.0" = {
       name = "_at_aws-sdk_slash_node-config-provider";
       packageName = "@aws-sdk/node-config-provider";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.53.0.tgz";
-        sha512 = "l00gDzU7n2WSIBHZPVW8/t6L0UD6qwtre5kuGKiv8ZkZKynPg9VV39IB/JZ7swp2uydbXuqxgDxFvqImvY3IyA==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.54.0.tgz";
+        sha512 = "Q2a1vyoZa2UX/dItP3cqNdLUoTGdIY4hD5nA+mTg5mKlOWci35v8Rypr40tQz4ZwiDF6QQmK0tvD3bBUULm0wA==";
       };
     };
-    "@aws-sdk/node-http-handler-3.53.0" = {
+    "@aws-sdk/node-http-handler-3.54.0" = {
       name = "_at_aws-sdk_slash_node-http-handler";
       packageName = "@aws-sdk/node-http-handler";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.53.0.tgz";
-        sha512 = "YqovPyn75gNzDSvPWQUTAEbwhr8PBdp1MQz65bB8p+qOlzQi1jGCyj1uHqG7qwVIlis9+bAfqpAqNDuYpdGsNg==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.54.0.tgz";
+        sha512 = "g6+IXe4FCMrx4vrY73yvFNAUsBJ1vhjDshUCihBv5tEXsd45/MqmON/VWYoaQZts0m2wx2fKsdoDKSIZZY7AiQ==";
       };
     };
-    "@aws-sdk/property-provider-3.53.0" = {
+    "@aws-sdk/property-provider-3.54.0" = {
       name = "_at_aws-sdk_slash_property-provider";
       packageName = "@aws-sdk/property-provider";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.53.0.tgz";
-        sha512 = "qrVFYcOV/Da7/ozW2bDLDz0JQP0NLIn6/eNUwT2fqKVw9MWcrLf6xtyAJhCwckdUVOWS2HoBSyvEopa4mdh9Sw==";
+        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.54.0.tgz";
+        sha512 = "8e+KXskwOhXF0MIdIcZLFsOTfMVGp41Y6kywgewQaHkZoMzZ6euRziyWNgnshUE794tjxxol9resudSUehPjIw==";
       };
     };
-    "@aws-sdk/protocol-http-3.53.0" = {
+    "@aws-sdk/protocol-http-3.54.0" = {
       name = "_at_aws-sdk_slash_protocol-http";
       packageName = "@aws-sdk/protocol-http";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.53.0.tgz";
-        sha512 = "lKOXq2FjQH2i/ztJOKHoNgJ9Kpaprhb6/lsKMjHuePr/YDEzp62nEuJKbVx5rA9C8Rxuuj2hE8vXhQ6dyUIsjg==";
+        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.54.0.tgz";
+        sha512 = "v4CgQ2mBzEwNubM1duWP3Unu98EPNF2BuKWe4wT1HNG2MTkODS56fsgVT6sGGXS9nB/reEzB+3bXO5FS8+3SUg==";
       };
     };
-    "@aws-sdk/querystring-builder-3.53.0" = {
+    "@aws-sdk/querystring-builder-3.54.0" = {
       name = "_at_aws-sdk_slash_querystring-builder";
       packageName = "@aws-sdk/querystring-builder";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.53.0.tgz";
-        sha512 = "oliOrup52985pSKOjHbbm7t3bGL0HTPs9UODhBuDpHE7l0pdWE1hv9YiU3FF5NUIF25VwbL83GYmL9R52GxZhA==";
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.54.0.tgz";
+        sha512 = "7rs2gGPpiIHntbYGPFkxkXQkSK7uVBqlWRl0m6fNngUEz2n8jRxytB6LlALMHbXeXh28+zzq0VxbAwqAAUQ4oQ==";
       };
     };
-    "@aws-sdk/querystring-parser-3.53.0" = {
+    "@aws-sdk/querystring-parser-3.54.0" = {
       name = "_at_aws-sdk_slash_querystring-parser";
       packageName = "@aws-sdk/querystring-parser";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.53.0.tgz";
-        sha512 = "wEkS40w/wW4eBSnf7xt+m8InZFVzjLAzRYK1yPab2qfOIShpWgxg1ndqEP0eu14MvwdEfMPW9xU6J2AiWoxWng==";
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.54.0.tgz";
+        sha512 = "OZ4mRJ9rXgBskPBSoXBw8tV4kfNK0f/pP55qE1eZIcQ1z7EvVz4NjldgqMfscT20Cx5VzUbus3q9EPcV+HbR1w==";
       };
     };
-    "@aws-sdk/s3-request-presigner-3.53.1" = {
+    "@aws-sdk/s3-request-presigner-3.54.0" = {
       name = "_at_aws-sdk_slash_s3-request-presigner";
       packageName = "@aws-sdk/s3-request-presigner";
-      version = "3.53.1";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.53.1.tgz";
-        sha512 = "Ym6Ll3SV9dGb8MlAJz6bCLEeFSbFFtSsBtIT9X9edofXD61o/gIbs6SWpoTBnTLezLcqtA1qWaIl3PcMitGP7Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.54.0.tgz";
+        sha512 = "xPIahWW1brKu3Cnphx/pYAB3nRAyAZH4Zh7n1zm9XUsqqsBc4ZkIKqC5tDvJ/lBOLrqks8oSh2wpckfCwO9EpA==";
       };
     };
-    "@aws-sdk/service-error-classification-3.53.0" = {
+    "@aws-sdk/service-error-classification-3.54.0" = {
       name = "_at_aws-sdk_slash_service-error-classification";
       packageName = "@aws-sdk/service-error-classification";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.53.0.tgz";
-        sha512 = "l5g8QncKk0ZmzQL7mWyQ6n5xWkd1XQJuoOfLZPBas9SJAyz7wanV5P3CG9PX6s1GVHWLC+2MafpIQ6+aH1x5cQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.54.0.tgz";
+        sha512 = "XWANvjJJZNqsYhGmccSSuhsvINIUX1KckfDmvYtUR6cKM6nM6QWOg/QJeTFageTEpruJ5TqzW9vY414bIE883w==";
       };
     };
     "@aws-sdk/shared-ini-file-loader-3.52.0" = {
@@ -886,40 +895,40 @@ let
         sha512 = "tALb8u8IVcI4pT7yFZpl4O6kgeY5EAXyphZoRPgQSCDhmEyFUIi/sXbCN8HQiHjnHdWfXdaNE1YsZcW3GpcuoQ==";
       };
     };
-    "@aws-sdk/signature-v4-3.53.0" = {
+    "@aws-sdk/signature-v4-3.54.0" = {
       name = "_at_aws-sdk_slash_signature-v4";
       packageName = "@aws-sdk/signature-v4";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.53.0.tgz";
-        sha512 = "CUvCIrwiiWpJd/ldSA04RERXPsdvkuKW3+gBDIUREq4uc7co7Cml1/wbIJ0UOHAmJpDw82NDYqAUthYB1kbHrQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.54.0.tgz";
+        sha512 = "22Bf8uQ0Q/I7WpLFU88G7WVpRw6tWUX9Ggr0Z++81uZF5YCPbWDNtFDHitoERaRc/M4vUMxNuTsX/JWOR3fFPg==";
       };
     };
-    "@aws-sdk/smithy-client-3.53.0" = {
+    "@aws-sdk/smithy-client-3.54.0" = {
       name = "_at_aws-sdk_slash_smithy-client";
       packageName = "@aws-sdk/smithy-client";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.53.0.tgz";
-        sha512 = "/mZn1/1/BXFgV5PwbGfXczbSyZFrhUEhWQzPG7x1NXLQh3kcSoHGDSONqFhqTeHWkfEXp1Tn0zUe7R4vAseFmQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.54.0.tgz";
+        sha512 = "zdYN5pwhJU7x8qZKWTZPsFD5YQkDt6kyCNRsNjSWJ0ON4R3wUlFIwT3YzeQ5nMOTD86cVIm1n2RaSTYHwelFXg==";
       };
     };
-    "@aws-sdk/types-3.53.0" = {
+    "@aws-sdk/types-3.54.0" = {
       name = "_at_aws-sdk_slash_types";
       packageName = "@aws-sdk/types";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.53.0.tgz";
-        sha512 = "FqHfWRXdnQvfxgngDKfYpYOuQ1HmPgxaGKELx3pFaEnQdMo/dMXjfBGQcEQgP8jqU6bPLaJSfykjWjDzua8JBg==";
+        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.54.0.tgz";
+        sha512 = "Jp2MHXnrM0pk0RIoSl5AHFm7TBk+7b8HTIcQ2X/6kGwwwnWw9qlg9ZFziegJTNTLJ4iVgZjz/yMlEvgrp7z9CA==";
       };
     };
-    "@aws-sdk/url-parser-3.53.0" = {
+    "@aws-sdk/url-parser-3.54.0" = {
       name = "_at_aws-sdk_slash_url-parser";
       packageName = "@aws-sdk/url-parser";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.53.0.tgz";
-        sha512 = "lB0U5TkBDSdJK8h3noDkSG/P1cGnpSxOxBroMgPHA8Lrf5lmFRMvDXLXMhRDnTiqtsd/DpHDPyat91pfwLVEwA==";
+        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.54.0.tgz";
+        sha512 = "DJWdlkXq3rsOydxwR9htPUW4QXhmo75Hybg96D3F2uPUvPCm8gJFngXp/9hW1OYcgfNu13HXqUy+t6V23cC7Iw==";
       };
     };
     "@aws-sdk/util-arn-parser-3.52.0" = {
@@ -949,22 +958,22 @@ let
         sha512 = "V96YIXBuIiVu7Zk72Y9dly7Io9cYOT30Hjf77KAkBeizlFgT5gWklWYGcytPY8FxLuEy4dPLeHRmgwQnlDwgPA==";
       };
     };
-    "@aws-sdk/util-body-length-browser-3.52.0" = {
+    "@aws-sdk/util-body-length-browser-3.54.0" = {
       name = "_at_aws-sdk_slash_util-body-length-browser";
       packageName = "@aws-sdk/util-body-length-browser";
-      version = "3.52.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.52.0.tgz";
-        sha512 = "8omOgIGmopUtwg3XaeyvqacxrIrCsDKUVQp5n+8iLmyYt5mQM70vXbUC273GJzKDtibGDfxiN4FqSLBlo9F/oQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.54.0.tgz";
+        sha512 = "hnY9cXbKWJ2Fjb4bK35sFdD4vK+sFe59JtxxI336yYzANulc462LU/J1RgONXYBW60d9iwJ7U+S+9oTJrEH6WQ==";
       };
     };
-    "@aws-sdk/util-body-length-node-3.52.0" = {
+    "@aws-sdk/util-body-length-node-3.54.0" = {
       name = "_at_aws-sdk_slash_util-body-length-node";
       packageName = "@aws-sdk/util-body-length-node";
-      version = "3.52.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.52.0.tgz";
-        sha512 = "1WWsGh0hip4y1uvOLFV2v3Nvq3W35dmW5YniCi0gQDBLc5JHES8Zka7yoCDYOfaYFUodVH5mC/jFBjGRQ3TpDw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.54.0.tgz";
+        sha512 = "BBQB3kqHqHQp2GAINJGuse9JBM7hfU0tMp9rfw0nym4C/VRooiJVrIb28tKseLtd7nihXvsZXPvEc2jQBe1Thg==";
       };
     };
     "@aws-sdk/util-buffer-from-3.52.0" = {
@@ -985,13 +994,13 @@ let
         sha512 = "1wonBNkOOLJpMZnz2Kn69ToFgSoTTyGzJInir8WC5sME3zpkb5j41kTuEVbImNJhVv9MKjmGYrMeZbBVniLRPw==";
       };
     };
-    "@aws-sdk/util-create-request-3.53.0" = {
+    "@aws-sdk/util-create-request-3.54.0" = {
       name = "_at_aws-sdk_slash_util-create-request";
       packageName = "@aws-sdk/util-create-request";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.53.0.tgz";
-        sha512 = "yRc+XGz8oUxBLd1ikluRJ4pltP2fORjTvaLLou5sK/jsougPhGmSKcUgvz4rublwUU5L7zeFLk3ndrcg2b5AKQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.54.0.tgz";
+        sha512 = "Sa+t75YQnMXXcCruLBvKZ6B1DzyGAod1PZT+iDHwDDobDsUVG3Cjov9gJepYAH2EEmvZa9f0IT+W6lvGv3uL4w==";
       };
     };
     "@aws-sdk/util-credentials-3.53.0" = {
@@ -1003,31 +1012,31 @@ let
         sha512 = "XP/3mYOmSn5KpWv+PnBTP2UExXb+hx1ugbH4Gkveshdq9KBlVnpV5eVgIwSAnKBsplScfsNMJ5EOtHjz5Cvu5A==";
       };
     };
-    "@aws-sdk/util-defaults-mode-browser-3.53.0" = {
+    "@aws-sdk/util-defaults-mode-browser-3.54.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-browser";
       packageName = "@aws-sdk/util-defaults-mode-browser";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.53.0.tgz";
-        sha512 = "ubOcZT3rkVXSTwCHeIJevgBVV5GHnejz3hd+dFY9OcuK53oMZnFPS8SfJLgGG6PHfg30P8EurKv1VhWrbuuJDw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.54.0.tgz";
+        sha512 = "9QnRbTsD2MuEr59vaPAbC95ba7druMFRSZjpwc3L7U9zpsJruNDaL5aAmV0gCAIPZg7eSaJmipyWr0AvwwgroQ==";
       };
     };
-    "@aws-sdk/util-defaults-mode-node-3.53.0" = {
+    "@aws-sdk/util-defaults-mode-node-3.54.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-node";
       packageName = "@aws-sdk/util-defaults-mode-node";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.53.0.tgz";
-        sha512 = "84nczaF0eZMRkZ7chJh7OZd4ekV31eWmw8LOTJ4RQeeRy+0eY8th23yKyt5TU+YgmMLrY0BVK7103BQAI/6ccQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.54.0.tgz";
+        sha512 = "kHFgEyAWCaR5uSmRwyVbWQnjiNib3EJSAG9y7bwMIHSOK/6TVOXGlb1KIoO6ZtLE1FZFlS55FIRFeOPmIFFZbA==";
       };
     };
-    "@aws-sdk/util-format-url-3.53.0" = {
+    "@aws-sdk/util-format-url-3.54.0" = {
       name = "_at_aws-sdk_slash_util-format-url";
       packageName = "@aws-sdk/util-format-url";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.53.0.tgz";
-        sha512 = "+r80EoHjk8sN/GjZ90JdI3a5mNKcnEWU6TL+C+cRkCMbdAXMGOCsnt3C567IcpGU3dUba/UcYA9Y2Y34FzpetA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.54.0.tgz";
+        sha512 = "nnrXT0dQc+eRWJPgkqDK91NEluTFU9Tqs/LhIlIq+6Z8BELTN24lCi9feUKtw1s3a5ucUSs2unYyfHnl35PeeQ==";
       };
     };
     "@aws-sdk/util-hex-encoding-3.52.0" = {
@@ -1048,22 +1057,22 @@ let
         sha512 = "l10U2cLko6070A9DYLJG4NMtwYH8JBG2J/E+RH8uY3lad2o6fGEIkJU0jQbWbUeHYLG3IWuCxT47V4gxYrFj7g==";
       };
     };
-    "@aws-sdk/util-stream-browser-3.53.0" = {
+    "@aws-sdk/util-stream-browser-3.54.0" = {
       name = "_at_aws-sdk_slash_util-stream-browser";
       packageName = "@aws-sdk/util-stream-browser";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.53.0.tgz";
-        sha512 = "oh+PVTeo7nvkuXwlrAy6TErTpzTRrtxaL+2ErTFiLFPPFKK2/0X0E12zoNB0DMaY48sRdkJmrlLbOtxGDS1rNg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.54.0.tgz";
+        sha512 = "KVBRQcTie9Q231pdbO4gzGxHG8wNomGic3bHDnwfVdE+tq1Pbi8xNgUelmmd/uZvgMf8awuNN8OHzkex06HAHQ==";
       };
     };
-    "@aws-sdk/util-stream-node-3.53.0" = {
+    "@aws-sdk/util-stream-node-3.54.0" = {
       name = "_at_aws-sdk_slash_util-stream-node";
       packageName = "@aws-sdk/util-stream-node";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.53.0.tgz";
-        sha512 = "Hubb2cvn2idlNsHkJ5v46wW+cvodLySGJCqTat5kUAoOxR20ZFG3P3R6InU85PAh54zZTRvURuD0UM0uPtIQYQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.54.0.tgz";
+        sha512 = "h3kpLMYzGgPkCIq0sLlE70zAt75C6wcbZm4gPh5iN8KRmmhpktqKpBami9J5fY6cBPC5ZlEmv5iDdZrI90Imrw==";
       };
     };
     "@aws-sdk/util-uri-escape-3.52.0" = {
@@ -1075,22 +1084,22 @@ let
         sha512 = "W9zw5tE8syjg17jiCYtyF99F0FgDIekQdLg+tQGobw9EtCxlUdg48UYhifPfnjvVyADRX2ntclHF9NmhusOQaQ==";
       };
     };
-    "@aws-sdk/util-user-agent-browser-3.53.0" = {
+    "@aws-sdk/util-user-agent-browser-3.54.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-browser";
       packageName = "@aws-sdk/util-user-agent-browser";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.53.0.tgz";
-        sha512 = "fJsxzjo4UMv2o6KYSvw8cwfDhAQiao3X+iY1lGNVKrcY2bnI4zW5pWYge94oIJXMyFjjg6k6Ek+JIvGLMFY0XA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.54.0.tgz";
+        sha512 = "pU5KL1Nnlc1igeED2R44k9GEIxlLBhwmUGIw8/Emfm8xAlGOX4NsVSfHK9EpJQth0z5ZJ4Lni6S5+nW4V16yLw==";
       };
     };
-    "@aws-sdk/util-user-agent-node-3.53.0" = {
+    "@aws-sdk/util-user-agent-node-3.54.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-node";
       packageName = "@aws-sdk/util-user-agent-node";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.53.0.tgz";
-        sha512 = "YbrqMpTi+ArL9qG+NIXPInmnjGwYu0lohiH5uyEMHAHolqg4vqdKBlXyZ7Pjls2Nka7px2UUfX/Ba2RIssBBMQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.54.0.tgz";
+        sha512 = "euKoYk1TfyV9XlJyAlGWdYqhQ5B4COwBxsV9OpwiAINUFm91NSv6uavFC/ZZQBXRks6j9pHDAXeXu7bHVolvlA==";
       };
     };
     "@aws-sdk/util-utf8-browser-3.52.0" = {
@@ -1111,13 +1120,13 @@ let
         sha512 = "fujr7zeobZ2y5nnOnQZrCPPc+lCAhtNF/LEVslsQfd+AQ0bYWiosrKNetodQVWlfh10E2+i6/5g+1SBJ5kjsLw==";
       };
     };
-    "@aws-sdk/util-waiter-3.53.0" = {
+    "@aws-sdk/util-waiter-3.54.0" = {
       name = "_at_aws-sdk_slash_util-waiter";
       packageName = "@aws-sdk/util-waiter";
-      version = "3.53.0";
+      version = "3.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.53.0.tgz";
-        sha512 = "WyiyHOzmiapbbwB8dtu7axRqu9u5+Mnp1/+k2Ia7cm0UMUTKLjdixPsaM89HNre3EMa8WHrDBnwyVmo/Khbq3w==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.54.0.tgz";
+        sha512 = "+Gz5R14jWKsQtMCWbzWJe2Ac/CdMV/h5/R8uEZmwM3f6MHICPOftMQd0uDLdGezSBV9PuU3PCwiBZBTFzNSYBg==";
       };
     };
     "@aws-sdk/xml-builder-3.52.0" = {
@@ -2443,6 +2452,15 @@ let
         sha512 = "BlwPjCDjeSdwIk7vP3wU6kFI+ZJBji8j5QWy631r+aQM1t74AclUOWNQZT8/GX3y2hqmC9LZnFT/bTQtVxw24g==";
       };
     };
+    "@chinachu/aribts-1.3.5-mirakurun.17" = {
+      name = "_at_chinachu_slash_aribts";
+      packageName = "@chinachu/aribts";
+      version = "1.3.5-mirakurun.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@chinachu/aribts/-/aribts-1.3.5-mirakurun.17.tgz";
+        sha512 = "1rgl8GNttf8+Ru/lOhWmH36zYQwUBaKIChHXe66KdJXDF+lRUaFhD1cR5NBCOFR983xzrvTJtGp0GWoYbILd1Q==";
+      };
+    };
     "@cnakazawa/watch-1.0.4" = {
       name = "_at_cnakazawa_slash_watch";
       packageName = "@cnakazawa/watch";
@@ -2965,13 +2983,13 @@ let
         sha512 = "MUwA2YKpqaQOSR4V1/CVGRNk8Ii5kf6I8Ch+4/BhRZRQXuwWbi21rDRYWPqdQWps7VNzAbbMA+PQDWsD5YY38g==";
       };
     };
-    "@cspell/dict-software-terms-2.1.2" = {
+    "@cspell/dict-software-terms-2.1.3" = {
       name = "_at_cspell_slash_dict-software-terms";
       packageName = "@cspell/dict-software-terms";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-2.1.2.tgz";
-        sha512 = "iTkkduYX4+NVHt1CKbDGDQJsSTqMCafGZKhtasPQTUN6UxIaDFM9Hxl1wAoECDaRRDgkaGP0v1C7F8jY7nFyKQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-2.1.3.tgz";
+        sha512 = "JmMfRa9Xl0MCD/z5gYUnY05BNxSMnx25Ky6kO/Cs0gBYZZdYzHZNqrbfnqBMsB9PpOzn2uqrYUmAEusoI1WyMQ==";
       };
     };
     "@cspell/dict-swift-1.0.2" = {
@@ -3118,13 +3136,13 @@ let
         sha512 = "HilPrVrCosYWqSyjfpDtaaN1kJwdlBpS+IAflP3z+e7nsEgk3JGJf1Vg0NgHJooTf5HDfXSyZqMVg+5jvXCK0g==";
       };
     };
-    "@discoveryjs/json-ext-0.5.6" = {
+    "@discoveryjs/json-ext-0.5.7" = {
       name = "_at_discoveryjs_slash_json-ext";
       packageName = "@discoveryjs/json-ext";
-      version = "0.5.6";
+      version = "0.5.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz";
-        sha512 = "ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==";
+        url = "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz";
+        sha512 = "dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==";
       };
     };
     "@electron-forge/async-ora-6.0.0-beta.63" = {
@@ -3397,6 +3415,15 @@ let
         sha512 = "igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==";
       };
     };
+    "@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==";
+      };
+    };
     "@exodus/schemasafe-1.0.0-rc.6" = {
       name = "_at_exodus_slash_schemasafe";
       packageName = "@exodus/schemasafe";
@@ -3424,22 +3451,22 @@ let
         sha512 = "Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==";
       };
     };
-    "@expo/config-6.0.18" = {
+    "@expo/config-6.0.19" = {
       name = "_at_expo_slash_config";
       packageName = "@expo/config";
-      version = "6.0.18";
+      version = "6.0.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config/-/config-6.0.18.tgz";
-        sha512 = "60z0YICI9eJWlvajl/Wgq8+lKm0jfkZOMdATDQtWz6GvWshUxd+A8EYhtgjJ9eWMGqOYkwrCpRNLHz5TZtCKWA==";
+        url = "https://registry.npmjs.org/@expo/config/-/config-6.0.19.tgz";
+        sha512 = "UkLnnKnt4zP382K7s0UDnUNY646Gdw8PoDWnxaIGAL515R9IX8oWef7+7hX/dZMi27d/WLJPmWNRYsEL8Q/3rw==";
       };
     };
-    "@expo/config-plugins-4.0.18" = {
+    "@expo/config-plugins-4.1.0" = {
       name = "_at_expo_slash_config-plugins";
       packageName = "@expo/config-plugins";
-      version = "4.0.18";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.0.18.tgz";
-        sha512 = "tW4bnrnKhn+PPHF8wf1KAoubICAVUHW8CcagvyFqaRIzeh6yavMIOsQShxOVTbgx7LzSyymZ1nEs45yCGAiMfA==";
+        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.1.0.tgz";
+        sha512 = "+Uq7kzi1StUZZZivnnqNV6+v8b+SMF6MDgH+cEZxCoM9uwLXOK0rTAURzBGtl+C6EEbKnoZmnKGuzABBGPRP7A==";
       };
     };
     "@expo/config-types-44.0.0" = {
@@ -3451,22 +3478,22 @@ let
         sha512 = "d+gpdKOAhqaD5RmcMzGgKzNtvE1w+GCqpFQNSXLliYlXjj+Tv0eL8EPeAdPtvke0vowpPFwd5McXLA90dgY6Jg==";
       };
     };
-    "@expo/dev-server-0.1.105" = {
+    "@expo/dev-server-0.1.106" = {
       name = "_at_expo_slash_dev-server";
       packageName = "@expo/dev-server";
-      version = "0.1.105";
+      version = "0.1.106";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.105.tgz";
-        sha512 = "Glw+826+4eS3zCXAEg5ruQVK3fCk+aT5BG+AiOYW5Dzb6EmRVYcbkK93ZdXloiqarflum9bQY+rogItB0hjjrw==";
+        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.106.tgz";
+        sha512 = "MEB5YuOkew2O4K3GTDLHS1PT/Ca7B/tGx4J+eH74QK6051PlmrikPA5/buuZd23ww/cmOAAKBw509agcbrpajg==";
       };
     };
-    "@expo/dev-tools-0.13.145" = {
+    "@expo/dev-tools-0.13.146" = {
       name = "_at_expo_slash_dev-tools";
       packageName = "@expo/dev-tools";
-      version = "0.13.145";
+      version = "0.13.146";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.145.tgz";
-        sha512 = "GtqnA9rmmSqCrv893MWbzbAoDZnYaSXe4kKQ57tCWYeSTOKav74ofvZlUZalosPuPjE9yuMA47rH9XJY0YgC1g==";
+        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.146.tgz";
+        sha512 = "3bZe8He2uLha2SY1vOp2YnwtuXDHXodQwdkYdN/IL6XBveIKaBR9HDhBg/kBvI+/aNcut6ymwSSo9IOEmvUk5g==";
       };
     };
     "@expo/devcert-1.0.0" = {
@@ -3496,13 +3523,13 @@ let
         sha512 = "ZxtBodAZGxdLtgKzmsC+8ViUxt1mhFW642Clu2OuG3f6PAyAFsU/SqEGag9wKFaD3x3Wt8VhL+3y5fMJmUFgPw==";
       };
     };
-    "@expo/metro-config-0.3.11" = {
+    "@expo/metro-config-0.3.12" = {
       name = "_at_expo_slash_metro-config";
       packageName = "@expo/metro-config";
-      version = "0.3.11";
+      version = "0.3.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.3.11.tgz";
-        sha512 = "F0Oe3JbRjbPA7LvZW969/6PTn7EXvXaudJq4fL8Fs4xfLgNHFv+t+NvlnoTj+y8IyY3z2jOfJkwpq64rzhx+6g==";
+        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.3.12.tgz";
+        sha512 = "8cvsMMe68BfZqNYIXeYDVtf6ijEHmJ27llhFKFwS8XZwKaqcfSLRANK8I8xxTc00tzXaWyE1BKJIY6DMq/gbJA==";
       };
     };
     "@expo/osascript-2.0.31" = {
@@ -3532,13 +3559,13 @@ let
         sha512 = "5Ul3d/YOYE6mfum0jCE25XUnkKHZ5vGlU/X2275ZmCtGrpRn1Fl8Nq+jQKSaks3NqTfxdyXROi/TgH8Zxeg2wg==";
       };
     };
-    "@expo/prebuild-config-3.0.18" = {
+    "@expo/prebuild-config-3.1.0" = {
       name = "_at_expo_slash_prebuild-config";
       packageName = "@expo/prebuild-config";
-      version = "3.0.18";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-3.0.18.tgz";
-        sha512 = "Eyb+HJCsxYba2sWlDi3rqXWQ3jDjN41rSiYmvApY121Zqdrrj/384ntHZh6cbz0LWPeHXjPZBM3SDbK0ri9FTw==";
+        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-3.1.0.tgz";
+        sha512 = "Vwz2L3brsrvLVDBXj2gcB2QfeyAPKxa7rCOSFnPhyHf2qpxtmncv9IVrSdkHyWlPW7KmFVfiRsT3/nHXoataqQ==";
       };
     };
     "@expo/rudder-sdk-node-1.1.1" = {
@@ -3577,13 +3604,13 @@ let
         sha512 = "LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==";
       };
     };
-    "@expo/webpack-config-0.16.18" = {
+    "@expo/webpack-config-0.16.19" = {
       name = "_at_expo_slash_webpack-config";
       packageName = "@expo/webpack-config";
-      version = "0.16.18";
+      version = "0.16.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.16.18.tgz";
-        sha512 = "zANXNW68EzQ5Q8FyEmfZz1z7050yOaqJOpByWOLJ3NE1TRzflyzjt55OXsggPxBz2wpmikq/NjlZuF92e18UGw==";
+        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.16.19.tgz";
+        sha512 = "VB8QNJ4Kvt46cy/y+AbBrJViOH2QY+AEfELNZRDifokZg0wPauxQCz/3Dk7qQnjLYsVOszoH7AtgfOdy/5NSjg==";
       };
     };
     "@expo/xcpretty-4.1.0" = {
@@ -3613,67 +3640,130 @@ let
         sha512 = "uRsLYksqpbDmWaSmzvJcuApSEe38+6NQZBUsuAyMZKqHxH0g1wcJgsKUvN3WC8tewaqFjBMMGrkHmC+T7k8LvA==";
       };
     };
-    "@fluentui/date-time-utilities-7.9.1" = {
+    "@fluentui/date-time-utilities-8.4.0" = {
       name = "_at_fluentui_slash_date-time-utilities";
       packageName = "@fluentui/date-time-utilities";
-      version = "7.9.1";
+      version = "8.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz";
-        sha512 = "o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==";
+        url = "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.4.0.tgz";
+        sha512 = "fEc8JMG0Y21De6kjD5xfP/ix7y3u0zbFTKgNWNASGpIYsZKXbJqeu8/DEqnc4x9Lf5pxiV+WhNcoMLbtjKTpmg==";
       };
     };
-    "@fluentui/dom-utilities-1.1.2" = {
+    "@fluentui/dom-utilities-2.2.0" = {
       name = "_at_fluentui_slash_dom-utilities";
       packageName = "@fluentui/dom-utilities";
-      version = "1.1.2";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.2.0.tgz";
+        sha512 = "M4SmXu428wwQLu1iw6ST07iACjdKY5HiU+xpcgD3IQMMQazgN616GDzc6KZ1ebuBsF7B4TyQS7KZh9mfxnnldg==";
+      };
+    };
+    "@fluentui/font-icons-mdl2-8.2.4" = {
+      name = "_at_fluentui_slash_font-icons-mdl2";
+      packageName = "@fluentui/font-icons-mdl2";
+      version = "8.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.2.4.tgz";
+        sha512 = "Qep23/wpAwONuX0NSQa0D6RbGbEJQBjGMLdV4Qp6h4NKIGELsKJ1xEIa5ZCD68LzQHJsVtXDtOnSWi57Ug/P1A==";
+      };
+    };
+    "@fluentui/foundation-legacy-8.2.4" = {
+      name = "_at_fluentui_slash_foundation-legacy";
+      packageName = "@fluentui/foundation-legacy";
+      version = "8.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz";
-        sha512 = "XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==";
+        url = "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.2.4.tgz";
+        sha512 = "3pBUhKxkfJiRmTcTkkv/QvvF4it4hng7xx5GqcOD7WDzCVXUBTdWCbK/41kCOrTV8kfpu7hzJReCwZeBLlymuQ==";
       };
     };
-    "@fluentui/keyboard-key-0.2.17" = {
+    "@fluentui/keyboard-key-0.4.0" = {
       name = "_at_fluentui_slash_keyboard-key";
       packageName = "@fluentui/keyboard-key";
-      version = "0.2.17";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.17.tgz";
-        sha512 = "iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==";
+        url = "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.4.0.tgz";
+        sha512 = "2jcD23FzOPaSXqWtfOSCzopkKtxTXUFuHZyVt4aqVRDEjPbkQ/7p37O1WL95xweWTR/9fEPO/gPtv9kOnXrJcA==";
       };
     };
-    "@fluentui/react-7.183.1" = {
+    "@fluentui/merge-styles-8.5.0" = {
+      name = "_at_fluentui_slash_merge-styles";
+      packageName = "@fluentui/merge-styles";
+      version = "8.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.5.0.tgz";
+        sha512 = "+WoaAaoYx/wfkrz1Ag40JqHvDUFfQcg+dQ3jaEOoau16y7EZGIe7oN8WYIXNMgWuMxH7r1QlanFbQZ+ziKjHmw==";
+      };
+    };
+    "@fluentui/react-8.60.3" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
-      version = "7.183.1";
+      version = "8.60.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react/-/react-7.183.1.tgz";
-        sha512 = "skyvnVfsy/pJWJf1Tksa2lf+gNHFQFVOwM95Z+or+auGPfdpxKUN0nHbCnqyMLYoKdmKEUyciUzrQ2LxMOcU0A==";
+        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.60.3.tgz";
+        sha512 = "KLxnvgz1+BvP4csqhShrdAxg7I9GXNcrhESgbEUoR5ILeK6O62/q8ElWWQzKqR9WQ6PKeSp9f2S3Ucdfpc6WiA==";
       };
     };
-    "@fluentui/react-focus-7.18.2" = {
+    "@fluentui/react-focus-8.5.4" = {
       name = "_at_fluentui_slash_react-focus";
       packageName = "@fluentui/react-focus";
-      version = "7.18.2";
+      version = "8.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.5.4.tgz";
+        sha512 = "SjCz1IJn1T6a6o6xcaEPd5Hou9B3QbpheHNxKWOJSQHG6wazwnHJRhNyTcgiX5+D1KEbnO757EoyOoxIVsnENQ==";
+      };
+    };
+    "@fluentui/react-hooks-8.5.2" = {
+      name = "_at_fluentui_slash_react-hooks";
+      packageName = "@fluentui/react-hooks";
+      version = "8.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.18.2.tgz";
-        sha512 = "Pwk5TVIfannsSZI540ytvQxJCFi5Qgp54QqKbouv9+jUTtgiNRh5VcEkkhT+NKmtlAKhwPi77bU8WQRGRPV61w==";
+        url = "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.5.2.tgz";
+        sha512 = "YqyLDa/1SbQSrfGQ+nBUvQYJo2wOWGDAhQbdWTwQGjG7jEmRfmScqMY+KJGjM/Gisn6v8CG5d1duSZLmbm0syA==";
       };
     };
-    "@fluentui/react-window-provider-1.0.2" = {
+    "@fluentui/react-window-provider-2.2.0" = {
       name = "_at_fluentui_slash_react-window-provider";
       packageName = "@fluentui/react-window-provider";
-      version = "1.0.2";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.2.0.tgz";
+        sha512 = "1iZzfVQHZQn6IJSJD1pxnXi5H8T3vrZYi9aqKyVIPZ12DCTVE2gw8W3mnOjsfVuXMGdv1sA7dgd6v4xi9erBow==";
+      };
+    };
+    "@fluentui/set-version-8.2.0" = {
+      name = "_at_fluentui_slash_set-version";
+      packageName = "@fluentui/set-version";
+      version = "8.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.2.0.tgz";
+        sha512 = "bqjpfhqaIkBy16vdYzdc7tER9Td7BTcmC+kCXuqkHOQVuG9LJfqVGRV0DA857KLhOxiy0GXwKMeDbNV5jJf6qQ==";
+      };
+    };
+    "@fluentui/style-utilities-8.6.4" = {
+      name = "_at_fluentui_slash_style-utilities";
+      packageName = "@fluentui/style-utilities";
+      version = "8.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz";
-        sha512 = "fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==";
+        url = "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.6.4.tgz";
+        sha512 = "jWG5zq7nc37Q6O1LzaoU2U8Ki4Xo5ySm3d5uzefDsEIQpK9E22c1mpUI3hDWwWKILxF3S3dYkHNqbsGH72JYaw==";
       };
     };
-    "@fluentui/theme-1.7.4" = {
+    "@fluentui/theme-2.6.3" = {
       name = "_at_fluentui_slash_theme";
       packageName = "@fluentui/theme";
-      version = "1.7.4";
+      version = "2.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fluentui/theme/-/theme-2.6.3.tgz";
+        sha512 = "fqqRDnbbPjSbY8PdbsSJMYidhFdjdSoYuDab5n8yiePEHyWQ5OcQFkf1j6V7dg+2fZvW3XTWWSQEboQl+kTdNQ==";
+      };
+    };
+    "@fluentui/utilities-8.8.0" = {
+      name = "_at_fluentui_slash_utilities";
+      packageName = "@fluentui/utilities";
+      version = "8.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz";
-        sha512 = "o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==";
+        url = "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.8.0.tgz";
+        sha512 = "IwKN9ZkYMJApzcvJUlJd4ZURJCMwZG8FNsep05GAcDzynZygvH2Y1ECpIFn9VTSsrKxMKYFIQ61Rwg+AW/eBcw==";
       };
     };
     "@gar/promisify-1.1.3" = {
@@ -3811,13 +3901,13 @@ let
         sha512 = "bQu+hDd37e+FZ0CQGEEczmRSfQRnnXeUxI/0miDV+NV/zCbEdIJj5tYFNrKT03W6wgdqx8U06d8L23LxvGri/g==";
       };
     };
-    "@graphql-tools/delegate-8.5.1" = {
+    "@graphql-tools/delegate-8.5.2" = {
       name = "_at_graphql-tools_slash_delegate";
       packageName = "@graphql-tools/delegate";
-      version = "8.5.1";
+      version = "8.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.5.1.tgz";
-        sha512 = "/YPmVxitt57F8sH50pnfXASzOOjEfaUDkX48eF5q6f16+JBncej2zeu+Zm2c68q8MbIxhPlEGfpd0QZeqTvAxw==";
+        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.5.2.tgz";
+        sha512 = "M7d1jY4orPUC7MBoSKZEP21HTVqVGX+mS0AL6UGxg1L7GCRtaYQeopyKXmnnEmBi5FNZ9KduJgHRtxkS4Hc6uA==";
       };
     };
     "@graphql-tools/graphql-file-loader-6.2.7" = {
@@ -3928,13 +4018,13 @@ let
         sha512 = "DSDrbhQIv7fheQ60pfDpGD256ixUQIR6Hhf9Z5bRjVkXOCvO5XrkwoWLiU7iHL81GB1r0Ba31bf+sl+D4nyyfw==";
       };
     };
-    "@graphql-tools/url-loader-7.8.0" = {
+    "@graphql-tools/url-loader-7.9.1" = {
       name = "_at_graphql-tools_slash_url-loader";
       packageName = "@graphql-tools/url-loader";
-      version = "7.8.0";
+      version = "7.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.8.0.tgz";
-        sha512 = "4j5X40hpYInM5J7KbURSspEJCi6tPqvEE2kyBOyP0C0YIOYtKgUJTAryjbBXqr+HWGyEwJ2zuQ2cQdVMn8l78A==";
+        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.9.1.tgz";
+        sha512 = "UYKc0f8jw+MODDb79XKOG8wyvRCG/7KBYtRUfUKed4LBjftjZfF5VovAbF3axiTuzt2FSyPRu8YMEQ7kypkc8g==";
       };
     };
     "@graphql-tools/utils-6.2.4" = {
@@ -4045,13 +4135,13 @@ let
         sha512 = "UlcCS8VbsU9d3XTXGiEVFonN7hXk+oMXZtoHHG2oSA1/GcDP1q6OUgs20PzHDGizzyi8ufGSUDlk3O2NyY7leg==";
       };
     };
-    "@gulp-sourcemaps/identity-map-1.0.2" = {
+    "@gulp-sourcemaps/identity-map-2.0.1" = {
       name = "_at_gulp-sourcemaps_slash_identity-map";
       packageName = "@gulp-sourcemaps/identity-map";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz";
-        sha512 = "ciiioYMLdo16ShmfHBXJBOFm3xPC4AuwO4xeRpFeHz7WK9PYsWCmigagG2XyzZpubK4a3qNKoUBDhbzHfa50LQ==";
+        url = "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz";
+        sha512 = "Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==";
       };
     };
     "@gulp-sourcemaps/map-sources-1.0.0" = {
@@ -4072,6 +4162,33 @@ let
         sha512 = "maIyMJtYjA5e/R9nyA22Qd7Yw73MBSxClJvle0a8XWAS/5l6shc/OFpQqrmwMy4IXUCmywJ9ER0gOGz/YA720w==";
       };
     };
+    "@hapi/address-2.1.4" = {
+      name = "_at_hapi_slash_address";
+      packageName = "@hapi/address";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz";
+        sha512 = "QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==";
+      };
+    };
+    "@hapi/bourne-1.3.2" = {
+      name = "_at_hapi_slash_bourne";
+      packageName = "@hapi/bourne";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz";
+        sha512 = "1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==";
+      };
+    };
+    "@hapi/hoek-8.5.1" = {
+      name = "_at_hapi_slash_hoek";
+      packageName = "@hapi/hoek";
+      version = "8.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz";
+        sha512 = "yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==";
+      };
+    };
     "@hapi/hoek-9.2.1" = {
       name = "_at_hapi_slash_hoek";
       packageName = "@hapi/hoek";
@@ -4081,6 +4198,24 @@ let
         sha512 = "gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==";
       };
     };
+    "@hapi/joi-15.1.1" = {
+      name = "_at_hapi_slash_joi";
+      packageName = "@hapi/joi";
+      version = "15.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz";
+        sha512 = "entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==";
+      };
+    };
+    "@hapi/topo-3.1.6" = {
+      name = "_at_hapi_slash_topo";
+      packageName = "@hapi/topo";
+      version = "3.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz";
+        sha512 = "tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==";
+      };
+    };
     "@hapi/topo-5.1.0" = {
       name = "_at_hapi_slash_topo";
       packageName = "@hapi/topo";
@@ -4225,6 +4360,15 @@ let
         sha512 = "trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==";
       };
     };
+    "@intervolga/optimize-cssnano-plugin-1.0.6" = {
+      name = "_at_intervolga_slash_optimize-cssnano-plugin";
+      packageName = "@intervolga/optimize-cssnano-plugin";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz";
+        sha512 = "zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==";
+      };
+    };
     "@ionic/cli-framework-3.0.6" = {
       name = "_at_ionic_slash_cli-framework";
       packageName = "@ionic/cli-framework";
@@ -4522,22 +4666,22 @@ let
         sha512 = "4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==";
       };
     };
-    "@jsii/check-node-1.54.0" = {
+    "@jsii/check-node-1.55.0" = {
       name = "_at_jsii_slash_check-node";
       packageName = "@jsii/check-node";
-      version = "1.54.0";
+      version = "1.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.54.0.tgz";
-        sha512 = "pogNR1vgiXgBK2DQF+RsCnJQ9QPe+y7lyoRlsTtUplIFB6ryWnSsmCyzkInSVoKAKCo5CHkuDy190MbYL4Ns4Q==";
+        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.55.0.tgz";
+        sha512 = "vfBW/3ptY3emiBVrwk7ySwGyzOvwLxb66FMNTzyslYegH9RvIwE+UY8kC87zscuZSDOCwINwgD0KdqrrfnR5yg==";
       };
     };
-    "@jsii/spec-1.54.0" = {
+    "@jsii/spec-1.55.0" = {
       name = "_at_jsii_slash_spec";
       packageName = "@jsii/spec";
-      version = "1.54.0";
+      version = "1.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.54.0.tgz";
-        sha512 = "IOspxWPC26+Re6DNJvaxCEkG1BYByiGSPlRxQpIpts+Hx2EZgAvuG+8rQoryNt7JqaAKpcJ6W3OdRmSw3x5Yrg==";
+        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.55.0.tgz";
+        sha512 = "MsmAmi9+2s8p5jSypYFDTufkO2iAUWK7Ngq+btGDM6bMyQgqInMKNQcPcZAgWuwUCOU0ne/oYMVIbCR2njjAGA==";
       };
     };
     "@kwsites/file-exists-1.1.1" = {
@@ -5395,6 +5539,15 @@ let
         sha512 = "7AQsO0hMmpqDledV7AhBuSYqYPFsKP9PaltMecX9nlnsyFxqtsqUg9/pvB2L/jxvskrDrNkdKYz2KTbQznCtng==";
       };
     };
+    "@mdi/font-6.5.95" = {
+      name = "_at_mdi_slash_font";
+      packageName = "@mdi/font";
+      version = "6.5.95";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mdi/font/-/font-6.5.95.tgz";
+        sha512 = "ES5rj6J39FUkHe/b3C9SJs8bqIungYhuU7rBINTBaHOv/Ce4RCb3Gw08CZVl32W33UEkgRkzyWaIedV4at+QHg==";
+      };
+    };
     "@mdn/browser-compat-data-4.1.6" = {
       name = "_at_mdn_slash_browser-compat-data";
       packageName = "@mdn/browser-compat-data";
@@ -5611,13 +5764,13 @@ let
         sha512 = "BTpWy1e+FxN82RnLz4x1+JcEewVdfmUhV1C6/XYD5AjS7PQp9QFF7K8bCD6gzPTr2l+prvqOyVueQhFJxB1vfg==";
       };
     };
-    "@nestjs/schematics-8.0.7" = {
+    "@nestjs/schematics-8.0.8" = {
       name = "_at_nestjs_slash_schematics";
       packageName = "@nestjs/schematics";
-      version = "8.0.7";
+      version = "8.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.7.tgz";
-        sha512 = "7k+eMMBUwvXFp6vwZ5byiLBEQKzjMyIJwO46ginoFugt2AXrOt0iUhR3BKFuWDBZaYQ1l4az86UGw5ohgH3wow==";
+        url = "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.8.tgz";
+        sha512 = "xIIb5YnMQN/OJQ68+MCapy2bXvTxSWgINoqQbyZWkLL/yTIuROvZCdtV850NPGyr7f7l93VBP0ZPitbFIexy3Q==";
       };
     };
     "@netflix/nerror-1.1.3" = {
@@ -5683,6 +5836,132 @@ let
         sha512 = "tUGLGj3fTgOjWwhp9uK6M+LUb3rxIrU61DbA0fVpANCEeqk5UNJpje4vOag9dWmJS7hn/ONcDK7dslHLyOQUIQ==";
       };
     };
+    "@node-rs/crc32-1.5.0" = {
+      name = "_at_node-rs_slash_crc32";
+      packageName = "@node-rs/crc32";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32/-/crc32-1.5.0.tgz";
+        sha512 = "TLVm7FR1QAjXlXkss3HSx3BG/CvVwl4NVEL/qLAgossq4FQsybkvt0RCISrkI3j5fI30gPaGI/qwHn8xkLctow==";
+      };
+    };
+    "@node-rs/crc32-android-arm-eabi-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-android-arm-eabi";
+      packageName = "@node-rs/crc32-android-arm-eabi";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-android-arm-eabi/-/crc32-android-arm-eabi-1.5.0.tgz";
+        sha512 = "Si3YKPAkT9IW2ZJfmFQg+9KJWDNgykk1vgybYljR3TJg9WzlrJQvPmJFsZ/Ci+79Htsb8a4auavBbmIkj+JpVQ==";
+      };
+    };
+    "@node-rs/crc32-android-arm64-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-android-arm64";
+      packageName = "@node-rs/crc32-android-arm64";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-android-arm64/-/crc32-android-arm64-1.5.0.tgz";
+        sha512 = "2uJD7muLg6wXjPhcuuS+HZBgXGX8HsxJzDjVoe51uAoGx+Az0hyH2I6p/ObOIYzcW4xFML0rzlYM9XkMglJhfw==";
+      };
+    };
+    "@node-rs/crc32-darwin-arm64-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-darwin-arm64";
+      packageName = "@node-rs/crc32-darwin-arm64";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-darwin-arm64/-/crc32-darwin-arm64-1.5.0.tgz";
+        sha512 = "E3dWA/fKu7FeDGBYB20/YEz28Fw/8sj4iuXgE4n1aoh8994AdbXdsJlmNip6/AkcEynC8Q9RdPS4HdfM7kBPiw==";
+      };
+    };
+    "@node-rs/crc32-darwin-x64-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-darwin-x64";
+      packageName = "@node-rs/crc32-darwin-x64";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-darwin-x64/-/crc32-darwin-x64-1.5.0.tgz";
+        sha512 = "YjQ6y/3L1D2kOrNguB42sPf6HdEkqXcL2jxJ41QOfuIRV18lp7/5sM9OWRdjmLpQUUvmpqSSWxZFQ/2P/35EXw==";
+      };
+    };
+    "@node-rs/crc32-freebsd-x64-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-freebsd-x64";
+      packageName = "@node-rs/crc32-freebsd-x64";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-freebsd-x64/-/crc32-freebsd-x64-1.5.0.tgz";
+        sha512 = "K+HfvordJrw0xkht9wElxIHGDm5qodOVzNa95I7ZW8BktHWC2QmPkcYRotrDnZLaOs8NfA0xWGiqp/ncAJ3XOw==";
+      };
+    };
+    "@node-rs/crc32-linux-arm-gnueabihf-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-linux-arm-gnueabihf";
+      packageName = "@node-rs/crc32-linux-arm-gnueabihf";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-linux-arm-gnueabihf/-/crc32-linux-arm-gnueabihf-1.5.0.tgz";
+        sha512 = "MFwJlcIAmgtnWAluthAY2gyTbKIu5/+6PUSlOZ4xlSZIddb3ra3M/AQ0BkDSvEoDeQQ5ZdkcnVWzpqoCdUOe4Q==";
+      };
+    };
+    "@node-rs/crc32-linux-arm64-gnu-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-linux-arm64-gnu";
+      packageName = "@node-rs/crc32-linux-arm64-gnu";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-linux-arm64-gnu/-/crc32-linux-arm64-gnu-1.5.0.tgz";
+        sha512 = "7JYsJXRUE6yrK/mt7uLX91ARLS3HOCggTSGD3Kw52lhJRPXTyJVVIhuLj8/neW8ENTgH3zgpQdeId0sKQtKrDg==";
+      };
+    };
+    "@node-rs/crc32-linux-arm64-musl-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-linux-arm64-musl";
+      packageName = "@node-rs/crc32-linux-arm64-musl";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-linux-arm64-musl/-/crc32-linux-arm64-musl-1.5.0.tgz";
+        sha512 = "irOtNHrizI8toVCX92o/3FIIfz4O+Z5qiSlIwH3PxsOoak0mz6uEInYwPVnDDKfAYzCUA0oxcGV2QIR1uYpCKQ==";
+      };
+    };
+    "@node-rs/crc32-linux-x64-gnu-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-linux-x64-gnu";
+      packageName = "@node-rs/crc32-linux-x64-gnu";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-linux-x64-gnu/-/crc32-linux-x64-gnu-1.5.0.tgz";
+        sha512 = "KOevSXLbgs2htznP8jlsN6tZ4kmpGloBj00lo4X4H4Lm6eKeWyG9txbCGD0yK4ZX/XhrL6Qs4VIMCaVFpxFIsw==";
+      };
+    };
+    "@node-rs/crc32-linux-x64-musl-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-linux-x64-musl";
+      packageName = "@node-rs/crc32-linux-x64-musl";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-linux-x64-musl/-/crc32-linux-x64-musl-1.5.0.tgz";
+        sha512 = "e6ivD6MWVMp/FP6VVq3EBjiBXKN/qBsTn8bOsHtIf+Et6dEkITbEk26m5+w9TFHIHKJGvwytH7+RigK7N7o5VQ==";
+      };
+    };
+    "@node-rs/crc32-win32-arm64-msvc-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-win32-arm64-msvc";
+      packageName = "@node-rs/crc32-win32-arm64-msvc";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-win32-arm64-msvc/-/crc32-win32-arm64-msvc-1.5.0.tgz";
+        sha512 = "PTvfUb08MAdQ0hab5OxXBauPocP09SG2rShRjwtmyRnze+Nd5JHJcsj5O0WhX/DCu8acK1sS0Q0Np3b1lIbwkg==";
+      };
+    };
+    "@node-rs/crc32-win32-ia32-msvc-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-win32-ia32-msvc";
+      packageName = "@node-rs/crc32-win32-ia32-msvc";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-win32-ia32-msvc/-/crc32-win32-ia32-msvc-1.5.0.tgz";
+        sha512 = "+fUiXIUddPgoxPcBA4lpG7fQQgJGEkinnS1ne3+pySu1Z2Ej4vJFS5aJyKc56+1IV9ztrXo2H+b3r0IdnLvy7w==";
+      };
+    };
+    "@node-rs/crc32-win32-x64-msvc-1.5.0" = {
+      name = "_at_node-rs_slash_crc32-win32-x64-msvc";
+      packageName = "@node-rs/crc32-win32-x64-msvc";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-rs/crc32-win32-x64-msvc/-/crc32-win32-x64-msvc-1.5.0.tgz";
+        sha512 = "FvgItAuN6eRHZDAPVlBZbzQjiRO0DFFFLgy2KFUjx+vLx20Auf5Hi0/D+dFLmH9jdESaoZqwZC5FpB7nfit1lQ==";
+      };
+    };
     "@nodelib/fs.scandir-2.1.5" = {
       name = "_at_nodelib_slash_fs.scandir";
       packageName = "@nodelib/fs.scandir";
@@ -5773,13 +6052,13 @@ let
         sha512 = "9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==";
       };
     };
-    "@npmcli/map-workspaces-2.0.1" = {
+    "@npmcli/map-workspaces-2.0.2" = {
       name = "_at_npmcli_slash_map-workspaces";
       packageName = "@npmcli/map-workspaces";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.1.tgz";
-        sha512 = "awwkB/tSWWaCD8F0IbawBdmoPFlbXMaEPN9LyTuJcyJz404/QhB4B/vhQntpk6uxOAkM+bxR7qWMJghYg0tcYQ==";
+        url = "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.2.tgz";
+        sha512 = "ED54EslGsHFWBPN5x8JAOszuWywuoXYSi9E3HQRsgVkWnqsdTBJDSM4IFMRwmmBUbCHAxmP3wGLu1WMm4fhrOw==";
       };
     };
     "@npmcli/metavuln-calculator-2.0.0" = {
@@ -7240,13 +7519,13 @@ let
         sha512 = "y9qNj0//tZtWB2jfXNK3BX18BSBp9zNR7KE7lMysVHwbZtY392OJCjm6Rb/h4UHH2r1AqjNEHFD6bRn+DqU9Mw==";
       };
     };
-    "@redocly/openapi-core-1.0.0-beta.85" = {
+    "@redocly/openapi-core-1.0.0-beta.87" = {
       name = "_at_redocly_slash_openapi-core";
       packageName = "@redocly/openapi-core";
-      version = "1.0.0-beta.85";
+      version = "1.0.0-beta.87";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.85.tgz";
-        sha512 = "46ilsZ9g+tE5aWdNIKCUc9o6kcYM8nh5oKOlt9scawGR+spv1SfiYrvjtrcjLP5WyX082AUFBdnmzzScxs49Og==";
+        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.87.tgz";
+        sha512 = "bGvINYT8jpcYEbibhd4AO0M5WPE1IQLNLS4LCNZbD7jkoSQB1EHWBZJDhfPd1kxKPPcQ7UJNUCJwtIIrRs5gTQ==";
       };
     };
     "@redocly/react-dropdown-aria-2.0.12" = {
@@ -7303,13 +7582,13 @@ let
         sha512 = "c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==";
       };
     };
-    "@schematics/angular-13.2.5" = {
+    "@schematics/angular-13.2.6" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "13.2.5";
+      version = "13.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-13.2.5.tgz";
-        sha512 = "pUaTwyMZRy7laV9RQozREomiUKi7Tn4wdyyuCUSqVvaiLI+DKvWE4vJXA2+/ketfzRjx6xIaCEexjsHJ+2FNtg==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-13.2.6.tgz";
+        sha512 = "8NzHMX9+FSgaB0lJYxlTJv9OcBuolwZJqo9M/yX3RPSqSHghA33jWwgVbV551hBJOpbVEePerG1DQkIC99DXKA==";
       };
     };
     "@segment/loosely-validate-event-2.0.0" = {
@@ -7330,13 +7609,13 @@ let
         sha512 = "J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==";
       };
     };
-    "@serverless/aws-lambda-otel-extension-dist-0.1.6" = {
+    "@serverless/aws-lambda-otel-extension-dist-0.1.10" = {
       name = "_at_serverless_slash_aws-lambda-otel-extension-dist";
       packageName = "@serverless/aws-lambda-otel-extension-dist";
-      version = "0.1.6";
+      version = "0.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/aws-lambda-otel-extension-dist/-/aws-lambda-otel-extension-dist-0.1.6.tgz";
-        sha512 = "Xt1bVZvDYKp01kXo8z0/8yd5rHeq1SxOmP4ZsdoASNXVlliR/wo4W/Pt4eJk5/zklA6CjWN4PfhcRkt90XKqtw==";
+        url = "https://registry.npmjs.org/@serverless/aws-lambda-otel-extension-dist/-/aws-lambda-otel-extension-dist-0.1.10.tgz";
+        sha512 = "SPMmou6Bom/TcX69WcKXDiHPVQycfbocUW8vrXLU9oBxFY49Z0l70Yk7lOvtc1H/lc5taIfkcW0Eo12cOp9cvA==";
       };
     };
     "@serverless/dashboard-plugin-6.1.5" = {
@@ -7510,6 +7789,42 @@ let
         sha512 = "dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==";
       };
     };
+    "@socket.io/component-emitter-3.0.0" = {
+      name = "_at_socket.io_slash_component-emitter";
+      packageName = "@socket.io/component-emitter";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz";
+        sha512 = "2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==";
+      };
+    };
+    "@soda/friendly-errors-webpack-plugin-1.8.1" = {
+      name = "_at_soda_slash_friendly-errors-webpack-plugin";
+      packageName = "@soda/friendly-errors-webpack-plugin";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz";
+        sha512 = "h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==";
+      };
+    };
+    "@soda/get-current-script-1.0.2" = {
+      name = "_at_soda_slash_get-current-script";
+      packageName = "@soda/get-current-script";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz";
+        sha512 = "T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==";
+      };
+    };
+    "@sqltools/formatter-1.2.3" = {
+      name = "_at_sqltools_slash_formatter";
+      packageName = "@sqltools/formatter";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.3.tgz";
+        sha512 = "O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg==";
+      };
+    };
     "@squoosh/lib-0.4.1" = {
       name = "_at_squoosh_slash_lib";
       packageName = "@squoosh/lib";
@@ -8023,15 +8338,6 @@ let
         sha512 = "G4yqdVlhr6YhzLXFKy5F7HtRBU8Y23+iWy7UKthMq/OSQnL1hbsoeXESQ2LY8zEDlknipDG3nRGhUC9tkwvy/w==";
       };
     };
-    "@types/basic-auth-1.1.3" = {
-      name = "_at_types_slash_basic-auth";
-      packageName = "@types/basic-auth";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/basic-auth/-/basic-auth-1.1.3.tgz";
-        sha512 = "W3rv6J0IGlxqgE2eQ2pTb0gBjaGtejQpJ6uaCjz3UQ65+TFTPC5/lAE+POfx1YLdjtxvejJzsIAfd3MxWiVmfg==";
-      };
-    };
     "@types/bn.js-5.1.0" = {
       name = "_at_types_slash_bn.js";
       packageName = "@types/bn.js";
@@ -8050,6 +8356,15 @@ let
         sha512 = "W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==";
       };
     };
+    "@types/body-parser-1.19.1" = {
+      name = "_at_types_slash_body-parser";
+      packageName = "@types/body-parser";
+      version = "1.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz";
+        sha512 = "a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==";
+      };
+    };
     "@types/body-parser-1.19.2" = {
       name = "_at_types_slash_body-parser";
       packageName = "@types/body-parser";
@@ -8086,15 +8401,6 @@ let
         sha512 = "6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==";
       };
     };
-    "@types/chart.js-2.9.24" = {
-      name = "_at_types_slash_chart.js";
-      packageName = "@types/chart.js";
-      version = "2.9.24";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.24.tgz";
-        sha512 = "AQI7X+ow3SaONl44JrHoL/5B+lCsJyG31UHZ5RP98Uh15hI/zjEkDsAb4EIm4P9TGfNhZLXw/nMc5w0u10+/fQ==";
-      };
-    };
     "@types/clone-2.1.1" = {
       name = "_at_types_slash_clone";
       packageName = "@types/clone";
@@ -8275,15 +8581,6 @@ let
         sha512 = "qdBo/2Y8MXaJ/2spKjDZocuq79GpnOhkwMHnK2GnVFa8WYFgfA+ei6sil3aeWQPCreOKIx9ogPpR5+7MaOqYAA==";
       };
     };
-    "@types/engine.io-3.1.7" = {
-      name = "_at_types_slash_engine.io";
-      packageName = "@types/engine.io";
-      version = "3.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/engine.io/-/engine.io-3.1.7.tgz";
-        sha512 = "qNjVXcrp+1sS8YpRUa714r0pgzOwESdW5UjHL7D/2ZFdBX0BXUXtg1LUrp+ylvqbvMcMWUy73YpRoxPN2VoKAQ==";
-      };
-    };
     "@types/eslint-7.29.0" = {
       name = "_at_types_slash_eslint";
       packageName = "@types/eslint";
@@ -8356,15 +8653,6 @@ let
         sha512 = "6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==";
       };
     };
-    "@types/express-4.17.8" = {
-      name = "_at_types_slash_express";
-      packageName = "@types/express";
-      version = "4.17.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.8.tgz";
-        sha512 = "wLhcKh3PMlyA2cNAB9sjM1BntnhPMiM0JOBwPBqttjHev2428MLEB4AYVN+d8s2iyCVZac+o41Pflm/ZH5vLXQ==";
-      };
-    };
     "@types/express-serve-static-core-4.17.28" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
@@ -8374,13 +8662,13 @@ let
         sha512 = "P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==";
       };
     };
-    "@types/fancy-log-1.3.0" = {
-      name = "_at_types_slash_fancy-log";
-      packageName = "@types/fancy-log";
-      version = "1.3.0";
+    "@types/file-type-10.9.1" = {
+      name = "_at_types_slash_file-type";
+      packageName = "@types/file-type";
+      version = "10.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/fancy-log/-/fancy-log-1.3.0.tgz";
-        sha512 = "mQjDxyOM1Cpocd+vm1kZBP7smwKZ4TNokFeds9LV7OZibmPJFEzY3+xZMrKfUdNT71lv8GoCPD6upKwHxubClw==";
+        url = "https://registry.npmjs.org/@types/file-type/-/file-type-10.9.1.tgz";
+        sha512 = "oq0fy8Jqj19HofanFsZ56o5anMDUQtFO9B3wfLqM9o42RyCe1WT+wRbSvRbL2l8ARZXNaJturHk0b442+0yi+g==";
       };
     };
     "@types/fs-capacitor-2.0.0" = {
@@ -8446,13 +8734,13 @@ let
         sha512 = "wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==";
       };
     };
-    "@types/hls.js-0.13.1" = {
+    "@types/hls.js-0.13.3" = {
       name = "_at_types_slash_hls.js";
       packageName = "@types/hls.js";
-      version = "0.13.1";
+      version = "0.13.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/hls.js/-/hls.js-0.13.1.tgz";
-        sha512 = "5sr71YcHBVHJY8DhM+L6O9WjAGS3jrie2hpBldVpd8sqvRvNTgIikTE6RxKya1ZvJCvUkZR2ewQarZaC4TRZLg==";
+        url = "https://registry.npmjs.org/@types/hls.js/-/hls.js-0.13.3.tgz";
+        sha512 = "Po8ZPCsAcPPuf5OODPEkb6cdWJ/w4BdX1veP7IIOc2WG0x1SW4GEQ1+FHKN1AMG2AePJfNUceJbh5PKtP92yRQ==";
       };
     };
     "@types/html-minifier-terser-5.1.2" = {
@@ -8581,22 +8869,22 @@ let
         sha512 = "qC4bCqYGy1y/NP7dDVr7KJarn+PbX1nSpwA7JXdu0HxT3QYjO8MJ+cntENtHFVy2dRAyBV23OZ6MxsW1AM1L8g==";
       };
     };
-    "@types/js-yaml-3.12.5" = {
+    "@types/js-yaml-3.12.7" = {
       name = "_at_types_slash_js-yaml";
       packageName = "@types/js-yaml";
-      version = "3.12.5";
+      version = "3.12.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.5.tgz";
-        sha512 = "JCcp6J0GV66Y4ZMDAQCXot4xprYB+Zfd3meK9+INSJeVZwJmHAW30BBEEkPzXswMXuiyReUGOP3GxrADc9wPww==";
+        url = "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.7.tgz";
+        sha512 = "S6+8JAYTE1qdsc9HMVsfY7+SgSuUU/Tp6TYTmITW0PZxiyIMvol3Gy//y69Wkhs0ti4py5qgR3uZH6uz/DNzJQ==";
       };
     };
-    "@types/js-yaml-3.12.7" = {
+    "@types/js-yaml-4.0.4" = {
       name = "_at_types_slash_js-yaml";
       packageName = "@types/js-yaml";
-      version = "3.12.7";
+      version = "4.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.7.tgz";
-        sha512 = "S6+8JAYTE1qdsc9HMVsfY7+SgSuUU/Tp6TYTmITW0PZxiyIMvol3Gy//y69Wkhs0ti4py5qgR3uZH6uz/DNzJQ==";
+        url = "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.4.tgz";
+        sha512 = "AuHubXUmg0AzkXH0Mx6sIxeY/1C110mm/EkE/gB1sTRz3h2dao2W/63q42SlVST+lICxz5Oki2hzYA6+KnnieQ==";
       };
     };
     "@types/js-yaml-4.0.5" = {
@@ -8626,6 +8914,15 @@ let
         sha512 = "qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==";
       };
     };
+    "@types/json-stable-stringify-1.0.33" = {
+      name = "_at_types_slash_json-stable-stringify";
+      packageName = "@types/json-stable-stringify";
+      version = "1.0.33";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.33.tgz";
+        sha512 = "qEWiQff6q2tA5gcJGWwzplQcXdJtm+0oy6IHGHzlOf3eFAkGE/FIPXZK9ofWgNSHVp8AFFI33PJJshS0ei3Gvw==";
+      };
+    };
     "@types/json5-0.0.29" = {
       name = "_at_types_slash_json5";
       packageName = "@types/json5";
@@ -8680,13 +8977,22 @@ let
         sha512 = "HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==";
       };
     };
-    "@types/lodash-4.14.161" = {
+    "@types/lodash-4.14.176" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
-      version = "4.14.161";
+      version = "4.14.176";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.161.tgz";
-        sha512 = "EP6O3Jkr7bXvZZSZYlsgt5DIjiGr0dXP1/jVEwVLTFgg0d+3lWVQkRavYVQszV7dYUwvg0B8R0MBDpcmXg7XIA==";
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.176.tgz";
+        sha512 = "xZmuPTa3rlZoIbtDUyJKZQimJV3bxCmzMIO2c9Pz9afyDro6kr7R79GwcB6mRhuoPmV2p1Vb66WOJH7F886WKQ==";
+      };
+    };
+    "@types/lodash-4.14.178" = {
+      name = "_at_types_slash_lodash";
+      packageName = "@types/lodash";
+      version = "4.14.178";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz";
+        sha512 = "0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==";
       };
     };
     "@types/lodash-4.14.179" = {
@@ -8725,15 +9031,6 @@ let
         sha512 = "GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==";
       };
     };
-    "@types/material-design-lite-1.1.16" = {
-      name = "_at_types_slash_material-design-lite";
-      packageName = "@types/material-design-lite";
-      version = "1.1.16";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/material-design-lite/-/material-design-lite-1.1.16.tgz";
-        sha512 = "559S2XW9YMwHznROJ4WFhZJOerJPuxLfqOX+LIKukyLo2NbVgpULwXUsrBlCwhZ4+ACHgVAE23CC3RS52lFxwA==";
-      };
-    };
     "@types/mdast-3.0.10" = {
       name = "_at_types_slash_mdast";
       packageName = "@types/mdast";
@@ -8779,15 +9076,6 @@ let
         sha512 = "Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==";
       };
     };
-    "@types/minimist-1.2.0" = {
-      name = "_at_types_slash_minimist";
-      packageName = "@types/minimist";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz";
-        sha1 = "69a23a3ad29caf0097f06eda59b361ee2f0639f6";
-      };
-    };
     "@types/minimist-1.2.2" = {
       name = "_at_types_slash_minimist";
       packageName = "@types/minimist";
@@ -8797,22 +9085,13 @@ let
         sha512 = "jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==";
       };
     };
-    "@types/mithril-2.0.3" = {
-      name = "_at_types_slash_mithril";
-      packageName = "@types/mithril";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mithril/-/mithril-2.0.3.tgz";
-        sha512 = "cZHOdO2IiXYeyjeDYdbOisSdfaJRzfmRo3zVzgu33IWTMA0KEQObp9fdvqcuYdPz93iJ1yCl19GcEjo/9yv+yA==";
-      };
-    };
-    "@types/mkdirp-1.0.1" = {
+    "@types/mkdirp-1.0.2" = {
       name = "_at_types_slash_mkdirp";
       packageName = "@types/mkdirp";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-1.0.1.tgz";
-        sha512 = "HkGSK7CGAXncr8Qn/0VqNtExEE+PHMWb+qlR1faHMao7ng6P3tAaoWWBMdva0gL5h4zprjIO89GJOLXsMcDm1Q==";
+        url = "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-1.0.2.tgz";
+        sha512 = "o0K1tSO0Dx5X6xlU5F1D6625FawhC3dU3iqr25lluNv/+/QIVH8RLNEiVokgIZo+mz+87w/3Mkg/VvQS+J51fQ==";
       };
     };
     "@types/mocha-7.0.2" = {
@@ -8833,6 +9112,15 @@ let
         sha512 = "ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==";
       };
     };
+    "@types/mongodb-4.0.6" = {
+      name = "_at_types_slash_mongodb";
+      packageName = "@types/mongodb";
+      version = "4.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mongodb/-/mongodb-4.0.6.tgz";
+        sha512 = "XTbn1Z1j7fHzC1Vkd9LYO48lO2C581r+oRCi/KNzcTHIri7hEaya8r9vxoHJiKr+oeUWVK69+9xr84Mp+aReaw==";
+      };
+    };
     "@types/ms-0.7.31" = {
       name = "_at_types_slash_ms";
       packageName = "@types/ms";
@@ -8842,22 +9130,13 @@ let
         sha512 = "iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==";
       };
     };
-    "@types/multer-1.4.4" = {
+    "@types/multer-1.4.7" = {
       name = "_at_types_slash_multer";
       packageName = "@types/multer";
-      version = "1.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/multer/-/multer-1.4.4.tgz";
-        sha512 = "wdfkiKBBEMTODNbuF3J+qDDSqJxt50yB9pgDiTcFew7f97Gcc7/sM4HR66ofGgpJPOALWOqKAch4gPyqEXSkeQ==";
-      };
-    };
-    "@types/mysql-2.15.15" = {
-      name = "_at_types_slash_mysql";
-      packageName = "@types/mysql";
-      version = "2.15.15";
+      version = "1.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.15.tgz";
-        sha512 = "1GJnq7RwuFPRicMHdT53vza5v39nep9OKIbozxNUpFXP04CydcdWrqpZQ+MlVdlLFCisWnnt09xughajjWpFsw==";
+        url = "https://registry.npmjs.org/@types/multer/-/multer-1.4.7.tgz";
+        sha512 = "/SNsDidUFCvqqcWDwxv2feww/yqhNeTRL5CVoL3jU4Goc4kKEL10T7Eye65ZqPNi4HRx8sAEX59pV1aEH7drNA==";
       };
     };
     "@types/nlcst-1.0.0" = {
@@ -8896,13 +9175,13 @@ let
         sha512 = "Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==";
       };
     };
-    "@types/node-12.20.46" = {
+    "@types/node-12.20.47" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.20.46";
+      version = "12.20.47";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.20.46.tgz";
-        sha512 = "cPjLXj8d6anFPzFvOPxS3fvly3Shm5nTfl6g8X5smexixbuGUf7hfr21J5tX9JW+UPStp/5P5R8qrKL5IyVJ+A==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz";
+        sha512 = "BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==";
       };
     };
     "@types/node-13.13.52" = {
@@ -8914,15 +9193,6 @@ let
         sha512 = "s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==";
       };
     };
-    "@types/node-14.11.1" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "14.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.11.1.tgz";
-        sha512 = "oTQgnd0hblfLsJ6BvJzzSL+Inogp3lq9fGgqRkMB/ziKMgEUaFl801OncOzUmalfzt14N0oPHMK47ipl+wbTIw==";
-      };
-    };
     "@types/node-14.17.34" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
@@ -8959,6 +9229,15 @@ let
         sha512 = "GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ==";
       };
     };
+    "@types/node-16.11.6" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "16.11.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz";
+        sha512 = "ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==";
+      };
+    };
     "@types/node-16.11.7" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
@@ -9094,24 +9373,6 @@ let
         sha512 = "Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==";
       };
     };
-    "@types/pg-7.14.5" = {
-      name = "_at_types_slash_pg";
-      packageName = "@types/pg";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/pg/-/pg-7.14.5.tgz";
-        sha512 = "wqTKZmqkqXd1YiVRBT2poRrMIojwEi2bKTAAjUX6nEbzr98jc3cfR/7o7ZtubhH5xT7YJ6LRdRr1GZOgs8OUjg==";
-      };
-    };
-    "@types/pg-types-2.2.0" = {
-      name = "_at_types_slash_pg-types";
-      packageName = "@types/pg-types";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/pg-types/-/pg-types-2.2.0.tgz";
-        sha512 = "a+fLdul8OczRvPWPf8eTb6wPhxzyWQwRGhNN0ugtOtk6yFOG53i2LwXaA0d2D6bsJlWxi6eCuGZLGoCcdOlWZA==";
-      };
-    };
     "@types/prop-types-15.7.4" = {
       name = "_at_types_slash_prop-types";
       packageName = "@types/prop-types";
@@ -9175,13 +9436,13 @@ let
         sha512 = "+TRLFmHLnpoV0uw4O/PzqMbPT6bhQM0q2KO0l+R7M3sHYRndPpNL6kv8p7Ee9ZxgQ6noYB18/t+heQi7eijOHA==";
       };
     };
-    "@types/react-16.14.23" = {
+    "@types/react-16.14.24" = {
       name = "_at_types_slash_react";
       packageName = "@types/react";
-      version = "16.14.23";
+      version = "16.14.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react/-/react-16.14.23.tgz";
-        sha512 = "WngBZLuSkP4IAgPi0HOsGCHo6dn3CcuLQnCfC17VbA7YBgipZiZoTOhObwl/93DsFW0Y2a/ZXeonpW4DxirEJg==";
+        url = "https://registry.npmjs.org/@types/react/-/react-16.14.24.tgz";
+        sha512 = "e7U2WC8XQP/xfR7bwhOhNFZKPTfW1ph+MiqtudKb8tSV8RyCsovQx2sNVtKoOryjxFKpHPPC/yNiGfdeVM5Gyw==";
       };
     };
     "@types/react-dom-16.9.14" = {
@@ -9211,15 +9472,6 @@ let
         sha512 = "V8g8sBDLVeJJAfEENJS7VXZK+DRJ+jzPNtk8jpj2G+obhf+iqGNUDGwNWCbBhLiD+KpHhf3kWQlKBRi0tAeU4Q==";
       };
     };
-    "@types/request-2.48.5" = {
-      name = "_at_types_slash_request";
-      packageName = "@types/request";
-      version = "2.48.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/request/-/request-2.48.5.tgz";
-        sha512 = "/LO7xRVnL3DxJ1WkPGDQrp4VTV1reX9RkC85mJ+Qzykj2Bdw+mG15aAfDahc76HtknjzE16SX/Yddn6MxVbmGQ==";
-      };
-    };
     "@types/request-2.48.7" = {
       name = "_at_types_slash_request";
       packageName = "@types/request";
@@ -9319,22 +9571,31 @@ let
         sha512 = "JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==";
       };
     };
-    "@types/socket.io-2.1.11" = {
+    "@types/smoothscroll-polyfill-0.3.1" = {
+      name = "_at_types_slash_smoothscroll-polyfill";
+      packageName = "@types/smoothscroll-polyfill";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/smoothscroll-polyfill/-/smoothscroll-polyfill-0.3.1.tgz";
+        sha512 = "+KkHw4y+EyeCtVXET7woHUhIbfWFCflc0E0mZnSV+ZdjPQeHt/9KPEuT7gSW/kFQ8O3EG30PLO++YhChDt8+Ag==";
+      };
+    };
+    "@types/socket.io-3.0.1" = {
       name = "_at_types_slash_socket.io";
       packageName = "@types/socket.io";
-      version = "2.1.11";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/socket.io/-/socket.io-2.1.11.tgz";
-        sha512 = "bVprmqPhJMLb9ZCm8g0Xy8kwBFRbnanOWSxzWkDkkIwxTvud5tKMfAJymXX6LQbizUKCS1yima7JM4BeLqjNqA==";
+        url = "https://registry.npmjs.org/@types/socket.io/-/socket.io-3.0.1.tgz";
+        sha512 = "XSma2FhVD78ymvoxYV4xGXrIH/0EKQ93rR+YR0Y+Kw1xbPzLDCip/UWSejZ08FpxYeYNci/PZPQS9anrvJRqMA==";
       };
     };
-    "@types/socket.io-client-1.4.33" = {
+    "@types/socket.io-client-1.4.36" = {
       name = "_at_types_slash_socket.io-client";
       packageName = "@types/socket.io-client";
-      version = "1.4.33";
+      version = "1.4.36";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.33.tgz";
-        sha512 = "m4LnxkljsI9fMsjwpW5QhRpMixo2BeeLpFmg0AE+sS4H1pzAd/cs/ftTiL60FLZgfFa8PFRPx5KsHu8O0bADKQ==";
+        url = "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.36.tgz";
+        sha512 = "ZJWjtFBeBy1kRSYpVbeGYTElf6BqPQUkXDlHHD4k/42byCN5Rh027f4yARHCink9sKAkbtGZXEAmR0ZCnc2/Ag==";
       };
     };
     "@types/sockjs-0.3.33" = {
@@ -9355,13 +9616,22 @@ let
         sha512 = "K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==";
       };
     };
-    "@types/sqlite3-3.1.6" = {
+    "@types/source-map-support-0.5.4" = {
+      name = "_at_types_slash_source-map-support";
+      packageName = "@types/source-map-support";
+      version = "0.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.4.tgz";
+        sha512 = "9zGujX1sOPg32XLyfgEB/0G9ZnrjthL/Iv1ZfuAjj8LEilHZEpQSQs1scpRXPhHzGYgWiLz9ldF1cI8JhL+yMw==";
+      };
+    };
+    "@types/sqlite3-3.1.7" = {
       name = "_at_types_slash_sqlite3";
       packageName = "@types/sqlite3";
-      version = "3.1.6";
+      version = "3.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/sqlite3/-/sqlite3-3.1.6.tgz";
-        sha512 = "OBsK0KIGUICExQ/ZvnPY4cKx5Kz4NcrVyGTIvOL5y4ajXu7r++RfBajfpGfGDmDVCKcoCDX1dO84/oeyeITnxA==";
+        url = "https://registry.npmjs.org/@types/sqlite3/-/sqlite3-3.1.7.tgz";
+        sha512 = "8FHV/8Uzd7IwdHm5mvmF2Aif4aC/gjrt4axWD9SmfaxITnOjtOhCbOSTuqv/VbH1uq0QrwlaTj9aTz3gmR6u4w==";
       };
     };
     "@types/stack-utils-2.0.1" = {
@@ -9454,13 +9724,13 @@ let
         sha512 = "PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==";
       };
     };
-    "@types/url-join-4.0.0" = {
+    "@types/url-join-4.0.1" = {
       name = "_at_types_slash_url-join";
       packageName = "@types/url-join";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/url-join/-/url-join-4.0.0.tgz";
-        sha512 = "awrJu8yML4E/xTwr2EMatC+HBnHGoDxc2+ImA9QyeUELI1S7dOCIZcyjki1rkwoA8P2D2NVgLAJLjnclkdLtAw==";
+        url = "https://registry.npmjs.org/@types/url-join/-/url-join-4.0.1.tgz";
+        sha512 = "wDXw9LEEUHyV+7UWy7U315nrJGJ7p1BzaCxDpEoLr789Dk1WDVMMlf3iBfbG2F8NdWnYyFbtTxUn2ZNbm1Q4LQ==";
       };
     };
     "@types/url-parse-1.4.8" = {
@@ -9472,6 +9742,15 @@ let
         sha512 = "zqqcGKyNWgTLFBxmaexGUKQyWqeG7HjXj20EuQJSJWwXe54BjX0ihIo5cJB9yAQzH8dNugJ9GvkBYMjPXs/PJw==";
       };
     };
+    "@types/uuid-3.4.10" = {
+      name = "_at_types_slash_uuid";
+      packageName = "@types/uuid";
+      version = "3.4.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.10.tgz";
+        sha512 = "BgeaZuElf7DEYZhWYDTc/XcLZXdVgFkVSTa13BqKvbnmUrxr3TJFKofUxCtDO9UQOdhnV+HPOESdHiHKZOJV1A==";
+      };
+    };
     "@types/vfile-3.0.2" = {
       name = "_at_types_slash_vfile";
       packageName = "@types/vfile";
@@ -9508,6 +9787,15 @@ let
         sha512 = "wQhExnh2nEzpjDMSKhUvnNmz3ucpd3E+R7wJkOhBNK3No6fG3VUdmVmMOKD0A8NDZDDDiQcLNxe3oGmX5SjJ5w==";
       };
     };
+    "@types/webidl-conversions-6.1.1" = {
+      name = "_at_types_slash_webidl-conversions";
+      packageName = "@types/webidl-conversions";
+      version = "6.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz";
+        sha512 = "XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==";
+      };
+    };
     "@types/webpack-4.41.32" = {
       name = "_at_types_slash_webpack";
       packageName = "@types/webpack";
@@ -9517,6 +9805,24 @@ let
         sha512 = "cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==";
       };
     };
+    "@types/webpack-dev-server-3.11.6" = {
+      name = "_at_types_slash_webpack-dev-server";
+      packageName = "@types/webpack-dev-server";
+      version = "3.11.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz";
+        sha512 = "XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==";
+      };
+    };
+    "@types/webpack-env-1.16.3" = {
+      name = "_at_types_slash_webpack-env";
+      packageName = "@types/webpack-env";
+      version = "1.16.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.3.tgz";
+        sha512 = "9gtOPPkfyNoEqCQgx4qJKkuNm/x0R2hKR7fdl7zvTJyHnIisuE/LfvXOsYWL0o3qq6uiBnKZNNNzi3l0y/X+xw==";
+      };
+    };
     "@types/webpack-sources-3.2.0" = {
       name = "_at_types_slash_webpack-sources";
       packageName = "@types/webpack-sources";
@@ -9544,6 +9850,24 @@ let
         sha512 = "NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ==";
       };
     };
+    "@types/whatwg-url-8.2.1" = {
+      name = "_at_types_slash_whatwg-url";
+      packageName = "@types/whatwg-url";
+      version = "8.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz";
+        sha512 = "2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==";
+      };
+    };
+    "@types/ws-6.0.4" = {
+      name = "_at_types_slash_ws";
+      packageName = "@types/ws";
+      version = "6.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz";
+        sha512 = "PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==";
+      };
+    };
     "@types/ws-7.4.7" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
@@ -9688,69 +10012,6 @@ let
         sha512 = "uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==";
       };
     };
-    "@uifabric/foundation-7.10.1" = {
-      name = "_at_uifabric_slash_foundation";
-      packageName = "@uifabric/foundation";
-      version = "7.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.10.1.tgz";
-        sha512 = "Op05qHLBFEieT4+fG8OgpzqDHTQyei1dgVXDd6M4VS6CFJ5ZIPtC7Lwi+ZlkPkwUwccQ9mijuQumzpNKdv035A==";
-      };
-    };
-    "@uifabric/icons-7.6.2" = {
-      name = "_at_uifabric_slash_icons";
-      packageName = "@uifabric/icons";
-      version = "7.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/icons/-/icons-7.6.2.tgz";
-        sha512 = "q7jEIwB5Tt2Egw9fqdgNPlBqBQ6hNNMQ3qs5y4S4YETRluB+AQTdKbrbYMsXo3Pm0FsJnRfiDojMzxusGX+MWA==";
-      };
-    };
-    "@uifabric/merge-styles-7.19.2" = {
-      name = "_at_uifabric_slash_merge-styles";
-      packageName = "@uifabric/merge-styles";
-      version = "7.19.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz";
-        sha512 = "kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==";
-      };
-    };
-    "@uifabric/react-hooks-7.14.0" = {
-      name = "_at_uifabric_slash_react-hooks";
-      packageName = "@uifabric/react-hooks";
-      version = "7.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz";
-        sha512 = "Ndu/DEKHF4gFXEZa2AGgSkdWaj+njVrsSyXbkWRh2UZReFWnH1LMko9p/ZCwk1i9kAd5CUmyIfURUzIEya9YCg==";
-      };
-    };
-    "@uifabric/set-version-7.0.24" = {
-      name = "_at_uifabric_slash_set-version";
-      packageName = "@uifabric/set-version";
-      version = "7.0.24";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz";
-        sha512 = "t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==";
-      };
-    };
-    "@uifabric/styling-7.20.0" = {
-      name = "_at_uifabric_slash_styling";
-      packageName = "@uifabric/styling";
-      version = "7.20.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/styling/-/styling-7.20.0.tgz";
-        sha512 = "SoaK5J4cwn8D9DWejRlWo+TmKZaHIiVlkIH+B2zLXE8Uc4ZYcotwYGxaSc1gCA16viLvGQkQU+ieWFq91RxdRw==";
-      };
-    };
-    "@uifabric/utilities-7.33.5" = {
-      name = "_at_uifabric_slash_utilities";
-      packageName = "@uifabric/utilities";
-      version = "7.33.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz";
-        sha512 = "I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==";
-      };
-    };
     "@ungap/promise-all-settled-1.1.2" = {
       name = "_at_ungap_slash_promise-all-settled";
       packageName = "@ungap/promise-all-settled";
@@ -9832,6 +10093,69 @@ let
         sha512 = "lUki5QLS47bz/U8IlG9VQ+1lfxMtxMZENmU5nu4Z71eOD5j9FK0SmYGL5NiVJg9WBWeAU0VxRADMY2Qpq7BfVg==";
       };
     };
+    "@vue/cli-overlay-4.5.15" = {
+      name = "_at_vue_slash_cli-overlay";
+      packageName = "@vue/cli-overlay";
+      version = "4.5.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.15.tgz";
+        sha512 = "0zI0kANAVmjFO2LWGUIzdGPMeE3+9k+KeRDXsUqB30YfRF7abjfiiRPq5BU9pOzlJbVdpRkisschBrvdJqDuDg==";
+      };
+    };
+    "@vue/cli-plugin-eslint-4.5.12" = {
+      name = "_at_vue_slash_cli-plugin-eslint";
+      packageName = "@vue/cli-plugin-eslint";
+      version = "4.5.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.12.tgz";
+        sha512 = "nbjGJkWxo/xdD32DwvnEAUwkWYsObpqNk9NuU7T62ehdzHPzz58o3j03YZ7a7T7Le8bYyOWMYsdNfz63F+XiZQ==";
+      };
+    };
+    "@vue/cli-plugin-router-4.5.15" = {
+      name = "_at_vue_slash_cli-plugin-router";
+      packageName = "@vue/cli-plugin-router";
+      version = "4.5.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.15.tgz";
+        sha512 = "q7Y6kP9b3k55Ca2j59xJ7XPA6x+iSRB+N4ac0ZbcL1TbInVQ4j5wCzyE+uqid40hLy4fUdlpl4X9fHJEwuVxPA==";
+      };
+    };
+    "@vue/cli-plugin-typescript-4.5.13" = {
+      name = "_at_vue_slash_cli-plugin-typescript";
+      packageName = "@vue/cli-plugin-typescript";
+      version = "4.5.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-plugin-typescript/-/cli-plugin-typescript-4.5.13.tgz";
+        sha512 = "CpLlIdFNV1gn9uC4Yh6QgWI42uk2x5Z3cb2ScxNSwWsR1vgSdr0/1DdNzoBm68aP8RUtnHHO/HZfPnvXiq42xA==";
+      };
+    };
+    "@vue/cli-plugin-vuex-4.5.13" = {
+      name = "_at_vue_slash_cli-plugin-vuex";
+      packageName = "@vue/cli-plugin-vuex";
+      version = "4.5.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.13.tgz";
+        sha512 = "I1S9wZC7iI0Wn8kw8Zh+A2Qkf6s1M6vTGBkx8boXjuzfwEEyEHRxadsVCecZc8Mkpydo0nykj+MyYF96TKFuVA==";
+      };
+    };
+    "@vue/cli-service-4.5.13" = {
+      name = "_at_vue_slash_cli-service";
+      packageName = "@vue/cli-service";
+      version = "4.5.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.13.tgz";
+        sha512 = "CKAZN4iokMMsaUyJRU22oUAz3oS/X9sVBSKAF2/shFBV5xh3jqAlKl8OXZYz4cXGFLA6djNuYrniuLAo7Ku97A==";
+      };
+    };
+    "@vue/cli-shared-utils-4.5.15" = {
+      name = "_at_vue_slash_cli-shared-utils";
+      packageName = "@vue/cli-shared-utils";
+      version = "4.5.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.15.tgz";
+        sha512 = "SKaej9hHzzjKSOw1NlFmc6BSE0vcqUQMQiv1cxQ2DhVyy4QxZXBmzmiLBUBe+hYZZs1neXW7n//udeN9bCAY+Q==";
+      };
+    };
     "@vue/cli-shared-utils-5.0.1" = {
       name = "_at_vue_slash_cli-shared-utils";
       packageName = "@vue/cli-shared-utils";
@@ -9886,6 +10210,42 @@ let
         sha512 = "60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==";
       };
     };
+    "@vue/component-compiler-utils-3.3.0" = {
+      name = "_at_vue_slash_component-compiler-utils";
+      packageName = "@vue/component-compiler-utils";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz";
+        sha512 = "97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==";
+      };
+    };
+    "@vue/eslint-config-prettier-6.0.0" = {
+      name = "_at_vue_slash_eslint-config-prettier";
+      packageName = "@vue/eslint-config-prettier";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-6.0.0.tgz";
+        sha512 = "wFQmv45c3ige5EA+ngijq40YpVcIkAy0Lihupnsnd1Dao5CBbPyfCzqtejFLZX1EwH/kCJdpz3t6s+5wd3+KxQ==";
+      };
+    };
+    "@vue/eslint-config-typescript-7.0.0" = {
+      name = "_at_vue_slash_eslint-config-typescript";
+      packageName = "@vue/eslint-config-typescript";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-7.0.0.tgz";
+        sha512 = "UxUlvpSrFOoF8aQ+zX1leYiEBEm7CZmXYn/ZEM1zwSadUzpamx56RB4+Htdjisv1mX2tOjBegNUqH3kz2OL+Aw==";
+      };
+    };
+    "@vue/preload-webpack-plugin-1.1.2" = {
+      name = "_at_vue_slash_preload-webpack-plugin";
+      packageName = "@vue/preload-webpack-plugin";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz";
+        sha512 = "LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==";
+      };
+    };
     "@vue/shared-3.2.31" = {
       name = "_at_vue_slash_shared";
       packageName = "@vue/shared";
@@ -9895,6 +10255,15 @@ let
         sha512 = "ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==";
       };
     };
+    "@vue/web-component-wrapper-1.3.0" = {
+      name = "_at_vue_slash_web-component-wrapper";
+      packageName = "@vue/web-component-wrapper";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz";
+        sha512 = "Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==";
+      };
+    };
     "@webassemblyjs/ast-1.11.1" = {
       name = "_at_webassemblyjs_slash_ast";
       packageName = "@webassemblyjs/ast";
@@ -12109,6 +12478,15 @@ let
         sha1 = "2af5c2b544a40e15fc1ac55548314397460845d0";
       };
     };
+    "app-root-path-3.0.0" = {
+      name = "app-root-path";
+      packageName = "app-root-path";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz";
+        sha512 = "qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==";
+      };
+    };
     "appdata-path-1.0.0" = {
       name = "appdata-path";
       packageName = "appdata-path";
@@ -12388,13 +12766,31 @@ let
         sha1 = "6e7207b4ecdb39b0af88303fa5ae22bda8df61cb";
       };
     };
-    "aribts-1.3.5" = {
-      name = "aribts";
-      packageName = "aribts";
-      version = "1.3.5";
+    "arib-mpeg2ts-parser-3.0.13" = {
+      name = "arib-mpeg2ts-parser";
+      packageName = "arib-mpeg2ts-parser";
+      version = "3.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aribts/-/aribts-1.3.5.tgz";
-        sha512 = "fvDR4iYpZkbMqMbTfKynPGfpXDhFTxzZWSS7C3c70xQ8ElmFkjwVrg/NLcEA+R3s4Jz6mVrz/1vOLEAI+ycrSQ==";
+        url = "https://registry.npmjs.org/arib-mpeg2ts-parser/-/arib-mpeg2ts-parser-3.0.13.tgz";
+        sha512 = "QgNZghj9R4dafXeBJbKZ0Ff5f7YENqQP/CDLAhWEWXdPoOOPUcQCu5zs3KHqeTKxg3/ip6i8a+aIu+J6QYICOg==";
+      };
+    };
+    "arib-subtitle-timedmetadater-4.0.9" = {
+      name = "arib-subtitle-timedmetadater";
+      packageName = "arib-subtitle-timedmetadater";
+      version = "4.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arib-subtitle-timedmetadater/-/arib-subtitle-timedmetadater-4.0.9.tgz";
+        sha512 = "bfLMCjJlon8+GdOMP7gMIzTHaoxWBFTypREYsaTMlqgFw4O5WnYtU8xrDbeafp792zylvw2xHMIayXtgbRoj7Q==";
+      };
+    };
+    "aribb24.js-1.8.8" = {
+      name = "aribb24.js";
+      packageName = "aribb24.js";
+      version = "1.8.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aribb24.js/-/aribb24.js-1.8.8.tgz";
+        sha512 = "7tCEIOzDoDxvr5UuGTVDpszRYNcJFLRqAXf/lIbJi6DmeeDnfbYQdfr0DiRokG/MUSPx5rqyxRSyVSoWDanGNw==";
       };
     };
     "aribts-2.1.12" = {
@@ -13567,13 +13963,22 @@ let
         sha512 = "zL20v5QXoSsb2S6RKAhDmfnZYUIRldR93ihJ6mCYrw6Zl+Dir2SVmALy++U/zduDbKB4NaU72mscumx2RWc7Hg==";
       };
     };
-    "aws-sdk-2.1087.0" = {
+    "aws-sdk-2.1091.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1087.0";
+      version = "2.1091.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1087.0.tgz";
-        sha512 = "m5EERT29Fwh2cv3SaSdygeAjJBXnjSaXRRERy70bf6PQ7KgmASJouBxY11g5G7LTEPK/yfB0TGshujKh3hEtPA==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1091.0.tgz";
+        sha512 = "DSidFjHdZZopF2kBt6I5wlkxeV5xhXWWXtLtZVQw9g9RQxFnmm+B3iBf1mQtw9fPspfyKyQwnBUNnvMtPku3Yw==";
+      };
+    };
+    "aws-sdk-2.1092.0" = {
+      name = "aws-sdk";
+      packageName = "aws-sdk";
+      version = "2.1092.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1092.0.tgz";
+        sha512 = "8PH2rOgZazGT3VfGPkKcvzz2K9ylVfDniJH4WfJXHEBGxu0+XEMDbjuYpe8k/L1C7w0UTP6CuChjqCxgJznrxg==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -13675,15 +14080,6 @@ let
         sha512 = "XDG91XzLZ15reP12s3jFkKS8oiagSICjnLwxEYieme4+4h3ZveFOFRA4iYIG40RyHXsiI0mefFYYMFIJbMpWcg==";
       };
     };
-    "b24.js-1.0.3" = {
-      name = "b24.js";
-      packageName = "b24.js";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/b24.js/-/b24.js-1.0.3.tgz";
-        sha512 = "j2hHu0asf6HxacVmGJKFSsrfoG8nC0JEjujIpsmRVkr74nC6o5gs6YF6AQD3e7YyJ8PaKuA7k2uSL9A2mAG9Og==";
-      };
-    };
     "b4a-1.3.1" = {
       name = "b4a";
       packageName = "b4a";
@@ -14134,15 +14530,6 @@ let
         sha512 = "VTtHsmvwRBkX3yLK4e+pFwk88BC6iNFqS2J8CCx2ddQc7RjXoRhuXXIgYCng21DYNty9IicCwDdTDjdr+TM7eg==";
       };
     };
-    "babel-polyfill-6.23.0" = {
-      name = "babel-polyfill";
-      packageName = "babel-polyfill";
-      version = "6.23.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz";
-        sha1 = "8364ca62df8eafb830499f699177466c3b03499d";
-      };
-    };
     "babel-preset-current-node-syntax-0.1.4" = {
       name = "babel-preset-current-node-syntax";
       packageName = "babel-preset-current-node-syntax";
@@ -16213,6 +16600,15 @@ let
         sha512 = "66UkjoB9f7lhT+WKgYq8MQa6nkr96mlX64JYMlIsXe/X4VeqNwvsx7UOE3ZqD6lkwg8GvBhapRTWj0qWO3Pw8w==";
       };
     };
+    "bson-4.6.1" = {
+      name = "bson";
+      packageName = "bson";
+      version = "4.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bson/-/bson-4.6.1.tgz";
+        sha512 = "I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==";
+      };
+    };
     "btc-rpc-client-git://github.com/btc21/btc-rpc-client" = {
       name = "bitcoin-core";
       packageName = "bitcoin-core";
@@ -16502,15 +16898,6 @@ let
         sha1 = "3d253fe2f0ab70e851d728712e8cd6f914a8c002";
       };
     };
-    "buffer-writer-2.0.0" = {
-      name = "buffer-writer";
-      packageName = "buffer-writer";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz";
-        sha512 = "a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==";
-      };
-    };
     "buffer-xor-1.0.3" = {
       name = "buffer-xor";
       packageName = "buffer-xor";
@@ -16898,6 +17285,15 @@ let
         sha512 = "7YKEapH+2Uikde8hySyfobXBqPKULDyHNl/lhKm7cKf/GJFdG/tU/WpLrOg2y9aUrQrWUilYqawFIiGJPS6gDA==";
       };
     };
+    "cache-loader-4.1.0" = {
+      name = "cache-loader";
+      packageName = "cache-loader";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz";
+        sha512 = "ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==";
+      };
+    };
     "cacheable-lookup-2.0.1" = {
       name = "cacheable-lookup";
       packageName = "cacheable-lookup";
@@ -17249,13 +17645,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001313" = {
+    "caniuse-lite-1.0.30001314" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001313";
+      version = "1.0.30001314";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001313.tgz";
-        sha512 = "rI1UN0koZUiKINjysQDuRi2VeSCce3bYJNmDcj3PIKREiAmjakugBul1QSkg/fPrlULYl6oWfGg3PbgOSY9X4Q==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001314.tgz";
+        sha512 = "0zaSO+TnCHtHJIbpLroX7nsD+vYuOVjl3uzFbJO1wMVbuveJA0RK2WcQA9ZUIOiO0/ArMiMgHJLxfEZhQiC0kw==";
       };
     };
     "canvas-2.9.0" = {
@@ -17411,22 +17807,22 @@ let
         sha512 = "eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==";
       };
     };
-    "cdk8s-1.5.35" = {
+    "cdk8s-1.5.39" = {
       name = "cdk8s";
       packageName = "cdk8s";
-      version = "1.5.35";
+      version = "1.5.39";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.5.35.tgz";
-        sha512 = "khKlC9OrNsNHHbBkuKulns4FzbNvuQVILHPJFx0gUg/Rq3SGpn4xwKqYmh4AhE//Y9RY6EhzQO9pHL9fpkPt0Q==";
+        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.5.39.tgz";
+        sha512 = "xwb0PxV5u3/Bubc1vda1Rz2hQcDiC2kiNBie/vgCyYt+Z70KGi5i5Cz9X3ZEHGb7yuAU4jk0LyVBQdPfUu3qIw==";
       };
     };
-    "cdk8s-plus-22-1.0.0-beta.137" = {
+    "cdk8s-plus-22-1.0.0-beta.142" = {
       name = "cdk8s-plus-22";
       packageName = "cdk8s-plus-22";
-      version = "1.0.0-beta.137";
+      version = "1.0.0-beta.142";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.137.tgz";
-        sha512 = "RR3j4FMeGsolMScsneW0wNaXrpiwQ4v3ObDi7FeljfPwqTY1RL+Aip9rbzVqNp9qzEwOZMUja8dFF+DxjhXaOg==";
+        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.142.tgz";
+        sha512 = "Ted9JMqKBdKdXZp2kLaeWfYOU1/a7Fy8FnqGraxkzXYS7Gd6Cx/3PHT3SVl0sAnV9a0uhy/DLRVKWA+J6Dc+5w==";
       };
     };
     "cdktf-0.9.4" = {
@@ -17573,13 +17969,13 @@ let
         sha512 = "oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==";
       };
     };
-    "chalk-5.0.0" = {
+    "chalk-5.0.1" = {
       name = "chalk";
       packageName = "chalk";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-5.0.0.tgz";
-        sha512 = "/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ==";
+        url = "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz";
+        sha512 = "Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==";
       };
     };
     "chance-1.0.18" = {
@@ -17726,15 +18122,6 @@ let
         sha512 = "6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==";
       };
     };
-    "chart.js-2.9.3" = {
-      name = "chart.js";
-      packageName = "chart.js";
-      version = "2.9.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chart.js/-/chart.js-2.9.3.tgz";
-        sha512 = "+2jlOobSk52c1VU6fzkh3UwqHMdSlgH1xFv9FKMqHiNCpXsGPQa/+81AFa+i3jZ253Mq9aAycPwDjnn1XbRNNw==";
-      };
-    };
     "chart.js-3.7.1" = {
       name = "chart.js";
       packageName = "chart.js";
@@ -17744,24 +18131,6 @@ let
         sha512 = "8knRegQLFnPQAheZV8MjxIXc5gQEfDFD897BJgv/klO/vtIyFFmgMXrNfgrXpbTr/XbTturxRgxIXx/Y+ASJBA==";
       };
     };
-    "chartjs-color-2.4.1" = {
-      name = "chartjs-color";
-      packageName = "chartjs-color";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz";
-        sha512 = "haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==";
-      };
-    };
-    "chartjs-color-string-0.6.0" = {
-      name = "chartjs-color-string";
-      packageName = "chartjs-color-string";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz";
-        sha512 = "TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==";
-      };
-    };
     "charwise-3.0.1" = {
       name = "charwise";
       packageName = "charwise";
@@ -18230,15 +18599,6 @@ let
         sha1 = "bf1945e82fc808f55695e6ddeaec01400efd03ff";
       };
     };
-    "clean-css-4.2.3" = {
-      name = "clean-css";
-      packageName = "clean-css";
-      version = "4.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz";
-        sha512 = "VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==";
-      };
-    };
     "clean-css-4.2.4" = {
       name = "clean-css";
       packageName = "clean-css";
@@ -18392,6 +18752,15 @@ let
         sha512 = "VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==";
       };
     };
+    "cli-highlight-2.1.11" = {
+      name = "cli-highlight";
+      packageName = "cli-highlight";
+      version = "2.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz";
+        sha512 = "9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==";
+      };
+    };
     "cli-list-0.2.0" = {
       name = "cli-list";
       packageName = "cli-list";
@@ -19031,13 +19400,13 @@ let
         sha512 = "3WQV/Fpa77nvzjUlc+0u53uIroJyyMB2Qwl++aXpAiDIsrsiAQq4uCURwdRBRX+eLkOTIAmT0L4qna3T7+2pUg==";
       };
     };
-    "codemaker-1.54.0" = {
+    "codemaker-1.55.0" = {
       name = "codemaker";
       packageName = "codemaker";
-      version = "1.54.0";
+      version = "1.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.54.0.tgz";
-        sha512 = "83iPWGyIa089xWAomeTOmBVqgTa0p3k5KGav4kIVZzTLXqh5JiPCjpJr89kuts4O9vLSuvkCBCl8n0MVYP6nlQ==";
+        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.55.0.tgz";
+        sha512 = "oVCJ3PUqkMf65pS8TtstLSn5AAGmuDTfrjlZjG8qOcOMHvG/w12iJ4ZlJt/wULaAqlYh9bTemXaGIzT5YbX43A==";
       };
     };
     "codepage-1.4.0" = {
@@ -19814,15 +20183,6 @@ let
         sha512 = "MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==";
       };
     };
-    "concat-with-sourcemaps-1.1.0" = {
-      name = "concat-with-sourcemaps";
-      packageName = "concat-with-sourcemaps";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz";
-        sha512 = "4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==";
-      };
-    };
     "conf-1.4.0" = {
       name = "conf";
       packageName = "conf";
@@ -20048,6 +20408,15 @@ let
         sha1 = "5a25047bc76f73072667c8cb52c989888f494c63";
       };
     };
+    "consolidate-0.15.1" = {
+      name = "consolidate";
+      packageName = "consolidate";
+      version = "0.15.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz";
+        sha512 = "DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==";
+      };
+    };
     "constantinople-3.1.2" = {
       name = "constantinople";
       packageName = "constantinople";
@@ -20075,22 +20444,22 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-10.0.81" = {
+    "constructs-10.0.84" = {
       name = "constructs";
       packageName = "constructs";
-      version = "10.0.81";
+      version = "10.0.84";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.81.tgz";
-        sha512 = "5+3bCzKPfcxo8ZQ3GOaiOpDmIux8PZXgkXqNwEopjTRCypcMWMt1AT8ORHPVht3Iqsj36/qG3wV72WaiCKe3mQ==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.84.tgz";
+        sha512 = "7Id7kN3oIlsr0IQ2ghC1I4xLWOUMorC9P0he007/TvrnA+2nmUjODRNYq536m/1tRV668H78dvZ4VQ6+ExOHIw==";
       };
     };
-    "constructs-3.3.236" = {
+    "constructs-3.3.239" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.3.236";
+      version = "3.3.239";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.236.tgz";
-        sha512 = "tYYAn8XtPOMa24KEBtIYeHwi5OxVQGKu19Ie9NhojOLlQsCgP+6knjEVfuZ0Hgn1T8nMRqMriwAgM19GiwCjDg==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.239.tgz";
+        sha512 = "Is6qgAkws98ZtOBro4E9Mjp6p4mkElvdURXNWx0ho40RbSBAOe/hYklP7nn1+k6hA1H/fcFkVZedgQrs2igj/A==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -20589,6 +20958,15 @@ let
         sha512 = "XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==";
       };
     };
+    "copy-webpack-plugin-5.1.2" = {
+      name = "copy-webpack-plugin";
+      packageName = "copy-webpack-plugin";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz";
+        sha512 = "Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==";
+      };
+    };
     "copy-webpack-plugin-6.0.4" = {
       name = "copy-webpack-plugin";
       packageName = "copy-webpack-plugin";
@@ -20994,13 +21372,13 @@ let
         sha512 = "dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==";
       };
     };
-    "create-torrent-5.0.1" = {
+    "create-torrent-5.0.2" = {
       name = "create-torrent";
       packageName = "create-torrent";
-      version = "5.0.1";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-torrent/-/create-torrent-5.0.1.tgz";
-        sha512 = "fVvg1YYSogo3TlU1WFeTt937nhGQlf5KtB6M2HyDa/U02dbeMBE2AY9PcPlMufXNQoM/UCO28y26EmuApM7ZmA==";
+        url = "https://registry.npmjs.org/create-torrent/-/create-torrent-5.0.2.tgz";
+        sha512 = "tNelixVeEkjiyeAuCW7uWFl1ARA+YapyZvdSWw6U3AXe/VXpxR4ihFNfjOzmvc5TBqK5EkGdsoKXAEKfQ8xlmQ==";
       };
     };
     "cron-parser-2.18.0" = {
@@ -21372,15 +21750,6 @@ let
         sha1 = "a468ee667c16d81ccf05c58c38d2a97c780dbfd4";
       };
     };
-    "css-ripple-effect-1.0.5" = {
-      name = "css-ripple-effect";
-      packageName = "css-ripple-effect";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-ripple-effect/-/css-ripple-effect-1.0.5.tgz";
-        sha1 = "6963b752aaf59babbd3fea3ec0da5d44e9122efb";
-      };
-    };
     "css-select-1.0.0" = {
       name = "css-select";
       packageName = "css-select";
@@ -21543,13 +21912,13 @@ let
         sha512 = "6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==";
       };
     };
-    "cssnano-5.1.0" = {
+    "cssnano-5.1.3" = {
       name = "cssnano";
       packageName = "cssnano";
-      version = "5.1.0";
+      version = "5.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cssnano/-/cssnano-5.1.0.tgz";
-        sha512 = "wWxave1wMlThGg4ueK98jFKaNqXnQd1nVZpSkQ9XvR+YymlzP1ofWqES1JkHtI250LksP9z5JH+oDcrKDJezAg==";
+        url = "https://registry.npmjs.org/cssnano/-/cssnano-5.1.3.tgz";
+        sha512 = "bdf+sY2w4XV+F5LOCEd7fWnSeMeKBO4lKgoAKVWZOSTR7CmWEk1UW/s9ibTMMnsTsinBmIdgZs755sAGa1eoXQ==";
       };
     };
     "cssnano-preset-default-4.0.8" = {
@@ -21561,13 +21930,13 @@ let
         sha512 = "LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==";
       };
     };
-    "cssnano-preset-default-5.2.0" = {
+    "cssnano-preset-default-5.2.3" = {
       name = "cssnano-preset-default";
       packageName = "cssnano-preset-default";
-      version = "5.2.0";
+      version = "5.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.0.tgz";
-        sha512 = "3N5Vcptj2pqVKpHVqH6ezOJvqikR2PdLTbTrsrhF61FbLRQuujAqZ2sKN5rvcMsb7hFjrNnjZT8CGEkxoN/Pwg==";
+        url = "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.3.tgz";
+        sha512 = "e4pzD/FnsvRywKO3i2Ti4jgAcJO5MhQPudrex92HXAJoMyQfS8lZHIzzC1yZ1t+d2zdkLXFY1sHdsZaT7lKoCQ==";
       };
     };
     "cssnano-util-get-arguments-4.0.0" = {
@@ -23001,6 +23370,15 @@ let
         sha512 = "3VmRXEtw7RZKAf+4Tv1Ym9AGeo8r8+CjDi26x+7SYQil1UqtqdaokhzoEJohqlzt0m5kacJSDhJQkG/LWhpRBw==";
       };
     };
+    "de-indent-1.0.2" = {
+      name = "de-indent";
+      packageName = "de-indent";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz";
+        sha1 = "b2038e846dc33baa5796128d0804b455b8c1e21d";
+      };
+    };
     "deasync-0.1.20" = {
       name = "deasync";
       packageName = "deasync";
@@ -23217,6 +23595,15 @@ let
         sha1 = "6f6df6b85d7e7c4410a932ffc26489b78e9acd13";
       };
     };
+    "decache-4.6.1" = {
+      name = "decache";
+      packageName = "decache";
+      version = "4.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decache/-/decache-4.6.1.tgz";
+        sha512 = "ohApBM8u9ygepJCjgBrEZSSxPjc0T/PJkD+uNyxXPkqudyUpdXpwJYp0VISm2WrPVzASU6DZyIi6BWdyw7uJ2Q==";
+      };
+    };
     "decamelize-1.2.0" = {
       name = "decamelize";
       packageName = "decamelize";
@@ -23532,6 +23919,15 @@ let
         sha512 = "8cZeTb1ZKC3bdSCP6XOM1IsTczIO73fdqtwa2B0N15eAz7gmyhQo+mc5gnFuulsgN3vIQYmTgbmQVKalH1dKvQ==";
       };
     };
+    "deepmerge-1.5.2" = {
+      name = "deepmerge";
+      packageName = "deepmerge";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz";
+        sha512 = "95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==";
+      };
+    };
     "deepmerge-2.1.0" = {
       name = "deepmerge";
       packageName = "deepmerge";
@@ -23595,6 +23991,15 @@ let
         sha512 = "h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==";
       };
     };
+    "default-gateway-5.0.5" = {
+      name = "default-gateway";
+      packageName = "default-gateway";
+      version = "5.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz";
+        sha512 = "z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==";
+      };
+    };
     "default-gateway-6.0.3" = {
       name = "default-gateway";
       packageName = "default-gateway";
@@ -23766,15 +24171,6 @@ let
         sha512 = "QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==";
       };
     };
-    "del-5.1.0" = {
-      name = "del";
-      packageName = "del";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/del/-/del-5.1.0.tgz";
-        sha512 = "wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==";
-      };
-    };
     "del-6.0.0" = {
       name = "del";
       packageName = "del";
@@ -24135,15 +24531,6 @@ let
         sha512 = "4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==";
       };
     };
-    "devtools-protocol-0.0.960912" = {
-      name = "devtools-protocol";
-      packageName = "devtools-protocol";
-      version = "0.0.960912";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.960912.tgz";
-        sha512 = "I3hWmV9rWHbdnUdmMKHF2NuYutIM2kXz2mdXW8ha7TbRlGTVs+PF+PsB5QWvpCek4Fy9B+msiispCfwlhG5Sqg==";
-      };
-    };
     "devtools-protocol-0.0.969999" = {
       name = "devtools-protocol";
       packageName = "devtools-protocol";
@@ -24405,13 +24792,13 @@ let
         sha512 = "cK6rH1PuGjSjpmEQbnpuTxq1Yv8B89SotyKUFcr4RhnsiZnfBfDOev7DD7v5vhtEyyj51NuMWFoRJzgy/m08Uw==";
       };
     };
-    "diskusage-1.1.3" = {
-      name = "diskusage";
-      packageName = "diskusage";
-      version = "1.1.3";
+    "diskusage-ng-1.0.2" = {
+      name = "diskusage-ng";
+      packageName = "diskusage-ng";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diskusage/-/diskusage-1.1.3.tgz";
-        sha512 = "EAyaxl8hy4Ph07kzlzGTfpbZMNAAAHXSZtNEMwdlnSd1noHzvA6HsgKt4fEMSvaEXQYLSphe5rPMxN4WOj0hcQ==";
+        url = "https://registry.npmjs.org/diskusage-ng/-/diskusage-ng-1.0.2.tgz";
+        sha512 = "IO+Dbvxf5kXGuOEAHFCSf/aW9z/E96OwUH1Szstf2Rjzy+AP6sr/Y5yQh70fdX8SEFKdkTMpVG+b5jR7Uw3Q1Q==";
       };
     };
     "diveSync-0.3.0" = {
@@ -25386,13 +25773,22 @@ let
         sha512 = "WvaW1EgRinDQ61khHFZfx30rkPQG5ItaOT0wrI7iJv9A3SbghriQGfZQfHZs25fWLBe6/vkv05LOqg6aDw6Wzw==";
       };
     };
-    "electron-to-chromium-1.4.76" = {
+    "electron-to-chromium-1.4.81" = {
+      name = "electron-to-chromium";
+      packageName = "electron-to-chromium";
+      version = "1.4.81";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.81.tgz";
+        sha512 = "Gs7xVpIZ7tYYSDA+WgpzwpPvfGwUk3KSIjJ0akuj5XQHFdyQnsUoM76EA4CIHXNLPiVwTwOFay9RMb0ChG3OBw==";
+      };
+    };
+    "electron-to-chromium-1.4.82" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.76";
+      version = "1.4.82";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.76.tgz";
-        sha512 = "3Vftv7cenJtQb+k00McEBZ2vVmZ/x+HEF7pcZONZIkOsESqAqVuACmBxMv0JhzX7u0YltU0vSqRqgBSTAhFUjA==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.82.tgz";
+        sha512 = "Ks+ANzLoIrFDUOJdjxYMH6CMKB8UQo5modAwvSZTxgF+vEs/U7G5IbWFUp6dS4klPkTDVdxbORuk8xAXXhMsWw==";
       };
     };
     "electrum-client-git://github.com/janoside/electrum-client" = {
@@ -25739,6 +26135,15 @@ let
         sha512 = "t5z6zjXuVLhXDMiFJPYsPOWEER8B0tIsD3ETgw19S1yg9zryvUfY3Vhtk3Gf4sihw/bQGIqQ//gjvVlu+Ca0bQ==";
       };
     };
+    "engine.io-6.0.1" = {
+      name = "engine.io";
+      packageName = "engine.io";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-6.0.1.tgz";
+        sha512 = "Y53UaciUh2Rmx5MiogtMxOQcfh7pnemday+Bb4QDg0Wjmnvo/VTvuEyNGQgYmh8L7VOe8Je1QuiqjLNDelMqLA==";
+      };
+    };
     "engine.io-6.1.3" = {
       name = "engine.io";
       packageName = "engine.io";
@@ -25784,6 +26189,15 @@ let
         sha512 = "QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==";
       };
     };
+    "engine.io-client-6.0.3" = {
+      name = "engine.io-client";
+      packageName = "engine.io-client";
+      version = "6.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.0.3.tgz";
+        sha512 = "IH8ZhDIwiLv0d/wXVzmjfV9Y82hbJIDhCGSVUV8o1kcpDe2I6Y3bZA3ZbJy4Ls7k7IVmcy/qn4k9RKWFhUGf5w==";
+      };
+    };
     "engine.io-parser-1.0.6" = {
       name = "engine.io-parser";
       packageName = "engine.io-parser";
@@ -26063,6 +26477,15 @@ let
         sha512 = "d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==";
       };
     };
+    "error-stack-parser-2.0.7" = {
+      name = "error-stack-parser";
+      packageName = "error-stack-parser";
+      version = "2.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz";
+        sha512 = "chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==";
+      };
+    };
     "errorhandler-1.5.1" = {
       name = "errorhandler";
       packageName = "errorhandler";
@@ -26117,13 +26540,13 @@ let
         sha1 = "5dae3e650e5be3684b88066513d528d092629862";
       };
     };
-    "es5-ext-0.10.53" = {
+    "es5-ext-0.10.58" = {
       name = "es5-ext";
       packageName = "es5-ext";
-      version = "0.10.53";
+      version = "0.10.58";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz";
-        sha512 = "Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==";
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.58.tgz";
+        sha512 = "LHO+KBBaHGwjy32ibSaMY+ZzjpC4K4I5bPoijICMBL7gXEXfrEUrzssmNP+KigbQEp1dRUnGkry/vUnxOqptLQ==";
       };
     };
     "es6-error-4.1.1" = {
@@ -26432,6 +26855,15 @@ let
         sha512 = "S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==";
       };
     };
+    "eslint-6.8.0" = {
+      name = "eslint";
+      packageName = "eslint";
+      version = "6.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz";
+        sha512 = "K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==";
+      };
+    };
     "eslint-7.32.0" = {
       name = "eslint";
       packageName = "eslint";
@@ -26450,6 +26882,24 @@ let
         sha512 = "H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==";
       };
     };
+    "eslint-config-prettier-6.15.0" = {
+      name = "eslint-config-prettier";
+      packageName = "eslint-config-prettier";
+      version = "6.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz";
+        sha512 = "a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==";
+      };
+    };
+    "eslint-config-prettier-8.3.0" = {
+      name = "eslint-config-prettier";
+      packageName = "eslint-config-prettier";
+      version = "8.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz";
+        sha512 = "BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==";
+      };
+    };
     "eslint-formatter-pretty-4.1.0" = {
       name = "eslint-formatter-pretty";
       packageName = "eslint-formatter-pretty";
@@ -26459,6 +26909,15 @@ let
         sha512 = "IsUTtGxF1hrH6lMWiSl1WbGaiP01eT6kzywdY1U+zLc0MP+nwEnUiS9UI8IaOTUhTeQJLlCEWIbXINBH4YJbBQ==";
       };
     };
+    "eslint-loader-2.2.1" = {
+      name = "eslint-loader";
+      packageName = "eslint-loader";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz";
+        sha512 = "RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==";
+      };
+    };
     "eslint-plugin-no-unsanitized-4.0.1" = {
       name = "eslint-plugin-no-unsanitized";
       packageName = "eslint-plugin-no-unsanitized";
@@ -26468,6 +26927,15 @@ let
         sha512 = "y/lAMWnPPC7RYuUdxlEL/XiCL8FehN9h9s3Kjqbp/Kv0i9NZs+IXSC2kS546Fa4Bumwy31HlVS/OdWX0Kxb5Xg==";
       };
     };
+    "eslint-plugin-prettier-3.4.1" = {
+      name = "eslint-plugin-prettier";
+      packageName = "eslint-plugin-prettier";
+      version = "3.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz";
+        sha512 = "htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==";
+      };
+    };
     "eslint-plugin-vue-6.2.2" = {
       name = "eslint-plugin-vue";
       packageName = "eslint-plugin-vue";
@@ -27089,15 +27557,6 @@ let
         sha1 = "b5e1079b59fb5e1ba2771c0a993be060a58c99ba";
       };
     };
-    "eventemitter3-3.1.0" = {
-      name = "eventemitter3";
-      packageName = "eventemitter3";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz";
-        sha512 = "ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==";
-      };
-    };
     "eventemitter3-3.1.2" = {
       name = "eventemitter3";
       packageName = "eventemitter3";
@@ -27431,13 +27890,13 @@ let
         sha512 = "bILEG0Fg+ZhIhdEaShHzsEN1WC0hUmXJ5Kcd4cd+8rVk1Ead9vRZxA/yLx1cNBDCOwMe0GAMrhF7TKT+A1P+YA==";
       };
     };
-    "expo-pwa-0.0.113" = {
+    "expo-pwa-0.0.114" = {
       name = "expo-pwa";
       packageName = "expo-pwa";
-      version = "0.0.113";
+      version = "0.0.114";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.113.tgz";
-        sha512 = "uKmNgSMrZs/dUy1yIqXBFELmjuVtvSJzNoscTMN1ehdBa8QJqz/d3QGdu/IVlYNWxqCvAaqHXY/x6WseA3X3dg==";
+        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.114.tgz";
+        sha512 = "vJCpKROPULPrTnLTCytZuxBkm23yS9CBXBald2BDeizgKsJV19vOc2+lmTk4fL5hh+TgHQybwtt6UwEy3ORjgg==";
       };
     };
     "express-2.5.11" = {
@@ -27548,22 +28007,22 @@ let
         sha1 = "dbe1e8139aecb234fb6adb5c0059c75db9733d2a";
       };
     };
-    "express-openapi-6.0.0" = {
+    "express-openapi-8.0.0" = {
       name = "express-openapi";
       packageName = "express-openapi";
-      version = "6.0.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express-openapi/-/express-openapi-6.0.0.tgz";
-        sha512 = "WQGmghzn+loQsIQUEnLZ0HVKCLhIBVcURvrAhyt6mOqsFsG2tBYhaNKX728EOz2aMXRhEQhkQ+RXQsIFpbS6IA==";
+        url = "https://registry.npmjs.org/express-openapi/-/express-openapi-8.0.0.tgz";
+        sha512 = "MUntG3qQKdU5eRG51WLglaUfIXrVagQHNmStwl44lzu6XKiMj4TBDm/cIbubO49HAMCqNkX5BaiKCOK6pvP5Wg==";
       };
     };
-    "express-openapi-7.0.1" = {
+    "express-openapi-9.3.0" = {
       name = "express-openapi";
       packageName = "express-openapi";
-      version = "7.0.1";
+      version = "9.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express-openapi/-/express-openapi-7.0.1.tgz";
-        sha512 = "64YwTWpxgVGnwoLi4zvKaQ5RWIV0dkxVE4GGkBF7D89RI0/I6gTRUDL25Il4AK3cUqyLtxnX2X5BZ2YRvRx5uQ==";
+        url = "https://registry.npmjs.org/express-openapi/-/express-openapi-9.3.0.tgz";
+        sha512 = "92H8nuvO1vVMutapDqQXESOxFnaC4/tZAXSi7kJMD+xWXZwNwmuinCxbfQc7JyUY6Y3+vjFXqJ7xeTCpsUhSiA==";
       };
     };
     "express-prom-bundle-6.3.0" = {
@@ -28376,6 +28835,15 @@ let
         sha512 = "ZQJM4aifMpz6H19AW1VqvZ7l4pOE9p7i/3LyxgO2kp+PO/VcDYNqIHEMtkccqIhTXMKci4kjueJr/iCQEaT/Ww==";
       };
     };
+    "figlet-1.5.2" = {
+      name = "figlet";
+      packageName = "figlet";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figlet/-/figlet-1.5.2.tgz";
+        sha512 = "WOn21V8AhyE1QqVfPIVxe3tupJacq1xGkPTB4iagT6o+P2cAgEOOwIxMftr4+ZCTI6d551ij9j61DFr0nsP2uQ==";
+      };
+    };
     "figures-1.7.0" = {
       name = "figures";
       packageName = "figures";
@@ -28457,6 +28925,15 @@ let
         sha512 = "4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==";
       };
     };
+    "file-loader-4.3.0" = {
+      name = "file-loader";
+      packageName = "file-loader";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz";
+        sha512 = "aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==";
+      };
+    };
     "file-loader-6.0.0" = {
       name = "file-loader";
       packageName = "file-loader";
@@ -28466,6 +28943,15 @@ let
         sha512 = "/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==";
       };
     };
+    "file-loader-6.2.0" = {
+      name = "file-loader";
+      packageName = "file-loader";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz";
+        sha512 = "qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==";
+      };
+    };
     "file-or-stdin-1.0.2" = {
       name = "file-or-stdin";
       packageName = "file-or-stdin";
@@ -28781,6 +29267,15 @@ let
         sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
       };
     };
+    "find-cache-dir-0.1.1" = {
+      name = "find-cache-dir";
+      packageName = "find-cache-dir";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz";
+        sha1 = "c8defae57c8a52a8a784f9e31c57c742e993a0b9";
+      };
+    };
     "find-cache-dir-2.1.0" = {
       name = "find-cache-dir";
       packageName = "find-cache-dir";
@@ -29375,6 +29870,15 @@ let
         sha512 = "7YGDo0UlbMy++6G3lzncWISDaT5CVp+yPVAkZ7FDFF0ec+0HKgBOWOhPGKpMF0hjcm3Ps/HbtrETrQLYREZ7YQ==";
       };
     };
+    "fork-ts-checker-webpack-plugin-3.1.1" = {
+      name = "fork-ts-checker-webpack-plugin";
+      packageName = "fork-ts-checker-webpack-plugin";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz";
+        sha512 = "DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==";
+      };
+    };
     "fork-ts-checker-webpack-plugin-4.1.6" = {
       name = "fork-ts-checker-webpack-plugin";
       packageName = "fork-ts-checker-webpack-plugin";
@@ -29393,6 +29897,15 @@ let
         sha512 = "uOfQdg/iQ8iokQ64qcbu8iZb114rOmaKLQFu7hU14/eJaKgsP91cQ7ts7v2iiDld6TzDe84Meksha8/MkWiCyw==";
       };
     };
+    "fork-ts-checker-webpack-plugin-v5-5.2.1" = {
+      name = "fork-ts-checker-webpack-plugin-v5";
+      packageName = "fork-ts-checker-webpack-plugin-v5";
+      version = "5.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz";
+        sha512 = "SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==";
+      };
+    };
     "form-data-1.0.0-rc3" = {
       name = "form-data";
       packageName = "form-data";
@@ -29861,22 +30374,22 @@ let
         sha512 = "GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==";
       };
     };
-    "fs-routes-2.0.0" = {
+    "fs-routes-8.0.0" = {
       name = "fs-routes";
       packageName = "fs-routes";
-      version = "2.0.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fs-routes/-/fs-routes-2.0.0.tgz";
-        sha512 = "oITW9GoYFZwYWR2aMDdUvr6W9O5mtzSizIVEUdeCQaFD6+BylwPSEP2+ZFWv1UYpE9kiPS3Hb0knh2PmFJcj6A==";
+        url = "https://registry.npmjs.org/fs-routes/-/fs-routes-8.0.0.tgz";
+        sha512 = "EezW71GPu+VK2ZOnX0Aljaref63+mvhkkz55DqUp5xryV/mJraA2t/XFmBxNMwgRq6tFUOYuQOlr+RQh4nq5kQ==";
       };
     };
-    "fs-routes-7.0.1" = {
+    "fs-routes-9.0.3" = {
       name = "fs-routes";
       packageName = "fs-routes";
-      version = "7.0.1";
+      version = "9.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fs-routes/-/fs-routes-7.0.1.tgz";
-        sha512 = "kSAfx/P8oLSi5+tblecTETcJJ/Q+qL+xzGx4hns/+gHXMkTOZEzG73/2dBDW1FFy5+ZW080XoMaBAN2kCN55aQ==";
+        url = "https://registry.npmjs.org/fs-routes/-/fs-routes-9.0.3.tgz";
+        sha512 = "Y5tkylY9fQ1jm11FdJoptzqIG3OyzqrOF16W5odNlIdqFqb2355IbNB3jQkE+C268mSShLmIur8ynYCgL/Yg/g==";
       };
     };
     "fs-write-stream-atomic-1.0.10" = {
@@ -30077,22 +30590,22 @@ let
         sha1 = "cbed2d20a40c1f5679a35908e2b9415733e78db9";
       };
     };
-    "gatsby-core-utils-3.9.0" = {
+    "gatsby-core-utils-3.9.1" = {
       name = "gatsby-core-utils";
       packageName = "gatsby-core-utils";
-      version = "3.9.0";
+      version = "3.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.9.0.tgz";
-        sha512 = "SvPnr86oXTY3ldbQ4QAkEew3BQE9vlzUXcXVJqTOhMUeGEz2kibBFUmVp8ia9Y1eOD+K/0xXQ54jUqaResj69w==";
+        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.9.1.tgz";
+        sha512 = "DNf7NhhH0WrFuoBvyURjsw4w+eKbp1GlRA0cchYHJwVTaDPvLvX1o7zxN76xIBx+m0kttpnO3KuJ9LDOSli3ag==";
       };
     };
-    "gatsby-telemetry-3.9.0" = {
+    "gatsby-telemetry-3.9.1" = {
       name = "gatsby-telemetry";
       packageName = "gatsby-telemetry";
-      version = "3.9.0";
+      version = "3.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.9.0.tgz";
-        sha512 = "ifqJ4KS16mbpfZ5oVaU4WEbk6gccivVqjCbzfVGgqtl+C8B0u1CeShvr4NcJE1FdVFYIOB4uJeV9Wym03B075A==";
+        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.9.1.tgz";
+        sha512 = "ChXTshfvo5njd/u6kSZErDUvc/uSmtOEuo7wrt/68Xjz2JVG6nsLlRxaZpx0DxnDAInouItMVX0VF40RAU7qKg==";
       };
     };
     "gauge-1.2.7" = {
@@ -30122,13 +30635,13 @@ let
         sha512 = "+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==";
       };
     };
-    "gauge-4.0.2" = {
+    "gauge-4.0.3" = {
       name = "gauge";
       packageName = "gauge";
-      version = "4.0.2";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gauge/-/gauge-4.0.2.tgz";
-        sha512 = "aSPRm2CvA9R8QyU5eXMFPd+cYkyxLsXHd2l5/FOH2V/eml//M04G6KZOmTap07O1PvEwNcl2NndyLfK8g3QrKA==";
+        url = "https://registry.npmjs.org/gauge/-/gauge-4.0.3.tgz";
+        sha512 = "ICw1DhAwMtb22rYFwEHgJcx1JCwJGv3x6G0OQUq56Nge+H4Q8JEwr8iveS0XFlsUNSI67F5ffMGK25bK4Pmskw==";
       };
     };
     "gaxios-2.3.4" = {
@@ -31095,6 +31608,15 @@ let
         sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     };
+    "globals-12.4.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "12.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz";
+        sha512 = "BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==";
+      };
+    };
     "globals-13.12.1" = {
       name = "globals";
       packageName = "globals";
@@ -31698,13 +32220,13 @@ let
         sha512 = "Wci5MbrQj+6d7rfvbORrA9uDlfMysBWYaG49ST5TKylNaXYFf3ixFOa74iM1KtM9eidosUbI3E1JlWi0JaidJA==";
       };
     };
-    "graphql-sse-1.0.6" = {
+    "graphql-sse-1.1.0" = {
       name = "graphql-sse";
       packageName = "graphql-sse";
-      version = "1.0.6";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-sse/-/graphql-sse-1.0.6.tgz";
-        sha512 = "y2mVBN2KwNrzxX2KBncQ6kzc6JWvecxuBernrl0j65hsr6MAS3+Yn8PTFSOgRmtolxugepxveyZVQEuaNEbw3w==";
+        url = "https://registry.npmjs.org/graphql-sse/-/graphql-sse-1.1.0.tgz";
+        sha512 = "xE8AGPJa5X+g7iFmRQw/8H+7lXIDJvSkW6lou/XSSq17opPQl+dbKOMiqraHMx52VrDgS061ZVx90OSuqS6ykA==";
       };
     };
     "graphql-subscriptions-1.2.1" = {
@@ -31878,15 +32400,6 @@ let
         sha512 = "dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==";
       };
     };
-    "gulp-clean-css-4.3.0" = {
-      name = "gulp-clean-css";
-      packageName = "gulp-clean-css";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz";
-        sha512 = "mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==";
-      };
-    };
     "gulp-cli-2.3.0" = {
       name = "gulp-cli";
       packageName = "gulp-cli";
@@ -31896,24 +32409,6 @@ let
         sha512 = "zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==";
       };
     };
-    "gulp-concat-2.6.1" = {
-      name = "gulp-concat";
-      packageName = "gulp-concat";
-      version = "2.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz";
-        sha1 = "633d16c95d88504628ad02665663cee5a4793353";
-      };
-    };
-    "gulp-dart-sass-1.0.2" = {
-      name = "gulp-dart-sass";
-      packageName = "gulp-dart-sass";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gulp-dart-sass/-/gulp-dart-sass-1.0.2.tgz";
-        sha512 = "8fLttA824mbuc0jRVlGs00zWYZXBckat6INawx5kp66Eqsz5srNWTA51t0mbfB4C8a/a/GZ9muYLwXGklgAHlw==";
-      };
-    };
     "gulp-eslint-3.0.1" = {
       name = "gulp-eslint";
       packageName = "gulp-eslint";
@@ -31923,6 +32418,15 @@ let
         sha1 = "04e57e3e18c6974267c12cf6855dc717d4a313bd";
       };
     };
+    "gulp-eslint-6.0.0" = {
+      name = "gulp-eslint";
+      packageName = "gulp-eslint";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-6.0.0.tgz";
+        sha512 = "dCVPSh1sA+UVhn7JSQt7KEb4An2sQNbOdB3PA8UCfxsoPlAKjJHxYHGXdXC7eb+V1FAnilSFFqslPrq037l1ig==";
+      };
+    };
     "gulp-plumber-1.2.1" = {
       name = "gulp-plumber";
       packageName = "gulp-plumber";
@@ -31932,22 +32436,13 @@ let
         sha512 = "mctAi9msEAG7XzW5ytDVZ9PxWMzzi1pS2rBH7lA095DhMa6KEXjm+St0GOCc567pJKJ/oCvosVAZEpAey0q2eQ==";
       };
     };
-    "gulp-sourcemaps-2.6.5" = {
+    "gulp-sourcemaps-3.0.0" = {
       name = "gulp-sourcemaps";
       packageName = "gulp-sourcemaps";
-      version = "2.6.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.5.tgz";
-        sha512 = "SYLBRzPTew8T5Suh2U8jCSDKY+4NARua4aqjj8HOysBh2tSgT9u4jc1FYirAdPx1akUxxDeK++fqw6Jg0LkQRg==";
-      };
-    };
-    "gulp-tslint-8.1.4" = {
-      name = "gulp-tslint";
-      packageName = "gulp-tslint";
-      version = "8.1.4";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gulp-tslint/-/gulp-tslint-8.1.4.tgz";
-        sha512 = "wBoZIEMJRz9urHwolsvQpngA9l931p6g/Liwz1b/KrsVP6jEBFZv/o0NS1TFCQZi/l8mXxz8+v3twhf4HOXxPQ==";
+        url = "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz";
+        sha512 = "RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==";
       };
     };
     "gulp-typescript-5.0.1" = {
@@ -32337,6 +32832,15 @@ let
         sha512 = "1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==";
       };
     };
+    "hash-sum-1.0.2" = {
+      name = "hash-sum";
+      packageName = "hash-sum";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz";
+        sha1 = "33b40777754c6432573c120cc3808bbd10d47f04";
+      };
+    };
     "hash-sum-2.0.0" = {
       name = "hash-sum";
       packageName = "hash-sum";
@@ -32742,6 +33246,15 @@ let
         sha512 = "oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==";
       };
     };
+    "highlight.js-10.7.3" = {
+      name = "highlight.js";
+      packageName = "highlight.js";
+      version = "10.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz";
+        sha512 = "tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==";
+      };
+    };
     "highlight.js-11.4.0" = {
       name = "highlight.js";
       packageName = "highlight.js";
@@ -32796,13 +33309,13 @@ let
         sha1 = "6f36e770769275113a57ae1a6007001af771cff6";
       };
     };
-    "hls-b24.js-0.12.3" = {
-      name = "hls-b24.js";
-      packageName = "hls-b24.js";
-      version = "0.12.3";
+    "hls.js-1.1.2" = {
+      name = "hls.js";
+      packageName = "hls.js";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hls-b24.js/-/hls-b24.js-0.12.3.tgz";
-        sha512 = "C8nwzS33zKvR7grYIoHvp8wPxBvk9sEJ6dsh3Bx+T/4jNNhDksqLS73NIWqHvInjRiOsrXgEY4+h/NjNbzzh0g==";
+        url = "https://registry.npmjs.org/hls.js/-/hls.js-1.1.2.tgz";
+        sha512 = "ujditC4vvBmZd00RRNfNPLgFVlqEeUX4sAFv5lGhBHuql8iAZodOdlZTD3em/1zo7vyjQp12up/lCVqQk8dvxA==";
       };
     };
     "hmac-blake2b-2.0.0" = {
@@ -33408,6 +33921,15 @@ let
         sha512 = "yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==";
       };
     };
+    "http-proxy-middleware-1.3.1" = {
+      name = "http-proxy-middleware";
+      packageName = "http-proxy-middleware";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz";
+        sha512 = "13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==";
+      };
+    };
     "http-proxy-middleware-2.0.3" = {
       name = "http-proxy-middleware";
       packageName = "http-proxy-middleware";
@@ -34560,15 +35082,6 @@ let
         sha1 = "4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918";
       };
     };
-    "inquirer-3.0.6" = {
-      name = "inquirer";
-      packageName = "inquirer";
-      version = "3.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz";
-        sha1 = "e04aaa9d05b7a3cb9b0f407d04375f0447190347";
-      };
-    };
     "inquirer-3.3.0" = {
       name = "inquirer";
       packageName = "inquirer";
@@ -34623,6 +35136,15 @@ let
         sha512 = "0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==";
       };
     };
+    "inquirer-8.2.1" = {
+      name = "inquirer";
+      packageName = "inquirer";
+      version = "8.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-8.2.1.tgz";
+        sha512 = "pxhBaw9cyTFMjwKtkjePWDhvwzvrNGAw7En4hottzlPvz80GZaMZthdDU35aA6/f5FRZf3uhE057q8w1DE3V2g==";
+      };
+    };
     "inquirer-autocomplete-prompt-1.4.0" = {
       name = "inquirer-autocomplete-prompt";
       packageName = "inquirer-autocomplete-prompt";
@@ -34911,6 +35433,15 @@ let
         sha512 = "j8grHGDzv1v+8T1sAQ+3boTCntFPfvxLCkNcxB1J8qA0lUN+fAlSyYd+RXKvaPRL4AGyPxViutBEJHNXOyUdFQ==";
       };
     };
+    "inversify-6.0.1" = {
+      name = "inversify";
+      packageName = "inversify";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inversify/-/inversify-6.0.1.tgz";
+        sha512 = "B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==";
+      };
+    };
     "invert-kv-1.0.0" = {
       name = "invert-kv";
       packageName = "invert-kv";
@@ -35001,6 +35532,15 @@ let
         sha512 = "u9YYtb1p2fWSbzpKmZ/b3QXWA+diRYPxc2c4y5lFB/MMk5WZ7wNZv8S3CFcIGVJ5XtlaCAl/FQy/D3eQ2XtdOA==";
       };
     };
+    "ip-num-1.3.4" = {
+      name = "ip-num";
+      packageName = "ip-num";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ip-num/-/ip-num-1.3.4.tgz";
+        sha512 = "ZlO1YqjR87dsMFTxUJGj1iZR+UV+0QHWeOAMZfTBpGocBsKGc7fJdlFoa7F5xpK/guKW7dkfT6UAVDwvWjLK1Q==";
+      };
+    };
     "ip-regex-2.1.0" = {
       name = "ip-regex";
       packageName = "ip-regex";
@@ -37306,13 +37846,13 @@ let
         sha512 = "2VlU59N5P4HaumDK1Z3XEVjSvegFbEOQRgpHUBaB2Ak98Axl3hFhJ6RFcNQNuk9SfL6WxIbuLst8dW/U56NSiA==";
       };
     };
-    "jquery.terminal-2.32.0" = {
+    "jquery.terminal-2.32.1" = {
       name = "jquery.terminal";
       packageName = "jquery.terminal";
-      version = "2.32.0";
+      version = "2.32.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.32.0.tgz";
-        sha512 = "Q+eYaAQikguSx5UHVs/r7Y/C1/jzEEZS40DGAhHmga8MQZdk9Z+dstfN/U4IcNnm1nXPer8A6CKMBdTPLrROkg==";
+        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.32.1.tgz";
+        sha512 = "AbaZfSuNPQSBpUEP2jqNix5H7wS3fqUQGe+k6D8umBAOA3XxIVJpXTcGitfs1df7AZ52DruOQnV+p5+s+E3QqQ==";
       };
     };
     "js-base64-2.6.3" = {
@@ -37639,49 +38179,49 @@ let
         sha512 = "xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==";
       };
     };
-    "jsii-1.54.0" = {
+    "jsii-1.55.0" = {
       name = "jsii";
       packageName = "jsii";
-      version = "1.54.0";
+      version = "1.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii/-/jsii-1.54.0.tgz";
-        sha512 = "XuqGpmGIxFcX2GvX3zjcHBzBeZ7+tJ7hr5tu/7qV6wQ/thXuZFdAoj2znSgBkpGOt6mjtRuqv01HIRl25Nys5g==";
+        url = "https://registry.npmjs.org/jsii/-/jsii-1.55.0.tgz";
+        sha512 = "OpY67STJMTqF/pQRYMXx8xaA1lCnKoQCnraB043tkx6F3reyUNzlIzSIkQIgTEFoBa/OEYANHdtHJCfw6Y3nzA==";
       };
     };
-    "jsii-pacmak-1.54.0" = {
+    "jsii-pacmak-1.55.0" = {
       name = "jsii-pacmak";
       packageName = "jsii-pacmak";
-      version = "1.54.0";
+      version = "1.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.54.0.tgz";
-        sha512 = "1uvHzdrUiTL7Z6QLaoY5F4iK+JbVh8BL4dJrZRikd+ntVWW8sh0CIxAAtlwYgAMER8HihZ1AZUzngdZ/zO2AFw==";
+        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.55.0.tgz";
+        sha512 = "2i1VQVGQIC0JUSryw9gV2VqcMNbR/KLQOwsfNb7gTs6qKccR5Pmf4eXuIC+HxpyIiecu1UeEbToz5q8fMdVcig==";
       };
     };
-    "jsii-reflect-1.54.0" = {
+    "jsii-reflect-1.55.0" = {
       name = "jsii-reflect";
       packageName = "jsii-reflect";
-      version = "1.54.0";
+      version = "1.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.54.0.tgz";
-        sha512 = "wB4hxHTAN4LEBVg/Y5sr3Sbh3Xe2+jrYIftnhT+2mmhMexHj3U0RhjPW/MFXxRTbiSgDad1fbw5VkJYDWnpGXw==";
+        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.55.0.tgz";
+        sha512 = "PLrRTqkE0FJ9locNabIOnmXh/fX+JaKhWD9ktPmYmZzPyPL7pfHGUUnFJhtk+0yXZ9vwg/Bp5qr/l3HH2Bq+uA==";
       };
     };
-    "jsii-rosetta-1.54.0" = {
+    "jsii-rosetta-1.55.0" = {
       name = "jsii-rosetta";
       packageName = "jsii-rosetta";
-      version = "1.54.0";
+      version = "1.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.54.0.tgz";
-        sha512 = "fxgx9L5eWzyMC1IEkDitxgcraHUuZbQQVQztJtZHw/QlZ9n0DUjfbKrefJQ2HpobtI9ZV2fDEYjuwZDBAVBdsA==";
+        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.55.0.tgz";
+        sha512 = "LOw8i5ypoJ8A2D24Za3fIWeiNbPa6q0wuLuu0LAr+VWvu4f2A5A9SJfzsB39CXwDVKjrAVVvCy83Fgdv3/2VFw==";
       };
     };
-    "jsii-srcmak-0.1.495" = {
+    "jsii-srcmak-0.1.499" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.495";
+      version = "0.1.499";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.495.tgz";
-        sha512 = "zAfFT/y52spvqFZJ5UDB29eAiyXvLce1ouTY/7GtJbRzlNxfwDOpmwZfNtnR6KQTfeW9DWtl6zJQQscIzdn38g==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.499.tgz";
+        sha512 = "FJ8ovnFkrWL2BgseeGDkpCsx5+AfWYp0vyihtiKWvb3x/uQhB0N5q90oOhJn1uRLpwv4+UOTG3d41t4ZtCQzKg==";
       };
     };
     "json-bigint-1.0.0" = {
@@ -37981,13 +38521,13 @@ let
         sha512 = "0/4Lv6IenJV0qj2oBdgPIAmFiKKnh8qh7bmLFJ+/ZZHLjSeiL3fKKGX3UryvKPbxFbhV+JcYo9KUC19GJ/Z/4A==";
       };
     };
-    "json2jsii-0.2.155" = {
+    "json2jsii-0.2.159" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.2.155";
+      version = "0.2.159";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.155.tgz";
-        sha512 = "uAcZRDPOQSD7LrITobxxaxwld34carsGTKY6u6fAH2arw13X0Pq5QlrgQBaVvFt/Uwh+L0g3TGAkumPMaYMm8A==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.159.tgz";
+        sha512 = "zbMiuYG79Azg3zXzVA/hP20XtDJO1obIiAbYvYzB+eXIP3YPNn/BIITiLRi6g55oCW8TaLlSRgBJDBNaTt5/tg==";
       };
     };
     "json3-3.2.6" = {
@@ -38206,6 +38746,15 @@ let
         sha512 = "PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==";
       };
     };
+    "jsonrpc2-ws-1.0.0-beta9" = {
+      name = "jsonrpc2-ws";
+      packageName = "jsonrpc2-ws";
+      version = "1.0.0-beta9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonrpc2-ws/-/jsonrpc2-ws-1.0.0-beta9.tgz";
+        sha512 = "0KA+ufhSy7gN2/jGXagXLz4V5m+vymmNTI5IpNBIUiunday45P6dspdaOO0wwt2JJyrACC/BKMH154OqsuB80w==";
+      };
+    };
     "jsonschema-1.4.0" = {
       name = "jsonschema";
       packageName = "jsonschema";
@@ -39007,6 +39556,15 @@ let
         sha512 = "3QrsCXejlWYHjBPFXTyGNhPj4rrQdB+5+r5r3wArpLH201aR+nWUgw/zKKkTmilCfY/sv6u8qo98pNvtg8LUTA==";
       };
     };
+    "launch-editor-middleware-2.3.0" = {
+      name = "launch-editor-middleware";
+      packageName = "launch-editor-middleware";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.3.0.tgz";
+        sha512 = "GJR64trLdFFwCoL9DMn/d1SZX0OzTDPixu4mcfWTShQ4tIqCHCGvlg9fOEYQXyBlrSMQwylsJfUWncheShfV2w==";
+      };
+    };
     "layered-graph-1.1.3" = {
       name = "layered-graph";
       packageName = "layered-graph";
@@ -39898,6 +40456,15 @@ let
         sha512 = "OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==";
       };
     };
+    "loader-fs-cache-1.0.3" = {
+      name = "loader-fs-cache";
+      packageName = "loader-fs-cache";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz";
+        sha512 = "ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==";
+      };
+    };
     "loader-runner-2.4.0" = {
       name = "loader-runner";
       packageName = "loader-runner";
@@ -40591,6 +41158,15 @@ let
         sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c";
       };
     };
+    "lodash.defaultsdeep-4.6.1" = {
+      name = "lodash.defaultsdeep";
+      packageName = "lodash.defaultsdeep";
+      version = "4.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz";
+        sha512 = "3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==";
+      };
+    };
     "lodash.difference-4.5.0" = {
       name = "lodash.difference";
       packageName = "lodash.difference";
@@ -40924,6 +41500,15 @@ let
         sha1 = "771ec7839e3473d9c4cde28b19394c3562f4f6d3";
       };
     };
+    "lodash.mapvalues-4.6.0" = {
+      name = "lodash.mapvalues";
+      packageName = "lodash.mapvalues";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz";
+        sha1 = "1bafa5005de9dd6f4f26668c30ca37230cc9689c";
+      };
+    };
     "lodash.memoize-3.0.4" = {
       name = "lodash.memoize";
       packageName = "lodash.memoize";
@@ -41140,6 +41725,15 @@ let
         sha1 = "24c4bfcd6b2fba38bfd0594db1179d8e9b656561";
       };
     };
+    "lodash.transform-4.6.0" = {
+      name = "lodash.transform";
+      packageName = "lodash.transform";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz";
+        sha1 = "12306422f63324aed8483d3f38332b5f670547a0";
+      };
+    };
     "lodash.truncate-4.4.2" = {
       name = "lodash.truncate";
       packageName = "lodash.truncate";
@@ -41689,13 +42283,13 @@ let
         sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
       };
     };
-    "lru-cache-7.4.1" = {
+    "lru-cache-7.4.4" = {
       name = "lru-cache";
       packageName = "lru-cache";
-      version = "7.4.1";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-7.4.1.tgz";
-        sha512 = "NCD7/WRlFmADccuHjsRUYqdluYBr//n/O0fesCb/n52FoGcgKh8o4Dpm7YIbZwVcDs8rPBQbCZLmWWsp6m+xGQ==";
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-7.4.4.tgz";
+        sha512 = "2XbUJmlpIbmc9JvNNmtLzHlF31srxoDxuiQiwBHic7RZyHyltbTdzoO6maRqpdEhOOG5GD80EXvzAU0wR15ccg==";
       };
     };
     "lru-queue-0.1.0" = {
@@ -41960,13 +42554,13 @@ let
         sha512 = "s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==";
       };
     };
-    "make-fetch-happen-10.0.4" = {
+    "make-fetch-happen-10.0.5" = {
       name = "make-fetch-happen";
       packageName = "make-fetch-happen";
-      version = "10.0.4";
+      version = "10.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.0.4.tgz";
-        sha512 = "CiReW6usy3UXby5N46XjWfLPFPq1glugCszh18I0NYJCwr129ZAx9j3Dlv+cRsK0q3VjlVysEzhdtdw2+NhdYA==";
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.0.5.tgz";
+        sha512 = "0JQ0daMRDFEv14DelmcFlprdhSDNG7WEgInTjBeWYWZ78W0jfDqygZdPLhcrQ4s/G8skNhBrS4fiF6xA+YlFjQ==";
       };
     };
     "make-fetch-happen-8.0.14" = {
@@ -42491,22 +43085,13 @@ let
         sha512 = "YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g==";
       };
     };
-    "material-design-icons-3.0.1" = {
-      name = "material-design-icons";
-      packageName = "material-design-icons";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/material-design-icons/-/material-design-icons-3.0.1.tgz";
-        sha1 = "9a71c48747218ebca51e51a66da682038cdcb7bf";
-      };
-    };
-    "material-design-lite-1.3.0" = {
-      name = "material-design-lite";
-      packageName = "material-design-lite";
-      version = "1.3.0";
+    "material-design-icons-iconfont-6.1.1" = {
+      name = "material-design-icons-iconfont";
+      packageName = "material-design-icons-iconfont";
+      version = "6.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/material-design-lite/-/material-design-lite-1.3.0.tgz";
-        sha1 = "d004ce3fee99a1eeb74a78b8a325134a5f1171d3";
+        url = "https://registry.npmjs.org/material-design-icons-iconfont/-/material-design-icons-iconfont-6.1.1.tgz";
+        sha512 = "nkoXybeXoofanNagj4tbM6+/LALWpWxYX5ee861to5VQrKgb0/TskTw28Svwn0OGDKajuqK7ShFOsIBxIygGKA==";
       };
     };
     "math-random-1.0.4" = {
@@ -43238,6 +43823,15 @@ let
         sha1 = "a5de46538dae84d4114cc5ea02b4772a6346701f";
       };
     };
+    "merge-source-map-1.1.0" = {
+      name = "merge-source-map";
+      packageName = "merge-source-map";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz";
+        sha512 = "Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==";
+      };
+    };
     "merge-stream-2.0.0" = {
       name = "merge-stream";
       packageName = "merge-stream";
@@ -44138,13 +44732,22 @@ let
         sha512 = "IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw==";
       };
     };
-    "mini-svg-data-uri-1.4.3" = {
+    "mini-css-extract-plugin-0.9.0" = {
+      name = "mini-css-extract-plugin";
+      packageName = "mini-css-extract-plugin";
+      version = "0.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz";
+        sha512 = "lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==";
+      };
+    };
+    "mini-svg-data-uri-1.4.4" = {
       name = "mini-svg-data-uri";
       packageName = "mini-svg-data-uri";
-      version = "1.4.3";
+      version = "1.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.3.tgz";
-        sha512 = "gSfqpMRC8IxghvMcxzzmMnWpXAChSA+vy4cia33RgerMS8Fex95akUyQZPbxJJmeBGiGmK7n/1OpUX8ksRjIdA==";
+        url = "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz";
+        sha512 = "r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==";
       };
     };
     "minicap-prebuilt-2.3.0" = {
@@ -44219,6 +44822,15 @@ let
         sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
       };
     };
+    "minimatch-4.2.1" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz";
+        sha512 = "9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==";
+      };
+    };
     "minimatch-5.0.1" = {
       name = "minimatch";
       packageName = "minimatch";
@@ -44246,15 +44858,6 @@ let
         sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
       };
     };
-    "minimist-1.2.0" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
-        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
-      };
-    };
     "minimist-1.2.3" = {
       name = "minimist";
       packageName = "minimist";
@@ -44345,13 +44948,13 @@ let
         sha512 = "CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==";
       };
     };
-    "minipass-fetch-2.0.2" = {
+    "minipass-fetch-2.0.3" = {
       name = "minipass-fetch";
       packageName = "minipass-fetch";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.0.2.tgz";
-        sha512 = "M63u5yWX0yxY1C3DcLVY1xWai0pNM3qa1xCMXFgdejY5F/NTmyzNVHGcBxKerX51lssqxwWWTjpg/ZPuD39gOQ==";
+        url = "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.0.3.tgz";
+        sha512 = "VA+eiiUtaIvpQJXISwE3OiMvQwAWrgKb97F0aXlCS1Ahikr8fEQq8m3Hf7Kv9KT3nokuHigJKsDMB6atU04olQ==";
       };
     };
     "minipass-flush-1.0.5" = {
@@ -44417,13 +45020,13 @@ let
         sha512 = "bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==";
       };
     };
-    "mirakurun-3.3.1" = {
+    "mirakurun-3.9.0-beta.26" = {
       name = "mirakurun";
       packageName = "mirakurun";
-      version = "3.3.1";
+      version = "3.9.0-beta.26";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mirakurun/-/mirakurun-3.3.1.tgz";
-        sha512 = "uCsn3t7bV3jmy8mcgl19wowBq69Xz/Z/WUkazOC9PXvzzb9j5wvfr+qrwB5GtHkLBFIaBVI59HIX+JJ637jVmA==";
+        url = "https://registry.npmjs.org/mirakurun/-/mirakurun-3.9.0-beta.26.tgz";
+        sha512 = "w1yetqCebn8G4RRBnPEWLiVeLCOL1r/6t6E/81REOjF27yasxOo8duydpzd2aYWHsMDNr/+yc0xqlRdA64X6Tw==";
       };
     };
     "mired-0.0.0" = {
@@ -44462,15 +45065,6 @@ let
         sha1 = "53d500266cbd09cda9d94c4cf392e60589b5b324";
       };
     };
-    "mithril-2.0.4" = {
-      name = "mithril";
-      packageName = "mithril";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mithril/-/mithril-2.0.4.tgz";
-        sha512 = "mgw+DMZlhMS4PpprF6dl7ZoeZq5GGcAuWnrg5e12MvaGauc4jzWsDZtVGRCktsiQczOEUr2K5teKbE5k44RlOg==";
-      };
-    };
     "mitt-1.2.0" = {
       name = "mitt";
       packageName = "mitt";
@@ -44606,13 +45200,13 @@ let
         sha512 = "hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==";
       };
     };
-    "mocha-9.2.1" = {
+    "mocha-9.2.2" = {
       name = "mocha";
       packageName = "mocha";
-      version = "9.2.1";
+      version = "9.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mocha/-/mocha-9.2.1.tgz";
-        sha512 = "T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ==";
+        url = "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz";
+        sha512 = "L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==";
       };
     };
     "mock-require-3.0.3" = {
@@ -44714,6 +45308,24 @@ let
         sha512 = "3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==";
       };
     };
+    "mongodb-4.4.1" = {
+      name = "mongodb";
+      packageName = "mongodb";
+      version = "4.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mongodb/-/mongodb-4.4.1.tgz";
+        sha512 = "IAD3nFtCR4s22vi5qjqkCBnuyDDrOW8WVSSmgHquOvGaP1iTD+XpC5tr8wAUbZ2EeZkaswwBKQFHDvl4qYcKqQ==";
+      };
+    };
+    "mongodb-connection-string-url-2.5.2" = {
+      name = "mongodb-connection-string-url";
+      packageName = "mongodb-connection-string-url";
+      version = "2.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.2.tgz";
+        sha512 = "tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA==";
+      };
+    };
     "moniker-0.1.2" = {
       name = "moniker";
       packageName = "moniker";
@@ -44831,6 +45443,15 @@ let
         sha512 = "NOeCoW6AYc3hLi30npe7uzbD9b4FQZKH40YKABUCCvaKKL5agj6YzvHoNx8jQpDMNPgIa5bvSZQbQpWBAVD0Kw==";
       };
     };
+    "mpegts.js-1.6.10" = {
+      name = "mpegts.js";
+      packageName = "mpegts.js";
+      version = "1.6.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mpegts.js/-/mpegts.js-1.6.10.tgz";
+        sha512 = "ZgX4b93cWk+EazOFRV4lekLqmc4rV7P+WMisG8N0F2M4/EiluPMNNWjuaurQfitak++AIc/ZVQ3IgM3cBcH7WA==";
+      };
+    };
     "mqtt-4.3.5" = {
       name = "mqtt";
       packageName = "mqtt";
@@ -44966,13 +45587,13 @@ let
         sha512 = "fxdRfQUxPrL/TizyfYfMn09dK58e+d65bRD/fcaVH4052vj30QOzzqxcQIS7B0NsqlypEQ/6Du3QmP2DhWFfCA==";
       };
     };
-    "multer-1.4.2" = {
+    "multer-1.4.3" = {
       name = "multer";
       packageName = "multer";
-      version = "1.4.2";
+      version = "1.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multer/-/multer-1.4.2.tgz";
-        sha512 = "xY8pX7V+ybyUpbYMxtjM9KAiD9ixtg5/JkeKUTD6xilfDv0vzzOFcCp4Ljb1UU3tSOM3VTZtKo63OmzOrGi3Cg==";
+        url = "https://registry.npmjs.org/multer/-/multer-1.4.3.tgz";
+        sha512 = "np0YLKncuZoTzufbkM6wEKp68EhWJXcU6fq6QqrSwkckd2LlMgd1UqhUJLj6NS/5sZ8dE8LYDWslsltJznnXlg==";
       };
     };
     "multer-1.4.4" = {
@@ -45146,15 +45767,6 @@ let
         sha512 = "J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==";
       };
     };
-    "munin-plugin-0.0.9" = {
-      name = "munin-plugin";
-      packageName = "munin-plugin";
-      version = "0.0.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/munin-plugin/-/munin-plugin-0.0.9.tgz";
-        sha1 = "ca17e1eafb3b9155b5e4c21062210e348a9dbe91";
-      };
-    };
     "murmurhash-js-1.0.0" = {
       name = "murmurhash-js";
       packageName = "murmurhash-js";
@@ -45461,15 +46073,6 @@ let
         sha512 = "a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==";
       };
     };
-    "nanoid-3.2.0" = {
-      name = "nanoid";
-      packageName = "nanoid";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz";
-        sha512 = "fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==";
-      };
-    };
     "nanoid-3.3.1" = {
       name = "nanoid";
       packageName = "nanoid";
@@ -45713,13 +46316,13 @@ let
         sha512 = "SIrthcL5Wc0sps+2e1xGj3zceEa68TgNZDLuCx0daxmfTP7sFTB3/mtE2pYhlFsCxWoMn+JfID5E1NlzvvbRJg==";
       };
     };
-    "near-ledger-js-0.2.0" = {
+    "near-ledger-js-0.2.1" = {
       name = "near-ledger-js";
       packageName = "near-ledger-js";
-      version = "0.2.0";
+      version = "0.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/near-ledger-js/-/near-ledger-js-0.2.0.tgz";
-        sha512 = "6YcK7o+GcsUoGevjVqDotVZE3hvCcr9cRxFx/+PyR7JrDbzbVhavXQInqJxdZnqYC7K/dh/YZKhwhtXHXEF1iQ==";
+        url = "https://registry.npmjs.org/near-ledger-js/-/near-ledger-js-0.2.1.tgz";
+        sha512 = "8anZb6e96gJNBOKUR/HReLN/x8BmBhCpyPq+XxFbx8jxmsRz+M1Hxq085+ROYaMI2EDJqatrjjLAdArk13BOhA==";
       };
     };
     "near-seed-phrase-0.2.0" = {
@@ -45993,15 +46596,6 @@ let
         sha1 = "fcae57853052b6a9bae8208e40dd7d3c2d304603";
       };
     };
-    "next-tick-1.0.0" = {
-      name = "next-tick";
-      packageName = "next-tick";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz";
-        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
-      };
-    };
     "next-tick-1.1.0" = {
       name = "next-tick";
       packageName = "next-tick";
@@ -46326,15 +46920,6 @@ let
         sha512 = "5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==";
       };
     };
-    "node-fetch-1.6.3" = {
-      name = "node-fetch";
-      packageName = "node-fetch";
-      version = "1.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz";
-        sha1 = "dc234edd6489982d58e8f0db4f695029abcd8c04";
-      };
-    };
     "node-fetch-1.7.3" = {
       name = "node-fetch";
       packageName = "node-fetch";
@@ -46371,13 +46956,13 @@ let
         sha512 = "ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==";
       };
     };
-    "node-fetch-3.2.2" = {
+    "node-fetch-3.2.3" = {
       name = "node-fetch";
       packageName = "node-fetch";
-      version = "3.2.2";
+      version = "3.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.2.tgz";
-        sha512 = "Cwhq1JFIoon15wcIkFzubVNFE5GvXGV82pKf4knXXjvGmn7RJKcypeuqcVNZMGDZsAFWyIRya/anwAJr7TWJ7w==";
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.3.tgz";
+        sha512 = "AXP18u4pidSZ1xYXRDPY/8jdv3RAozIt/WLNR/MBGZAz+xjtlr90RvCnsvHQRiXyWliZF/CpytExp32UU67/SA==";
       };
     };
     "node-fetch-h2-2.3.0" = {
@@ -46974,6 +47559,15 @@ let
         sha512 = "p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==";
       };
     };
+    "normalize-path-1.0.0" = {
+      name = "normalize-path";
+      packageName = "normalize-path";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz";
+        sha1 = "32d0e472f91ff345701c15a8311018d3b0a90379";
+      };
+    };
     "normalize-path-2.1.1" = {
       name = "normalize-path";
       packageName = "normalize-path";
@@ -47460,6 +48054,15 @@ let
         sha512 = "A8A8+PtlH937KWXJnfct6ubGPfgHOe3lwFkkmrT5xW8+aRBnDWqSiW5NRuiVuh/k/auLGsZdu+WrIU2epL/FHg==";
       };
     };
+    "null-loader-4.0.1" = {
+      name = "null-loader";
+      packageName = "null-loader";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz";
+        sha512 = "pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==";
+      };
+    };
     "nullthrows-1.1.1" = {
       name = "nullthrows";
       packageName = "nullthrows";
@@ -47983,15 +48586,6 @@ let
         sha512 = "rH3U4eLHsV+OgkOS29ULiC9JLspwMCyCIH/+BglLPXDxQs13IK8AGD+nVmkGXqGN5JefZu85YhfIi05CsOKWPw==";
       };
     };
-    "office-ui-fabric-react-7.183.1" = {
-      name = "office-ui-fabric-react";
-      packageName = "office-ui-fabric-react";
-      version = "7.183.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.183.1.tgz";
-        sha512 = "2C0fmVPYi7kuMa0e+0Cw37C5SxOb4I//e5zwoBgOPagODYO/yhxZAxOt6VTOkn1Nr3zTZeYAfN7mjUNrjfyvFA==";
-      };
-    };
     "omggif-1.0.10" = {
       name = "omggif";
       packageName = "omggif";
@@ -48172,13 +48766,13 @@ let
         sha512 = "fvaSZRzprpwLFge/mcwE0CItfniNisVNamDdMK1FQUjh4ArQZ8ZWSkDaJbZc3XaANKZHq0xIa8NJpZ2HSe3oXA==";
       };
     };
-    "oo-ascii-tree-1.54.0" = {
+    "oo-ascii-tree-1.55.0" = {
       name = "oo-ascii-tree";
       packageName = "oo-ascii-tree";
-      version = "1.54.0";
+      version = "1.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.54.0.tgz";
-        sha512 = "EAk5I5GHidk2lvqwcfR1bl/EeK1Pns8BMzzFKle6clapov3LX54l3k70VGHQDLsHo42dy9UJe23mJPVpg9iTcg==";
+        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.55.0.tgz";
+        sha512 = "oC+v1W4giMwOU19ZZmT89culEvqRlpGxoKAPirk4URHdOEWROSJy+xbuemiKRxrQwbmLMqgZw0Uq2PkiaBmtDw==";
       };
     };
     "open-0.0.2" = {
@@ -48244,112 +48838,112 @@ let
         sha512 = "XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==";
       };
     };
-    "openapi-default-setter-2.1.0" = {
+    "openapi-default-setter-8.0.0" = {
       name = "openapi-default-setter";
       packageName = "openapi-default-setter";
-      version = "2.1.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-default-setter/-/openapi-default-setter-2.1.0.tgz";
-        sha512 = "2ZNlX1B/J9Q/bsM/vZKh8alC0Pn04KtDGbMN30qLRu3GkaOJH3dDMKxqJzCpYj8BOAa8G3BEsQq6kqWzkEsM7A==";
+        url = "https://registry.npmjs.org/openapi-default-setter/-/openapi-default-setter-8.0.0.tgz";
+        sha512 = "Ro0hg8w+lTPe18r5noVUjHgYMXZ3mPe5evW6fA0hdahqLns444wR/Cuvcykb/FHteqaq0WooQrsoKObO4lIHWA==";
       };
     };
-    "openapi-default-setter-7.2.3" = {
+    "openapi-default-setter-9.3.1" = {
       name = "openapi-default-setter";
       packageName = "openapi-default-setter";
-      version = "7.2.3";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-default-setter/-/openapi-default-setter-7.2.3.tgz";
-        sha512 = "wRqgsLfZB3LXx8l3RfKo8icdDPDucnrRD2EkygTMiUv5W1/OdZJmo1ChgD6FjQUZH/7U67IxEjnXPEWfnu+dRw==";
+        url = "https://registry.npmjs.org/openapi-default-setter/-/openapi-default-setter-9.3.1.tgz";
+        sha512 = "Tc/qpL7H2urJAilmb1wLqHJ8BjjJYudodRFl3RbTkWPSzwalZwPEo4VRP6WnEGvaRgkzLFaT62XgTHRGT8G9lw==";
       };
     };
-    "openapi-framework-0.26.0" = {
+    "openapi-framework-8.0.0" = {
       name = "openapi-framework";
       packageName = "openapi-framework";
-      version = "0.26.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-framework/-/openapi-framework-0.26.0.tgz";
-        sha512 = "TbgwwOnlatb+xSYh/XALQjrVO3dirVNXuONR6CLQHVI/i1e+nq/ubW8I5i6rlGpnFLZNZKXZ0gF7RMvjLBk8ow==";
+        url = "https://registry.npmjs.org/openapi-framework/-/openapi-framework-8.0.0.tgz";
+        sha512 = "T9rP8onTa5xU+7+FCiiBO/p0DLjbHlcfhu+8yUEWFlmlCyihqjbsH0YiH7cCQYNOLgKZUCQZOaxJDiYBlVIaQQ==";
       };
     };
-    "openapi-framework-7.5.0" = {
+    "openapi-framework-9.3.1" = {
       name = "openapi-framework";
       packageName = "openapi-framework";
-      version = "7.5.0";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-framework/-/openapi-framework-7.5.0.tgz";
-        sha512 = "t+sGVNMs2apX6d/rf5oq/3S6tCyBTgCjgFY0EDEIKKWepO4v3wM+kjy/Ve9iU92Ui5GeWbGR6ceFKY6VP/OKfQ==";
+        url = "https://registry.npmjs.org/openapi-framework/-/openapi-framework-9.3.1.tgz";
+        sha512 = "cnDQQSHNhwS4jn5IE1gTO4mMTolbPbMf3EzVCMNmEcN09IKGQYmtiVSxxL+uGFiHHlpPfOTSsWrvTCiwbhRtyA==";
       };
     };
-    "openapi-jsonschema-parameters-1.2.0" = {
+    "openapi-jsonschema-parameters-8.0.0" = {
       name = "openapi-jsonschema-parameters";
       packageName = "openapi-jsonschema-parameters";
-      version = "1.2.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-jsonschema-parameters/-/openapi-jsonschema-parameters-1.2.0.tgz";
-        sha512 = "i2vBBFiRbOwYSvt5OG9hayJ7WUe/nl9Y151Ki1QtHb8M0zdYs2wkDhywVJnapq4/gPlrD1vmSVsYDrAjcBRJTQ==";
+        url = "https://registry.npmjs.org/openapi-jsonschema-parameters/-/openapi-jsonschema-parameters-8.0.0.tgz";
+        sha512 = "yBBShgxPyo1M33q6RHNAvhTH6AydMDyDl7e89YUA/VkAf1wrU2HO/7Nok65R0vGbZFF43yml4i8sIak3GGnqVA==";
       };
     };
-    "openapi-jsonschema-parameters-7.2.3" = {
+    "openapi-jsonschema-parameters-9.3.1" = {
       name = "openapi-jsonschema-parameters";
       packageName = "openapi-jsonschema-parameters";
-      version = "7.2.3";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-jsonschema-parameters/-/openapi-jsonschema-parameters-7.2.3.tgz";
-        sha512 = "hnhuSbyB0gwA2KrDmMve0A+XC3rqhiQwlvOpZ+kGDz9nWqgLgFJA582LpA4V1W+nI3WruS0nEkAvfG8EHKD+qQ==";
+        url = "https://registry.npmjs.org/openapi-jsonschema-parameters/-/openapi-jsonschema-parameters-9.3.1.tgz";
+        sha512 = "WeP/7nh4VAZFhtf5+FbA2HQQPD/a13+xf8uCd3QqpynSzBmcdkstb/kg8Uk4Hmqh5WlNkTGpxnjMxqSw6sHcWw==";
       };
     };
-    "openapi-request-coercer-2.4.0" = {
+    "openapi-request-coercer-8.0.0" = {
       name = "openapi-request-coercer";
       packageName = "openapi-request-coercer";
-      version = "2.4.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-request-coercer/-/openapi-request-coercer-2.4.0.tgz";
-        sha512 = "UFRzW7C7Q31FUOFHEMYNeSuEmETH7KGlsMgMJanv0RxXkACyzKpKANPfM3oiMubQENPya3Ie9ZIq5HLvZEy/eQ==";
+        url = "https://registry.npmjs.org/openapi-request-coercer/-/openapi-request-coercer-8.0.0.tgz";
+        sha512 = "CTWZJT6rAPiLO7kvBpN9CJ7TXbCTlZzE7Z/Id/gegK/5FlxYIoB+ybx4tYC4IwJEjfm/lxY7Xv2CRp6RLJfKPw==";
       };
     };
-    "openapi-request-coercer-7.5.0" = {
+    "openapi-request-coercer-9.3.1" = {
       name = "openapi-request-coercer";
       packageName = "openapi-request-coercer";
-      version = "7.5.0";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-request-coercer/-/openapi-request-coercer-7.5.0.tgz";
-        sha512 = "wvrh3xSEpmgKaHiAnVhPxL6Yp9IXW+NEI192z6X5RiU6xe+jszn6A3v8vJcceyNsvDBA4tkm4I3mFndDlhc6Zw==";
+        url = "https://registry.npmjs.org/openapi-request-coercer/-/openapi-request-coercer-9.3.1.tgz";
+        sha512 = "4rIT/3H5k/zVSXSbxnLQvmHw4BXyCv4ocPjweybDxlVN6ryk+eIaMWiJzFoOf7RI86w++742HOECyzaLoBHftQ==";
       };
     };
-    "openapi-request-validator-4.2.0" = {
+    "openapi-request-validator-8.0.0" = {
       name = "openapi-request-validator";
       packageName = "openapi-request-validator";
-      version = "4.2.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-request-validator/-/openapi-request-validator-4.2.0.tgz";
-        sha512 = "ukdX4T8heEI2GudiqDkk8hwfZhZP7zAz8zwngTyHtI0ZRUuU76+Zix8LVfrvSTZ2RpsPClKmYU2kDU4YZqdRHg==";
+        url = "https://registry.npmjs.org/openapi-request-validator/-/openapi-request-validator-8.0.0.tgz";
+        sha512 = "7gqNp4MvYu+pbdbq8Pw0qMsKqlhWQeYdKCHiu1OeOgBG8YkjlNGGeTuX028TsBEB/jGw7PgMCggaHuMl/W3bmQ==";
       };
     };
-    "openapi-request-validator-7.4.0" = {
+    "openapi-request-validator-9.3.1" = {
       name = "openapi-request-validator";
       packageName = "openapi-request-validator";
-      version = "7.4.0";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-request-validator/-/openapi-request-validator-7.4.0.tgz";
-        sha512 = "0rnslY82Btw5nM6rUEuXkvupav4ujvP+e9WziZvcMrE+VZ6IxRGDP8F7w0XmtPBwMS2nJGgt/J7BnRXAFTx5tw==";
+        url = "https://registry.npmjs.org/openapi-request-validator/-/openapi-request-validator-9.3.1.tgz";
+        sha512 = "YhX942jTNWH3V/C+ysYcgchyjulT5ZJ1l0c9++isSnF0SKyEiIA+uUiSyAE+pKTc+Oel3ad8mXiy6rFFHoIKaQ==";
       };
     };
-    "openapi-response-validator-4.0.0" = {
+    "openapi-response-validator-8.0.0" = {
       name = "openapi-response-validator";
       packageName = "openapi-response-validator";
-      version = "4.0.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-response-validator/-/openapi-response-validator-4.0.0.tgz";
-        sha512 = "bIG8bpHT/vE+Dtz4aVyfQnweXtUdvxvJf5/D6Uu98UGf3T42Ez940ctwnlmDCQxTPqdu0yLFbMoiNf/A3jYCIg==";
+        url = "https://registry.npmjs.org/openapi-response-validator/-/openapi-response-validator-8.0.0.tgz";
+        sha512 = "h41hcEIgT7ldowLafcWlaE2m3+ss9IgRRrBfEzTtdBab2SyefYeXBV5keicL/muC1msmhT2p2rftjQnvfQN2jA==";
       };
     };
-    "openapi-response-validator-7.4.0" = {
+    "openapi-response-validator-9.3.1" = {
       name = "openapi-response-validator";
       packageName = "openapi-response-validator";
-      version = "7.4.0";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-response-validator/-/openapi-response-validator-7.4.0.tgz";
-        sha512 = "Su8jA45PhegUgJnEAT15DYt2spPJgvjyTtXqg+Lw5AtGePfcQskV6ACEzsL0XPoAXIFf09Vx6sBor9pek+tl+Q==";
+        url = "https://registry.npmjs.org/openapi-response-validator/-/openapi-response-validator-9.3.1.tgz";
+        sha512 = "2AOzHAbrwdj5DNL3u+BadhfmL3mlc3mmCv6cSAsEjoMncpOOVd95JyMf0j0XUyJigJ8/ILxnhETfg35vt1pGSQ==";
       };
     };
     "openapi-sampler-1.2.1" = {
@@ -48361,40 +48955,40 @@ let
         sha512 = "mHrYmyvcLD0qrfqPkPRBAL2z16hGT2rW0d0B7nklfoTcc3pmkJLkSZlKSeFgerUM41E5c7jlxf0Y19xrM7mWQQ==";
       };
     };
-    "openapi-schema-validator-3.0.3" = {
+    "openapi-schema-validator-8.0.0" = {
       name = "openapi-schema-validator";
       packageName = "openapi-schema-validator";
-      version = "3.0.3";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-schema-validator/-/openapi-schema-validator-3.0.3.tgz";
-        sha512 = "KKpeNEvAmpy6B2JCfyrM4yWjL6vggDCVbBoR8Yfkj0Jltc6PCW+dBbcg+1yrTCuDv80qBQJ6w0ejA71DlOFegA==";
+        url = "https://registry.npmjs.org/openapi-schema-validator/-/openapi-schema-validator-8.0.0.tgz";
+        sha512 = "cxacCVE/pIhlfzDPjhMREEVgWsFFUxU/+bKU258LKDmgXcdbbajtWtRT63VarXPnQ0sS4Bhl3V4ZKWxdJMiOXA==";
       };
     };
-    "openapi-schema-validator-7.2.3" = {
+    "openapi-schema-validator-9.3.1" = {
       name = "openapi-schema-validator";
       packageName = "openapi-schema-validator";
-      version = "7.2.3";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-schema-validator/-/openapi-schema-validator-7.2.3.tgz";
-        sha512 = "XT8NM5e/zBBa/cydTS1IeYkCPzJp9oixvt9Y1lEx+2gsCTOooNxw9x/KEivtWMSokne7X1aR+VtsYHQtNNOSyA==";
+        url = "https://registry.npmjs.org/openapi-schema-validator/-/openapi-schema-validator-9.3.1.tgz";
+        sha512 = "5wpFKMoEbUcjiqo16jIen3Cb2+oApSnYZpWn8WQdRO2q/dNQZZl8Pz6ESwCriiyU5AK4i5ZI6+7O3bHQr6+6+g==";
       };
     };
-    "openapi-security-handler-2.0.4" = {
+    "openapi-security-handler-8.0.0" = {
       name = "openapi-security-handler";
       packageName = "openapi-security-handler";
-      version = "2.0.4";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-security-handler/-/openapi-security-handler-2.0.4.tgz";
-        sha512 = "blz/UftEqYQLAByuEVITePUI9hV5Rd91CEK8yrsKDUaf3zk6cmIMafJ2qvagHqjXRRtL7fOqvsSKIeFrai+HfQ==";
+        url = "https://registry.npmjs.org/openapi-security-handler/-/openapi-security-handler-8.0.0.tgz";
+        sha512 = "XWD15AQSZA3OQFS1gqupC9KoxOuUacyG8PUEna91sihPvZdO5lVcAfqHkJ1tqOKcn5k8Y8EsSoCwlr0d5njCaw==";
       };
     };
-    "openapi-security-handler-7.2.3" = {
+    "openapi-security-handler-9.3.1" = {
       name = "openapi-security-handler";
       packageName = "openapi-security-handler";
-      version = "7.2.3";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-security-handler/-/openapi-security-handler-7.2.3.tgz";
-        sha512 = "6wC2MXUv/FOy6uK6kkvPx1Pmh4WI3rpj7fsA1jwKCIPMwVcaJQA7/4Cfw3VWMNF0mVz7Nlxt9/aiziXHSOfiLg==";
+        url = "https://registry.npmjs.org/openapi-security-handler/-/openapi-security-handler-9.3.1.tgz";
+        sha512 = "q9rzMCwo3hia/56eBVkCUURQXZBlP/2DzplVd9Gvi3fgCXrgjnp+eY0W9EcmTJU5unb8rOuMExKsEI2cdEziVg==";
       };
     };
     "openapi-to-graphql-2.2.5" = {
@@ -48406,40 +49000,40 @@ let
         sha512 = "HlCCs/D7wMtraNZVYR8fgqv2Fr4afWgWKVf38uwwMEdhTuVHadn+1ILYfmZV6AdejFw7ViQpjNGVRcdrN2wzFg==";
       };
     };
-    "openapi-types-1.3.4" = {
+    "openapi-types-7.2.3" = {
       name = "openapi-types";
       packageName = "openapi-types";
-      version = "1.3.4";
+      version = "7.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-types/-/openapi-types-1.3.4.tgz";
-        sha512 = "h8rADpW3k/wepLdERKF0VKMAPdoFYNQCLGPmc/f8sgQ2dxUy+7sY4WAX2XDUDjhKTjbJVbxxofLkzy7f1/tE4g==";
+        url = "https://registry.npmjs.org/openapi-types/-/openapi-types-7.2.3.tgz";
+        sha512 = "olbaNxz12R27+mTyJ/ZAFEfUruauHH27AkeQHDHRq5AF0LdNkK1SSV7EourXQDK+4aX7dv2HtyirAGK06WMAsA==";
       };
     };
-    "openapi-types-1.3.5" = {
+    "openapi-types-8.0.0" = {
       name = "openapi-types";
       packageName = "openapi-types";
-      version = "1.3.5";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-types/-/openapi-types-1.3.5.tgz";
-        sha512 = "11oi4zYorsgvg5yBarZplAqbpev5HkuVNPlZaPTknPDzAynq+lnJdXAmruGWP0s+dNYZS7bjM+xrTpJw7184Fg==";
+        url = "https://registry.npmjs.org/openapi-types/-/openapi-types-8.0.0.tgz";
+        sha512 = "dcHYyCDOAy4QQTrur5Sn1L3lPVspB7rd04Rw/Q7AsMvfV797IiWgmKziFCbq8VhnBoREU/SPPSBDxtK9Biwa1g==";
       };
     };
-    "openapi-types-7.0.1" = {
+    "openapi-types-9.3.0" = {
       name = "openapi-types";
       packageName = "openapi-types";
-      version = "7.0.1";
+      version = "9.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-types/-/openapi-types-7.0.1.tgz";
-        sha512 = "6pi4/Fw+JIW1HHda2Ij7LRJ5QJ8f6YzaXnsRA6m44BJz8nLq/j5gVFzPBKJo+uOFhAeHqZC/3uzhTpYPga3Q/A==";
+        url = "https://registry.npmjs.org/openapi-types/-/openapi-types-9.3.0.tgz";
+        sha512 = "sR23YjmuwDSMsQVZDHbV9mPgi0RyniQlqR0AQxTC2/F3cpSjRFMH3CFPjoWvNqhC4OxPkDYNb2l8Mc1Me6D/KQ==";
       };
     };
-    "openapi-types-7.2.3" = {
+    "openapi-types-9.3.1" = {
       name = "openapi-types";
       packageName = "openapi-types";
-      version = "7.2.3";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-types/-/openapi-types-7.2.3.tgz";
-        sha512 = "olbaNxz12R27+mTyJ/ZAFEfUruauHH27AkeQHDHRq5AF0LdNkK1SSV7EourXQDK+4aX7dv2HtyirAGK06WMAsA==";
+        url = "https://registry.npmjs.org/openapi-types/-/openapi-types-9.3.1.tgz";
+        sha512 = "/Yvsd2D7miYB4HLJ3hOOS0+vnowQpaT75FsHzr/y5M9P4q9bwa7RcbW2YdH6KZBn8ceLbKGnHxMZ1CHliGHUFw==";
       };
     };
     "openapi3-ts-2.0.2" = {
@@ -48451,15 +49045,6 @@ let
         sha512 = "TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==";
       };
     };
-    "opencollective-1.0.3" = {
-      name = "opencollective";
-      packageName = "opencollective";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz";
-        sha1 = "aee6372bc28144583690c3ca8daecfc120dd0ef1";
-      };
-    };
     "opencollective-postinstall-2.0.3" = {
       name = "opencollective-postinstall";
       packageName = "opencollective-postinstall";
@@ -48523,15 +49108,6 @@ let
         sha1 = "b6d99e7399f78d65c3baaffef1fb288e9b85243a";
       };
     };
-    "opn-4.0.2" = {
-      name = "opn";
-      packageName = "opn";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz";
-        sha1 = "7abc22e644dff63b0a96d5ab7f2790c0f01abc95";
-      };
-    };
     "opn-5.3.0" = {
       name = "opn";
       packageName = "opn";
@@ -49468,15 +50044,6 @@ let
         sha1 = "5860587a944873a6b7e6d26e8e51ffb22315bf17";
       };
     };
-    "packet-reader-1.0.0" = {
-      name = "packet-reader";
-      packageName = "packet-reader";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz";
-        sha512 = "HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==";
-      };
-    };
     "packet-stream-2.0.6" = {
       name = "packet-stream";
       packageName = "packet-stream";
@@ -49549,6 +50116,15 @@ let
         sha512 = "byws4+Ap+z8n/lLoZ8miW0WqaYkH/3DMmggdPmfrbYLLmSGkJEBYDnUMICX6941h1/j5KN6EC7l/MTSKaWg7/g==";
       };
     };
+    "paid-services-3.12.2" = {
+      name = "paid-services";
+      packageName = "paid-services";
+      version = "3.12.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/paid-services/-/paid-services-3.12.2.tgz";
+        sha512 = "1Eg1uF7Jil8w2S8Fx1vFnqhDrN4DznNunZMah3LKynsaQGDmYmBX4ryyQZshoXv8gAQ8YaqFSTdw+wipsym3lQ==";
+      };
+    };
     "pako-0.2.9" = {
       name = "pako";
       packageName = "pako";
@@ -49630,6 +50206,15 @@ let
         sha512 = "uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==";
       };
     };
+    "parent-require-1.0.0" = {
+      name = "parent-require";
+      packageName = "parent-require";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parent-require/-/parent-require-1.0.0.tgz";
+        sha1 = "746a167638083a860b0eef6732cb27ed46c32977";
+      };
+    };
     "parents-1.0.1" = {
       name = "parents";
       packageName = "parents";
@@ -50656,69 +51241,6 @@ let
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     };
-    "pg-8.3.3" = {
-      name = "pg";
-      packageName = "pg";
-      version = "8.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pg/-/pg-8.3.3.tgz";
-        sha512 = "wmUyoQM/Xzmo62wgOdQAn5tl7u+IA1ZYK7qbuppi+3E+Gj4hlUxVHjInulieWrd0SfHi/ADriTb5ILJ/lsJrSg==";
-      };
-    };
-    "pg-connection-string-2.5.0" = {
-      name = "pg-connection-string";
-      packageName = "pg-connection-string";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz";
-        sha512 = "r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==";
-      };
-    };
-    "pg-int8-1.0.1" = {
-      name = "pg-int8";
-      packageName = "pg-int8";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz";
-        sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==";
-      };
-    };
-    "pg-pool-3.5.1" = {
-      name = "pg-pool";
-      packageName = "pg-pool";
-      version = "3.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.1.tgz";
-        sha512 = "6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==";
-      };
-    };
-    "pg-protocol-1.5.0" = {
-      name = "pg-protocol";
-      packageName = "pg-protocol";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz";
-        sha512 = "muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==";
-      };
-    };
-    "pg-types-2.2.0" = {
-      name = "pg-types";
-      packageName = "pg-types";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz";
-        sha512 = "qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==";
-      };
-    };
-    "pgpass-1.0.5" = {
-      name = "pgpass";
-      packageName = "pgpass";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz";
-        sha512 = "FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==";
-      };
-    };
     "phin-2.9.3" = {
       name = "phin";
       packageName = "phin";
@@ -50980,6 +51502,15 @@ let
         sha1 = "378e56d6fd13e88bfb6f4a25df7a83faabddba5b";
       };
     };
+    "pkg-dir-1.0.0" = {
+      name = "pkg-dir";
+      packageName = "pkg-dir";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz";
+        sha1 = "7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4";
+      };
+    };
     "pkg-dir-3.0.0" = {
       name = "pkg-dir";
       packageName = "pkg-dir";
@@ -51494,13 +52025,13 @@ let
         sha512 = "RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==";
       };
     };
-    "postcss-discard-comments-5.1.0" = {
+    "postcss-discard-comments-5.1.1" = {
       name = "postcss-discard-comments";
       packageName = "postcss-discard-comments";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.0.tgz";
-        sha512 = "L0IKF4jAshRyn03SkEO6ar/Ipz2oLywVbg2THf2EqqdNkBwmVMxuTR/RoAltOw4piiaLt3gCAdrbAqmTBInmhg==";
+        url = "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz";
+        sha512 = "5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==";
       };
     };
     "postcss-discard-duplicates-4.0.2" = {
@@ -51530,13 +52061,13 @@ let
         sha512 = "B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==";
       };
     };
-    "postcss-discard-empty-5.1.0" = {
+    "postcss-discard-empty-5.1.1" = {
       name = "postcss-discard-empty";
       packageName = "postcss-discard-empty";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.0.tgz";
-        sha512 = "782T/buGgb3HOuHOJAHpdyKzAAKsv/BxWqsutnZ+QsiHEcDkY7v+6WWdturuBiSal6XMOO1p1aJvwXdqLD5vhA==";
+        url = "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz";
+        sha512 = "zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==";
       };
     };
     "postcss-discard-overridden-4.0.1" = {
@@ -51638,13 +52169,13 @@ let
         sha512 = "alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==";
       };
     };
-    "postcss-merge-longhand-5.1.0" = {
+    "postcss-merge-longhand-5.1.1" = {
       name = "postcss-merge-longhand";
       packageName = "postcss-merge-longhand";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.0.tgz";
-        sha512 = "Gr46srN2tsLD8fudKYoHO56RG0BLQ2nsBRnSZGY04eNBPwTeWa9KeHrbL3tOLAHyB2aliikycPH2TMJG1U+W6g==";
+        url = "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.1.tgz";
+        sha512 = "JLtqAY1LvxiD2aej6hcAk/TkXvEPM+Gs1aOkOIZub2MDEiB5NMtpMe/Ir2seIMMM245bsuHggzIhQBv6qFBm4A==";
       };
     };
     "postcss-merge-rules-4.0.3" = {
@@ -51710,13 +52241,13 @@ let
         sha512 = "G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==";
       };
     };
-    "postcss-minify-params-5.1.0" = {
+    "postcss-minify-params-5.1.1" = {
       name = "postcss-minify-params";
       packageName = "postcss-minify-params";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.0.tgz";
-        sha512 = "q67dcts4Hct6x8+JmhBgctHkbvUsqGIg2IItenjE63iZXMbhjr7AlVZkNnKtIGt/1Wsv7p/7YzeSII6Q+KPXRg==";
+        url = "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.1.tgz";
+        sha512 = "WCpr+J9Uz8XzMpAfg3UL8z5rde6MifBbh5L8bn8S2F5hq/YDJJzASYCnCHvAB4Fqb94ys8v95ULQkW2EhCFvNg==";
       };
     };
     "postcss-minify-selectors-4.0.2" = {
@@ -51989,13 +52520,13 @@ let
         sha512 = "tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==";
       };
     };
-    "postcss-normalize-whitespace-5.1.0" = {
+    "postcss-normalize-whitespace-5.1.1" = {
       name = "postcss-normalize-whitespace";
       packageName = "postcss-normalize-whitespace";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.0.tgz";
-        sha512 = "7O1FanKaJkpWFyCghFzIkLhehujV/frGkdofGLwhg5upbLyGsSfiTcZAdSzoPsSUgyPCkBkNMeWR8yVgPdQybg==";
+        url = "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz";
+        sha512 = "83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==";
       };
     };
     "postcss-ordered-values-4.1.2" = {
@@ -52169,13 +52700,13 @@ let
         sha512 = "+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==";
       };
     };
-    "postcss-unique-selectors-5.1.0" = {
+    "postcss-unique-selectors-5.1.1" = {
       name = "postcss-unique-selectors";
       packageName = "postcss-unique-selectors";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.0.tgz";
-        sha512 = "LmUhgGobtpeVJJHuogzjLRwJlN7VH+BL5c9GKMVJSS/ejoyePZkXvNsYUtk//F6vKOGK86gfRS0xH7fXQSDtvA==";
+        url = "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz";
+        sha512 = "5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==";
       };
     };
     "postcss-value-parser-3.3.1" = {
@@ -52196,42 +52727,6 @@ let
         sha512 = "1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==";
       };
     };
-    "postgres-array-2.0.0" = {
-      name = "postgres-array";
-      packageName = "postgres-array";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz";
-        sha512 = "VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==";
-      };
-    };
-    "postgres-bytea-1.0.0" = {
-      name = "postgres-bytea";
-      packageName = "postgres-bytea";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz";
-        sha1 = "027b533c0aa890e26d172d47cf9ccecc521acd35";
-      };
-    };
-    "postgres-date-1.0.7" = {
-      name = "postgres-date";
-      packageName = "postgres-date";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz";
-        sha512 = "suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==";
-      };
-    };
-    "postgres-interval-1.2.0" = {
-      name = "postgres-interval";
-      packageName = "postgres-interval";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz";
-        sha512 = "9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==";
-      };
-    };
     "posthtml-0.11.6" = {
       name = "posthtml";
       packageName = "posthtml";
@@ -52700,6 +53195,15 @@ let
         sha512 = "7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==";
       };
     };
+    "prettier-2.4.1" = {
+      name = "prettier";
+      packageName = "prettier";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz";
+        sha512 = "9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==";
+      };
+    };
     "prettier-2.5.1" = {
       name = "prettier";
       packageName = "prettier";
@@ -52727,6 +53231,15 @@ let
         sha512 = "2UzApPuxi2yRoyMlXMazgR6UcH9DKJhNgCviIwY3ixZ9THWSSrUww5vkiZ3C48WvpFl1M1y/oU63deSy1puWEA==";
       };
     };
+    "prettier-linter-helpers-1.0.0" = {
+      name = "prettier-linter-helpers";
+      packageName = "prettier-linter-helpers";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz";
+        sha512 = "GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==";
+      };
+    };
     "prettier-plugin-svelte-2.6.0" = {
       name = "prettier-plugin-svelte";
       packageName = "prettier-plugin-svelte";
@@ -54446,22 +54959,13 @@ let
         sha512 = "2cP8mBoqnu5gzAVpbZ0fRaobBWZM8GEUF4I1F6WbgHrKV/rz7SX8PG2wMymZgD0wo0UBlg2FBPNxlF/xlqW6+w==";
       };
     };
-    "puppeteer-13.4.1" = {
-      name = "puppeteer";
-      packageName = "puppeteer";
-      version = "13.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-13.4.1.tgz";
-        sha512 = "2arcYPEGvLV9HvOw01Zv1b1IAXrMWHqsFJn0Hn00qe9HtCmaF0b8FlrbdLjCIbkaFc6icH5+GqcG8R5KxlJSRg==";
-      };
-    };
-    "puppeteer-13.5.0" = {
+    "puppeteer-13.5.1" = {
       name = "puppeteer";
       packageName = "puppeteer";
-      version = "13.5.0";
+      version = "13.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-13.5.0.tgz";
-        sha512 = "raPr2YZ3RZLboGwt7jJgusJTBRDaVEUiPOSOWWFLV1oj07xqT5UqqbjmNXFXlMlkhF/NwmcEInW64VhvyllVdw==";
+        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-13.5.1.tgz";
+        sha512 = "wWxO//vMiqxlvuzHMAJ0pRJeDHvDtM7DQpW1GKdStz2nZo2G42kOXBDgkmQ+zqjwMCFofKGesBeeKxIkX9BO+w==";
       };
     };
     "purest-3.1.0" = {
@@ -54518,13 +55022,13 @@ let
         sha1 = "15931d3cd967ade52206f523aa7331aef7d43af7";
       };
     };
-    "pyright-1.1.227" = {
+    "pyright-1.1.228" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.227";
+      version = "1.1.228";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.227.tgz";
-        sha512 = "/nRQqbTpHraNiUZ0tpQfWYyqOV4nByx/rRHZp+wFjRv6v3Vfg1rIa973y9LsfH/vGkETbZMvRanb8VSlWp9Tlg==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.228.tgz";
+        sha512 = "Q/LnDoZK6bxc7u60kFjFwi9X3s79kLaGd/g23T0c6T1CUdrRxDyRTvNRLjLPSLaX8EuPIdcXuPXAzXgSjBz/Mw==";
       };
     };
     "q-0.9.7" = {
@@ -55391,22 +55895,13 @@ let
         sha512 = "dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==";
       };
     };
-    "react-devtools-core-4.23.0" = {
+    "react-devtools-core-4.24.0" = {
       name = "react-devtools-core";
       packageName = "react-devtools-core";
-      version = "4.23.0";
+      version = "4.24.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.23.0.tgz";
-        sha512 = "KkzneT1LczFtebbTJlvRphIRvzuHLhI9ghfrseVv9ktBs+l2cXy8Svw5U16lzQnwU9okVEcURmGPgH79WWrlaw==";
-      };
-    };
-    "react-dom-16.14.0" = {
-      name = "react-dom";
-      packageName = "react-dom";
-      version = "16.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz";
-        sha512 = "1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==";
+        url = "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.24.0.tgz";
+        sha512 = "Rw7FzYOOzcfyUPaAm9P3g0tFdGqGq2LLiAI+wjYcp6CsF3DeeMrRS3HZAho4s273C29G/DJhx0e8BpRE/QZNGg==";
       };
     };
     "react-dom-17.0.2" = {
@@ -55706,13 +56201,13 @@ let
         sha512 = "aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==";
       };
     };
-    "read-package-json-4.1.1" = {
+    "read-package-json-4.1.2" = {
       name = "read-package-json";
       packageName = "read-package-json";
-      version = "4.1.1";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.1.tgz";
-        sha512 = "P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw==";
+        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.2.tgz";
+        sha512 = "Dqer4pqzamDE2O4M55xp1qZMuLPqi4ldk2ya648FOMHRjwMzFhuxVrG04wd0c38IsvkVdr3vgHI6z+QTPdAjrQ==";
       };
     };
     "read-package-json-fast-2.0.3" = {
@@ -56318,15 +56813,6 @@ let
         sha512 = "vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==";
       };
     };
-    "regenerator-runtime-0.10.5" = {
-      name = "regenerator-runtime";
-      packageName = "regenerator-runtime";
-      version = "0.10.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz";
-        sha1 = "336c3efc1220adcedda2c9fab67b5a7955a33658";
-      };
-    };
     "regenerator-runtime-0.11.1" = {
       name = "regenerator-runtime";
       packageName = "regenerator-runtime";
@@ -58289,6 +58775,15 @@ let
         sha512 = "CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==";
       };
     };
+    "roboto-fontface-0.10.0" = {
+      name = "roboto-fontface";
+      packageName = "roboto-fontface";
+      version = "0.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/roboto-fontface/-/roboto-fontface-0.10.0.tgz";
+        sha512 = "OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g==";
+      };
+    };
     "robust-predicates-3.0.1" = {
       name = "robust-predicates";
       packageName = "robust-predicates";
@@ -58631,13 +59126,13 @@ let
         sha512 = "hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==";
       };
     };
-    "rxjs-7.5.4" = {
+    "rxjs-7.5.5" = {
       name = "rxjs";
       packageName = "rxjs";
-      version = "7.5.4";
+      version = "7.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-7.5.4.tgz";
-        sha512 = "h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ==";
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz";
+        sha512 = "sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==";
       };
     };
     "s3-stream-upload-2.0.2" = {
@@ -58829,6 +59324,24 @@ let
         sha1 = "478be1429500fcfaa780be88b3343ced7d2a9182";
       };
     };
+    "saslprep-1.0.3" = {
+      name = "saslprep";
+      packageName = "saslprep";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz";
+        sha512 = "/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==";
+      };
+    };
+    "sass-1.32.12" = {
+      name = "sass";
+      packageName = "sass";
+      version = "1.32.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sass/-/sass-1.32.12.tgz";
+        sha512 = "zmXn03k3hN0KaiVTjohgkg98C3UowhL1/VSGdj4/VAAiMKGQOE80PFPxFP2Kyq0OUskPKcY5lImkhBKEHlypJA==";
+      };
+    };
     "sass-1.49.9" = {
       name = "sass";
       packageName = "sass";
@@ -58838,6 +59351,15 @@ let
         sha512 = "YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==";
       };
     };
+    "sass-loader-10.2.0" = {
+      name = "sass-loader";
+      packageName = "sass-loader";
+      version = "10.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.0.tgz";
+        sha512 = "kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==";
+      };
+    };
     "sax-0.5.8" = {
       name = "sax";
       packageName = "sax";
@@ -58901,15 +59423,6 @@ let
         sha512 = "agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==";
       };
     };
-    "scheduler-0.19.1" = {
-      name = "scheduler";
-      packageName = "scheduler";
-      version = "0.19.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz";
-        sha512 = "n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==";
-      };
-    };
     "scheduler-0.20.2" = {
       name = "scheduler";
       packageName = "scheduler";
@@ -58928,6 +59441,15 @@ let
         sha512 = "i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==";
       };
     };
+    "schema-utils-2.7.0" = {
+      name = "schema-utils";
+      packageName = "schema-utils";
+      version = "2.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz";
+        sha512 = "0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==";
+      };
+    };
     "schema-utils-2.7.1" = {
       name = "schema-utils";
       packageName = "schema-utils";
@@ -59135,15 +59657,6 @@ let
         sha1 = "b9848f25d6cf36333073ec9ef8856d42f1233e52";
       };
     };
-    "semver-4.3.2" = {
-      name = "semver";
-      packageName = "semver";
-      version = "4.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz";
-        sha1 = "c7a07158a80bedd052355b770d82d6640f803be7";
-      };
-    };
     "semver-4.3.6" = {
       name = "semver";
       packageName = "semver";
@@ -60467,6 +60980,15 @@ let
         sha512 = "hLdVp5vqzrEEJSAQKSmURvBVImQj9oVbp7zBP6JLEmSenUGhc6kl9nrSXUj14JHiQcnKF80eRAWPsdUcV6YXFw==";
       };
     };
+    "smoothscroll-polyfill-0.4.4" = {
+      name = "smoothscroll-polyfill";
+      packageName = "smoothscroll-polyfill";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz";
+        sha512 = "TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==";
+      };
+    };
     "snabbdom-0.7.0" = {
       name = "snabbdom";
       packageName = "snabbdom";
@@ -60602,6 +61124,15 @@ let
         sha512 = "JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==";
       };
     };
+    "socket.io-4.3.1" = {
+      name = "socket.io";
+      packageName = "socket.io";
+      version = "4.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-4.3.1.tgz";
+        sha512 = "HC5w5Olv2XZ0XJ4gOLGzzHEuOCfj3G0SmoW3jLHYYh34EVsIr3EkW9h6kgfW+K3TFEcmYy8JcPWe//KUkBp5jA==";
+      };
+    };
     "socket.io-4.4.1" = {
       name = "socket.io";
       packageName = "socket.io";
@@ -60683,6 +61214,15 @@ let
         sha512 = "M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==";
       };
     };
+    "socket.io-client-4.3.2" = {
+      name = "socket.io-client";
+      packageName = "socket.io-client";
+      version = "4.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.3.2.tgz";
+        sha512 = "2B9LqSunN60yV8F7S84CCEEcgbYNfrn7ejIInZtLZ7ppWtiX8rGZAjvdCvbnC8bqo/9RlCNOUsORLyskxSFP1g==";
+      };
+    };
     "socket.io-parser-2.1.2" = {
       name = "socket.io-parser";
       packageName = "socket.io-parser";
@@ -60737,6 +61277,15 @@ let
         sha512 = "t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==";
       };
     };
+    "socket.io-parser-4.1.2" = {
+      name = "socket.io-parser";
+      packageName = "socket.io-parser";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.1.2.tgz";
+        sha512 = "j3kk71QLJuyQ/hh5F/L2t1goqzdTL0gvDzuhTuNSwihfuFUrcSji0qFZmJJPtG6Rmug153eOPsUizeirf1IIog==";
+      };
+    };
     "sockjs-0.3.20" = {
       name = "sockjs";
       packageName = "sockjs";
@@ -61232,6 +61781,15 @@ let
         sha512 = "0tF3AGSD1ppQeuffsLDIOWlKUd3lS92tFxcsrh5Pe3ZphhnoK+oXIBTzOAThZCiuINZLvpiLH/1VS1/ANEJVig==";
       };
     };
+    "spark-md5-3.0.2" = {
+      name = "spark-md5";
+      packageName = "spark-md5";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz";
+        sha512 = "wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==";
+      };
+    };
     "sparkles-1.0.1" = {
       name = "sparkles";
       packageName = "sparkles";
@@ -62060,13 +62618,13 @@ let
         sha512 = "zZ/Q1M+9ZWlrchgh4QauD/MEUFa6eC6H6FYq6T8Of/y82JqsQBLwN6YlzbO09evE7Rx6x0oliXDCnQSjwGwQRA==";
       };
     };
-    "sscaff-1.2.221" = {
+    "sscaff-1.2.225" = {
       name = "sscaff";
       packageName = "sscaff";
-      version = "1.2.221";
+      version = "1.2.225";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.221.tgz";
-        sha512 = "C3t2CkhHcfJEjWmntW6m/hMHqU9MEaTOiPew4qn+ax+JW0sMvK0Oix/6BTUNFQHsh0Xcvg1WU+EGd/nlUshojw==";
+        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.225.tgz";
+        sha512 = "hpbhRLb5pC9zsEpQgfaAKI+a6/JUIKvEIQ1B2THIMDZZbfUyXZIW5Sn/u1/nhqPbvo2j+aslar8ewqRwI2eWbw==";
       };
     };
     "ssh-config-1.1.6" = {
@@ -62744,13 +63302,13 @@ let
         sha512 = "Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==";
       };
     };
-    "streamx-2.12.3" = {
+    "streamx-2.12.4" = {
       name = "streamx";
       packageName = "streamx";
-      version = "2.12.3";
+      version = "2.12.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/streamx/-/streamx-2.12.3.tgz";
-        sha512 = "im2U3yhz6NoJQzzn6AwBlb+MRuGLxlnXJXqZudQ9RZzsVcq9+MHTPGR5b4Rh23RSLQenqtBaMwemM61w10VcWQ==";
+        url = "https://registry.npmjs.org/streamx/-/streamx-2.12.4.tgz";
+        sha512 = "K3xdIp8YSkvbdI0PrCcP0JkniN8cPCyeKlcZgRFSl1o1xKINCYM93FryvTSOY57x73pz5/AjO5B8b9BYf21wWw==";
       };
     };
     "strftime-0.10.1" = {
@@ -64022,13 +64580,22 @@ let
         sha1 = "e39fae3d581d713682491e1926cd87bf2c209bfb";
       };
     };
-    "swagger-ui-dist-3.34.0" = {
+    "swagger-ui-dist-3.52.5" = {
+      name = "swagger-ui-dist";
+      packageName = "swagger-ui-dist";
+      version = "3.52.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.52.5.tgz";
+        sha512 = "8z18eX8G/jbTXYzyNIaobrnD7PSN7yU/YkSasMmajrXtw0FGS64XjrKn5v37d36qmU3o1xLeuYnktshRr7uIFw==";
+      };
+    };
+    "swagger-ui-dist-4.6.2" = {
       name = "swagger-ui-dist";
       packageName = "swagger-ui-dist";
-      version = "3.34.0";
+      version = "4.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.34.0.tgz";
-        sha512 = "xk5CMbwoQVI53rTq9o/iMojAqXP5NT4/+TMeTP4uXWDIH18pB9AXgO5Olqt0RXuf3jH032DA4DS4qzem6XdXAw==";
+        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.6.2.tgz";
+        sha512 = "BSt+ukOGkGZ2uHV4jyyCAzt60ysyQpGZAAhtIh7AMHT4MH1xXGkoXm2tfr1oRqO1N4IEY6qqNAlmcfMo/dAYuw==";
       };
     };
     "swagger2openapi-7.0.8" = {
@@ -64166,13 +64733,22 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
-    "systeminformation-5.11.6" = {
+    "systeminformation-5.11.7" = {
+      name = "systeminformation";
+      packageName = "systeminformation";
+      version = "5.11.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.7.tgz";
+        sha512 = "MI6HtSoBF2e1pTpRGQC8b5X5QDln8mazQTD3KyFFlLGkk7291kQv+mjeriz30TDVTcWEnEfKPxZwHnZBFYnr6w==";
+      };
+    };
+    "systeminformation-5.11.8" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "5.11.6";
+      version = "5.11.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.6.tgz";
-        sha512 = "7KBXgdnIDxABQ93w+GrPSrK/pup73+fM09VGka4A/+FhgzdlRY0JNGGDFmV8BHnFuzP9zwlI3n64yDbp7emasQ==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.8.tgz";
+        sha512 = "u30rM0KwGKiJof44Ak25WeSh9661NU2GshXpHPpv/zGXvvSGI5eALjpVJ3EYnIroceToWzy9+xkuMfjHIx6OiQ==";
       };
     };
     "sywac-1.3.0" = {
@@ -64725,15 +65301,6 @@ let
         sha512 = "cjdZte66fYkZ65rQ2oJfrdCAkkhJA7YLYk5eGOcGCSGlq0ieZupRdjedSQXYknMPo2IveQL+tPdrxUkERENCFA==";
       };
     };
-    "terser-webpack-plugin-4.2.2" = {
-      name = "terser-webpack-plugin";
-      packageName = "terser-webpack-plugin";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.2.tgz";
-        sha512 = "3qAQpykRTD5DReLu5/cwpsg7EZFzP3Q0Hp2XUWJUw2mpq2jfgOKTZr8IZKKnNieRVVo1UauROTdhbQJZveGKtQ==";
-      };
-    };
     "terser-webpack-plugin-5.3.1" = {
       name = "terser-webpack-plugin";
       packageName = "terser-webpack-plugin";
@@ -64932,6 +65499,15 @@ let
         sha1 = "4ca2fffc02a51290d2744b9e3f557693ca6b627a";
       };
     };
+    "thread-loader-2.1.3" = {
+      name = "thread-loader";
+      packageName = "thread-loader";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz";
+        sha512 = "wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==";
+      };
+    };
     "thread-stream-0.13.2" = {
       name = "thread-stream";
       packageName = "thread-stream";
@@ -65049,15 +65625,6 @@ let
         sha512 = "/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==";
       };
     };
-    "through2-3.0.1" = {
-      name = "through2";
-      packageName = "through2";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz";
-        sha512 = "M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==";
-      };
-    };
     "through2-3.0.2" = {
       name = "through2";
       packageName = "through2";
@@ -66138,13 +66705,13 @@ let
         sha512 = "uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==";
       };
     };
-    "ts-loader-8.0.4" = {
+    "ts-loader-6.2.2" = {
       name = "ts-loader";
       packageName = "ts-loader";
-      version = "8.0.4";
+      version = "6.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-loader/-/ts-loader-8.0.4.tgz";
-        sha512 = "5u8KF1SW8eCUb/Ff7At81e3wznPmT/27fvaGRO9CziVy+6NlPVRvrzSox4OwU0/e6OflOUB32Err4VquysCSAQ==";
+        url = "https://registry.npmjs.org/ts-loader/-/ts-loader-6.2.2.tgz";
+        sha512 = "HDo5kXZCBml3EUPcc7RlZOV/JGlLHwppTLEHb3SHnr5V7NXD4klMEkrhJe5wgRbaWsSXi+Y1SIBN/K9B6zWGWQ==";
       };
     };
     "ts-loader-8.3.0" = {
@@ -66156,6 +66723,15 @@ let
         sha512 = "MgGly4I6cStsJy27ViE32UoqxPTN9Xly4anxxVyaIWR+9BGxboV4EyJBGfR3RePV7Ksjj3rHmPZJeIt+7o4Vag==";
       };
     };
+    "ts-loader-9.2.6" = {
+      name = "ts-loader";
+      packageName = "ts-loader";
+      version = "9.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz";
+        sha512 = "QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==";
+      };
+    };
     "ts-log-2.2.4" = {
       name = "ts-log";
       packageName = "ts-log";
@@ -66174,6 +66750,15 @@ let
         sha512 = "WHXLtFDcIRwoqaiu0elAoZ/AmI+SwwDafnPKjgJmdwJ2gRVO0jMKBt88rV2liT/c6MTsXyuWbGFiHe9MRddWJw==";
       };
     };
+    "ts-node-10.4.0" = {
+      name = "ts-node";
+      packageName = "ts-node";
+      version = "10.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz";
+        sha512 = "g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==";
+      };
+    };
     "ts-node-10.7.0" = {
       name = "ts-node";
       packageName = "ts-node";
@@ -66795,6 +67380,15 @@ let
         sha512 = "B2B+wo5gC7VRAqcFEiUCjS6CJ1vmeYZ7uzY3Jsu6UNStHiF+W0vkhZAmQaj5m9sC2KVrpyHGRzGuhz3M6+n/8A==";
       };
     };
+    "typeface-roboto-1.1.13" = {
+      name = "typeface-roboto";
+      packageName = "typeface-roboto";
+      version = "1.1.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typeface-roboto/-/typeface-roboto-1.1.13.tgz";
+        sha512 = "YXvbd3a1QTREoD+FJoEkl0VQNJoEjewR2H11IjVv4bp6ahuIcw0yyw/3udC4vJkHw3T3cUh85FTg8eWef3pSaw==";
+      };
+    };
     "typeforce-1.18.0" = {
       name = "typeforce";
       packageName = "typeforce";
@@ -66813,6 +67407,15 @@ let
         sha512 = "MdlbWu0HfmgFJf4+xj6eqGYuanV2LJxBYTzLrD0kTV+woQ5dxDD2k8UVVjYnbBGkAagAyxzQevPiFZRWLFHSBw==";
       };
     };
+    "typeorm-0.2.38" = {
+      name = "typeorm";
+      packageName = "typeorm";
+      version = "0.2.38";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typeorm/-/typeorm-0.2.38.tgz";
+        sha512 = "M6Y3KQcAREQcphOVJciywf4mv6+A0I/SeR+lWNjKsjnQ+a3XcMwGYMGL0Jonsx3H0Cqlf/3yYqVki1jIXSK/xg==";
+      };
+    };
     "typescript-2.9.2" = {
       name = "typescript";
       packageName = "typescript";
@@ -66849,22 +67452,22 @@ let
         sha512 = "w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==";
       };
     };
-    "typescript-4.0.3" = {
+    "typescript-4.3.4" = {
       name = "typescript";
       packageName = "typescript";
-      version = "4.0.3";
+      version = "4.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.0.3.tgz";
-        sha512 = "tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.3.4.tgz";
+        sha512 = "uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==";
       };
     };
-    "typescript-4.3.4" = {
+    "typescript-4.4.4" = {
       name = "typescript";
       packageName = "typescript";
-      version = "4.3.4";
+      version = "4.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.3.4.tgz";
-        sha512 = "uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz";
+        sha512 = "DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==";
       };
     };
     "typescript-4.5.5" = {
@@ -67029,13 +67632,13 @@ let
         sha512 = "FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ==";
       };
     };
-    "uglify-js-3.15.2" = {
+    "uglify-js-3.15.3" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.15.2";
+      version = "3.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.2.tgz";
-        sha512 = "peeoTk3hSwYdoc9nrdiEJk+gx1ALCtTjdYuKSXMTDqq7n1W7dHPqWDdSi+BPL0ni2YMeHD7hKUSdbj3TZauY2A==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz";
+        sha512 = "6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==";
       };
     };
     "uglify-js-3.4.10" = {
@@ -67371,13 +67974,13 @@ let
         sha1 = "5e4bda308e4a8a2ae584f9b9a4359a499825cc50";
       };
     };
-    "undici-4.15.0" = {
+    "undici-4.15.1" = {
       name = "undici";
       packageName = "undici";
-      version = "4.15.0";
+      version = "4.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/undici/-/undici-4.15.0.tgz";
-        sha512 = "kHppwh/y49FLEXl/zYCCbGB0D3nrcWNBczNYCsDdNYzWPs80aQgfKic1PVkJEIc2YlR7m0Lf5i559zbr0AA7FQ==";
+        url = "https://registry.npmjs.org/undici/-/undici-4.15.1.tgz";
+        sha512 = "h8LJybhMKD09IyQZoQadNtIR/GmugVhTOVREunJrpV6RStriKBFdSVoFzEzTihwXi/27DIBO+Z0OGF+Mzfi0lA==";
       };
     };
     "unherit-1.1.3" = {
@@ -67470,13 +68073,13 @@ let
         sha1 = "afb10e4ef1eeddc711417bbb652bc885da9d4171";
       };
     };
-    "unified-10.1.1" = {
+    "unified-10.1.2" = {
       name = "unified";
       packageName = "unified";
-      version = "10.1.1";
+      version = "10.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unified/-/unified-10.1.1.tgz";
-        sha512 = "v4ky1+6BN9X3pQrOdkFIPWAaeDsHPE1svRDxq7YpTc2plkIqFMwukfqM+l0ewpP9EfwARlt9pPFAeWYhHm8X9w==";
+        url = "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz";
+        sha512 = "pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==";
       };
     };
     "unified-2.1.4" = {
@@ -68532,15 +69135,6 @@ let
         sha1 = "1505a03a289a48cbd7a434efbaeec5055f5633a9";
       };
     };
-    "url-toolkit-2.2.5" = {
-      name = "url-toolkit";
-      packageName = "url-toolkit";
-      version = "2.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-toolkit/-/url-toolkit-2.2.5.tgz";
-        sha512 = "mtN6xk+Nac+oyJ/PrI7tzfmomRVNFIWKUbG8jdYFt52hxbiReFAXIjYskvu64/dvuW71IcB7lV8l0HvZMac6Jg==";
-      };
-    };
     "url-value-parser-2.1.0" = {
       name = "url-value-parser";
       packageName = "url-value-parser";
@@ -68650,13 +69244,13 @@ let
         sha1 = "8bb871a4741e085c70487ca7acdbd7d6d36029eb";
       };
     };
-    "utf-8-validate-5.0.8" = {
+    "utf-8-validate-5.0.9" = {
       name = "utf-8-validate";
       packageName = "utf-8-validate";
-      version = "5.0.8";
+      version = "5.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.8.tgz";
-        sha512 = "k4dW/Qja1BYDl2qD4tOMB9PFVha/UJtxTc1cXYOe3WwA/2m0Yn4qB7wLMpJyLJ/7DR0XnTut3HsCSzDT4ZvKgA==";
+        url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz";
+        sha512 = "Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==";
       };
     };
     "utf7-1.0.2" = {
@@ -68956,6 +69550,15 @@ let
         sha512 = "brFwqA3FXzilmtnIyJ+CxdkInkY/i4ErvP7uV0DnUVxQcQ55reuHphorpF+tZoVHK2MniZ/VJzI7zJQoc9T9Yw==";
       };
     };
+    "uws-9.148.0" = {
+      name = "uws";
+      packageName = "uws";
+      version = "9.148.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uws/-/uws-9.148.0.tgz";
+        sha512 = "vWt+e8dOdwLM4neb1xIeZuQ7ZUN3l7n0qTKrOUtU1EZrV4BpmrSnsEL30d062/ocqRMGtLpwzVFsLKFgXomA9g==";
+      };
+    };
     "v8-compile-cache-2.3.0" = {
       name = "v8-compile-cache";
       packageName = "v8-compile-cache";
@@ -69856,15 +70459,6 @@ let
         sha1 = "92a800593a38703a8cdb11d8b300ad4be63b3e16";
       };
     };
-    "vinyl-sourcemaps-apply-0.2.1" = {
-      name = "vinyl-sourcemaps-apply";
-      packageName = "vinyl-sourcemaps-apply";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz";
-        sha1 = "ab6549d61d172c2b1b87be5c508d239c8ef87705";
-      };
-    };
     "vizion-2.2.1" = {
       name = "vizion";
       packageName = "vizion";
@@ -70576,6 +71170,24 @@ let
         sha512 = "x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==";
       };
     };
+    "vue-class-component-7.2.6" = {
+      name = "vue-class-component";
+      packageName = "vue-class-component";
+      version = "7.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-class-component/-/vue-class-component-7.2.6.tgz";
+        sha512 = "+eaQXVrAm/LldalI272PpDe3+i4mPis0ORiMYxF6Ae4hyuCh15W8Idet7wPUEs4N4YptgFHGys4UrgNQOMyO6w==";
+      };
+    };
+    "vue-cli-plugin-vuetify-2.4.3" = {
+      name = "vue-cli-plugin-vuetify";
+      packageName = "vue-cli-plugin-vuetify";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-cli-plugin-vuetify/-/vue-cli-plugin-vuetify-2.4.3.tgz";
+        sha512 = "dT9KpH1rXT6UWzBDFLMB69sgrNCoWFcxWiIyDDZ4vikv85JDweMHh2dT5n6QaAt7qsGlvL4IMOopjcyUTiPW9g==";
+      };
+    };
     "vue-codemod-0.0.5" = {
       name = "vue-codemod";
       packageName = "vue-codemod";
@@ -70612,6 +71224,33 @@ let
         sha512 = "qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==";
       };
     };
+    "vue-hot-reload-api-2.3.4" = {
+      name = "vue-hot-reload-api";
+      packageName = "vue-hot-reload-api";
+      version = "2.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz";
+        sha512 = "BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==";
+      };
+    };
+    "vue-loader-15.9.8" = {
+      name = "vue-loader";
+      packageName = "vue-loader";
+      version = "15.9.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz";
+        sha512 = "GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==";
+      };
+    };
+    "vue-loader-v16-16.8.3" = {
+      name = "vue-loader-v16";
+      packageName = "vue-loader-v16";
+      version = "16.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz";
+        sha512 = "7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==";
+      };
+    };
     "vue-onsenui-helper-json-1.0.2" = {
       name = "vue-onsenui-helper-json";
       packageName = "vue-onsenui-helper-json";
@@ -70621,6 +71260,78 @@ let
         sha512 = "ikg8ruE17tIXF9mrVvKoOR3oyM9nk0TcmUHyeBWod5ILEH9DRN0+seX4gwsSbjdxMYlIIvmnCFPQeMdlcJqPJQ==";
       };
     };
+    "vue-property-decorator-9.1.2" = {
+      name = "vue-property-decorator";
+      packageName = "vue-property-decorator";
+      version = "9.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-property-decorator/-/vue-property-decorator-9.1.2.tgz";
+        sha512 = "xYA8MkZynPBGd/w5QFJ2d/NM0z/YeegMqYTphy7NJQXbZcuU6FC6AOdUAcy4SXP+YnkerC6AfH+ldg7PDk9ESQ==";
+      };
+    };
+    "vue-router-3.5.3" = {
+      name = "vue-router";
+      packageName = "vue-router";
+      version = "3.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-router/-/vue-router-3.5.3.tgz";
+        sha512 = "FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg==";
+      };
+    };
+    "vue-style-loader-4.1.3" = {
+      name = "vue-style-loader";
+      packageName = "vue-style-loader";
+      version = "4.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz";
+        sha512 = "sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==";
+      };
+    };
+    "vue-template-compiler-2.6.14" = {
+      name = "vue-template-compiler";
+      packageName = "vue-template-compiler";
+      version = "2.6.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz";
+        sha512 = "ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==";
+      };
+    };
+    "vue-template-es2015-compiler-1.9.1" = {
+      name = "vue-template-es2015-compiler";
+      packageName = "vue-template-es2015-compiler";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz";
+        sha512 = "4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==";
+      };
+    };
+    "vuetify-2.5.10" = {
+      name = "vuetify";
+      packageName = "vuetify";
+      version = "2.5.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vuetify/-/vuetify-2.5.10.tgz";
+        sha512 = "UODZQrib36l7i1WGg0MUvurczLspYTe0nKAmfbwyMs6dC2lG1Q1VV9caqPbCAB9zgG6QIJaOmRQKSKduw9eZTw==";
+      };
+    };
+    "vuetify-datetime-picker-2.1.1" = {
+      name = "vuetify-datetime-picker";
+      packageName = "vuetify-datetime-picker";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vuetify-datetime-picker/-/vuetify-datetime-picker-2.1.1.tgz";
+        sha512 = "xY3YCVNxoe/5Chbm7G2BXrkg12CWLWwnDJZdhNPVKe1p8S72H8NomYOB6SSBzMMEHisRGIRzAQTDwDfDU06x/Q==";
+      };
+    };
+    "vuetify-loader-1.7.3" = {
+      name = "vuetify-loader";
+      packageName = "vuetify-loader";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vuetify-loader/-/vuetify-loader-1.7.3.tgz";
+        sha512 = "1Kt6Rfvuw3i9BBlxC9WTMnU3WEU7IBWQmDX+fYGAVGpzWCX7oHythUIwPCZGShHSYcPMKSDbXTPP8UvT5RNw8Q==";
+      };
+    };
     "vuvuzela-1.0.3" = {
       name = "vuvuzela";
       packageName = "vuvuzela";
@@ -70999,15 +71710,6 @@ let
         sha512 = "GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==";
       };
     };
-    "webpack-4.44.2" = {
-      name = "webpack";
-      packageName = "webpack";
-      version = "4.44.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz";
-        sha512 = "6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==";
-      };
-    };
     "webpack-4.46.0" = {
       name = "webpack";
       packageName = "webpack";
@@ -71044,6 +71746,15 @@ let
         sha512 = "Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==";
       };
     };
+    "webpack-chain-6.5.1" = {
+      name = "webpack-chain";
+      packageName = "webpack-chain";
+      version = "6.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz";
+        sha512 = "7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==";
+      };
+    };
     "webpack-cli-3.3.12" = {
       name = "webpack-cli";
       packageName = "webpack-cli";
@@ -71134,6 +71845,15 @@ let
         sha512 = "9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==";
       };
     };
+    "webpack-merge-4.2.2" = {
+      name = "webpack-merge";
+      packageName = "webpack-merge";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz";
+        sha512 = "TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==";
+      };
+    };
     "webpack-merge-5.8.0" = {
       name = "webpack-merge";
       packageName = "webpack-merge";
@@ -71179,15 +71899,6 @@ let
         sha512 = "/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==";
       };
     };
-    "webpack-stream-6.1.0" = {
-      name = "webpack-stream";
-      packageName = "webpack-stream";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-stream/-/webpack-stream-6.1.0.tgz";
-        sha512 = "kFMnDzFTzyvVmn4ajaj0xEJavvYizd3I/KmQ6C5aUstcAkNwZUidxkk/uEaEPSydaAn66v8ZcP1+bhKSshNJUQ==";
-      };
-    };
     "webrtc-adapter-7.7.1" = {
       name = "webrtc-adapter";
       packageName = "webrtc-adapter";
@@ -71233,13 +71944,22 @@ let
         sha512 = "7iZ+u28Ljw5hCnMiq0BCOeSYf0vCFQe/ORY0HgscTiKjQed8WqugpBUggJ2NTnB9fahn1kEnPRX2jf8Px5PhJw==";
       };
     };
-    "webtorrent-1.8.5" = {
+    "webtorrent-1.8.6" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "1.8.5";
+      version = "1.8.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.8.6.tgz";
+        sha512 = "yx/y2O+IeTtkvkkjqTh5tyBjk+C/u8IqE6evOKllLs1kerVzMcbbHQMU7vgU05tThb1vRjbq3FAuU20g+HoEUg==";
+      };
+    };
+    "webworkify-webpack-2.1.5" = {
+      name = "webworkify-webpack";
+      packageName = "webworkify-webpack";
+      version = "2.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.8.5.tgz";
-        sha512 = "LPiXC/AqHehu0CWTGrmE4IxPSaXY25qe7FQyvBXRfI1w00mf2PkV6g+UeChdGXVJE2uwcFl02UkjNwL+Yjvdlg==";
+        url = "https://registry.npmjs.org/webworkify-webpack/-/webworkify-webpack-2.1.5.tgz";
+        sha512 = "2akF8FIyUvbiBBdD+RoHpoTbHMQF2HwjcxfDvgztAX5YwbZNyrtfUMgvfgFVsgDhDPVTlkbb5vyasqDHfIDPQw==";
       };
     };
     "whatwg-encoding-1.0.5" = {
@@ -71296,6 +72016,15 @@ let
         sha512 = "CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==";
       };
     };
+    "whatwg-url-11.0.0" = {
+      name = "whatwg-url";
+      packageName = "whatwg-url";
+      version = "11.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz";
+        sha512 = "RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==";
+      };
+    };
     "whatwg-url-5.0.0" = {
       name = "whatwg-url";
       packageName = "whatwg-url";
@@ -72250,13 +72979,13 @@ let
         sha512 = "N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==";
       };
     };
-    "xdl-59.2.29" = {
+    "xdl-59.2.30" = {
       name = "xdl";
       packageName = "xdl";
-      version = "59.2.29";
+      version = "59.2.30";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xdl/-/xdl-59.2.29.tgz";
-        sha512 = "qwLdMdv7AR3Tz9rud/Dro2TQFlhZHLN9GIN4+TKKcz9M9mkeoqZAFbDEt+7MyDUKQ644iBpSvShjMdyRA7M+aQ==";
+        url = "https://registry.npmjs.org/xdl/-/xdl-59.2.30.tgz";
+        sha512 = "Id4b3prDMPlW9OuycaeQwXeD/3tAgTmJY0N1blRL5Xr3KXhybXkyCsnvOaFyvQ+luqnmsOUdJQkfzL0JuyIauw==";
       };
     };
     "xenvar-0.5.1" = {
@@ -72548,6 +73277,15 @@ let
         sha512 = "3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==";
       };
     };
+    "xmlhttprequest-ssl-2.0.0" = {
+      name = "xmlhttprequest-ssl";
+      packageName = "xmlhttprequest-ssl";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz";
+        sha512 = "QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==";
+      };
+    };
     "xor-distance-2.0.0" = {
       name = "xor-distance";
       packageName = "xor-distance";
@@ -72800,6 +73538,15 @@ let
         sha512 = "C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==";
       };
     };
+    "yargonaut-1.1.4" = {
+      name = "yargonaut";
+      packageName = "yargonaut";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargonaut/-/yargonaut-1.1.4.tgz";
+        sha512 = "rHgFmbgXAAzl+1nngqOcwEljqHGG9uUZoPjsdZEs1w5JW9RXYzrSvH/u70C1JE5qFi0qjsdhnUX/dJRpWqitSA==";
+      };
+    };
     "yargs-1.3.3" = {
       name = "yargs";
       packageName = "yargs";
@@ -73250,6 +73997,15 @@ let
         sha512 = "YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==";
       };
     };
+    "yorkie-2.0.0" = {
+      name = "yorkie";
+      packageName = "yorkie";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz";
+        sha512 = "jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==";
+      };
+    };
     "yosay-2.0.2" = {
       name = "yosay";
       packageName = "yosay";
@@ -73295,6 +74051,15 @@ let
         sha512 = "Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==";
       };
     };
+    "zen-observable-ts-1.2.3" = {
+      name = "zen-observable-ts";
+      packageName = "zen-observable-ts";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.3.tgz";
+        sha512 = "hc/TGiPkAWpByykMwDcem3SdUgA4We+0Qb36bItSuJC9xD0XVBZoFHYoadAomDSNf64CG8Ydj0Qb8Od8BUWz5g==";
+      };
+    };
     "zeromq-5.2.8" = {
       name = "zeromq";
       packageName = "zeromq";
@@ -73391,15 +74156,15 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "13.2.5";
+    version = "13.2.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-13.2.5.tgz";
-      sha512 = "S1uuScNCue6K7HpSG707/N+ULy+utrByeYLjx8zIwIOW1/ZjLB+1/Dxem3bu/OSLY2j2R7bX1WHw8Mnljnk4QQ==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-13.2.6.tgz";
+      sha512 = "xIjEaQI5sWemXXc7GXLm4u9UL5sjtrQL/y1PJvvk/Jsa8+kIT+MutOfZfC7zcdAh9fqHd8mokH3guFV8BJdFxA==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.1302.5"
-      sources."@angular-devkit/core-13.2.5"
-      sources."@angular-devkit/schematics-13.2.5"
+      sources."@angular-devkit/architect-0.1302.6"
+      sources."@angular-devkit/core-13.2.6"
+      sources."@angular-devkit/schematics-13.2.6"
       sources."@gar/promisify-1.1.3"
       sources."@npmcli/fs-1.1.1"
       sources."@npmcli/git-2.1.0"
@@ -73408,7 +74173,7 @@ in
       sources."@npmcli/node-gyp-1.0.3"
       sources."@npmcli/promise-spawn-1.3.2"
       sources."@npmcli/run-script-2.0.0"
-      sources."@schematics/angular-13.2.5"
+      sources."@schematics/angular-13.2.6"
       sources."@tootallnate/once-1.1.2"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."abbrev-1.1.1"
@@ -73464,7 +74229,7 @@ in
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."gauge-4.0.2"
+      sources."gauge-4.0.3"
       sources."glob-7.2.0"
       sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
@@ -73486,7 +74251,7 @@ in
       sources."ini-2.0.0"
       (sources."inquirer-8.2.0" // {
         dependencies = [
-          sources."rxjs-7.5.4"
+          sources."rxjs-7.5.5"
           sources."tslib-2.3.1"
         ];
       })
@@ -73534,10 +74299,10 @@ in
         dependencies = [
           sources."@tootallnate/once-2.0.0"
           sources."http-proxy-agent-5.0.0"
-          sources."lru-cache-7.4.1"
-          (sources."make-fetch-happen-10.0.4" // {
+          sources."lru-cache-7.4.4"
+          (sources."make-fetch-happen-10.0.5" // {
             dependencies = [
-              sources."minipass-fetch-2.0.2"
+              sources."minipass-fetch-2.0.3"
             ];
           })
         ];
@@ -73923,7 +74688,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."to-through-2.0.0"
       sources."type-fest-1.4.0"
-      sources."uglify-js-3.15.2"
+      sources."uglify-js-3.15.3"
       sources."unc-path-regex-0.1.2"
       sources."unique-stream-2.3.1"
       sources."unxhr-1.0.1"
@@ -73963,12 +74728,13 @@ in
   "@astrojs/language-server" = nodeEnv.buildNodePackage {
     name = "_at_astrojs_slash_language-server";
     packageName = "@astrojs/language-server";
-    version = "0.9.1";
+    version = "0.11.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.9.1.tgz";
-      sha512 = "Nf35GAmPafcmqiI51PYNa/0Sh82GdCXGrL0jPtBopRQi+TsJJE/kbBB1rqpa082w4YLv2otpaE5apiYUOI8VYg==";
+      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.11.0.tgz";
+      sha512 = "rDpbvfhjM1BF2r1U64A2TLxUTrvdT9yKunjzhDDDoR4b5OBgyclhCvbdbWuq7wR3RCOl+P6bI+TGdYDwYnNd1g==";
     };
     dependencies = [
+      sources."@astrojs/svelte-language-integration-0.1.1"
       sources."@emmetio/abbreviation-2.2.3"
       sources."@emmetio/css-abbreviation-2.1.4"
       sources."@emmetio/scanner-1.0.0"
@@ -73986,6 +74752,7 @@ in
       sources."braces-3.0.2"
       sources."code-block-writer-10.1.1"
       sources."concat-map-0.0.1"
+      sources."dedent-js-1.0.1"
       sources."emmet-2.3.6"
       sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
@@ -73996,18 +74763,24 @@ in
       sources."is-number-7.0.0"
       sources."jsonc-parser-2.3.1"
       sources."lodash-4.17.21"
+      sources."lower-case-2.0.2"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
       sources."minimatch-3.1.2"
       sources."mkdirp-1.0.4"
+      sources."no-case-3.0.4"
+      sources."pascal-case-3.1.2"
       sources."path-browserify-1.0.1"
       sources."picomatch-2.3.1"
       sources."queue-microtask-1.2.3"
       sources."reusify-1.0.4"
       sources."run-parallel-1.2.0"
       sources."source-map-0.7.3"
+      sources."svelte-3.46.4"
+      sources."svelte2tsx-0.5.5"
       sources."to-regex-range-5.0.1"
       sources."ts-morph-12.2.0"
+      sources."tslib-2.3.1"
       sources."typescript-4.6.2"
       sources."vscode-css-languageservice-5.1.13"
       (sources."vscode-html-languageservice-3.2.0" // {
@@ -74646,7 +75419,7 @@ in
       sources."ieee754-1.2.1"
       sources."indent-string-4.0.0"
       sources."inherits-2.0.4"
-      sources."inquirer-8.2.0"
+      sources."inquirer-8.2.1"
       (sources."inquirer-autocomplete-prompt-ipt-2.0.0" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -74686,7 +75459,7 @@ in
       sources."lodash-4.17.21"
       (sources."log-symbols-5.1.0" // {
         dependencies = [
-          sources."chalk-5.0.0"
+          sources."chalk-5.0.1"
         ];
       })
       sources."loud-rejection-2.2.0"
@@ -74767,7 +75540,7 @@ in
       sources."restore-cursor-3.1.0"
       sources."router-ips-1.0.0"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.4"
+      sources."rxjs-7.5.5"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-6.3.0"
@@ -75110,7 +75883,7 @@ in
       sources."stream-collector-1.0.1"
       sources."stream-equal-1.1.1"
       sources."stream-shift-1.0.1"
-      sources."streamx-2.12.3"
+      sources."streamx-2.12.4"
       (sources."string-width-4.2.3" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
@@ -76034,7 +76807,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."uc.micro-1.0.6"
-      sources."uglify-js-3.15.2"
+      sources."uglify-js-3.15.3"
       sources."underscore-1.13.2"
       sources."union-value-1.0.1"
       (sources."universal-url-2.0.0" // {
@@ -76233,7 +77006,7 @@ in
         dependencies = [
           sources."chalk-4.1.2"
           sources."inquirer-8.2.0"
-          sources."rxjs-7.5.4"
+          sources."rxjs-7.5.5"
           sources."tslib-2.3.1"
         ];
       })
@@ -76249,12 +77022,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      (sources."@nestjs/schematics-8.0.7" // {
-        dependencies = [
-          sources."@angular-devkit/core-13.2.4"
-          sources."@angular-devkit/schematics-13.2.4"
-        ];
-      })
+      sources."@nestjs/schematics-8.0.8"
       sources."@types/eslint-8.4.1"
       sources."@types/eslint-scope-3.7.3"
       sources."@types/estree-0.0.50"
@@ -76299,7 +77067,7 @@ in
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
       sources."chokidar-3.5.3"
@@ -76318,7 +77086,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.81"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."enhanced-resolve-5.9.2"
@@ -76614,7 +77382,7 @@ in
       sha512 = "KzWugryEBFkmoaYcBE18rs6gthWCFHHO7cAZm2/hv3hwD67AzwP7udSCa22E7R1+CEJL/FfhYsJWrc0b1aeSzw==";
     };
     dependencies = [
-      sources."mini-svg-data-uri-1.4.3"
+      sources."mini-svg-data-uri-1.4.4"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -76710,7 +77478,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1087.0" // {
+      (sources."aws-sdk-2.1091.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -77318,7 +78086,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       sources."caw-2.0.1"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
@@ -77439,7 +78207,7 @@ in
       sources."easy-stack-1.0.1"
       sources."ee-first-1.1.1"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.81"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -77624,7 +78392,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-8.2.0"
+      sources."inquirer-8.2.1"
       sources."internal-slot-1.0.3"
       sources."into-stream-3.1.0"
       sources."ipaddr.js-1.9.1"
@@ -77899,7 +78667,7 @@ in
       sources."rss-parser-3.12.0"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-7.5.4"
+      sources."rxjs-7.5.5"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -78745,7 +79513,7 @@ in
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
       sources."unherit-3.0.0"
-      (sources."unified-10.1.1" // {
+      (sources."unified-10.1.2" // {
         dependencies = [
           sources."is-plain-obj-4.0.0"
         ];
@@ -78881,7 +79649,7 @@ in
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."browserslist-4.20.0"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -78891,7 +79659,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."debug-4.3.3"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -79262,8 +80030,8 @@ in
     };
     dependencies = [
       sources."browserslist-4.20.0"
-      sources."caniuse-lite-1.0.30001313"
-      sources."electron-to-chromium-1.4.76"
+      sources."caniuse-lite-1.0.30001314"
+      sources."electron-to-chromium-1.4.82"
       sources."escalade-3.1.1"
       sources."fraction.js-4.2.0"
       sources."node-releases-2.0.2"
@@ -79298,7 +80066,7 @@ in
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."ast-types-0.13.4"
-      (sources."aws-sdk-2.1087.0" // {
+      (sources."aws-sdk-2.1091.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -79383,7 +80151,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-8.2.0"
+      sources."inquirer-8.2.1"
       sources."ip-1.1.5"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-interactive-1.0.0"
@@ -79438,7 +80206,7 @@ in
       sources."restore-cursor-3.1.0"
       sources."rimraf-3.0.2"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.4"
+      sources."rxjs-7.5.5"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
@@ -79916,10 +80684,10 @@ in
   balanceofsatoshis = nodeEnv.buildNodePackage {
     name = "balanceofsatoshis";
     packageName = "balanceofsatoshis";
-    version = "11.57.0";
+    version = "11.57.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-11.57.0.tgz";
-      sha512 = "uL32sXEpka9XF0l8u5xTeGLUhAUE1UySX3myN//c9YibcVhLHJG/ZYAY3wYZQZ+15bI61giduMCwB1Kv/XmAGw==";
+      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-11.57.1.tgz";
+      sha512 = "4VZ0wtEhVxobxcQuXnnWMKWp+lFCaYNwy24gLx38Jm634/ry3vQ1V5T2Y2OIrA0ea6h6CanL7mryjZRmaLwiqw==";
     };
     dependencies = [
       (sources."@alexbosworth/caporal-1.4.0" // {
@@ -80179,7 +80947,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      (sources."inquirer-8.2.0" // {
+      (sources."inquirer-8.2.1" // {
         dependencies = [
           sources."ansi-escapes-4.3.2"
           sources."ansi-styles-4.3.0"
@@ -80374,10 +81142,13 @@ in
               sources."raw-body-2.4.2"
             ];
           })
+          sources."paid-services-3.12.1"
           sources."qs-6.9.7"
           sources."raw-body-2.4.3"
           sources."safe-buffer-5.2.1"
+          sources."tiny-secp256k1-2.2.1"
           sources."type-fest-2.11.2"
+          sources."uint8array-tools-0.0.7"
           sources."ws-8.5.0"
         ];
       })
@@ -80462,52 +81233,10 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."paid-services-3.12.1" // {
+      (sources."paid-services-3.12.2" // {
         dependencies = [
-          sources."@grpc/grpc-js-1.5.5"
-          sources."@types/node-17.0.18"
-          sources."body-parser-1.19.2"
-          sources."bolt09-0.2.2"
-          sources."bytes-3.1.2"
-          sources."cookie-0.4.2"
-          sources."express-4.17.3"
-          (sources."lightning-5.8.1" // {
-            dependencies = [
-              sources."bytes-3.1.1"
-              sources."cookie-0.4.1"
-              (sources."express-4.17.2" // {
-                dependencies = [
-                  sources."body-parser-1.19.1"
-                ];
-              })
-              sources."qs-6.9.6"
-              sources."raw-body-2.4.2"
-              sources."tiny-secp256k1-2.2.0"
-            ];
-          })
-          sources."ln-service-53.9.2"
-          (sources."ln-sync-3.10.1" // {
-            dependencies = [
-              sources."@types/node-17.0.17"
-              sources."body-parser-1.19.1"
-              sources."bolt09-0.2.1"
-              sources."bytes-3.1.1"
-              sources."cookie-0.4.1"
-              sources."express-4.17.2"
-              sources."lightning-5.7.1"
-              sources."ln-service-53.8.1"
-              sources."qs-6.9.6"
-              sources."raw-body-2.4.2"
-              sources."tiny-secp256k1-2.2.0"
-            ];
-          })
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
-          sources."safe-buffer-5.2.1"
           sources."tiny-secp256k1-2.2.1"
-          sources."type-fest-2.11.2"
           sources."uint8array-tools-0.0.7"
-          sources."ws-8.5.0"
         ];
       })
       sources."parseurl-1.3.3"
@@ -80551,7 +81280,7 @@ in
       sources."ripemd160-2.0.2"
       sources."run-async-2.4.1"
       sources."rx-4.1.0"
-      sources."rxjs-7.5.4"
+      sources."rxjs-7.5.5"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sanitize-filename-1.6.3"
@@ -83097,18 +83826,18 @@ in
   cdk8s-cli = nodeEnv.buildNodePackage {
     name = "cdk8s-cli";
     packageName = "cdk8s-cli";
-    version = "1.0.116";
+    version = "1.0.120";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.116.tgz";
-      sha512 = "LNbUuGtIWglPVj+FzyTSH7fH9jiQGKIFkJqmJuSO3wau21DU5ULP+GEmNd27a7lfMBqFJBKTNwyNzJTKUSz3Zw==";
+      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.120.tgz";
+      sha512 = "2Ik+JGf5Pt+6V4tBDSFicqxRb0mRv5u+x7lOiegoeRku467VH4I6Vk4Di+MDLr9lt2OEmJftAxXpvAMv0DBCfQ==";
     };
     dependencies = [
-      sources."@jsii/check-node-1.54.0"
-      sources."@jsii/spec-1.54.0"
+      sources."@jsii/check-node-1.55.0"
+      sources."@jsii/spec-1.55.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-12.20.46"
+      sources."@types/node-12.20.47"
       sources."@xmldom/xmldom-0.8.1"
       sources."ajv-8.10.0"
       sources."ansi-regex-5.0.1"
@@ -83119,12 +83848,12 @@ in
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdk8s-1.5.35"
-      sources."cdk8s-plus-22-1.0.0-beta.137"
+      sources."cdk8s-1.5.39"
+      sources."cdk8s-plus-22-1.0.0-beta.142"
       sources."chalk-4.1.2"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
-      (sources."codemaker-1.54.0" // {
+      (sources."codemaker-1.55.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -83133,7 +83862,7 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.30.0"
-      sources."constructs-3.3.236"
+      sources."constructs-3.3.239"
       sources."date-format-4.0.4"
       sources."debug-4.3.3"
       sources."decamelize-5.0.1"
@@ -83196,38 +83925,38 @@ in
       sources."is-weakref-1.0.2"
       sources."is-weakset-2.0.2"
       sources."isarray-2.0.5"
-      (sources."jsii-1.54.0" // {
+      (sources."jsii-1.55.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-pacmak-1.54.0" // {
+      (sources."jsii-pacmak-1.55.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-reflect-1.54.0" // {
+      (sources."jsii-reflect-1.55.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-rosetta-1.54.0" // {
+      (sources."jsii-rosetta-1.55.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.495" // {
+      (sources."jsii-srcmak-0.1.499" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
       })
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-1.0.0"
-      sources."json2jsii-0.2.155"
+      sources."json2jsii-0.2.159"
       sources."jsonfile-6.1.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
@@ -83245,7 +83974,7 @@ in
       sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."oo-ascii-tree-1.54.0"
+      sources."oo-ascii-tree-1.55.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
@@ -83271,7 +84000,7 @@ in
       sources."snake-case-3.0.4"
       sources."sort-json-2.0.1"
       sources."spdx-license-list-6.4.0"
-      sources."sscaff-1.2.221"
+      sources."sscaff-1.2.225"
       (sources."streamroller-3.0.4" // {
         dependencies = [
           sources."fs-extra-10.0.1"
@@ -83339,7 +84068,7 @@ in
       sources."@cdktf/hcl2cdk-0.9.4"
       sources."@cdktf/hcl2json-0.9.4"
       sources."@cdktf/provider-generator-0.9.4"
-      (sources."@jsii/check-node-1.54.0" // {
+      (sources."@jsii/check-node-1.55.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -83349,7 +84078,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jsii/spec-1.54.0"
+      sources."@jsii/spec-1.55.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -83381,7 +84110,7 @@ in
       sources."combined-stream-1.0.8"
       sources."commonmark-0.30.0"
       sources."concat-map-0.0.1"
-      sources."constructs-10.0.81"
+      sources."constructs-10.0.84"
       sources."date-format-4.0.4"
       sources."debug-4.3.3"
       sources."decamelize-1.2.0"
@@ -83449,7 +84178,7 @@ in
       sources."isarray-2.0.5"
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
-      (sources."jsii-1.54.0" // {
+      (sources."jsii-1.55.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -83467,11 +84196,11 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-pacmak-1.54.0" // {
+      (sources."jsii-pacmak-1.55.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
-          sources."codemaker-1.54.0"
+          sources."codemaker-1.55.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."decamelize-5.0.1"
@@ -83485,7 +84214,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-reflect-1.54.0" // {
+      (sources."jsii-reflect-1.55.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -83503,7 +84232,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-rosetta-1.54.0" // {
+      (sources."jsii-rosetta-1.55.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
@@ -83518,7 +84247,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-srcmak-0.1.495" // {
+      (sources."jsii-srcmak-0.1.499" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -83547,7 +84276,7 @@ in
       sources."object.assign-4.1.2"
       sources."obliterator-2.0.2"
       sources."once-1.4.0"
-      sources."oo-ascii-tree-1.54.0"
+      sources."oo-ascii-tree-1.55.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
@@ -84247,10 +84976,10 @@ in
   coc-metals = nodeEnv.buildNodePackage {
     name = "coc-metals";
     packageName = "coc-metals";
-    version = "1.0.12";
+    version = "1.0.14";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-metals/-/coc-metals-1.0.12.tgz";
-      sha512 = "mRjStj+wjmqp9Lb3cDYegz+cavykWNYQf1ecdwrF2HEtbKVIcc+k62NS5wM6QVB5Y6FD2OxjPNWcoQmIFM1cfQ==";
+      url = "https://registry.npmjs.org/coc-metals/-/coc-metals-1.0.14.tgz";
+      sha512 = "zFExh1wGAZl4LXSp76NAjWORO9Tyhfw8WtALnhDv741p4tjWjVSEl6GmXTQN0U0tXz8UZ8ln2rL2OaxOdgMCTA==";
     };
     dependencies = [
       sources."@chemzqm/neovim-5.7.5"
@@ -84487,13 +85216,13 @@ in
   coc-pyright = nodeEnv.buildNodePackage {
     name = "coc-pyright";
     packageName = "coc-pyright";
-    version = "1.1.223";
+    version = "1.1.228";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.223.tgz";
-      sha512 = "ILWzT0OqD24ppvGnVmjQZYygUtDWAVxvLeXkcsJuIk4ED8O9ezFbPbD3GeBrLWG87X3mC37vb/k6EsF1BR6pUQ==";
+      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.228.tgz";
+      sha512 = "msCM17jXDDyaTW+wmSRq9DSgkIwj6foeOdQwn37Ny7B2+7iKCsWv0/GmLYj7fZe+is9hXjeGety9dF6tQq+4Wg==";
     };
     dependencies = [
-      sources."pyright-1.1.227"
+      sources."pyright-1.1.228"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -84603,10 +85332,10 @@ in
   coc-snippets = nodeEnv.buildNodePackage {
     name = "coc-snippets";
     packageName = "coc-snippets";
-    version = "2.5.9";
+    version = "3.0.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-2.5.9.tgz";
-      sha512 = "EOl0uBpNm34r1I5IotKsrJPV7I01cAd2MDKyHV2FQfWF3KJoCnPuhPfh17Gy7Ji94I7bSt03qNrawk+9476x6Q==";
+      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-3.0.2.tgz";
+      sha512 = "AQslAPlptSdPE0kTlM146EFnpeS491MqJmYa/O/vmlhd30aQidJmC79wBgrmpGj8T5ergsetb59uFnE3iuW+GQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -84705,7 +85434,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -84742,7 +85471,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -85113,10 +85842,10 @@ in
   coc-tsserver = nodeEnv.buildNodePackage {
     name = "coc-tsserver";
     packageName = "coc-tsserver";
-    version = "1.9.13";
+    version = "1.9.14";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.9.13.tgz";
-      sha512 = "oczIpLpZ5VjUf8eFExa5kUJqgIMMtOLDgKRxpjkTVWM67dLczfQQY9BjiR2GjwZvdfMBp7PkpN3tBTOjPUaW5g==";
+      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.9.14.tgz";
+      sha512 = "MiyV1Tq5Jpj6P0t3PVb3IFyrfOm93E29Oz90nCfSdMBW+yY0U4H4uE5V9AKO3zhVFhzHRwalYfaFxf/6VCmkgA==";
     };
     dependencies = [
       sources."typescript-4.6.2"
@@ -85376,10 +86105,10 @@ in
   coc-vimtex = nodeEnv.buildNodePackage {
     name = "coc-vimtex";
     packageName = "coc-vimtex";
-    version = "1.1.2";
+    version = "1.1.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-vimtex/-/coc-vimtex-1.1.2.tgz";
-      sha512 = "Lbs1R5QyTgdnbIQYr74RpOquC1t61mWBpZtAdB4pNHvZEF+IntcjHUm7Ns4ekdIvLgbiMncFatmKHXDRc3RpBg==";
+      url = "https://registry.npmjs.org/coc-vimtex/-/coc-vimtex-1.1.4.tgz";
+      sha512 = "w3bJrPoNkx5uiydRRPQ5Xqx01voizi0CxTh7/V7MJsuTP+2KNHRselm3cZcit79OyzO9rF1R0PGlDwLgPf54gg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -85984,7 +86713,7 @@ in
       sources."through2-4.0.2"
       sources."trim-newlines-3.0.1"
       sources."type-fest-0.18.1"
-      sources."uglify-js-3.15.2"
+      sources."uglify-js-3.15.3"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."validate-npm-package-license-3.0.4"
@@ -86468,7 +87197,7 @@ in
       })
       sources."read-1.0.7"
       sources."read-chunk-3.2.0"
-      sources."read-package-json-4.1.1"
+      sources."read-package-json-4.1.2"
       sources."read-package-json-fast-2.0.3"
       sources."readable-stream-2.3.7"
       sources."registry-auth-token-4.2.1"
@@ -86535,7 +87264,7 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.11.6"
+      sources."systeminformation-5.11.7"
       sources."tar-6.1.11"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
@@ -86618,10 +87347,10 @@ in
   cpy-cli = nodeEnv.buildNodePackage {
     name = "cpy-cli";
     packageName = "cpy-cli";
-    version = "4.0.0";
+    version = "4.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cpy-cli/-/cpy-cli-4.0.0.tgz";
-      sha512 = "jYrVFg9/ZAl3GRg8ambMoCgCZIGhNO2HNte5jdJXXMSEtM1ZFxw+qo8290LVtWWDrzu++eUyTXoqcqZZNuv8AQ==";
+      url = "https://registry.npmjs.org/cpy-cli/-/cpy-cli-4.1.0.tgz";
+      sha512 = "JA6bth6/mxPCa19SrWkIuPEBrea8vO9g1v0qhmCLnAKOfTcsNk5/X3W1o9aZuOHgugRcxdyR67rO4Gw/DA+4Qg==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -86796,7 +87525,7 @@ in
       sources."debug-3.2.7"
       sources."define-properties-1.1.3"
       sources."delayed-stream-1.0.0"
-      sources."es5-ext-0.10.53"
+      sources."es5-ext-0.10.58"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       (sources."es6-set-0.1.5" // {
@@ -86852,7 +87581,7 @@ in
       sources."minimist-1.2.5"
       sources."ms-2.1.3"
       sources."mute-stream-0.0.7"
-      sources."next-tick-1.0.0"
+      sources."next-tick-1.1.0"
       sources."object-assign-4.1.1"
       sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
@@ -87085,7 +87814,7 @@ in
       sources."@cspell/dict-ruby-2.0.1"
       sources."@cspell/dict-rust-2.0.0"
       sources."@cspell/dict-scala-2.0.0"
-      sources."@cspell/dict-software-terms-2.1.2"
+      sources."@cspell/dict-software-terms-2.1.3"
       sources."@cspell/dict-swift-1.0.2"
       sources."@cspell/dict-typescript-2.0.0"
       sources."@cspell/dict-vue-2.0.2"
@@ -88016,7 +88745,7 @@ in
       sources."@types/node-fetch-2.6.1"
       sources."@types/prop-types-15.7.4"
       sources."@types/rc-1.2.1"
-      sources."@types/react-16.14.23"
+      sources."@types/react-16.14.24"
       sources."@types/react-dom-16.9.14"
       sources."@types/react-window-1.8.5"
       sources."@types/react-window-infinite-loader-1.0.6"
@@ -88069,7 +88798,7 @@ in
         ];
       })
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
       (sources."class-utils-0.3.6" // {
@@ -88136,7 +88865,7 @@ in
       sources."duplexer3-0.1.4"
       sources."earcut-2.2.3"
       sources."electron-13.6.9"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       sources."emoji-js-clean-4.0.0"
       sources."emoji-mart-3.0.1"
       sources."emoji-regex-9.2.2"
@@ -89109,7 +89838,7 @@ in
           sources."universalify-0.1.2"
         ];
       })
-      sources."gauge-4.0.2"
+      sources."gauge-4.0.3"
       sources."get-caller-file-2.0.5"
       sources."get-installed-path-2.1.1"
       (sources."get-package-info-1.0.0" // {
@@ -89153,7 +89882,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      sources."inquirer-8.2.0"
+      sources."inquirer-8.2.1"
       sources."ip-1.1.5"
       sources."is-arrayish-0.2.1"
       sources."is-core-module-2.8.1"
@@ -89323,7 +90052,7 @@ in
       sources."roarr-2.15.4"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-7.5.4"
+      sources."rxjs-7.5.5"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
@@ -89530,7 +90259,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -89559,7 +90288,7 @@ in
         ];
       })
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -89685,7 +90414,7 @@ in
       sources."punycode-2.1.1"
       sources."quick-lru-4.0.1"
       sources."react-16.14.0"
-      sources."react-devtools-core-4.23.0"
+      sources."react-devtools-core-4.24.0"
       sources."react-is-16.13.1"
       sources."react-reconciler-0.26.2"
       (sources."read-pkg-5.2.0" // {
@@ -89787,31 +90516,60 @@ in
     reconstructLock = true;
   };
   "epgstation-../../applications/video/epgstation" = nodeEnv.buildNodePackage {
-    name = "EPGStation";
-    packageName = "EPGStation";
-    version = "1.7.5";
+    name = "epgstation";
+    packageName = "epgstation";
+    version = "2.6.20";
     src = ../../applications/video/epgstation;
     dependencies = [
-      sources."@babel/code-frame-7.16.7"
+      sources."@babel/code-frame-7.12.11"
       sources."@babel/helper-validator-identifier-7.16.7"
       (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."has-flag-3.0.0"
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@fluentui/date-time-utilities-7.9.1"
-      sources."@fluentui/dom-utilities-1.1.2"
-      sources."@fluentui/keyboard-key-0.2.17"
-      sources."@fluentui/react-7.183.1"
-      sources."@fluentui/react-focus-7.18.2"
-      sources."@fluentui/react-window-provider-1.0.2"
-      sources."@fluentui/theme-1.7.4"
-      sources."@gar/promisify-1.1.3"
-      (sources."@gulp-sourcemaps/identity-map-1.0.2" // {
+      (sources."@chinachu/aribts-1.3.5-mirakurun.17" // {
         dependencies = [
-          sources."normalize-path-2.1.1"
+          sources."iconv-lite-0.6.3"
+        ];
+      })
+      sources."@cspotcode/source-map-consumer-0.8.0"
+      sources."@cspotcode/source-map-support-0.7.0"
+      (sources."@eslint/eslintrc-0.4.3" // {
+        dependencies = [
+          sources."ajv-6.12.6"
+          sources."debug-4.3.3"
+          sources."ignore-4.0.6"
+          sources."js-yaml-3.14.1"
+          sources."json-schema-traverse-0.4.1"
+          sources."ms-2.1.2"
+          sources."strip-json-comments-3.1.1"
+        ];
+      })
+      sources."@fluentui/date-time-utilities-8.4.0"
+      sources."@fluentui/dom-utilities-2.2.0"
+      sources."@fluentui/font-icons-mdl2-8.2.4"
+      sources."@fluentui/foundation-legacy-8.2.4"
+      sources."@fluentui/keyboard-key-0.4.0"
+      sources."@fluentui/merge-styles-8.5.0"
+      sources."@fluentui/react-8.60.3"
+      sources."@fluentui/react-focus-8.5.4"
+      sources."@fluentui/react-hooks-8.5.2"
+      sources."@fluentui/react-window-provider-2.2.0"
+      sources."@fluentui/set-version-8.2.0"
+      sources."@fluentui/style-utilities-8.6.4"
+      sources."@fluentui/theme-2.6.3"
+      sources."@fluentui/utilities-8.8.0"
+      (sources."@gulp-sourcemaps/identity-map-2.0.1" // {
+        dependencies = [
+          sources."acorn-6.4.2"
+          sources."inherits-2.0.4"
+          sources."through2-3.0.2"
         ];
       })
       (sources."@gulp-sourcemaps/map-sources-1.0.0" // {
@@ -89819,99 +90577,111 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
+      (sources."@humanwhocodes/config-array-0.5.0" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."@humanwhocodes/object-schema-1.2.1"
       sources."@microsoft/load-themed-styles-1.10.247"
+      sources."@node-rs/crc32-1.5.0"
+      sources."@node-rs/crc32-android-arm-eabi-1.5.0"
+      sources."@node-rs/crc32-android-arm64-1.5.0"
+      sources."@node-rs/crc32-darwin-arm64-1.5.0"
+      sources."@node-rs/crc32-darwin-x64-1.5.0"
+      sources."@node-rs/crc32-freebsd-x64-1.5.0"
+      sources."@node-rs/crc32-linux-arm-gnueabihf-1.5.0"
+      sources."@node-rs/crc32-linux-arm64-gnu-1.5.0"
+      sources."@node-rs/crc32-linux-arm64-musl-1.5.0"
+      sources."@node-rs/crc32-linux-x64-gnu-1.5.0"
+      sources."@node-rs/crc32-linux-x64-musl-1.5.0"
+      sources."@node-rs/crc32-win32-arm64-msvc-1.5.0"
+      sources."@node-rs/crc32-win32-ia32-msvc-1.5.0"
+      sources."@node-rs/crc32-win32-x64-msvc-1.5.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@npmcli/fs-1.1.1"
-      (sources."@npmcli/move-file-1.1.2" // {
-        dependencies = [
-          sources."rimraf-3.0.2"
-        ];
-      })
       sources."@sindresorhus/is-0.14.0"
+      sources."@socket.io/base64-arraybuffer-1.0.2"
+      sources."@sqltools/formatter-1.2.3"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/basic-auth-1.1.3"
-      sources."@types/body-parser-1.19.0"
-      sources."@types/caseless-0.12.2"
-      sources."@types/chart.js-2.9.24"
+      sources."@tokenizer/token-0.3.0"
+      sources."@tsconfig/node10-1.0.8"
+      sources."@tsconfig/node12-1.0.9"
+      sources."@tsconfig/node14-1.0.1"
+      sources."@tsconfig/node16-1.0.2"
+      sources."@types/body-parser-1.19.1"
+      sources."@types/component-emitter-1.2.11"
       sources."@types/connect-3.4.35"
-      sources."@types/engine.io-3.1.7"
-      sources."@types/express-4.17.8"
+      sources."@types/cookie-0.4.1"
+      sources."@types/cors-2.8.12"
+      sources."@types/express-4.17.13"
       sources."@types/express-serve-static-core-4.17.28"
-      sources."@types/fancy-log-1.3.0"
-      sources."@types/glob-7.2.0"
-      sources."@types/hls.js-0.13.1"
-      sources."@types/js-yaml-3.12.5"
+      sources."@types/file-type-10.9.1"
+      sources."@types/js-yaml-4.0.4"
       sources."@types/json-schema-7.0.9"
-      sources."@types/lodash-4.14.161"
-      sources."@types/material-design-lite-1.1.16"
+      sources."@types/lodash-4.14.176"
       sources."@types/mime-1.3.2"
-      sources."@types/minimatch-3.0.5"
-      sources."@types/minimist-1.2.0"
-      sources."@types/mithril-2.0.3"
-      sources."@types/mkdirp-1.0.1"
-      sources."@types/multer-1.4.4"
-      sources."@types/mysql-2.15.15"
-      sources."@types/node-14.11.1"
-      sources."@types/pg-7.14.5"
-      sources."@types/pg-types-2.2.0"
+      sources."@types/minimist-1.2.2"
+      sources."@types/mkdirp-1.0.2"
+      sources."@types/mongodb-4.0.6"
+      sources."@types/multer-1.4.7"
+      sources."@types/node-16.11.6"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
-      (sources."@types/request-2.48.5" // {
+      sources."@types/serve-static-1.13.10"
+      sources."@types/socket.io-3.0.1"
+      sources."@types/source-map-support-0.5.4"
+      sources."@types/sqlite3-3.1.7"
+      sources."@types/url-join-4.0.1"
+      sources."@types/uuid-3.4.10"
+      sources."@types/webidl-conversions-6.1.1"
+      sources."@types/whatwg-url-8.2.1"
+      sources."@types/ws-6.0.4"
+      (sources."@typescript-eslint/eslint-plugin-4.33.0" // {
         dependencies = [
-          sources."form-data-2.5.1"
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
         ];
       })
-      sources."@types/serve-static-1.13.10"
-      sources."@types/socket.io-2.1.11"
-      sources."@types/socket.io-client-1.4.33"
-      sources."@types/sqlite3-3.1.6"
-      sources."@types/tough-cookie-4.0.1"
-      sources."@types/url-join-4.0.0"
-      sources."@uifabric/foundation-7.10.1"
-      sources."@uifabric/icons-7.6.2"
-      sources."@uifabric/merge-styles-7.19.2"
-      sources."@uifabric/react-hooks-7.14.0"
-      sources."@uifabric/set-version-7.0.24"
-      sources."@uifabric/styling-7.20.0"
-      sources."@uifabric/utilities-7.33.5"
-      sources."@webassemblyjs/ast-1.9.0"
-      sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
-      sources."@webassemblyjs/helper-api-error-1.9.0"
-      sources."@webassemblyjs/helper-buffer-1.9.0"
-      sources."@webassemblyjs/helper-code-frame-1.9.0"
-      sources."@webassemblyjs/helper-fsm-1.9.0"
-      sources."@webassemblyjs/helper-module-context-1.9.0"
-      sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
-      sources."@webassemblyjs/helper-wasm-section-1.9.0"
-      sources."@webassemblyjs/ieee754-1.9.0"
-      sources."@webassemblyjs/leb128-1.9.0"
-      sources."@webassemblyjs/utf8-1.9.0"
-      sources."@webassemblyjs/wasm-edit-1.9.0"
-      sources."@webassemblyjs/wasm-gen-1.9.0"
-      sources."@webassemblyjs/wasm-opt-1.9.0"
-      sources."@webassemblyjs/wasm-parser-1.9.0"
-      sources."@webassemblyjs/wast-parser-1.9.0"
-      sources."@webassemblyjs/wast-printer-1.9.0"
-      sources."@xtuc/ieee754-1.2.0"
-      sources."@xtuc/long-4.2.2"
+      sources."@typescript-eslint/experimental-utils-4.33.0"
+      (sources."@typescript-eslint/parser-4.33.0" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."@typescript-eslint/scope-manager-4.33.0"
+      sources."@typescript-eslint/types-4.33.0"
+      (sources."@typescript-eslint/typescript-estree-4.33.0" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."@typescript-eslint/visitor-keys-4.33.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.8"
-      sources."acorn-5.7.4"
-      sources."after-0.8.2"
+      sources."acorn-7.4.1"
+      sources."acorn-jsx-5.3.2"
+      sources."acorn-walk-8.2.0"
       sources."aggregate-error-3.1.0"
-      sources."ajv-6.12.6"
-      sources."ajv-errors-1.0.1"
-      sources."ajv-keywords-3.5.2"
-      sources."ansi-colors-1.1.0"
+      sources."ajv-8.10.0"
+      sources."ajv-formats-2.1.1"
+      sources."ansi-colors-4.1.1"
       sources."ansi-cyan-0.1.1"
-      sources."ansi-escapes-1.4.0"
+      (sources."ansi-escapes-4.3.2" // {
+        dependencies = [
+          sources."type-fest-0.21.3"
+        ];
+      })
       sources."ansi-gray-0.1.1"
       sources."ansi-red-0.1.1"
       sources."ansi-regex-2.1.1"
-      sources."ansi-styles-2.2.1"
+      sources."ansi-styles-4.3.0"
       sources."ansi-wrap-0.1.0"
+      sources."any-promise-1.3.0"
       (sources."anymatch-2.0.0" // {
         dependencies = [
           (sources."braces-2.3.2" // {
@@ -89934,6 +90704,7 @@ in
           sources."to-regex-range-2.1.1"
         ];
       })
+      sources."app-root-path-3.0.0"
       sources."append-buffer-1.0.2"
       sources."append-field-1.0.0"
       sources."aproba-1.2.0"
@@ -89945,7 +90716,10 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
+      sources."arg-4.1.3"
       sources."argparse-1.0.10"
+      sources."arib-mpeg2ts-parser-3.0.13"
+      sources."arib-subtitle-timedmetadater-4.0.9"
       sources."aribts-2.1.12"
       sources."arr-diff-4.0.0"
       sources."arr-filter-1.1.2"
@@ -89972,37 +90746,19 @@ in
       })
       sources."array-union-2.1.0"
       sources."array-unique-0.3.2"
-      sources."arraybuffer.slice-0.0.7"
       sources."asn1-0.2.6"
-      (sources."asn1.js-5.4.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      (sources."assert-1.5.0" // {
-        dependencies = [
-          sources."inherits-2.0.1"
-          sources."util-0.10.3"
-        ];
-      })
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
+      sources."astral-regex-2.0.0"
       sources."async-done-1.3.2"
       sources."async-each-1.0.3"
       sources."async-limiter-1.0.1"
       sources."async-settle-1.0.0"
       sources."asynckit-0.4.0"
-      sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
-      sources."b24.js-1.0.3"
-      sources."babel-polyfill-6.23.0"
-      (sources."babel-runtime-6.26.0" // {
-        dependencies = [
-          sources."regenerator-runtime-0.11.1"
-        ];
-      })
+      sources."axios-0.24.0"
       sources."bach-1.2.0"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.2"
@@ -90011,42 +90767,23 @@ in
           sources."define-property-1.0.0"
         ];
       })
-      sources."base64-arraybuffer-0.1.4"
       sources."base64-js-1.5.1"
       sources."base64id-2.0.0"
       sources."basic-auth-2.0.1"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."better-assert-1.0.2"
-      sources."big.js-5.2.2"
+      sources."big-integer-1.6.51"
       sources."bignumber.js-9.0.0"
       sources."binary-extensions-1.13.1"
       sources."bindings-1.5.0"
-      sources."blob-0.0.5"
       sources."block-stream-0.0.9"
-      sources."bluebird-3.7.2"
-      sources."bn.js-5.2.0"
       sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."brorand-1.1.0"
-      sources."browserify-aes-1.2.0"
-      sources."browserify-cipher-1.0.1"
-      sources."browserify-des-1.0.2"
-      sources."browserify-rsa-4.1.0"
-      (sources."browserify-sign-4.2.1" // {
-        dependencies = [
-          sources."inherits-2.0.4"
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."browserify-zlib-0.2.0"
+      sources."bson-4.6.1"
       sources."buffer-5.7.1"
       sources."buffer-equal-1.0.0"
       sources."buffer-from-1.1.2"
-      sources."buffer-writer-2.0.0"
-      sources."buffer-xor-1.0.3"
-      sources."builtin-modules-1.1.1"
-      sources."builtin-status-codes-3.0.0"
+      sources."bufferutil-4.0.6"
       (sources."busboy-0.2.14" // {
         dependencies = [
           sources."readable-stream-1.1.14"
@@ -90054,17 +90791,6 @@ in
         ];
       })
       sources."bytes-3.1.0"
-      (sources."cacache-15.3.0" // {
-        dependencies = [
-          sources."chownr-2.0.0"
-          sources."fs-minipass-2.1.0"
-          sources."minipass-3.1.6"
-          sources."minizlib-2.1.2"
-          sources."p-map-4.0.0"
-          sources."rimraf-3.0.2"
-          sources."tar-6.1.11"
-        ];
-      })
       sources."cache-base-1.0.1"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
@@ -90073,14 +90799,11 @@ in
         ];
       })
       sources."call-bind-1.0.2"
-      sources."callsite-1.0.0"
+      sources."callsites-3.1.0"
       sources."camelcase-3.0.0"
       sources."caseless-0.12.0"
-      sources."chalk-1.1.3"
-      sources."chardet-0.4.2"
-      sources."chart.js-2.9.3"
-      sources."chartjs-color-2.4.1"
-      sources."chartjs-color-string-0.6.0"
+      sources."chalk-4.1.2"
+      sources."chardet-0.7.0"
       (sources."chokidar-2.1.8" // {
         dependencies = [
           sources."braces-2.3.2"
@@ -90097,8 +90820,6 @@ in
         ];
       })
       sources."chownr-1.1.4"
-      sources."chrome-trace-event-1.0.3"
-      sources."cipher-base-1.0.4"
       (sources."class-utils-0.3.6" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -90116,14 +90837,24 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."clean-css-4.2.3"
       sources."clean-stack-2.2.0"
-      sources."cli-cursor-2.1.0"
-      sources."cli-width-2.2.1"
-      (sources."cliui-3.2.0" // {
+      sources."cli-cursor-3.1.0"
+      (sources."cli-highlight-2.1.11" // {
         dependencies = [
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."string-width-1.0.2"
+          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-16.2.0"
+        ];
+      })
+      sources."cli-width-3.0.0"
+      (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."clone-2.1.2"
@@ -90140,16 +90871,12 @@ in
       sources."code-point-at-1.1.0"
       sources."collection-map-1.0.0"
       sources."collection-visit-1.0.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."color-support-1.1.3"
-      sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
-      sources."commander-2.20.3"
-      sources."commondir-1.0.1"
-      sources."component-bind-1.0.0"
-      sources."component-emitter-1.2.1"
-      sources."component-inherit-0.0.3"
+      sources."commander-7.2.0"
+      sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       (sources."concat-stream-1.6.2" // {
         dependencies = [
@@ -90158,40 +90885,33 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."concat-with-sourcemaps-1.1.0"
-      sources."console-browserify-1.2.0"
       sources."console-control-strings-1.1.0"
-      sources."constants-browserify-1.0.0"
       sources."content-disposition-0.5.3"
       sources."content-type-1.0.4"
       sources."convert-source-map-1.8.0"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      (sources."copy-concurrently-1.0.5" // {
-        dependencies = [
-          sources."mkdirp-0.5.5"
-        ];
-      })
       sources."copy-descriptor-0.1.1"
       (sources."copy-props-2.0.5" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
-      sources."core-js-2.6.12"
       sources."core-util-is-1.0.3"
+      sources."cors-2.8.5"
       sources."crc-3.8.0"
-      (sources."create-ecdh-4.0.4" // {
+      sources."create-require-1.1.1"
+      (sources."cross-spawn-7.0.3" // {
         dependencies = [
-          sources."bn.js-4.12.0"
+          sources."which-2.0.2"
+        ];
+      })
+      (sources."css-3.0.0" // {
+        dependencies = [
+          sources."inherits-2.0.4"
+          sources."source-map-resolve-0.6.0"
         ];
       })
-      sources."create-hash-1.2.0"
-      sources."create-hmac-1.1.7"
-      sources."crypto-browserify-3.12.0"
-      sources."css-2.2.4"
-      sources."css-ripple-effect-1.0.5"
-      sources."cyclist-1.0.1"
       sources."d-1.0.1"
       sources."dashdash-1.14.1"
       sources."date-format-3.0.0"
@@ -90206,6 +90926,7 @@ in
       sources."decode-uri-component-0.2.0"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
+      sources."deep-is-0.1.4"
       (sources."default-compare-1.0.0" // {
         dependencies = [
           sources."kind-of-5.1.0"
@@ -90215,15 +90936,15 @@ in
       sources."defer-to-connect-1.1.3"
       sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
-      (sources."del-5.1.0" // {
+      (sources."del-6.0.0" // {
         dependencies = [
           sources."rimraf-3.0.2"
         ];
       })
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
+      sources."denque-2.0.1"
       sources."depd-1.1.2"
-      sources."des.js-1.0.1"
       sources."destroy-1.0.4"
       sources."detect-file-1.0.0"
       sources."detect-libc-1.0.3"
@@ -90235,15 +90956,10 @@ in
         ];
       })
       sources."diff-4.0.2"
-      (sources."diffie-hellman-5.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
       sources."difunc-0.0.4"
       sources."dir-glob-3.0.1"
-      sources."diskusage-1.1.3"
-      sources."domain-browser-1.2.0"
+      sources."diskusage-ng-1.0.2"
+      sources."doctrine-3.0.0"
       sources."dotenv-8.6.0"
       sources."duplexer3-0.1.4"
       (sources."duplexify-3.7.1" // {
@@ -90256,60 +90972,73 @@ in
       sources."each-props-1.3.2"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      (sources."elliptic-6.5.4" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-          sources."inherits-2.0.4"
-        ];
-      })
-      sources."emojis-list-3.0.0"
+      sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
-      (sources."encoding-0.1.13" // {
-        dependencies = [
-          sources."iconv-lite-0.6.3"
-        ];
-      })
       sources."end-of-stream-1.4.4"
-      (sources."engine.io-3.4.2" // {
+      (sources."engine.io-6.0.1" // {
         dependencies = [
-          sources."cookie-0.3.1"
-          sources."debug-4.1.1"
-          sources."ms-2.1.3"
-        ];
-      })
-      (sources."engine.io-client-3.4.4" // {
-        dependencies = [
-          sources."component-emitter-1.3.0"
-          sources."debug-3.1.0"
-          sources."parseqs-0.0.6"
-          sources."parseuri-0.0.6"
-          sources."ws-6.1.4"
+          sources."cookie-0.4.2"
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+          sources."ws-8.2.3"
         ];
       })
-      sources."engine.io-parser-2.2.1"
-      sources."enhanced-resolve-4.5.0"
-      sources."errno-0.1.8"
+      sources."engine.io-parser-5.0.3"
+      sources."enhanced-resolve-5.9.2"
+      sources."enquirer-2.3.6"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.53"
+      sources."es5-ext-0.10.58"
       sources."es6-iterator-2.0.3"
-      sources."es6-promise-4.2.8"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
+      sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
-      sources."eslint-scope-4.0.3"
+      (sources."eslint-7.32.0" // {
+        dependencies = [
+          sources."ajv-6.12.6"
+          sources."ansi-regex-5.0.1"
+          sources."debug-4.3.3"
+          sources."escape-string-regexp-4.0.0"
+          (sources."eslint-utils-2.1.0" // {
+            dependencies = [
+              sources."eslint-visitor-keys-1.3.0"
+            ];
+          })
+          sources."ignore-4.0.6"
+          sources."js-yaml-3.14.1"
+          sources."json-schema-traverse-0.4.1"
+          sources."ms-2.1.2"
+          sources."strip-ansi-6.0.1"
+          sources."strip-json-comments-3.1.1"
+        ];
+      })
+      sources."eslint-config-prettier-8.3.0"
+      sources."eslint-plugin-prettier-3.4.1"
+      sources."eslint-scope-5.1.1"
+      sources."eslint-utils-3.0.0"
+      sources."eslint-visitor-keys-2.1.0"
+      (sources."espree-7.3.1" // {
+        dependencies = [
+          sources."eslint-visitor-keys-1.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."etag-1.8.1"
       sources."event-emitter-0.3.5"
       sources."eventemitter3-2.0.3"
-      sources."events-3.3.0"
-      sources."evp_bytestokey-1.0.3"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -90331,7 +91060,7 @@ in
       sources."expand-tilde-2.0.2"
       sources."express-4.17.1"
       sources."express-normalize-query-params-middleware-0.5.1"
-      sources."express-openapi-7.0.1"
+      sources."express-openapi-9.3.0"
       (sources."ext-1.6.0" // {
         dependencies = [
           sources."type-2.6.0"
@@ -90343,7 +91072,7 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."external-editor-2.2.0"
+      sources."external-editor-3.1.0"
       (sources."extglob-2.0.4" // {
         dependencies = [
           sources."define-property-1.0.0"
@@ -90353,16 +91082,18 @@ in
       sources."extsprintf-1.3.0"
       sources."fancy-log-1.3.3"
       sources."fast-deep-equal-3.1.3"
+      sources."fast-diff-1.2.0"
       sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fast-levenshtein-1.1.4"
+      sources."fast-levenshtein-2.0.6"
       sources."fastq-1.13.0"
-      sources."figgy-pudding-3.5.2"
-      sources."figures-2.0.0"
+      sources."figlet-1.5.2"
+      sources."figures-3.2.0"
+      sources."file-entry-cache-6.0.1"
+      sources."file-type-16.5.3"
       sources."file-uri-to-path-1.0.0"
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
-      sources."find-cache-dir-3.3.2"
       sources."find-up-1.1.2"
       (sources."findup-sync-3.0.0" // {
         dependencies = [
@@ -90377,6 +91108,12 @@ in
       })
       sources."fined-1.2.0"
       sources."flagged-respawn-1.0.1"
+      (sources."flat-cache-3.0.4" // {
+        dependencies = [
+          sources."flatted-3.2.5"
+          sources."rimraf-3.0.2"
+        ];
+      })
       sources."flatted-2.0.2"
       (sources."flush-write-stream-1.1.1" // {
         dependencies = [
@@ -90385,6 +91122,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
+      sources."follow-redirects-1.14.9"
       sources."for-in-1.0.2"
       sources."for-own-1.0.0"
       sources."forever-agent-0.6.1"
@@ -90392,24 +91130,10 @@ in
       sources."forwarded-0.2.0"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
-      (sources."from2-2.3.0" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."fs-extra-9.0.1"
+      sources."fs-extra-8.1.0"
       sources."fs-minipass-1.2.7"
       sources."fs-mkdirp-stream-1.0.0"
-      sources."fs-routes-7.0.1"
-      (sources."fs-write-stream-atomic-1.0.10" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
+      sources."fs-routes-9.0.3"
       sources."fs.realpath-1.0.0"
       sources."fsevents-1.2.13"
       (sources."fstream-1.0.12" // {
@@ -90418,13 +91142,9 @@ in
         ];
       })
       sources."function-bind-1.1.1"
-      (sources."gauge-2.7.4" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."string-width-1.0.2"
-        ];
-      })
-      sources."get-caller-file-1.0.3"
+      sources."functional-red-black-tree-1.0.1"
+      sources."gauge-2.7.4"
+      sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
@@ -90443,39 +91163,90 @@ in
       sources."glob-watcher-5.0.5"
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
-      sources."globby-10.0.2"
+      sources."globals-13.12.1"
+      sources."globby-11.1.0"
       sources."glogg-1.0.2"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.9"
       sources."gulp-4.0.2"
-      (sources."gulp-clean-css-4.3.0" // {
+      (sources."gulp-cli-2.3.0" // {
         dependencies = [
-          sources."through2-3.0.1"
+          sources."ansi-colors-1.1.0"
+          sources."cliui-3.2.0"
+          sources."get-caller-file-1.0.3"
+          sources."wrap-ansi-2.1.0"
+          sources."y18n-3.2.2"
+          sources."yargs-7.1.2"
+          sources."yargs-parser-5.0.1"
         ];
       })
-      sources."gulp-cli-2.3.0"
-      sources."gulp-concat-2.6.1"
-      (sources."gulp-dart-sass-1.0.2" // {
+      (sources."gulp-eslint-6.0.0" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ajv-6.12.6"
+          sources."ansi-regex-4.1.0"
           sources."ansi-styles-3.2.1"
+          sources."astral-regex-1.0.0"
           sources."chalk-2.4.2"
-          sources."strip-ansi-4.0.0"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          (sources."cross-spawn-6.0.5" // {
+            dependencies = [
+              sources."semver-5.7.1"
+            ];
+          })
+          sources."debug-4.3.3"
+          sources."emoji-regex-7.0.3"
+          sources."eslint-6.8.0"
+          sources."eslint-utils-1.4.3"
+          sources."eslint-visitor-keys-1.3.0"
+          sources."espree-6.2.1"
+          sources."file-entry-cache-5.0.1"
+          sources."flat-cache-2.0.1"
+          sources."globals-12.4.0"
+          sources."has-flag-3.0.0"
+          sources."ignore-4.0.6"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."js-yaml-3.14.1"
+          sources."json-schema-traverse-0.4.1"
+          sources."levn-0.3.0"
+          sources."mkdirp-0.5.5"
+          sources."ms-2.1.2"
+          sources."optionator-0.8.3"
+          sources."path-key-2.0.1"
+          sources."prelude-ls-1.1.2"
+          sources."regexpp-2.0.1"
+          sources."rimraf-2.6.3"
+          sources."semver-6.3.0"
+          sources."shebang-command-1.2.0"
+          sources."shebang-regex-1.0.0"
+          sources."slice-ansi-2.1.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+          sources."strip-json-comments-3.1.1"
           sources."supports-color-5.5.0"
+          sources."table-5.4.6"
+          sources."type-check-0.3.2"
+          sources."type-fest-0.8.1"
         ];
       })
       (sources."gulp-plumber-1.2.1" // {
         dependencies = [
+          sources."ansi-styles-2.2.1"
           sources."arr-diff-1.1.0"
           sources."arr-union-2.1.0"
           sources."array-slice-0.2.3"
+          sources."chalk-1.1.3"
           sources."extend-shallow-1.1.4"
           sources."kind-of-1.1.0"
           sources."plugin-error-0.1.2"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      (sources."gulp-sourcemaps-3.0.0" // {
+        dependencies = [
+          sources."acorn-6.4.2"
         ];
       })
-      sources."gulp-sourcemaps-2.6.5"
-      sources."gulp-tslint-8.1.4"
       (sources."gulp-typescript-5.0.1" // {
         dependencies = [
           sources."ansi-colors-3.2.4"
@@ -90486,16 +91257,15 @@ in
       })
       sources."gulplog-1.0.0"
       sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
-      sources."has-1.0.3"
-      sources."has-ansi-2.0.0"
-      (sources."has-binary2-1.0.3" // {
+      (sources."har-validator-5.1.5" // {
         dependencies = [
-          sources."isarray-2.0.1"
+          sources."ajv-6.12.6"
+          sources."json-schema-traverse-0.4.1"
         ];
       })
-      sources."has-cors-1.1.0"
-      sources."has-flag-3.0.0"
+      sources."has-1.0.3"
+      sources."has-ansi-2.0.0"
+      sources."has-flag-4.0.0"
       sources."has-symbols-1.0.3"
       sources."has-unicode-2.0.1"
       sources."has-value-1.0.0"
@@ -90509,42 +91279,35 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      (sources."hash-base-3.1.0" // {
-        dependencies = [
-          sources."inherits-2.0.4"
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."hash.js-1.1.7"
-      (sources."hls-b24.js-0.12.3" // {
-        dependencies = [
-          sources."eventemitter3-3.1.0"
-        ];
-      })
-      sources."hmac-drbg-1.0.1"
+      sources."highlight.js-10.7.3"
       sources."homedir-polyfill-1.0.3"
       sources."hosted-git-info-2.8.9"
       sources."http-cache-semantics-4.1.0"
       sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
-      sources."https-browserify-1.0.0"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
-      sources."iferr-0.1.5"
       sources."ignore-5.2.0"
       sources."ignore-walk-3.0.4"
-      sources."immutable-4.0.0"
+      sources."import-fresh-3.3.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
-      sources."indexof-0.0.1"
-      sources."infer-owner-1.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.8"
-      sources."inquirer-3.0.6"
+      (sources."inquirer-7.3.3" // {
+        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."interpret-1.4.0"
+      sources."inversify-5.1.1"
       sources."invert-kv-1.0.0"
       sources."ip-1.1.5"
+      sources."ip-num-1.3.4"
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-1.0.0"
       sources."is-accessor-descriptor-1.0.0"
@@ -90557,7 +91320,7 @@ in
       sources."is-dir-1.0.0"
       sources."is-extendable-0.1.1"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-fullwidth-code-point-1.0.0"
       sources."is-glob-4.0.3"
       sources."is-negated-glob-1.0.0"
       sources."is-number-7.0.0"
@@ -90566,36 +91329,32 @@ in
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.2.2"
       sources."is-relative-1.0.0"
-      sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-unc-path-1.0.0"
       sources."is-utf8-0.2.1"
       sources."is-valid-glob-1.0.0"
       sources."is-windows-1.0.2"
-      sources."is-wsl-1.1.0"
       sources."isarray-0.0.1"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
+      sources."isomorphic-ws-4.0.1"
       sources."isstream-0.1.2"
-      (sources."jest-worker-26.6.2" // {
+      sources."js-tokens-4.0.0"
+      (sources."js-yaml-4.1.0" // {
         dependencies = [
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
+          sources."argparse-2.0.1"
         ];
       })
-      sources."js-tokens-4.0.0"
-      sources."js-yaml-3.14.0"
       sources."jsbn-0.1.1"
       sources."json-buffer-3.0.0"
-      sources."json-parse-better-errors-1.0.2"
       sources."json-schema-0.4.0"
-      sources."json-schema-traverse-0.4.1"
+      sources."json-schema-traverse-1.0.0"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."json-stringify-safe-5.0.1"
-      sources."json5-1.0.1"
-      (sources."jsonfile-6.1.0" // {
+      sources."jsonfile-4.0.0"
+      (sources."jsonrpc2-ws-1.0.0-beta9" // {
         dependencies = [
-          sources."universalify-2.0.0"
+          sources."eventemitter3-3.1.2"
         ];
       })
       sources."jsprim-1.4.2"
@@ -90613,16 +91372,12 @@ in
       })
       sources."lcid-1.0.0"
       sources."lead-1.0.0"
+      sources."levn-0.4.1"
       sources."liftoff-3.1.0"
       sources."load-json-file-1.1.0"
-      sources."loader-runner-2.4.0"
-      sources."loader-utils-1.4.0"
-      sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
-      sources."lodash.clone-4.5.0"
-      sources."lodash.clonedeep-4.5.0"
+      sources."lodash-4.17.21"
       sources."lodash.merge-4.6.2"
-      sources."lodash.some-4.6.0"
+      sources."lodash.truncate-4.4.2"
       (sources."log4js-6.3.0" // {
         dependencies = [
           sources."debug-4.3.3"
@@ -90633,14 +91388,9 @@ in
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
       sources."lru-queue-0.1.0"
-      (sources."make-dir-3.1.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
+      sources."make-error-1.3.6"
       sources."make-iterator-1.0.1"
       sources."map-cache-0.2.2"
-      sources."map-stream-0.0.7"
       sources."map-visit-1.0.0"
       (sources."matchdep-2.0.0" // {
         dependencies = [
@@ -90655,39 +91405,18 @@ in
           sources."to-regex-range-2.1.1"
         ];
       })
-      sources."material-design-icons-3.0.1"
-      sources."material-design-lite-1.3.0"
-      sources."md5.js-1.3.5"
       sources."media-typer-0.3.0"
-      (sources."memoizee-0.4.15" // {
-        dependencies = [
-          sources."next-tick-1.1.0"
-        ];
-      })
-      (sources."memory-fs-0.5.0" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
+      sources."memoizee-0.4.15"
+      sources."memory-pager-1.5.0"
       sources."merge-descriptors-1.0.1"
-      sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
       sources."micromatch-4.0.4"
-      (sources."miller-rabin-4.0.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
       sources."mime-1.6.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."mimic-fn-1.2.0"
+      sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."minimalistic-assert-1.0.1"
-      sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."minipass-2.9.0" // {
@@ -90695,75 +91424,84 @@ in
           sources."yallist-3.1.1"
         ];
       })
-      (sources."minipass-collect-1.0.2" // {
-        dependencies = [
-          sources."minipass-3.1.6"
-        ];
-      })
-      (sources."minipass-flush-1.0.5" // {
-        dependencies = [
-          sources."minipass-3.1.6"
-        ];
-      })
-      (sources."minipass-pipeline-1.2.4" // {
-        dependencies = [
-          sources."minipass-3.1.6"
-        ];
-      })
       sources."minizlib-1.3.3"
-      (sources."mirakurun-3.3.1" // {
+      (sources."mirakurun-3.9.0-beta.26" // {
         dependencies = [
-          sources."aribts-1.3.5"
+          sources."ajv-6.12.6"
           sources."eventemitter3-4.0.7"
-          sources."express-openapi-6.0.0"
-          sources."fs-routes-2.0.0"
-          sources."openapi-default-setter-2.1.0"
-          sources."openapi-framework-0.26.0"
-          sources."openapi-jsonschema-parameters-1.2.0"
-          sources."openapi-request-coercer-2.4.0"
-          sources."openapi-request-validator-4.2.0"
-          sources."openapi-response-validator-4.0.0"
-          (sources."openapi-schema-validator-3.0.3" // {
+          (sources."express-openapi-8.0.0" // {
             dependencies = [
-              sources."openapi-types-1.3.4"
+              sources."openapi-types-8.0.0"
             ];
           })
-          (sources."openapi-security-handler-2.0.4" // {
+          sources."fs-routes-8.0.0"
+          sources."json-schema-traverse-0.4.1"
+          (sources."openapi-default-setter-8.0.0" // {
             dependencies = [
-              sources."openapi-types-1.3.4"
+              sources."openapi-types-8.0.0"
             ];
           })
-          sources."openapi-types-1.3.5"
+          (sources."openapi-framework-8.0.0" // {
+            dependencies = [
+              sources."js-yaml-3.14.1"
+              sources."openapi-types-8.0.0"
+            ];
+          })
+          (sources."openapi-jsonschema-parameters-8.0.0" // {
+            dependencies = [
+              sources."openapi-types-8.0.0"
+            ];
+          })
+          (sources."openapi-request-coercer-8.0.0" // {
+            dependencies = [
+              sources."openapi-types-8.0.0"
+            ];
+          })
+          (sources."openapi-request-validator-8.0.0" // {
+            dependencies = [
+              sources."openapi-types-8.0.0"
+            ];
+          })
+          (sources."openapi-response-validator-8.0.0" // {
+            dependencies = [
+              sources."openapi-types-8.0.0"
+            ];
+          })
+          (sources."openapi-schema-validator-8.0.0" // {
+            dependencies = [
+              sources."openapi-types-8.0.0"
+            ];
+          })
+          (sources."openapi-security-handler-8.0.0" // {
+            dependencies = [
+              sources."openapi-types-8.0.0"
+            ];
+          })
+          sources."openapi-types-7.2.3"
+          sources."swagger-ui-dist-4.6.2"
         ];
       })
-      sources."mississippi-3.0.0"
-      sources."mithril-2.0.4"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
         ];
       })
       sources."mkdirp-1.0.4"
-      sources."moment-2.29.1"
+      sources."mongodb-4.4.1"
+      sources."mongodb-connection-string-url-2.5.2"
       (sources."morgan-1.10.0" // {
         dependencies = [
           sources."depd-2.0.0"
         ];
       })
-      (sources."move-concurrently-1.0.1" // {
-        dependencies = [
-          sources."mkdirp-0.5.5"
-        ];
-      })
       sources."ms-2.0.0"
-      (sources."multer-1.4.2" // {
+      (sources."multer-1.4.3" // {
         dependencies = [
           sources."mkdirp-0.5.5"
         ];
       })
-      sources."munin-plugin-0.0.9"
       sources."mute-stdout-1.0.1"
-      sources."mute-stream-0.0.7"
+      sources."mute-stream-0.0.8"
       (sources."mysql-2.18.1" // {
         dependencies = [
           sources."isarray-1.0.0"
@@ -90771,8 +91509,10 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
+      sources."mz-2.7.0"
       sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
+      sources."natural-compare-1.4.0"
       (sources."needle-2.9.1" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -90780,10 +91520,9 @@ in
         ];
       })
       sources."negotiator-0.6.3"
-      sources."neo-async-2.6.2"
-      sources."next-tick-1.0.0"
-      sources."node-addon-api-2.0.0"
-      sources."node-fetch-1.6.3"
+      sources."next-tick-1.1.0"
+      sources."nice-try-1.0.5"
+      sources."node-addon-api-3.2.1"
       (sources."node-gyp-3.8.0" // {
         dependencies = [
           sources."mkdirp-0.5.5"
@@ -90792,19 +91531,7 @@ in
           sources."tar-2.2.2"
         ];
       })
-      (sources."node-libs-browser-2.2.1" // {
-        dependencies = [
-          sources."buffer-4.9.2"
-          sources."isarray-1.0.0"
-          sources."punycode-1.4.1"
-          (sources."readable-stream-2.3.7" // {
-            dependencies = [
-              sources."string_decoder-1.1.1"
-            ];
-          })
-          sources."stream-http-2.8.3"
-        ];
-      })
+      sources."node-gyp-build-4.3.0"
       (sources."node-pre-gyp-0.11.0" // {
         dependencies = [
           sources."mkdirp-0.5.5"
@@ -90827,7 +91554,6 @@ in
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
-      sources."object-component-0.0.3"
       (sources."object-copy-0.1.0" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -90848,59 +91574,53 @@ in
       sources."object.map-1.0.1"
       sources."object.pick-1.3.0"
       sources."object.reduce-1.0.1"
-      sources."office-ui-fabric-react-7.183.1"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
-      sources."onetime-2.0.1"
-      (sources."openapi-default-setter-7.2.3" // {
+      sources."onetime-5.1.2"
+      (sources."openapi-default-setter-9.3.1" // {
         dependencies = [
-          sources."openapi-types-7.2.3"
+          sources."openapi-types-9.3.1"
         ];
       })
-      (sources."openapi-framework-7.5.0" // {
+      (sources."openapi-framework-9.3.1" // {
         dependencies = [
-          sources."openapi-types-7.2.3"
+          sources."js-yaml-3.14.1"
+          sources."openapi-types-9.3.1"
         ];
       })
-      (sources."openapi-jsonschema-parameters-7.2.3" // {
+      (sources."openapi-jsonschema-parameters-9.3.1" // {
         dependencies = [
-          sources."openapi-types-7.2.3"
+          sources."openapi-types-9.3.1"
         ];
       })
-      (sources."openapi-request-coercer-7.5.0" // {
+      (sources."openapi-request-coercer-9.3.1" // {
         dependencies = [
-          sources."openapi-types-7.2.3"
+          sources."openapi-types-9.3.1"
         ];
       })
-      (sources."openapi-request-validator-7.4.0" // {
+      (sources."openapi-request-validator-9.3.1" // {
         dependencies = [
-          sources."openapi-types-7.2.3"
+          sources."openapi-types-9.3.1"
         ];
       })
-      (sources."openapi-response-validator-7.4.0" // {
+      (sources."openapi-response-validator-9.3.1" // {
         dependencies = [
-          sources."openapi-types-7.2.3"
+          sources."openapi-types-9.3.1"
         ];
       })
-      (sources."openapi-schema-validator-7.2.3" // {
+      (sources."openapi-schema-validator-9.3.1" // {
         dependencies = [
-          sources."openapi-types-7.2.3"
+          sources."openapi-types-9.3.1"
         ];
       })
-      (sources."openapi-security-handler-7.2.3" // {
+      (sources."openapi-security-handler-9.3.1" // {
         dependencies = [
-          sources."openapi-types-7.2.3"
+          sources."openapi-types-9.3.1"
         ];
       })
-      sources."openapi-types-7.0.1"
-      (sources."opencollective-1.0.3" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
-      sources."opencollective-postinstall-2.0.3"
-      sources."opn-4.0.2"
+      sources."openapi-types-9.3.0"
+      sources."optionator-0.9.1"
       (sources."ordered-read-streams-1.0.1" // {
         dependencies = [
           sources."isarray-1.0.0"
@@ -90908,96 +91628,64 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."os-browserify-0.3.0"
       sources."os-homedir-1.0.2"
       sources."os-locale-1.4.0"
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
       sources."p-cancelable-1.1.0"
-      sources."p-limit-3.1.0"
-      (sources."p-locate-4.1.0" // {
-        dependencies = [
-          sources."p-limit-2.3.0"
-        ];
-      })
-      sources."p-map-3.0.0"
-      sources."p-try-2.2.0"
+      sources."p-map-4.0.0"
       (sources."package-json-6.5.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."packet-reader-1.0.0"
-      sources."pako-1.0.11"
-      (sources."parallel-transform-1.2.0" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."parse-asn1-5.1.6"
+      sources."parent-module-1.0.1"
+      sources."parent-require-1.0.0"
       sources."parse-filepath-1.0.2"
       sources."parse-json-2.2.0"
       sources."parse-node-version-1.0.1"
       sources."parse-passwd-1.0.0"
-      sources."parseqs-0.0.5"
-      sources."parseuri-0.0.5"
+      sources."parse5-5.1.1"
+      (sources."parse5-htmlparser2-tree-adapter-6.0.1" // {
+        dependencies = [
+          sources."parse5-6.0.1"
+        ];
+      })
       sources."parseurl-1.3.3"
       sources."pascalcase-0.1.1"
-      sources."path-browserify-0.0.1"
       sources."path-dirname-1.0.2"
       sources."path-exists-2.1.0"
       sources."path-is-absolute-1.0.1"
+      sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
       sources."path-root-0.1.1"
       sources."path-root-regex-0.1.2"
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
-      sources."pbkdf2-3.1.2"
+      sources."peek-readable-4.1.0"
       sources."performance-now-2.1.0"
-      (sources."pg-8.3.3" // {
-        dependencies = [
-          sources."semver-4.3.2"
-        ];
-      })
-      sources."pg-connection-string-2.5.0"
-      sources."pg-int8-1.0.1"
-      sources."pg-pool-3.5.1"
-      sources."pg-protocol-1.5.0"
-      sources."pg-types-2.2.0"
-      sources."pgpass-1.0.5"
+      sources."picocolors-0.2.1"
       sources."picomatch-2.3.1"
       sources."pify-2.3.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      (sources."pkg-dir-4.2.0" // {
+      (sources."plugin-error-1.0.1" // {
         dependencies = [
-          sources."find-up-4.1.0"
-          sources."path-exists-4.0.0"
+          sources."ansi-colors-1.1.0"
         ];
       })
-      sources."plugin-error-1.0.1"
       sources."posix-character-classes-0.1.1"
-      sources."postgres-array-2.0.0"
-      sources."postgres-bytea-1.0.0"
-      sources."postgres-date-1.0.7"
-      sources."postgres-interval-1.2.0"
+      sources."postcss-7.0.39"
+      sources."prelude-ls-1.2.1"
       sources."prepend-http-2.0.0"
+      sources."prettier-2.4.1"
+      sources."prettier-linter-helpers-1.0.0"
       sources."pretty-hrtime-1.0.3"
-      sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
-      sources."promise-inflight-1.0.1"
+      sources."progress-2.0.3"
       sources."promise-queue-2.2.5"
-      sources."prop-types-15.8.1"
       sources."proxy-addr-2.0.7"
-      sources."prr-1.0.1"
       sources."psl-1.8.0"
-      (sources."public-encrypt-4.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
       sources."pump-3.0.0"
       (sources."pumpify-1.5.1" // {
         dependencies = [
@@ -91006,17 +91694,12 @@ in
       })
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
-      sources."querystring-0.2.0"
-      sources."querystring-es3-0.2.1"
       sources."queue-microtask-1.2.3"
-      sources."randombytes-2.1.0"
-      sources."randomfill-1.0.4"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
       sources."rc-1.2.8"
-      sources."react-16.14.0"
-      sources."react-dom-16.14.0"
-      sources."react-is-16.13.1"
+      sources."react-17.0.2"
+      sources."react-dom-17.0.2"
       (sources."read-pkg-1.1.0" // {
         dependencies = [
           sources."path-type-1.1.0"
@@ -91024,6 +91707,7 @@ in
       })
       sources."read-pkg-up-1.0.1"
       sources."readable-stream-3.6.0"
+      sources."readable-web-to-node-stream-3.0.2"
       (sources."readdirp-2.2.1" // {
         dependencies = [
           sources."braces-2.3.2"
@@ -91039,8 +91723,9 @@ in
         ];
       })
       sources."rechoir-0.6.2"
-      sources."regenerator-runtime-0.10.5"
+      sources."reflect-metadata-0.1.13"
       sources."regex-not-1.0.2"
+      sources."regexpp-3.2.0"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."remove-bom-buffer-3.0.0"
@@ -91056,38 +91741,32 @@ in
         ];
       })
       sources."require-directory-2.1.1"
+      sources."require-from-string-2.0.2"
       sources."require-main-filename-1.0.1"
       sources."resolve-1.22.0"
       sources."resolve-dir-1.0.1"
+      sources."resolve-from-4.0.0"
       sources."resolve-options-1.1.0"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
-      sources."restore-cursor-2.0.0"
+      sources."restore-cursor-3.1.0"
       sources."ret-0.1.15"
       sources."reusify-1.0.4"
       sources."rfdc-1.3.0"
       sources."rimraf-2.7.1"
-      sources."ripemd160-2.0.2"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."run-queue-1.0.3"
-      sources."rx-4.1.0"
-      sources."safe-buffer-5.1.2"
-      sources."safe-regex-1.1.0"
-      sources."safer-buffer-2.1.2"
-      (sources."sass-1.49.9" // {
+      (sources."rxjs-6.6.7" // {
         dependencies = [
-          sources."anymatch-3.1.2"
-          sources."binary-extensions-2.2.0"
-          sources."chokidar-3.5.3"
-          sources."fsevents-2.3.2"
-          sources."is-binary-path-2.1.0"
-          sources."readdirp-3.6.0"
+          sources."tslib-1.14.1"
         ];
       })
+      sources."safe-buffer-5.1.2"
+      sources."safe-regex-1.1.0"
+      sources."safer-buffer-2.1.2"
+      sources."saslprep-1.0.3"
       sources."sax-1.2.4"
-      sources."scheduler-0.19.1"
-      sources."schema-utils-2.7.1"
+      sources."scheduler-0.20.2"
       sources."semver-7.3.5"
       sources."semver-greatest-satisfied-range-1.1.0"
       (sources."send-0.17.1" // {
@@ -91095,7 +91774,6 @@ in
           sources."ms-2.1.1"
         ];
       })
-      sources."serialize-javascript-5.0.1"
       sources."serve-static-1.14.1"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
@@ -91103,12 +91781,19 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."setimmediate-1.0.5"
       sources."setprototypeof-1.1.1"
       sources."sha.js-2.4.11"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."sift-7.0.1"
       sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
+      (sources."slice-ansi-4.0.0" // {
+        dependencies = [
+          sources."is-fullwidth-code-point-3.0.0"
+        ];
+      })
+      sources."smart-buffer-4.2.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -91138,57 +91823,35 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      (sources."socket.io-2.3.0" // {
-        dependencies = [
-          sources."debug-4.1.1"
-          sources."ms-2.1.3"
-        ];
-      })
-      sources."socket.io-adapter-1.1.2"
-      (sources."socket.io-client-2.3.0" // {
+      (sources."socket.io-4.3.1" // {
         dependencies = [
-          sources."base64-arraybuffer-0.1.5"
-          sources."debug-4.1.1"
-          sources."isarray-2.0.1"
-          sources."ms-2.1.3"
-          (sources."socket.io-parser-3.3.2" // {
-            dependencies = [
-              sources."component-emitter-1.3.0"
-              sources."debug-3.1.0"
-              sources."ms-2.0.0"
-            ];
-          })
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
         ];
       })
-      (sources."socket.io-parser-3.4.1" // {
+      sources."socket.io-adapter-2.3.3"
+      (sources."socket.io-parser-4.0.4" // {
         dependencies = [
-          sources."debug-4.1.1"
-          sources."isarray-2.0.1"
-          sources."ms-2.1.3"
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
         ];
       })
-      sources."source-list-map-2.0.1"
+      sources."socks-2.6.2"
       sources."source-map-0.6.1"
-      sources."source-map-js-1.0.2"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-support-0.5.21"
+      sources."source-map-support-0.5.20"
       sources."source-map-url-0.4.1"
       sources."sparkles-1.0.1"
+      sources."sparse-bitfield-3.0.3"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.11"
       sources."split-string-3.1.0"
-      sources."split2-4.1.0"
       sources."sprintf-js-1.0.3"
-      sources."sqlite3-5.0.0"
+      sources."sqlite3-5.0.2"
       sources."sqlstring-2.3.1"
       sources."sshpk-1.17.0"
-      (sources."ssri-8.0.1" // {
-        dependencies = [
-          sources."minipass-3.1.6"
-        ];
-      })
       sources."stack-trace-0.0.10"
       (sources."static-extend-0.1.2" // {
         dependencies = [
@@ -91208,38 +91871,17 @@ in
         ];
       })
       sources."statuses-1.5.0"
-      (sources."stream-browserify-2.0.2" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."stream-each-1.2.3"
       sources."stream-exhaust-1.0.2"
-      (sources."stream-http-3.2.0" // {
-        dependencies = [
-          sources."inherits-2.0.4"
-        ];
-      })
       sources."stream-shift-1.0.1"
       (sources."streamroller-2.2.4" // {
         dependencies = [
           sources."date-format-2.1.0"
           sources."debug-4.3.3"
-          sources."fs-extra-8.1.0"
-          sources."jsonfile-4.0.0"
           sources."ms-2.1.2"
-          sources."universalify-0.1.2"
         ];
       })
       sources."streamsearch-0.1.2"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."strip-ansi-4.0.0"
-        ];
-      })
+      sources."string-width-1.0.2"
       (sources."string_decoder-1.3.0" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
@@ -91249,13 +91891,22 @@ in
       sources."strip-bom-2.0.0"
       sources."strip-bom-string-1.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."supports-color-2.0.0"
+      sources."strtok3-6.3.0"
+      sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."sver-compat-1.5.0"
       sources."swagger-schema-official-2.0.0-bab6bed"
-      sources."swagger-ui-dist-3.34.0"
+      sources."swagger-ui-dist-3.52.5"
+      (sources."table-6.8.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."tail-2.2.4"
-      sources."tapable-1.1.3"
+      sources."tapable-2.2.1"
       (sources."tar-4.4.19" // {
         dependencies = [
           sources."mkdirp-0.5.5"
@@ -91263,13 +91914,9 @@ in
           sources."yallist-3.1.1"
         ];
       })
-      (sources."terser-5.12.0" // {
-        dependencies = [
-          sources."acorn-8.7.0"
-          sources."source-map-0.7.3"
-        ];
-      })
-      sources."terser-webpack-plugin-4.2.2"
+      sources."text-table-0.2.0"
+      sources."thenify-3.3.1"
+      sources."thenify-all-1.6.0"
       sources."through-2.3.8"
       (sources."through2-2.0.5" // {
         dependencies = [
@@ -91280,12 +91927,9 @@ in
       })
       sources."through2-filter-3.0.0"
       sources."time-stamp-1.1.0"
-      sources."timers-browserify-2.0.12"
       sources."timers-ext-0.1.7"
       sources."tmp-0.0.33"
       sources."to-absolute-glob-2.0.2"
-      sources."to-array-0.1.4"
-      sources."to-arraybuffer-1.0.1"
       (sources."to-object-path-0.3.0" // {
         dependencies = [
           sources."kind-of-3.2.2"
@@ -91296,42 +91940,47 @@ in
       sources."to-regex-range-5.0.1"
       sources."to-through-2.0.0"
       sources."toidentifier-1.0.0"
+      sources."token-types-4.2.0"
       sources."tough-cookie-2.5.0"
-      (sources."ts-loader-8.0.4" // {
+      sources."tr46-3.0.0"
+      sources."ts-loader-9.2.6"
+      sources."ts-log-2.2.4"
+      (sources."ts-node-10.4.0" // {
         dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."chalk-2.4.2"
-          sources."semver-6.3.0"
-          sources."supports-color-5.5.0"
+          sources."acorn-8.7.0"
         ];
       })
-      sources."ts-log-2.2.4"
-      sources."tslib-1.14.1"
-      (sources."tslint-6.1.3" // {
+      sources."tslib-2.3.1"
+      (sources."tsutils-3.21.0" // {
         dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."chalk-2.4.2"
-          sources."mkdirp-0.5.5"
-          sources."semver-5.7.1"
-          sources."supports-color-5.5.0"
+          sources."tslib-1.14.1"
         ];
       })
-      sources."tsutils-2.29.0"
-      sources."tty-browserify-0.0.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-1.2.0"
+      sources."type-check-0.4.0"
+      sources."type-fest-0.20.2"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."typescript-4.0.3"
+      (sources."typeorm-0.2.38" // {
+        dependencies = [
+          sources."buffer-6.0.3"
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."typescript-4.4.4"
       sources."unc-path-regex-0.1.2"
-      sources."undertaker-1.3.0"
+      (sources."undertaker-1.3.0" // {
+        dependencies = [
+          sources."fast-levenshtein-1.1.4"
+        ];
+      })
       sources."undertaker-registry-1.0.1"
       sources."union-value-1.0.1"
-      sources."unique-filename-1.1.1"
-      sources."unique-slug-2.0.2"
       sources."unique-stream-2.3.1"
-      sources."universalify-1.0.0"
+      sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       (sources."unset-value-1.0.0" // {
         dependencies = [
@@ -91347,19 +91996,15 @@ in
       sources."upath-1.2.0"
       sources."uri-js-4.4.1"
       sources."urix-0.1.0"
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
       sources."url-join-4.0.1"
       sources."url-parse-lax-3.0.0"
-      sources."url-toolkit-2.2.5"
       sources."use-3.1.1"
-      sources."util-0.11.1"
+      sources."utf-8-validate-5.0.9"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."uuid-3.4.0"
+      sources."uws-9.148.0"
+      sources."v8-compile-cache-2.3.0"
       sources."v8flags-3.2.0"
       sources."validate-npm-package-license-3.0.4"
       sources."value-or-function-3.0.0"
@@ -91382,97 +92027,2015 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      (sources."vinyl-sourcemaps-apply-0.2.1" // {
+      sources."webidl-conversions-7.0.0"
+      sources."whatwg-url-11.0.0"
+      sources."which-1.3.1"
+      sources."which-module-1.0.0"
+      sources."wide-align-1.1.5"
+      sources."word-wrap-1.2.3"
+      (sources."wrap-ansi-7.0.0" // {
         dependencies = [
-          sources."source-map-0.5.7"
+          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."vm-browserify-1.1.2"
-      (sources."watchpack-1.7.5" // {
+      sources."wrappy-1.0.2"
+      (sources."write-1.0.3" // {
         dependencies = [
-          sources."anymatch-3.1.2"
-          sources."binary-extensions-2.2.0"
-          sources."chokidar-3.5.3"
-          sources."fsevents-2.3.2"
-          sources."is-binary-path-2.1.0"
-          sources."readdirp-3.6.0"
+          sources."mkdirp-0.5.5"
+        ];
+      })
+      sources."ws-6.2.2"
+      sources."xml2js-0.4.23"
+      sources."xmlbuilder-11.0.1"
+      sources."xtend-4.0.2"
+      sources."y18n-5.0.8"
+      sources."yallist-4.0.0"
+      (sources."yargonaut-1.1.4" // {
+        dependencies = [
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."supports-color-2.0.0"
         ];
       })
-      sources."watchpack-chokidar2-2.0.1"
-      (sources."webpack-4.44.2" // {
+      (sources."yargs-17.3.1" // {
         dependencies = [
-          sources."acorn-6.4.2"
+          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-21.0.1"
+        ];
+      })
+      sources."yargs-parser-20.2.9"
+      sources."yn-3.1.1"
+      sources."zen-observable-0.8.15"
+      sources."zen-observable-ts-1.2.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "DTV Software in Japan.";
+      homepage = "https://github.com/l3tnun/EPGStation-V2#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  "epgstation-client-../../applications/video/epgstation/client" = nodeEnv.buildNodePackage {
+    name = "epgstation-client";
+    packageName = "epgstation-client";
+    version = "2.6.20";
+    src = ../../applications/video/epgstation/client;
+    dependencies = [
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      sources."@babel/highlight-7.16.10"
+      (sources."@eslint/eslintrc-0.4.3" // {
+        dependencies = [
+          sources."acorn-7.4.1"
+          sources."eslint-visitor-keys-1.3.0"
+          sources."espree-7.3.1"
+          sources."ignore-4.0.6"
+        ];
+      })
+      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."@humanwhocodes/config-array-0.5.0"
+      sources."@humanwhocodes/object-schema-1.2.1"
+      sources."@intervolga/optimize-cssnano-plugin-1.0.6"
+      sources."@mdi/font-6.5.95"
+      sources."@mrmlnc/readdir-enhanced-2.2.1"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.8"
+      sources."@socket.io/base64-arraybuffer-1.0.2"
+      sources."@socket.io/component-emitter-3.0.0"
+      (sources."@soda/friendly-errors-webpack-plugin-1.8.1" // {
+        dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."chalk-3.0.0"
+          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."@soda/get-current-script-1.0.2"
+      sources."@types/body-parser-1.19.2"
+      sources."@types/connect-3.4.35"
+      sources."@types/connect-history-api-fallback-1.3.5"
+      sources."@types/express-4.17.13"
+      sources."@types/express-serve-static-core-4.17.28"
+      sources."@types/glob-7.2.0"
+      sources."@types/hls.js-0.13.3"
+      sources."@types/http-proxy-1.17.8"
+      sources."@types/json-schema-7.0.9"
+      sources."@types/json-stable-stringify-1.0.33"
+      sources."@types/lodash-4.14.178"
+      sources."@types/mime-1.3.2"
+      sources."@types/minimatch-3.0.5"
+      sources."@types/minimist-1.2.2"
+      sources."@types/node-17.0.21"
+      sources."@types/normalize-package-data-2.4.1"
+      sources."@types/parse-json-4.0.0"
+      sources."@types/q-1.5.5"
+      sources."@types/qs-6.9.7"
+      sources."@types/range-parser-1.2.4"
+      sources."@types/serve-static-1.13.10"
+      sources."@types/smoothscroll-polyfill-0.3.1"
+      sources."@types/socket.io-client-1.4.36"
+      sources."@types/source-list-map-0.1.2"
+      sources."@types/tapable-1.0.8"
+      (sources."@types/uglify-js-3.13.1" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      (sources."@types/webpack-4.41.32" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."@types/webpack-dev-server-3.11.6"
+      sources."@types/webpack-env-1.16.3"
+      (sources."@types/webpack-sources-3.2.0" // {
+        dependencies = [
+          sources."source-map-0.7.3"
+        ];
+      })
+      sources."@typescript-eslint/eslint-plugin-4.33.0"
+      sources."@typescript-eslint/experimental-utils-4.33.0"
+      sources."@typescript-eslint/parser-4.33.0"
+      sources."@typescript-eslint/scope-manager-4.33.0"
+      sources."@typescript-eslint/types-4.33.0"
+      sources."@typescript-eslint/typescript-estree-4.33.0"
+      sources."@typescript-eslint/visitor-keys-4.33.0"
+      sources."@vue/cli-overlay-4.5.15"
+      (sources."@vue/cli-plugin-eslint-4.5.12" // {
+        dependencies = [
+          sources."@nodelib/fs.stat-1.1.3"
+          sources."array-union-1.0.2"
+          (sources."braces-2.3.2" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."dir-glob-2.2.2"
+          sources."fast-glob-2.2.7"
+          (sources."fill-range-4.0.0" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."glob-parent-3.1.0"
+          sources."globby-9.2.0"
+          sources."ignore-4.0.6"
+          sources."is-glob-3.1.0"
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."micromatch-3.1.10"
+          (sources."path-type-3.0.0" // {
+            dependencies = [
+              sources."pify-3.0.0"
+            ];
+          })
+          sources."slash-2.0.0"
+          sources."to-regex-range-2.1.1"
+        ];
+      })
+      sources."@vue/cli-plugin-router-4.5.15"
+      (sources."@vue/cli-plugin-typescript-4.5.13" // {
+        dependencies = [
+          sources."@nodelib/fs.stat-1.1.3"
+          sources."array-union-1.0.2"
           sources."braces-2.3.2"
-          sources."cacache-12.0.4"
+          sources."dir-glob-2.2.2"
           sources."extend-shallow-2.0.1"
+          sources."fast-glob-2.2.7"
           sources."fill-range-4.0.0"
+          sources."glob-parent-3.1.0"
+          sources."globby-9.2.0"
+          sources."ignore-4.0.6"
+          sources."is-glob-3.1.0"
+          sources."is-number-3.0.0"
+          sources."kind-of-3.2.2"
+          sources."micromatch-3.1.10"
+          sources."path-type-3.0.0"
+          sources."pify-3.0.0"
+          sources."slash-2.0.0"
+          sources."to-regex-range-2.1.1"
+        ];
+      })
+      sources."@vue/cli-plugin-vuex-4.5.13"
+      (sources."@vue/cli-service-4.5.13" // {
+        dependencies = [
+          sources."@nodelib/fs.stat-1.1.3"
+          sources."acorn-7.4.1"
+          sources."array-union-1.0.2"
+          sources."braces-2.3.2"
+          sources."dir-glob-2.2.2"
+          sources."extend-shallow-2.0.1"
+          sources."fast-glob-2.2.7"
+          sources."fill-range-4.0.0"
+          sources."fs-extra-7.0.1"
+          sources."glob-parent-3.1.0"
+          sources."globby-9.2.0"
+          sources."ignore-4.0.6"
+          sources."is-glob-3.1.0"
+          sources."is-number-3.0.0"
+          sources."jsonfile-4.0.0"
+          sources."kind-of-3.2.2"
+          sources."micromatch-3.1.10"
+          sources."path-type-3.0.0"
+          sources."pify-3.0.0"
+          sources."slash-2.0.0"
+          sources."ssri-8.0.1"
+          sources."to-regex-range-2.1.1"
+          sources."universalify-0.1.2"
+        ];
+      })
+      (sources."@vue/cli-shared-utils-4.5.15" // {
+        dependencies = [
+          sources."lru-cache-5.1.1"
+          sources."semver-6.3.0"
+          sources."yallist-3.1.1"
+        ];
+      })
+      (sources."@vue/component-compiler-utils-3.3.0" // {
+        dependencies = [
+          sources."hash-sum-1.0.2"
+          sources."lru-cache-4.1.5"
+          sources."source-map-0.6.1"
+          sources."yallist-2.1.2"
+        ];
+      })
+      sources."@vue/eslint-config-prettier-6.0.0"
+      sources."@vue/eslint-config-typescript-7.0.0"
+      sources."@vue/preload-webpack-plugin-1.1.2"
+      sources."@vue/web-component-wrapper-1.3.0"
+      sources."@webassemblyjs/ast-1.9.0"
+      sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
+      sources."@webassemblyjs/helper-api-error-1.9.0"
+      sources."@webassemblyjs/helper-buffer-1.9.0"
+      sources."@webassemblyjs/helper-code-frame-1.9.0"
+      sources."@webassemblyjs/helper-fsm-1.9.0"
+      sources."@webassemblyjs/helper-module-context-1.9.0"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
+      sources."@webassemblyjs/helper-wasm-section-1.9.0"
+      sources."@webassemblyjs/ieee754-1.9.0"
+      sources."@webassemblyjs/leb128-1.9.0"
+      sources."@webassemblyjs/utf8-1.9.0"
+      sources."@webassemblyjs/wasm-edit-1.9.0"
+      sources."@webassemblyjs/wasm-gen-1.9.0"
+      sources."@webassemblyjs/wasm-opt-1.9.0"
+      sources."@webassemblyjs/wasm-parser-1.9.0"
+      sources."@webassemblyjs/wast-parser-1.9.0"
+      sources."@webassemblyjs/wast-printer-1.9.0"
+      sources."@xtuc/ieee754-1.2.0"
+      sources."@xtuc/long-4.2.2"
+      sources."accepts-1.3.8"
+      sources."acorn-6.4.2"
+      sources."acorn-jsx-5.3.2"
+      sources."acorn-walk-7.2.0"
+      sources."address-1.1.2"
+      sources."ajv-6.12.6"
+      sources."ajv-errors-1.0.1"
+      sources."ajv-keywords-3.5.2"
+      sources."alphanum-sort-1.0.2"
+      sources."ansi-colors-3.2.4"
+      (sources."ansi-escapes-4.3.2" // {
+        dependencies = [
+          sources."type-fest-0.21.3"
+        ];
+      })
+      sources."ansi-html-community-0.0.8"
+      sources."ansi-regex-4.1.0"
+      sources."ansi-styles-3.2.1"
+      sources."any-promise-1.3.0"
+      sources."anymatch-3.1.2"
+      sources."aproba-1.2.0"
+      sources."arch-2.2.0"
+      sources."argparse-1.0.10"
+      sources."aribb24.js-1.8.8"
+      sources."arr-diff-4.0.0"
+      sources."arr-flatten-1.1.0"
+      sources."arr-union-3.1.0"
+      sources."array-flatten-1.1.1"
+      sources."array-union-2.1.0"
+      sources."array-uniq-1.0.3"
+      sources."array-unique-0.3.2"
+      sources."asn1-0.2.6"
+      (sources."asn1.js-5.4.1" // {
+        dependencies = [
+          sources."bn.js-4.12.0"
+        ];
+      })
+      (sources."assert-1.5.0" // {
+        dependencies = [
+          sources."inherits-2.0.1"
+          sources."util-0.10.3"
+        ];
+      })
+      sources."assert-plus-1.0.0"
+      sources."assign-symbols-1.0.0"
+      sources."astral-regex-2.0.0"
+      sources."async-2.6.3"
+      sources."async-each-1.0.3"
+      sources."async-limiter-1.0.1"
+      sources."asynckit-0.4.0"
+      sources."at-least-node-1.0.0"
+      sources."atob-2.1.2"
+      (sources."autoprefixer-9.8.8" // {
+        dependencies = [
+          sources."picocolors-0.2.1"
+        ];
+      })
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.11.0"
+      sources."axios-0.24.0"
+      (sources."babel-code-frame-6.26.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."js-tokens-3.0.2"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      sources."backo2-1.0.2"
+      sources."balanced-match-1.0.2"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      sources."base64-js-1.5.1"
+      sources."batch-0.6.1"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."bfj-6.1.2"
+      sources."big.js-5.2.2"
+      sources."binary-extensions-2.2.0"
+      sources."bindings-1.5.0"
+      sources."bluebird-3.7.2"
+      sources."bn.js-5.2.0"
+      (sources."body-parser-1.19.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+          sources."qs-6.9.7"
+        ];
+      })
+      (sources."bonjour-3.5.0" // {
+        dependencies = [
+          sources."array-flatten-2.1.2"
+        ];
+      })
+      sources."boolbase-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
+      sources."brorand-1.1.0"
+      sources."browserify-aes-1.2.0"
+      sources."browserify-cipher-1.0.1"
+      sources."browserify-des-1.0.2"
+      sources."browserify-rsa-4.1.0"
+      (sources."browserify-sign-4.2.1" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."browserify-zlib-0.2.0"
+      sources."browserslist-4.20.0"
+      sources."buffer-4.9.2"
+      sources."buffer-from-1.1.2"
+      sources."buffer-indexof-1.1.1"
+      sources."buffer-json-2.0.0"
+      sources."buffer-xor-1.0.3"
+      sources."builtin-modules-1.1.1"
+      sources."builtin-status-codes-3.0.0"
+      sources."bytes-3.1.2"
+      (sources."cacache-12.0.4" // {
+        dependencies = [
+          sources."lru-cache-5.1.1"
+          sources."yallist-3.1.1"
+        ];
+      })
+      sources."cache-base-1.0.1"
+      (sources."cache-loader-4.1.0" // {
+        dependencies = [
+          sources."find-cache-dir-3.3.2"
+          sources."find-up-4.1.0"
+          sources."locate-path-5.0.0"
+          sources."make-dir-3.1.0"
+          sources."p-locate-4.1.0"
+          sources."path-exists-4.0.0"
+          sources."pkg-dir-4.2.0"
+          sources."schema-utils-2.7.1"
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."call-bind-1.0.2"
+      sources."call-me-maybe-1.0.1"
+      (sources."caller-callsite-2.0.0" // {
+        dependencies = [
+          sources."callsites-2.0.0"
+        ];
+      })
+      sources."caller-path-2.0.0"
+      sources."callsite-1.0.0"
+      sources."callsites-3.1.0"
+      sources."camel-case-3.0.0"
+      sources."camelcase-5.3.1"
+      sources."caniuse-api-3.0.0"
+      sources."caniuse-lite-1.0.30001314"
+      sources."case-sensitive-paths-webpack-plugin-2.4.0"
+      sources."caseless-0.12.0"
+      sources."chalk-2.4.2"
+      sources."chardet-0.7.0"
+      sources."check-types-8.0.3"
+      sources."chokidar-3.5.3"
+      sources."chownr-1.1.4"
+      sources."chrome-trace-event-1.0.3"
+      sources."ci-info-1.6.0"
+      sources."cipher-base-1.0.4"
+      (sources."class-utils-0.3.6" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      (sources."clean-css-4.2.4" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."cli-cursor-2.1.0"
+      (sources."cli-highlight-2.1.11" // {
+        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."cli-spinners-2.6.1"
+      sources."cli-width-3.0.0"
+      (sources."clipboardy-2.3.0" // {
+        dependencies = [
+          sources."is-wsl-2.2.0"
+        ];
+      })
+      (sources."cliui-6.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."wrap-ansi-6.2.0"
+        ];
+      })
+      sources."clone-1.0.4"
+      sources."coa-2.0.2"
+      sources."collection-visit-1.0.0"
+      sources."color-3.2.1"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."color-string-1.9.0"
+      sources."combined-stream-1.0.8"
+      sources."commander-2.20.3"
+      sources."commondir-1.0.1"
+      sources."component-emitter-1.3.0"
+      sources."compressible-2.0.18"
+      (sources."compression-1.7.4" // {
+        dependencies = [
+          sources."bytes-3.0.0"
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."connect-history-api-fallback-1.6.0"
+      sources."console-browserify-1.2.0"
+      sources."consolidate-0.15.1"
+      sources."constants-browserify-1.0.0"
+      sources."content-disposition-0.5.4"
+      sources."content-type-1.0.4"
+      sources."cookie-0.4.2"
+      sources."cookie-signature-1.0.6"
+      sources."copy-concurrently-1.0.5"
+      sources."copy-descriptor-0.1.1"
+      (sources."copy-webpack-plugin-5.1.2" // {
+        dependencies = [
+          sources."array-union-1.0.2"
+          sources."dir-glob-2.2.2"
           sources."find-cache-dir-2.1.0"
           sources."find-up-3.0.0"
+          (sources."glob-parent-3.1.0" // {
+            dependencies = [
+              sources."is-glob-3.1.0"
+            ];
+          })
+          sources."globby-7.1.1"
+          sources."ignore-3.3.10"
+          sources."path-type-3.0.0"
+          sources."pify-3.0.0"
+          sources."pkg-dir-3.0.0"
+          sources."slash-1.0.0"
+        ];
+      })
+      sources."core-util-is-1.0.2"
+      sources."cosmiconfig-6.0.0"
+      (sources."create-ecdh-4.0.4" // {
+        dependencies = [
+          sources."bn.js-4.12.0"
+        ];
+      })
+      sources."create-hash-1.2.0"
+      sources."create-hmac-1.1.7"
+      (sources."cross-spawn-6.0.5" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."crypto-browserify-3.12.0"
+      sources."css-color-names-0.0.4"
+      sources."css-declaration-sorter-4.0.1"
+      (sources."css-loader-3.6.0" // {
+        dependencies = [
+          sources."schema-utils-2.7.1"
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."css-select-2.1.0"
+      sources."css-select-base-adapter-0.1.1"
+      (sources."css-tree-1.0.0-alpha.37" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."css-what-3.4.2"
+      sources."cssesc-3.0.0"
+      (sources."cssnano-4.1.11" // {
+        dependencies = [
+          sources."cosmiconfig-5.2.1"
+          sources."import-fresh-2.0.0"
+          sources."parse-json-4.0.0"
+          sources."resolve-from-3.0.0"
+        ];
+      })
+      sources."cssnano-preset-default-4.0.8"
+      sources."cssnano-util-get-arguments-4.0.0"
+      sources."cssnano-util-get-match-4.0.0"
+      sources."cssnano-util-raw-cache-4.0.1"
+      sources."cssnano-util-same-parent-4.0.1"
+      (sources."csso-4.2.0" // {
+        dependencies = [
+          sources."css-tree-1.1.3"
+          sources."mdn-data-2.0.14"
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."cyclist-1.0.1"
+      sources."dashdash-1.14.1"
+      sources."date-fns-2.28.0"
+      sources."de-indent-1.0.2"
+      sources."debug-4.3.3"
+      sources."decache-4.6.1"
+      sources."decamelize-1.2.0"
+      sources."decode-uri-component-0.2.0"
+      sources."deep-equal-1.1.1"
+      sources."deep-is-0.1.4"
+      sources."deepmerge-4.2.2"
+      (sources."default-gateway-5.0.5" // {
+        dependencies = [
+          sources."cross-spawn-7.0.3"
+          sources."execa-3.4.0"
+          sources."get-stream-5.2.0"
+          sources."is-stream-2.0.1"
+          sources."mimic-fn-2.1.0"
+          sources."npm-run-path-4.0.1"
+          sources."onetime-5.1.2"
+          sources."p-finally-2.0.1"
+          sources."path-key-3.1.1"
+          sources."shebang-command-2.0.0"
+          sources."shebang-regex-3.0.0"
+          sources."which-2.0.2"
+        ];
+      })
+      sources."defaults-1.0.3"
+      sources."define-properties-1.1.3"
+      sources."define-property-2.0.2"
+      (sources."del-4.1.1" // {
+        dependencies = [
+          sources."array-union-1.0.2"
+          (sources."globby-6.1.0" // {
+            dependencies = [
+              sources."pify-2.3.0"
+            ];
+          })
+        ];
+      })
+      sources."delayed-stream-1.0.0"
+      sources."depd-1.1.2"
+      sources."des.js-1.0.1"
+      sources."destroy-1.0.4"
+      sources."detect-node-2.1.0"
+      sources."diff-4.0.2"
+      (sources."diffie-hellman-5.0.3" // {
+        dependencies = [
+          sources."bn.js-4.12.0"
+        ];
+      })
+      sources."dir-glob-3.0.1"
+      sources."dns-equal-1.0.0"
+      sources."dns-packet-1.3.4"
+      sources."dns-txt-2.0.2"
+      sources."doctrine-3.0.0"
+      sources."dom-converter-0.2.0"
+      (sources."dom-serializer-0.2.2" // {
+        dependencies = [
+          sources."domelementtype-2.2.0"
+        ];
+      })
+      sources."domain-browser-1.2.0"
+      sources."domelementtype-1.3.1"
+      (sources."domhandler-4.3.0" // {
+        dependencies = [
+          sources."domelementtype-2.2.0"
+        ];
+      })
+      sources."domutils-1.7.0"
+      sources."dot-prop-5.3.0"
+      sources."dotenv-8.6.0"
+      sources."dotenv-expand-5.1.0"
+      sources."duplexer-0.1.2"
+      sources."duplexify-3.7.1"
+      sources."easy-stack-1.0.1"
+      sources."ecc-jsbn-0.1.2"
+      sources."ee-first-1.1.1"
+      sources."ejs-2.7.4"
+      sources."electron-to-chromium-1.4.82"
+      (sources."elliptic-6.5.4" // {
+        dependencies = [
+          sources."bn.js-4.12.0"
+        ];
+      })
+      sources."emoji-regex-8.0.0"
+      sources."emojis-list-3.0.0"
+      sources."encodeurl-1.0.2"
+      sources."end-of-stream-1.4.4"
+      sources."engine.io-client-6.0.3"
+      sources."engine.io-parser-5.0.3"
+      (sources."enhanced-resolve-4.5.0" // {
+        dependencies = [
+          sources."memory-fs-0.5.0"
+        ];
+      })
+      (sources."enquirer-2.3.6" // {
+        dependencies = [
+          sources."ansi-colors-4.1.1"
+        ];
+      })
+      sources."entities-2.2.0"
+      sources."errno-0.1.8"
+      sources."error-ex-1.3.2"
+      sources."error-stack-parser-2.0.7"
+      sources."es-abstract-1.19.1"
+      sources."es-to-primitive-1.2.1"
+      sources."es6-promise-4.2.8"
+      sources."escalade-3.1.1"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      (sources."eslint-7.32.0" // {
+        dependencies = [
+          sources."@babel/code-frame-7.12.11"
+          sources."acorn-7.4.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."cross-spawn-7.0.3"
+          sources."escape-string-regexp-4.0.0"
+          (sources."eslint-utils-2.1.0" // {
+            dependencies = [
+              sources."eslint-visitor-keys-1.3.0"
+            ];
+          })
+          (sources."espree-7.3.1" // {
+            dependencies = [
+              sources."eslint-visitor-keys-1.3.0"
+            ];
+          })
+          sources."has-flag-4.0.0"
+          sources."ignore-4.0.6"
+          sources."path-key-3.1.1"
+          sources."shebang-command-2.0.0"
+          sources."shebang-regex-3.0.0"
+          sources."supports-color-7.2.0"
+          sources."which-2.0.2"
+        ];
+      })
+      sources."eslint-config-prettier-6.15.0"
+      sources."eslint-loader-2.2.1"
+      sources."eslint-plugin-prettier-3.4.1"
+      (sources."eslint-plugin-vue-7.20.0" // {
+        dependencies = [
+          sources."eslint-utils-2.1.0"
+          sources."eslint-visitor-keys-1.3.0"
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."eslint-scope-5.1.1"
+      sources."eslint-utils-3.0.0"
+      sources."eslint-visitor-keys-2.1.0"
+      (sources."espree-6.2.1" // {
+        dependencies = [
+          sources."acorn-7.4.1"
+          sources."eslint-visitor-keys-1.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."etag-1.8.1"
+      sources."event-pubsub-4.3.0"
+      sources."eventemitter2-6.4.5"
+      sources."eventemitter3-4.0.7"
+      sources."events-3.3.0"
+      sources."eventsource-1.1.0"
+      sources."evp_bytestokey-1.0.3"
+      sources."execa-1.0.0"
+      (sources."expand-brackets-2.1.4" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."define-property-0.2.5"
+          sources."extend-shallow-2.0.1"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+          sources."ms-2.0.0"
+        ];
+      })
+      (sources."express-4.17.3" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+          sources."qs-6.9.7"
+        ];
+      })
+      sources."extend-3.0.2"
+      (sources."extend-shallow-3.0.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."external-editor-3.1.0"
+      (sources."extglob-2.0.4" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-3.1.3"
+      sources."fast-diff-1.2.0"
+      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."faye-websocket-0.11.4"
+      sources."figgy-pudding-3.5.2"
+      sources."figures-3.2.0"
+      sources."file-entry-cache-6.0.1"
+      (sources."file-loader-4.3.0" // {
+        dependencies = [
+          sources."schema-utils-2.7.1"
+        ];
+      })
+      sources."file-uri-to-path-1.0.0"
+      sources."filesize-3.6.1"
+      sources."fill-range-7.0.1"
+      (sources."finalhandler-1.1.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."find-cache-dir-0.1.1"
+      sources."find-up-1.1.2"
+      (sources."flat-cache-3.0.4" // {
+        dependencies = [
+          sources."rimraf-3.0.2"
+        ];
+      })
+      sources."flatted-3.2.5"
+      sources."flush-write-stream-1.1.1"
+      sources."follow-redirects-1.14.9"
+      sources."for-in-1.0.2"
+      sources."forever-agent-0.6.1"
+      (sources."fork-ts-checker-webpack-plugin-3.1.1" // {
+        dependencies = [
+          sources."braces-2.3.2"
+          sources."extend-shallow-2.0.1"
+          sources."fill-range-4.0.0"
           sources."is-number-3.0.0"
-          sources."isarray-1.0.0"
           sources."kind-of-3.2.2"
-          sources."locate-path-3.0.0"
-          sources."lru-cache-5.1.1"
-          sources."make-dir-2.1.0"
-          sources."memory-fs-0.4.1"
           sources."micromatch-3.1.10"
-          sources."mkdirp-0.5.5"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
+          sources."semver-5.7.1"
+          sources."to-regex-range-2.1.1"
+        ];
+      })
+      (sources."fork-ts-checker-webpack-plugin-v5-5.2.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."schema-utils-2.7.0"
+          sources."supports-color-7.2.0"
+        ];
+      })
+      sources."form-data-2.3.3"
+      sources."forwarded-0.2.0"
+      sources."fragment-cache-0.2.1"
+      sources."fresh-0.5.2"
+      sources."from2-2.3.0"
+      sources."fs-extra-9.1.0"
+      sources."fs-monkey-1.0.3"
+      sources."fs-write-stream-atomic-1.0.10"
+      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."get-caller-file-2.0.5"
+      sources."get-intrinsic-1.1.1"
+      sources."get-stdin-6.0.0"
+      sources."get-stream-4.1.0"
+      sources."get-symbol-description-1.0.0"
+      sources."get-value-2.0.6"
+      sources."getpass-0.1.7"
+      sources."glob-7.2.0"
+      sources."glob-parent-5.1.2"
+      sources."glob-to-regexp-0.3.0"
+      (sources."globals-13.12.1" // {
+        dependencies = [
+          sources."type-fest-0.20.2"
+        ];
+      })
+      sources."globby-11.1.0"
+      sources."graceful-fs-4.2.9"
+      sources."gzip-size-5.1.1"
+      sources."handle-thing-2.0.1"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.5"
+      sources."has-1.0.3"
+      (sources."has-ansi-2.0.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+        ];
+      })
+      sources."has-bigints-1.0.1"
+      sources."has-cors-1.1.0"
+      sources."has-flag-3.0.0"
+      sources."has-symbols-1.0.3"
+      sources."has-tostringtag-1.0.0"
+      sources."has-value-1.0.0"
+      (sources."has-values-1.0.0" // {
+        dependencies = [
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-4.0.0"
+        ];
+      })
+      (sources."hash-base-3.1.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."hash-sum-2.0.0"
+      sources."hash.js-1.1.7"
+      sources."he-1.2.0"
+      sources."hex-color-regex-1.1.0"
+      sources."highlight.js-10.7.3"
+      sources."hls.js-1.1.2"
+      sources."hmac-drbg-1.0.1"
+      sources."hoopy-0.1.4"
+      sources."hosted-git-info-2.8.9"
+      sources."hpack.js-2.1.6"
+      sources."hsl-regex-1.0.0"
+      sources."hsla-regex-1.0.0"
+      sources."html-entities-1.4.0"
+      (sources."html-minifier-3.5.21" // {
+        dependencies = [
+          sources."commander-2.17.1"
+        ];
+      })
+      (sources."html-webpack-plugin-3.2.0" // {
+        dependencies = [
+          sources."big.js-3.2.0"
+          sources."emojis-list-2.1.0"
+          sources."json5-0.5.1"
+          sources."loader-utils-0.2.17"
+          sources."util.promisify-1.0.0"
+        ];
+      })
+      (sources."htmlparser2-6.1.0" // {
+        dependencies = [
+          sources."dom-serializer-1.3.2"
+          sources."domelementtype-2.2.0"
+          sources."domutils-2.8.0"
+        ];
+      })
+      sources."http-deceiver-1.2.7"
+      sources."http-errors-1.8.1"
+      sources."http-parser-js-0.5.6"
+      sources."http-proxy-1.18.1"
+      sources."http-proxy-middleware-1.3.1"
+      sources."http-signature-1.2.0"
+      sources."https-browserify-1.0.0"
+      sources."human-signals-1.1.1"
+      sources."iconv-lite-0.4.24"
+      sources."icss-utils-4.1.1"
+      sources."ieee754-1.2.1"
+      sources."iferr-0.1.5"
+      sources."ignore-5.2.0"
+      sources."import-cwd-2.1.0"
+      sources."import-fresh-3.3.0"
+      (sources."import-from-2.1.0" // {
+        dependencies = [
+          sources."resolve-from-3.0.0"
+        ];
+      })
+      (sources."import-local-2.0.0" // {
+        dependencies = [
+          sources."find-up-3.0.0"
+          sources."pkg-dir-3.0.0"
+        ];
+      })
+      sources."imurmurhash-0.1.4"
+      sources."indexes-of-1.0.1"
+      sources."infer-owner-1.0.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      (sources."inquirer-7.3.3" // {
+        dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."chalk-4.1.2"
+          sources."cli-cursor-3.1.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."has-flag-4.0.0"
+          sources."mimic-fn-2.1.0"
+          sources."onetime-5.1.2"
+          sources."restore-cursor-3.1.0"
+          sources."supports-color-7.2.0"
+        ];
+      })
+      (sources."internal-ip-4.3.0" // {
+        dependencies = [
+          sources."default-gateway-4.2.0"
+        ];
+      })
+      sources."internal-slot-1.0.3"
+      sources."interpret-1.4.0"
+      sources."inversify-6.0.1"
+      sources."ip-1.1.5"
+      sources."ip-regex-2.1.0"
+      sources."ipaddr.js-1.9.1"
+      sources."is-absolute-url-2.1.0"
+      sources."is-accessor-descriptor-1.0.0"
+      sources."is-arguments-1.1.1"
+      sources."is-arrayish-0.2.1"
+      sources."is-bigint-1.0.4"
+      sources."is-binary-path-2.1.0"
+      sources."is-boolean-object-1.1.2"
+      sources."is-buffer-1.1.6"
+      sources."is-callable-1.2.4"
+      sources."is-ci-1.2.1"
+      sources."is-color-stop-1.1.0"
+      sources."is-core-module-2.8.1"
+      sources."is-data-descriptor-1.0.0"
+      sources."is-date-object-1.0.5"
+      sources."is-descriptor-1.0.2"
+      sources."is-directory-0.3.1"
+      sources."is-docker-2.2.1"
+      sources."is-extendable-0.1.1"
+      sources."is-extglob-2.1.1"
+      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-glob-4.0.3"
+      sources."is-negative-zero-2.0.2"
+      sources."is-number-7.0.0"
+      sources."is-number-object-1.0.6"
+      sources."is-obj-2.0.0"
+      sources."is-path-cwd-2.2.0"
+      sources."is-path-in-cwd-2.1.0"
+      sources."is-path-inside-2.1.0"
+      sources."is-plain-obj-3.0.0"
+      sources."is-plain-object-2.0.4"
+      sources."is-regex-1.1.4"
+      sources."is-resolvable-1.1.0"
+      sources."is-shared-array-buffer-1.0.1"
+      sources."is-stream-1.1.0"
+      sources."is-string-1.0.7"
+      sources."is-symbol-1.0.4"
+      sources."is-typedarray-1.0.0"
+      sources."is-weakref-1.0.2"
+      sources."is-windows-1.0.2"
+      sources."is-wsl-1.1.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isobject-3.0.1"
+      sources."isstream-0.1.2"
+      sources."javascript-stringify-2.1.0"
+      sources."js-message-1.0.7"
+      sources."js-queue-2.0.2"
+      sources."js-tokens-4.0.0"
+      sources."js-yaml-3.14.1"
+      sources."jsbn-0.1.1"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-parse-even-better-errors-2.3.1"
+      sources."json-schema-0.4.0"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stable-stringify-1.0.1"
+      sources."json-stable-stringify-without-jsonify-1.0.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."json5-1.0.1"
+      sources."jsonfile-6.1.0"
+      sources."jsonify-0.0.0"
+      sources."jsprim-1.4.2"
+      sources."killable-1.0.1"
+      sources."kind-of-6.0.3"
+      sources."klona-2.0.5"
+      sources."launch-editor-2.3.0"
+      sources."launch-editor-middleware-2.3.0"
+      sources."levn-0.4.1"
+      sources."lines-and-columns-1.2.4"
+      sources."loader-fs-cache-1.0.3"
+      sources."loader-runner-2.4.0"
+      sources."loader-utils-1.4.0"
+      (sources."locate-path-3.0.0" // {
+        dependencies = [
           sources."path-exists-3.0.0"
-          sources."pify-4.0.1"
+        ];
+      })
+      sources."lodash-4.17.21"
+      sources."lodash.defaultsdeep-4.6.1"
+      sources."lodash.mapvalues-4.6.0"
+      sources."lodash.memoize-4.1.2"
+      sources."lodash.merge-4.6.2"
+      sources."lodash.transform-4.6.0"
+      sources."lodash.truncate-4.4.2"
+      sources."lodash.uniq-4.5.0"
+      sources."log-symbols-2.2.0"
+      sources."loglevel-1.8.0"
+      sources."lower-case-1.1.4"
+      sources."lru-cache-6.0.0"
+      (sources."make-dir-2.1.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."map-cache-0.2.2"
+      sources."map-visit-1.0.0"
+      sources."material-design-icons-iconfont-6.1.1"
+      sources."md5.js-1.3.5"
+      sources."mdn-data-2.0.4"
+      sources."media-typer-0.3.0"
+      sources."memfs-3.4.1"
+      sources."memory-fs-0.4.1"
+      sources."merge-descriptors-1.0.1"
+      (sources."merge-source-map-1.1.0" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."merge-stream-2.0.0"
+      sources."merge2-1.4.1"
+      sources."methods-1.1.2"
+      sources."microevent.ts-0.1.1"
+      sources."micromatch-4.0.4"
+      (sources."miller-rabin-4.0.1" // {
+        dependencies = [
+          sources."bn.js-4.12.0"
+        ];
+      })
+      sources."mime-2.6.0"
+      sources."mime-db-1.51.0"
+      sources."mime-types-2.1.34"
+      sources."mimic-fn-1.2.0"
+      (sources."mini-css-extract-plugin-0.9.0" // {
+        dependencies = [
+          sources."normalize-url-1.9.1"
+        ];
+      })
+      sources."minimalistic-assert-1.0.1"
+      sources."minimalistic-crypto-utils-1.0.1"
+      sources."minimatch-3.1.2"
+      sources."minimist-1.2.5"
+      sources."minipass-3.1.6"
+      sources."mississippi-3.0.0"
+      (sources."mixin-deep-1.3.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."mkdirp-0.5.5"
+      sources."move-concurrently-1.0.1"
+      sources."mpegts.js-1.6.10"
+      sources."ms-2.1.2"
+      sources."multicast-dns-6.2.3"
+      sources."multicast-dns-service-types-1.1.0"
+      sources."mute-stream-0.0.8"
+      sources."mz-2.7.0"
+      sources."nan-2.15.0"
+      sources."nanomatch-1.2.13"
+      sources."natural-compare-1.4.0"
+      sources."negotiator-0.6.3"
+      sources."neo-async-2.6.2"
+      sources."nice-try-1.0.5"
+      sources."no-case-2.3.2"
+      sources."node-forge-0.10.0"
+      sources."node-ipc-9.2.1"
+      (sources."node-libs-browser-2.2.1" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."node-releases-2.0.2"
+      (sources."normalize-package-data-2.5.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."normalize-path-3.0.0"
+      sources."normalize-range-0.1.2"
+      sources."normalize-url-3.3.0"
+      sources."npm-run-path-2.0.2"
+      sources."nth-check-1.0.2"
+      (sources."null-loader-4.0.1" // {
+        dependencies = [
+          sources."json5-2.2.0"
+          sources."loader-utils-2.0.2"
+          sources."schema-utils-3.1.1"
+        ];
+      })
+      sources."num2fraction-1.2.2"
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
+      (sources."object-copy-0.1.0" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          sources."is-accessor-descriptor-0.1.6"
+          sources."is-data-descriptor-0.1.4"
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."object-hash-1.3.1"
+      sources."object-inspect-1.12.0"
+      sources."object-is-1.1.5"
+      sources."object-keys-1.1.1"
+      sources."object-visit-1.0.1"
+      sources."object.assign-4.1.2"
+      sources."object.getownpropertydescriptors-2.1.3"
+      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-headers-1.0.2"
+      sources."once-1.4.0"
+      sources."onetime-2.0.1"
+      sources."open-6.4.0"
+      sources."opener-1.5.2"
+      sources."opn-5.5.0"
+      sources."optionator-0.9.1"
+      (sources."ora-3.4.0" // {
+        dependencies = [
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."original-1.0.2"
+      sources."os-browserify-0.3.0"
+      sources."os-tmpdir-1.0.2"
+      sources."p-finally-1.0.0"
+      sources."p-limit-2.3.0"
+      sources."p-locate-3.0.0"
+      sources."p-map-2.1.0"
+      sources."p-retry-3.0.1"
+      sources."p-try-2.2.0"
+      sources."pako-1.0.11"
+      sources."parallel-transform-1.2.0"
+      sources."param-case-2.1.1"
+      sources."parent-module-1.0.1"
+      sources."parse-asn1-5.1.6"
+      sources."parse-json-5.2.0"
+      sources."parse5-5.1.1"
+      (sources."parse5-htmlparser2-tree-adapter-6.0.1" // {
+        dependencies = [
+          sources."parse5-6.0.1"
+        ];
+      })
+      sources."parseqs-0.0.6"
+      sources."parseuri-0.0.6"
+      sources."parseurl-1.3.3"
+      sources."pascalcase-0.1.1"
+      sources."path-browserify-0.0.1"
+      sources."path-dirname-1.0.2"
+      sources."path-exists-2.1.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-is-inside-1.0.2"
+      sources."path-key-2.0.1"
+      sources."path-parse-1.0.7"
+      sources."path-to-regexp-0.1.7"
+      sources."path-type-4.0.0"
+      sources."pbkdf2-3.1.2"
+      sources."performance-now-2.1.0"
+      sources."picocolors-1.0.0"
+      sources."picomatch-2.3.1"
+      sources."pify-4.0.1"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."pkg-dir-1.0.0"
+      sources."pnp-webpack-plugin-1.7.0"
+      (sources."portfinder-1.0.28" // {
+        dependencies = [
+          sources."debug-3.2.7"
+        ];
+      })
+      sources."posix-character-classes-0.1.1"
+      (sources."postcss-7.0.39" // {
+        dependencies = [
+          sources."picocolors-0.2.1"
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."postcss-calc-7.0.5"
+      (sources."postcss-colormin-4.0.3" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-convert-values-4.0.1" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      sources."postcss-discard-comments-4.0.2"
+      sources."postcss-discard-duplicates-4.0.2"
+      sources."postcss-discard-empty-4.0.1"
+      sources."postcss-discard-overridden-4.0.1"
+      (sources."postcss-load-config-2.1.2" // {
+        dependencies = [
+          sources."cosmiconfig-5.2.1"
+          sources."import-fresh-2.0.0"
+          sources."parse-json-4.0.0"
+          sources."resolve-from-3.0.0"
+        ];
+      })
+      sources."postcss-loader-3.0.0"
+      (sources."postcss-merge-longhand-4.0.11" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-merge-rules-4.0.3" // {
+        dependencies = [
+          sources."postcss-selector-parser-3.1.2"
+        ];
+      })
+      (sources."postcss-minify-font-values-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-minify-gradients-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-minify-params-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-minify-selectors-4.0.2" // {
+        dependencies = [
+          sources."postcss-selector-parser-3.1.2"
+        ];
+      })
+      sources."postcss-modules-extract-imports-2.0.0"
+      sources."postcss-modules-local-by-default-3.0.3"
+      sources."postcss-modules-scope-2.2.0"
+      sources."postcss-modules-values-3.0.0"
+      sources."postcss-normalize-charset-4.0.1"
+      (sources."postcss-normalize-display-values-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-positions-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-repeat-style-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-string-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-timing-functions-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-unicode-4.0.1" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-url-4.0.1" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-normalize-whitespace-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      (sources."postcss-ordered-values-4.1.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      sources."postcss-reduce-initial-4.0.3"
+      (sources."postcss-reduce-transforms-4.0.2" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      sources."postcss-selector-parser-6.0.9"
+      (sources."postcss-svgo-4.0.3" // {
+        dependencies = [
+          sources."postcss-value-parser-3.3.1"
+        ];
+      })
+      sources."postcss-unique-selectors-4.0.1"
+      sources."postcss-value-parser-4.2.0"
+      sources."prelude-ls-1.2.1"
+      sources."prepend-http-1.0.4"
+      sources."prettier-2.4.1"
+      sources."prettier-linter-helpers-1.0.0"
+      sources."pretty-error-2.1.2"
+      sources."process-0.11.10"
+      sources."process-nextick-args-2.0.1"
+      sources."progress-2.0.3"
+      sources."promise-inflight-1.0.1"
+      sources."proxy-addr-2.0.7"
+      sources."prr-1.0.1"
+      sources."pseudomap-1.0.2"
+      sources."psl-1.8.0"
+      (sources."public-encrypt-4.0.3" // {
+        dependencies = [
+          sources."bn.js-4.12.0"
+        ];
+      })
+      sources."pump-3.0.0"
+      (sources."pumpify-1.5.1" // {
+        dependencies = [
+          sources."pump-2.0.1"
+        ];
+      })
+      sources."punycode-2.1.1"
+      sources."q-1.5.1"
+      sources."qs-6.5.3"
+      sources."query-string-4.3.4"
+      sources."querystring-0.2.0"
+      sources."querystring-es3-0.2.1"
+      sources."querystringify-2.2.0"
+      sources."queue-microtask-1.2.3"
+      sources."randombytes-2.1.0"
+      sources."randomfill-1.0.4"
+      sources."range-parser-1.2.1"
+      sources."raw-body-2.4.3"
+      sources."read-pkg-5.2.0"
+      (sources."readable-stream-2.3.7" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."readdirp-3.6.0"
+      sources."rechoir-0.6.2"
+      sources."reflect-metadata-0.1.13"
+      sources."regex-not-1.0.2"
+      sources."regexp.prototype.flags-1.4.1"
+      sources."regexpp-3.2.0"
+      sources."relateurl-0.2.7"
+      sources."remove-trailing-separator-1.1.0"
+      (sources."renderkid-2.0.7" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."css-select-4.2.1"
+          sources."css-what-5.1.0"
+          sources."dom-serializer-1.3.2"
+          sources."domelementtype-2.2.0"
+          sources."domutils-2.8.0"
+          sources."nth-check-2.0.1"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
+      sources."repeat-element-1.1.4"
+      sources."repeat-string-1.6.1"
+      sources."request-2.88.2"
+      sources."require-directory-2.1.1"
+      sources."require-from-string-2.0.2"
+      sources."require-main-filename-2.0.0"
+      sources."requires-port-1.0.0"
+      sources."resize-observer-polyfill-1.5.1"
+      sources."resolve-1.22.0"
+      (sources."resolve-cwd-2.0.0" // {
+        dependencies = [
+          sources."resolve-from-3.0.0"
+        ];
+      })
+      sources."resolve-from-4.0.0"
+      sources."resolve-url-0.2.1"
+      sources."restore-cursor-2.0.0"
+      sources."ret-0.1.15"
+      sources."retry-0.12.0"
+      sources."reusify-1.0.4"
+      sources."rgb-regex-1.0.1"
+      sources."rgba-regex-1.0.0"
+      sources."rimraf-2.7.1"
+      sources."ripemd160-2.0.2"
+      sources."roboto-fontface-0.10.0"
+      sources."run-async-2.4.1"
+      sources."run-parallel-1.2.0"
+      sources."run-queue-1.0.3"
+      sources."rxjs-6.6.7"
+      sources."safe-buffer-5.2.1"
+      sources."safe-regex-1.1.0"
+      sources."safer-buffer-2.1.2"
+      sources."sass-1.32.12"
+      (sources."sass-loader-10.2.0" // {
+        dependencies = [
+          sources."json5-2.2.0"
+          sources."loader-utils-2.0.2"
+          sources."schema-utils-3.1.1"
+        ];
+      })
+      sources."sax-1.2.4"
+      sources."schema-utils-1.0.0"
+      sources."select-hose-2.0.0"
+      sources."selfsigned-1.10.14"
+      sources."semver-7.3.5"
+      (sources."send-0.17.2" // {
+        dependencies = [
+          (sources."debug-2.6.9" // {
+            dependencies = [
+              sources."ms-2.0.0"
+            ];
+          })
+          sources."mime-1.6.0"
+          sources."ms-2.1.3"
+        ];
+      })
+      sources."serialize-javascript-4.0.0"
+      (sources."serve-index-1.9.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."http-errors-1.6.3"
+          sources."inherits-2.0.3"
+          sources."ms-2.0.0"
+          sources."setprototypeof-1.1.0"
+        ];
+      })
+      sources."serve-static-1.14.2"
+      sources."set-blocking-2.0.0"
+      (sources."set-value-2.0.1" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."setimmediate-1.0.5"
+      sources."setprototypeof-1.2.0"
+      sources."sha.js-2.4.11"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."shell-quote-1.7.3"
+      sources."shelljs-0.8.5"
+      sources."side-channel-1.0.4"
+      sources."signal-exit-3.0.7"
+      (sources."simple-swizzle-0.2.2" // {
+        dependencies = [
+          sources."is-arrayish-0.3.2"
+        ];
+      })
+      sources."slash-3.0.0"
+      (sources."slice-ansi-4.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+        ];
+      })
+      sources."smoothscroll-polyfill-0.4.4"
+      (sources."snapdragon-0.8.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."define-property-0.2.5"
+          sources."extend-shallow-2.0.1"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+          sources."ms-2.0.0"
+        ];
+      })
+      (sources."snapdragon-node-2.1.1" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+        ];
+      })
+      (sources."snapdragon-util-3.0.1" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."socket.io-client-4.3.2"
+      sources."socket.io-parser-4.1.2"
+      (sources."sockjs-0.3.24" // {
+        dependencies = [
+          sources."uuid-8.3.2"
+        ];
+      })
+      (sources."sockjs-client-1.6.0" // {
+        dependencies = [
+          sources."debug-3.2.7"
+        ];
+      })
+      (sources."sort-keys-1.1.2" // {
+        dependencies = [
+          sources."is-plain-obj-1.1.0"
+        ];
+      })
+      sources."source-list-map-2.0.1"
+      sources."source-map-0.5.7"
+      sources."source-map-resolve-0.5.3"
+      (sources."source-map-support-0.5.21" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."source-map-url-0.4.1"
+      sources."spark-md5-3.0.2"
+      sources."spdx-correct-3.1.1"
+      sources."spdx-exceptions-2.3.0"
+      sources."spdx-expression-parse-3.0.1"
+      sources."spdx-license-ids-3.0.11"
+      sources."spdy-4.0.2"
+      (sources."spdy-transport-3.0.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."split-string-3.1.0"
+      sources."sprintf-js-1.0.3"
+      sources."sshpk-1.17.0"
+      sources."ssri-6.0.2"
+      sources."stable-0.1.8"
+      sources."stackframe-1.2.1"
+      (sources."static-extend-0.1.2" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."statuses-1.5.0"
+      sources."stream-browserify-2.0.2"
+      sources."stream-each-1.2.3"
+      sources."stream-http-2.8.3"
+      sources."stream-shift-1.0.1"
+      sources."strict-uri-encode-1.1.0"
+      sources."string-width-4.2.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      (sources."strip-ansi-6.0.1" // {
+        dependencies = [
+          sources."ansi-regex-5.0.1"
+        ];
+      })
+      sources."strip-eof-1.0.0"
+      sources."strip-final-newline-2.0.0"
+      sources."strip-indent-2.0.0"
+      sources."strip-json-comments-3.1.1"
+      (sources."stylehacks-4.0.3" // {
+        dependencies = [
+          sources."postcss-selector-parser-3.1.2"
+        ];
+      })
+      sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
+      sources."svgo-1.3.2"
+      (sources."table-6.8.0" // {
+        dependencies = [
+          sources."ajv-8.10.0"
+          sources."json-schema-traverse-1.0.0"
+        ];
+      })
+      sources."tapable-1.1.3"
+      (sources."terser-4.8.0" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      (sources."terser-webpack-plugin-1.4.5" // {
+        dependencies = [
+          sources."find-cache-dir-2.1.0"
+          sources."find-up-3.0.0"
           sources."pkg-dir-3.0.0"
-          sources."readable-stream-2.3.7"
-          sources."schema-utils-1.0.0"
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."text-table-0.2.0"
+      sources."thenify-3.3.1"
+      sources."thenify-all-1.6.0"
+      sources."thread-loader-2.1.3"
+      sources."through-2.3.8"
+      sources."through2-2.0.5"
+      sources."thunky-1.1.0"
+      sources."timers-browserify-2.0.12"
+      sources."timsort-0.3.0"
+      sources."tmp-0.0.33"
+      sources."to-arraybuffer-1.0.1"
+      (sources."to-object-path-0.3.0" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
+      sources."to-regex-3.0.2"
+      sources."to-regex-range-5.0.1"
+      sources."toidentifier-1.0.1"
+      sources."toposort-1.0.7"
+      sources."tough-cookie-2.5.0"
+      sources."tryer-1.0.1"
+      (sources."ts-loader-6.2.2" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."ts-pnp-1.2.0"
+      sources."tslib-1.14.1"
+      (sources."tslint-5.20.1" // {
+        dependencies = [
           sources."semver-5.7.1"
-          sources."serialize-javascript-4.0.0"
-          sources."ssri-6.0.2"
-          sources."string_decoder-1.1.1"
-          sources."terser-4.8.0"
-          sources."terser-webpack-plugin-1.4.5"
-          sources."to-regex-range-2.1.1"
-          sources."y18n-4.0.3"
-          sources."yallist-3.1.1"
+          sources."tsutils-2.29.0"
         ];
       })
-      sources."webpack-sources-1.4.3"
-      (sources."webpack-stream-6.1.0" // {
+      sources."tsutils-3.21.0"
+      sources."tty-browserify-0.0.0"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-check-0.4.0"
+      sources."type-fest-0.6.0"
+      sources."type-is-1.6.18"
+      sources."typedarray-0.0.6"
+      sources."typeface-roboto-1.1.13"
+      sources."typescript-4.4.4"
+      (sources."uglify-js-3.4.10" // {
         dependencies = [
+          sources."commander-2.19.0"
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."unbox-primitive-1.0.1"
+      sources."union-value-1.0.1"
+      sources."uniq-1.0.1"
+      sources."uniqs-2.0.0"
+      sources."unique-filename-1.1.1"
+      sources."unique-slug-2.0.2"
+      sources."universalify-2.0.0"
+      sources."unpipe-1.0.0"
+      sources."unquote-1.1.1"
+      (sources."unset-value-1.0.0" // {
+        dependencies = [
+          (sources."has-value-0.3.1" // {
+            dependencies = [
+              sources."isobject-2.1.0"
+            ];
+          })
+          sources."has-values-0.1.4"
+        ];
+      })
+      sources."upath-1.2.0"
+      sources."upper-case-1.1.3"
+      sources."uri-js-4.4.1"
+      sources."urix-0.1.0"
+      (sources."url-0.11.0" // {
+        dependencies = [
+          sources."punycode-1.3.2"
+        ];
+      })
+      (sources."url-loader-2.3.0" // {
+        dependencies = [
+          sources."schema-utils-2.7.1"
+        ];
+      })
+      sources."url-parse-1.5.10"
+      sources."use-3.1.1"
+      (sources."util-0.11.1" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
+      sources."util-deprecate-1.0.2"
+      sources."util.promisify-1.0.1"
+      sources."utila-0.4.0"
+      sources."utils-merge-1.0.1"
+      sources."uuid-3.4.0"
+      sources."v8-compile-cache-2.3.0"
+      sources."validate-npm-package-license-3.0.4"
+      sources."vary-1.1.2"
+      sources."vendors-1.0.4"
+      sources."verror-1.10.0"
+      sources."vm-browserify-1.1.2"
+      sources."vue-2.6.14"
+      sources."vue-class-component-7.2.6"
+      sources."vue-cli-plugin-vuetify-2.4.3"
+      (sources."vue-eslint-parser-7.11.0" // {
+        dependencies = [
+          sources."eslint-visitor-keys-1.3.0"
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."vue-hot-reload-api-2.3.4"
+      (sources."vue-loader-15.9.8" // {
+        dependencies = [
+          sources."hash-sum-1.0.2"
+        ];
+      })
+      (sources."vue-loader-v16-16.8.3" // {
+        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."json5-2.2.0"
+          sources."loader-utils-2.0.2"
           sources."supports-color-7.2.0"
         ];
       })
+      sources."vue-property-decorator-9.1.2"
+      sources."vue-router-3.5.3"
+      (sources."vue-style-loader-4.1.3" // {
+        dependencies = [
+          sources."hash-sum-1.0.2"
+        ];
+      })
+      sources."vue-template-compiler-2.6.14"
+      sources."vue-template-es2015-compiler-1.9.1"
+      sources."vuetify-2.5.10"
+      sources."vuetify-datetime-picker-2.1.1"
+      (sources."vuetify-loader-1.7.3" // {
+        dependencies = [
+          sources."file-loader-6.2.0"
+          sources."json5-2.2.0"
+          sources."loader-utils-2.0.2"
+          sources."schema-utils-3.1.1"
+        ];
+      })
+      sources."watchpack-1.7.5"
+      (sources."watchpack-chokidar2-2.0.1" // {
+        dependencies = [
+          sources."anymatch-2.0.0"
+          sources."binary-extensions-1.13.1"
+          sources."braces-2.3.2"
+          sources."chokidar-2.1.8"
+          sources."extend-shallow-2.0.1"
+          sources."fill-range-4.0.0"
+          sources."fsevents-1.2.13"
+          sources."glob-parent-3.1.0"
+          sources."is-binary-path-1.0.1"
+          sources."is-glob-3.1.0"
+          sources."is-number-3.0.0"
+          sources."kind-of-3.2.2"
+          sources."micromatch-3.1.10"
+          sources."normalize-path-2.1.1"
+          sources."readdirp-2.2.1"
+          sources."to-regex-range-2.1.1"
+        ];
+      })
+      sources."wbuf-1.7.3"
+      sources."wcwidth-1.0.1"
+      (sources."webpack-4.46.0" // {
+        dependencies = [
+          sources."braces-2.3.2"
+          sources."eslint-scope-4.0.3"
+          sources."extend-shallow-2.0.1"
+          sources."fill-range-4.0.0"
+          sources."is-number-3.0.0"
+          sources."kind-of-3.2.2"
+          sources."micromatch-3.1.10"
+          sources."to-regex-range-2.1.1"
+        ];
+      })
+      (sources."webpack-bundle-analyzer-3.9.0" // {
+        dependencies = [
+          sources."acorn-7.4.1"
+          sources."ws-6.2.2"
+        ];
+      })
+      (sources."webpack-chain-6.5.1" // {
+        dependencies = [
+          sources."deepmerge-1.5.2"
+        ];
+      })
+      sources."webpack-dev-middleware-3.7.3"
+      (sources."webpack-dev-server-3.11.3" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."anymatch-2.0.0"
+          sources."binary-extensions-1.13.1"
+          sources."braces-2.3.2"
+          sources."chokidar-2.1.8"
+          (sources."cliui-5.0.0" // {
+            dependencies = [
+              sources."ansi-regex-4.1.0"
+              sources."strip-ansi-5.2.0"
+            ];
+          })
+          sources."emoji-regex-7.0.3"
+          sources."extend-shallow-2.0.1"
+          sources."fill-range-4.0.0"
+          sources."find-up-3.0.0"
+          sources."fsevents-1.2.13"
+          sources."glob-parent-3.1.0"
+          (sources."http-proxy-middleware-0.19.1" // {
+            dependencies = [
+              sources."is-glob-4.0.3"
+            ];
+          })
+          sources."is-absolute-url-3.0.3"
+          sources."is-binary-path-1.0.1"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."is-glob-3.1.0"
+          sources."is-number-3.0.0"
+          sources."kind-of-3.2.2"
+          sources."micromatch-3.1.10"
+          sources."normalize-path-2.1.1"
+          sources."readdirp-2.2.1"
+          sources."semver-6.3.0"
+          (sources."string-width-3.1.0" // {
+            dependencies = [
+              sources."ansi-regex-4.1.0"
+              sources."strip-ansi-5.2.0"
+            ];
+          })
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-6.1.0"
+          sources."to-regex-range-2.1.1"
+          (sources."wrap-ansi-5.1.0" // {
+            dependencies = [
+              sources."ansi-regex-4.1.0"
+              sources."strip-ansi-5.2.0"
+            ];
+          })
+          sources."ws-6.2.2"
+          sources."yargs-13.3.2"
+          sources."yargs-parser-13.1.2"
+        ];
+      })
+      sources."webpack-log-2.0.0"
+      sources."webpack-merge-4.2.2"
+      (sources."webpack-sources-1.4.3" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."websocket-driver-0.7.4"
+      sources."websocket-extensions-0.1.4"
+      sources."webworkify-webpack-2.1.5"
       sources."which-1.3.1"
-      sources."which-module-1.0.0"
-      sources."wide-align-1.1.5"
+      sources."which-boxed-primitive-1.0.2"
+      sources."which-module-2.0.0"
+      sources."word-wrap-1.2.3"
       sources."worker-farm-1.7.0"
-      (sources."wrap-ansi-2.1.0" // {
+      sources."worker-rpc-0.1.1"
+      (sources."wrap-ansi-7.0.0" // {
         dependencies = [
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."string-width-1.0.2"
+          sources."ansi-styles-4.3.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.7"
-      sources."xmlhttprequest-ssl-1.5.5"
+      sources."ws-8.2.3"
+      sources."xmlhttprequest-ssl-2.0.0"
       sources."xtend-4.0.2"
-      sources."y18n-3.2.2"
+      sources."y18n-4.0.3"
       sources."yallist-4.0.0"
-      (sources."yargs-7.1.2" // {
+      sources."yaml-1.10.2"
+      (sources."yargs-16.2.0" // {
         dependencies = [
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."string-width-1.0.2"
+          sources."cliui-7.0.4"
+          sources."y18n-5.0.8"
         ];
       })
-      sources."yargs-parser-5.0.1"
+      sources."yargs-parser-20.2.9"
       sources."yeast-0.1.2"
-      sources."yocto-queue-0.1.0"
+      (sources."yorkie-2.0.0" // {
+        dependencies = [
+          sources."cross-spawn-5.1.0"
+          sources."execa-0.8.0"
+          sources."get-stream-3.0.0"
+          sources."lru-cache-4.1.5"
+          sources."normalize-path-1.0.0"
+          sources."yallist-2.1.2"
+        ];
+      })
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "DTV Software in Japan.";
-      homepage = "https://github.com/l3tnun/EPGStation#readme";
-      license = "MIT";
     };
     production = true;
     bypassCache = true;
@@ -91788,10 +94351,10 @@ in
   expo-cli = nodeEnv.buildNodePackage {
     name = "expo-cli";
     packageName = "expo-cli";
-    version = "5.2.0";
+    version = "5.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-5.2.0.tgz";
-      sha512 = "0zyZwv7mBmeeEMZ7ur5xHt/klu1CNiuMuTbsrbDOvQPqDxyLOKlQtvsJOn9VHCUt8sAlyN21Jmu7KI6lH7fSgQ==";
+      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-5.3.0.tgz";
+      sha512 = "Oi5E+C3AtAHOwqBbL3GL1eQErfDnZGmIqbMjlDGp8WtELN0f+fdfWA4ZldCOSjnqsYg7hYQFgrZXjIXbjYsC9Q==";
     };
     dependencies = [
       sources."@babel/code-frame-7.10.4"
@@ -91832,15 +94395,15 @@ in
       sources."@babel/types-7.17.0"
       sources."@expo/apple-utils-0.0.0-alpha.26"
       sources."@expo/bunyan-4.0.0"
-      sources."@expo/config-6.0.18"
-      (sources."@expo/config-plugins-4.0.18" // {
+      sources."@expo/config-6.0.19"
+      (sources."@expo/config-plugins-4.1.0" // {
         dependencies = [
           sources."semver-7.3.5"
         ];
       })
       sources."@expo/config-types-44.0.0"
-      sources."@expo/dev-server-0.1.105"
-      sources."@expo/dev-tools-0.13.145"
+      sources."@expo/dev-server-0.1.106"
+      sources."@expo/dev-tools-0.13.146"
       (sources."@expo/devcert-1.0.0" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -91856,7 +94419,7 @@ in
         ];
       })
       sources."@expo/json-file-8.2.34"
-      sources."@expo/metro-config-0.3.11"
+      sources."@expo/metro-config-0.3.12"
       sources."@expo/osascript-2.0.31"
       (sources."@expo/package-manager-0.0.50" // {
         dependencies = [
@@ -91870,12 +94433,12 @@ in
           sources."xmlbuilder-14.0.0"
         ];
       })
-      sources."@expo/prebuild-config-3.0.18"
+      sources."@expo/prebuild-config-3.1.0"
       sources."@expo/rudder-sdk-node-1.1.1"
       sources."@expo/schemer-1.3.33"
       sources."@expo/sdk-runtime-versions-1.0.0"
       sources."@expo/spawn-async-1.5.0"
-      (sources."@expo/webpack-config-0.16.18" // {
+      (sources."@expo/webpack-config-0.16.19" // {
         dependencies = [
           sources."is-wsl-2.2.0"
         ];
@@ -92135,7 +94698,7 @@ in
       })
       sources."camelcase-6.3.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -92393,7 +94956,7 @@ in
       sources."duplexer3-0.1.4"
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -92410,7 +94973,6 @@ in
       })
       sources."entities-2.2.0"
       sources."env-editor-0.4.2"
-      sources."envinfo-7.8.1"
       sources."eol-0.9.1"
       sources."errno-0.1.8"
       sources."error-ex-1.3.2"
@@ -92466,7 +95028,7 @@ in
           sources."fs-extra-9.1.0"
         ];
       })
-      (sources."expo-pwa-0.0.113" // {
+      (sources."expo-pwa-0.0.114" // {
         dependencies = [
           sources."commander-2.20.0"
         ];
@@ -93859,7 +96421,7 @@ in
           sources."uuid-7.0.3"
         ];
       })
-      (sources."xdl-59.2.29" // {
+      (sources."xdl-59.2.30" // {
         dependencies = [
           sources."bplist-parser-0.3.1"
           sources."chownr-1.1.4"
@@ -93984,7 +96546,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       sources."chalk-2.4.2"
       sources."chownr-1.1.4"
       sources."ci-info-2.0.0"
@@ -94008,8 +96570,8 @@ in
         ];
       })
       sources."delay-5.0.0"
-      sources."devtools-protocol-0.0.960912"
-      sources."electron-to-chromium-1.4.76"
+      sources."devtools-protocol-0.0.969999"
+      sources."electron-to-chromium-1.4.82"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -94100,14 +96662,14 @@ in
       sources."progress-2.0.3"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      (sources."puppeteer-13.4.1" // {
+      (sources."puppeteer-13.5.1" // {
         dependencies = [
           sources."ws-8.5.0"
         ];
       })
       sources."quick-lru-4.0.1"
       sources."react-17.0.2"
-      sources."react-devtools-core-4.23.0"
+      sources."react-devtools-core-4.24.0"
       sources."react-reconciler-0.26.2"
       (sources."read-pkg-5.2.0" // {
         dependencies = [
@@ -94411,7 +96973,7 @@ in
       sources."indent-string-4.0.0"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      (sources."inquirer-8.2.0" // {
+      (sources."inquirer-8.2.1" // {
         dependencies = [
           sources."ansi-escapes-4.3.2"
           sources."type-fest-0.21.3"
@@ -94511,7 +97073,7 @@ in
       sources."reusify-1.0.4"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-7.5.4"
+      sources."rxjs-7.5.5"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
@@ -94847,7 +97409,7 @@ in
       sources."end-of-stream-1.4.4"
       sources."env-paths-2.2.1"
       sources."err-code-2.0.3"
-      sources."es5-ext-0.10.53"
+      sources."es5-ext-0.10.58"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
@@ -94940,7 +97502,7 @@ in
           sources."string_decoder-0.10.31"
         ];
       })
-      sources."gauge-4.0.2"
+      sources."gauge-4.0.3"
       sources."gaxios-4.3.2"
       sources."gcp-metadata-4.3.1"
       sources."get-caller-file-2.0.5"
@@ -94988,7 +97550,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.7"
-      sources."inquirer-8.2.0"
+      sources."inquirer-8.2.1"
       sources."install-artifact-from-github-1.3.0"
       sources."ip-1.1.5"
       sources."ip-regex-4.3.0"
@@ -95106,11 +97668,7 @@ in
         ];
       })
       sources."media-typer-0.3.0"
-      (sources."memoizee-0.4.15" // {
-        dependencies = [
-          sources."next-tick-1.1.0"
-        ];
-      })
+      sources."memoizee-0.4.15"
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-2.6.0"
@@ -95145,7 +97703,7 @@ in
       })
       sources."negotiator-0.6.3"
       sources."netmask-2.0.2"
-      sources."next-tick-1.0.0"
+      sources."next-tick-1.1.0"
       sources."nice-try-1.0.5"
       sources."node-emoji-1.11.0"
       sources."node-fetch-2.6.7"
@@ -95254,7 +97812,7 @@ in
       })
       sources."rsvp-4.8.5"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.4"
+      sources."rxjs-7.5.5"
       sources."safe-buffer-5.2.1"
       sources."safe-stable-stringify-2.3.1"
       sources."safer-buffer-2.1.2"
@@ -95575,7 +98133,7 @@ in
       sources."ieee754-1.2.1"
       sources."indent-string-5.0.0"
       sources."inherits-2.0.4"
-      (sources."inquirer-8.2.0" // {
+      (sources."inquirer-8.2.1" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
           sources."emoji-regex-8.0.0"
@@ -95659,7 +98217,7 @@ in
       sources."redent-4.0.0"
       sources."restore-cursor-3.1.0"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.4"
+      sources."rxjs-7.5.5"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
@@ -96453,10 +99011,10 @@ in
   gatsby-cli = nodeEnv.buildNodePackage {
     name = "gatsby-cli";
     packageName = "gatsby-cli";
-    version = "4.9.0";
+    version = "4.9.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.9.0.tgz";
-      sha512 = "e4pQ+7Z+9Cppql59fy0OOo2El+ERkzOCVW2+ev5CojiljDb4x/nUHIx9ahKhgA5136F0DaCZ6w/lrOWJmi3ZSQ==";
+      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.9.1.tgz";
+      sha512 = "iU5pmwAq5d1XXo98BkYe2KccH3Dy/jsj7QsvP0CpfzOO0EFtidg5KUzPPaekLaGyoqxiMwWf0uAX7S1ERzMFYw==";
     };
     dependencies = [
       sources."@ampproject/remapping-2.1.2"
@@ -96545,7 +99103,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -96609,7 +99167,7 @@ in
       sources."domutils-2.8.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
@@ -96644,8 +99202,8 @@ in
       sources."fs-extra-10.0.1"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."gatsby-core-utils-3.9.0"
-      (sources."gatsby-telemetry-3.9.0" // {
+      sources."gatsby-core-utils-3.9.1"
+      (sources."gatsby-telemetry-3.9.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."boxen-4.2.0"
@@ -97438,7 +99996,7 @@ in
       sources."li-1.3.0"
       (sources."log-symbols-5.1.0" // {
         dependencies = [
-          sources."chalk-5.0.0"
+          sources."chalk-5.0.1"
         ];
       })
       sources."lowercase-keys-2.0.0"
@@ -97453,7 +100011,7 @@ in
       sources."onetime-5.1.2"
       (sources."ora-6.1.0" // {
         dependencies = [
-          sources."chalk-5.0.0"
+          sources."chalk-5.0.1"
         ];
       })
       sources."p-cancelable-2.1.1"
@@ -97635,7 +100193,7 @@ in
       sources."indent-string-4.0.0"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-8.2.0"
+      sources."inquirer-8.2.1"
       (sources."inquirer-autocomplete-prompt-1.4.0" // {
         dependencies = [
           sources."rxjs-6.6.7"
@@ -97772,7 +100330,7 @@ in
       sources."responselike-1.0.2"
       sources."restore-cursor-3.1.0"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.4"
+      sources."rxjs-7.5.5"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
@@ -98639,14 +101197,14 @@ in
       sources."@cronvel/get-pixels-3.4.0"
       sources."@endemolshinegroup/cosmiconfig-typescript-loader-3.0.2"
       sources."@graphql-tools/batch-execute-8.3.2"
-      sources."@graphql-tools/delegate-8.5.1"
+      sources."@graphql-tools/delegate-8.5.2"
       sources."@graphql-tools/graphql-file-loader-7.3.4"
       sources."@graphql-tools/import-6.6.6"
       sources."@graphql-tools/json-file-loader-7.3.4"
       sources."@graphql-tools/load-7.5.2"
       sources."@graphql-tools/merge-8.2.3"
       sources."@graphql-tools/schema-8.3.2"
-      (sources."@graphql-tools/url-loader-7.8.0" // {
+      (sources."@graphql-tools/url-loader-7.9.1" // {
         dependencies = [
           (sources."subscriptions-transport-ws-0.11.0" // {
             dependencies = [
@@ -98819,7 +101377,7 @@ in
       sources."graphql-language-service-parser-1.10.4"
       sources."graphql-language-service-types-1.8.7"
       sources."graphql-language-service-utils-2.5.1"
-      sources."graphql-sse-1.0.6"
+      sources."graphql-sse-1.1.0"
       sources."graphql-ws-5.6.2"
       sources."has-flag-4.0.0"
       sources."http-errors-1.6.3"
@@ -98959,13 +101517,12 @@ in
       sources."ts-node-9.1.1"
       sources."tslib-2.3.1"
       sources."type-is-1.6.18"
-      sources."undici-4.15.0"
+      sources."undici-4.15.1"
       sources."uniq-1.0.1"
       sources."universalify-0.1.2"
       sources."unixify-1.0.0"
       sources."unpipe-1.0.0"
       sources."utils-merge-1.0.1"
-      sources."valid-url-1.0.9"
       sources."value-or-promise-1.0.11"
       sources."vary-1.1.2"
       sources."vscode-languageserver-types-3.16.0"
@@ -99257,7 +101814,7 @@ in
       sources."marked-4.0.12"
       (sources."marked-terminal-5.1.1" // {
         dependencies = [
-          sources."chalk-5.0.0"
+          sources."chalk-5.0.1"
         ];
       })
       sources."memory-streams-0.1.3"
@@ -99285,7 +101842,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."systeminformation-5.11.6"
+      sources."systeminformation-5.11.7"
       sources."term-canvas-0.0.5"
       sources."type-fest-1.4.0"
       sources."wordwrap-0.0.3"
@@ -99426,7 +101983,7 @@ in
       sources."each-props-1.3.2"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.53"
+      sources."es5-ext-0.10.58"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
@@ -99574,7 +102131,7 @@ in
       sources."mute-stdout-1.0.1"
       sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
-      sources."next-tick-1.0.0"
+      sources."next-tick-1.1.0"
       sources."normalize-package-data-2.5.0"
       sources."normalize-path-3.0.0"
       sources."now-and-later-2.0.1"
@@ -99846,7 +102403,7 @@ in
         ];
       })
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.53"
+      sources."es5-ext-0.10.58"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       (sources."expand-brackets-2.1.4" // {
@@ -99993,7 +102550,7 @@ in
           sources."kind-of-6.0.3"
         ];
       })
-      sources."next-tick-1.0.0"
+      sources."next-tick-1.1.0"
       sources."normalize-package-data-2.5.0"
       sources."number-is-nan-1.0.1"
       (sources."object-copy-0.1.0" // {
@@ -100183,7 +102740,7 @@ in
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.6.1"
-      sources."uglify-js-3.15.2"
+      sources."uglify-js-3.15.3"
       sources."upper-case-1.1.3"
     ];
     buildInputs = globalBuildInputs;
@@ -100488,7 +103045,7 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.1087.0"
+      sources."aws-sdk-2.1092.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."base64-js-1.5.1"
@@ -101059,7 +103616,7 @@ in
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
       sources."jquery-3.6.0"
-      sources."jquery.terminal-2.32.0"
+      sources."jquery.terminal-2.32.1"
       sources."jsonfile-2.4.0"
       sources."keyboardevent-key-polyfill-1.1.0"
       sources."line-reader-0.4.0"
@@ -101956,87 +104513,87 @@ in
           sources."tslib-1.14.1"
         ];
       })
-      sources."@aws-sdk/abort-controller-3.53.0"
+      sources."@aws-sdk/abort-controller-3.54.0"
       sources."@aws-sdk/chunked-blob-reader-3.52.0"
       sources."@aws-sdk/chunked-blob-reader-native-3.52.0"
-      sources."@aws-sdk/client-s3-3.53.1"
-      sources."@aws-sdk/client-sso-3.53.0"
-      sources."@aws-sdk/client-sts-3.53.0"
-      sources."@aws-sdk/config-resolver-3.53.0"
-      sources."@aws-sdk/credential-provider-env-3.53.0"
-      sources."@aws-sdk/credential-provider-imds-3.53.0"
-      sources."@aws-sdk/credential-provider-ini-3.53.0"
-      sources."@aws-sdk/credential-provider-node-3.53.0"
-      sources."@aws-sdk/credential-provider-process-3.53.0"
-      sources."@aws-sdk/credential-provider-sso-3.53.0"
-      sources."@aws-sdk/credential-provider-web-identity-3.53.0"
-      sources."@aws-sdk/eventstream-marshaller-3.53.0"
-      sources."@aws-sdk/eventstream-serde-browser-3.53.0"
-      sources."@aws-sdk/eventstream-serde-config-resolver-3.53.0"
-      sources."@aws-sdk/eventstream-serde-node-3.53.0"
-      sources."@aws-sdk/eventstream-serde-universal-3.53.0"
-      sources."@aws-sdk/fetch-http-handler-3.53.0"
-      sources."@aws-sdk/hash-blob-browser-3.53.0"
-      sources."@aws-sdk/hash-node-3.53.0"
-      sources."@aws-sdk/hash-stream-node-3.53.1"
-      sources."@aws-sdk/invalid-dependency-3.53.0"
+      sources."@aws-sdk/client-s3-3.54.0"
+      sources."@aws-sdk/client-sso-3.54.0"
+      sources."@aws-sdk/client-sts-3.54.0"
+      sources."@aws-sdk/config-resolver-3.54.0"
+      sources."@aws-sdk/credential-provider-env-3.54.0"
+      sources."@aws-sdk/credential-provider-imds-3.54.0"
+      sources."@aws-sdk/credential-provider-ini-3.54.0"
+      sources."@aws-sdk/credential-provider-node-3.54.0"
+      sources."@aws-sdk/credential-provider-process-3.54.0"
+      sources."@aws-sdk/credential-provider-sso-3.54.0"
+      sources."@aws-sdk/credential-provider-web-identity-3.54.0"
+      sources."@aws-sdk/eventstream-marshaller-3.54.0"
+      sources."@aws-sdk/eventstream-serde-browser-3.54.0"
+      sources."@aws-sdk/eventstream-serde-config-resolver-3.54.0"
+      sources."@aws-sdk/eventstream-serde-node-3.54.0"
+      sources."@aws-sdk/eventstream-serde-universal-3.54.0"
+      sources."@aws-sdk/fetch-http-handler-3.54.0"
+      sources."@aws-sdk/hash-blob-browser-3.54.0"
+      sources."@aws-sdk/hash-node-3.54.0"
+      sources."@aws-sdk/hash-stream-node-3.54.0"
+      sources."@aws-sdk/invalid-dependency-3.54.0"
       sources."@aws-sdk/is-array-buffer-3.52.0"
-      sources."@aws-sdk/md5-js-3.53.0"
-      sources."@aws-sdk/middleware-bucket-endpoint-3.53.0"
-      sources."@aws-sdk/middleware-content-length-3.53.0"
-      sources."@aws-sdk/middleware-expect-continue-3.53.0"
-      sources."@aws-sdk/middleware-flexible-checksums-3.53.0"
-      sources."@aws-sdk/middleware-header-default-3.53.0"
-      sources."@aws-sdk/middleware-host-header-3.53.0"
-      sources."@aws-sdk/middleware-location-constraint-3.53.0"
-      sources."@aws-sdk/middleware-logger-3.53.0"
-      (sources."@aws-sdk/middleware-retry-3.53.0" // {
+      sources."@aws-sdk/md5-js-3.54.0"
+      sources."@aws-sdk/middleware-bucket-endpoint-3.54.0"
+      sources."@aws-sdk/middleware-content-length-3.54.0"
+      sources."@aws-sdk/middleware-expect-continue-3.54.0"
+      sources."@aws-sdk/middleware-flexible-checksums-3.54.0"
+      sources."@aws-sdk/middleware-header-default-3.54.0"
+      sources."@aws-sdk/middleware-host-header-3.54.0"
+      sources."@aws-sdk/middleware-location-constraint-3.54.0"
+      sources."@aws-sdk/middleware-logger-3.54.0"
+      (sources."@aws-sdk/middleware-retry-3.54.0" // {
         dependencies = [
           sources."uuid-8.3.2"
         ];
       })
-      sources."@aws-sdk/middleware-sdk-s3-3.53.0"
-      sources."@aws-sdk/middleware-sdk-sts-3.53.0"
-      sources."@aws-sdk/middleware-serde-3.53.0"
-      sources."@aws-sdk/middleware-signing-3.53.0"
-      sources."@aws-sdk/middleware-ssec-3.53.0"
-      sources."@aws-sdk/middleware-stack-3.53.0"
-      sources."@aws-sdk/middleware-user-agent-3.53.0"
-      sources."@aws-sdk/node-config-provider-3.53.0"
-      sources."@aws-sdk/node-http-handler-3.53.0"
-      sources."@aws-sdk/property-provider-3.53.0"
-      sources."@aws-sdk/protocol-http-3.53.0"
-      sources."@aws-sdk/querystring-builder-3.53.0"
-      sources."@aws-sdk/querystring-parser-3.53.0"
-      sources."@aws-sdk/s3-request-presigner-3.53.1"
-      sources."@aws-sdk/service-error-classification-3.53.0"
+      sources."@aws-sdk/middleware-sdk-s3-3.54.0"
+      sources."@aws-sdk/middleware-sdk-sts-3.54.0"
+      sources."@aws-sdk/middleware-serde-3.54.0"
+      sources."@aws-sdk/middleware-signing-3.54.0"
+      sources."@aws-sdk/middleware-ssec-3.54.0"
+      sources."@aws-sdk/middleware-stack-3.54.0"
+      sources."@aws-sdk/middleware-user-agent-3.54.0"
+      sources."@aws-sdk/node-config-provider-3.54.0"
+      sources."@aws-sdk/node-http-handler-3.54.0"
+      sources."@aws-sdk/property-provider-3.54.0"
+      sources."@aws-sdk/protocol-http-3.54.0"
+      sources."@aws-sdk/querystring-builder-3.54.0"
+      sources."@aws-sdk/querystring-parser-3.54.0"
+      sources."@aws-sdk/s3-request-presigner-3.54.0"
+      sources."@aws-sdk/service-error-classification-3.54.0"
       sources."@aws-sdk/shared-ini-file-loader-3.52.0"
-      sources."@aws-sdk/signature-v4-3.53.0"
-      sources."@aws-sdk/smithy-client-3.53.0"
-      sources."@aws-sdk/types-3.53.0"
-      sources."@aws-sdk/url-parser-3.53.0"
+      sources."@aws-sdk/signature-v4-3.54.0"
+      sources."@aws-sdk/smithy-client-3.54.0"
+      sources."@aws-sdk/types-3.54.0"
+      sources."@aws-sdk/url-parser-3.54.0"
       sources."@aws-sdk/util-arn-parser-3.52.0"
       sources."@aws-sdk/util-base64-browser-3.52.0"
       sources."@aws-sdk/util-base64-node-3.52.0"
-      sources."@aws-sdk/util-body-length-browser-3.52.0"
-      sources."@aws-sdk/util-body-length-node-3.52.0"
+      sources."@aws-sdk/util-body-length-browser-3.54.0"
+      sources."@aws-sdk/util-body-length-node-3.54.0"
       sources."@aws-sdk/util-buffer-from-3.52.0"
       sources."@aws-sdk/util-config-provider-3.52.0"
-      sources."@aws-sdk/util-create-request-3.53.0"
+      sources."@aws-sdk/util-create-request-3.54.0"
       sources."@aws-sdk/util-credentials-3.53.0"
-      sources."@aws-sdk/util-defaults-mode-browser-3.53.0"
-      sources."@aws-sdk/util-defaults-mode-node-3.53.0"
-      sources."@aws-sdk/util-format-url-3.53.0"
+      sources."@aws-sdk/util-defaults-mode-browser-3.54.0"
+      sources."@aws-sdk/util-defaults-mode-node-3.54.0"
+      sources."@aws-sdk/util-format-url-3.54.0"
       sources."@aws-sdk/util-hex-encoding-3.52.0"
       sources."@aws-sdk/util-locate-window-3.52.0"
-      sources."@aws-sdk/util-stream-browser-3.53.0"
-      sources."@aws-sdk/util-stream-node-3.53.0"
+      sources."@aws-sdk/util-stream-browser-3.54.0"
+      sources."@aws-sdk/util-stream-node-3.54.0"
       sources."@aws-sdk/util-uri-escape-3.52.0"
-      sources."@aws-sdk/util-user-agent-browser-3.53.0"
-      sources."@aws-sdk/util-user-agent-node-3.53.0"
+      sources."@aws-sdk/util-user-agent-browser-3.54.0"
+      sources."@aws-sdk/util-user-agent-node-3.54.0"
       sources."@aws-sdk/util-utf8-browser-3.52.0"
       sources."@aws-sdk/util-utf8-node-3.52.0"
-      sources."@aws-sdk/util-waiter-3.53.0"
+      sources."@aws-sdk/util-waiter-3.54.0"
       sources."@aws-sdk/xml-builder-3.52.0"
       sources."@braintree/sanitize-url-3.1.0"
       sources."@cronvel/get-pixels-3.4.0"
@@ -102097,7 +104654,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1087.0" // {
+      (sources."aws-sdk-2.1092.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-3.3.2"
@@ -102972,17 +105529,17 @@ in
   json-diff = nodeEnv.buildNodePackage {
     name = "json-diff";
     packageName = "json-diff";
-    version = "0.7.2";
+    version = "0.7.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/json-diff/-/json-diff-0.7.2.tgz";
-      sha512 = "m+rr5cvC8gML9iB8FatQpQ/NEBJ7LHUFMM4KoNfmCfhTElm42SnqslCGKpYB+Dt1NgkibRVrGP0ZAO3TOU1hpA==";
+      url = "https://registry.npmjs.org/json-diff/-/json-diff-0.7.3.tgz";
+      sha512 = "VBvNBt3cIrCBHa3gYbVsCFUEReqWZPf+Biq1ZtFdIiQ6rytRLDp3qvtrGv7z/iZDd1D4vXWpW7Nx1nP8muLzkg==";
     };
     dependencies = [
       sources."cli-color-2.0.1"
       sources."d-1.0.1"
       sources."difflib-0.2.4"
       sources."dreamopt-0.8.0"
-      sources."es5-ext-0.10.53"
+      sources."es5-ext-0.10.58"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
@@ -102995,12 +105552,8 @@ in
       sources."heap-0.2.7"
       sources."is-promise-2.2.2"
       sources."lru-queue-0.1.0"
-      (sources."memoizee-0.4.15" // {
-        dependencies = [
-          sources."next-tick-1.1.0"
-        ];
-      })
-      sources."next-tick-1.0.0"
+      sources."memoizee-0.4.15"
+      sources."next-tick-1.1.0"
       sources."timers-ext-0.1.7"
       sources."type-1.2.0"
       sources."wordwrap-1.0.0"
@@ -103999,7 +106552,7 @@ in
       sources."dotenv-8.6.0"
       sources."emoji-regex-8.0.0"
       sources."env-paths-2.2.1"
-      sources."es5-ext-0.10.53"
+      sources."es5-ext-0.10.58"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."escape-string-regexp-4.0.0"
@@ -104067,7 +106620,7 @@ in
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."natural-orderby-2.0.3"
-      sources."next-tick-1.0.0"
+      sources."next-tick-1.1.0"
       sources."nice-try-1.0.5"
       sources."node-downloader-helper-1.0.19"
       sources."object-inspect-1.12.0"
@@ -104438,7 +106991,7 @@ in
       sources."bytes-3.1.2"
       sources."bytesish-0.4.4"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chardet-1.4.0"
@@ -104493,7 +107046,7 @@ in
       })
       sources."dotenv-8.6.0"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."enquirer-2.3.6"
@@ -105730,7 +108283,7 @@ in
       (sources."init-package-json-2.0.5" // {
         dependencies = [
           sources."normalize-package-data-3.0.3"
-          sources."read-package-json-4.1.1"
+          sources."read-package-json-4.1.2"
         ];
       })
       sources."inquirer-7.3.3"
@@ -106046,7 +108599,7 @@ in
       sources."type-fest-0.4.1"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
-      sources."uglify-js-3.15.2"
+      sources."uglify-js-3.15.3"
       sources."uid-number-0.0.6"
       sources."umask-1.1.0"
       sources."unbox-primitive-1.0.1"
@@ -107335,7 +109888,7 @@ in
       sources."cached-path-relative-1.1.0"
       sources."call-bind-1.0.2"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       sources."capture-exit-2.0.0"
       sources."caseless-0.12.0"
       (sources."chalk-3.0.0" // {
@@ -107458,7 +110011,7 @@ in
       sources."duplexer2-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -108769,7 +111322,7 @@ in
       })
       sources."ecc-jsbn-0.1.2"
       sources."entities-1.1.2"
-      sources."es5-ext-0.10.53"
+      sources."es5-ext-0.10.58"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       (sources."es6-set-0.1.5" // {
@@ -108895,7 +111448,7 @@ in
       sources."multipipe-0.1.2"
       sources."mute-stream-0.0.5"
       sources."natural-compare-1.4.0"
-      sources."next-tick-1.0.0"
+      sources."next-tick-1.1.0"
       sources."node-addon-api-1.7.2"
       sources."node-fetch-2.6.1"
       sources."number-is-nan-1.0.1"
@@ -109194,7 +111747,7 @@ in
       sources."progress-2.0.3"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      sources."puppeteer-13.5.0"
+      sources."puppeteer-13.5.1"
       sources."readable-stream-3.6.0"
       sources."rimraf-3.0.2"
       sources."robust-predicates-3.0.1"
@@ -109229,10 +111782,10 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "9.2.1";
+    version = "9.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-9.2.1.tgz";
-      sha512 = "T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ==";
+      url = "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz";
+      sha512 = "L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==";
     };
     dependencies = [
       sources."@ungap/promise-all-settled-1.1.2"
@@ -109273,7 +111826,11 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."get-caller-file-2.0.5"
-      sources."glob-7.2.0"
+      (sources."glob-7.2.0" // {
+        dependencies = [
+          sources."minimatch-3.1.2"
+        ];
+      })
       sources."glob-parent-5.1.2"
       sources."growl-1.10.5"
       sources."has-flag-4.0.0"
@@ -109291,9 +111848,9 @@ in
       sources."js-yaml-4.1.0"
       sources."locate-path-6.0.0"
       sources."log-symbols-4.1.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-4.2.1"
       sources."ms-2.1.3"
-      sources."nanoid-3.2.0"
+      sources."nanoid-3.3.1"
       sources."normalize-path-3.0.0"
       sources."once-1.4.0"
       sources."p-limit-3.1.0"
@@ -109704,7 +112261,7 @@ in
       sources."ncp-2.0.0"
       sources."near-api-js-0.44.2"
       sources."near-hd-key-1.2.1"
-      sources."near-ledger-js-0.2.0"
+      sources."near-ledger-js-0.2.1"
       sources."near-seed-phrase-0.2.0"
       (sources."node-abi-2.30.1" // {
         dependencies = [
@@ -109959,7 +112516,7 @@ in
       sources."err-code-2.0.3"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
-      sources."gauge-4.0.2"
+      sources."gauge-4.0.3"
       sources."glob-7.2.0"
       sources."graceful-fs-4.2.9"
       sources."has-unicode-2.0.1"
@@ -109977,12 +112534,12 @@ in
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-lambda-1.0.1"
       sources."isexe-2.0.0"
-      sources."lru-cache-7.4.1"
-      sources."make-fetch-happen-10.0.4"
+      sources."lru-cache-7.4.4"
+      sources."make-fetch-happen-10.0.5"
       sources."minimatch-3.1.2"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
-      sources."minipass-fetch-2.0.2"
+      sources."minipass-fetch-2.0.3"
       sources."minipass-flush-1.0.5"
       sources."minipass-pipeline-1.2.4"
       sources."minipass-sized-1.0.3"
@@ -111731,10 +114288,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "8.5.3";
+    version = "8.5.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-8.5.3.tgz";
-      sha512 = "O+1j66Alx7ZQgWnUSSTaz8rTqQrJnqNb8Num5uQw2vYvc2RrxLaX7cWtRkDhvkPIL8Nf2WU9gx1oSu268QConA==";
+      url = "https://registry.npmjs.org/npm/-/npm-8.5.4.tgz";
+      sha512 = "VnGLT4t88cUE78lLw5kxBwtLn2/Sx6O7Uw9dYwmq6AnF/taWHyMYQgDzUEsLhaXAVH7prG+sjG+MvxlHdIasgg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -111749,10 +114306,10 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "12.5.2";
+    version = "12.5.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-12.5.2.tgz";
-      sha512 = "XJGFO3kgcm+WJljOPRYZf/W40FSzEcLDacQ1WPEgW4qXlQy4Ihr1eVnlS2+43y0YEF+qjLkycr7WbHyfkm6C4A==";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-12.5.3.tgz";
+      sha512 = "siFg/+Un+j4tLA6GJCnk6hz2YU4Yc5bftDnOoiSRLKL6NeAS3FScB32mtKNBtITMJf2nsoZSr8vH+wdUGeP19g==";
     };
     dependencies = [
       sources."@gar/promisify-1.1.3"
@@ -111762,7 +114319,7 @@ in
       sources."@npmcli/fs-1.1.1"
       (sources."@npmcli/git-3.0.0" // {
         dependencies = [
-          sources."lru-cache-7.4.1"
+          sources."lru-cache-7.4.4"
         ];
       })
       sources."@npmcli/installed-package-contents-1.0.7"
@@ -111840,7 +114397,7 @@ in
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."gauge-4.0.2"
+      sources."gauge-4.0.3"
       sources."get-stdin-8.0.0"
       sources."get-stream-4.1.0"
       (sources."glob-7.2.0" // {
@@ -111926,9 +114483,9 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."make-fetch-happen-10.0.4" // {
+      (sources."make-fetch-happen-10.0.5" // {
         dependencies = [
-          sources."lru-cache-7.4.1"
+          sources."lru-cache-7.4.4"
         ];
       })
       sources."merge2-1.4.1"
@@ -111938,7 +114495,7 @@ in
       sources."minimist-1.2.5"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
-      sources."minipass-fetch-2.0.2"
+      sources."minipass-fetch-2.0.3"
       sources."minipass-flush-1.0.5"
       sources."minipass-json-stream-1.0.1"
       sources."minipass-pipeline-1.2.4"
@@ -111987,7 +114544,7 @@ in
       sources."queue-microtask-1.2.3"
       sources."rc-1.2.8"
       sources."rc-config-loader-4.0.0"
-      sources."read-package-json-4.1.1"
+      sources."read-package-json-4.1.2"
       sources."read-package-json-fast-2.0.3"
       sources."readable-stream-3.6.0"
       sources."registry-auth-token-4.2.1"
@@ -112145,7 +114702,7 @@ in
           sources."mkdirp-0.5.5"
         ];
       })
-      sources."gauge-4.0.2"
+      sources."gauge-4.0.3"
       sources."getpass-0.1.7"
       sources."glob-7.2.0"
       sources."graceful-fs-2.0.3"
@@ -112620,7 +115177,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -112757,7 +115314,7 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -113486,7 +116043,7 @@ in
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -113508,8 +116065,8 @@ in
       sources."css-tree-1.1.3"
       sources."css-what-5.1.0"
       sources."cssesc-3.0.0"
-      sources."cssnano-5.1.0"
-      sources."cssnano-preset-default-5.2.0"
+      sources."cssnano-5.1.3"
+      sources."cssnano-preset-default-5.2.3"
       sources."cssnano-utils-3.1.0"
       sources."csso-4.2.0"
       sources."detect-libc-1.0.3"
@@ -113519,7 +116076,7 @@ in
       sources."domutils-2.8.0"
       sources."dotenv-7.0.0"
       sources."dotenv-expand-5.1.0"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       sources."entities-2.2.0"
       sources."error-ex-1.3.2"
       sources."escalade-3.1.1"
@@ -113566,15 +116123,15 @@ in
       sources."postcss-calc-8.2.4"
       sources."postcss-colormin-5.3.0"
       sources."postcss-convert-values-5.1.0"
-      sources."postcss-discard-comments-5.1.0"
+      sources."postcss-discard-comments-5.1.1"
       sources."postcss-discard-duplicates-5.1.0"
-      sources."postcss-discard-empty-5.1.0"
+      sources."postcss-discard-empty-5.1.1"
       sources."postcss-discard-overridden-5.1.0"
-      sources."postcss-merge-longhand-5.1.0"
+      sources."postcss-merge-longhand-5.1.1"
       sources."postcss-merge-rules-5.1.0"
       sources."postcss-minify-font-values-5.1.0"
       sources."postcss-minify-gradients-5.1.0"
-      sources."postcss-minify-params-5.1.0"
+      sources."postcss-minify-params-5.1.1"
       sources."postcss-minify-selectors-5.2.0"
       sources."postcss-normalize-charset-5.1.0"
       sources."postcss-normalize-display-values-5.1.0"
@@ -113584,13 +116141,13 @@ in
       sources."postcss-normalize-timing-functions-5.1.0"
       sources."postcss-normalize-unicode-5.1.0"
       sources."postcss-normalize-url-5.1.0"
-      sources."postcss-normalize-whitespace-5.1.0"
+      sources."postcss-normalize-whitespace-5.1.1"
       sources."postcss-ordered-values-5.1.0"
       sources."postcss-reduce-initial-5.1.0"
       sources."postcss-reduce-transforms-5.1.0"
       sources."postcss-selector-parser-6.0.9"
       sources."postcss-svgo-5.1.0"
-      sources."postcss-unique-selectors-5.1.0"
+      sources."postcss-unique-selectors-5.1.1"
       sources."postcss-value-parser-4.2.0"
       sources."posthtml-0.16.6"
       sources."posthtml-parser-0.11.0"
@@ -113882,7 +116439,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
-      sources."uglify-js-3.15.2"
+      sources."uglify-js-3.15.3"
       sources."unix-dgram-2.0.4"
       sources."unpipe-1.0.0"
       sources."uri-js-4.4.1"
@@ -115073,7 +117630,7 @@ in
       sources."string_decoder-0.10.31"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.11.6"
+      sources."systeminformation-5.11.8"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
       sources."tslib-2.3.1"
@@ -115525,10 +118082,10 @@ in
   pulp = nodeEnv.buildNodePackage {
     name = "pulp";
     packageName = "pulp";
-    version = "15.0.0";
+    version = "16.0.0-0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pulp/-/pulp-15.0.0.tgz";
-      sha512 = "JPzDiSjxwySAFOFnpevZO7YzzDgGdJP/SQap1UJbK0rsrfUVQC+zOHDkm7A8T3gR/0el4ft6KwB6fcDl2bTzVw==";
+      url = "https://registry.npmjs.org/pulp/-/pulp-16.0.0-0.tgz";
+      sha512 = "6nG6qg/p5IGa0k4w9EkBVBX3+7Ra1mjbOCYwbn85kjUC6x1jkyP+hAP7xAwBxTPgxSD8x5IZtoX9sbrNeKecnQ==";
     };
     dependencies = [
       sources."JSONStream-1.3.5"
@@ -115966,10 +118523,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.227";
+    version = "1.1.228";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.227.tgz";
-      sha512 = "/nRQqbTpHraNiUZ0tpQfWYyqOV4nByx/rRHZp+wFjRv6v3Vfg1rIa973y9LsfH/vGkETbZMvRanb8VSlWp9Tlg==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.228.tgz";
+      sha512 = "Q/LnDoZK6bxc7u60kFjFwi9X3s79kLaGd/g23T0c6T1CUdrRxDyRTvNRLjLPSLaX8EuPIdcXuPXAzXgSjBz/Mw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -116659,7 +119216,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
@@ -116887,7 +119444,7 @@ in
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -118282,7 +120839,7 @@ in
       sources."@emotion/unitless-0.7.5"
       sources."@exodus/schemasafe-1.0.0-rc.6"
       sources."@redocly/ajv-8.6.4"
-      sources."@redocly/openapi-core-1.0.0-beta.85"
+      sources."@redocly/openapi-core-1.0.0-beta.87"
       sources."@redocly/react-dropdown-aria-2.0.12"
       sources."@types/json-schema-7.0.9"
       sources."@types/node-14.18.12"
@@ -118525,7 +121082,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."tty-browserify-0.0.0"
-      sources."uglify-js-3.15.2"
+      sources."uglify-js-3.15.3"
       (sources."uri-js-4.4.1" // {
         dependencies = [
           sources."punycode-2.1.1"
@@ -119387,12 +121944,12 @@ in
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."mkdirp-classic-0.5.3"
-      (sources."mocha-9.2.1" // {
+      (sources."mocha-9.2.2" // {
         dependencies = [
           sources."argparse-2.0.1"
           sources."has-flag-4.0.0"
           sources."js-yaml-4.1.0"
-          sources."minimatch-3.0.4"
+          sources."minimatch-4.2.1"
           sources."ms-2.1.3"
           sources."supports-color-8.1.1"
           sources."yargs-16.2.0"
@@ -119401,7 +121958,7 @@ in
       })
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
-      sources."nanoid-3.2.0"
+      sources."nanoid-3.3.1"
       sources."napi-build-utils-1.0.2"
       sources."natural-compare-1.4.0"
       sources."node-abi-3.8.0"
@@ -119880,10 +122437,10 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "3.7.1";
+    version = "3.7.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-3.7.1.tgz";
-      sha512 = "DIPgJ/jbWQpF1kyAhQR6b3Lqjq2Dwv/41D5UdNyMsnvV5eUOEm5pcCAQE7aT+N/rS8F1ez47iaZyi70esNe3PQ==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-3.7.4.tgz";
+      sha512 = "TsrSGfzKO9N0/rp2dROVUrKgku3b3JHP1wBEPrCgLLmfBTBLRi6YoTK9HAWgehNa+uSHdE4x02s+nttXU6qhtQ==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
@@ -119892,7 +122449,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@serverless/aws-lambda-otel-extension-dist-0.1.6"
+      sources."@serverless/aws-lambda-otel-extension-dist-0.1.10"
       sources."@serverless/dashboard-plugin-6.1.5"
       sources."@serverless/event-mocks-1.1.1"
       (sources."@serverless/platform-client-4.3.2" // {
@@ -119938,7 +122495,7 @@ in
       sources."async-3.2.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.1087.0" // {
+      (sources."aws-sdk-2.1092.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -120078,11 +122635,7 @@ in
       sources."duration-0.2.2"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
-      (sources."es5-ext-0.10.53" // {
-        dependencies = [
-          sources."next-tick-1.0.0"
-        ];
-      })
+      sources."es5-ext-0.10.58"
       sources."es6-iterator-2.0.3"
       (sources."es6-set-0.1.5" // {
         dependencies = [
@@ -120148,7 +122701,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."inquirer-8.2.0"
+      sources."inquirer-8.2.1"
       sources."is-binary-path-2.1.0"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
@@ -120280,7 +122833,7 @@ in
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
       sources."run-parallel-limit-1.1.0"
-      sources."rxjs-7.5.4"
+      sources."rxjs-7.5.5"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
@@ -121009,10 +123562,10 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.864.0";
+    version = "1.868.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.864.0.tgz";
-      sha512 = "/RDg1P+uR0czvTZduVUoDvR7hhxi5bjqfp50ZBdRSL6pth2QG3jR6TQJ/GyJeIYpZkXQclU8jRRzg8L+MQG7zA==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.868.0.tgz";
+      sha512 = "iIzTIgQELgCmqvi3XBdKf+6ButRQ/SKCvR91DJM2SKdnIrRAQykNU2NAzBY5IfM/RHcPqCxlCgeJxTumiswv9g==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -121144,7 +123697,7 @@ in
       sources."locate-path-6.0.0"
       (sources."log-symbols-5.1.0" // {
         dependencies = [
-          sources."chalk-5.0.0"
+          sources."chalk-5.0.1"
         ];
       })
       sources."log-update-5.0.0"
@@ -121159,7 +123712,7 @@ in
       sources."onetime-5.1.2"
       (sources."ora-6.1.0" // {
         dependencies = [
-          sources."chalk-5.0.0"
+          sources."chalk-5.0.1"
         ];
       })
       sources."p-limit-3.1.0"
@@ -122272,7 +124825,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.1087.0" // {
+      (sources."aws-sdk-2.1092.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -124218,7 +126771,7 @@ in
       sources."truncate-utf8-bytes-1.0.2"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.15.2"
+      sources."uglify-js-3.15.3"
       sources."undefsafe-2.0.5"
       (sources."union-value-1.0.1" // {
         dependencies = [
@@ -129172,10 +131725,10 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.15.2";
+    version = "3.15.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.2.tgz";
-      sha512 = "peeoTk3hSwYdoc9nrdiEJk+gx1ALCtTjdYuKSXMTDqq7n1W7dHPqWDdSi+BPL0ni2YMeHD7hKUSdbj3TZauY2A==";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz";
+      sha512 = "6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -130344,7 +132897,7 @@ in
     version = "1.6.8";
     src = ../../applications/editors/vscode/extensions/vscode-lldb/build-deps;
     dependencies = [
-      sources."@discoveryjs/json-ext-0.5.6"
+      sources."@discoveryjs/json-ext-0.5.7"
       sources."@types/eslint-8.4.1"
       sources."@types/eslint-scope-3.7.3"
       sources."@types/estree-0.0.51"
@@ -130396,7 +132949,7 @@ in
       sources."buffer-from-1.1.2"
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."supports-color-7.2.0"
@@ -130436,7 +132989,7 @@ in
       sources."domelementtype-2.2.0"
       sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."enhanced-resolve-5.9.2"
@@ -130949,7 +133502,7 @@ in
       sources."tslib-1.14.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uglify-js-3.15.2"
+      sources."uglify-js-3.15.3"
       sources."uid-0.0.2"
       sources."unbzip2-stream-1.4.3"
       sources."unyield-0.0.1"
@@ -132154,12 +134707,11 @@ in
       sources."@devicefarmer/adbkit-2.11.3"
       sources."@devicefarmer/adbkit-logcat-1.1.0"
       sources."@devicefarmer/adbkit-monkey-1.0.1"
-      (sources."@eslint/eslintrc-1.2.0" // {
+      (sources."@eslint/eslintrc-1.2.1" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."eslint-visitor-keys-3.3.0"
           sources."espree-9.3.1"
-          sources."ignore-4.0.6"
           sources."ms-2.1.2"
         ];
       })
@@ -132723,10 +135275,10 @@ in
       sources."ajv-keywords-3.5.2"
       sources."browserslist-4.20.0"
       sources."buffer-from-1.1.2"
-      sources."caniuse-lite-1.0.30001313"
+      sources."caniuse-lite-1.0.30001314"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.4.76"
+      sources."electron-to-chromium-1.4.82"
       sources."enhanced-resolve-5.9.2"
       sources."es-module-lexer-0.9.3"
       sources."escalade-3.1.1"
@@ -132791,7 +135343,7 @@ in
       sha512 = "m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==";
     };
     dependencies = [
-      sources."@discoveryjs/json-ext-0.5.6"
+      sources."@discoveryjs/json-ext-0.5.7"
       sources."@webpack-cli/configtest-1.1.1"
       sources."@webpack-cli/info-1.4.1"
       sources."@webpack-cli/serve-1.6.1"
@@ -133211,10 +135763,10 @@ in
   webtorrent-cli = nodeEnv.buildNodePackage {
     name = "webtorrent-cli";
     packageName = "webtorrent-cli";
-    version = "4.0.3";
+    version = "4.0.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webtorrent-cli/-/webtorrent-cli-4.0.3.tgz";
-      sha512 = "UuAv33TkzZGpGYgWH8rLWkvebd91UWid6tueQhUj6eGxfLUpAEl6uFyRMLAEmg2/kskKQzI2YPl8+tgex3TWxg==";
+      url = "https://registry.npmjs.org/webtorrent-cli/-/webtorrent-cli-4.0.4.tgz";
+      sha512 = "uamNZvqmpk1NpK+Vk/L8hppxq/7n8qtD+pQKia9pkXIAGqOGDA65ql9hx6g8rA2tM7cKDNkJhtxxF9ibJsyveQ==";
     };
     dependencies = [
       sources."@leichtgewicht/ip-codec-2.0.3"
@@ -133317,7 +135869,7 @@ in
       })
       sources."core-util-is-1.0.3"
       sources."cpus-1.0.3"
-      sources."create-torrent-5.0.1"
+      sources."create-torrent-5.0.2"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
       sources."define-lazy-prop-2.0.0"
@@ -133491,7 +136043,7 @@ in
       sources."stream-to-blob-2.0.1"
       sources."stream-to-blob-url-3.0.2"
       sources."stream-with-known-length-to-buffer-1.0.4"
-      sources."streamx-2.12.3"
+      sources."streamx-2.12.4"
       sources."string-width-4.2.3"
       sources."string2compact-1.3.2"
       sources."string_decoder-1.3.0"
@@ -133524,12 +136076,12 @@ in
         ];
       })
       sources."ut_pex-3.0.2"
-      sources."utf-8-validate-5.0.8"
+      sources."utf-8-validate-5.0.9"
       sources."util-deprecate-1.0.2"
       sources."utp-native-2.5.3"
       sources."videostream-3.2.2"
       sources."vlc-command-1.2.0"
-      (sources."webtorrent-1.8.5" // {
+      (sources."webtorrent-1.8.6" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."decompress-response-6.0.0"
@@ -133607,10 +136159,10 @@ in
   yaml-language-server = nodeEnv.buildNodePackage {
     name = "yaml-language-server";
     packageName = "yaml-language-server";
-    version = "1.5.0";
+    version = "1.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.5.0.tgz";
-      sha512 = "tQA0M1HisyjoW6Y5beUlZ8x9Yil+pIMT4I1ox94erp9Jbm4ZHEPGxOD53TuA/e8CXxy8tX35vf/QqofnDr1/Gg==";
+      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.5.1.tgz";
+      sha512 = "rTrsKFF2G6vY9oInUoMWHuRjdQi/AAeWkt2H4N9TYKMiQPzEWnz91MufNkNwlXCA26JCDFStwqNjaYPUdI6SDw==";
     };
     dependencies = [
       sources."jsonc-parser-3.0.0"
@@ -133747,7 +136299,7 @@ in
         ];
       })
       sources."@npmcli/installed-package-contents-1.0.7"
-      (sources."@npmcli/map-workspaces-2.0.1" // {
+      (sources."@npmcli/map-workspaces-2.0.2" // {
         dependencies = [
           sources."brace-expansion-2.0.1"
           sources."minimatch-5.0.1"
@@ -134172,7 +136724,7 @@ in
           sources."ansi-regex-5.0.1"
           sources."are-we-there-yet-3.0.0"
           sources."env-paths-2.2.1"
-          sources."gauge-4.0.2"
+          sources."gauge-4.0.3"
           sources."is-fullwidth-code-point-3.0.0"
           sources."npmlog-6.0.1"
           sources."readable-stream-3.6.0"
@@ -134222,10 +136774,10 @@ in
           sources."debug-4.3.3"
           sources."http-cache-semantics-4.1.0"
           sources."http-proxy-agent-5.0.0"
-          sources."lru-cache-7.4.1"
-          (sources."make-fetch-happen-10.0.4" // {
+          sources."lru-cache-7.4.4"
+          (sources."make-fetch-happen-10.0.5" // {
             dependencies = [
-              sources."minipass-fetch-2.0.2"
+              sources."minipass-fetch-2.0.3"
             ];
           })
           sources."ms-2.1.2"
@@ -134620,7 +137172,7 @@ in
           sources."gauge-3.0.2"
           sources."get-stream-6.0.1"
           sources."has-flag-4.0.0"
-          sources."inquirer-8.2.0"
+          sources."inquirer-8.2.1"
           sources."is-fullwidth-code-point-3.0.0"
           sources."is-stream-2.0.1"
           sources."locate-path-6.0.0"
@@ -134636,7 +137188,7 @@ in
           sources."path-key-3.1.1"
           sources."readable-stream-3.6.0"
           sources."restore-cursor-3.1.0"
-          sources."rxjs-7.5.4"
+          sources."rxjs-7.5.5"
           sources."semver-7.3.5"
           sources."shebang-command-2.0.0"
           sources."shebang-regex-3.0.0"
@@ -134688,7 +137240,7 @@ in
       sources."@types/minimist-1.2.2"
       sources."@types/node-17.0.21"
       sources."braces-3.0.2"
-      sources."chalk-5.0.0"
+      sources."chalk-5.0.1"
       sources."data-uri-to-buffer-4.0.0"
       sources."dir-glob-3.0.1"
       sources."duplexer-0.1.2"
@@ -134714,7 +137266,7 @@ in
       sources."micromatch-4.0.4"
       sources."minimist-1.2.5"
       sources."node-domexception-1.0.0"
-      sources."node-fetch-3.2.2"
+      sources."node-fetch-3.2.3"
       sources."path-type-4.0.0"
       sources."pause-stream-0.0.11"
       sources."picomatch-2.3.1"
diff --git a/pkgs/development/ocaml-modules/facile/default.nix b/pkgs/development/ocaml-modules/facile/default.nix
index 8834de53a8f..df228603e9f 100644
--- a/pkgs/development/ocaml-modules/facile/default.nix
+++ b/pkgs/development/ocaml-modules/facile/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "facile";
   version = "1.1.4";
 
+  useDune2 = false;
+
   src = fetchurl {
     url = "https://github.com/Emmanuel-PLF/facile/releases/download/${version}/facile-${version}.tbz";
     sha256 = "0jqrwmn6fr2vj2rrbllwxq4cmxykv7zh0y4vnngx29f5084a04jp";
diff --git a/pkgs/development/ocaml-modules/genspio/default.nix b/pkgs/development/ocaml-modules/genspio/default.nix
index db3c42bca36..963cd1dab13 100644
--- a/pkgs/development/ocaml-modules/genspio/default.nix
+++ b/pkgs/development/ocaml-modules/genspio/default.nix
@@ -6,6 +6,8 @@ buildDunePackage rec {
   pname = "genspio";
   version = "0.0.2";
 
+  useDune2 = false;
+
   src = fetchFromGitHub {
     owner = "hammerlab";
     repo = pname;
@@ -13,7 +15,7 @@ buildDunePackage rec {
     sha256 = "0cp6p1f713sfv4p2r03bzvjvakzn4ili7hf3a952b3w1k39hv37x";
   };
 
-  minimumOCamlVersion = "4.03";
+  minimalOCamlVersion = "4.03";
 
   propagatedBuildInputs = [ nonstd sosa ];
 
diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage.nix b/pkgs/development/ocaml-modules/janestreet/janePackage.nix
index 63c4a900fce..da268757601 100644
--- a/pkgs/development/ocaml-modules/janestreet/janePackage.nix
+++ b/pkgs/development/ocaml-modules/janestreet/janePackage.nix
@@ -5,7 +5,9 @@
 buildDunePackage (args // {
   inherit version buildInputs;
 
-  minimumOCamlVersion = "4.04";
+  useDune2 = false;
+
+  minimalOCamlVersion = "4.04";
 
   src = fetchFromGitHub {
     owner = "janestreet";
diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix b/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix
index 3d280a509ac..5b918683570 100644
--- a/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix
+++ b/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix
@@ -5,6 +5,8 @@
 buildDunePackage (args // {
   inherit version;
 
+  useDune2 = false;
+
   minimalOCamlVersion = "4.07";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/ocaml-modules/lwt/camlp4.nix b/pkgs/development/ocaml-modules/lwt/camlp4.nix
index 88bb3d6759a..e48d7cfa185 100644
--- a/pkgs/development/ocaml-modules/lwt/camlp4.nix
+++ b/pkgs/development/ocaml-modules/lwt/camlp4.nix
@@ -11,7 +11,9 @@ buildDunePackage rec {
     sha256 = "1lv8z6ljfy47yvxmwf5jrvc5d3dc90r1n291x53j161sf22ddrk9";
   };
 
-  minimumOCamlVersion = "4.02";
+  useDune2 = false;
+
+  minimalOCamlVersion = "4.02";
 
   propagatedBuildInputs = [ camlp4 ];
 
diff --git a/pkgs/development/ocaml-modules/nonstd/default.nix b/pkgs/development/ocaml-modules/nonstd/default.nix
index 9de535154ee..82b1feed540 100644
--- a/pkgs/development/ocaml-modules/nonstd/default.nix
+++ b/pkgs/development/ocaml-modules/nonstd/default.nix
@@ -4,7 +4,9 @@ buildDunePackage rec {
   pname = "nonstd";
   version = "0.0.3";
 
-  minimumOCamlVersion = "4.02";
+  useDune2 = false;
+
+  minimalOCamlVersion = "4.02";
 
   src = fetchzip {
     url = "https://bitbucket.org/smondet/${pname}/get/${pname}.${version}.tar.gz";
diff --git a/pkgs/development/ocaml-modules/ocamlfuse/default.nix b/pkgs/development/ocaml-modules/ocamlfuse/default.nix
index 4dcaca42788..13ac62f6451 100644
--- a/pkgs/development/ocaml-modules/ocamlfuse/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlfuse/default.nix
@@ -1,14 +1,14 @@
 { lib, buildDunePackage, fetchFromGitHub, camlidl, fuse, dune-configurator }:
 
-buildDunePackage {
+buildDunePackage rec {
   pname = "ocamlfuse";
-  version = "2.7.1_cvs6_e35e76b";
+  version = "2.7.1_cvs7";
 
   src = fetchFromGitHub {
     owner = "astrada";
     repo = "ocamlfuse";
-    rev = "e35e76bee3b06806256b5bfca108b7697267cd5c";
-    sha256 = "1v9g0wh7rnjkrjrnw50145g6ry38plyjs8fq8w0nlzwizhf3qhff";
+    rev = "v${version}";
+    sha256 = "6nmPXZx38hBGlg+gV9nnlRpPfeSAqDj4zBPcjUNvTRo=";
   };
 
   # This currently fails with dune
diff --git a/pkgs/development/ocaml-modules/owee/default.nix b/pkgs/development/ocaml-modules/owee/default.nix
index 9eb81003d47..7b15437a7ed 100644
--- a/pkgs/development/ocaml-modules/owee/default.nix
+++ b/pkgs/development/ocaml-modules/owee/default.nix
@@ -1,20 +1,19 @@
-{ lib, buildDunePackage, fetchFromGitHub }:
+{ lib, buildDunePackage, fetchurl }:
 
 buildDunePackage rec {
-  minimumOCamlVersion = "4.06";
+  minimalOCamlVersion = "4.06";
+  useDune2 = true;
   pname = "owee";
-  version = "0.3";
+  version = "0.4";
 
-  src = fetchFromGitHub {
-    owner = "let-def";
-    repo = "owee";
-    rev = "v${version}";
-    sha256 = "0jp8ca57488d7sj2nqy4yxcdpda6sxx51yyi8k6888hbinhyqp0j";
+  src = fetchurl {
+    url = "https://github.com/let-def/owee/releases/download/v${version}/owee-${version}.tbz";
+    sha256 = "sha256:055bi0yfdki1pqagbhrwmfvigyawjgsmqw04zhpp6hds8513qzvb";
   };
 
   meta = {
     description = "An experimental OCaml library to work with DWARF format";
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/let-def/owee/";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.vbgl ];
   };
diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix
index 59b7c29730a..9ec1c24dbe3 100644
--- a/pkgs/development/ocaml-modules/ppx_tools/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix
@@ -1,9 +1,9 @@
 { lib, stdenv, fetchFromGitHub, buildDunePackage, ocaml, findlib, cppo }:
 
 let param =
-  let v6_4 = {
-    version = "6.4";
-    sha256 = "15v7yfv6gyp8lzlgwi9garz10wpg34dk4072jdv19n6v20zfg7n1";
+  let v6_5 = {
+    version = "6.5";
+    sha256 = "sha256:0fwibah2hgllrnbdrmfqil5gr5raf6pb5h2zx6zs1h3d4ykvy8k8";
     useDune2 = true;
     nativeBuildInputs = [cppo];
     buildInputs = [cppo];
@@ -28,12 +28,13 @@ let param =
   "4.07" = {
     version = "5.1+4.06.0";
     sha256 = "1ww4cspdpgjjsgiv71s0im5yjkr3544x96wsq1vpdacq7dr7zwiw"; };
-  "4.08" = v6_4;
-  "4.09" = v6_4;
-  "4.10" = v6_4;
-  "4.11" = v6_4;
-  "4.12" = v6_4;
-  "4.13" = v6_4;
+  "4.08" = v6_5;
+  "4.09" = v6_5;
+  "4.10" = v6_5;
+  "4.11" = v6_5;
+  "4.12" = v6_5;
+  "4.13" = v6_5;
+  "4.14" = v6_5;
 }.${ocaml.meta.branch};
 in
 
diff --git a/pkgs/development/ocaml-modules/spacetime_lib/default.nix b/pkgs/development/ocaml-modules/spacetime_lib/default.nix
index 009b2ce3261..442d06e4f69 100644
--- a/pkgs/development/ocaml-modules/spacetime_lib/default.nix
+++ b/pkgs/development/ocaml-modules/spacetime_lib/default.nix
@@ -1,4 +1,7 @@
-{ lib, fetchFromGitHub, buildDunePackage, owee }:
+{ lib, fetchFromGitHub, buildDunePackage, ocaml, owee }:
+
+lib.throwIfNot (lib.versionAtLeast "4.12" ocaml.version)
+  "spacetime_lib is not available for OCaml ${ocaml.version}"
 
 buildDunePackage rec {
   pname = "spacetime_lib";
diff --git a/pkgs/development/php-packages/box/default.nix b/pkgs/development/php-packages/box/default.nix
index b19b275019d..bc0f4ac636c 100644
--- a/pkgs/development/php-packages/box/default.nix
+++ b/pkgs/development/php-packages/box/default.nix
@@ -16,10 +16,12 @@ mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     install -D $src $out/libexec/box/box.phar
     makeWrapper ${php}/bin/php $out/bin/box \
       --add-flags "-d phar.readonly=0 $out/libexec/box/box.phar"
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/php-packages/deployer/default.nix b/pkgs/development/php-packages/deployer/default.nix
index 7679fb5ea51..661a6310958 100644
--- a/pkgs/development/php-packages/deployer/default.nix
+++ b/pkgs/development/php-packages/deployer/default.nix
@@ -14,6 +14,7 @@ mkDerivation rec {
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     install -D $src $out/libexec/deployer/deployer.phar
     makeWrapper ${php}/bin/php $out/bin/dep --add-flags "$out/libexec/deployer/deployer.phar"
@@ -22,6 +23,7 @@ mkDerivation rec {
     installShellCompletion --cmd dep \
       --bash <($out/bin/dep autocomplete --install) \
       --zsh <($out/bin/dep autocomplete --install)
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/php-packages/phing/default.nix b/pkgs/development/php-packages/phing/default.nix
index a8835241d09..6c5af7d5d27 100644
--- a/pkgs/development/php-packages/phing/default.nix
+++ b/pkgs/development/php-packages/phing/default.nix
@@ -16,10 +16,12 @@ mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     install -D $src $out/libexec/phing/phing.phar
     makeWrapper ${php}/bin/php $out/bin/phing \
       --add-flags "$out/libexec/phing/phing.phar"
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/php-packages/phive/default.nix b/pkgs/development/php-packages/phive/default.nix
new file mode 100644
index 00000000000..f564cb53692
--- /dev/null
+++ b/pkgs/development/php-packages/phive/default.nix
@@ -0,0 +1,31 @@
+{ mkDerivation, fetchurl, makeWrapper, lib, php }:
+
+mkDerivation rec {
+  pname = "phive";
+  version = "0.15.0";
+
+  src = fetchurl {
+    url = "https://github.com/phar-io/phive/releases/download/${version}/phive-${version}.phar";
+    sha256 = "sha256-crMr8d5nsVt7+zQ5xPeph/JXmTEn6jJFVtp3mOgylB4=";
+  };
+
+  dontUnpack = true;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    install -D $src $out/libexec/phive/phive.phar
+    makeWrapper ${php}/bin/php $out/bin/phive \
+      --add-flags "$out/libexec/phive/phive.phar"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "The Phar Installation and Verification Environment (PHIVE)";
+    homepage = "https://github.com/phar-io/phive";
+    license = licenses.bsd3;
+    maintainers = with maintainers; teams.php.members;
+  };
+}
diff --git a/pkgs/development/php-packages/php-cs-fixer/default.nix b/pkgs/development/php-packages/php-cs-fixer/default.nix
index 292d0b2ca08..90bd1af0078 100644
--- a/pkgs/development/php-packages/php-cs-fixer/default.nix
+++ b/pkgs/development/php-packages/php-cs-fixer/default.nix
@@ -16,10 +16,12 @@ mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     install -D $src $out/libexec/php-cs-fixer/php-cs-fixer.phar
     makeWrapper ${php}/bin/php $out/bin/php-cs-fixer \
       --add-flags "$out/libexec/php-cs-fixer/php-cs-fixer.phar"
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/php-packages/php-parallel-lint/default.nix b/pkgs/development/php-packages/php-parallel-lint/default.nix
index 50fd23540ee..d0335142490 100644
--- a/pkgs/development/php-packages/php-parallel-lint/default.nix
+++ b/pkgs/development/php-packages/php-parallel-lint/default.nix
@@ -20,15 +20,19 @@ mkDerivation {
   ];
 
   buildPhase = ''
+    runHook preBuild
     composer dump-autoload
     box build
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     install -D parallel-lint.phar $out/libexec/php-parallel-lint/php-parallel-lint.phar
     makeWrapper ${php}/bin/php $out/bin/php-parallel-lint \
       --add-flags "$out/libexec/php-parallel-lint/php-parallel-lint.phar"
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/php-packages/phpcbf/default.nix b/pkgs/development/php-packages/phpcbf/default.nix
index cef7c2986e8..1cc6f46bd09 100644
--- a/pkgs/development/php-packages/phpcbf/default.nix
+++ b/pkgs/development/php-packages/phpcbf/default.nix
@@ -16,10 +16,12 @@ mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     install -D $src $out/libexec/phpcbf/phpcbf.phar
     makeWrapper ${php}/bin/php $out/bin/phpcbf \
       --add-flags "$out/libexec/phpcbf/phpcbf.phar"
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/php-packages/phpcs/default.nix b/pkgs/development/php-packages/phpcs/default.nix
index baad111cec5..877f587717d 100644
--- a/pkgs/development/php-packages/phpcs/default.nix
+++ b/pkgs/development/php-packages/phpcs/default.nix
@@ -16,10 +16,12 @@ mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     install -D $src $out/libexec/phpcs/phpcs.phar
     makeWrapper ${php}/bin/php $out/bin/phpcs \
       --add-flags "$out/libexec/phpcs/phpcs.phar"
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/php-packages/phpmd/default.nix b/pkgs/development/php-packages/phpmd/default.nix
index 763fd857c35..228fd25ea55 100644
--- a/pkgs/development/php-packages/phpmd/default.nix
+++ b/pkgs/development/php-packages/phpmd/default.nix
@@ -16,10 +16,12 @@ mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     install -D $src $out/libexec/phpmd/phpmd.phar
     makeWrapper ${php}/bin/php $out/bin/phpmd \
       --add-flags "$out/libexec/phpmd/phpmd.phar"
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix
index 41840f5ba9e..6351a076fde 100644
--- a/pkgs/development/php-packages/phpstan/default.nix
+++ b/pkgs/development/php-packages/phpstan/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "phpstan";
-  version = "1.4.8";
+  version = "1.4.9";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-    sha256 = "sha256-ghXyPo9n2oXAz7BvuvBYjyJnUqf/FvNk8nTPIRv19cw=";
+    sha256 = "sha256-N2oYhhcU6uCGUzJbL8/vMUlypJa/Z86d4Xddvj6k1fc=";
   };
 
   dontUnpack = true;
@@ -16,10 +16,12 @@ mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     install -D $src $out/libexec/phpstan/phpstan.phar
     makeWrapper ${php}/bin/php $out/bin/phpstan \
       --add-flags "$out/libexec/phpstan/phpstan.phar"
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/php-packages/psalm/default.nix b/pkgs/development/php-packages/psalm/default.nix
index a772ae441a5..01f79c36397 100644
--- a/pkgs/development/php-packages/psalm/default.nix
+++ b/pkgs/development/php-packages/psalm/default.nix
@@ -16,10 +16,12 @@ mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     install -D $src $out/libexec/psalm/psalm.phar
     makeWrapper ${php}/bin/php $out/bin/psalm \
       --add-flags "$out/libexec/psalm/psalm.phar"
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/php-packages/psysh/default.nix b/pkgs/development/php-packages/psysh/default.nix
index 5b7c02eefd8..f1105dea911 100644
--- a/pkgs/development/php-packages/psysh/default.nix
+++ b/pkgs/development/php-packages/psysh/default.nix
@@ -16,10 +16,12 @@ mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
     tar -xzf $src -C $out/bin
     chmod +x $out/bin/psysh
     wrapProgram $out/bin/psysh --prefix PATH : "${lib.makeBinPath [ php ]}"
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index 9ed55214b4c..2671c25e59f 100644
--- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.21.0";
+  version = "3.22.0";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    sha256 = "sha256-H65Ar/+9AwhKFNRK/SZyU8XzrMt3myjBo+YNJYtQ0b4=";
+    sha256 = "sha256-XnB6aSTKRV72WjcXx9jPZ+FGmCNh6dvwiau7WDlyE5M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/adb-enhanced/default.nix b/pkgs/development/python-modules/adb-enhanced/default.nix
index c38851160c2..bf3f124b02e 100644
--- a/pkgs/development/python-modules/adb-enhanced/default.nix
+++ b/pkgs/development/python-modules/adb-enhanced/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "adb-enhanced";
-  version = "2.5.12";
+  version = "2.5.14";
 
   disabled = pythonOlder "3.4";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "ashishb";
     repo = pname;
     rev = version;
-    sha256 = "sha256-OZSLk5qXX6rEclo6JC8o/7Mz0Y2sJqUsLhnrVK4gkVI=";
+    sha256 = "sha256-GaPOYBQEGI40MutjjY8exABqGge2p/buk9v+NcZ5oJs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aio-geojson-client/default.nix b/pkgs/development/python-modules/aio-geojson-client/default.nix
index f00a75961b9..b0629483d01 100644
--- a/pkgs/development/python-modules/aio-geojson-client/default.nix
+++ b/pkgs/development/python-modules/aio-geojson-client/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "aio-geojson-client";
-  version = "0.16";
+  version = "0.17";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "exxamalte";
     repo = "python-aio-geojson-client";
     rev = "v${version}";
-    hash = "sha256-u3SwrSxeBJrBTHfqKY/mAb2p1jqW2AvRsHomKsI81gM=";
+    hash = "sha256-5GiQgtbvYeleovFbXO2vlr2XPsDIWZiElM64O+urMcY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioairzone/default.nix b/pkgs/development/python-modules/aioairzone/default.nix
new file mode 100644
index 00000000000..5a51661b8e1
--- /dev/null
+++ b/pkgs/development/python-modules/aioairzone/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aioairzone";
+  version = "0.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "Noltari";
+    repo = pname;
+    rev = version;
+    hash = "sha256-QruXxC/+61P2Mi0UILUIKp4S3wS1+E+WmzBbiUqlVe4=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "aioairzone"
+  ];
+
+  meta = with lib; {
+    description = "Module to control AirZone devices";
+    homepage = "https://github.com/Noltari/aioairzone";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index f96fa882038..f6d9b5d97ec 100644
--- a/pkgs/development/python-modules/aiohttp/default.nix
+++ b/pkgs/development/python-modules/aiohttp/default.nix
@@ -92,7 +92,10 @@ buildPythonPackage rec {
   # Probably because we run `python -m pytest` instead of `pytest` in the hook.
   preCheck = ''
     cd tests
-  '';
+  '' + lib.optionalString stdenv.isDarwin ''
+    # Work around "OSError: AF_UNIX path too long"
+    export TMPDIR="/tmp"
+   '';
 
   meta = with lib; {
     description = "Asynchronous HTTP Client/Server for Python and asyncio";
diff --git a/pkgs/development/python-modules/aiosignal/default.nix b/pkgs/development/python-modules/aiosignal/default.nix
index 1fd619a846a..9d815dfac05 100644
--- a/pkgs/development/python-modules/aiosignal/default.nix
+++ b/pkgs/development/python-modules/aiosignal/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aiosignal";
-  version = "1.2.0"; # re-enable tests after 1.2.0
+  version = "1.2.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
@@ -23,8 +23,6 @@ buildPythonPackage rec {
     frozenlist
   ];
 
-  # not compatible w ith latest asyncio
-  doCheck = false;
   checkInputs = [
     pytest-asyncio
     pytestCheckHook
@@ -32,6 +30,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pytest.ini \
+      --replace "filterwarnings = error" "" \
       --replace "--cov=aiosignal" ""
   '';
 
diff --git a/pkgs/development/python-modules/allure-behave/default.nix b/pkgs/development/python-modules/allure-behave/default.nix
new file mode 100644
index 00000000000..e7cd81d5b5d
--- /dev/null
+++ b/pkgs/development/python-modules/allure-behave/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pythonOlder
+, behave
+, allure-python-commons
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "allure-behave";
+  version = "2.9.45";
+
+  disabled = pythonOlder "3.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-aK0SgQIXpuUoSTz8jg5IPKQM2Xvk2EfkSGigsy/GFNo=";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  pythonImportsCheck = [ "allure_behave" ];
+
+  propagatedBuildInputs = [
+    allure-python-commons
+    behave
+  ];
+
+  meta = with lib; {
+    description = "Allure behave integration.";
+    homepage = "https://github.com/allure-framework/allure-python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ happysalada ];
+  };
+}
diff --git a/pkgs/development/python-modules/amcrest/default.nix b/pkgs/development/python-modules/amcrest/default.nix
index 697b9bba00f..dcdf918344a 100644
--- a/pkgs/development/python-modules/amcrest/default.nix
+++ b/pkgs/development/python-modules/amcrest/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "amcrest";
-  version = "1.9.4";
+  version = "1.9.7";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "tchellomello";
     repo = "python-amcrest";
     rev = version;
-    sha256 = "sha256-smwPKZLevolNvpkLxoFR3NGL9YFPlBk3WYQqJXBaS7s=";
+    sha256 = "sha256-An7MnGtZsmEZU/y6E0sivdexFD6HJRTB1juXqHfbDzE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/androidtv/default.nix b/pkgs/development/python-modules/androidtv/default.nix
index d09daa273b8..80f726bdc18 100644
--- a/pkgs/development/python-modules/androidtv/default.nix
+++ b/pkgs/development/python-modules/androidtv/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "androidtv";
-  version = "0.0.64";
+  version = "0.0.65";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "JeffLIrion";
     repo = "python-androidtv";
     rev = "v${version}";
-    hash = "sha256-CJJ+mWAX9XG1/E2PljUZ8oz/la3hYXF1tMfuKt0Zvjw=";
+    hash = "sha256-bhXmPplRT9gzeD/GdD2HxN+Z4vvaiaxBwkqSml9SJUs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/apycula/default.nix b/pkgs/development/python-modules/apycula/default.nix
index d8a369d6da0..e84e3eb301b 100644
--- a/pkgs/development/python-modules/apycula/default.nix
+++ b/pkgs/development/python-modules/apycula/default.nix
@@ -12,17 +12,20 @@
 
 buildPythonPackage rec {
   pname = "apycula";
-  version = "0.2a2";
+  version = "0.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit version;
     pname = "Apycula";
-    hash = "sha256-pcVoYGBhp9jyuWBJ/Rpi8cjwDgPjhJ1PrPblj5DQTpk=";
+    hash = "sha256-xvr/NDAjCjhpImzNlCOcI4x5dIAefJ1TnUgoBhgdhPA=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
   propagatedBuildInputs = [
     numpy
@@ -35,7 +38,9 @@ buildPythonPackage rec {
   # tests require a physical FPGA
   doCheck = false;
 
-  pythonImportsCheck = [ "apycula" ];
+  pythonImportsCheck = [
+    "apycula"
+  ];
 
   meta = with lib; {
     description = "Open Source tools for Gowin FPGAs";
diff --git a/pkgs/development/python-modules/async_generator/default.nix b/pkgs/development/python-modules/async_generator/default.nix
index fb7dec6d6ed..6f6da10a87f 100644
--- a/pkgs/development/python-modules/async_generator/default.nix
+++ b/pkgs/development/python-modules/async_generator/default.nix
@@ -1,4 +1,10 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder, isPy35, pytest, pytest-asyncio }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, pytest-asyncio
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "async-generator";
@@ -12,17 +18,17 @@ buildPythonPackage rec {
     sha256 = "6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144";
   };
 
-  # no longer compatible with pytest-asyncio
-  doCheck = false;
-  checkInputs = [ pytest pytest-asyncio ];
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    pytest -W error -ra -v --pyargs async_generator
-  '';
+  pythonImportsCheck = [ "async_generator" ];
 
   meta = with lib; {
     description = "Async generators and context managers for Python 3.5+";
     homepage = "https://github.com/python-trio/async_generator";
     license = with licenses; [ mit asl20 ];
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/awscrt/default.nix b/pkgs/development/python-modules/awscrt/default.nix
index 6bc4c63aefb..fa00971ff25 100644
--- a/pkgs/development/python-modules/awscrt/default.nix
+++ b/pkgs/development/python-modules/awscrt/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "awscrt";
-  version = "0.13.3";
+  version = "0.13.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1GaKDpOGX/YbM4rByTw0nYgwHYFvOLHZ0GRvanX3vAU=";
+    hash = "sha256-dUNljMKsbl6eByhEYivWgRJczTBw3N1RVl8r3e898mg=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/python-modules/awsiotpythonsdk/default.nix b/pkgs/development/python-modules/awsiotpythonsdk/default.nix
index 70161d3fd6a..fc188ae683c 100644
--- a/pkgs/development/python-modules/awsiotpythonsdk/default.nix
+++ b/pkgs/development/python-modules/awsiotpythonsdk/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "AWSIoTPythonSDK";
-  version = "1.5.0";
+  version = "1.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "aws-iot-device-sdk-python";
     rev = "v${version}";
-    sha256 = "0bmvwv471mvlwj2rfz08j9qvzsp4vyjz67cbzkvsy6kmihx3wfqh";
+    sha256 = "sha256-UpfgoCVbweOpWbgaqNebAAkWmhjkZu3txVoTZ/qhl3g=";
   };
 
   # Module has no tests
diff --git a/pkgs/development/python-modules/azure-containerregistry/default.nix b/pkgs/development/python-modules/azure-containerregistry/default.nix
new file mode 100644
index 00000000000..bc1aaf5f8bd
--- /dev/null
+++ b/pkgs/development/python-modules/azure-containerregistry/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, azure-core
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  pname = "azure-containerregistry";
+  version = "1.0.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-DIZCHZM5aeKtmJrgwAk5J26ltaxNxKUn3rR+FbmuyZc=";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-core msrest msrestazure ];
+
+  # tests require azure-devtools which are not published (since 2020)
+  # https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/containerregistry/azure-containerregistry/dev_requirements.txt
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.core" "azure.containerregistry" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Container Registry client library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/containerregistry/azure-containerregistry";
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterromfeldhk ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
index fae47547cc7..66818ce5b05 100644
--- a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
@@ -1,22 +1,24 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy3k
+, pythonOlder
 , msrest
 , msrestazure
 , azure-common
 , azure-mgmt-core
-, azure-mgmt-nspkg
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-monitor";
-  version = "3.0.0";
+  version = "3.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "91ddb7333bf2b9541a53864cc8d2501e3694a03a9c0e41cbfae3348558675ce6";
+    hash = "sha256-ROcUAm0KgIjO2A2XBpS00IeEPgd8x4cjoMfn6X9C+Gw=";
   };
 
   propagatedBuildInputs = [
@@ -24,13 +26,13 @@ buildPythonPackage rec {
     msrestazure
     azure-common
     azure-mgmt-core
-  ] ++ lib.optionals (!isPy3k) [
-    azure-mgmt-nspkg
   ];
 
-  pythonNamespaces = [ "azure.mgmt" ];
+  pythonNamespaces = [
+    "azure.mgmt"
+  ];
 
-  # has no tests
+  # Module has no tests
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/azure-mgmt-netapp/default.nix b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
index edf8057e503..8c2ec661f8c 100644
--- a/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
@@ -1,4 +1,7 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
 , azure-common
 , azure-mgmt-core
 , msrest
@@ -6,13 +9,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "6.0.1";
   pname = "azure-mgmt-netapp";
-  disabled = isPy27;
+  version = "7.0.0";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6ce683587be1638d8d77620b7af118060b8b7dfc4fd23d46a623a66edcb388e1";
+    hash = "sha256-ziaddG+6MoPG18OYZyQ9HRx8nfGsz2UbWPC1pWacKto=";
     extension = "zip";
   };
 
@@ -26,7 +30,10 @@ buildPythonPackage rec {
   # no tests included
   doCheck = false;
 
-  pythonImportsCheck = [ "azure.common" "azure.mgmt.netapp" ];
+  pythonImportsCheck = [
+    "azure.common"
+    "azure.mgmt.netapp"
+  ];
 
   meta = with lib; {
     description = "Microsoft Azure NetApp Files Management Client Library for Python";
diff --git a/pkgs/development/python-modules/bitlist/default.nix b/pkgs/development/python-modules/bitlist/default.nix
index dcb83d1ca2a..c96c2e8707b 100644
--- a/pkgs/development/python-modules/bitlist/default.nix
+++ b/pkgs/development/python-modules/bitlist/default.nix
@@ -4,16 +4,19 @@
 , nose
 , parts
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "bitlist";
-  version = "0.6.2";
+  version = "0.7.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "69cf632ca61b5fb5d2fd7587ddf023bcab8f327302f15070ec9079b68df9082a";
+    sha256 = "sha256-p3Gws48u1/AzltbtPyWvSX4O0u4MgSXiVq4GstpPCCg=";
   };
 
   propagatedBuildInputs = [
@@ -29,6 +32,11 @@ buildPythonPackage rec {
     "bitlist"
   ];
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace " --cov=bitlist --cov-report term-missing" ""
+  '';
+
   meta = with lib; {
     description = "Python library for working with little-endian list representation of bit strings";
     homepage = "https://github.com/lapets/bitlist";
diff --git a/pkgs/development/python-modules/black/default.nix b/pkgs/development/python-modules/black/default.nix
index 13f05fa6136..064fe8187ed 100644
--- a/pkgs/development/python-modules/black/default.nix
+++ b/pkgs/development/python-modules/black/default.nix
@@ -1,8 +1,12 @@
-{ stdenv, lib
-, buildPythonPackage, fetchPypi, pythonOlder, setuptools-scm, pytestCheckHook
+{ stdenv
+, lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools-scm
+, pytestCheckHook
 , aiohttp
 , aiohttp-cors
-, attrs
 , click
 , colorama
 , dataclasses
@@ -19,13 +23,13 @@
 
 buildPythonPackage rec {
   pname = "black";
-  version = "21.12b0";
+  version = "22.1.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-d7gPaTpWni5SeVhFljTxjfmwuiYluk4MLV2lvkLm8rM=";
+    hash = "sha256-p8AZLTVjX2/BF0vldct5FekuXdYp7nn9rw3PpBqAr7U=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
@@ -61,17 +65,15 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     aiohttp
     aiohttp-cors
-    attrs
     click
     colorama
     mypy-extensions
     pathspec
     platformdirs
     tomli
-    typed-ast # required for tests and python2 extra
     uvloop
-  ] ++ lib.optional (pythonOlder "3.7") dataclasses
-    ++ lib.optional (pythonOlder "3.8") typing-extensions;
+  ] ++ lib.optional (pythonOlder "3.8") typed-ast
+  ++ lib.optional (pythonOlder "3.10") typing-extensions;
 
   meta = with lib; {
     description = "The uncompromising Python code formatter";
diff --git a/pkgs/development/python-modules/boltztrap2/default.nix b/pkgs/development/python-modules/boltztrap2/default.nix
index f80a8deb9ab..e697d97fea7 100644
--- a/pkgs/development/python-modules/boltztrap2/default.nix
+++ b/pkgs/development/python-modules/boltztrap2/default.nix
@@ -14,13 +14,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "20.7.1";
+  version = "22.3.2";
   pname = "BoltzTraP2";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "41caa32e5778323471d87033f23537f6178a7aea64fba894c7f2b2579b51f7ed";
+    sha256 = "sha256-Yo37xdXxCQKkA+lrFEZp1DxjJy216Q6aYYT68PEx9JU=";
   };
 
   dontUseCmakeConfigure = true;
diff --git a/pkgs/development/python-modules/bumps/default.nix b/pkgs/development/python-modules/bumps/default.nix
index 6e0637d2a6b..d1926c9631a 100644
--- a/pkgs/development/python-modules/bumps/default.nix
+++ b/pkgs/development/python-modules/bumps/default.nix
@@ -1,24 +1,37 @@
-{ lib, buildPythonPackage, fetchPypi, six}:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, six
+}:
 
 buildPythonPackage rec {
   pname = "bumps";
-  version = "0.8.1";
+  version = "0.9.0";
+  format = "setuptools";
 
-  propagatedBuildInputs = [six];
-
-  # Bumps does not provide its own tests.py, so the test
-  # always fails
-  doCheck = false;
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f4f2ee712a1e468a2ce5c0a32f67739a83331f0cb7b9c50b9e7510daefc12169";
+    hash = "sha256-BY9kg0ksKfrpQgsl1aDDJJ+zKJmURqwTtKxlITxse+o=";
   };
 
+  propagatedBuildInputs = [
+    six
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "bumps"
+  ];
+
   meta = with lib; {
-    homepage = "https://www.reflectometry.org/danse/software.html";
     description = "Data fitting with bayesian uncertainty analysis";
-    maintainers = with maintainers; [ rprospero ];
+    homepage = "https://bumps.readthedocs.io/";
     license = licenses.publicDomain;
+    maintainers = with maintainers; [ rprospero ];
   };
 }
diff --git a/pkgs/development/python-modules/cchardet/default.nix b/pkgs/development/python-modules/cchardet/default.nix
index e1c27d9e4fb..587d0d1f6c1 100644
--- a/pkgs/development/python-modules/cchardet/default.nix
+++ b/pkgs/development/python-modules/cchardet/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , python
@@ -20,9 +21,14 @@ buildPythonPackage rec {
 
   checkInputs = [ nose ];
 
+  # on non x86-64 some charsets are identified as their superset, so we skip these tests (last checked with version 2.1.7)
   preCheck = ''
     cp -R src/tests $TMPDIR
     pushd $TMPDIR
+  '' + lib.optionalString (stdenv.hostPlatform.system != "x86_64-linux") ''
+    rm $TMPDIR/tests/testdata/th/tis-620.txt  # identified as iso-8859-11, which is fine for all practical purposes
+    rm $TMPDIR/tests/testdata/ga/iso-8859-1.txt  # identified as windows-1252, which is fine for all practical purposes
+    rm $TMPDIR/tests/testdata/fi/iso-8859-1.txt  # identified as windows-1252, which is fine for all practical purposes
   '';
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/channels-redis/default.nix b/pkgs/development/python-modules/channels-redis/default.nix
index c7383e98219..803104d8547 100644
--- a/pkgs/development/python-modules/channels-redis/default.nix
+++ b/pkgs/development/python-modules/channels-redis/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "channels-redis";
-  version = "3.3.1";
+  version = "3.4.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit version;
     pname = "channels_redis";
-    sha256 = "899dc6433f5416cf8ad74505baaf2acb5461efac3cad40751a41119e3f68421b";
+    sha256 = "sha256-Xf/UzBYXQSW9QEP8j+dGLKdAPPgB1Zqfp0EO0QH6alc=";
   };
 
   buildInputs = [ redis hiredis ];
diff --git a/pkgs/development/python-modules/charset-normalizer/default.nix b/pkgs/development/python-modules/charset-normalizer/default.nix
index ba7dd1db3b9..d406ea15fbd 100644
--- a/pkgs/development/python-modules/charset-normalizer/default.nix
+++ b/pkgs/development/python-modules/charset-normalizer/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "charset-normalizer";
-  version = "2.0.10";
+  version = "2.0.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "Ousret";
     repo = "charset_normalizer";
     rev = version;
-    hash = "sha256-QsUqrC2oycvyCbOzGmHahgNi40YZ0sujb3Cj8EnsGS8=";
+    hash = "sha256-d5vWnZtFR669l1Meg4ZSsYIyBlJZya7SpXJMx2AP8NU=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/chart-studio/default.nix b/pkgs/development/python-modules/chart-studio/default.nix
index 28e777e8fdd..30a620b5ad6 100644
--- a/pkgs/development/python-modules/chart-studio/default.nix
+++ b/pkgs/development/python-modules/chart-studio/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "chart-studio";
-  version = "5.5.0";
+  version = "5.6.0";
 
   # chart-studio was split from plotly
   src = fetchFromGitHub {
     owner = "plotly";
     repo = "plotly.py";
     rev = "v${version}";
-    sha256 = "04hsh1z2ngfslmvi8fdzfccssg6i0ziksil84j129f049m96wd51";
+    sha256 = "sha256-mf4QASdvO7doV5pKAAEzaKJP66w29osBlbLrJuopUvA=";
   };
 
   sourceRoot = "source/packages/python/chart-studio";
diff --git a/pkgs/development/python-modules/check-manifest/default.nix b/pkgs/development/python-modules/check-manifest/default.nix
index 608f3a0cac6..6c91633e8af 100644
--- a/pkgs/development/python-modules/check-manifest/default.nix
+++ b/pkgs/development/python-modules/check-manifest/default.nix
@@ -8,22 +8,21 @@
 , pep517
 , pytestCheckHook
 , toml
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "check-manifest";
-  version = "0.47";
+  version = "0.48";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "56dadd260a9c7d550b159796d2894b6d0bcc176a94cbc426d9bb93e5e48d12ce";
+    hash = "sha256-O1dfHa3nvrMHjvS/M6lFGYNEV8coHbxyaxXFRmtVxlc=";
   };
 
-  # Test requires filesystem access
-  postPatch = ''
-    substituteInPlace tests.py --replace "test_build_sdist" "no_test_build_sdist"
-  '';
-
   propagatedBuildInputs = [
     build
     pep517
@@ -37,11 +36,18 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "check_manifest" ];
+  disabledTests = [
+    # Test wants to setup a venv
+    "test_build_sdist_pep517_isolated"
+  ];
+
+  pythonImportsCheck = [
+    "check_manifest"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/mgedmin/check-manifest";
     description = "Check MANIFEST.in in a Python source package for completeness";
+    homepage = "https://github.com/mgedmin/check-manifest";
     license = licenses.mit;
     maintainers = with maintainers; [ lewo ];
   };
diff --git a/pkgs/development/python-modules/cloudscraper/default.nix b/pkgs/development/python-modules/cloudscraper/default.nix
index cd11aa03f86..6f693f369cd 100644
--- a/pkgs/development/python-modules/cloudscraper/default.nix
+++ b/pkgs/development/python-modules/cloudscraper/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, isPy3k
+, pythonOlder
 , fetchPypi
 , requests
 , requests-toolbelt
@@ -9,12 +9,14 @@
 
 buildPythonPackage rec {
   pname = "cloudscraper";
-  version = "1.2.58";
-  disabled = !isPy3k;
+  version = "1.2.60";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1wnzv2k8cm8q1x18r4zg8pcnpm4gsdp82hywwjimp2v2qll918nx";
+    hash = "sha256-DTQTsv/59895UTsMmqxYtSfFosUWPRx8wMT4zKHQ9Oc=";
   };
 
   propagatedBuildInputs = [
@@ -27,10 +29,12 @@ buildPythonPackage rec {
   # nixpkgs yet, and also aren't included in the PyPI bundle.  TODO.
   doCheck = false;
 
-  pythonImportsCheck = [ "cloudscraper" ];
+  pythonImportsCheck = [
+    "cloudscraper"
+  ];
 
   meta = with lib; {
-    description = "A Python module to bypass Cloudflare's anti-bot page";
+    description = "Python module to bypass Cloudflare's anti-bot page";
     homepage = "https://github.com/venomous/cloudscraper";
     license = licenses.mit;
     maintainers = with maintainers; [ kini ];
diff --git a/pkgs/development/python-modules/dash/default.nix b/pkgs/development/python-modules/dash/default.nix
index 004d42a81df..dc0813acefa 100644
--- a/pkgs/development/python-modules/dash/default.nix
+++ b/pkgs/development/python-modules/dash/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "dash";
-  version = "2.2.0";
+  version = "2.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "plotly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Ul3j1BJd3lKzGCEhPFYxZG0CcAqAZqmOEDi8vGPFItw=";
+    sha256 = "sha256-iH56c2PO1G/NlLmYC+6sdAMZ+kXvUkpkqxfnl9EmDsQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/deep-translator/default.nix b/pkgs/development/python-modules/deep-translator/default.nix
index fd6d4d478f4..a4f71774c4d 100644
--- a/pkgs/development/python-modules/deep-translator/default.nix
+++ b/pkgs/development/python-modules/deep-translator/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "deep-translator";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-2u4ZmLUEOwbN2sbPgLu9R1VdNevXBP4lBFuGw2aiRMg=";
+    sha256 = "sha256-Oi5dzrC19PnlExCOgu+bT5n3/XwgJkDirzl8ra8w7Nw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django-picklefield/default.nix b/pkgs/development/python-modules/django-picklefield/default.nix
index 4710de2c7ec..b1dab2e73c9 100644
--- a/pkgs/development/python-modules/django-picklefield/default.nix
+++ b/pkgs/development/python-modules/django-picklefield/default.nix
@@ -1,8 +1,9 @@
-{ lib, buildPythonPackage, fetchFromGitHub, django, pytest, pytest-django }:
+{ lib, buildPythonPackage, fetchFromGitHub, django, pytest, pytest-django, python }:
 
 buildPythonPackage rec {
   pname = "django-picklefield";
   version = "3.0.1";
+  format = "setuptools";
 
   # The PyPi source doesn't contain tests
   src = fetchFromGitHub {
@@ -14,17 +15,20 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ django ];
 
-  checkInputs = [ pytest pytest-django ];
+  # Tests are failing with Django 3.2
+  # https://github.com/gintas/django-picklefield/issues/58
+  doCheck = false;
 
   checkPhase = ''
-    PYTHONPATH="$(pwd):$PYTHONPATH" \
-    DJANGO_SETTINGS_MODULE=tests.settings \
-      pytest tests/tests.py
+    runHook preCheck
+    ${python.interpreter} -m django test --settings=tests.settings
+    runHook postCheck
   '';
 
-  meta = {
+  meta = with lib; {
     description = "A pickled object field for Django";
     homepage = "https://github.com/gintas/django-picklefield";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/django/2.nix b/pkgs/development/python-modules/django/2.nix
index c4df27beaaa..727bf304fdb 100644
--- a/pkgs/development/python-modules/django/2.nix
+++ b/pkgs/development/python-modules/django/2.nix
@@ -5,13 +5,14 @@
 }:
 
 buildPythonPackage rec {
-  pname = "Django";
+  pname = "django";
   version = "2.2.27";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "Django";
+    inherit version;
     sha256 = "sha256-HuNwRrC/K2HoOzoB0GcyNRbsO28rF81JsTJt1LqdyRM=";
   };
 
diff --git a/pkgs/development/python-modules/django/3.nix b/pkgs/development/python-modules/django/3.nix
index 3ed7024c349..1538b8a82b4 100644
--- a/pkgs/development/python-modules/django/3.nix
+++ b/pkgs/development/python-modules/django/3.nix
@@ -12,13 +12,14 @@
 }:
 
 buildPythonPackage rec {
-  pname = "Django";
+  pname = "django";
   version = "3.2.12";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "Django";
+    inherit version;
     sha256 = "sha256-l3Lmk1cD5Z6ZOWCDLWamFM8CM6HFEjvGIk7MataeQeI=";
   };
 
diff --git a/pkgs/development/python-modules/docx2txt/default.nix b/pkgs/development/python-modules/docx2txt/default.nix
new file mode 100644
index 00000000000..6b3c2777d78
--- /dev/null
+++ b/pkgs/development/python-modules/docx2txt/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "docx2txt";
+  version = "0.8";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-LAbZjXz+LTlH5XYKV9kk4/8HdFs3nIc3cjki5wCSNuU=";
+  };
+
+  pythonImportsCheck = [
+    "docx2txt"
+  ];
+
+  meta = with lib; {
+    description = "A pure python-based utility to extract text and images from docx files";
+    homepage = "https://github.com/ankushshah89/python-docx2txt";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ilkecan ];
+  };
+}
diff --git a/pkgs/development/python-modules/env-canada/default.nix b/pkgs/development/python-modules/env-canada/default.nix
index 32b3098ffc7..18047eb719a 100644
--- a/pkgs/development/python-modules/env-canada/default.nix
+++ b/pkgs/development/python-modules/env-canada/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "env-canada";
-  version = "0.5.20";
+  version = "0.5.21";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "michaeldavie";
     repo = "env_canada";
     rev = "v${version}";
-    sha256 = "sha256-gYl5+rtOzci3nhgP74VM37tNk9pPWgcNBfcSSG1fSJs=";
+    sha256 = "sha256-jildWpYWll5j7siYhNECMBjz9bF41xFA6NyydWNdgQE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/eventlet/default.nix b/pkgs/development/python-modules/eventlet/default.nix
index 7c8f520647e..096279b3453 100644
--- a/pkgs/development/python-modules/eventlet/default.nix
+++ b/pkgs/development/python-modules/eventlet/default.nix
@@ -57,6 +57,8 @@ buildPythonPackage rec {
     "test_hosts_no_network"
     "test_leakage_from_tracebacks"
     "test_patcher_existing_locks_locked"
+    # broken with pyopenssl 22.0.0
+    "test_sendall_timeout"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/fe25519/default.nix b/pkgs/development/python-modules/fe25519/default.nix
index 05afcff5627..216a84b9ec6 100644
--- a/pkgs/development/python-modules/fe25519/default.nix
+++ b/pkgs/development/python-modules/fe25519/default.nix
@@ -6,16 +6,19 @@
 , parts
 , nose
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "fe25519";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3WFpbt4bA7zPlK+mp5DJXdgk44MBimCbpIMhRjZ5p0o=";
+    hash = "sha256-Hzdt8932WonJAaQPtL346JFPqxFXkNW4XQvbQlSoJJE=";
   };
 
   propagatedBuildInputs = [
@@ -29,6 +32,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace " --cov=fe25519 --cov-report term-missing" ""
+  '';
+
   pythonImportsCheck = [
     "fe25519"
   ];
diff --git a/pkgs/development/python-modules/flatdict/default.nix b/pkgs/development/python-modules/flatdict/default.nix
new file mode 100644
index 00000000000..186118d3010
--- /dev/null
+++ b/pkgs/development/python-modules/flatdict/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "flatdict";
+  version = "4.0.0";
+
+  src = fetchFromGitHub {
+    owner = "gmr";
+    repo = pname;
+    rev = version;
+    hash = "sha256-qH4MMDSXf92BPavnRdCka6lRoWZg+2KnHpHA8kt5JaM=";
+  };
+
+  pythonImportsCheck = [
+    "flatdict"
+  ];
+
+  meta = with lib; {
+    description = "Python module for interacting with nested dicts as a single level dict with delimited keys";
+    homepage = "https://github.com/gmr/flatdict";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ lovesegfault ];
+  };
+}
diff --git a/pkgs/development/python-modules/forecast-solar/default.nix b/pkgs/development/python-modules/forecast-solar/default.nix
index 6a77f57acf9..a1d3741584c 100644
--- a/pkgs/development/python-modules/forecast-solar/default.nix
+++ b/pkgs/development/python-modules/forecast-solar/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "forecast-solar";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "home-assistant-libs";
     repo = "forecast_solar";
     rev = version;
-    sha256 = "sha256-UrLy+j8YDWuS9pciEDKb/+UoCcw54XWiIUAEYC72/W0=";
+    sha256 = "sha256-2gex50QEN55uUa8SfAQA7iDZ3SVnpOTXfD3Sxq7KvNw=";
   };
 
   PACKAGE_VERSION = version;
diff --git a/pkgs/development/python-modules/fountains/default.nix b/pkgs/development/python-modules/fountains/default.nix
index b869d583fc8..e62eedf0468 100644
--- a/pkgs/development/python-modules/fountains/default.nix
+++ b/pkgs/development/python-modules/fountains/default.nix
@@ -2,16 +2,19 @@
 , buildPythonPackage
 , fetchPypi
 , bitlist
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "fountains";
-  version = "1.2.0";
+  version = "1.3.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6de6bc117c376f40a26e111111d638159a2e8a25cfe32f946db0d779decbb70a";
+    sha256 = "sha256-c6nw22UtAREYZp0XCEZE6p7GpRvSLukq5y0c9KvVf9w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/frozenlist/default.nix b/pkgs/development/python-modules/frozenlist/default.nix
index 34660645b59..1bc295fbe33 100644
--- a/pkgs/development/python-modules/frozenlist/default.nix
+++ b/pkgs/development/python-modules/frozenlist/default.nix
@@ -8,14 +8,16 @@
 
 buildPythonPackage rec {
   pname = "frozenlist";
-  version = "1.2.0";
-  disabled = pythonOlder "3.6";
+  version = "1.3.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rTbekdceC5QK0aiySi/4QUwaEoDfTlLrx2t6Kb9bH7U=";
+    hash = "sha256-cHKqkvsBUN7If+8swbd6aafFrSgnop3YlweBLPOHzyU=";
   };
 
   nativeBuildInputs = [
@@ -35,7 +37,9 @@ buildPythonPackage rec {
     cython frozenlist/_frozenlist.pyx
   '';
 
-  pythonImportsCheck = [ "frozenlist" ];
+  pythonImportsCheck = [
+    "frozenlist"
+  ];
 
   meta = with lib; {
     description = "Python module for list-like structure";
diff --git a/pkgs/development/python-modules/gaphas/default.nix b/pkgs/development/python-modules/gaphas/default.nix
index c3541bcc30a..0f23415fe6e 100644
--- a/pkgs/development/python-modules/gaphas/default.nix
+++ b/pkgs/development/python-modules/gaphas/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "gaphas";
-  version = "3.5.0";
+  version = "3.5.1";
   disabled = pythonOlder "3.7";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "526f1943dd54efe91fbf45db38049103611fbac5939c42ad172ba9d2dce71fe1";
+    sha256 = "sha256-71oYuLhqJ7bst0W7v9tQSoaisjONZSa9zEWzYWtGl2E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ge25519/default.nix b/pkgs/development/python-modules/ge25519/default.nix
index 5c9369e005b..22c96920be6 100644
--- a/pkgs/development/python-modules/ge25519/default.nix
+++ b/pkgs/development/python-modules/ge25519/default.nix
@@ -7,16 +7,19 @@
 , nose
 , parts
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "ge25519";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-0M9RF8tlEoLyduvY3RvltGAnsus3HF6FEy22b6w6aUs=";
+    hash = "sha256-8GsNY62SusUmQcaqlhKOPHbd0jvZulCaxMxeob37JJM=";
   };
 
   propagatedBuildInputs = [
@@ -31,6 +34,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace " --cov=ge25519 --cov-report term-missing" ""
+  '';
+
+
   pythonImportsCheck = [
     "ge25519"
   ];
diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix
index c7fcb1a48ed..203053d53cd 100644
--- a/pkgs/development/python-modules/google-auth/default.nix
+++ b/pkgs/development/python-modules/google-auth/default.nix
@@ -59,6 +59,15 @@ buildPythonPackage rec {
     "test_request_headers"
     "test_request_error"
     "test_request_basic"
+  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+    # E MemoryError: Cannot allocate write+execute memory for ffi.callback().
+    # You might be running on a system that prevents this.
+    # For more information, see https://cffi.readthedocs.io/en/latest/using.html#callbacks
+    "test_configure_mtls_channel_with_callback"
+    "test_configure_mtls_channel_with_metadata"
+    "TestDecryptPrivateKey"
+    "TestMakeMutualTlsHttp"
+    "TestMutualTlsAdapter"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/google-cloud-bigtable/default.nix b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
index 9ffa885ab4a..9763cd4e0ba 100644
--- a/pkgs/development/python-modules/google-cloud-bigtable/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigtable";
-  version = "2.7.0";
+  version = "2.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TUgC/6IZ9kNE5iDtbhKPHJqo3sv9W+nl7KcxuXfrbyM=";
+    hash = "sha256-TUMgrv1JNt8h6DzCNtk0Fm4LQFC73/FNfpgTs9jhkYs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-redis/default.nix b/pkgs/development/python-modules/google-cloud-redis/default.nix
index fc1ca312125..ab432454bba 100644
--- a/pkgs/development/python-modules/google-cloud-redis/default.nix
+++ b/pkgs/development/python-modules/google-cloud-redis/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-redis";
-  version = "2.7.1";
+  version = "2.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tz2upcRjgE6/4cB0riARwot3Vhw4QSKqqHTlJS3i7is=";
+    hash = "sha256-7L3SjViQmzTp//5LWWG9VG+TQuPay70KZdUuzhy7HS0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
index e3c3e05ac18..f7c79521b63 100644
--- a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
+++ b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-secret-manager";
-  version = "2.9.1";
+  version = "2.9.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-apn1ex/2VX18GHgN5+JYurzTKMqzPTNqTNOAI+DEBLw=";
+    sha256 = "sha256-W93SDJR8bUPQX9KzoZ6YvV9kU+Twd9huH09Smap481g=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-storage/default.nix b/pkgs/development/python-modules/google-cloud-storage/default.nix
index f77c718ed8b..629c323506b 100644
--- a/pkgs/development/python-modules/google-cloud-storage/default.nix
+++ b/pkgs/development/python-modules/google-cloud-storage/default.nix
@@ -9,15 +9,19 @@
 , google-cloud-testutils
 , google-resumable-media
 , mock
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-storage";
-  version = "2.1.0";
+  version = "2.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a5e7ab1a38d2c24be8e566e50b8b0daa8af8fd49d4ab312b1fda5c147429893";
+    hash = "sha256-AkT0YScQy17ERfxndDh1ZOI/mCM2P7QIsock4hAkAbc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
index 73c09e61c7c..a7c49f0cabe 100644
--- a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
+++ b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-texttospeech";
-  version = "2.10.2";
+  version = "2.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-EykIDxoO8ePp4hLtINTz/RahfS4KU7GhwS4gkMBA32w=";
+    sha256 = "sha256-UJSP3a9G6k1arMpoh4/rWrnR4gYtPW6d6LGwWuk5WGg=";
   };
 
   propagatedBuildInputs = [ libcst google-api-core proto-plus ];
diff --git a/pkgs/development/python-modules/graphql-subscription-manager/default.nix b/pkgs/development/python-modules/graphql-subscription-manager/default.nix
index afcbe157a1e..660a6f51688 100644
--- a/pkgs/development/python-modules/graphql-subscription-manager/default.nix
+++ b/pkgs/development/python-modules/graphql-subscription-manager/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "graphql-subscription-manager";
-  version = "0.5.1";
+  version = "0.5.4";
 
   disabled = pythonOlder "3.7";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "PyGraphqlWebsocketManager";
     rev = version;
-    sha256 = "sha256-PVQa6JmBnToXuL/wNkYO0b+K1e9yrQgRUzWNUbFN5mM=";
+    sha256 = "sha256-J3us0xZN1jOFRcvUQg8PQP6AVHa/swGjKU8IivmfjQE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index 515d6ed8d95..96d79c36763 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 = "0.36.3";
+  version = "0.37.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = version;
-    sha256 = "sha256-S5KWyW7aeR2qdBzXQ4ka2nuxGPt69LHyq2CUdRPG9ig=";
+    sha256 = "sha256-Mb6ruBFM3IiU5EUwOTiWEL3qt7p/n7QIgI5+j0mrOkw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index 9f2a066ebdf..18a12fe9e19 100644
--- a/pkgs/development/python-modules/identify/default.nix
+++ b/pkgs/development/python-modules/identify/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "2.4.11";
+  version = "2.4.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Q86n2uAjmA05h+0NE77TBkbPiKoRYqB1b2H3MbOVmMY=";
+    sha256 = "sha256-kXhUlt+lcqK3ohOA8eziFcrm4U/FAYWpie4rH5xRejI=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/imap-tools/default.nix b/pkgs/development/python-modules/imap-tools/default.nix
index 866721b09f5..9d017b24223 100644
--- a/pkgs/development/python-modules/imap-tools/default.nix
+++ b/pkgs/development/python-modules/imap-tools/default.nix
@@ -7,15 +7,17 @@
 
 buildPythonPackage rec {
   pname = "imap-tools";
-  version = "0.51.1";
+  version = "0.52.0";
 
   disabled = isPy27;
 
+  format = "setuptools";
+
   src = fetchFromGitHub {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "v${version}";
-    hash = "sha256-ppxQtFK7U006z7qonm3B5gN99CHB9mEX3l0XjrhZQo8=";
+    hash = "sha256-la2+cpTnHZQn/FXtySp+3zDCBTONiLC16Tm+hDiIERc=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/importlib-metadata/default.nix b/pkgs/development/python-modules/importlib-metadata/default.nix
index 13b26e337ac..3917742a55a 100644
--- a/pkgs/development/python-modules/importlib-metadata/default.nix
+++ b/pkgs/development/python-modules/importlib-metadata/default.nix
@@ -10,15 +10,15 @@
 
 buildPythonPackage rec {
   pname = "importlib-metadata";
-  version = "4.10.1";
-  format = "setuptools";
+  version = "4.11.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "importlib_metadata";
     inherit version;
-    hash = "sha256-lR8NiltyYOnbXkHUKShbX0UekoR58Z2AgYh4Un026V4=";
+    hash = "sha256-nl5VO7uhhDy0oAgjAUuQdha+Ru5QPSuboAHSFKjaIY8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/iniconfig/default.nix b/pkgs/development/python-modules/iniconfig/default.nix
index 90761f76f9d..a8a4a611fee 100644
--- a/pkgs/development/python-modules/iniconfig/default.nix
+++ b/pkgs/development/python-modules/iniconfig/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchPypi, setuptools-scm }:
 
 buildPythonPackage rec {
   pname = "iniconfig";
@@ -9,12 +9,14 @@ buildPythonPackage rec {
     sha256 = "bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32";
   };
 
+  nativeBuildInputs = [ setuptools-scm ];
+
   doCheck = false; # avoid circular import with pytest
   pythonImportsCheck = [ "iniconfig" ];
 
   meta = with lib; {
     description = "brain-dead simple parsing of ini files";
-    homepage = "https://github.com/RonnyPfannschmidt/iniconfig";
+    homepage = "https://github.com/pytest-dev/iniconfig";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/pkgs/development/python-modules/intellifire4py/default.nix b/pkgs/development/python-modules/intellifire4py/default.nix
index 329d7a77dfd..b93b9b9c957 100644
--- a/pkgs/development/python-modules/intellifire4py/default.nix
+++ b/pkgs/development/python-modules/intellifire4py/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "intellifire4py";
-  version = "1.0.0";
+  version = "1.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "jeeftor";
     repo = pname;
     rev = version;
-    hash = "sha256-lQV5KpASbrz+wCi9x/0rNYrQE+dLCZzsNBFhYAQvPH4=";
+    hash = "sha256-t3wJQ7dXX65yqxMYsFggViqqGvLCdASw1QLc5DJBn+4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix
index 432f83e75cc..c1c0b049dc8 100644
--- a/pkgs/development/python-modules/ipython/default.nix
+++ b/pkgs/development/python-modules/ipython/default.nix
@@ -26,7 +26,7 @@
 , testpath
 }:
 
-buildPythonPackage (rec {
+buildPythonPackage rec {
   pname = "ipython";
   version = "8.0.1";
   format = "pyproject";
@@ -76,14 +76,15 @@ buildPythonPackage (rec {
     testpath
   ];
 
+  disabledTests = lib.optionals (stdenv.isDarwin) [
+    # FileNotFoundError: [Errno 2] No such file or directory: 'pbpaste'
+    "test_clipboard_get"
+  ];
+
   meta = with lib; {
     description = "IPython: Productive Interactive Computing";
     homepage = "http://ipython.org/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ bjornfor fridh ];
   };
-} // lib.optionalAttrs stdenv.isDarwin {
-  disabledTests = [
-    "test_clipboard_get" # uses pbpaste
-  ];
-})
+}
diff --git a/pkgs/development/python-modules/jax/default.nix b/pkgs/development/python-modules/jax/default.nix
index d5e53654019..34665bb8275 100644
--- a/pkgs/development/python-modules/jax/default.nix
+++ b/pkgs/development/python-modules/jax/default.nix
@@ -19,7 +19,7 @@ let
 in
 buildPythonPackage rec {
   pname = "jax";
-  version = "0.3.1";
+  version = "0.3.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "google";
     repo = pname;
     rev = "${pname}-v${version}";
-    sha256 = "0bpqmyc4hg25i8cfnrx3y2bwgp6h5rri2a1q9i8gb6r0id97zvcn";
+    sha256 = "12k5kzgs2cxf9nvcc10a9ldl4zn68b5cnkhchfj1s7f61abx6nq3";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/jedi/default.nix b/pkgs/development/python-modules/jedi/default.nix
index d9884ab3d9f..f271920706f 100644
--- a/pkgs/development/python-modules/jedi/default.nix
+++ b/pkgs/development/python-modules/jedi/default.nix
@@ -3,9 +3,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, colorama
 , django
-, docopt
 , pytestCheckHook
 , parso
 }:
@@ -26,9 +24,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ parso ];
 
   checkInputs = [
-    colorama
     django
-    docopt
     pytestCheckHook
   ];
 
@@ -50,7 +46,7 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = "https://github.com/davidhalter/jedi";
     description = "An autocompletion tool for Python that can be used for text editors";
-    license = licenses.lgpl3Plus;
+    license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix
index c000bb050d8..fbea0935ff3 100644
--- a/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/pkgs/development/python-modules/jupyterlab/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "3.3.1";
+  version = "3.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-zkgnmTeccKqH5jtZ4sU3l3nOGGWLkkYM0gu0QVSGWXM=";
+    sha256 = "sha256-PHFr9VkssoxcVcYVxuW9PvxxiY9pV9E3GbVkeLu7WHo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/keyrings-google-artifactregistry-auth/default.nix b/pkgs/development/python-modules/keyrings-google-artifactregistry-auth/default.nix
new file mode 100644
index 00000000000..d77dc444f80
--- /dev/null
+++ b/pkgs/development/python-modules/keyrings-google-artifactregistry-auth/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, google-auth
+, keyring
+, pluggy
+, requests
+, setuptools-scm
+, toml
+}:
+
+buildPythonPackage rec {
+  pname = "keyrings.google-artifactregistry-auth";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-gvoX5SP0A39Ke0VRlplETJF8gIP+QzK6xNReRxM8UnA=";
+  };
+
+  buildInputs = [
+    setuptools-scm
+    toml
+  ];
+
+  propagatedBuildInputs = [
+    google-auth
+    keyring
+    pluggy
+    requests
+  ];
+
+  pythonImportsCheck = [
+    "keyrings.gauth"
+  ];
+
+
+  meta = with lib; {
+    description = "Python package which allows you to configure keyring to interact with Python repositories stored in Artifact Registry";
+    homepage = "https://pypi.org/project/keyrings.google-artifactregistry-auth";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ lovesegfault ];
+  };
+}
diff --git a/pkgs/development/python-modules/libcloud/default.nix b/pkgs/development/python-modules/libcloud/default.nix
index 77aa9e2927a..d46e86ca106 100644
--- a/pkgs/development/python-modules/libcloud/default.nix
+++ b/pkgs/development/python-modules/libcloud/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "apache-libcloud";
-  version = "3.4.1";
+  version = "3.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-iPGNoM8/rAr3I+dD+3QdnRviUYge2reloNFimVW1ARs=";
+    sha256 = "sha256-Bz8QSSl2+qODoisTuCwkmCfP6QoIPHFiDoMW6BWm2zs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/libvirt/default.nix b/pkgs/development/python-modules/libvirt/default.nix
index a8e21a698f7..d69885fcb0f 100644
--- a/pkgs/development/python-modules/libvirt/default.nix
+++ b/pkgs/development/python-modules/libvirt/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "libvirt";
-  version = "7.10.0";
+  version = "8.1.0";
 
   src = assert version == libvirt.version; fetchFromGitLab {
     owner = "libvirt";
     repo = "libvirt-python";
     rev = "v${version}";
-    sha256 = "sha256-I1FNjNwWRyDAUSq2Co9EnjAbzKQtS0Rx8vHgPsFzSYw=";
+    sha256 = "sha256-/uGxjptiqm5B823z4mcjredj9ZLZC2WTTqhQrQPVfDU=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/mat2/bubblewrap-path.patch b/pkgs/development/python-modules/mat2/bubblewrap-path.patch
new file mode 100644
index 00000000000..2c71930b6df
--- /dev/null
+++ b/pkgs/development/python-modules/mat2/bubblewrap-path.patch
@@ -0,0 +1,35 @@
+diff --git a/libmat2/bubblewrap.py b/libmat2/bubblewrap.py
+index 970d5dd..5d3c0b7 100644
+--- a/libmat2/bubblewrap.py
++++ b/libmat2/bubblewrap.py
+@@ -22,11 +22,7 @@ CalledProcessError = subprocess.CalledProcessError
+ 
+ 
+ def _get_bwrap_path() -> str:
+-    which_path = shutil.which('bwrap')
+-    if which_path:
+-        return which_path
+-
+-    raise RuntimeError("Unable to find bwrap")  # pragma: no cover
++    return '@bwrap@'
+ 
+ 
+ def _get_bwrap_args(tempdir: str,
+@@ -37,16 +33,11 @@ def _get_bwrap_args(tempdir: str,
+ 
+     # XXX: use --ro-bind-try once all supported platforms
+     # have a bubblewrap recent enough to support it.
+-    ro_bind_dirs = ['/usr', '/lib', '/lib64', '/bin', '/sbin', '/etc/alternatives', cwd]
++    ro_bind_dirs = ['/nix/store', cwd]
+     for bind_dir in ro_bind_dirs:
+         if os.path.isdir(bind_dir):  # pragma: no cover
+             ro_bind_args.extend(['--ro-bind', bind_dir, bind_dir])
+ 
+-    ro_bind_files = ['/etc/ld.so.cache']
+-    for bind_file in ro_bind_files:
+-        if os.path.isfile(bind_file):  # pragma: no cover
+-            ro_bind_args.extend(['--ro-bind', bind_file, bind_file])
+-
+     args = ro_bind_args + \
+         ['--dev', '/dev',
+          '--proc', '/proc',
diff --git a/pkgs/development/python-modules/mat2/default.nix b/pkgs/development/python-modules/mat2/default.nix
index 97b52855f6b..1d5a76b7b80 100644
--- a/pkgs/development/python-modules/mat2/default.nix
+++ b/pkgs/development/python-modules/mat2/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , python
 , pythonOlder
@@ -37,7 +38,6 @@ buildPythonPackage rec {
     # hardcode paths to some binaries
     (substituteAll ({
       src = ./paths.patch;
-      bwrap = "${bubblewrap}/bin/bwrap";
       exiftool = "${exiftool}/bin/exiftool";
       ffmpeg = "${ffmpeg}/bin/ffmpeg";
     } // lib.optionalAttrs dolphinIntegration {
@@ -52,6 +52,11 @@ buildPythonPackage rec {
       src = ./fix_poppler.patch;
       poppler_path = "${poppler_gi}/lib/girepository-1.0";
     })
+  ] ++ lib.optionals (stdenv.hostPlatform.isLinux) [
+    (substituteAll {
+      src = ./bubblewrap-path.patch;
+      bwrap = "${bubblewrap}/bin/bwrap";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/mat2/paths.patch b/pkgs/development/python-modules/mat2/paths.patch
index 50b0c9aaa78..784e04cda38 100644
--- a/pkgs/development/python-modules/mat2/paths.patch
+++ b/pkgs/development/python-modules/mat2/paths.patch
@@ -12,41 +12,6 @@ index 41c8de4..11df258 100644
 +Icon=@mat2svg@
 +Exec=@kdialog@ --yesno  "$( @mat2@ -s %F )" --title "Clean Metadata?" && @mat2@ %U
 +Exec[de]=@kdialog@ --yesno  "$( @mat2@ -s %F )" --title "Metadaten löschen?" && @mat2@ %U
-diff --git a/libmat2/bubblewrap.py b/libmat2/bubblewrap.py
-index 970d5dd..5d3c0b7 100644
---- a/libmat2/bubblewrap.py
-+++ b/libmat2/bubblewrap.py
-@@ -22,11 +22,7 @@ CalledProcessError = subprocess.CalledProcessError
- 
- 
- def _get_bwrap_path() -> str:
--    which_path = shutil.which('bwrap')
--    if which_path:
--        return which_path
--
--    raise RuntimeError("Unable to find bwrap")  # pragma: no cover
-+    return '@bwrap@'
- 
- 
- def _get_bwrap_args(tempdir: str,
-@@ -37,16 +33,11 @@ def _get_bwrap_args(tempdir: str,
- 
-     # XXX: use --ro-bind-try once all supported platforms
-     # have a bubblewrap recent enough to support it.
--    ro_bind_dirs = ['/usr', '/lib', '/lib64', '/bin', '/sbin', '/etc/alternatives', cwd]
-+    ro_bind_dirs = ['/nix/store', cwd]
-     for bind_dir in ro_bind_dirs:
-         if os.path.isdir(bind_dir):  # pragma: no cover
-             ro_bind_args.extend(['--ro-bind', bind_dir, bind_dir])
- 
--    ro_bind_files = ['/etc/ld.so.cache']
--    for bind_file in ro_bind_files:
--        if os.path.isfile(bind_file):  # pragma: no cover
--            ro_bind_args.extend(['--ro-bind', bind_file, bind_file])
--
-     args = ro_bind_args + \
-         ['--dev', '/dev',
-          '--proc', '/proc',
 diff --git a/libmat2/exiftool.py b/libmat2/exiftool.py
 index eb65b2a..51a0fa1 100644
 --- a/libmat2/exiftool.py
diff --git a/pkgs/development/python-modules/mdformat/default.nix b/pkgs/development/python-modules/mdformat/default.nix
index 1ab425ade55..23bef4bda40 100644
--- a/pkgs/development/python-modules/mdformat/default.nix
+++ b/pkgs/development/python-modules/mdformat/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "mdformat";
-  version = "0.7.13";
+  version = "0.7.14";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "executablebooks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-9ssDe7Wjuwuq2j7xwRyLqKouqeIt6NCUbEXjPdu2VZ8=";
+    sha256 = "sha256-bImBW6r8g/4MQ9yNrBBhk7AGqKRXFyAew6HHEmqelxw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/meilisearch/default.nix b/pkgs/development/python-modules/meilisearch/default.nix
new file mode 100644
index 00000000000..aa40394dab6
--- /dev/null
+++ b/pkgs/development/python-modules/meilisearch/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "meilisearch";
+  version = "0.18.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "meilisearch";
+    repo = "meilisearch-python";
+    rev = "v${version}";
+    hash = "sha256-iIFTZKORCXr4mNeWBtbOPWXwORuTV/IKhLYkqFgd3Hw=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  pythonImportsCheck = [
+    "meilisearch"
+  ];
+
+  # Tests spin up a local server and are not mocking the requests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Client for the Meilisearch API";
+    homepage = "https://github.com/meilisearch/meilisearch-python";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/meshtastic/default.nix b/pkgs/development/python-modules/meshtastic/default.nix
index 9a7c834c0ef..1972ae0ff5d 100644
--- a/pkgs/development/python-modules/meshtastic/default.nix
+++ b/pkgs/development/python-modules/meshtastic/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "meshtastic";
-  version = "1.2.90";
+  version = "1.2.92";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "meshtastic";
     repo = "Meshtastic-python";
     rev = version;
-    sha256 = "sha256-n/M1Q6YS3EkUcn45ffiTy0wuj9yKf6qBLLfD2XJkhHU=";
+    sha256 = "sha256-tK711Lewr5Zc6dy/cDe9UEnq9zOEvuJg4mZyO3zBLR0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix
index a998e7b74b4..1d9d0774379 100644
--- a/pkgs/development/python-modules/moto/default.nix
+++ b/pkgs/development/python-modules/moto/default.nix
@@ -264,6 +264,8 @@ buildPythonPackage rec {
     "test_state_machine_creation_fails_with_invalid_names"
     # needs graphql
     "test_get_schema_creation_status"
+    # only appears in aarch64 currently, but best to be safe
+    "test_state_machine_list_executions_with_filter"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/nassl/default.nix b/pkgs/development/python-modules/nassl/default.nix
index b9e19439251..3e159dfe7ce 100644
--- a/pkgs/development/python-modules/nassl/default.nix
+++ b/pkgs/development/python-modules/nassl/default.nix
@@ -9,6 +9,7 @@
 , tls-parser
 , cacert
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 }:
 
@@ -50,9 +51,11 @@ let
         "enable-tls1_3"
         "no-async"
       ];
-      patches = builtins.filter (
-        p: (builtins.baseNameOf (toString p)) != "macos-yosemite-compat.patch"
-      ) oldAttrs.patches;
+      patches = builtins.filter
+        (
+          p: (builtins.baseNameOf (toString p)) != "macos-yosemite-compat.patch"
+        )
+        oldAttrs.patches;
       buildInputs = oldAttrs.buildInputs ++ [ zlibStatic cacert ];
       meta = oldAttrs.meta // {
         knownVulnerabilities = [
@@ -76,9 +79,11 @@ let
         sha256 = "1zqb1rff1wikc62a7vj5qxd1k191m8qif5d05mwdxz2wnzywlg72";
       };
       configureFlags = oldAttrs.configureFlags ++ nasslOpensslFlagsCommon;
-      patches = builtins.filter (
-        p: (builtins.baseNameOf (toString p)) == "darwin64-arm64.patch"
-      ) oldAttrs.patches;
+      patches = builtins.filter
+        (
+          p: (builtins.baseNameOf (toString p)) == "darwin64-arm64.patch"
+        )
+        oldAttrs.patches;
       buildInputs = oldAttrs.buildInputs ++ [ zlibStatic ];
       # openssl_1_0_2 needs `withDocs = false`
       outputs = lib.remove "doc" oldAttrs.outputs;
@@ -87,42 +92,54 @@ let
 in
 buildPythonPackage rec {
   pname = "nassl";
-  version = "4.0.1";
+  version = "4.0.2";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nabla-c0d3";
     repo = pname;
     rev = version;
-    hash = "sha256-QzO7ABh2weBO6NVFIj7kZpS8ashbDGompuvdKteJeUc=";
+    hash = "sha256-lLyHXLmBVvT+LgsKBU8DcUXd0qaLSrwvXxFnIB9CHcU=";
   };
 
-  postPatch = let
-    legacyOpenSSLVersion = lib.replaceStrings ["."] ["_"] opensslLegacyStatic.version;
-    modernOpenSSLVersion = lib.replaceStrings ["."] ["_"] opensslStatic.version;
-    zlibVersion = zlibStatic.version;
-  in ''
-    mkdir -p deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
-    cp ${opensslLegacyStatic.out}/lib/libssl.a \
-      ${opensslLegacyStatic.out}/lib/libcrypto.a \
-      deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
-    ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_${legacyOpenSSLVersion}/include
-    ln -s ${opensslLegacyStatic.bin}/bin deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps
+  postPatch =
+    let
+      legacyOpenSSLVersion = lib.replaceStrings [ "." ] [ "_" ] opensslLegacyStatic.version;
+      modernOpenSSLVersion = lib.replaceStrings [ "." ] [ "_" ] opensslStatic.version;
+      zlibVersion = zlibStatic.version;
+    in
+    ''
+      mkdir -p deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
+      cp ${opensslLegacyStatic.out}/lib/libssl.a \
+        ${opensslLegacyStatic.out}/lib/libcrypto.a \
+        deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
+      ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_${legacyOpenSSLVersion}/include
+      ln -s ${opensslLegacyStatic.bin}/bin deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps
 
-    mkdir -p deps/openssl-OpenSSL_${modernOpenSSLVersion}/
-    cp ${opensslStatic.out}/lib/libssl.a \
-      ${opensslStatic.out}/lib/libcrypto.a \
-      deps/openssl-OpenSSL_${modernOpenSSLVersion}/
-    ln -s ${opensslStatic.out.dev}/include deps/openssl-OpenSSL_${modernOpenSSLVersion}/include
-    ln -s ${opensslStatic.bin}/bin deps/openssl-OpenSSL_${modernOpenSSLVersion}/apps
+      mkdir -p deps/openssl-OpenSSL_${modernOpenSSLVersion}/
+      cp ${opensslStatic.out}/lib/libssl.a \
+        ${opensslStatic.out}/lib/libcrypto.a \
+        deps/openssl-OpenSSL_${modernOpenSSLVersion}/
+      ln -s ${opensslStatic.out.dev}/include deps/openssl-OpenSSL_${modernOpenSSLVersion}/include
+      ln -s ${opensslStatic.bin}/bin deps/openssl-OpenSSL_${modernOpenSSLVersion}/apps
 
-    mkdir -p deps/zlib-${zlibVersion}/
-    cp ${zlibStatic.out}/lib/libz.a deps/zlib-${zlibVersion}/
-  '';
+      mkdir -p deps/zlib-${zlibVersion}/
+      cp ${zlibStatic.out}/lib/libz.a deps/zlib-${zlibVersion}/
+    '';
 
-  propagatedBuildInputs = [ tls-parser ];
+  nativeBuildInputs = [
+    invoke
+  ];
+
+  propagatedBuildInputs = [
+    tls-parser
+  ];
 
-  nativeBuildInputs = [ invoke ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   buildPhase = ''
     invoke build.nassl
@@ -131,19 +148,23 @@ buildPythonPackage rec {
 
   doCheck = true;
 
-  pythonImportsCheck = [ "nassl" ];
-
-  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [
+    "nassl"
+  ];
 
   disabledTests = [
     "Online"
+  ] ++ lib.optionals (pythonAtLeast "3.10") [
+    "test_write_bad"
+    "test_client_authentication_no_certificate_supplied"
+    "test_client_authentication_succeeds"
   ];
 
   meta = with lib; {
+    description = "Low-level OpenSSL wrapper for Python";
     homepage = "https://github.com/nabla-c0d3/nassl";
-    description = "Low-level OpenSSL wrapper for Python 3.7+";
-    platforms = with platforms; linux ++ darwin;
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ veehaitch ];
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/python-modules/neo4j-driver/default.nix b/pkgs/development/python-modules/neo4j-driver/default.nix
index 6b81af0c294..63a2efafbd6 100644
--- a/pkgs/development/python-modules/neo4j-driver/default.nix
+++ b/pkgs/development/python-modules/neo4j-driver/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "neo4j-driver";
-  version = "4.4.1";
+  version = "4.4.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "neo4j";
     repo = "neo4j-python-driver";
     rev = version;
-    sha256 = "sha256-aGOqD6mmd3dulQ/SdaDPDZhkCwXdYCucHw+CrkJf1M0=";
+    sha256 = "sha256-rYedmxQvT+RjVdbDckLv00J4YuEQtMuIc8Q5FGWr3Rw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/oci/default.nix b/pkgs/development/python-modules/oci/default.nix
index 8da783dbdb2..8fd06ae3b40 100644
--- a/pkgs/development/python-modules/oci/default.nix
+++ b/pkgs/development/python-modules/oci/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "oci";
-  version = "2.56.0";
+  version = "2.60.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "oracle";
     repo = "oci-python-sdk";
     rev = "v${version}";
-    hash = "sha256-olrWv4c2DoZ7ddm58Wpb5jZntw8WEKJ6IzAND11tdjk=";
+    hash = "sha256-fXeea4MftVSJWzanHeAuERRiQLBp8l1l1Cw2lG3uz24=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/parts/default.nix b/pkgs/development/python-modules/parts/default.nix
index 4c798f43c25..65ebd1bf3a1 100644
--- a/pkgs/development/python-modules/parts/default.nix
+++ b/pkgs/development/python-modules/parts/default.nix
@@ -1,16 +1,19 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "parts";
-  version = "1.2.2";
+  version = "1.3.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6463d5c49142d14029196a6a781b57bc98ba5b3d93244f4ed637f534d08129c1";
+    sha256 = "sha256-NrhNpWyzqwn1bNnuqmcyKcUED0A4v7VJE4ZlTHFafJY=";
   };
 
   # Project has no tests
diff --git a/pkgs/development/python-modules/pbr/default.nix b/pkgs/development/python-modules/pbr/default.nix
index 8775faa53c2..7a03226b4dd 100644
--- a/pkgs/development/python-modules/pbr/default.nix
+++ b/pkgs/development/python-modules/pbr/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pbr";
-  version = "5.8.0";
+  version = "5.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "672d8ebee84921862110f23fcec2acea191ef58543d34dfe9ef3d9f13c31cddf";
+    sha256 = "sha256-ZrxaNJEvQIuzklvyEjHLb1kgYme39j81A++GXBopLiU=";
   };
 
   propagatedBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/pbr/tests.nix b/pkgs/development/python-modules/pbr/tests.nix
index b31334589f5..aacb726d6a1 100644
--- a/pkgs/development/python-modules/pbr/tests.nix
+++ b/pkgs/development/python-modules/pbr/tests.nix
@@ -1,8 +1,8 @@
 { buildPythonPackage
+, build
 , git
 , gnupg
 , pbr
-, mock
 , sphinx
 , stestr
 , testresources
@@ -27,9 +27,9 @@ buildPythonPackage rec {
 
   checkInputs = [
     pbr
+    build
     git
     gnupg
-    mock
     sphinx
     stestr
     testresources
diff --git a/pkgs/development/python-modules/persistent/default.nix b/pkgs/development/python-modules/persistent/default.nix
index d70fa2826d6..5b5462cf475 100644
--- a/pkgs/development/python-modules/persistent/default.nix
+++ b/pkgs/development/python-modules/persistent/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "persistent";
-  version = "4.8.0";
+  version = "4.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-nRd+rT+jwfXWKjbUUmdUs3bgUEx9S3XLmqUvt3HexrI=";
+    hash = "sha256-RwGzHYHBBCJlclrzkEUOnZFq10ucF4twEAU4U1keDGo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix
index 7648a7440a7..ee356f86500 100644
--- a/pkgs/development/python-modules/pex/default.nix
+++ b/pkgs/development/python-modules/pex/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.69";
+  version = "2.1.72";
   format = "flit";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-JbQ8yn/uALjjVSRgqKXsQOC4rOCGkMPxb50KqWg89kM=";
+    sha256 = "sha256-0hhnBkbgt4bSlqjvYKX2Mhty/T1vBGm91HhKmyvVzmA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix
index c1df3ce2751..8aa1ad1f4c4 100644
--- a/pkgs/development/python-modules/pillow/default.nix
+++ b/pkgs/development/python-modules/pillow/default.nix
@@ -7,13 +7,13 @@
 
 import ./generic.nix (rec {
   pname = "Pillow";
-  version = "9.0.0";
+  version = "9.0.1";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gjry0yqryd2678sm47jhdnbghzxn5wk8pgyaqwr4qi7x5ijjvpf";
+    sha256 = "bIvII4p9/a96dfXsWmY/QXP4w2flo5+H5yBJXh7tdfo=";
   };
 
   passthru.tests = {
diff --git a/pkgs/development/python-modules/plaid-python/default.nix b/pkgs/development/python-modules/plaid-python/default.nix
index 83c697aa7c8..d36ba25ba47 100644
--- a/pkgs/development/python-modules/plaid-python/default.nix
+++ b/pkgs/development/python-modules/plaid-python/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "plaid-python";
-  version = "9.1.0";
+  version = "9.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jvg/2dL+W4N7rbbBcIUZUrSt0BCV15k4QgYST2lEA5U=";
+    hash = "sha256-vHJ35MvMw3G1k/A2gifaE97GayoVEOQ9lR6yG6ZkzS4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/platformdirs/default.nix b/pkgs/development/python-modules/platformdirs/default.nix
index f2e86599148..2be8928f630 100644
--- a/pkgs/development/python-modules/platformdirs/default.nix
+++ b/pkgs/development/python-modules/platformdirs/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "platformdirs";
-  version = "2.4.1";
+  version = "2.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ce1dwE2g/7o91NPkmlM0uv0eMB7WzFCExV/8ZCAn22Y=";
+    sha256 = "sha256-fppwtY8VX8IQ96H930xItO7mS8LlxxHgBcKlwIL5P2E=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix
index 02831000e88..29532a23b0c 100644
--- a/pkgs/development/python-modules/plexapi/default.nix
+++ b/pkgs/development/python-modules/plexapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "plexapi";
-  version = "4.10.0";
+  version = "4.10.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = version;
-    sha256 = "sha256-paj1QFSHQw7MfOor1yYwb2vkF9b5RPj6R6dRstK24gA=";
+    sha256 = "sha256-0j3uf3wSDFSyDGo3oRi99KNKfhuGP2puSi0KgVjsXnQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/protonvpn-nm-lib/default.nix b/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
index 6680b19908e..9f12f220cfe 100644
--- a/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
+++ b/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "protonvpn-nm-lib";
-  version = "3.7.0";
+  version = "3.8.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = pname;
     rev = version;
-    sha256 = "sha256-RZ10p/Lg9GQj0CohW2v+THch5EaD236rEHETGjNStdY=";
+    sha256 = "sha256-fAaP9c66LcbZgezadGPUt400YRnrnFoBvpzlc1zxuc4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/proxmoxer/default.nix b/pkgs/development/python-modules/proxmoxer/default.nix
index 125984554a0..33b233bd609 100644
--- a/pkgs/development/python-modules/proxmoxer/default.nix
+++ b/pkgs/development/python-modules/proxmoxer/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "proxmoxer";
-  version = "1.2.0";
+  version = "1.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-ElHocXrazwK+b5vdjYSJAYB4ajs2n+V8koj4QKkdDMQ=";
+    sha256 = "sha256-3EpId20WVVjXA/wxwy1peyHPcXdiT3fprABkcNBpZtE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pudb/default.nix b/pkgs/development/python-modules/pudb/default.nix
index 0ae60b381c6..406d81e15bb 100644
--- a/pkgs/development/python-modules/pudb/default.nix
+++ b/pkgs/development/python-modules/pudb/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , dataclasses
-, isPy3k
 , fetchPypi
 , jedi
 , pygments
@@ -14,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pudb";
-  version = "2022.1";
+  version = "2022.1.1";
   format = "setuptools";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e827a4b489dcad561189535db6677becbf32164b2b44df00786eb2d5e00c587e";
+    hash = "sha256-2zvdZkI8nSkHTBwsSfyyJL0Nbwgxn+0bTn6taDkUCD8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/py3status/default.nix b/pkgs/development/python-modules/py3status/default.nix
index a5de75f70f8..c56fc990f2c 100644
--- a/pkgs/development/python-modules/py3status/default.nix
+++ b/pkgs/development/python-modules/py3status/default.nix
@@ -24,11 +24,11 @@
 
 buildPythonPackage rec {
   pname = "py3status";
-  version = "3.41";
+  version = "3.42";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-2G+5lKkLtgZ/2ghU0xVTDqIXbTNykYIKRiwZiagusoc=";
+    sha256 = "sha256-2/YT36X4UvmmhiaxyJBtCKA3QuibYtReTS6MQ3YGV+c=";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/pyathena/default.nix b/pkgs/development/python-modules/pyathena/default.nix
index c9db28324e9..fe9d3276e1b 100644
--- a/pkgs/development/python-modules/pyathena/default.nix
+++ b/pkgs/development/python-modules/pyathena/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pyathena";
-  version = "2.5.0";
+  version = "2.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyAthena";
     inherit version;
-    sha256 = "sha256-2Z0KjJm6cWhMTKXa2zBs3Ef2i/e1tqQYZx5sSKIT9a4=";
+    sha256 = "sha256-GTcDiDtZGgTpdl6YBgPuztv7heEPZ/ymhup/4JwfELA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyaussiebb/default.nix b/pkgs/development/python-modules/pyaussiebb/default.nix
index 63edd6e60f8..9788860cdd6 100644
--- a/pkgs/development/python-modules/pyaussiebb/default.nix
+++ b/pkgs/development/python-modules/pyaussiebb/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , loguru
+, pydantic
 , poetry-core
 , pythonOlder
 , requests
@@ -10,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyaussiebb";
-  version = "0.0.11";
+  version = "0.0.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -19,7 +20,7 @@ buildPythonPackage rec {
     owner = "yaleman";
     repo = "aussiebb";
     rev = "v${version}";
-    hash = "sha256-aL+n2ut7n6UUyymMEHoFMhRvK9iFRRunYE9ZirKFXhc=";
+    hash = "sha256-4B+eq863G+iVl8UnxDumPVpkj9W8kX5LK0wo4QIYo4w=";
   };
 
   nativeBuildInputs = [
@@ -30,6 +31,7 @@ buildPythonPackage rec {
     aiohttp
     requests
     loguru
+    pydantic
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pycep-parser/default.nix b/pkgs/development/python-modules/pycep-parser/default.nix
index f286e6b45bd..d76f72630a6 100644
--- a/pkgs/development/python-modules/pycep-parser/default.nix
+++ b/pkgs/development/python-modules/pycep-parser/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pycep-parser";
-  version = "0.3.1";
+  version = "0.3.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "gruebel";
     repo = "pycep";
     rev = version;
-    hash = "sha256-S4jBqMgyreWrEp1SuR8J5RVFc+i1O0xbfgux1UvFP5k=";
+    hash = "sha256-ud26xJQWdu7wtv75/K16HSSw0MvaSr3H1hDZBPjSzYE=";
   };
 
   nativeBuildInputs = [
@@ -41,7 +41,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'version = "0.3.1-alpha.1"' 'version = "${version}"' \
+      --replace 'version = "0.3.2-alpha.4"' 'version = "${version}"' \
       --replace 'regex = "^2022.3.2"' 'regex = "*"'
   '';
 
diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix
index 44e7ed0ad4a..e3e4e6c3a03 100644
--- a/pkgs/development/python-modules/pycryptodome/default.nix
+++ b/pkgs/development/python-modules/pycryptodome/default.nix
@@ -6,13 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pycryptodome";
-  version = "3.12.0";
+  version = "3.14.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Esc0OuxaOz31xHJlKBsSthHybsk2e2EpGZ1n2lS3aME=";
-    extension = "zip";
+    hash = "sha256-4E5Ap/jBZpGVU2o3l53YfaLDLb3HPW/jXwB3sMF8gDs=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/pycryptodomex/default.nix b/pkgs/development/python-modules/pycryptodomex/default.nix
index c9f622d6c69..934c021ed90 100644
--- a/pkgs/development/python-modules/pycryptodomex/default.nix
+++ b/pkgs/development/python-modules/pycryptodomex/default.nix
@@ -6,13 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pycryptodomex";
-  version = "3.12.0";
+  version = "3.14.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ki6drAFm5GF+XHmA0s/2kSputctcE+fs4iJDhlC9f2Y=";
-    extension = "zip";
+    hash = "sha256-LOdu0Agf1qyMdO3HW50U7KIGQXOveYQ8JPpiVzJjwfI=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/pyftdi/default.nix b/pkgs/development/python-modules/pyftdi/default.nix
index a1fd4215faf..baf57da4160 100644
--- a/pkgs/development/python-modules/pyftdi/default.nix
+++ b/pkgs/development/python-modules/pyftdi/default.nix
@@ -8,22 +8,29 @@
 
 buildPythonPackage rec {
   pname = "pyftdi";
-  version = "0.53.3";
-  disabled = pythonOlder "3.5";
+  version = "0.54.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "eblot";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-t4rFsuhcpYdgmQeog+DRFxHk0wpMc+aukQi981vH/44=";
+    hash = "sha256-vL8jSgTtDvaHuCvaCYmFixILQFasTl82yINL5yRtOwU=";
   };
 
-  propagatedBuildInputs = [ pyusb pyserial ];
+  propagatedBuildInputs = [
+    pyserial
+    pyusb
+  ];
 
-  # tests requires access to the serial port
+  # Tests require access to the serial port
   doCheck = false;
 
-  pythonImportsCheck = [ "pyftdi" ];
+  pythonImportsCheck = [
+    "pyftdi"
+  ];
 
   meta = with lib; {
     description = "User-space driver for modern FTDI devices";
diff --git a/pkgs/development/python-modules/pygmt/default.nix b/pkgs/development/python-modules/pygmt/default.nix
index 6f06065457e..f7728cfa28d 100644
--- a/pkgs/development/python-modules/pygmt/default.nix
+++ b/pkgs/development/python-modules/pygmt/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pygmt";
-  version = "0.5.0";
+  version = "0.6.0";
 
   disabled = pythonOlder "3.6";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "GenericMappingTools";
     repo = "pygmt";
     rev = "v${version}";
-    sha256 = "1mazljxwh162df971cvv7cwnqr300r17qfs7k09s6yd6hajyhz49";
+    sha256 = "sha256-QzqQKnANReSHIsDbiKSZ1ZgMgbj3NAfq4bmRQktnRjQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyinfra/default.nix b/pkgs/development/python-modules/pyinfra/default.nix
new file mode 100644
index 00000000000..ce489127946
--- /dev/null
+++ b/pkgs/development/python-modules/pyinfra/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, gevent
+, click
+, colorama
+, configparser
+, distro
+, jinja2
+, paramiko
+, python-dateutil
+, pywinrm
+, setuptools
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "pyinfra";
+  version = "1.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-r+7ka3WKE6uHP//p1N71hgTGit7Eo3x9INpbKPYbFMI=";
+  };
+
+  propagatedBuildInputs = [
+    click
+    colorama
+    configparser
+    distro
+    gevent
+    jinja2
+    paramiko
+    python-dateutil
+    pywinrm
+    setuptools
+    six
+  ];
+
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pyinfra"
+  ];
+
+  meta = with lib; {
+    description = "Python-based infrastructure automation";
+    longDescription = ''
+      pyinfra automates/provisions/manages/deploys infrastructure. It can be used for
+      ad-hoc command execution, service deployment, configuration management and more.
+    '';
+    homepage = "https://github.com/Fizzadar/pyinfra";
+    maintainers = with maintainers; [ totoroot ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pyisy/default.nix b/pkgs/development/python-modules/pyisy/default.nix
index 67a3892cdc0..5daadce41f4 100644
--- a/pkgs/development/python-modules/pyisy/default.nix
+++ b/pkgs/development/python-modules/pyisy/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "pyisy";
-  version = "3.0.3";
+  version = "3.0.5";
 
   src = fetchFromGitHub {
     owner = "automicus";
     repo = "PyISY";
     rev = "v${version}";
-    hash = "sha256-zQ0IBfbWEGv5t+b3EKF+6tEpmwfAWFMndPqSNSQZ5b4=";
+    hash = "sha256-lVutG/xJvVP0qS0UnEyS/9KwwqdRX6ownTKek8/VXbU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pykrakenapi/default.nix b/pkgs/development/python-modules/pykrakenapi/default.nix
index 41efa9a54d2..a064390b1ce 100644
--- a/pkgs/development/python-modules/pykrakenapi/default.nix
+++ b/pkgs/development/python-modules/pykrakenapi/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "pykrakenapi";
-  version = "0.2.4";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "dominiktraxl";
     repo = "pykrakenapi";
     rev = "v${version}";
-    hash = "sha256-i2r6t+JcL6INI8Y26gvVvNjv6XxMj4G+pF9Xf/hsx1A=";
+    hash = "sha256-ZhP4TEWFEGIqI/nk2It1IVFKrX4HKP+dWxu+gLJNIeg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pymavlink/default.nix b/pkgs/development/python-modules/pymavlink/default.nix
index 8bf43a44543..361f8bff615 100644
--- a/pkgs/development/python-modules/pymavlink/default.nix
+++ b/pkgs/development/python-modules/pymavlink/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pymavlink";
-  version = "2.4.27";
+  version = "2.4.29";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-DzW1jB7L7sD9WAhk/3/0UD8PW7Nw/bHTI527NmMV6CY=";
+    sha256 = "sha256-0k6DKkb/Izk15JKrSOC0u5wL3vT4x2CelZt112vc/p0=";
   };
 
   propagatedBuildInputs = [ future lxml ];
diff --git a/pkgs/development/python-modules/pymediaroom/default.nix b/pkgs/development/python-modules/pymediaroom/default.nix
index e977cb23d75..364063f7862 100644
--- a/pkgs/development/python-modules/pymediaroom/default.nix
+++ b/pkgs/development/python-modules/pymediaroom/default.nix
@@ -1,21 +1,19 @@
 { lib
 , async-timeout
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , pythonOlder
 , xmltodict
 }:
 
 buildPythonPackage rec {
   pname = "pymediaroom";
-  version = "0.6.4.1";
+  version = "0.6.5.4";
   disabled = pythonOlder "3.5";
 
-  src = fetchFromGitHub {
-    owner = "dgomes";
-    repo = pname;
-    rev = version;
-    sha256 = "1klf2dxd8rlq3n4b9m03lzwcsasn9vi6m3hzrjqhqnprhrnp0xmy";
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-CZh2knpLT7xt5s6+kTQ4Mq9LcpKgWvgdFCkPtMucJTM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix
index 16bfddc8340..e4655082af9 100644
--- a/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/pkgs/development/python-modules/pyopenssl/default.nix
@@ -6,17 +6,50 @@
 , cryptography
 , pyasn1
 , idna
-, pytest
+, pytestCheckHook
 , pretend
 , flaky
 , glibcLocales
 , six
 }:
 
-let
-  # https://github.com/pyca/pyopenssl/issues/791
-  # These tests, we disable in the case that libressl is passed in as openssl.
-  failingLibresslTests = [
+buildPythonPackage rec {
+  pname = "pyopenssl";
+  version = "22.0.0";
+
+  src = fetchPypi {
+    pname = "pyOpenSSL";
+    inherit version;
+    sha256 = "sha256-ZgsbFCWqxKG+odlBaKhdmfCzFEyGndQ5DSdinQCH8b8=";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  # Seems to fail unpredictably on Darwin. See https://hydra.nixos.org/build/49877419/nixlog/1
+  # for one example, but I've also seen ContextTests.test_set_verify_callback_exception fail.
+  doCheck = !stdenv.isDarwin;
+
+  nativeBuildInputs = [ openssl ];
+  propagatedBuildInputs = [ cryptography pyasn1 idna six ];
+
+  checkInputs = [ pytestCheckHook pretend flaky glibcLocales ];
+
+  preCheck = ''
+    export LANG="en_US.UTF-8"
+  '';
+
+  disabledTests = [
+    # https://github.com/pyca/pyopenssl/issues/692
+    # These tests, we disable always.
+    "test_set_default_verify_paths"
+    "test_fallback_default_verify_paths"
+    # https://github.com/pyca/pyopenssl/issues/768
+    "test_wantWriteError"
+    # https://github.com/pyca/pyopenssl/issues/1043
+    "test_alpn_call_failure"
+  ] ++ lib.optionals (lib.hasPrefix "libressl" openssl.meta.name) [
+    # https://github.com/pyca/pyopenssl/issues/791
+    # These tests, we disable in the case that libressl is passed in as openssl.
     "test_op_no_compression"
     "test_npn_advertise_error"
     "test_npn_select_error"
@@ -29,66 +62,21 @@ let
     "test_verify_with_revoked"
     "test_set_notAfter"
     "test_set_notBefore"
-  ];
-
-  # these tests are extremely tightly wed to the exact output of the openssl cli tool,
-  # including exact punctuation.
-  failingOpenSSL_1_1Tests = [
+  ] ++ lib.optionals (lib.versionAtLeast (lib.getVersion openssl.name) "1.1") [
+    # these tests are extremely tightly wed to the exact output of the openssl cli tool, including exact punctuation.
     "test_dump_certificate"
     "test_dump_privatekey_text"
     "test_dump_certificate_request"
     "test_export_text"
-  ];
-
-  disabledTests = [
-    # https://github.com/pyca/pyopenssl/issues/692
-    # These tests, we disable always.
-    "test_set_default_verify_paths"
-    "test_fallback_default_verify_paths"
-    # https://github.com/pyca/pyopenssl/issues/768
-    "test_wantWriteError"
-    # https://github.com/pyca/pyopenssl/issues/1043
-    "test_alpn_call_failure"
-  ] ++ (
-    lib.optionals (lib.hasPrefix "libressl" openssl.meta.name) failingLibresslTests
-  ) ++ (
-    lib.optionals (lib.versionAtLeast (lib.getVersion openssl.name) "1.1") failingOpenSSL_1_1Tests
-  ) ++ (
+  ] ++ lib.optionals stdenv.is32bit [
     # https://github.com/pyca/pyopenssl/issues/974
-    lib.optionals stdenv.is32bit [ "test_verify_with_time" ]
-  );
-
-  # Compose the final string expression, including the "-k" and the single quotes.
-  testExpression = lib.optionalString (disabledTests != [])
-    "-k 'not ${lib.concatStringsSep " and not " disabledTests}'";
-
-in
-
-buildPythonPackage rec {
-  pname = "pyopenssl";
-  version = "21.0.0";
+    "test_verify_with_time"
+  ];
 
-  src = fetchPypi {
-    pname = "pyOpenSSL";
-    inherit version;
-    sha256 = "5e2d8c5e46d0d865ae933bef5230090bdaf5506281e9eec60fa250ee80600cb3";
+  meta = with lib; {
+    description = "Python wrapper around the OpenSSL library";
+    homepage = "https://github.com/pyca/pyopenssl";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
-
-  outputs = [ "out" "dev" ];
-
-  checkPhase = ''
-    runHook preCheck
-    export LANG="en_US.UTF-8"
-    py.test tests ${testExpression}
-    runHook postCheck
-  '';
-
-  # Seems to fail unpredictably on Darwin. See https://hydra.nixos.org/build/49877419/nixlog/1
-  # for one example, but I've also seen ContextTests.test_set_verify_callback_exception fail.
-  doCheck = !stdenv.isDarwin;
-
-  nativeBuildInputs = [ openssl ];
-  propagatedBuildInputs = [ cryptography pyasn1 idna six ];
-
-  checkInputs = [ pytest pretend flaky glibcLocales ];
 }
diff --git a/pkgs/development/python-modules/pypandoc/default.nix b/pkgs/development/python-modules/pypandoc/default.nix
index cd7a322a2ae..d2ff1aab1a4 100644
--- a/pkgs/development/python-modules/pypandoc/default.nix
+++ b/pkgs/development/python-modules/pypandoc/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "pypandoc";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1wk8jxnysb7sa55zhxx5brylv00ivamqbk1b4lbzi58ziij08p03";
+    sha256 = "sha256-Tv0vqKN9AAXdfQRMt/QuqeFB3wNTh1DsWu0XNZukTUc=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyramid_exclog/default.nix b/pkgs/development/python-modules/pyramid_exclog/default.nix
index 96570fce884..2d23256ff84 100644
--- a/pkgs/development/python-modules/pyramid_exclog/default.nix
+++ b/pkgs/development/python-modules/pyramid_exclog/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pyramid_exclog";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d05ced5c12407507154de6750036bc83861b85c11be70b3ec3098c929652c14b";
+    sha256 = "sha256-Tl2rYH/GifNfB9w4nG9UIqAQz0O6kujCED/4iZnPKDw=";
   };
 
   propagatedBuildInputs = [ pyramid ];
diff --git a/pkgs/development/python-modules/pyroute2-core/default.nix b/pkgs/development/python-modules/pyroute2-core/default.nix
index d8820e6d9d0..758c848c7ec 100644
--- a/pkgs/development/python-modules/pyroute2-core/default.nix
+++ b/pkgs/development/python-modules/pyroute2-core/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyroute2-core";
-  version = "0.6.7";
+  version = "0.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "pyroute2.core";
     inherit version;
-    hash = "sha256-N74cQcWx57lYIPiQTL+/Ec5Kf1rgdMrRkkYIdyaLjN4=";
+    hash = "sha256-gkvr1FgFWI1eurjbuUYhYj0D4eZTIBsDMRXSWrKiCP4=";
   };
 
   # pyroute2 sub-modules have no tests
diff --git a/pkgs/development/python-modules/pyroute2-ethtool/default.nix b/pkgs/development/python-modules/pyroute2-ethtool/default.nix
index fe4eac24870..4838b669042 100644
--- a/pkgs/development/python-modules/pyroute2-ethtool/default.nix
+++ b/pkgs/development/python-modules/pyroute2-ethtool/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyroute2-ethtool";
-  version = "0.6.7";
+  version = "0.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "pyroute2.ethtool";
     inherit version;
-    hash = "sha256-jwPg7xcmQU3F4cVrs2GVUxBXV6waMkrnmyZkHo2kLR0=";
+    hash = "sha256-+/B+YQOluzyGYmnwAZonsjgZeiZPYl8LhJ9OjnvV/64=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2-ipdb/default.nix b/pkgs/development/python-modules/pyroute2-ipdb/default.nix
index cb40f0b4eff..4704d95279f 100644
--- a/pkgs/development/python-modules/pyroute2-ipdb/default.nix
+++ b/pkgs/development/python-modules/pyroute2-ipdb/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyroute2-ipdb";
-  version = "0.6.7";
+  version = "0.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "pyroute2.ipdb";
     inherit version;
-    hash = "sha256-uMEPUleEBIaIV4bCejTmeHYhKeaN9SNcUMzBAODNBEU=";
+    hash = "sha256-sjlJ1eBoMQaJzEF/4Qk9ZwZB0s/yvR5wUUDP3UWBA50=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2-ipset/default.nix b/pkgs/development/python-modules/pyroute2-ipset/default.nix
index 300b1d21fa1..1889b5ead88 100644
--- a/pkgs/development/python-modules/pyroute2-ipset/default.nix
+++ b/pkgs/development/python-modules/pyroute2-ipset/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyroute2-ipset";
-  version = "0.6.7";
+  version = "0.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "pyroute2.ipset";
     inherit version;
-    hash = "sha256-roNLNXmnW27a+TgxtMi8HO5hF4agxdjQ0DMsYW6O44c=";
+    hash = "sha256-j2vEQyfuuMH0QRtXw6acX9AMureQwgeS+Ap7m2uP9OY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2-ndb/default.nix b/pkgs/development/python-modules/pyroute2-ndb/default.nix
index 2564e460119..86bbde3e52a 100644
--- a/pkgs/development/python-modules/pyroute2-ndb/default.nix
+++ b/pkgs/development/python-modules/pyroute2-ndb/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyroute2-ndb";
-  version = "0.6.7";
+  version = "0.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "pyroute2.ndb";
     inherit version;
-    hash = "sha256-o/rmbOwfRUPw/g1Cc/5otqKvGe3Br3y4iSXad/PfTPw=";
+    hash = "sha256-90DAbXCkoIFUbWZotKYkCSGsQvb7LrEpf6xGCviP40w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2-nftables/default.nix b/pkgs/development/python-modules/pyroute2-nftables/default.nix
index 6b0b4bc35c9..4a3d58c896c 100644
--- a/pkgs/development/python-modules/pyroute2-nftables/default.nix
+++ b/pkgs/development/python-modules/pyroute2-nftables/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pyroute2-nftables";
-  version = "0.6.7";
+  version = "0.6.8";
 
   src = fetchPypi {
     pname = "pyroute2.nftables";
     inherit version;
-    sha256 = "sha256-d9LdXxBQGa40MmGuK2cFOOEI7X4Y1pPv0ObW9n7ZUjo=";
+    sha256 = "sha256-SNebxs0mCFEI4bejuLMeU3wrO8KZZT1frnfQw8Gko6E=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2-nslink/default.nix b/pkgs/development/python-modules/pyroute2-nslink/default.nix
index 0050c4aa795..0f47e7228d3 100644
--- a/pkgs/development/python-modules/pyroute2-nslink/default.nix
+++ b/pkgs/development/python-modules/pyroute2-nslink/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyroute2-nslink";
-  version = "0.6.7";
+  version = "0.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "pyroute2.nslink";
     inherit version;
-    hash = "sha256-p+U3Y5vKCxuvMl/yNKlay57tlU4GKttCJrAwctKa5TY=";
+    hash = "sha256-bTGzXouEdVUFaT5mxGfonFu3aOMxZKRTDMaHFciofec=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2-protocols/default.nix b/pkgs/development/python-modules/pyroute2-protocols/default.nix
index 39308e162e2..84c9813b5ea 100644
--- a/pkgs/development/python-modules/pyroute2-protocols/default.nix
+++ b/pkgs/development/python-modules/pyroute2-protocols/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyroute2-protocols";
-  version = "0.6.7";
+  version = "0.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "pyroute2.protocols";
     inherit version;
-    hash = "sha256-GdququbQcU+exzxifb8UGamkSUMhR94j+auF8I6e7/Q=";
+    hash = "sha256-l07CEwZzDxym+QAnKFFEpX690RStOA+rAwMXiEd7FOs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2/default.nix b/pkgs/development/python-modules/pyroute2/default.nix
index 1fda8265428..a2ae4d3c385 100644
--- a/pkgs/development/python-modules/pyroute2/default.nix
+++ b/pkgs/development/python-modules/pyroute2/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pyroute2";
-  version = "0.6.7";
+  version = "0.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qBv9jshyg0S9IThdrXHTFcb2neQPDmURmtSbqYCKlWo=";
+    hash = "sha256-WhqjvCwKrUUBLKvjpva7pc94UIZvTf7j705Bt2DHyKQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pysigma-backend-splunk/default.nix b/pkgs/development/python-modules/pysigma-backend-splunk/default.nix
new file mode 100644
index 00000000000..97d5bd84f66
--- /dev/null
+++ b/pkgs/development/python-modules/pysigma-backend-splunk/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pysigma
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pysigma-backend-splunk";
+  version = "0.1.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "SigmaHQ";
+    repo = "pySigma-backend-splunk";
+    rev = "v${version}";
+    hash = "sha256-jKvGBUO55DtF6bpgEL82XB5Ba+kmqJsCqUdzftcpSJ0=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    pysigma
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "sigma.backends.splunk"
+  ];
+
+  meta = with lib; {
+    description = "Library to support Splunk for pySigma";
+    homepage = "https://github.com/SigmaHQ/pySigma-backend-splunk";
+    license = with licenses; [ lgpl21Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysigma-pipeline-crowdstrike/default.nix b/pkgs/development/python-modules/pysigma-pipeline-crowdstrike/default.nix
new file mode 100644
index 00000000000..2d2aadb9eae
--- /dev/null
+++ b/pkgs/development/python-modules/pysigma-pipeline-crowdstrike/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pysigma
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pysigma-pipeline-crowdstrike";
+  version = "0.1.4";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "SigmaHQ";
+    repo = "pySigma-pipeline-crowdstrike";
+    rev = "v${version}";
+    hash = "sha256-Riu2u1IouS1BMtXauXrNMIl06TU11pHdC0jjlOiR71s=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    pysigma
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "sigma.pipelines.crowdstrike"
+  ];
+
+  meta = with lib; {
+    description = "Library to support CrowdStrike pipeline for pySigma";
+    homepage = "https://github.com/SigmaHQ/pySigma-pipeline-crowdstrike";
+    license = with licenses; [ lgpl21Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysigma-pipeline-sysmon/default.nix b/pkgs/development/python-modules/pysigma-pipeline-sysmon/default.nix
new file mode 100644
index 00000000000..02a12f93f7b
--- /dev/null
+++ b/pkgs/development/python-modules/pysigma-pipeline-sysmon/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pysigma
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pysigma-pipeline-sysmon";
+  version = "0.1.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "SigmaHQ";
+    repo = "pySigma-pipeline-sysmon";
+    rev = "v${version}";
+    hash = "sha256-Y9X9/ynrfs4gVTLl7pOvK3TH2Eh2vNF1S6Cnt3tByJM=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    pysigma
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "sigma.pipelines.sysmon"
+  ];
+
+  meta = with lib; {
+    description = "Library to support Sysmon pipeline for pySigma";
+    homepage = "https://github.com/SigmaHQ/pySigma-pipeline-sysmon";
+    license = with licenses; [ lgpl21Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysigma/default.nix b/pkgs/development/python-modules/pysigma/default.nix
new file mode 100644
index 00000000000..89bea0d0dc9
--- /dev/null
+++ b/pkgs/development/python-modules/pysigma/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, pyparsing
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "pysigma";
+  version = "0.4.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "SigmaHQ";
+    repo = "pySigma";
+    rev = "v${version}";
+    hash = "sha256-egyzeniid2PZZQ6hsd44W+YURI8uGaXvDMuhNIXUqO0=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    pyparsing
+    pyyaml
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'pyparsing = "^3.0.7"' 'pyparsing = "*"' \
+  '';
+
+  pythonImportsCheck = [
+    "sigma"
+  ];
+
+  meta = with lib; {
+    description = "Library to parse and convert Sigma rules into queries";
+    homepage = "https://github.com/SigmaHQ/pySigma";
+    license = with licenses; [ lgpl21Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-aiohttp/default.nix b/pkgs/development/python-modules/pytest-aiohttp/default.nix
index 4e45477c8ca..794bbce74e0 100644
--- a/pkgs/development/python-modules/pytest-aiohttp/default.nix
+++ b/pkgs/development/python-modules/pytest-aiohttp/default.nix
@@ -1,20 +1,45 @@
-{ lib, buildPythonPackage, fetchPypi, pytest, aiohttp }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchpatch
+, setuptools-scm
+, aiohttp
+, pytest
+, pytest-asyncio
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "pytest-aiohttp";
-  version = "0.3.0";
+  version = "1.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0kx4mbs9bflycd8x9af0idcjhdgnzri3nw1qb0vpfyb3751qaaf9";
+    hash = "sha256-DI/rSNyOuAhw4rFTrK9iu7zCB5d+vLdDZf/P4WrcnxU=";
   };
 
-  buildInputs = [ pytest ];
+  patches = [
+    # https://github.com/aio-libs/pytest-aiohttp/pull/26
+    (fetchpatch {
+      name = "fix-tests-with-pytest-asyncio-0.18.0.patch";
+      url = "https://github.com/aio-libs/pytest-aiohttp/commit/97152c2dfdd368f799ec6bcb5fc315736a726f53.patch";
+      hash = "sha256-g7MTyCKUHnufOfrbhVV58WtfbGt1uXx8F7U9U+EaXfg=";
+    })
+  ];
 
-  propagatedBuildInputs = [ aiohttp ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
-  # There are no tests
-  doCheck = false;
+  propagatedBuildInputs = [
+    aiohttp
+    pytest
+    pytest-asyncio
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/aio-libs/pytest-aiohttp/";
diff --git a/pkgs/development/python-modules/pytest-asyncio/default.nix b/pkgs/development/python-modules/pytest-asyncio/default.nix
index 6401e1ce2c9..b8d3dffa3b0 100644
--- a/pkgs/development/python-modules/pytest-asyncio/default.nix
+++ b/pkgs/development/python-modules/pytest-asyncio/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "pytest-asyncio";
-  version = "0.17.2";
+  version = "0.18.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "pytest-dev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4wDXvO6pDK0dQLnyfJTTa+GXf9Qtsi6ywYDUIdhkgGo=";
+    hash = "sha256-PE66ogjfzj6cW3+UD5nZHSt6zg7b+j6Q4ACznE4j0j8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -36,6 +36,7 @@ buildPythonPackage rec {
   checkInputs = [
     flaky
     hypothesis
+    flaky
     pytestCheckHook
   ];
 
@@ -44,9 +45,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "library for testing asyncio code with pytest";
+    description = "Library for testing asyncio code with pytest";
     homepage = "https://github.com/pytest-dev/pytest-asyncio";
     license = licenses.asl20;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-cases/default.nix b/pkgs/development/python-modules/pytest-cases/default.nix
index 766e0754387..5d4d8d1798f 100644
--- a/pkgs/development/python-modules/pytest-cases/default.nix
+++ b/pkgs/development/python-modules/pytest-cases/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-cases";
-  version = "3.6.9";
+  version = "3.6.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Bf9favhlHcGj8nf1JxTkMjpo8hMyfBHgMCilOcIL2Sk=";
+    sha256 = "sha256-W8Syxgl/lPqDX2zdzvpk3Q/0aNBWM8JeUOXGDBYyamM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-json-report/default.nix b/pkgs/development/python-modules/pytest-json-report/default.nix
index 2b89fe71592..95a0bcb325f 100644
--- a/pkgs/development/python-modules/pytest-json-report/default.nix
+++ b/pkgs/development/python-modules/pytest-json-report/default.nix
@@ -5,17 +5,21 @@
 , pytest-metadata
 , pytest-xdist
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pytest-json-report";
-  version = "1.4.1";
+  version = "1.5.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "numirias";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OS9ASUp9iJ12Ovr931RQU/DHEAXqbgcRMCBP4h+GAhk=";
+    hash = "sha256-hMB/atDuo7CjwhHFUOxVfgJ7Qp4AA9J428iv7hyQFcs=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pytest-mock/default.nix b/pkgs/development/python-modules/pytest-mock/default.nix
index 7f07ed2b6dd..94db409be91 100644
--- a/pkgs/development/python-modules/pytest-mock/default.nix
+++ b/pkgs/development/python-modules/pytest-mock/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pytest
 , pytest-asyncio
 , pytestCheckHook
 , setuptools-scm
@@ -8,15 +9,19 @@
 
 buildPythonPackage rec {
   pname = "pytest-mock";
-  version = "3.6.1";
+  version = "3.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "40217a058c52a63f1042f0784f62009e976ba824c418cced42e88d5f40ab0e62";
+    hash = "sha256-URK9ksyfGG7pbhqS78hJaepJSTnDrq05xQ9CHEzGlTQ=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
 
+  propagatedBuildInputs = [
+    pytest
+  ];
+
   checkInputs = [
     pytest-asyncio
     pytestCheckHook
@@ -34,6 +39,6 @@ buildPythonPackage rec {
     description = "Thin-wrapper around the mock package for easier use with pytest";
     homepage = "https://github.com/pytest-dev/pytest-mock";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/python-box/default.nix b/pkgs/development/python-modules/python-box/default.nix
index 0edf2b69580..30666ef4706 100644
--- a/pkgs/development/python-modules/python-box/default.nix
+++ b/pkgs/development/python-modules/python-box/default.nix
@@ -11,14 +11,16 @@
 
 buildPythonPackage rec {
   pname = "python-box";
-  version = "5.4.1";
+  version = "6.0.1";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "cdgriffith";
     repo = "Box";
     rev = version;
-    sha256 = "sha256-SkteajcWG7rBFMm6Xp6QCfkZfwthRituGL/RtICbtYk=";
+    hash = "sha256-kH8qHAFuYDXO5Dsl6BpTYCIqh0Xi8Rbwmia+y3sTn6Y=";
   };
 
   propagatedBuildInputs = [
@@ -32,7 +34,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "box" ];
+  pythonImportsCheck = [
+    "box"
+  ];
 
   meta = with lib; {
     description = "Python dictionaries with advanced dot notation access";
diff --git a/pkgs/development/python-modules/python-http-client/default.nix b/pkgs/development/python-modules/python-http-client/default.nix
index aa2c4d020e5..78a3b018c7e 100644
--- a/pkgs/development/python-modules/python-http-client/default.nix
+++ b/pkgs/development/python-modules/python-http-client/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "python_http_client";
-  version = "3.3.6";
+  version = "3.3.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "sendgrid";
     repo = "python-http-client";
     rev = version;
-    sha256 = "sha256-Xchf/jVkQ7SYOzI9f81iS/G72k//6wkl2bMvHprOP9Y=";
+    sha256 = "sha256-8Qs5Jw0LMV2UucLnlFKJQ2PUhYaQx6uJdIV/4gaPH3w=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/python-juicenet/default.nix b/pkgs/development/python-modules/python-juicenet/default.nix
index 1547c891461..ad27a913257 100644
--- a/pkgs/development/python-modules/python-juicenet/default.nix
+++ b/pkgs/development/python-modules/python-juicenet/default.nix
@@ -1,18 +1,22 @@
 { lib
+, aiohttp
 , buildPythonPackage
 , fetchFromGitHub
-, aiohttp
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "python-juicenet";
-  version = "1.0.2";
+  version = "1.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jesserockz";
     repo = "python-juicenet";
     rev = "v${version}";
-    sha256 = "04547pj51ds31yhyc7ng47v9giz16h2s3wgb6szc8ivhb5rclqz2";
+    hash = "sha256-5RKnVwOfEHzFZCiC8OUpS8exKrENK+I3Ok45HlKEvtU=";
   };
 
   propagatedBuildInputs = [
@@ -22,7 +26,9 @@ buildPythonPackage rec {
   # no tests implemented
   doCheck = false;
 
-  pythonImportsCheck = [ "pyjuicenet" ];
+  pythonImportsCheck = [
+    "pyjuicenet"
+  ];
 
   meta = with lib; {
     description = "Read and control Juicenet/Juicepoint/Juicebox based EVSE devices";
diff --git a/pkgs/development/python-modules/pyupgrade/default.nix b/pkgs/development/python-modules/pyupgrade/default.nix
index 8d815ee1ce9..09c2c1ca7a6 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.31.0";
+  version = "2.31.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "asottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nuYWJ4nilbXa/1KOuGhc6rB7uXDE4+lcESNud4Ug+3Y=";
+    sha256 = "sha256-l4wF/I3wsA9nowIdLjNPUxCaTPBu5v5oPQ3oNbLh+/o=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pywlroots/default.nix b/pkgs/development/python-modules/pywlroots/default.nix
index 7dc17cf74ec..b4f23f71d74 100644
--- a/pkgs/development/python-modules/pywlroots/default.nix
+++ b/pkgs/development/python-modules/pywlroots/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "pywlroots";
-  version = "0.15.10";
+  version = "0.15.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "VWfcDhMAuUkYObRiaXRfcB7dI75SM7zVwWWvnlrxV0k=";
+    sha256 = "sha256-L+59uf3/wqWnmWpqm8RAyIEarbj2Sdwf1Pbweh/z9C8=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/pyyaml/default.nix b/pkgs/development/python-modules/pyyaml/default.nix
index 2c0e893b9c5..10f78ab5e14 100644
--- a/pkgs/development/python-modules/pyyaml/default.nix
+++ b/pkgs/development/python-modules/pyyaml/default.nix
@@ -8,7 +8,7 @@
 }:
 
 buildPythonPackage rec {
-  pname = "PyYAML";
+  pname = "pyyaml";
   version = "6.0";
 
   disabled = pythonOlder "3.6";
diff --git a/pkgs/development/python-modules/qcengine/default.nix b/pkgs/development/python-modules/qcengine/default.nix
index ea5325ea660..795b8460b5d 100644
--- a/pkgs/development/python-modules/qcengine/default.nix
+++ b/pkgs/development/python-modules/qcengine/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "qcengine";
-  version = "0.22.0";
+  version = "0.23.0";
 
   checkInputs = [ pytestCheckHook ];
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "685a08247b561ed1c7a7b42e68293f90b412e83556626304a3f826a15be51308";
+    sha256 = "sha256-gDn0Nu6ALTr3KyZnYDSA6RE3S5JQj562FP2RI9U3Gxs=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/python-modules/readme_renderer/default.nix b/pkgs/development/python-modules/readme_renderer/default.nix
index b7709da9dca..122c4fdf665 100644
--- a/pkgs/development/python-modules/readme_renderer/default.nix
+++ b/pkgs/development/python-modules/readme_renderer/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "readme-renderer";
-  version = "33.0";
+  version = "34.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "readme_renderer";
     inherit version;
-    sha256 = "sha256-47U7yEvWrwVOTMH+NWfcGuGfVUE0IhBDo/jGdOIiCds=";
+    sha256 = "sha256-37TRfyFwbRRfdHPgthyiRbpY6BDPmyIJpII5Z3+C5bA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/regex/default.nix b/pkgs/development/python-modules/regex/default.nix
index b96c7ca8995..86e591eaf14 100644
--- a/pkgs/development/python-modules/regex/default.nix
+++ b/pkgs/development/python-modules/regex/default.nix
@@ -2,25 +2,28 @@
 , buildPythonPackage
 , fetchPypi
 , python
-, isPy27
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "regex";
-  version = "2021.11.10";
+  version = "2022.1.18";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-80HuLfCZm/33qV5EgHXv/g2yEqWTh94acGkOSssD1MY=";
+    hash = "sha256-l/MtwDqAVKTEpatddh7Uhh6CiywgD+vU5GhXBppIORY=";
   };
 
-  # Sources for different Python releases are located in same folder
   checkPhase = ''
-    rm -r ${if !isPy27 then "regex_2" else "regex_3"}
     ${python.interpreter} -m unittest
   '';
 
-  pythonImportsCheck = [ "regex" ];
+  pythonImportsCheck = [
+    "regex"
+  ];
 
   meta = with lib; {
     description = "Alternative regular expression module, to replace re";
diff --git a/pkgs/development/python-modules/renault-api/default.nix b/pkgs/development/python-modules/renault-api/default.nix
index 2ddd65790fa..2312078c5fc 100644
--- a/pkgs/development/python-modules/renault-api/default.nix
+++ b/pkgs/development/python-modules/renault-api/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "renault-api";
-  version = "0.1.9";
+  version = "0.1.10";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "hacf-fr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-CZDxJ5vgk9I1cRDXoqcrUHu+buPWYVrEcHaRXcyts7I=";
+    sha256 = "sha256-PXycRRUrKIkU/MgQbW4BjvBhpEi6InY5jZHPw4Nyv2s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/rencode/default.nix b/pkgs/development/python-modules/rencode/default.nix
index a742c422ee9..464bbd78515 100644
--- a/pkgs/development/python-modules/rencode/default.nix
+++ b/pkgs/development/python-modules/rencode/default.nix
@@ -1,17 +1,18 @@
 { lib
 , buildPythonPackage
-, fetchgit
+, fetchFromGitHub
 , cython
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "rencode";
-  version = "git20150810";
+  version = "1.0.6";
 
-  src = fetchgit {
-    url = "https://github.com/aresch/rencode";
-    rev = "b45e04abdca0dea36e383a8199783269f186c99e";
-    sha256 = "b4bd82852d4220e8a9493d3cfaecbc57b1325708a2d48c0f8acf262edb10dc40";
+  src = fetchFromGitHub {
+    owner = "aresch";
+    repo = "rencode";
+    rev = "v${version}";
+    sha256 = "sha256-PGjjrZuoGYSPMNqXG1KXoZnOoWIe4g6s056jFhqrJ60=";
   };
 
   buildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/responses/default.nix b/pkgs/development/python-modules/responses/default.nix
index 86e37419c72..95861bda181 100644
--- a/pkgs/development/python-modules/responses/default.nix
+++ b/pkgs/development/python-modules/responses/default.nix
@@ -5,25 +5,23 @@
 , pytestCheckHook
 , pythonOlder
 , requests
-, six
 , urllib3
 }:
 
 buildPythonPackage rec {
   pname = "responses";
-  version = "0.17.0";
+  version = "0.18.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7GdeCA0Gv40fteWmih5c0N9GsJx4IwMV9lCvXkA2vsc=";
+    hash = "sha256-OAytTBwdyULl6KjqrgtNTt9wj08BDbi3vPr60fzSVP8=";
   };
 
   propagatedBuildInputs = [
     requests
-    six
     urllib3
   ];
 
diff --git a/pkgs/development/python-modules/ropgadget/default.nix b/pkgs/development/python-modules/ropgadget/default.nix
index aaf31f06a1c..4d0a4aa94f1 100644
--- a/pkgs/development/python-modules/ropgadget/default.nix
+++ b/pkgs/development/python-modules/ropgadget/default.nix
@@ -2,17 +2,21 @@
 , buildPythonPackage
 , fetchFromGitHub
 , capstone
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "ropgadget";
-  version = "6.6";
+  version = "6.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "JonathanSalwan";
     repo = "ROPgadget";
     rev = "v${version}";
-    sha256 = "1i0gx0cwhxk6d8byvck17hh83szz3k6ndd118ha3q0r0msap0lz1";
+    hash = "sha256-zOTbncsOvmLQMZGpcRLviSZP/d1cQTQHXCLUKyEgVBk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ruamel-yaml/default.nix b/pkgs/development/python-modules/ruamel-yaml/default.nix
index 79f21ba6aab..31d76d78ac7 100644
--- a/pkgs/development/python-modules/ruamel-yaml/default.nix
+++ b/pkgs/development/python-modules/ruamel-yaml/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "ruamel-yaml";
-  version = "0.17.20";
+  version = "0.17.21";
 
   src = fetchPypi {
     pname = "ruamel.yaml";
     inherit version;
-    sha256 = "sha256-S4ozwe+ytEOpP8qvz6TS5EX46MKcUo2fXNr7fMnkAEw=";
+    sha256 = "sha256-i3zml6LyEnUqNcGsQURx3BbEJMlXO+SSa1b/P10jt68=";
   };
 
   # Tests use relative paths
diff --git a/pkgs/development/python-modules/sabyenc3/default.nix b/pkgs/development/python-modules/sabyenc3/default.nix
index 99f5d522baf..d2dbb2e4058 100644
--- a/pkgs/development/python-modules/sabyenc3/default.nix
+++ b/pkgs/development/python-modules/sabyenc3/default.nix
@@ -1,22 +1,32 @@
-{ lib, fetchPypi, python3Packages }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pythonOlder
+}:
 
-python3Packages.buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "sabyenc3";
-  version = "5.0.1";
+  version = "5.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-MIKBSPs3CtETDefiozN758hmJhdmw0UqVyG9t224tfw=";
+    hash = "sha256-muqJCn5FcSp5KNZqfW433NCOxfj1DvFvlZPClmNkPR0=";
   };
 
-  # tests are not included in pypi distribution
+  # Tests are not included in pypi distribution
   doCheck = false;
 
-  meta = {
+  pythonImportsCheck = [
+    "sabyenc3"
+  ];
+
+  meta = with lib; {
     description = "yEnc Decoding for Python 3";
     homepage = "https://github.com/sabnzbd/sabyenc/";
-    license = lib.licenses.lgpl3;
-    maintainers = [ lib.maintainers.lovek323 ];
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ lovek323 ];
   };
-
 }
diff --git a/pkgs/development/python-modules/samsungtvws/default.nix b/pkgs/development/python-modules/samsungtvws/default.nix
index b4bebb79a0f..bed661ce200 100644
--- a/pkgs/development/python-modules/samsungtvws/default.nix
+++ b/pkgs/development/python-modules/samsungtvws/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "samsungtvws";
-  version = "2.3.0";
+  version = "2.4.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-2ly9lbnIHGHB55ml10jKE7dC5LdN1ToGW4GqfxTC5kI=";
+    sha256 = "sha256-LbNHaSbNCwoffox6B8kEUzxjkSJotB+P1bw3wbU7DZk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/semantic-version/default.nix b/pkgs/development/python-modules/semantic-version/default.nix
index e939142fd82..d3ca4459619 100644
--- a/pkgs/development/python-modules/semantic-version/default.nix
+++ b/pkgs/development/python-modules/semantic-version/default.nix
@@ -1,20 +1,35 @@
-{ lib, fetchPypi, buildPythonPackage }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pythonOlder
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
-  pname = "semantic_version";
-  version = "2.8.5";
+  pname = "semantic-version";
+  version = "2.9.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "d2cb2de0558762934679b9a104e82eca7af448c9f4974d1f3eeccff651df8a54";
+    pname = "semantic_version";
+    inherit version;
+    sha256 = "sha256-q/VIc1U+Xgem/U1fZTt4H1rkEpekk2ZrWdzyFABqErI=";
   };
 
-  # ModuleNotFoundError: No module named 'tests'
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "semantic_version"
+  ];
 
   meta = with lib; {
     description = "A library implementing the 'SemVer' scheme";
-    license = licenses.bsdOriginal;
+    homepage = "https://github.com/rbarrois/python-semanticversion/";
+    license = licenses.bsd2;
     maintainers = with maintainers; [ layus makefu ];
   };
 }
diff --git a/pkgs/development/python-modules/snitun/default.nix b/pkgs/development/python-modules/snitun/default.nix
index d1645e1fbe7..1b7bd7341eb 100644
--- a/pkgs/development/python-modules/snitun/default.nix
+++ b/pkgs/development/python-modules/snitun/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "NabuCasa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ehafb35H462Ffn6omGh/MDJKQX5qJJZeiIBO3n0IGlA=";
+    hash = "sha256-Ehafb35H462Ffn6omGh/MDJKQX5qJJZeiIBO3n0IGlA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/soco/default.nix b/pkgs/development/python-modules/soco/default.nix
index e79a38d8cf5..50a134df2d2 100644
--- a/pkgs/development/python-modules/soco/default.nix
+++ b/pkgs/development/python-modules/soco/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "soco";
-  version = "0.26.4";
+  version = "0.27.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "SoCo";
     repo = "SoCo";
     rev = "v${version}";
-    hash = "sha256-DoONq6Iqi8t47jtqggKYMHSNJAf/Kha3tszR6mYeB9Y=";
+    hash = "sha256-8U7wfxqen+hgK8j9ooPHCAKvd9kSZicToTyP7XzQFrg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix
index b23f24ca501..5d96f8e1505 100644
--- a/pkgs/development/python-modules/sqlite-utils/default.nix
+++ b/pkgs/development/python-modules/sqlite-utils/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "sqlite-utils";
-  version = "3.25";
+  version = "3.25.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-OKlwuXwXGU2WBauE33SYAuHzvPBhNdwYB3nQo5V2sUI=";
+    sha256 = "sha256-32lfUJoTbkflztLU/BDhbHbuOkW66OGpHLuiyAKFy8k=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sslyze/default.nix b/pkgs/development/python-modules/sslyze/default.nix
index f76ba96a5b8..bc3e2c238c9 100644
--- a/pkgs/development/python-modules/sslyze/default.nix
+++ b/pkgs/development/python-modules/sslyze/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "sslyze";
-  version = "5.0.2";
+  version = "5.0.3";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nabla-c0d3";
     repo = pname;
     rev = version;
-    hash = "sha256-8xtnE5oFxH3wo2Smt65/xGDHxivexN6ggUpyUg42Cjk=";
+    hash = "sha256-d465WJIDsgNAPe8KW5v2KDSgzMH7OPLSiFfFH9n+jiA=";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/stack-data/default.nix b/pkgs/development/python-modules/stack-data/default.nix
index cbbd3a878d7..eb9879a4bf0 100644
--- a/pkgs/development/python-modules/stack-data/default.nix
+++ b/pkgs/development/python-modules/stack-data/default.nix
@@ -1,5 +1,6 @@
 { asttokens
 , buildPythonPackage
+, cython
 , executing
 , fetchFromGitHub
 , git
@@ -15,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "stack-data";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "alexmojaki";
     repo = "stack_data";
     rev = "v${version}";
-    sha256 = "sha256-dRIRDMq0tc1QuBHvppPwJA5PVGHyVRhoBlX5BsdDzec=";
+    sha256 = "sha256-brXFrk1UU5hxCVeRvGK7wzRA0Hoj9fgqoxTIwInPrEc=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -39,6 +40,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    cython
     littleutils
     pygments
     pytestCheckHook
diff --git a/pkgs/development/python-modules/stups-pierone/default.nix b/pkgs/development/python-modules/stups-pierone/default.nix
index f627f0e7231..3df2a3e2895 100644
--- a/pkgs/development/python-modules/stups-pierone/default.nix
+++ b/pkgs/development/python-modules/stups-pierone/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "stups-pierone";
-  version = "1.1.50";
+  version = "1.1.51";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "zalando-stups";
     repo = "pierone-cli";
     rev = version;
-    hash = "sha256-YAoj+Ou0Q64QRN5R0CQSxQGP7xDQQNISS6VT5txV0sw=";
+    hash = "sha256-OypGYHfiFUfcUndylM2N2WfPnfXXJ4gvWypUbltYAYE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/symengine/default.nix b/pkgs/development/python-modules/symengine/default.nix
index c2c22358661..db0f01ae51f 100644
--- a/pkgs/development/python-modules/symengine/default.nix
+++ b/pkgs/development/python-modules/symengine/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "symengine";
-  version = "0.9.0";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "symengine";
     repo = "symengine.py";
     rev = "v${version}";
-    sha256 = "sha256-kz4M4ghR9Mi8Ig5K+pZC4zHt8XxoP3vU4ATImejqbgg=";
+    sha256 = "sha256-ZHplYEG97foy/unOdSokFFkDl4LK5TI4kypHSLpcCM4=";
   };
 
   postConfigure = ''
diff --git a/pkgs/development/python-modules/tatsu/default.nix b/pkgs/development/python-modules/tatsu/default.nix
index 18ab606afdd..b2a719a020b 100644
--- a/pkgs/development/python-modules/tatsu/default.nix
+++ b/pkgs/development/python-modules/tatsu/default.nix
@@ -5,7 +5,7 @@
 
 buildPythonPackage rec {
   pname = "tatsu";
-  version = "5.7.3";
+  version = "5.8.0";
   # upstream only supports 3.10+
   disabled = pythonOlder "3.10";
 
@@ -13,7 +13,7 @@ buildPythonPackage rec {
     owner = "neogeny";
     repo = "TatSu";
     rev = "v${version}";
-    sha256 = "1d6rnlybj971b5j5glvq288hd4r204nkmssqb0k8rm6cqcwhz292";
+    sha256 = "sha256-spTIHiyspjrIV8DKR7YNpNTNO9SlcLOROuABhmu3ckA=";
   };
 
   nativeBuildInputs = [ pytest-runner ];
diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix
index 55bf72aec76..a25c8d23567 100644
--- a/pkgs/development/python-modules/thinc/default.nix
+++ b/pkgs/development/python-modules/thinc/default.nix
@@ -30,14 +30,14 @@
 
 buildPythonPackage rec {
   pname = "thinc";
-  version = "8.0.13";
+  version = "8.0.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-R2YqOuM9RFp3tup7dyREgFx7uomR8SLjUNr3Le3IFxo=";
+    sha256 = "sha256-LjFQINqFw3keGR+/N8SiQz9XzzIuJzgNoM1N6Z2WBTs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/timetagger/default.nix b/pkgs/development/python-modules/timetagger/default.nix
index 1da2887a12f..65b22f905ef 100644
--- a/pkgs/development/python-modules/timetagger/default.nix
+++ b/pkgs/development/python-modules/timetagger/default.nix
@@ -9,13 +9,13 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "timetagger";
-  version = "22.2.3";
+  version = "22.3.1";
 
   src = fetchFromGitHub {
     owner = "almarklein";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tQel+IVqP+MngAvFgr7Yh+XCSIPWpzCBXHOj9b0Os98=";
+    sha256 = "sha256-pHogDjqXuoQp5afSnPvMPaKoBtPE6u3kMi87SzY5yoU=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/development/python-modules/tls-parser/default.nix b/pkgs/development/python-modules/tls-parser/default.nix
index ad35fe50128..a886e116e45 100644
--- a/pkgs/development/python-modules/tls-parser/default.nix
+++ b/pkgs/development/python-modules/tls-parser/default.nix
@@ -7,23 +7,29 @@
 
 buildPythonPackage rec {
   pname = "tls-parser";
-  version = "1.2.2";
+  version = "2.0.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nabla-c0d3";
     repo = "tls_parser";
     rev = version;
-    sha256 = "12qj3vg02r5a51w6gbgb1gcxicqc10lbbsdi57jkkfvbqiindbd0";
+    hash = "sha256-A1lYRe1sHDoOFdF20DP+xRMcPBWzokIXFphIpaBmwBc=";
   };
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "tls_parser" ];
+  pythonImportsCheck = [
+    "tls_parser"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/nabla-c0d3/tls_parser";
     description = "Small library to parse TLS records";
+    homepage = "https://github.com/nabla-c0d3/tls_parser";
     platforms = with platforms; linux ++ darwin;
     license = licenses.mit;
     maintainers = with maintainers; [ veehaitch ];
diff --git a/pkgs/development/python-modules/traitsui/default.nix b/pkgs/development/python-modules/traitsui/default.nix
index d09a855bd32..dc42ba0972f 100644
--- a/pkgs/development/python-modules/traitsui/default.nix
+++ b/pkgs/development/python-modules/traitsui/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "traitsui";
-  version = "7.3.0";
+  version = "7.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ZkSz+PYColdgcC3IchuneM51lFBAk68UpIadI56GdPQ=";
+    hash = "sha256-lHStZ/NF2Wsya0AemgFAXICCyS+kO/R8CwOYGOWHrGk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix
index de28f70bca0..f18b05e1071 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.10.2";
+  version = "3.10.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-PcR84la6ZJjtpjg4WGVUkyZJqVT8Ge7vjk90X6gStAo=";
+    sha256 = "sha256-K2zBEGzagQ6lOWIPkop1YYqB2/KZIj2beUJUu2Garno=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/twentemilieu/default.nix b/pkgs/development/python-modules/twentemilieu/default.nix
index 425b7eddfe9..382e90e14c8 100644
--- a/pkgs/development/python-modules/twentemilieu/default.nix
+++ b/pkgs/development/python-modules/twentemilieu/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "twentemilieu";
-  version = "0.5.0";
+  version = "0.6.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "frenck";
     repo = "python-twentemilieu";
     rev = "v${version}";
-    sha256 = "sha256-7HQ0+h8oiyY+TacQdX84K0r994rH0AMZAvZz8PUvQl0=";
+    sha256 = "sha256-UE7fhbSThXmMns1XfUUQqw0wn5/w/x+UncansIBiank=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/txtorcon/default.nix b/pkgs/development/python-modules/txtorcon/default.nix
index 93c9c95a62e..c5fc7e1c6a4 100644
--- a/pkgs/development/python-modules/txtorcon/default.nix
+++ b/pkgs/development/python-modules/txtorcon/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "txtorcon";
-  version = "21.1.0";
+  version = "22.0.0";
 
   checkInputs = [ pytest mock lsof GeoIP ];
   propagatedBuildInputs = [
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aebf0b9ec6c69a029f6b61fd534e785692e28fdcd2fd003ce3cc132b9393b7d6";
+    sha256 = "sha256-iaG2XjKks2nWfmwWY4f7xGjMXQUidEjSOaXn6XGKoFM=";
   };
 
   # Based on what txtorcon tox.ini will automatically test, allow back as far
diff --git a/pkgs/development/python-modules/typed-ast/default.nix b/pkgs/development/python-modules/typed-ast/default.nix
index c4977ab0829..87116017063 100644
--- a/pkgs/development/python-modules/typed-ast/default.nix
+++ b/pkgs/development/python-modules/typed-ast/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "typed-ast";
-  version = "1.5.1";
+  version = "1.5.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "python";
     repo = "typed_ast";
     rev = version;
-    hash = "sha256-qfXMT+rSf/WcWHpkg4VZXZMYj/5IKQWAKRsxQ0TRzPU=";
+    hash = "sha256-Ul1FIS1a1f8l3tX+m8Bj/LsLQW1sXJv6XzEZ9zh8rfI=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/types-dateutil/default.nix b/pkgs/development/python-modules/types-dateutil/default.nix
index 4614a92ae64..4cefc57ed59 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.9";
+  version = "2.8.10";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-kPlaa21Pq6NZKH8XosrlEczJ1KvImwGWm9rBGFgVwF0=";
+    sha256 = "sha256-a886rnJC5Xk7r9eyvPtOJV63srMUSs0N8OGC3OWMytM=";
   };
 
   pythonImportsCheck = [ "dateutil-stubs" ];
diff --git a/pkgs/development/python-modules/types-freezegun/default.nix b/pkgs/development/python-modules/types-freezegun/default.nix
index 687ddd1b17c..a288a25fe5c 100644
--- a/pkgs/development/python-modules/types-freezegun/default.nix
+++ b/pkgs/development/python-modules/types-freezegun/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-freezegun";
-  version = "1.1.6";
+  version = "1.1.7";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XHCkt0RLjH3SgA4AY9b+chqxEgk5kmT6D3evJT3YsU8=";
+    hash = "sha256-6dEyfpjGyqj2XeABje0nQ0fo40GY1ZqppcJK2SZdXl4=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-paramiko/default.nix b/pkgs/development/python-modules/types-paramiko/default.nix
index f43fc5ed507..5b87e8079a5 100644
--- a/pkgs/development/python-modules/types-paramiko/default.nix
+++ b/pkgs/development/python-modules/types-paramiko/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "types-paramiko";
-  version = "2.8.16";
+  version = "2.8.17";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-HWkCWoa5509G2OHyPFijb5RVORAvE1tQEgL7myxP0SI=";
+    sha256 = "sha256-1toFPkau9cYpvE6lvatWZwhlNerg/P2N6EBpQ7g00uY=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix
index 165c65f3a9e..d28f01b128b 100644
--- a/pkgs/development/python-modules/types-requests/default.nix
+++ b/pkgs/development/python-modules/types-requests/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.27.11";
+  version = "2.27.13";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-an7SSyF4CvSlteJMMQss2IX7YS31/ZVYTQPYfl8qGVo=";
+    sha256 = "sha256-zwZGAx3WMHETs3gU90PATwcHozVzeMK7Eyb4SEEvW6k=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-setuptools/default.nix b/pkgs/development/python-modules/types-setuptools/default.nix
index 46fe7da5d1c..c59baea3c6e 100644
--- a/pkgs/development/python-modules/types-setuptools/default.nix
+++ b/pkgs/development/python-modules/types-setuptools/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-setuptools";
-  version = "57.4.10";
+  version = "57.4.11";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-mhNRNnnGQPZhbi2atQ1DHJnKiumEipckP4h8gP1c8pQ=";
+    sha256 = "sha256-Ji90BuDH1wWta7RSa1t2H6UAv5nqt03oWsNZIYfWKTU=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-urllib3/default.nix b/pkgs/development/python-modules/types-urllib3/default.nix
index 7bffc7826a3..235535ce971 100644
--- a/pkgs/development/python-modules/types-urllib3/default.nix
+++ b/pkgs/development/python-modules/types-urllib3/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-urllib3";
-  version = "1.26.10";
+  version = "1.26.11";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-omiY9TDmw/Q/JbkH8riESGho/9Vqn6qUy/mz624WXWo=";
+    hash = "sha256-JNZORBFohR6wXx0CLeGK4xVY9WScjxEX44TC6F4xMVs=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/unidiff/default.nix b/pkgs/development/python-modules/unidiff/default.nix
index 7dfd5c9d276..4c776070ae6 100644
--- a/pkgs/development/python-modules/unidiff/default.nix
+++ b/pkgs/development/python-modules/unidiff/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "unidiff";
-  version = "0.7.0";
+  version = "0.7.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "91bb13b4969514a400679d9ae5e29a6ffad85346087677f8b5e2e036af817447";
+    sha256 = "sha256-1fLlOpoA2zIkqMNjSbU4Dg4i0a7GxpSxT7lIPuk8YgU=";
   };
 
   pythonImportsCheck = [ "unidiff" ];
diff --git a/pkgs/development/python-modules/volvooncall/default.nix b/pkgs/development/python-modules/volvooncall/default.nix
index 9fe43d16f92..247a192588d 100644
--- a/pkgs/development/python-modules/volvooncall/default.nix
+++ b/pkgs/development/python-modules/volvooncall/default.nix
@@ -5,7 +5,6 @@
 , setuptools
 , geopy
 , docopt
-, pyyaml
 , certifi
 , amqtt
 , websockets
@@ -17,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "volvooncall";
-  version = "0.9.2";
+  version = "0.10.0";
 
   disabled = pythonOlder "3.8";
 
@@ -27,24 +26,30 @@ buildPythonPackage rec {
     owner = "molobrakos";
     repo = "volvooncall";
     rev = "v${version}";
-    hash = "sha256-OTs282z7qzILl/xxM3whaxiQr8FZOfgceO2EY3NJKbA=";
+    hash = "sha256-HLSanXJs1yPSgYo4oX0zJtrV5sKkxV2yLPhc2dVRHY8=";
   };
 
   propagatedBuildInputs = [
-    geopy
-    docopt
-    pyyaml
-    certifi
-    amqtt
-    websockets
     aiohttp
   ];
 
+  passthru.extras-require = {
+    console = [
+      certifi
+      docopt
+      geopy
+    ];
+    mqtt = [
+      amqtt
+      certifi
+    ];
+  };
+
   checkInputs = [
-    pytestCheckHook
     asynctest
     pytest-asyncio
-  ];
+    pytestCheckHook
+  ] ++ passthru.extras-require.mqtt;
 
   pythonImportsCheck = [ "volvooncall" ];
 
diff --git a/pkgs/development/python-modules/vt-py/default.nix b/pkgs/development/python-modules/vt-py/default.nix
index 2d0988473dd..8228047d9ce 100644
--- a/pkgs/development/python-modules/vt-py/default.nix
+++ b/pkgs/development/python-modules/vt-py/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "vt-py";
-  version = "0.13.1";
+  version = "0.14.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "VirusTotal";
     repo = pname;
     rev = version;
-    sha256 = "sha256-85ohhynXHWjuwKB18DciB48tNGZcHzafobMDaGoTkoc=";
+    sha256 = "sha256-901VW56vr6ysMlzspgVbPMLnDIpJRgSEOEQ8ohHp+mc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/wled/default.nix b/pkgs/development/python-modules/wled/default.nix
index 3b88afa7e65..3bd0d5b55b9 100644
--- a/pkgs/development/python-modules/wled/default.nix
+++ b/pkgs/development/python-modules/wled/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "wled";
-  version = "0.13.0";
+  version = "0.13.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "frenck";
     repo = "python-wled";
     rev = "v${version}";
-    sha256 = "sha256-n+TIzlnyPeSywTQr7wlGNezsbQ2+S/WYt1H95+Id2Rw=";
+    sha256 = "sha256-QQPrAfk+BX8mjqn9ISim9hLEZR2nbgxbkwCv+91yeRY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/xmltodict/default.nix b/pkgs/development/python-modules/xmltodict/default.nix
index 790aaec3ce3..13cc5b89c2a 100644
--- a/pkgs/development/python-modules/xmltodict/default.nix
+++ b/pkgs/development/python-modules/xmltodict/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , coverage
-, nose
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -14,11 +14,13 @@ buildPythonPackage rec {
     sha256 = "50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21";
   };
 
-  checkInputs = [ coverage nose ];
+  checkInputs = [ coverage pytestCheckHook ];
 
-  checkPhase = ''
-    nosetests
-  '';
+  disabledTests = [
+    # incompatibilities with security fixes: https://github.com/martinblech/xmltodict/issues/289
+    "test_namespace_collapse"
+    "test_namespace_support"
+  ];
 
   meta = {
     description = "Makes working with XML feel like you are working with JSON";
diff --git a/pkgs/development/python-modules/yalexs/default.nix b/pkgs/development/python-modules/yalexs/default.nix
index 22440766fd0..2eb38dd0784 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.22";
+  version = "1.1.23";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qtJSGvvYcdGYUUHnRnKe+z+twFqLGAn1Zl47F4CGnvc=";
+    sha256 = "sha256-CnAVkwCOADBNY0cUvq9Dt6JR+fIr4LiZVMzJIIFqzG0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 171e838fa32..5f4203634ac 100644
--- a/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.35.1";
+  version = "0.35.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WmpXQttcQ3Z/SFkNPfmvPWPGzWectQBoI9+bL2QYeaY=";
+    sha256 = "sha256-Bte4pAi+atdkMvxYlzdN/UOrHB2WKfl44U9m/vKFMoA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/tools/analysis/actionlint/default.nix b/pkgs/development/tools/analysis/actionlint/default.nix
index 602f6815fb9..68112b01cfb 100644
--- a/pkgs/development/tools/analysis/actionlint/default.nix
+++ b/pkgs/development/tools/analysis/actionlint/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "actionlint";
-  version = "1.6.9";
+  version = "1.6.10";
 
   subPackages = [ "cmd/actionlint" ];
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "rhysd";
     repo = "actionlint";
     rev = "v${version}";
-    sha256 = "sha256-UDa/qFtRTED6d+lPbjNknX9qFZ3QZ9jiD0ByvLsGARk=";
+    sha256 = "sha256-RFsNJiCeSAeEWOUnfBpeIZKoS2mlXazYMQd1M6yFLGU=";
   };
 
-  vendorSha256 = "sha256-0tytdTZxnWYl8AxaquF0ArY3dy51j8H2kzw69qcSHzk=";
+  vendorSha256 = "sha256-CxNER8aQftMG14M+x6bPwcXgUZRkUDYZtFg1cPxxg+I=";
 
   nativeBuildInputs = [ ronn installShellFiles ];
 
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 49c999b00bf..a09d8ba3242 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.936";
+  version = "2.0.971";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    hash = "sha256-erpVJTnWUfoY4Ymdf7fZyri2NGAYs0NF+r3DMFFYURM=";
+    hash = "sha256-4iY0/pCU7ezf2llSNxnUB/Sky+salpEC6N80C2Pbt6k=";
   };
 
   nativeBuildInputs = with py.pkgs; [
@@ -53,6 +53,7 @@ buildPythonApplication rec {
     bc-python-hcl2
     boto3
     cachetools
+    charset-normalizer
     cloudsplaining
     colorama
     configargparse
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 36c85285704..6ef9806bf37 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.172.0";
+  version = "0.173.0";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "sha256-N3mP1dhul7Ljn278CJmge4IrVllQJsc73A3/7mTSU70=";
+    sha256 = "sha256-F0t85/sq9p+eNEf2XAGxw+ZWeRgUbkhrKFdGASijuAs=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix b/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
index 44e8b9e4414..a133526514f 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "bazel-remote";
-  version = "2.3.4";
+  version = "2.3.6";
 
   src = fetchFromGitHub {
     owner = "buchgr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ijR3RjGzm0HtVp5lSKGJemCGkRzhgQqaDOgg+MjDB1c=";
+    sha256 = "sha256-geb7uHCBvhmqyaDr8wK9sQUcHT3xVgSclovFDpHhIiw=";
   };
 
-  vendorSha256 = "sha256-NmTdS5xgv0o7AT4lBJk472Lq1e73EcrcfnI8RIxKEoc=";
+  vendorSha256 = "sha256-wXgW7HigMIeUZAcZpm5TH9thfCHmpz+M42toWHgwIYo=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/build-managers/rocm-cmake/default.nix b/pkgs/development/tools/build-managers/rocm-cmake/default.nix
index 6c366be8b42..f6d5de34893 100644
--- a/pkgs/development/tools/build-managers/rocm-cmake/default.nix
+++ b/pkgs/development/tools/build-managers/rocm-cmake/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-cmake";
-  version = "4.5.2";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "rocm-cmake";
     rev = "rocm-${version}";
-    hash = "sha256-5RwhIIOtqeMl/Gyufl5U1gTEpoCjdPJP5MbVnhEKYMM=";
+    hash = "sha256-4PtLe864MQ9wUn+l1fshiiTQvP06ewD39TDYZl70Hgg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix
index 759c9f68159..26770276372 100644
--- a/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -3,14 +3,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt-extras";
-  rev = "8ccccd8a1d7efa097b7f30e0ec76e39b3aa0f3df";
-  version = "2021-11-08";
+  rev = "ef403f4ce126441f126dfc61ca6357a7b42539af";
+  version = "2022-02-01";
 
   src = fetchFromGitHub {
     owner = "paulp";
     repo = "sbt-extras";
     inherit rev;
-    sha256 = "376yaucqzoe36VKaJmCz+5vQHc+KNQG4iamAdOb/YQU=";
+    sha256 = "G7nR2wV0Wv019bCA+ecfYhmFh/DDHFjihKGFKNQ5dgM=";
   };
 
   dontBuild = true;
diff --git a/pkgs/development/tools/buildkit/default.nix b/pkgs/development/tools/buildkit/default.nix
index b9ae4e4dd88..df644935cf1 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.9.3";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "moby";
     repo = "buildkit";
     rev = "v${version}";
-    sha256 = "sha256-xjuHMjJjA4sx2Hrr6tPpvKtSmhGZ3AZka733DLxmYfk=";
+    sha256 = "sha256-Pdnu0zG1LteAob0YUuG/XDh2pfBj5UO2GrkWFlMZeGY=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix
index 9a48ecb1f58..0a369bd5f03 100644
--- a/pkgs/development/tools/clj-kondo/default.nix
+++ b/pkgs/development/tools/clj-kondo/default.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "clj-kondo";
-  version = "2022.03.04";
+  version = "2022.03.09";
 
   src = fetchurl {
     url = "https://github.com/clj-kondo/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-x/mDyWYxWR5H894n+BCBaxgRLQLPgVCip59nOUbavpk=";
+    sha256 = "sha256-gPn3wORb30I/zTXUdxUxMesKFJx6ES7jEjUYuC/DAVI=";
   };
 
   extraNativeImageBuildArgs = [
diff --git a/pkgs/development/tools/cloud-nuke/default.nix b/pkgs/development/tools/cloud-nuke/default.nix
index 4fa198f32c0..f1f44a57775 100644
--- a/pkgs/development/tools/cloud-nuke/default.nix
+++ b/pkgs/development/tools/cloud-nuke/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cloud-nuke";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-y1YpPYTejeZjz4nJmyAPT8rYaEguaJpBfAAfF38dpA4=";
+    sha256 = "sha256-G1RQEKb3vK8lg0jakCtIMgQXmWqfsq0QWHwU8TAbBbE=";
   };
 
   vendorSha256 = "sha256-McCbogZvgm9pnVjay9O2CxAh+653JnDMcU4CHD0PTPI=";
diff --git a/pkgs/development/tools/continuous-integration/fly/default.nix b/pkgs/development/tools/continuous-integration/fly/default.nix
index f2136346c1f..f02a6cf8762 100644
--- a/pkgs/development/tools/continuous-integration/fly/default.nix
+++ b/pkgs/development/tools/continuous-integration/fly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fly";
-  version = "7.6.0";
+  version = "7.7.0";
 
   src = fetchFromGitHub {
     owner = "concourse";
     repo = "concourse";
     rev = "v${version}";
-    sha256 = "sha256-Zi+gyO+2AKDgcfgYrzLskJYZ6hQKOVlOL7Y9nxH/pGg=";
+    sha256 = "sha256-BKEUKQQxZ+Maq2JSHeWuQ7Lhgfc33pSiVS6VfAlMu/g=";
   };
 
-  vendorSha256 = "sha256-OF3parnlTPmcr7tVcc6495sUMRApSpBHHjSE/4EFIxE=";
+  vendorSha256 = "sha256-G9HdhPi4iezUR6SIVYnjL0fznOfiusY4T9ClLPr1w5c=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 2b61d377e9f..9c87c5f08f4 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.319.3";
+  version = "2.332.1";
 
   src = fetchurl {
     url = "http://get.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "sha256-c92Rs5W89i/iXm0wdHZfFRDJ5YTswen69EBRBkGBtDQ=";
+    sha256 = "0xrrqdwfz19mr4wl4sdzk0qnq9rjdh65vd1386qsn6a4axwv652s";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/database/litestream/default.nix b/pkgs/development/tools/database/litestream/default.nix
index 6a7e53e6cf2..00e541efc0d 100644
--- a/pkgs/development/tools/database/litestream/default.nix
+++ b/pkgs/development/tools/database/litestream/default.nix
@@ -4,13 +4,13 @@
 }:
 buildGoModule rec {
   pname = "litestream";
-  version = "0.3.7";
+  version = "0.3.8";
 
   src = fetchFromGitHub {
     owner = "benbjohnson";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IEdTLf+fEp19FhwL3IaGT9HGKQoa6HwFox2gf0lvFu4=";
+    sha256 = "sha256-0Yyx8kbpu3T868hI9tJkBIjplAoQDA4XzhraHhOp61Q=";
   };
 
   ldflags = [
@@ -19,7 +19,7 @@ buildGoModule rec {
     "-X main.Version=${version}"
   ];
 
-  vendorSha256 = "sha256-ScG8cukUuChOvN9r0HvVJsYnu1X9DSO7aD32iu55jIM=";
+  vendorSha256 = "sha256-zCz9dki87dpZCo+/KuFzwtv/0TlBcvQDTxTuLN2FiHY=";
 
   meta = with lib; {
     description = "Streaming replication for SQLite";
diff --git a/pkgs/development/tools/database/prisma-engines/default.nix b/pkgs/development/tools/database/prisma-engines/default.nix
index 48456166b92..18614291d58 100644
--- a/pkgs/development/tools/database/prisma-engines/default.nix
+++ b/pkgs/development/tools/database/prisma-engines/default.nix
@@ -10,19 +10,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "prisma-engines";
-  version = "3.10.0";
+  version = "3.11.0";
 
   src = fetchFromGitHub {
     owner = "prisma";
     repo = "prisma-engines";
     rev = version;
-    sha256 = "sha256-0m0RjIasEGB9QxZc7wKCMLnxHXkSlvCDA2QWa87mRRs=";
+    sha256 = "sha256-z7ebwidY+p350XaGeyohoSHWc2DhfzpRxsRDLON1BuA=";
   };
 
   # Use system openssl.
   OPENSSL_NO_VENDOR = 1;
 
-  cargoSha256 = "sha256-KNQa+wLLl4abz48QKYkWu7A+FTGIyB+1EWAnLuWpJwc=";
+  cargoSha256 = "sha256-PQdLoNJL9szPzPtFRznWS0lngTvtWK+Ko2rp4JWH9dQ=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix
index 82b7ea8ea95..4ecb24d3712 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.11.0";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    hash = "sha256-Cem53w/pzSDTi9A9mh9VeLlRn1m6KhkxWaqJjEtfwUs=";
+    hash = "sha256-wd/tuFOoWhts/i+FCNVXmREUHAsh6hYOUowCyZjg92Y=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/delve/default.nix b/pkgs/development/tools/delve/default.nix
index 9681bfe75bd..478ef3b6fc6 100644
--- a/pkgs/development/tools/delve/default.nix
+++ b/pkgs/development/tools/delve/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "delve";
-  version = "1.8.1";
+  version = "1.8.2";
 
   goPackagePath = "github.com/go-delve/delve";
   excludedPackages = "\\(_fixtures\\|scripts\\|service/test\\)";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "go-delve";
     repo = "delve";
     rev = "v${version}";
-    sha256 = "sha256-GIwu3G8cy2xKqFzN/7d/mbpS+5oGJa3QexoELlEwWRA=";
+    sha256 = "sha256-rW3uKf5T+ZCjZxVuSFWWXw0mhAW9Y9L83xtU98JTuik=";
   };
 
   subPackages = [ "cmd/dlv" ];
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index 3bcd0d6777d..0e88e1c4926 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "doctl";
-  version = "1.70.0";
+  version = "1.71.0";
 
   vendorSha256 = null;
 
@@ -31,7 +31,7 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     rev = "v${version}";
-    sha256 = "sha256-oLcWVUP9A/tcJYKiaBrqAdyNKESaVFOaNiG/fAVQb2c=";
+    sha256 = "sha256-cj2+DmJyLa6kFkH9JflaR3yFFXBaVZHO6czJGLEH7L0=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/efm-langserver/default.nix b/pkgs/development/tools/efm-langserver/default.nix
index 96a8d694e77..29304d7d265 100644
--- a/pkgs/development/tools/efm-langserver/default.nix
+++ b/pkgs/development/tools/efm-langserver/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "efm-langserver";
-  version = "0.0.40";
+  version = "0.0.41";
 
   src = fetchFromGitHub {
     owner = "mattn";
     repo = "efm-langserver";
     rev = "v${version}";
-    sha256 = "sha256-0C7iSWO7zzOhPgzxj9k2MK6poi4XaCbMjTGah3ohVJg=";
+    sha256 = "sha256-0s6GmMbjtXGUcChzc8Pkqvmt3iU5uDUqe76OUDngboU=";
   };
 
   vendorSha256 = "sha256-tca+1SRrFyvU8ttHmfMFiGXd1A8rQSEWm1Mc2qp0EfI=";
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index 655ad71e7b2..24dc8614b29 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -73,43 +73,43 @@ rec {
     headers = "0vvizddmhprprbdf6bklasz6amwc254bpc9j0zlx23d1pgyxpnhc";
   };
 
-  electron_14 = mkElectron "14.2.6" {
-    armv7l-linux = "fd115652f491fff6a28bf39dc41e3c7f1b638e7dcc7856c33b6a97c7763ea9a3";
-    aarch64-linux = "530df3030aeb2c0f67ba4bc210c0f0fe77670001d2ba30ad6858f74952528df2";
-    x86_64-linux = "c3f91ced7e429079d43c182f47cea1eceef17ab65c390e15f9c6af56e58ed3d9";
-    i686-linux = "d66881d0747c99618c500b46e044eb4e97442400624fbcf9a6af114743e6e8db";
-    x86_64-darwin = "15db43c17a33bf9e31f66f5025e0810dfbd2b237f7645eda51409de7930cc9d1";
-    aarch64-darwin = "a5f7b8cc5f6dfc7561368d2f09745967bb553a29a22ef74af8f795225483338a";
-    headers = "0rxbij6qvi0xzcmbxf3fm1snvakaxp9c512z9ni36y98sgg4s3l8";
+  electron_14 = mkElectron "14.2.7" {
+    armv7l-linux = "bb0c25671daa0dc235e212831d62f18b9a7f2692279bcd8e4a15f2d84ee7124d";
+    aarch64-linux = "149c5df2cf98ee0a2ce5445b3fb00752f42c3f7ab9677b7a54ba01fba2e2f4ec";
+    x86_64-linux = "ad80f424e8d8d79f0be078d8a1ddef8fd659fa3dd8aaf6704ab97f2a13489558";
+    i686-linux = "82b29272cb52dbe969c0bd6cf9b69896c86abe1d9ef473a3844c0ab3dc92b353";
+    x86_64-darwin = "2a5d8336dcd140158964801d482344756377d924a06e6605959034a41f7e026b";
+    aarch64-darwin = "b45869ff61bdf392bca498529b6445d47a784079f6a33af6b19d517953f03fd8";
+    headers = "0339fs3iyp869xi1xmn9z2b1n32wf408cc0z9bz6shns44ymkyhd";
   };
 
-  electron_15 = mkElectron "15.4.0" {
-    armv7l-linux = "40c073a3b416f83264327bdf5e33b334ffcd56a729ef237360d66f520f670d16";
-    aarch64-linux = "ef18ba74b4fa34a26f9ee819bb908c60d0dd9ec2048414629979760f262d72f8";
-    x86_64-linux = "5bdea4cbf5559491e9ad9f365fa6f7ec26603fd6f68bfa8848f2884ebd51662d";
-    i686-linux = "636d0e28bb20ca127c9b8722fe39e7e7d95fc63bd15b156b7af563296b3d9595";
-    x86_64-darwin = "8a132b2be0f27c7e8fa9a91a8b4b0fcdf3ec571c721cb5f5610dc8a6b3f0fd26";
-    aarch64-darwin = "82b29c37a427464a9278d617435ca19f472b00689c9e58163e99f30b90f33046";
-    headers = "0fc1sck7g160klpqzfcqv9zc45ia914mrncyma58zzcbzpk6k6yb";
+  electron_15 = mkElectron "15.4.1" {
+    armv7l-linux = "e0fe5daed46a5d718b3209fa301aea743df694daf6605f9313f4ca6c70fe5167";
+    aarch64-linux = "fa108edd4c146811bdee842fcd278b046ae0ff157de5e072c3ff3ac0bcb310c2";
+    x86_64-linux = "867095924d434b3918df8576e7af94fecea4d29461fcfb69c40161f02158ff15";
+    i686-linux = "8e79fa9f4125f254abb437445fed8f3f8ec10dd2462e1ced3e7df49c622e087d";
+    x86_64-darwin = "899d16a0e0157809c297ceb3710c53441ec4396333d9ad5b65297446874e14dc";
+    aarch64-darwin = "8295bf45dab1131dfdfd15654a0b1d85bfae221052ba64353368a2c0faaaa3ff";
+    headers = "073697wjq60cnz42xmnjsr0xqcmcsl4m48mmzrz1rxrc8mvi86gr";
   };
 
-  electron_16 = mkElectron "16.0.10" {
-    armv7l-linux = "1a72fe59011cfcc1f376f2948dd5a70d2f75d6c12fb682a0246d2e596227b5e0";
-    aarch64-linux = "46cd1393816364a666ead410505bce4b51d68ce872446a71d16886b88c4b275a";
-    x86_64-linux = "3b4779e41e27200ce5fa94d20f9df05ff5c757be6805eb0e8952fe198d66f324";
-    i686-linux = "9e1426a8135d3fe195ba9fc1a5ea5ad4d5ce96bd513691897b39106698e3c3c8";
-    x86_64-darwin = "00b0222efa67fbb29f723fabebc4221646ebd6d5fdc09524df9a203f63ce660c";
-    aarch64-darwin = "1203f6ec4e8b97312254ceb122ca4399f39ae67bfe1636e426a798c89ec2a9ee";
-    headers = "10f6px88vg6napyhniczi6l660qs4l5mm0b9gdlds4i1y94s1zrl";
+  electron_16 = mkElectron "16.1.0" {
+    armv7l-linux = "f3ab34c73b4100ffc5041ed9aa0608d1dc6b98fe3c2caa14be3d5c3ffbebda76";
+    aarch64-linux = "e80a7e4a59b94c7cd02b16ca37a2b0f26ddb58ddac23135c6180b238589f1c62";
+    x86_64-linux = "36c79af4d05e89ef9c9616a156f63adc5b453ee6bee5d8f4331e75ee77198e85";
+    i686-linux = "7129a96fc33de70cfe5d6d0e17ecff1b4dcf52d825a6ad05b10ca67da7b43665";
+    x86_64-darwin = "723859249e959948cdd339acf708022fb0195b433809af25b4a9f4d69b9da52f";
+    aarch64-darwin = "e76558028979f70107e5b1897275a9789be20b13991bfbcebeab7fc220f15764";
+    headers = "0yv9rssrfi0hdzrjf1n735dsz9sgy78jzxdcf9is2387yrr1qiyz";
   };
 
-  electron_17 = mkElectron "17.1.0" {
-    armv7l-linux = "09d92195821aad4ac03fbc858287a7372b6aa059081bb825d267853ee1b0425d";
-    aarch64-linux = "6a34d6802d44a391902f53baf0adc8b819d33e7c31b34614757b17b3223c9d1e";
-    x86_64-linux = "106ec28a5969366c1e1f642cc33ac41950c68bd182db23b04d7ac6886bfe28e8";
-    i686-linux = "19fe206be07a6df7f9f0ecdb411e3cafd3a53618edb19cc6adc77156f698444e";
-    x86_64-darwin = "bd80d6b0b62c9bec195d264aa21a255f4324a8b56849e04972c1fcc262757c31";
-    aarch64-darwin = "83fe2fc24976d09a0e0fcc3a60226f190cf9b67287fe4434d3d76d59fa45315c";
-    headers = "1zv1pigfbis1bsan28wx3bgkdwjc48pjq19wmxs73kd1khsy6w8r";
+  electron_17 = mkElectron "17.1.2" {
+    armv7l-linux = "b561c04c9fa8c512f418ea5c32f5526732e1ccd150ee4830a0091d0fa1b7e31c";
+    aarch64-linux = "cda7e66c6672def9edd881107c28e2eec09b7802a38227ac89bb233191ce4840";
+    x86_64-linux = "7e7c35e8c1a0fc451e7af19fa73264881ae2c4672c52a2ae1cdd61604650ca94";
+    i686-linux = "de87a7952c93c1d8e8c533a700bbfc76d3893e9ad438413507d11450b80a9c97";
+    x86_64-darwin = "d4382d3f01b750676a1f3c9e2273ad69cac16dc64a4145469c663bcda8d2471b";
+    aarch64-darwin = "135dec87211fcefdb53ab1fef13344c7b71a321f7c4f6846f260c1e0848e73bf";
+    headers = "15k234d044lgmc3psyxz9syy9wvzgn54znklak9sv6gcajjzll10";
   };
 }
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index f7335a8ef8d..3d136a62f52 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.14.25";
+  version = "0.14.27";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-95xVQU1AWIDvMlWJpB54RxGoOtZtaUlyfmfdcKERe6Y=";
+    sha256 = "sha256-h5PodIFzqD0hJb89eGxMJN6uvrF2exOHJYk+Wmwvso8=";
   };
 
   vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
diff --git a/pkgs/development/tools/evans/default.nix b/pkgs/development/tools/evans/default.nix
index 29dadf24304..95e0839f46b 100644
--- a/pkgs/development/tools/evans/default.nix
+++ b/pkgs/development/tools/evans/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "evans";
-  version = "0.10.2";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "ktr0731";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-F9URMwQaSAQZaiZ95rDZqe8+YcJ9aMInSTIgQ7JLyOw=";
+    sha256 = "sha256-4KHJodqmx03uQ+HJBWmKbIBvkLh80N4fHnYL4GLciNc=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-ICGnjI9sFwt81rZCnap/rggfSs4+pZNmLouoTY7CYKw=";
+  vendorSha256 = "sha256-to75gON3Kl0GHgVhhrW8I6GWOg9/KrUts3rwDLAfFnM=";
 
   meta = with lib; {
     description = "More expressive universal gRPC client";
diff --git a/pkgs/development/tools/gomodifytags/default.nix b/pkgs/development/tools/gomodifytags/default.nix
index 254113f2106..7a4070d96d6 100644
--- a/pkgs/development/tools/gomodifytags/default.nix
+++ b/pkgs/development/tools/gomodifytags/default.nix
@@ -2,19 +2,17 @@
 
 buildGoModule rec {
   pname = "gomodifytags";
-  version = "1.6.0";
-
-  vendorSha256 = null;
-
-  doCheck = false;
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "fatih";
     repo = "gomodifytags";
     rev = "v${version}";
-    sha256 = "1wmzl5sk5mc46njzn86007sqyyv6han058ppiw536qyhk88rzazq";
+    sha256 = "1yhkn9mdvsn9i5v03c5smz32zlhkylnxhkcbjb7llafxzbhzgfm6";
   };
 
+  vendorSha256 = "sha256-8efqJfu+gtoFbhdlDZfb8NsXV9hBDI2pvAQNH18VVhU=";
+
   meta = {
     description = "Go tool to modify struct field tags";
     homepage = "https://github.com/fatih/gomodifytags";
diff --git a/pkgs/development/tools/jp/default.nix b/pkgs/development/tools/jp/default.nix
index f1f5b37c10d..ba78a4ce6bc 100644
--- a/pkgs/development/tools/jp/default.nix
+++ b/pkgs/development/tools/jp/default.nix
@@ -1,18 +1,18 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "jp";
-  version = "0.1.3";
-  rev = version;
-
-  goPackagePath = "github.com/jmespath/jp";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
-    inherit rev;
+    rev = version;
     owner = "jmespath";
     repo = "jp";
-    sha256 = "0fdbnihbd0kq56am3bmh2zrfk4fqjslcbm48malbgmpqw3a5nvpi";
+    hash = "sha256-a3WvLAdUZk+Y+L+opPDMBvdN5x5B6nAi/lL8JHJG/gY=";
   };
+
+  vendorSha256 = "sha256-K6ZNtART7tcVBH5myV6vKrKWfnwK8yTa6/KK4QLyr00=";
+
   meta = with lib; {
     description = "A command line interface to the JMESPath expression language for JSON";
     homepage = "https://github.com/jmespath/jp";
diff --git a/pkgs/development/tools/jql/default.nix b/pkgs/development/tools/jql/default.nix
index 732175edab9..7607b1307f4 100644
--- a/pkgs/development/tools/jql/default.nix
+++ b/pkgs/development/tools/jql/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jql";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchFromGitHub {
     owner = "yamafaktory";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-CntAxOsAaKkCvQanLZ4d99VEGrbsVM+IYOhUuimvjlA=";
+    sha256 = "sha256-UC+1I87PPDuu+/A5zO2Q/Z5KbO/5jHuxsJ0r7a+uDLM=";
   };
 
-  cargoSha256 = "sha256-mzHLAmm0wvF35ku+wg6QG/pKwIFjb22fOtBmMhgC0Ik=";
+  cargoSha256 = "sha256-0ezrcploLboYExcRzNnKj/vWgbJuBhteWi/Imlr4Wsg=";
 
   meta = with lib; {
     description = "A JSON Query Language CLI tool built with Rust";
diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix
index 050b971af94..29694c08ed8 100644
--- a/pkgs/development/tools/just/default.nix
+++ b/pkgs/development/tools/just/default.nix
@@ -1,17 +1,25 @@
-{ lib, fetchFromGitHub, stdenv, rustPlatform, coreutils, bash, installShellFiles, libiconv }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, coreutils
+, bash
+, installShellFiles
+, libiconv
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ssc6djhSk0xV4jdlTmehWX6UMBPAuebtYlzWRZ/32mM=";
+    sha256 = "sha256-hbBAbk0n80BbbIx81427bRz4x6enBsxJ0bHJKww44oc=";
   };
 
-  cargoSha256 = "sha256-ynYK37nCfIiy1CHBEQ/vMHOAPY/pp/lF/tSl9MJD7fY=";
+  cargoSha256 = "sha256-lZyFoOCWUE2ahU/lS+bIdrZXNm/sFEfLsQm1BxREg5w=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/pkgs/development/tools/k6/default.nix b/pkgs/development/tools/k6/default.nix
index d50062e4bdb..66ff4a8b2df 100644
--- a/pkgs/development/tools/k6/default.nix
+++ b/pkgs/development/tools/k6/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "k6";
-  version = "0.36.0";
+  version = "0.37.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yWEh0sPMGe6mNcLKhbmJEUCHzZKFGMcTRNQrHgiQ+BQ=";
+    sha256 = "sha256-5pxOg+pwa2VrEWinDadx2ZFYXiQgochbU4bCkJEezQw=";
   };
 
   subPackages = [ "./" ];
diff --git a/pkgs/development/tools/kcli/default.nix b/pkgs/development/tools/kcli/default.nix
index 8f0aecba34d..fc604a68cee 100644
--- a/pkgs/development/tools/kcli/default.nix
+++ b/pkgs/development/tools/kcli/default.nix
@@ -13,8 +13,6 @@ buildGoModule rec {
 
   vendorSha256 = "0zj2hls8m0l9xsfv680wiwq1g2qjdjslv2yx3yd4rzxdsv2wz09a";
 
-  doCheck = false;
-
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/kustomize/kustomize-sops.nix b/pkgs/development/tools/kustomize/kustomize-sops.nix
index 04024dc3acf..4b5e6d8bb38 100644
--- a/pkgs/development/tools/kustomize/kustomize-sops.nix
+++ b/pkgs/development/tools/kustomize/kustomize-sops.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kustomize-sops";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "viaduct-ai";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZCEgv+2WC1XLDFdRtigkiWu81zLMHvmB8vvIBWN2UYY=";
+    sha256 = "sha256-6mLfMbYbdsjWHpfUHP3Q5nsqdMXo/82+A9PV8xWZBM0=";
   };
 
-  vendorSha256 = "sha256-LFa0s2FBkw97P0CV+9JBmUAjaKVO+RzCX+iWGPUD9iA=";
+  vendorSha256 = "sha256-aRS+MwME72qIMyhnnIRqmrx5hcQ1V0pLIBJqSoR+Fkk=";
 
   installPhase = ''
     mkdir -p $out/lib/viaduct.ai/v1/ksops-exec/
diff --git a/pkgs/development/tools/misc/autoconf/2.13.nix b/pkgs/development/tools/misc/autoconf/2.13.nix
index dc36028332f..4ff990ca0ed 100644
--- a/pkgs/development/tools/misc/autoconf/2.13.nix
+++ b/pkgs/development/tools/misc/autoconf/2.13.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, m4, perl, xz }:
+{ lib, stdenv, fetchurl, m4, perl }:
 
 stdenv.mkDerivation rec {
   pname = "autoconf";
@@ -9,7 +9,6 @@ stdenv.mkDerivation rec {
     sha256 = "07krzl4czczdsgzrrw9fiqx35xcf32naf751khg821g5pqv12qgh";
   };
 
-  nativebuildInputs = [ xz ];
   buildInputs = [ m4 perl ];
 
   doCheck = true;
diff --git a/pkgs/development/tools/misc/ctags/default.nix b/pkgs/development/tools/misc/ctags/default.nix
index fde7307b27d..dc6ee481523 100644
--- a/pkgs/development/tools/misc/ctags/default.nix
+++ b/pkgs/development/tools/misc/ctags/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchsvn, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "ctags-${revision}";
-  revision = "816";
+  pname = "ctags";
+  version = "816";
 
   src = fetchsvn {
     url = "https://svn.code.sf.net/p/ctags/code/trunk";
-    rev = revision;
+    rev = version;
     sha256 = "0jmbkrmscbl64j71qffcc39x005jrmphx8kirs1g2ws44wil39hf";
   };
 
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index c173b96f6eb..5bb5bc0652f 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -27,11 +27,11 @@ assert pythonSupport -> python3 != null;
 
 stdenv.mkDerivation rec {
   pname = targetPrefix + basename;
-  version = "11.1";
+  version = "11.2";
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}-${version}.tar.xz";
-    sha256 = "151z6d0265hv9cgx9zqqa4bd6vbp20hrljhd6bxl7lr0gd0crkyc";
+    hash = "sha256-FJfDanGIG4ZxqahKDuQPqreIyjDXuhnYRjw8x4cVLjI=";
   };
 
   postPatch = if stdenv.isDarwin then ''
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index 4521eee95a2..f7d1667dfa2 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "help2man";
-  version = "1.48.5";
+  version = "1.49.1";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-ZznkyqQuau0zmb5Dh8p5OZZAlnM06RcohjuOqpIlgr4=";
+    sha256 = "sha256-/ZmmZOxL6ahqDdiXGZifFPNnqcB5110OHXHhinu1GwM=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/tools/misc/sipp/default.nix b/pkgs/development/tools/misc/sipp/default.nix
index 22bf244662b..0d5ceba1253 100644
--- a/pkgs/development/tools/misc/sipp/default.nix
+++ b/pkgs/development/tools/misc/sipp/default.nix
@@ -1,29 +1,29 @@
-{lib, stdenv, fetchurl, ncurses, libpcap }:
+{ lib, stdenv, fetchurl, ncurses, libpcap, cmake, openssl, git, lksctp-tools }:
 
 stdenv.mkDerivation rec {
-  version = "3.6.0";
-
+  version = "3.6.1";
   pname = "sipp";
 
   src = fetchurl {
     url = "https://github.com/SIPp/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "1fx1iy2n0m2kr91n1ii30frbscq375k3lqihdgvrqxn0zq8pnzp4";
+    sha256 = "sha256-alYOg6/5gvMx3byt+zvVMMWJbNW3V91utoITPMhg7LE=";
   };
 
   postPatch = ''
-    sed -i "s@pcap/\(.*\).pcap@$out/share/pcap/\1.pcap@g" src/scenario.cpp
+    cp version.h src/version.h
   '';
 
-  configureFlags = [
-    "--with-pcap"
+  cmakeFlags = [
+    "-DUSE_GSL=1"
+    "-DUSE_PCAP=1"
+    "-DUSE_SSL=1"
+    "-DUSE_SCTP=${if stdenv.isLinux then "1" else "0"}"
   ];
+  enableParallelBuilding = true;
 
-  postInstall = ''
-    mkdir -pv $out/share/pcap
-    cp pcap/* $out/share/pcap
-  '';
-
-  buildInputs = [ncurses libpcap];
+  nativeBuildInputs = [ cmake git ];
+  buildInputs = [ ncurses libpcap openssl ]
+    ++ lib.optional (stdenv.isLinux) lksctp-tools;
 
   meta = with lib; {
     homepage = "http://sipp.sf.net";
@@ -32,4 +32,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix
index 00bcd3a5f12..db1c13da2f9 100644
--- a/pkgs/development/tools/mold/default.nix
+++ b/pkgs/development/tools/mold/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mold";
-  version = "1.1";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "rui314";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+uIP/U7H9P7oy78TL1edX9+JNYUzpwro105PYj3D6Yk=";
+    sha256 = "sha256-+uPVt3w3A25JFyENxqhAcjZMRzSowi2uHwGjkeQP8Og=";
   };
 
   buildInputs = [ zlib openssl ];
diff --git a/pkgs/development/tools/ocaml/dune/3.nix b/pkgs/development/tools/ocaml/dune/3.nix
index 59ea9c43512..f6f45944a81 100644
--- a/pkgs/development/tools/ocaml/dune/3.nix
+++ b/pkgs/development/tools/ocaml/dune/3.nix
@@ -6,11 +6,11 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "3.0.2";
+  version = "3.0.3";
 
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/fiber-${version}.tbz";
-    sha256 = "sha256-o108qIeWMOX0VU/wWdc5bg/UDCT2CCcw/Xx3nFiDbes=";
+    sha256 = "sha256-1QRJmhZY8Nmcrvv/1zhvLjHUbOynMWcVf+RobEHlcy8=";
   };
 
   nativeBuildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix b/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix
index a08aaac832e..39f6d5f7aa2 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix
@@ -6,6 +6,8 @@ buildDunePackage rec {
   version = "3.2.1";
   pname = "js_of_ocaml-camlp4";
 
+  useDune2 = false;
+
   src = fetchFromGitHub {
     owner = "ocsigen";
     repo = "js_of_ocaml";
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix
index 42baa97b834..3e5471db5ae 100644
--- a/pkgs/development/tools/ocaml/utop/default.nix
+++ b/pkgs/development/tools/ocaml/utop/default.nix
@@ -2,19 +2,17 @@
 , lambda-term, cppo, makeWrapper, buildDunePackage
 }:
 
-if !lib.versionAtLeast ocaml.version "4.03"
-then throw "utop is not available for OCaml ${ocaml.version}"
-else
-
 buildDunePackage rec {
   pname = "utop";
-  version = "2.8.0";
+  version = "2.9.0";
 
   useDune2 = true;
 
+  minimalOCamlVersion = "4.03";
+
   src = fetchurl {
     url = "https://github.com/ocaml-community/utop/releases/download/${version}/utop-${version}.tbz";
-    sha256 = "0mi571ifjzq4wcjarn8q1b7yl8nxjm1jfx3afac224lqwn6bhb2d";
+    sha256 = "sha256:17jd61bc6pva5wqmnc9xq70ysyjplrzf1p25sq1s7wgrfq2vlyyd";
   };
 
   nativeBuildInputs = [ makeWrapper cppo ];
diff --git a/pkgs/development/tools/open-policy-agent/default.nix b/pkgs/development/tools/open-policy-agent/default.nix
index 3f6ea3b6462..66648faed1d 100644
--- a/pkgs/development/tools/open-policy-agent/default.nix
+++ b/pkgs/development/tools/open-policy-agent/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "open-policy-agent";
-  version = "0.38.0";
+  version = "0.38.1";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "opa";
     rev = "v${version}";
-    sha256 = "sha256-RGGxqmQ0mZ5iSAzDvUU6mAlCve3MknuNr2wAzHcV3RQ=";
+    sha256 = "sha256-x8mSlZ2X0DdkhaW5QXs5axERJkwARu8tHueQHXfamXM=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/development/tools/operator-sdk/default.nix b/pkgs/development/tools/operator-sdk/default.nix
index 0cad5686422..fabc6e5ac4b 100644
--- a/pkgs/development/tools/operator-sdk/default.nix
+++ b/pkgs/development/tools/operator-sdk/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "operator-sdk";
-  version = "1.18.0";
+  version = "1.18.1";
 
   src = fetchFromGitHub {
     owner = "operator-framework";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-TamtjFnh+HT7JHcRTEpALdkXM9MyZGulb644bNr/BQI=";
+    sha256 = "sha256-BusShYGgaUGwLMWr/EHS7kDUTnTJyHzWUztlaMJskAg=";
   };
 
-  vendorSha256 = "sha256-uci8/gQqLtjmxxqSlpgZhgBnvMotMvklNfwR+ua8H3M=";
+  vendorSha256 = "sha256-VH2ALKSr+UFk26Y5/1yhLP//wc1t8f9O5dMg0RGz4ZM=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix
index 58f0bb54fb1..8991c1419f2 100644
--- a/pkgs/development/tools/parsing/flex/default.nix
+++ b/pkgs/development/tools/parsing/flex/default.nix
@@ -47,6 +47,10 @@ stdenv.mkDerivation rec {
 
   dontDisableStatic = stdenv.buildPlatform != stdenv.hostPlatform;
 
+  postInstall = ''
+    ln -s $out/bin/flex $out/bin/lex
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/westes/flex";
     description = "A fast lexical analyser generator";
diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix
index 484254a099c..c077913b1eb 100644
--- a/pkgs/development/tools/parsing/tree-sitter/default.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/default.nix
@@ -95,7 +95,7 @@ let
               (lib.strings.replaceStrings [ "-" ] [ "_" ]
                 (lib.strings.removePrefix "tree-sitter-"
                   (lib.strings.removeSuffix "-grammar" name)))
-              + stdenv.hostPlatform.extensions.sharedLibrary;
+              + ".so";
             path = "${drv}/parser";
           }
         )
diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix
index 31eafb1086b..ac00e341878 100644
--- a/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/pkgs/development/tools/profiling/systemtap/default.nix
@@ -16,8 +16,8 @@ let
     pname = "systemtap";
     inherit version;
     src = fetchgit { inherit url rev sha256; };
-    nativeBuildInputs = [ pkg-config cpio ];
-    buildInputs = [ elfutils gettext python3 python3.pkgs.setuptools ];
+    nativeBuildInputs = [ pkg-config cpio python3 python3.pkgs.setuptools ];
+    buildInputs = [ elfutils gettext ];
     enableParallelBuilding = true;
   };
 
diff --git a/pkgs/development/tools/rocminfo/default.nix b/pkgs/development/tools/rocminfo/default.nix
index 2734cfa0931..60ca0a51d26 100644
--- a/pkgs/development/tools/rocminfo/default.nix
+++ b/pkgs/development/tools/rocminfo/default.nix
@@ -7,13 +7,13 @@
   # compilers to determine the desired target.
 , defaultTargets ? []}:
 stdenv.mkDerivation rec {
-  version = "4.5.2";
+  version = "5.0.1";
   pname = "rocminfo";
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "rocminfo";
     rev = "rocm-${version}";
-    sha256 = "sha256-VIlHYiGLen4xmdP7kpmObj5wKy6Qq7iupJFtPa4Zd98=";
+    sha256 = "sha256-H9JdrDS/pbvYMKkayu/1rrXusHeXBH1CO9jYArsbCNI=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/rust/cargo-crev/default.nix b/pkgs/development/tools/rust/cargo-crev/default.nix
index 9fc89ece06d..90ea1658271 100644
--- a/pkgs/development/tools/rust/cargo-crev/default.nix
+++ b/pkgs/development/tools/rust/cargo-crev/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-crev";
-  version = "0.23.0";
+  version = "0.23.1";
 
   src = fetchFromGitHub {
     owner = "crev-dev";
     repo = "cargo-crev";
     rev = "v${version}";
-    sha256 = "sha256-iqFE3sz7cIFcd9zCFjU1PjMWVmxCRcdiiGAbirWUWMA=";
+    sha256 = "sha256-XzjZEVyPVn+7VrjG4QsqVBFmuGC1TWTWLEoqFcwQhaI=";
   };
 
-  cargoSha256 = "sha256-qlqW5phw7QI5KT2uUamQFEYHZd4uzYaUuvZTG3KhrOU=";
+  cargoSha256 = "sha256-p87ZnOxaF9ytSUxp0P3QE3K1/jo7hz/N7BH1f2Lc0I0=";
 
   preCheck = ''
     export HOME=$(mktemp -d)
diff --git a/pkgs/development/tools/rust/cargo-insta/default.nix b/pkgs/development/tools/rust/cargo-insta/default.nix
index 93593a01f5e..727e9b38c05 100644
--- a/pkgs/development/tools/rust/cargo-insta/default.nix
+++ b/pkgs/development/tools/rust/cargo-insta/default.nix
@@ -2,17 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-insta";
-  version = "1.11.0";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "mitsuhiko";
     repo = "insta";
     rev = version;
-    sha256 = "sha256-Vi3FwetCpL8qMniaXypw1EYVHh6lfZu6GjDXPDKda5c=";
+    sha256 = "sha256-cSQEwsUqn+Q0ZWndBVatHL0btO7xLOJWO+MMjtSL0Zo=";
   };
 
   sourceRoot = "source/cargo-insta";
-  cargoSha256 = "sha256-Bjh9we0OD8kqMJtovO1yw9Yta5u93dlYMRsxPdErkaY=";
+  cargoSha256 = "sha256-rn4ln/MeaDAQmWpxeTn3mGH4sEvO4876o1VPYiz/CR8=";
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 29dc1202d1c..2e2ff56fd05 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.9";
+  version = "0.35.10";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-yjApyM3UM4gLUPpbVMv+7hpF5VGXS8W9RUnlsJd/Sbo=";
+    sha256 = "sha256-l34sThvzhAW8VfxVuv+UGVil7yOvsOiWSqr/N91V8C8=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
 
-  cargoSha256 = "sha256-YGpQXz35dPUeY8YlZ4Ul/utpNgEgW90xHiT+I+jOJIo=";
+  cargoSha256 = "sha256-974Gqtv+g32iHrIqIzqwBsE8frzmjF0Ma/hSMGzMaGs=";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/cargo-nextest/default.nix b/pkgs/development/tools/rust/cargo-nextest/default.nix
new file mode 100644
index 00000000000..54d568726dd
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-nextest/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchFromGitHub, rustPlatform, stdenv, libiconv }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-nextest";
+  version = "0.9.10";
+
+  src = fetchFromGitHub {
+    owner = "nextest-rs";
+    repo = "nextest";
+    rev = "cargo-nextest-${version}";
+    sha256 = "0gbh990dd4514bfqh4x2nymh5w608ljp3s7akq100m4v723b6339";
+  };
+
+  cargoSha256 = "0c0i274dkz3jx9dzcxl9hyf3imiga8vb6m6jc5z1f1wdq3vknh9r";
+
+  cargoTestFlags = [ # TODO: investigate some more why these tests fail in nix
+    "--"
+    "--skip=tests_integration::test_relocated_run"
+    "--skip=tests_integration::test_run"
+    "--skip=tests_integration::test_run_after_build"
+  ];
+
+  meta = with lib; {
+    description = "Next-generation test runner for Rust projects";
+    homepage = "https://github.com/nextest-rs/nextest";
+    license = with licenses; [ mit asl20 ];
+    maintainers = [ maintainers.ekleog ];
+  };
+}
diff --git a/pkgs/development/tools/rust/probe-run/default.nix b/pkgs/development/tools/rust/probe-run/default.nix
index 2626de0f84b..a668fdd1172 100644
--- a/pkgs/development/tools/rust/probe-run/default.nix
+++ b/pkgs/development/tools/rust/probe-run/default.nix
@@ -3,14 +3,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "probe-run";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "1nfbpdx378p988q75hka9r8zp3xb9zy3dnagcxmha6dca5dhgsdm";
+    sha256 = "sha256-SXA77LXM1SuBJ8BH+ahwJl/3gWsCbdLXBiHZdJySWq0=";
   };
 
-  cargoSha256 = "05p3vmar00215x4mwsvs5knf4wrwmpq52rmbbi6b4qaqs3gqaghy";
+  cargoSha256 = "sha256-e9POSuA/I7IUKUOxMTfCWxNn0AicojpGQpxamzmHa7g=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libusb1 ]
@@ -21,6 +21,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/knurling-rs/probe-run";
     changelog = "https://github.com/knurling-rs/probe-run/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = with maintainers; [ hoverbear ];
+    maintainers = with maintainers; [ hoverbear newam ];
   };
 }
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 2221ae0a14b..f155fdbaf78 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -11,14 +11,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2022-02-28";
-  cargoSha256 = "sha256-dTw6xp99uGtGp6YuqAX3r3GDD6Wto3KHTaO2DUUE2FA=";
+  version = "2022-03-07";
+  cargoSha256 = "sha256-geMzdo5frW5VkuTwBHKHXCTJZrHDUIRSTs2kkCfA5Vc=";
 
   src = fetchFromGitHub {
     owner = "rust-analyzer";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-GQ1cPO4povnozLl0MTFs0ZXpmBn+AZeFWQVnxHHWf9g=";
+    sha256 = "sha256-/qKh4utesAjlyG8A3hEmSx+HBgh48Uje6ZRtUGz5f0g=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/shellharden/default.nix b/pkgs/development/tools/shellharden/default.nix
index d444a3685c5..ee56e58f6ca 100644
--- a/pkgs/development/tools/shellharden/default.nix
+++ b/pkgs/development/tools/shellharden/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shellharden";
-  version = "4.1.3";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "anordal";
     repo = pname;
     rev = "v${version}";
-    sha256 = "04pgmkaqjb1lmlwjjipcrqh9qcyjjkr39vi3h5fl9sr71c8g7dnd";
+    sha256 = "081b51h88hhyzn9vb9pcszz1wfdj73xwsyfn2ygz708kabzqpvdl";
   };
 
-  cargoSha256 = "0bjqgw49msl288yfa7bl31bfa9kdy4zh1q3j0lyw4vvkv2r14pf5";
+  cargoSha256 = "1gwlmds417szwvywvm19wv60a83inp52sf46sd05x5vahb8gv8hg";
 
   postPatch = "patchShebangs moduletests/run";
 
diff --git a/pkgs/development/tools/stylua/default.nix b/pkgs/development/tools/stylua/default.nix
index 1b25634502a..e21f058b8a0 100644
--- a/pkgs/development/tools/stylua/default.nix
+++ b/pkgs/development/tools/stylua/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stylua";
-  version = "0.12.4";
+  version = "0.12.5";
 
   src = fetchFromGitHub {
     owner = "johnnymorganz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BPLN7/LaVDtCOJBgIJVbnENUyFtacRsK3JxDupytzOA=";
+    sha256 = "sha256-4tQQTTAdIAhlkBJevwwwGXOKd6bJJOyG4nlbCv7909Y=";
   };
 
-  cargoSha256 = "sha256-MZsFbFQp5Rw20pXzvTFNhMiVx/TJZ63/2rU7vj7IcqQ=";
+  cargoSha256 = "sha256-DGe2lB8xZgY9ikTsIHDOdHzTyHfDaSlmy8FU/S9FDCI=";
 
   buildFeatures = lib.optional lua52Support "lua52"
     ++ lib.optional luauSupport "luau";
diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix
index d87ecddbf89..ebb07ec2b49 100644
--- a/pkgs/development/tools/symfony-cli/default.nix
+++ b/pkgs/development/tools/symfony-cli/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "symfony-cli";
-  version = "5.4.1";
+  version = "5.4.2";
   vendorSha256 = "sha256-MlsgII1QybyW+B7DGbSyn7VQ36n29yOC0pZnaemEHO8=";
 
   src = fetchFromGitHub {
     owner = "symfony-cli";
     repo = "symfony-cli";
     rev = "v${version}";
-    sha256 = "sha256-92Pth+IrILWkcP4mm3IcSN4+zs7TNg4CPGT2liop7/I=";
+    sha256 = "sha256-Ci523YoocpCexbXMg3PjQ/x8z/STWt+nro64l+ckKzM=";
   };
 
   # Tests requires network access
diff --git a/pkgs/development/tools/tokio-console/default.nix b/pkgs/development/tools/tokio-console/default.nix
index f04de27f1c2..6ff132e8146 100644
--- a/pkgs/development/tools/tokio-console/default.nix
+++ b/pkgs/development/tools/tokio-console/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tokio-console";
-  version = "0.1.0";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "tokio-rs";
     repo = "console";
     rev = "tokio-console-v${version}";
-    sha256 = "sha256-1wxRTdDmgTlGJ3W1txDA/3Rnccs3KBw55vprrGaVnkg=";
+    sha256 = "sha256-v9BxfBLRJug/1AgvDV7P5AOXwZfCu1mNgJjhbipoZNg=";
   };
 
-  cargoSha256 = "sha256-RScu5V55OowwWHi3MLjW8DPlTMA/IEBYFt4VUDUHPKo=";
+  cargoSha256 = "sha256-584EC9x7tJE3pHqgQVh6LWKuCgLXuBBEnaPvo1A8RIs=";
 
   nativeBuildInputs = [ protobuf ];
 
diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix
index 9ce8a9494dd..23b6f535fc3 100644
--- a/pkgs/development/tools/typos/default.nix
+++ b/pkgs/development/tools/typos/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typos";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dQ+FLKf+zNrUabrXWvdYqpNXzS+j92zQcaZXPTxxB/E=";
+    sha256 = "sha256-It112+60ze+5rvq3TYlIU+X4lJ4pgdCO7Gb1ADArDvY=";
   };
 
-  cargoSha256 = "sha256-ud2Hb8EoOiPyzp7qPUeQi8FZ49RXbrDsk8ZEBI6lPtk=";
+  cargoSha256 = "sha256-yiy1xLxCdjIzqXUlkxWoOZ7cPZzJgDuTUvNHpnnTnwE=";
 
   meta = with lib; {
     description = "Source code spell checker";
diff --git a/pkgs/development/tools/vala-lint/default.nix b/pkgs/development/tools/vala-lint/default.nix
index f9c98bc4fb1..d8f31686320 100644
--- a/pkgs/development/tools/vala-lint/default.nix
+++ b/pkgs/development/tools/vala-lint/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vala-lint";
-  version = "unstable-2021-12-28";
+  version = "unstable-2022-02-16";
 
   src = fetchFromGitHub {
     owner = "vala-lang";
     repo = "vala-lint";
-    rev = "1eeb3538b2a71addd0d8adc9f53ffe80fdfb8ce0";
-    sha256 = "sha256-u2VJIDc1yvhbBgdMKL1RijoKEL4Vl8sbrGUYu5t/wJI=";
+    rev = "2f8a970cbf41ac54d2b4124c9d7db64543031901";
+    sha256 = "sha256-jIC9nUWxs4iDpqEQGxl8JrHbBEkz60/elWHqGKQqlX8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/vendir/default.nix b/pkgs/development/tools/vendir/default.nix
index e80bb0f14cd..d6ff0825737 100644
--- a/pkgs/development/tools/vendir/default.nix
+++ b/pkgs/development/tools/vendir/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vendir";
-  version = "0.24.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-vendir";
     rev = "v${version}";
-    sha256 = "sha256-3l0ezObZK/QEmpBlqSm3R3e4pFM7KUnsxDrzvEYExnk=";
+    sha256 = "sha256-a/fftMJuN6YnjPP0Gk6bMckoCouwgtxhf23OuyLR5Tk=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/wllvm/default.nix b/pkgs/development/tools/wllvm/default.nix
index 85dbc4f731a..0234c936dc1 100644
--- a/pkgs/development/tools/wllvm/default.nix
+++ b/pkgs/development/tools/wllvm/default.nix
@@ -1,13 +1,12 @@
 { lib, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
-  version = "1.2.8";
+  version = "1.3.1";
   pname = "wllvm";
-  name = "${pname}-${version}";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1d88fzg4ba4r3hwrinnv6agiyj3xxdy4yryb8wz2ml51nc6bi591";
+    sha256 = "sha256-PgV6V18FyezIZpqMQEbyv98MaVM7h7T7/Kvg3yMMwzE=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/zld/default.nix b/pkgs/development/tools/zld/default.nix
new file mode 100644
index 00000000000..408e3308b65
--- /dev/null
+++ b/pkgs/development/tools/zld/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchzip }:
+
+stdenv.mkDerivation rec {
+  pname = "zld";
+  version = "1.3.3";
+  src = fetchzip {
+    url = "https://github.com/michaeleisel/zld/releases/download/${version}/zld.zip";
+    sha256 = "0qb4l7a4vhpnzkgzhw0jivz40jr5gdhqfyynhbkhn7ryh5s52d1p";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp zld $out/bin/
+  '';
+
+  meta = with lib; {
+    description = "A faster version of Apple's linker";
+    homepage = "https://github.com/michaeleisel/zld";
+    license = licenses.mit;
+    maintainers = [ maintainers.rgnns ];
+    platforms = platforms.darwin;
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/development/web/grails/default.nix b/pkgs/development/web/grails/default.nix
index fecf7610d17..0efa2b41a98 100644
--- a/pkgs/development/web/grails/default.nix
+++ b/pkgs/development/web/grails/default.nix
@@ -11,11 +11,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "grails";
-  version = "5.1.2";
+  version = "5.1.3";
 
   src = fetchurl {
     url = "https://github.com/grails/grails-core/releases/download/v${version}/grails-${version}.zip";
-    sha256 = "sha256-S8YDGShglCB8zMHBwLlvPwq9dIAgQq2Xb8G1Pf0dXiQ=";
+    sha256 = "sha256-BacAVAnS3qdmzHGVUdZI2hn4Arp9Qep6cAXRabpB10M=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/web/nodejs/setup-hook.sh b/pkgs/development/web/nodejs/setup-hook.sh
index 18368588c2a..878e0693a1e 100644
--- a/pkgs/development/web/nodejs/setup-hook.sh
+++ b/pkgs/development/web/nodejs/setup-hook.sh
@@ -1,5 +1,5 @@
 addNodePath () {
-    addToSearchPath NODE_PATH $1/lib/node_modules
+    addToSearchPath NODE_PATH "$1/lib/node_modules"
 }
 
 addEnvHooks "$hostOffset" addNodePath
diff --git a/pkgs/games/airshipper/default.nix b/pkgs/games/airshipper/default.nix
index 1fe33a86f97..bc6f2a8dc71 100644
--- a/pkgs/games/airshipper/default.nix
+++ b/pkgs/games/airshipper/default.nix
@@ -16,16 +16,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "airshipper";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitLab {
     owner = "Veloren";
     repo = "airshipper";
     rev = "v${version}";
-    sha256 = "sha256-m3H2FE1DoV/uk9PGgf9PCagwmWWSQO/gCi7zpS02/WY=";
+    sha256 = "sha256-nOE9ZNHxLEAnMkuBSpxmeq3DxkRIlcoase6AxU+eFug=";
   };
 
-  cargoSha256 = "sha256-ddy4TjT/ia+sLBnpwcXBVUzAS07ar+Jjc04KS5/arlU=";
+  cargoSha256 = "sha256-s3seKVEhXyOVlt3a8cubzRWoB4SVQpdCmq12y0FpDUw=";
 
   buildInputs = [
     openssl
diff --git a/pkgs/games/bsdgames/default.nix b/pkgs/games/bsdgames/default.nix
index 837fb4e1768..c837ba39b44 100644
--- a/pkgs/games/bsdgames/default.nix
+++ b/pkgs/games/bsdgames/default.nix
@@ -5,13 +5,14 @@ stdenv.mkDerivation rec {
   version = "2.17";
 
   src = fetchurl {
-    url = "ftp://metalab.unc.edu/pub/Linux/games/bsd-games-${version}.tar.gz";
-    sha256 = "0q7zdyyfvn15y0w4g54kq3gza89h61py727m8slmw73cxx594vq6";
+    url = "mirror://ibiblioPubLinux/games/${pname}-${version}.tar.gz";
+    hash = "sha256-Bm+SSu9sHF6pRvWI428wMCH138CTlEc48CXY7bxv/2A=";
   };
 
   buildInputs = [ ncurses openssl flex bison ];
 
   patches = [
+    # Remove UTMPX support on Makefrag file
     (fetchurl {
       url = "http://svn.exactcode.de/t2/trunk/package/games/bsd-games/dm-noutmpx.patch";
       sha256 = "1k3qp3jj0dksjr4dnppv6dvkwslrgk9c7p2n9vipqildpxgqp7w2";
diff --git a/pkgs/games/devilutionx/default.nix b/pkgs/games/devilutionx/default.nix
index 7a6dc280880..ac76ab5ad18 100644
--- a/pkgs/games/devilutionx/default.nix
+++ b/pkgs/games/devilutionx/default.nix
@@ -93,8 +93,10 @@ stdenv.mkDerivation rec {
     install -Dm755 -t $out/bin devilutionx
     install -Dm755 -t $out/share/diasurgical/devilutionx devilutionx.mpq
     install -Dm755 -t $out/share/applications ../Packaging/nix/devilutionx-hellfire.desktop ../Packaging/nix/devilutionx.desktop
-    install -Dm755 ../Packaging/resources/icon.png $out/share/icons/hicolor/512x512/apps/devilution.png
-    install -Dm755 ../Packaging/resources/hellfire.png $out/share/icons/hicolor/512x512/apps/devilution-hellfire.png
+    install -Dm755 ../Packaging/resources/icon.png $out/share/icons/hicolor/512x512/apps/devilutionx.png
+    install -Dm755 ../Packaging/resources/hellfire.png $out/share/icons/hicolor/512x512/apps/devilutionx-hellfire.png
+    install -Dm755 ../Packaging/resources/icon_32.png $out/share/icons/hicolor/32x32/apps/devilutionx.png
+    install -Dm755 ../Packaging/resources/hellfire_32.png $out/share/icons/hicolor/32x32/apps/devilutionx-hellfire.png
   '') + ''
 
     runHook postInstall
diff --git a/pkgs/games/freedroidrpg/default.nix b/pkgs/games/freedroidrpg/default.nix
index e0582c524ec..84fd9c154a2 100644
--- a/pkgs/games/freedroidrpg/default.nix
+++ b/pkgs/games/freedroidrpg/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, pkg-config, gettext, python3, SDL, SDL_image, SDL_gfx, SDL_mixer, libogg, libvorbis, lua5_3, libjpeg, libpng, zlib, libiconv }:
+{ fetchurl, fetchpatch, lib, stdenv, pkg-config, gettext, python3, SDL, SDL_image, SDL_gfx, SDL_mixer, libogg, libvorbis, lua5_3, libjpeg, libpng, zlib, libiconv }:
 
 let
   version = "0.16.1";
@@ -11,6 +11,15 @@ in stdenv.mkDerivation {
     sha256 = "0n4kn38ncmcy3lrxmq8fjry6c1z50z4q1zcqfig0j4jb0dsz2va2";
   };
 
+  patches = [
+    # Pull upstream fix for -fno-common tolchains.
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://gitlab.com/freedroid/freedroid-src/-/commit/e610d427374226b79da5258d979936459f30c761.patch";
+      sha256 = "1s7sw4dkc7b6i72j6x47driq6v0k3wss48l9ivd4fw40n3iaxjb1";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config gettext python3 ];
 
   buildInputs = [
diff --git a/pkgs/games/gcompris/default.nix b/pkgs/games/gcompris/default.nix
index c4c737d228c..5343bae4a6c 100644
--- a/pkgs/games/gcompris/default.nix
+++ b/pkgs/games/gcompris/default.nix
@@ -18,11 +18,11 @@
 
 mkDerivation rec {
   pname = "gcompris";
-  version = "2.1";
+  version = "2.3";
 
   src = fetchurl {
-    url = "http://gcompris.net/download/qt/src/gcompris-qt-${version}.tar.xz";
-    sha256 = "sha256-ljOY/uybXzfwOFmhBXB4sC4Vn/C8BP1BeUUPpdHuQwo=";
+    url = "https://download.kde.org/stable/gcompris/qt/src/gcompris-qt-${version}.tar.xz";
+    sha256 = "sha256-UgWLp5IVqbeFFCO/PRFJ/X1sPm7nSkagVcgEp5SdzGI=";
   };
 
   cmakeFlags = [
@@ -32,15 +32,24 @@ mkDerivation rec {
   nativeBuildInputs = [ cmake gettext ninja qttools ];
 
   buildInputs = [
-    qmlbox2d qtbase qtdeclarative qtgraphicaleffects qtmultimedia qtquickcontrols qtsensors qtxmlpatterns
+    qmlbox2d
+    qtdeclarative
+    qtgraphicaleffects
+    qtmultimedia
+    qtquickcontrols
+    qtsensors
+    qtxmlpatterns
   ] ++ (with gst_all_1; [
-    gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad
+    gstreamer
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-bad
   ]);
 
   postInstall = ''
-    install -Dm444 ../org.kde.gcompris.desktop        $out/share/applications/gcompris.desktop
-    install -Dm444 ../images/256-apps-gcompris-qt.png $out/share/icons/hicolor/256x256/apps/gcompris-qt.png
+    install -Dm444 ../org.kde.gcompris.desktop     -t $out/share/applications
     install -Dm444 ../org.kde.gcompris.appdata.xml -t $out/share/metainfo
+    install -Dm444 ../images/256-apps-gcompris-qt.png $out/share/icons/hicolor/256x256/apps/gcompris-qt.png
 
     qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
   '';
@@ -49,6 +58,7 @@ mkDerivation rec {
     description = "A high quality educational software suite, including a large number of activities for children aged 2 to 10";
     homepage = "https://gcompris.net/";
     license = licenses.gpl3Plus;
+    mainProgram = "gcompris-qt";
     maintainers = with maintainers; [ guibou ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/games/klavaro/default.nix b/pkgs/games/klavaro/default.nix
index 2a8f68ddd2c..6ea02917648 100644
--- a/pkgs/games/klavaro/default.nix
+++ b/pkgs/games/klavaro/default.nix
@@ -2,23 +2,31 @@
 , fetchurl
 , makeWrapper
 , curl
+, espeak
 , file
 , gtk3
+, gtkdatabox
 , intltool
 , pkg-config
 }:
 
 stdenv.mkDerivation rec {
   pname = "klavaro";
-  version = "3.11";
+  version = "3.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/klavaro/${pname}-${version}.tar.bz2";
-    sha256 = "1rkxaqb62w4mv86fcnmr32lq6y0h4hh92wmsy5ddb9a8jnzx6r7w";
+    sha256 = "0z6c3lqikk50mkz3ipm93l48qj7b98lxyip8y6ndg9y9k0z0n878";
   };
 
   nativeBuildInputs = [ intltool makeWrapper pkg-config ];
-  buildInputs = [ curl gtk3 ];
+  buildInputs = [ curl gtk3 gtkdatabox ];
+
+  postPatch = ''
+    substituteInPlace src/tutor.c --replace '"espeak ' '"${espeak}/bin/espeak '
+  '';
+
+  patches = [ ./icons.patch ./trans_lang_get_similar.patch ];
 
   postInstall = ''
     wrapProgram $out/bin/klavaro \
diff --git a/pkgs/games/klavaro/icons.patch b/pkgs/games/klavaro/icons.patch
new file mode 100644
index 00000000000..1717fdf44e6
--- /dev/null
+++ b/pkgs/games/klavaro/icons.patch
@@ -0,0 +1,146 @@
+--- a/data/klavaro.glade	(revision 137)
++++ b/data/klavaro.glade	(working copy)
+@@ -311,7 +311,7 @@
+                       <object class="GtkImage" id="image24">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-delete</property>
++                        <property name="icon-name">edit-delete</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -708,7 +708,7 @@
+                     <property name="can-default">True</property>
+                     <property name="has-default">True</property>
+                     <property name="tooltip-text" translatable="yes">Drag and drop text here to practice with it.</property>
+-                    <property name="secondary-icon-name">gtk-clear</property>
++                    <property name="secondary-icon-name">edit-clear</property>
+                     <property name="secondary-icon-tooltip-text" translatable="yes">Press here to restart the exercise. Hotkey: [Ctrl-R]</property>
+                     <property name="secondary-icon-tooltip-markup" translatable="yes">Press here to restart the exercise. Hotkey: [Ctrl-R]</property>
+                     <signal name="activate" handler="on_entry_mesg_activate" after="yes" swapped="no"/>
+@@ -1232,7 +1232,7 @@
+                       <object class="GtkImage" id="image27">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-delete</property>
++                        <property name="icon-name">edit-delete</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -1352,7 +1352,7 @@
+                       <object class="GtkImage" id="image23">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-open</property>
++                        <property name="icon-name">document-open</property>
+                       </object>
+                       <packing>
+                         <property name="expand">True</property>
+@@ -1510,7 +1510,7 @@
+                       <object class="GtkImage" id="image11">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-open</property>
++                        <property name="icon-name">document-open</property>
+                         <property name="icon_size">2</property>
+                       </object>
+                       <packing>
+@@ -1557,7 +1557,7 @@
+                       <object class="GtkImage" id="image6">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-paste</property>
++                        <property name="icon-name">edit-paste</property>
+                         <property name="icon_size">2</property>
+                       </object>
+                       <packing>
+@@ -1604,7 +1604,7 @@
+                       <object class="GtkImage" id="image19">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-delete</property>
++                        <property name="icon-name">edit-delete</property>
+                         <property name="icon_size">2</property>
+                       </object>
+                       <packing>
+@@ -2051,7 +2051,7 @@
+                       <object class="GtkImage" id="image14">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-delete</property>
++                        <property name="icon-name">edit-delete</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -2343,7 +2343,7 @@
+                   <object class="GtkImage" id="image3">
+                     <property name="visible">True</property>
+                     <property name="can-focus">False</property>
+-                    <property name="icon-name">gtk-media-rewind</property>
++                    <property name="icon-name">media-seek-backward</property>
+                     <property name="icon_size">1</property>
+                   </object>
+                 </child>
+@@ -2418,7 +2418,7 @@
+                       <object class="GtkImage" id="image20">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-go-back</property>
++                        <property name="icon-name">go-previous</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -2469,7 +2469,7 @@
+                       <object class="GtkImage" id="image18">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-go-forward</property>
++                        <property name="icon-name">go-next</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -2577,7 +2577,7 @@
+                       <object class="GtkImage" id="image13">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-save</property>
++                        <property name="icon-name">document-save</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -2825,7 +2825,7 @@
+                       <object class="GtkImage" id="image_basic">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-strikethrough</property>
++                        <property name="icon-name">format-text-strikethrough</property>
+                         <property name="icon_size">6</property>
+                       </object>
+                       <packing>
+@@ -2901,7 +2901,7 @@
+                       <object class="GtkImage" id="image_adapt">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-bold</property>
++                        <property name="icon-name">format-text-bold</property>
+                         <property name="icon_size">6</property>
+                       </object>
+                       <packing>
+@@ -3630,7 +3630,7 @@
+                       <object class="GtkImage" id="image_top10_publish">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-goto-top</property>
++                        <property name="icon-name">go-top</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
+@@ -3678,7 +3678,7 @@
+                       <object class="GtkImage" id="image_top10_update">
+                         <property name="visible">True</property>
+                         <property name="can-focus">False</property>
+-                        <property name="icon-name">gtk-goto-bottom</property>
++                        <property name="icon-name">go-bottom</property>
+                       </object>
+                       <packing>
+                         <property name="expand">False</property>
diff --git a/pkgs/games/klavaro/trans_lang_get_similar.patch b/pkgs/games/klavaro/trans_lang_get_similar.patch
new file mode 100644
index 00000000000..3b6644c5f7f
--- /dev/null
+++ b/pkgs/games/klavaro/trans_lang_get_similar.patch
@@ -0,0 +1,71 @@
+--- a/src/translation.c	(revision 137)
++++ b/src/translation.c	(working copy)
+@@ -257,23 +257,23 @@
+  * Private auxiliar function
+  */
+ static gboolean
+-trans_lang_get_similar (gchar * test)
++trans_lang_get_similar (gchar ** test)
+ {
+ 	gint i;
+ 	gchar aux_code_2[3];
+ 
+ 	/* Prefer C over en_GB for English variants other than en_GB. (Debian patch 02) */
+-	if (g_str_has_prefix (test, "en"))
++	if (g_str_has_prefix (*test, "en"))
+ 	{
+-		g_free (test);
+-		test = g_strdup ("C");
++		g_free (*test);
++		*test = g_strdup ("C");
+ 		return (TRUE);
+ 	}
+ 
+-	if (g_str_equal (test, "C"))
++	if (g_str_equal (*test, "C"))
+ 		return TRUE;
+ 
+-	strncpy (aux_code_2, test, 2);
++	strncpy (aux_code_2, *test, 2);
+ 	aux_code_2[2] = '\0';
+ 
+ 	for (i = 0; i < lang_num; i++)
+@@ -280,15 +280,15 @@
+ 	{
+ 		if (strstr (lang[i].code, aux_code_2))
+ 		{
+-			g_free (test);
+-			test = g_strdup (lang[i].code);
++			g_free (*test);
++			*test = g_strdup (lang[i].code);
+ 			break;
+ 		}
+ 	}
+-	if (i == lang_num && g_str_has_prefix (test, "en"))
++	if (i == lang_num && g_str_has_prefix (*test, "en"))
+ 	{
+-		g_free (test);
+-		test = g_strdup ("C");
++		g_free (*test);
++		*test = g_strdup ("C");
+ 		return (TRUE);
+ 	}
+ 	return (i == lang_num ? FALSE : TRUE);
+@@ -356,7 +356,7 @@
+ 					lang_ok = (i == 0 ? TRUE : FALSE);
+ 					break;
+ 				}
+-				lang_ok = trans_lang_get_similar (tmp_code);
++				lang_ok = trans_lang_get_similar (&tmp_code);
+ 				if (lang_ok == TRUE)
+ 					break;
+ 				g_free (tmp_code);
+@@ -368,7 +368,7 @@
+ 		tmp_code = g_win32_getlocale ();
+ 		lang_ok = trans_lang_is_available (tmp_code);
+ 		if (lang_ok == FALSE)
+-			lang_ok = trans_lang_get_similar (tmp_code);
++			lang_ok = trans_lang_get_similar (&tmp_code);
+ #endif
+ 	}
+ 	if (tmp_code == NULL)
diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix
index cd2046b2383..37ec8ef8c7e 100644
--- a/pkgs/games/steam/fhsenv.nix
+++ b/pkgs/games/steam/fhsenv.nix
@@ -49,6 +49,7 @@ let
   # Zachtronics and a few other studios expect STEAM_LD_LIBRARY_PATH to be present
   exportLDPath = ''
     export LD_LIBRARY_PATH=${lib.concatStringsSep ":" ldPath}''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH
+    export STEAM_LD_LIBRARY_PATH="$STEAM_LD_LIBRARY_PATH''${STEAM_LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
   '';
 
   # bootstrap.tar.xz has 444 permissions, which means that simple deletes fail
@@ -252,7 +253,7 @@ in buildFHSUserEnv rec {
       fi
     fi
 
-    export STEAM_LD_LIBRARY_PATH="$STEAM_LD_LIBRARY_PATH''${STEAM_LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
+    ${exportLDPath}
     ${fixBootstrap}
     exec steam "$@"
   '';
@@ -284,7 +285,8 @@ in buildFHSUserEnv rec {
         exit 1
       fi
       shift
-      export STEAM_LD_LIBRARY_PATH="$STEAM_LD_LIBRARY_PATH''${STEAM_LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
+
+      ${exportLDPath}
       ${fixBootstrap}
       exec -- "$run" "$@"
     '';
diff --git a/pkgs/games/terraria-server/default.nix b/pkgs/games/terraria-server/default.nix
index 0100418326d..cd4895fc064 100644
--- a/pkgs/games/terraria-server/default.nix
+++ b/pkgs/games/terraria-server/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "terraria-server";
-  version = "1.4.3.5";
+  version = "1.4.3.6";
   urlVersion = lib.replaceChars [ "." ] [ "" ] version;
 
   src = fetchurl {
     url = "https://terraria.org/api/download/pc-dedicated-server/terraria-server-${urlVersion}.zip";
-    sha256 = "sha256-N1GnxEe0A6Wuzy08lL3CFPWjQJECGGf504FE+lnhDcw=";
+    sha256 = "sha256-OFI7U6Mqu09pIbgJQs0O+GS8jf1uVuhAVEJhYNYXrBE=";
   };
 
   buildInputs = [ file ];
diff --git a/pkgs/games/tuxpaint/default.nix b/pkgs/games/tuxpaint/default.nix
index 289b4e386be..638fa170f50 100644
--- a/pkgs/games/tuxpaint/default.nix
+++ b/pkgs/games/tuxpaint/default.nix
@@ -1,17 +1,21 @@
-{ lib, stdenv, fetchurl, SDL, SDL_image, SDL_ttf, SDL_mixer, libpng,
-  cairo, librsvg, gettext, libpaper, fribidi, pkg-config, gperf, imagemagick }:
+{ lib, stdenv, fetchurl, SDL, SDL_gfx, SDL_image, SDL_ttf, SDL_mixer, libpng
+, libimagequant, cairo, librsvg, gettext, libpaper, fribidi, pkg-config, gperf
+, imagemagick
+}:
 
 stdenv.mkDerivation rec {
-  version = "0.9.24";
+  version = "0.9.27";
   pname = "tuxpaint";
 
   src = fetchurl {
     url = "mirror://sourceforge/tuxpaint/${version}/${pname}-${version}.tar.gz";
-    sha256 = "06m1lg2pikfkmassfvvrbwqffwgixcmjh1li6akaldgkalpmfql7";
+    sha256 = "sha256-qyuA6J34gijNDsCmyQtJ1UPLFXqjj7kMvTop8AFAVXo=";
   };
 
-  nativeBuildInputs = [ SDL SDL_image SDL_ttf SDL_mixer libpng cairo
-    librsvg gettext libpaper fribidi pkg-config gperf imagemagick ];
+  nativeBuildInputs = [
+    SDL SDL_gfx SDL_image SDL_ttf SDL_mixer libpng cairo libimagequant librsvg
+    gettext libpaper fribidi pkg-config gperf imagemagick
+  ];
   hardeningDisable = [ "format" ];
   makeFlags = [ "GPERF=${gperf}/bin/gperf"
                 "PREFIX=$$out"
@@ -25,8 +29,8 @@ stdenv.mkDerivation rec {
 
   # stamps
   stamps = fetchurl {
-    url = "mirror://sourceforge/project/tuxpaint/tuxpaint-stamps/2014-08-23/tuxpaint-stamps-2014.08.23.tar.gz";
-    sha256 = "0rhlwrjz44wp269v3rid4p8pi0i615pzifm1ym6va64gn1bms06q";
+    url = "mirror://sourceforge/project/tuxpaint/tuxpaint-stamps/2021-11-25/tuxpaint-stamps-2021.11.25.tar.gz";
+    sha256 = "sha256-y1XuIbLSW0QO4has+rC7jZBq8cma28d+jbEe7DBYnVI=";
   };
 
   postInstall = ''
@@ -37,15 +41,17 @@ stdenv.mkDerivation rec {
 
     # Install stamps
     tar xzf $stamps
-    cd tuxpaint-stamps-2014.08.23
+    cd tuxpaint-stamps-*
     make install-all PREFIX=$out
     rm -rf $out/share/tuxpaint/stamps/military
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Open Source Drawing Software for Children";
     homepage = "http://www.tuxpaint.org/";
-    license = lib.licenses.gpl3;
+    license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ woffs ];
     platforms = lib.platforms.linux;
   };
diff --git a/pkgs/games/xsnow/default.nix b/pkgs/games/xsnow/default.nix
index ee7cbd8fb48..ff34bfe729b 100644
--- a/pkgs/games/xsnow/default.nix
+++ b/pkgs/games/xsnow/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xsnow";
-  version = "3.3.6";
+  version = "3.4.4";
 
   src = fetchurl {
     url = "https://ratrabbit.nl/downloads/xsnow/xsnow-${version}.tar.gz";
-    sha256 = "sha256-rTJO1btS1VBHatj9Yr2R6vZBUPQtCB1Aa6AD6IzwuLg=";
+    sha256 = "sha256-fPMy5AxKspFkcWphf/IjMc/ZQtayljThKxbcMtvOjRc=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index 2d0129e21c5..af43c55072c 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -26,14 +26,14 @@ stdenv.mkDerivation rec {
   pname = "cups";
 
   # After 2.2.6, CUPS requires headers only available in macOS 10.12+
-  version = if stdenv.isDarwin then "2.2.6" else "2.4.0";
+  version = if stdenv.isDarwin then "2.2.6" else "2.4.1";
 
   src = fetchurl (if stdenv.isDarwin then {
     url = "https://github.com/apple/cups/releases/download/v${version}/cups-${version}-source.tar.gz";
     sha256 = "16qn41b84xz6khrr2pa2wdwlqxr29rrrkjfi618gbgdkq9w5ff20";
   } else {
     url = "https://github.com/OpenPrinting/cups/releases/download/v${version}/cups-${version}-source.tar.gz";
-    sha256 = "1pm6lf08z8vgs62g5b5rjw32qy3vr0q3sgidpg2lfs6a530wxgls";
+    sha256 = "sha256-xzOfdfjU8t7FDGczQaRfwGtohbttQ2bWv1mk5sEK4Xg=";
   });
 
   outputs = [ "out" "lib" "dev" "man" ];
diff --git a/pkgs/misc/logging/pacemaker/default.nix b/pkgs/misc/logging/pacemaker/default.nix
new file mode 100644
index 00000000000..07194380d4a
--- /dev/null
+++ b/pkgs/misc/logging/pacemaker/default.nix
@@ -0,0 +1,102 @@
+{ lib
+, stdenv
+, autoconf
+, automake
+, bash
+, bzip2
+, corosync
+, dbus
+, fetchFromGitHub
+, glib
+, gnutls
+, libqb
+, libtool
+, libuuid
+, libxml2
+, libxslt
+, pam
+, pkg-config
+, python3
+, nixosTests
+
+# Pacemaker is compiled twice, once with forOCF = true to extract its
+# OCF definitions for use in the ocf-resource-agents derivation, then
+# again with forOCF = false, where the ocf-resource-agents is provided
+# as the OCF_ROOT.
+, forOCF ? false
+, ocf-resource-agents
+} :
+
+stdenv.mkDerivation rec {
+  pname = "pacemaker";
+  version = "2.1.2";
+
+  src = fetchFromGitHub {
+    owner = "ClusterLabs";
+    repo = pname;
+    rev = "Pacemaker-${version}";
+    sha256 = "1w7vq3lmgcz38pfww9vccm142vjsjqz3qc9nnk09ynkx4agqhxdg";
+  };
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    libtool
+    pkg-config
+  ];
+
+  buildInputs = [
+    bash
+    bzip2
+    corosync
+    dbus.dev
+    glib
+    gnutls
+    libqb
+    libuuid
+    libxml2.dev
+    libxslt.dev
+    pam
+    python3
+  ];
+
+  preConfigure = ''
+    ./autogen.sh --prefix="$out"
+  '';
+  configureFlags = [
+    "--exec-prefix=${placeholder "out"}"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-initdir=/etc/systemd/system"
+    "--with-systemdsystemunitdir=/etc/systemd/system"
+    "--with-corosync"
+    # allows Type=notify in the systemd service
+    "--enable-systemd"
+  ] ++ lib.optional (!forOCF) "--with-ocfdir=${ocf-resource-agents}/usr/lib/ocf";
+
+  installFlags = [ "DESTDIR=${placeholder "out"}" ];
+
+  NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [
+    "-Wno-error=strict-prototypes"
+  ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    # pacemaker's install linking requires a weirdly nested hierarchy
+    mv $out$out/* $out
+    rm -r $out/nix
+  '';
+
+  passthru.tests = {
+    inherit (nixosTests) pacemaker;
+  };
+
+  meta = with lib; {
+    homepage = "https://clusterlabs.org/pacemaker/";
+    description = "Pacemaker is an open source, high availability resource manager suitable for both small and large clusters.";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ryantm astro ];
+  };
+}
diff --git a/pkgs/misc/openrussian-cli/default.nix b/pkgs/misc/openrussian-cli/default.nix
index 24c0b6bece7..4f30fd91896 100644
--- a/pkgs/misc/openrussian-cli/default.nix
+++ b/pkgs/misc/openrussian-cli/default.nix
@@ -1,6 +1,9 @@
 { stdenv, lib, fetchFromGitHub, gnumake, pkg-config, wget, unzip, gawk
-, sqlite, which, luaPackages, installShellFiles, makeWrapper
+, sqlite, which, lua, installShellFiles, makeWrapper
 }:
+let
+  luaEnv = lua.withPackages(p: with p; [ luasql-sqlite3 luautf8 ]);
+in
 stdenv.mkDerivation rec {
   pname   = "openrussian-cli";
   version = "1.0.0";
@@ -16,11 +19,11 @@ stdenv.mkDerivation rec {
     gnumake pkg-config wget unzip gawk sqlite which installShellFiles makeWrapper
   ];
 
-  buildInputs = with luaPackages; [ lua luasql-sqlite3 luautf8 ];
+  buildInputs = [ luaEnv ];
 
   makeFlags = [
-    "LUA=${luaPackages.lua}/bin/lua"
-    "LUAC=${luaPackages.lua}/bin/luac"
+    "LUA=${luaEnv}/bin/lua"
+    "LUAC=${luaEnv}/bin/luac"
   ];
 
   dontConfigure = true;
@@ -34,8 +37,8 @@ stdenv.mkDerivation rec {
     cp openrussian $out/bin
 
     wrapProgram $out/bin/openrussian \
-      --prefix LUA_PATH ';' "$LUA_PATH" \
-      --prefix LUA_CPATH ';' "$LUA_CPATH"
+      --prefix LUA_PATH ';' '${lua.pkgs.lib.genLuaPathAbsStr luaEnv}' \
+      --prefix LUA_CPATH ';' '${lua.pkgs.lib.genLuaCPathAbsStr luaEnv}'
 
     runHook postInstall
   '';
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index 8d6b5eba5bf..ac739d6a0db 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xlockmore";
-  version = "5.68";
+  version = "5.69";
 
   src = fetchurl {
     url = "http://sillycycle.com/xlock/xlockmore-${version}.tar.xz";
-    sha256 = "sha256-MHMf3LID8W61wcQ8BdQuRSrQ60VVyXxVVmpuyxh3zW4=";
+    sha256 = "sha256-6pJlTAASJoSHZaJRpzvLxHPM7xe3IcwY1TYfWdvW07k=";
     curlOpts = "--user-agent 'Mozilla/5.0'";
   };
 
diff --git a/pkgs/os-specific/linux/akvcam/default.nix b/pkgs/os-specific/linux/akvcam/default.nix
index 700389a4a18..0724118431c 100644
--- a/pkgs/os-specific/linux/akvcam/default.nix
+++ b/pkgs/os-specific/linux/akvcam/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
   };
   sourceRoot = "source/src";
 
-  makeFlags = [
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+  makeFlags = kernel.makeFlags ++ [
     "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
   ];
 
diff --git a/pkgs/os-specific/linux/apfs/default.nix b/pkgs/os-specific/linux/apfs/default.nix
index 62437d662b9..98fd83ed5d5 100644
--- a/pkgs/os-specific/linux/apfs/default.nix
+++ b/pkgs/os-specific/linux/apfs/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   hardeningDisable = [ "pic" ];
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
-  makeFlags = [
+  makeFlags = kernel.makeFlags ++ [
     "KERNELRELEASE=${kernel.modDirVersion}"
     "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     "INSTALL_MOD_PATH=$(out)"
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index 9fd24eea6d9..de71b7d8c3e 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -3,11 +3,10 @@
   runCommand,
   autoreconfHook,
   autoconf, automake, libtool,
-  enablePython ? false, python ? null,
+  enablePython ? true, python3, swig,
+  linuxHeaders ? stdenv.cc.libc.linuxHeaders
 }:
 
-assert enablePython -> python != null;
-
 stdenv.mkDerivation rec {
   pname = "audit";
   version = "2.8.5"; # at the next release, remove the patches below!
@@ -21,7 +20,7 @@ stdenv.mkDerivation rec {
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = lib.optional enablePython python;
+  buildInputs = lib.optionals enablePython [ python3 swig ];
 
   configureFlags = [
     # z/OS plugin is not useful on Linux,
@@ -69,8 +68,11 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  prePatch = ''
+  postPatch = ''
     sed -i 's,#include <sys/poll.h>,#include <poll.h>\n#include <limits.h>,' audisp/audispd.c
+    substituteInPlace bindings/swig/src/auditswig.i \
+      --replace "/usr/include/linux/audit.h" \
+                "${linuxHeaders}/include/linux/audit.h"
   ''
   # According to https://stackoverflow.com/questions/13089166
   # --whole-archive linker flag is required to be sure that linker
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index 354f4b1bff2..123c42e8397 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -12,11 +12,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
+  makeFlags = kernel.makeFlags ++ [
+    "KERNELPATH=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
 
   hardeningDisable = [ "pic" ];
 
   preBuild = ''
-    makeFlags="KERNELPATH=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     sed -i -e "s,INSTALL_MOD_DIR=,INSTALL_MOD_PATH=$out INSTALL_MOD_DIR=," \
       -e /depmod/d Makefile
   '';
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index 5e81cf6b2c1..fb75b99f03d 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -22,11 +22,11 @@
   ];
 in stdenv.mkDerivation rec {
   pname = "bluez";
-  version = "5.62";
+  version = "5.63";
 
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${pname}-${version}.tar.xz";
-    sha256 = "sha256-OAkKW3UOF/wI0+UheO2NMlTF9L0sSIMNXBlVuI47wMI=";
+    sha256 = "sha256-k0nhHoFguz1yCDXScSUNinQk02kPUonm22/gfMZsbXY=";
   };
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/can-isotp/default.nix b/pkgs/os-specific/linux/can-isotp/default.nix
index 9c30aae86fe..73edb3be9ec 100644
--- a/pkgs/os-specific/linux/can-isotp/default.nix
+++ b/pkgs/os-specific/linux/can-isotp/default.nix
@@ -13,16 +13,13 @@ stdenv.mkDerivation {
     sha256 = "1laax93czalclg7cy9iq1r7hfh9jigh7igj06y9lski75ap2vhfq";
   };
 
-  KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
-  INSTALL_MOD_PATH = "\${out}";
+  makeFlags = kernel.makeFlags ++ [
+    "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    "INSTALL_MOD_PATH=${placeholder "out"}"
+  ];
 
-  buildPhase = ''
-    make modules
-  '';
-
-  installPhase = ''
-    make modules_install
-  '';
+  buildFlags = [ "modules" ];
+  installTargets = [ "modules_install" ];
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
diff --git a/pkgs/os-specific/linux/cryptodev/default.nix b/pkgs/os-specific/linux/cryptodev/default.nix
index f09679ba212..cc3a1d81109 100644
--- a/pkgs/os-specific/linux/cryptodev/default.nix
+++ b/pkgs/os-specific/linux/cryptodev/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-vJQ10rG5FGbeEOqCUmH/pZ0P77kAW/MtUarywbtIyHw=";
   };
 
+  nativeBuildInputs = kernel.moduleBuildDependencies;
   hardeningDisable = [ "pic" ];
 
   KERNEL_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
diff --git a/pkgs/os-specific/linux/digimend/default.nix b/pkgs/os-specific/linux/digimend/default.nix
index 6b5f66f825b..e26509d3a7c 100644
--- a/pkgs/os-specific/linux/digimend/default.nix
+++ b/pkgs/os-specific/linux/digimend/default.nix
@@ -13,8 +13,6 @@ stdenv.mkDerivation rec {
     sha256 = "1l54j85540386a8aypqka7p5hy1b63cwmpsscv9rmmf10f78v8mm";
   };
 
-  INSTALL_MOD_PATH = "\${out}";
-
   postPatch = ''
     sed 's/udevadm /true /' -i Makefile
     sed 's/depmod /true /' -i Makefile
@@ -38,10 +36,11 @@ stdenv.mkDerivation rec {
     rm -r $out/lib/udev
   '';
 
-  makeFlags = [
+  makeFlags = kernel.makeFlags ++ [
     "KVERSION=${kernel.modDirVersion}"
     "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     "DESTDIR=${placeholder "out"}"
+    "INSTALL_MOD_PATH=${placeholder "out"}"
   ];
 
   meta = with lib; {
diff --git a/pkgs/os-specific/linux/dpdk-kmods/default.nix b/pkgs/os-specific/linux/dpdk-kmods/default.nix
index a188336cbe5..694e508dcd0 100644
--- a/pkgs/os-specific/linux/dpdk-kmods/default.nix
+++ b/pkgs/os-specific/linux/dpdk-kmods/default.nix
@@ -11,6 +11,9 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "pic" ];
 
+  makeFlags = kernel.makeFlags ++ [
+    "INSTALL_MOD_PATH=${placeholder "out"}"
+  ];
   KSRC = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
@@ -18,10 +21,9 @@ stdenv.mkDerivation rec {
   preBuild = "cd linux/igb_uio";
 
   installPhase = ''
-    make -C ${KSRC} M=$(pwd) modules_install
+    make -C ${KSRC} M=$(pwd) modules_install $makeFlags
   '';
 
-  INSTALL_MOD_PATH = placeholder "out";
   enableParallelBuilding = true;
 
   meta = with lib; {
diff --git a/pkgs/os-specific/linux/ena/default.nix b/pkgs/os-specific/linux/ena/default.nix
index 1257217a520..5873a2fe2c1 100644
--- a/pkgs/os-specific/linux/ena/default.nix
+++ b/pkgs/os-specific/linux/ena/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "pic" ];
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
+  makeFlags = kernel.makeFlags;
 
   # linux 3.12
   NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
@@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
-    strip -S ena.ko
+    $STRIP -S ena.ko
     dest=$out/lib/modules/${kernel.modDirVersion}/misc
     mkdir -p $dest
     cp ena.ko $dest/
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index e40448be435..721a49ed4a5 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ kernel libdrm ];
 
-  makeFlags = [
+  makeFlags = kernel.makeFlags ++ [
     "KVER=${kernel.modDirVersion}"
     "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
   ];
diff --git a/pkgs/os-specific/linux/forktty/default.nix b/pkgs/os-specific/linux/forktty/default.nix
index f060557cdec..7dc1f0c3b2e 100644
--- a/pkgs/os-specific/linux/forktty/default.nix
+++ b/pkgs/os-specific/linux/forktty/default.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
   version = "1.3";
 
   src = fetchurl {
-    url = "http://sunsite.unc.edu/pub/linux/utils/terminal/forktty-${version}.tgz";
-    sha256 = "sha256-6xc5eshCuCIOsDh0r2DizKAeypGH0TRRotZ4itsvpVk=";
+    url = "mirror://ibiblioPubLinux/utils/terminal/${pname}-${version}.tgz";
+    hash = "sha256-6xc5eshCuCIOsDh0r2DizKAeypGH0TRRotZ4itsvpVk=";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/fwts/module.nix b/pkgs/os-specific/linux/fwts/module.nix
index 737d3316e21..72f25aa800e 100644
--- a/pkgs/os-specific/linux/fwts/module.nix
+++ b/pkgs/os-specific/linux/fwts/module.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "pic" ];
 
-  makeFlags = [
+  makeFlags = kernel.makeFlags ++ [
     "INSTALL_MOD_PATH=${placeholder "out"}"
   ];
 
diff --git a/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix b/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix
index ab2e099d970..bcea220cc96 100644
--- a/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix
+++ b/pkgs/os-specific/linux/gcadapter-oc-kmod/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
-  makeFlags = [
+  makeFlags = kernel.makeFlags ++ [
     "KERNEL_SOURCE_DIR=${kernel.dev}/${kerneldir}/build"
     "INSTALL_MOD_PATH=$(out)"
   ];
diff --git a/pkgs/os-specific/linux/hid-nintendo/default.nix b/pkgs/os-specific/linux/hid-nintendo/default.nix
index e9ee88252ea..7d01120b2f3 100644
--- a/pkgs/os-specific/linux/hid-nintendo/default.nix
+++ b/pkgs/os-specific/linux/hid-nintendo/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
-  makeFlags = [
+  makeFlags = kernel.makeFlags ++ [
     "-C"
     "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     "M=$(sourceRoot)"
diff --git a/pkgs/os-specific/linux/jool/default.nix b/pkgs/os-specific/linux/jool/default.nix
index 2fd10778e2c..9246ca679a6 100644
--- a/pkgs/os-specific/linux/jool/default.nix
+++ b/pkgs/os-specific/linux/jool/default.nix
@@ -16,13 +16,12 @@ stdenv.mkDerivation {
     sed -e 's@/lib/modules/\$(.*)@${kernel.dev}/lib/modules/${kernel.modDirVersion}@' -i src/mod/*/Makefile
   '';
 
-  buildPhase = ''
-    make -C src/mod
-  '';
+  makeFlags = kernel.makeFlags ++ [
+    "-C src/mod"
+    "INSTALL_MOD_PATH=${placeholder "out"}"
+  ];
 
-  installPhase = ''
-    make -C src/mod modules_install INSTALL_MOD_PATH=$out
-  '';
+  installTargets = "modules_install";
 
   meta = with lib; {
     homepage = "https://www.jool.mx/";
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 671fdef2f5d..068aedf3121 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -218,6 +218,11 @@ let
       # Kernel TLS
       TLS         = whenAtLeast "4.13" module;
       TLS_DEVICE  = whenAtLeast "4.18" yes;
+
+      # infiniband
+      INFINIBAND = module;
+      INFINIBAND_IPOIB = module;
+      INFINIBAND_IPOIB_CM = yes;
     };
 
     wireless = {
@@ -719,7 +724,12 @@ let
 
       HID_ACRUX_FF       = yes;
       DRAGONRISE_FF      = yes;
+      GREENASIA_FF       = yes;
       HOLTEK_FF          = yes;
+      JOYSTICK_PSXPAD_SPI_FF = whenAtLeast "4.14" yes;
+      LOGIG940_FF        = yes;
+      NINTENDO_FF        = whenAtLeast "5.16" yes;
+      PLAYSTATION_FF     = whenAtLeast "5.12" yes;
       SONY_FF            = yes;
       SMARTJOYPLUS_FF    = yes;
       THRUSTMASTER_FF    = yes;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 4336e6297f5..9daf9c4bd19 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.270";
+  version = "4.14.272";
 
   # 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 = "17fj5aif5f0z0xgb321ghpv5p6drqxz0w948dr4hql4cj193r2zv";
+    sha256 = "0scx13pc5y5jmm5xa17my242gsgb1mf0cgqzjx656g7kkh4phqcv";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index ff3b8ea22b6..c4bd2f8fc5d 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.233";
+  version = "4.19.235";
 
   # 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 = "0dyf1xapmhly9gpygyjzj5yhn6s5xb0gss033sgllwn243q6bxmq";
+    sha256 = "1615y3ma9icmqqr7lisl8nd8zvvkh77a81yl39yvy6qi9345l32k";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 1a8be19098f..9eae11205ca 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.305";
+  version = "4.9.307";
   extraMeta.branch = "4.9";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0yspfrqlgpsa3a591bk9c2xqq5xf70lqfgj8wrnhd42agfxanr8k";
+    sha256 = "1xyhz7hq8yyclxyavzk36sbl41vlb74pccd56240kq34ma1hyis7";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index 07061ec05bc..dec0ebb154a 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.104";
+  version = "5.10.106";
 
   # 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/v5.x/linux-${version}.tar.xz";
-    sha256 = "1wb2ql58md45wi49bp3rck7ppgisyjdl7lxarzqd094fx9kr4jir";
+    sha256 = "0yjrlghcxw3lhd6nc2m4zy4gk536w3a3w6mxdsml690fqz4531n6";
   };
 } // (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 b1a0b1bdcf0..7b76ab0c8a5 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.27";
+  version = "5.15.29";
 
   # 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 = "01ksvmcwljzphbdll0pd9zg8ys8jy5xy29b54pxqjs3wq3n8zj9k";
+    sha256 = "0vl7xm4xs59z071wfjna392yada3hg5h6h3dfjaswircc22fc1ar";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.16.nix b/pkgs/os-specific/linux/kernel/linux-5.16.nix
index 43aca96805e..1fadc0d420e 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.16.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.16.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.16.13";
+  version = "5.16.15";
 
   # 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/v5.x/linux-${version}.tar.xz";
-    sha256 = "1fvz4v3mcm9yxfak6mshl764piadgz46y71wprb85b1shc09i2ig";
+    sha256 = "1mi41npkk1inqchm3yp14xmzc5lrp50d7vbpazwxwq5kw04c8c4g";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index f9e65542390..c234b4f898c 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.183";
+  version = "5.4.185";
 
   # 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/v5.x/linux-${version}.tar.xz";
-    sha256 = "17691h1575spgwh88mk189ars6gyjcl9nnaz585l2da8civhnjrd";
+    sha256 = "11rp3x05bq9cs9gwy4x36ynkgl7nb5ss29zi6m7n5ywvczdfjpyi";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index 16577980809..8c4dc41e8f5 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "18613";
-    sha256 = "1qgvhrh4nnn56aykaxqmlnzy8s111b5vn277n7qm4ldyr312g4hs";
+    rev = "18635";
+    sha256 = "0d74hji2cms9z3h3s1j4i7qnw1350a95vafrqargf9s2zz0bkgfc";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index 70be0e58ebc..50b3f18e9e2 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.100-rt62"; # updated by ./update-rt.sh
+  version = "5.10.104-rt63"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "16892wnfkdpqy3v4xmdzlqn5zlfrgz9wqh6vadnx58xnr6pnasfm";
+    sha256 = "1wb2ql58md45wi49bp3rck7ppgisyjdl7lxarzqd094fx9kr4jir";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "1wimp4ckaqp5cfvkf50gv3s5biyr0sjifz4faw23m07ciydm15k0";
+      sha256 = "17ivd6dm49axc9k6cqf39wjjqrjqbj5xd3n7lqk7vv95rg9fg0g7";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
index c1534838b72..747563e3c01 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.4.182-rt70"; # updated by ./update-rt.sh
+  version = "5.4.182-rt71"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -21,7 +21,7 @@ in buildLinux (args // {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "193glhb0bkaa7qggkj2vpp3r6avf0sh8fasj8byww7xwkhm7cncq";
+      sha256 = "1lxj63v37bhdgynr8ffyd5g8vp5a79dnzi6fng7jsjapfriywzqh";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
index 52fc24e101e..63d47dd8a38 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
@@ -1,9 +1,9 @@
 { lib
 , fetchpatch
 , kernel
-, date ? "2022-01-12"
-, commit ? "0e6eb60f8be14b02e0a76cb330f4b22c80ec82e9"
-, diffHash ? "091w4r7h93s5rv8hk65aix7l0rr4bd504mv998j7x360bqlb7vpi"
+, date ? "2022-03-09"
+, commit ? "2280551cebc1735f74eef75d650dd5e175461657"
+, diffHash ? "1mrrydidbapdq0fs0vpqhs88k6ghdrvmjpk2zi7xlwj7j32h0nwp"
 , kernelPatches # must always be defined in bcachefs' all-packages.nix entry because it's also a top-level attribute supplied by callPackage
 , argsOverride ? {}
 , ...
@@ -16,7 +16,7 @@
 
     extraMeta = {
       branch = "master";
-      maintainers = with lib.maintainers; [ davidak chiiruno ];
+      maintainers = with lib.maintainers; [ davidak Madouura ];
     };
   } // argsOverride;
 
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 4f12337c893..1ac9cbe00ea 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -56,7 +56,7 @@ let
     hasAttr getAttr optional optionals optionalString optionalAttrs maintainers platforms;
 
   # Dependencies that are required to build kernel modules
-  moduleBuildDependencies = optional (lib.versionAtLeast version "4.14") libelf;
+  moduleBuildDependencies = [ perl ] ++ optional (lib.versionAtLeast version "4.14") libelf;
 
 
   installkernel = writeTextFile { name = "installkernel"; executable=true; text = ''
diff --git a/pkgs/os-specific/linux/libpsm2/default.nix b/pkgs/os-specific/linux/libpsm2/default.nix
index aeb261aaaca..070a18f6984 100644
--- a/pkgs/os-specific/linux/libpsm2/default.nix
+++ b/pkgs/os-specific/linux/libpsm2/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libpsm2";
-  version = "11.2.203";
+  version = "11.2.206";
 
   preConfigure= ''
     export UDEVDIR=$out/etc/udev
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     owner = "intel";
     repo = "opa-psm2";
     rev = "PSM2_${version}";
-    sha256 = "sha256-W5Mg5ATUARMFAy1VVpMKPar0VpbKfrkxa6bDhqVYpoc=";
+    sha256 = "sha256-HsM2OaoX+SdbIednX1MWw1M4kkkPwUs5Dm32q2H7Mg4=";
   };
 
   postInstall = ''
diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix
index 8753f34087c..99ffb7756da 100644
--- a/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -9,16 +9,16 @@ stdenv.mkDerivation rec {
     sha256 = "0hzksx2fw008jdsgfzpws9g7imy6ryw09ai5y0knvrmvr68nvj57";
   };
 
-  buildInputs = kernel.moduleBuildDependencies;
+  nativeBuildInputs = kernel.moduleBuildDependencies;
 
   hardeningDisable = [ "pic" ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
 
-  preConfigure = ''
-    export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-    export INSTALL_MOD_PATH="$out"
-  '';
+  makeFlags = kernel.makeFlags ++ [
+    "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    "INSTALL_MOD_PATH=${placeholder "out"}"
+  ];
 
   installTargets = [ "modules_install" ];
 
diff --git a/pkgs/os-specific/linux/lvm2/2_03.nix b/pkgs/os-specific/linux/lvm2/2_03.nix
index 555ff6b0dc1..73f1e9fbdee 100644
--- a/pkgs/os-specific/linux/lvm2/2_03.nix
+++ b/pkgs/os-specific/linux/lvm2/2_03.nix
@@ -1,4 +1,4 @@
 import ./common.nix {
-  version = "2.03.14";
-  sha256 = "0p5077h3z7mrr0b49ikmhlhrs4v4qb530raypk3y72ja125bqqsa";
+  version = "2.03.15";
+  sha256 = "17n9xl01by7dcbjwjnr6b4rrkp2frz8hwnjl59svsyp13sjq6llk";
 }
diff --git a/pkgs/os-specific/linux/lvm2/common.nix b/pkgs/os-specific/linux/lvm2/common.nix
index 0749292531b..0f2e6efe3a2 100644
--- a/pkgs/os-specific/linux/lvm2/common.nix
+++ b/pkgs/os-specific/linux/lvm2/common.nix
@@ -63,6 +63,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     sed -i /DEFAULT_SYS_DIR/d Makefile.in
     sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in
+  '' + lib.optionalString (lib.versionOlder version "2.03.15") ''
     substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
       --replace /usr/bin/udevadm /run/current-system/systemd/bin/udevadm
     # https://github.com/lvmteam/lvm2/issues/36
@@ -82,7 +83,7 @@ stdenv.mkDerivation rec {
     sed -i 's|^#define LVM_CONFIGURE_LINE.*$|#define LVM_CONFIGURE_LINE "<removed>"|g' ./include/configure.h
   '';
 
-  patches = [
+  patches = lib.optionals (lib.versionOlder version "2.03.15") [
     # Musl fixes from Alpine.
     ./fix-stdio-usage.patch
     (fetchpatch {
diff --git a/pkgs/os-specific/linux/mba6x_bl/default.nix b/pkgs/os-specific/linux/mba6x_bl/default.nix
index fe9c11ace1f..04a89ad038d 100644
--- a/pkgs/os-specific/linux/mba6x_bl/default.nix
+++ b/pkgs/os-specific/linux/mba6x_bl/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
-  makeFlags = [
+  makeFlags = kernel.makeFlags ++ [
     "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     "INSTALL_MOD_PATH=$(out)"
   ];
diff --git a/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix b/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix
index 070b4a6207e..0b4fec4dfb4 100644
--- a/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix
+++ b/pkgs/os-specific/linux/mbp-modules/mbp2018-bridge-drv/default.nix
@@ -11,14 +11,17 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-o6yGiR+Y5SnX1johdi7fQWP5ts7HdDMqeju75UOhgik=";
   };
 
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+  makeFlags = kernel.makeFlags;
+
   buildPhase = ''
     make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build \
-      -j$NIX_BUILD_CORES M=$(pwd) modules
+      -j$NIX_BUILD_CORES M=$(pwd) modules $makeFlags
   '';
 
   installPhase = ''
     make -C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build  \
-      INSTALL_MOD_PATH=$out M=$(pwd) modules_install
+      INSTALL_MOD_PATH=$out M=$(pwd) modules_install $makeFlags
   '';
 
   meta = with lib; {
diff --git a/pkgs/os-specific/linux/netatop/default.nix b/pkgs/os-specific/linux/netatop/default.nix
index 28f989929a4..dec1399d169 100644
--- a/pkgs/os-specific/linux/netatop/default.nix
+++ b/pkgs/os-specific/linux/netatop/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation {
     sha256 = "0qjw8glfdmngfvbn1w63q128vxdz2jlabw13y140ga9i5ibl6vvk";
   };
 
+  nativeBuildInputs = kernel.moduleBuildDependencies;
   buildInputs = [ kmod zlib ];
 
   hardeningDisable = [ "pic" ];
@@ -36,6 +37,8 @@ stdenv.mkDerivation {
     kmod=${kmod} substituteAllInPlace netatop.service
   '';
 
+  makeFlags = kernel.makeFlags;
+
   preInstall = ''
     mkdir -p $out/lib/systemd/system $out/bin $out/sbin $out/share/man/man{4,8}
     mkdir -p $out/lib/modules/${kernel.modDirVersion}/extra
diff --git a/pkgs/os-specific/linux/ocf-resource-agents/default.nix b/pkgs/os-specific/linux/ocf-resource-agents/default.nix
index 9c9557c7be8..8d7f2b52714 100644
--- a/pkgs/os-specific/linux/ocf-resource-agents/default.nix
+++ b/pkgs/os-specific/linux/ocf-resource-agents/default.nix
@@ -1,3 +1,5 @@
+# This combines together OCF definitions from other derivations.
+# https://github.com/ClusterLabs/resource-agents/blob/master/doc/dev-guides/ra-dev-guide.asc
 { stdenv
 , lib
 , runCommand
@@ -8,12 +10,16 @@
 , python3
 , glib
 , drbd
+, pacemaker
 }:
 
 let
   drbdForOCF = drbd.override {
     forOCF = true;
   };
+  pacemakerForOCF = pacemaker.override {
+    forOCF = true;
+  };
 
   resource-agentsForOCF = stdenv.mkDerivation rec {
     pname = "resource-agents";
@@ -53,4 +59,5 @@ runCommand "ocf-resource-agents" {} ''
   mkdir -p $out/usr/lib/ocf
   ${lndir}/bin/lndir -silent "${resource-agentsForOCF}/lib/ocf/" $out/usr/lib/ocf
   ${lndir}/bin/lndir -silent "${drbdForOCF}/usr/lib/ocf/" $out/usr/lib/ocf
+  ${lndir}/bin/lndir -silent "${pacemakerForOCF}/usr/lib/ocf/" $out/usr/lib/ocf
 ''
diff --git a/pkgs/os-specific/linux/oci-seccomp-bpf-hook/default.nix b/pkgs/os-specific/linux/oci-seccomp-bpf-hook/default.nix
index 511dd162785..1952d31b024 100644
--- a/pkgs/os-specific/linux/oci-seccomp-bpf-hook/default.nix
+++ b/pkgs/os-specific/linux/oci-seccomp-bpf-hook/default.nix
@@ -10,12 +10,12 @@
 
 buildGoModule rec {
   pname = "oci-seccomp-bpf-hook";
-  version = "1.2.3";
+  version = "1.2.5";
   src = fetchFromGitHub {
     owner = "containers";
     repo = "oci-seccomp-bpf-hook";
     rev = "v${version}";
-    sha256 = "sha256-EKD6tkdQCPlVlb9ScvRwDxYAtbbv9PIqBHH6SvtPDsE=";
+    sha256 = "sha256-PU7WX5RAV6wWVRsqq6MdEjr00AtlTT4cSacRaxrEF2s=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/os-specific/linux/openrazer/driver.nix b/pkgs/os-specific/linux/openrazer/driver.nix
index 6e387de0719..2de63580ac3 100644
--- a/pkgs/os-specific/linux/openrazer/driver.nix
+++ b/pkgs/os-specific/linux/openrazer/driver.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation (common // {
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
-  buildFlags = [
+  makeFlags = kernel.makeFlags ++ [
     "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
   ];
 
diff --git a/pkgs/os-specific/linux/r8168/default.nix b/pkgs/os-specific/linux/r8168/default.nix
index 91e15db2eeb..680cc531af4 100644
--- a/pkgs/os-specific/linux/r8168/default.nix
+++ b/pkgs/os-specific/linux/r8168/default.nix
@@ -27,11 +27,13 @@ in stdenv.mkDerivation rec {
   # avoid using the Makefile directly -- it doesn't understand
   # any kernel but the current.
   # based on the ArchLinux pkgbuild: https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/r8168
+  makeFlags = kernel.makeFlags ++ [
+    "-C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    "M=$(PWD)/src"
+    "modules"
+  ];
   preBuild = ''
-    makeFlagsArray+=("-C${kernel.dev}/lib/modules/${kernel.modDirVersion}/build")
-    makeFlagsArray+=("M=$PWD/src")
     makeFlagsArray+=("EXTRA_CFLAGS=-DCONFIG_R8168_NAPI -DCONFIG_R8168_VLAN -DCONFIG_ASPM -DENABLE_S5WOL -DENABLE_EEE")
-    makeFlagsArray+=("modules")
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/rtl8189es/default.nix b/pkgs/os-specific/linux/rtl8189es/default.nix
index 500359f7e4f..d6b5785210b 100644
--- a/pkgs/os-specific/linux/rtl8189es/default.nix
+++ b/pkgs/os-specific/linux/rtl8189es/default.nix
@@ -2,17 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "rtl8189es-${kernel.version}-${version}";
-  version = "2020-10-03";
+  version = "2021-10-01";
 
   src = fetchFromGitHub {
     owner = "jwrdegoede";
     repo = "rtl8189ES_linux";
-    rev = "03ac413135a355b55b693154c44b70f86a39732e";
-    sha256 = "0wiikviwyvy6h55rgdvy7csi1zqniqg26p8x44rd6mhbw0g00h56";
+    rev = "be378f47055da1bae42ff6ec1d62f1a5052ef097";
+    sha256 = "sha256-+19q1Xux2BjquavY+s0UDzTubEt6BEUZ9XVDVmj36us=";
   };
 
-  nativeBuildInputs = [ bc nukeReferences ];
-  buildInputs = kernel.moduleBuildDependencies;
+  nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies;
 
   hardeningDisable = [ "pic" "format" ];
 
@@ -23,13 +22,10 @@ stdenv.mkDerivation rec {
     substituteInPlace ./Makefile --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
   '';
 
-  makeFlags = [
-    "ARCH=${stdenv.hostPlatform.linuxArch}"
+  makeFlags = kernel.makeFlags ++ [
     "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     ("CONFIG_PLATFORM_I386_PC=" + (if (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) then "y" else "n"))
     ("CONFIG_PLATFORM_ARM_RPI=" + (if (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) then "y" else "n"))
-  ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
   ];
 
   preInstall = ''
diff --git a/pkgs/os-specific/linux/rtl8192eu/default.nix b/pkgs/os-specific/linux/rtl8192eu/default.nix
index b33330611b8..6fa15358582 100644
--- a/pkgs/os-specific/linux/rtl8192eu/default.nix
+++ b/pkgs/os-specific/linux/rtl8192eu/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = kernel.moduleBuildDependencies ++ [ bc ];
 
-  makeFlags = [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
+  makeFlags = kernel.makeFlags ++ [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/os-specific/linux/rtl8814au/default.nix b/pkgs/os-specific/linux/rtl8814au/default.nix
index f9ca60b1112..f12adf73d5f 100644
--- a/pkgs/os-specific/linux/rtl8814au/default.nix
+++ b/pkgs/os-specific/linux/rtl8814au/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation {
     sha256 = "0lk3ldff489ggbqmlfi4zvnp1cvxj1b06m0fhpzai82070klzzmj";
   };
 
-  buildInputs = kernel.moduleBuildDependencies;
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+  makeFlags = kernel.makeFlags;
 
   hardeningDisable = [ "pic" ];
 
diff --git a/pkgs/os-specific/linux/rtl8821ce/default.nix b/pkgs/os-specific/linux/rtl8821ce/default.nix
index 75e12a1b7a4..27303c02980 100644
--- a/pkgs/os-specific/linux/rtl8821ce/default.nix
+++ b/pkgs/os-specific/linux/rtl8821ce/default.nix
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "pic" ];
 
-  nativeBuildInputs = [ bc ];
-  buildInputs = kernel.moduleBuildDependencies;
+  nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies;
+  makeFlags = kernel.makeFlags;
 
   prePatch = ''
     substituteInPlace ./Makefile \
diff --git a/pkgs/os-specific/linux/rtl8821cu/default.nix b/pkgs/os-specific/linux/rtl8821cu/default.nix
index 9229a3c1306..0ea0682214b 100644
--- a/pkgs/os-specific/linux/rtl8821cu/default.nix
+++ b/pkgs/os-specific/linux/rtl8821cu/default.nix
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "pic" ];
 
-  nativeBuildInputs = [ bc ];
-  buildInputs = kernel.moduleBuildDependencies;
+  nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies;
+  makeFlags = kernel.makeFlags;
 
   prePatch = ''
     substituteInPlace ./Makefile \
diff --git a/pkgs/os-specific/linux/rtl88x2bu/default.nix b/pkgs/os-specific/linux/rtl88x2bu/default.nix
index 31d8f50a528..e092d145abd 100644
--- a/pkgs/os-specific/linux/rtl88x2bu/default.nix
+++ b/pkgs/os-specific/linux/rtl88x2bu/default.nix
@@ -13,10 +13,10 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "pic" ];
 
-  nativeBuildInputs = [ bc ];
-  buildInputs = kernel.moduleBuildDependencies;
+  nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies;
+  makeFlags = kernel.makeFlags;
 
- prePatch = ''
+  prePatch = ''
     substituteInPlace ./Makefile \
       --replace /lib/modules/ "${kernel.dev}/lib/modules/" \
       --replace '$(shell uname -r)' "${kernel.modDirVersion}" \
diff --git a/pkgs/os-specific/linux/rtw88/default.nix b/pkgs/os-specific/linux/rtw88/default.nix
index c3f849df118..529ee621892 100644
--- a/pkgs/os-specific/linux/rtw88/default.nix
+++ b/pkgs/os-specific/linux/rtw88/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation {
     hash = "sha256-PRzWXC1lre8gt1GfVdnaG836f5YK57P9a8tG20yef0w=";
   };
 
-  makeFlags = [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+  makeFlags = kernel.makeFlags ++ [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/os-specific/linux/rtw89/default.nix b/pkgs/os-specific/linux/rtw89/default.nix
index 6b0f06c5bdc..6ff208fa6dd 100644
--- a/pkgs/os-specific/linux/rtw89/default.nix
+++ b/pkgs/os-specific/linux/rtw89/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation {
     sha256 = "0cvawyi1ksw9xkr8pzwipsl7b8hnmrb17w5cblyicwih8fqaw632";
   };
 
-  makeFlags = [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+  makeFlags = kernel.makeFlags ++ [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/os-specific/linux/tuigreet/default.nix b/pkgs/os-specific/linux/tuigreet/default.nix
index 581b89fb1c6..95de5b8c8d9 100644
--- a/pkgs/os-specific/linux/tuigreet/default.nix
+++ b/pkgs/os-specific/linux/tuigreet/default.nix
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-H5xqk7Yd3M8sFGHlmhAS0fhh3eM4dkvkNQGVxRSXUJs=";
 
   meta = with lib; {
-    description = "Graphical console greter for greetd";
+    description = "Graphical console greeter for greetd";
     homepage = "https://github.com/apognu/tuigreet";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ luc65r ivar ];
diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix
index fd321d90cb2..427e19ac921 100644
--- a/pkgs/os-specific/linux/udisks/2-default.nix
+++ b/pkgs/os-specific/linux/udisks/2-default.nix
@@ -25,9 +25,11 @@ stdenv.mkDerivation rec {
       blkid = "${util-linux}/bin/blkid";
       false = "${coreutils}/bin/false";
       mdadm = "${mdadm}/bin/mdadm";
+      mkswap = "${util-linux}/bin/mkswap";
       sed = "${gnused}/bin/sed";
       sh = "${bash}/bin/sh";
       sleep = "${coreutils}/bin/sleep";
+      swapon = "${util-linux}/bin/swapon";
       true = "${coreutils}/bin/true";
     })
     (substituteAll {
@@ -77,7 +79,7 @@ stdenv.mkDerivation rec {
     description = "A daemon, tools and libraries to access and manipulate disks, storage devices and technologies";
     homepage = "https://www.freedesktop.org/wiki/Software/udisks/";
     license = with licenses; [ lgpl2Plus gpl2Plus ]; # lgpl2Plus for the library, gpl2Plus for the tools & daemon
-    maintainers = with maintainers; [ johnazoidberg ];
+    maintainers = teams.freedesktop.members ++ (with maintainers; [ johnazoidberg ]);
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/udisks/fix-paths.patch b/pkgs/os-specific/linux/udisks/fix-paths.patch
index 215df565ecc..30bc08da8cf 100644
--- a/pkgs/os-specific/linux/udisks/fix-paths.patch
+++ b/pkgs/os-specific/linux/udisks/fix-paths.patch
@@ -1,17 +1,5 @@
-diff --git a/Makefile.am b/Makefile.am
-index 56922b79..697f8c6e 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,6 +1,6 @@
- ## Process this file with automake to produce Makefile.in
- 
--SHELL = @BASH@
-+SHELL = @bash@
- .SHELLFLAGS = -o pipefail -c
- 
- PYTHON ?= python3
 diff --git a/data/80-udisks2.rules b/data/80-udisks2.rules
-index 39bfa28b..ee1ca90a 100644
+index ca802cce..bfd1c29e 100644
 --- a/data/80-udisks2.rules
 +++ b/data/80-udisks2.rules
 @@ -17,9 +17,9 @@ ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="?*", GOTO="udisks_probe_end"
@@ -66,9 +54,27 @@ index e7df4ed2..ab4356d9 100644
  # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  #
 diff --git a/src/tests/integration-test b/src/tests/integration-test
-index 4499a6a9..8b711f95 100755
+index 07e4e029..3bd8ec51 100755
 --- a/src/tests/integration-test
 +++ b/src/tests/integration-test
+@@ -299,7 +299,7 @@ class UDisksTestCase(unittest.TestCase):
+         if not device:
+             device = cls.devname(partition)
+         result = {}
+-        cmd = subprocess.Popen(['blkid', '-p', '-o', 'udev', device], stdout=subprocess.PIPE)
++        cmd = subprocess.Popen(['@blkid@', '-p', '-o', 'udev', device], stdout=subprocess.PIPE)
+         for l in cmd.stdout:
+             (key, value) = l.decode('UTF-8').split('=', 1)
+             result[key] = value.strip()
+@@ -437,7 +437,7 @@ class UDisksTestCase(unittest.TestCase):
+                 f.write('KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", '
+                         'ATTRS{model}=="scsi_debug*", '
+                         'ENV{ID_CDROM_MEDIA}=="?*", '
+-                        'IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode"\n')
++                        'IMPORT{program}="@blkid@ -o udev -p -u noraid $tempnode"\n')
+             # reload udev
+             subprocess.call('sync; pkill --signal HUP udevd || '
+                             'pkill --signal HUP systemd-udevd',
 @@ -1142,7 +1142,7 @@ class FS(UDisksTestCase):
          self.assertFalse(os.access(f, os.X_OK))
  
@@ -150,6 +156,3 @@ index 3ddbdf2c..a87f960a 100644
    udisks_spawned_job_start (job);
    g_object_unref (job);
  }
--- 
-2.33.1
-
diff --git a/pkgs/os-specific/linux/usbguard/default.nix b/pkgs/os-specific/linux/usbguard/default.nix
index de4517872fc..35505af5a1e 100644
--- a/pkgs/os-specific/linux/usbguard/default.nix
+++ b/pkgs/os-specific/linux/usbguard/default.nix
@@ -24,14 +24,14 @@
 assert libgcrypt != null -> libsodium == null;
 
 stdenv.mkDerivation rec {
-  version = "1.1.0";
+  version = "1.1.1";
   pname = "usbguard";
 
   src = fetchFromGitHub {
     owner = "USBGuard";
     repo = pname;
     rev = "usbguard-${version}";
-    sha256 = "sha256-lnHeU/X/2N81WPLakRYLs8TjpBhxBPhiXDJ+wNW0sU0=";
+    sha256 = "sha256-lAh+l9GF+FHQqv2kEYU5JienZKGwR5e45BYAwjieYgw=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 8485565e0a8..bedd2417e7e 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "util-linux";
-  version = "2.37.3";
+  version = "2.37.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-WQxZLljNa/OFGctGevBc5qGrGAQOPjQY8kvPsvVfl3Y=";
+    sha256 = "sha256-Y05pFq2RM2bDU2tkaOeER2lUm5mnsr+AMU3nirVlW4M=";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix
index 90a052fdef9..3fdd9e791bd 100644
--- a/pkgs/os-specific/linux/v4l-utils/default.nix
+++ b/pkgs/os-specific/linux/v4l-utils/default.nix
@@ -12,11 +12,11 @@ let
 # we need to use stdenv.mkDerivation in order not to pollute the libv4l’s closure with Qt
 in stdenv.mkDerivation rec {
   pname = "v4l-utils";
-  version = "1.20.0";
+  version = "1.22.1";
 
   src = fetchurl {
     url = "https://linuxtv.org/downloads/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "1xr66y6w422hil6s7n8d61a2vhwh4im8l267amf41jvw7xqihqcm";
+    hash = "sha256-Zcb76DCkTKEFxEOwJxgsGyyQU6kdHnKthJ36s4i5TjE=";
   };
 
   outputs = [ "out" ] ++ lib.optional withUtils "lib" ++ [ "dev" ];
@@ -40,14 +40,16 @@ in stdenv.mkDerivation rec {
   propagatedBuildInputs = [ libjpeg ];
 
   postPatch = ''
-    patchShebangs utils/cec-ctl/msg2ctl.pl
-    patchShebangs utils/libcecutil/cec-gen.pl
+    patchShebangs utils/
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "V4L utils and libv4l, provide common image formats regardless of the v4l device";
     homepage = "https://linuxtv.org/projects.php";
-    license = licenses.lgpl21Plus;
+    changelog = "https://git.linuxtv.org/v4l-utils.git/plain/ChangeLog?h=v4l-utils-${version}";
+    license = with licenses; [ lgpl21Plus gpl2Plus ];
     maintainers = with maintainers; [ codyopel ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix
index c1aa7be2af6..095d873e66c 100644
--- a/pkgs/os-specific/linux/v4l2loopback/default.nix
+++ b/pkgs/os-specific/linux/v4l2loopback/default.nix
@@ -16,12 +16,9 @@ stdenv.mkDerivation rec {
   preBuild = ''
     substituteInPlace Makefile --replace "modules_install" "INSTALL_MOD_PATH=$out modules_install"
     sed -i '/depmod/d' Makefile
-    export PATH=${kmod}/sbin:$PATH
   '';
 
-  nativeBuildInputs = kernel.moduleBuildDependencies;
-
-  buildInputs = [ kmod ];
+  nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies;
 
   postInstall = ''
     make install-utils PREFIX=$bin
@@ -29,7 +26,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "bin" ];
 
-  makeFlags = [
+  makeFlags = kernel.makeFlags ++ [
     "KERNELRELEASE=${kernel.modDirVersion}"
     "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
   ];
diff --git a/pkgs/os-specific/linux/veikk-linux-driver/default.nix b/pkgs/os-specific/linux/veikk-linux-driver/default.nix
index a1019d7b7fd..8cf4896ae02 100644
--- a/pkgs/os-specific/linux/veikk-linux-driver/default.nix
+++ b/pkgs/os-specific/linux/veikk-linux-driver/default.nix
@@ -15,9 +15,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ kernel ];
 
-  buildPhase = ''
-    make BUILD_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
-  '';
+  makeFlags = kernel.makeFlags ++ [
+    "BUILD_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
 
   installPhase = ''
     mkdir -p $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/veikk
diff --git a/pkgs/os-specific/linux/xmm7360-pci/default.nix b/pkgs/os-specific/linux/xmm7360-pci/default.nix
index 6a589ff889c..435ff94afb7 100644
--- a/pkgs/os-specific/linux/xmm7360-pci/default.nix
+++ b/pkgs/os-specific/linux/xmm7360-pci/default.nix
@@ -11,10 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "1wdb0phqg9rj9g9ycqdya0m7lx24kzjlh25yw0ifp898ddxrrr0c";
   };
 
-  makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
+  makeFlags = kernel.makeFlags ++ [
+    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    "INSTALL_MOD_PATH=${placeholder "out"}"
+  ];
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
-  INSTALL_MOD_PATH = placeholder "out";
   installFlags = [ "DEPMOD=true" ];
 
   meta = with lib; {
diff --git a/pkgs/os-specific/linux/xpadneo/default.nix b/pkgs/os-specific/linux/xpadneo/default.nix
index c1874877620..c5aa09a8860 100644
--- a/pkgs/os-specific/linux/xpadneo/default.nix
+++ b/pkgs/os-specific/linux/xpadneo/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = kernel.moduleBuildDependencies;
   buildInputs = [ bluez ];
 
-  makeFlags = [
+  makeFlags = kernel.makeFlags ++ [
     "-C"
     "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     "M=$(sourceRoot)"
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index e3a856c12a4..b5260d47caa 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -19,8 +19,9 @@
 , linuxPackages_5_16 ? pkgs.linuxKernel.packages.linux_5_16
 }:
 
-with lib;
 let
+  inherit (lib) any optionalString optionals optional makeBinPath;
+
   smartmon = smartmontools.override { inherit enableMail; };
 
   buildKernel = any (n: n == configFile) [ "kernel" "all" ];
@@ -113,7 +114,7 @@ let
       configureFlags = [
         "--with-config=${configFile}"
         "--with-tirpc=1"
-        (withFeatureAs (buildUser && enablePython) "python" python3.interpreter)
+        (lib.withFeatureAs (buildUser && enablePython) "python" python3.interpreter)
       ] ++ optionals buildUser [
         "--with-dracutdir=$(out)/lib/dracut"
         "--with-udevdir=$(out)/lib/udev"
@@ -200,9 +201,9 @@ let
         '';
         homepage = "https://github.com/openzfs/zfs";
         changelog = "https://github.com/openzfs/zfs/releases/tag/zfs-${version}";
-        license = licenses.cddl;
-        platforms = platforms.linux;
-        maintainers = with maintainers; [ hmenke jcumming jonringer wizeman fpletz globin ];
+        license = lib.licenses.cddl;
+        platforms = lib.platforms.linux;
+        maintainers = with lib.maintainers; [ hmenke jcumming jonringer wizeman fpletz globin ];
         mainProgram = "zfs";
         # If your Linux kernel version is not yet supported by zfs, try zfsUnstable.
         # On NixOS set the option boot.zfs.enableUnstable.
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index c1e092dedcb..1179e86351a 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "slurm";
-  version = "21.08.5.1";
+  version = "21.08.6.1";
 
   # 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 +18,7 @@ stdenv.mkDerivation rec {
     repo = "slurm";
     # The release tags use - instead of .
     rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
-    sha256 = "sha256-2ctJnCZCziPnfWeDNvvcE0tPGVdhzjjhqMWJhWhitGo=";
+    sha256 = "1pdj2nxxky2g9j0y5h6f7fvpypbh0a4g76z90115yr770yf4g2hz";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/servers/corosync/default.nix b/pkgs/servers/corosync/default.nix
index df73fb9f48e..4df8a547dff 100644
--- a/pkgs/servers/corosync/default.nix
+++ b/pkgs/servers/corosync/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, makeWrapper, pkg-config, kronosnet, nss, nspr, libqb
-, dbus, rdma-core, libstatgrab, net-snmp
+, systemd, dbus, rdma-core, libstatgrab, net-snmp
 , enableDbus ? false
 , enableInfiniBandRdma ? false
 , enableMonitoring ? false
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper pkg-config ];
 
   buildInputs = [
-    kronosnet nss nspr libqb
+    kronosnet nss nspr libqb systemd.dev
   ] ++ optional enableDbus dbus
     ++ optional enableInfiniBandRdma rdma-core
     ++ optional enableMonitoring libstatgrab
@@ -32,6 +32,8 @@ stdenv.mkDerivation rec {
     "--with-logdir=/var/log/corosync"
     "--enable-watchdog"
     "--enable-qdevices"
+    # allows Type=notify in the systemd service
+    "--enable-systemd"
   ] ++ optional enableDbus "--enable-dbus"
     ++ optional enableInfiniBandRdma "--enable-rdma"
     ++ optional enableMonitoring "--enable-monitoring"
@@ -63,6 +65,10 @@ stdenv.mkDerivation rec {
       --prefix PATH ":" "$out/sbin:${libqb}/sbin"
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) pacemaker;
+  };
+
   meta = {
     homepage = "http://corosync.org/";
     description = "A Group Communication System with features for implementing high availability within applications";
diff --git a/pkgs/servers/dns/coredns/default.nix b/pkgs/servers/dns/coredns/default.nix
index 7e6347e9ba3..66298866dbc 100644
--- a/pkgs/servers/dns/coredns/default.nix
+++ b/pkgs/servers/dns/coredns/default.nix
@@ -2,23 +2,30 @@
 
 buildGoModule rec {
   pname = "coredns";
-  version = "1.9.0";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "coredns";
     repo = "coredns";
     rev = "v${version}";
-    sha256 = "sha256-8IYJxb+HssS2xTboBRo3lz9czklt/Sn098ATlDaO7Gs=";
+    sha256 = "sha256-1lJrbazEgsRHI10qIgA9KgglsxpnMIdxEWpu6RiJ0pQ=";
   };
 
-  vendorSha256 = "sha256-Vxs+k4WF55xwjgdlW/1NM4NWnYqj2EOLOONflj+BoY4=";
+  vendorSha256 = "sha256-ueEuduZ76FUs2wE8oiHGON9+s91jaHhS6gOKr7MNh8g=";
 
-  doCheck = false;
+  postPatch = ''
+    substituteInPlace test/file_cname_proxy_test.go \
+      --replace "TestZoneExternalCNAMELookupWithProxy" \
+                "SkipZoneExternalCNAMELookupWithProxy"
+
+    substituteInPlace test/readme_test.go \
+      --replace "TestReadme" "SkipReadme"
+  '';
 
   meta = with lib; {
     homepage = "https://coredns.io";
     description = "A DNS server that runs middleware";
     license = licenses.asl20;
-    maintainers = with maintainers; [ rushmorem rtreffer deltaevo ];
+    maintainers = with maintainers; [ rushmorem rtreffer deltaevo superherointj ];
   };
 }
diff --git a/pkgs/servers/endlessh-go/default.nix b/pkgs/servers/endlessh-go/default.nix
index ba0dc66a740..eae3cd6a8d5 100644
--- a/pkgs/servers/endlessh-go/default.nix
+++ b/pkgs/servers/endlessh-go/default.nix
@@ -1,22 +1,27 @@
-{ buildGoModule, fetchFromGitHub, lib }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
 
 buildGoModule rec {
   pname = "endlessh-go";
-  version = "20220213";
+  version = "20220308.1";
 
   src = fetchFromGitHub {
     owner = "shizunge";
     repo = "endlessh-go";
     rev = version;
-    sha256 = "sha256-x/38w0GtzYBGWr0ZkfY2HmDEAUI54R833aH0RZSCTC0=";
+    hash = "sha256-U+h/WmTVwwUIBEOiNa/EKS6HvkeoGNmP3NpeP1fcqYw=";
   };
+
   vendorSha256 = "sha256-h/DpbXO+LUsB9NOAXUfNx3VOfEsiolfBEMBrAqVlU3A=";
+
   proxyVendor = true;
 
   meta = with lib; {
-    homepage = "https://github.com/shizunge/endlessh-go";
     description = "An implementation of endlessh exporting Prometheus metrics";
-    license = licenses.gpl3;
+    homepage = "https://github.com/shizunge/endlessh-go";
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ azahi ];
   };
 }
diff --git a/pkgs/servers/fingerd/bsd-fingerd/default.nix b/pkgs/servers/fingerd/bsd-fingerd/default.nix
deleted file mode 100644
index 4fb6f44b454..00000000000
--- a/pkgs/servers/fingerd/bsd-fingerd/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-# !!! Duplication: this package is almost exactly the same as `bsd-fingerd'.
-
-stdenv.mkDerivation rec {
-  pname = "bsd-fingerd";
-  version = "0.17";
-
-  src = fetchurl {
-    url = "mirror://metalab/system/network/finger/bsd-finger-${version}.tar.gz";
-    sha256 = "1yhkiv0in588il7f84k2xiy78g9lv12ll0y7047gazhiimk5v244";
-  };
-
-  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
-
-  patches = [ ./ubuntu-0.17-9.patch ];
-
-  preBuild = "cd fingerd";
-
-  preInstall = "mkdir -p $out/man/man8 $out/sbin ";
-
-  meta = with lib; {
-    platforms = platforms.linux;
-    license = licenses.bsdOriginal;
-  };
-}
diff --git a/pkgs/servers/fingerd/bsd-fingerd/ubuntu-0.17-9.patch b/pkgs/servers/fingerd/bsd-fingerd/ubuntu-0.17-9.patch
deleted file mode 100644
index 80968d587ba..00000000000
--- a/pkgs/servers/fingerd/bsd-fingerd/ubuntu-0.17-9.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- bsd-finger-0.17.orig/fingerd/fingerd.8
-+++ bsd-finger-0.17/fingerd/fingerd.8
-@@ -36,10 +36,10 @@
- .Dt FINGERD 8
- .Os "Linux NetKit (0.17)"
- .Sh NAME
--.Nm fingerd
-+.Nm in.fingerd
- .Nd remote user information server
- .Sh SYNOPSIS
--.Nm fingerd
-+.Nm in.fingerd
- .Op Fl wulf
- .Op Fl pL Ar path
- .Op Fl t Ar timeout
-@@ -61,7 +61,7 @@
- banner
- which also shows some informations (e.g. uptime, operating system name and
- release) about the system the
--.Nm fingerd
-+.Nm in.fingerd
- is running on. Some sites may consider this a security risk as it
- gives out information that may be useful to crackers. 
- .Pp
-@@ -85,7 +85,7 @@
- .Pp
- The 
- .Fl p
--option allows specification of an alternate location for fingerd to find
-+option allows specification of an alternate location for in.fingerd to find
- the 
- .Dq finger
- program. The
-@@ -97,7 +97,7 @@
- option specifies the time to wait for a request before closing the
- connection.  A value of 0 waits forever.  The default is 60 seconds.
- .Pp
--Options to fingerd should be specified in 
-+Options to in.fingerd should be specified in 
- .Pa /etc/inetd.conf .
- .Pp
- The finger protocol consists mostly of specifying command arguments.
-@@ -105,12 +105,12 @@
- .Xr inetd 8
- .Dq super-server
- runs
--.Nm fingerd
-+.Nm in.fingerd
- for 
- .Tn TCP
- requests received on port 79.
- Once connected 
--.Nm fingerd
-+.Nm in.fingerd
- reads a single command line
- terminated by a
- .Aq Tn CRLF
---- bsd-finger-0.17.orig/fingerd/fingerd.c
-+++ bsd-finger-0.17/fingerd/fingerd.c
-@@ -55,6 +55,7 @@
- #include <netinet/in.h>
- #include <sys/utsname.h>
- #include <sys/wait.h>
-+#include <sys/socket.h>
- 
- #include "pathnames.h"
- #include "../version.h"
diff --git a/pkgs/servers/freeradius/default.nix b/pkgs/servers/freeradius/default.nix
index a3cdec3fec8..3999d422d21 100644
--- a/pkgs/servers/freeradius/default.nix
+++ b/pkgs/servers/freeradius/default.nix
@@ -1,28 +1,23 @@
-{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, talloc, finger_bsd, perl
-, openssl
-, linkOpenssl? true
-, openldap
-, withLdap ? true
-, sqlite
-, withSqlite ? true
-, libpcap
-, withPcap ? true
-, libcap
-, withCap ? true
-, libmemcached
-, withMemcached ? false
-, hiredis
-, withRedis ? false
-, libmysqlclient
-, withMysql ? false
-, json_c
-, withJson ? false
-, libyubikey
-, withYubikey ? false
-, collectd
-, withCollectd ? false
-, curl
-, withRest ? false
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, autoreconfHook
+, bsd-finger
+, perl
+, talloc
+, linkOpenssl? true, openssl
+, withCap ? true, libcap
+, withCollectd ? false, collectd
+, withJson ? false, json_c
+, withLdap ? true, openldap
+, withMemcached ? false, libmemcached
+, withMysql ? false, libmysqlclient
+, withPcap ? true, libpcap
+, withRedis ? false, hiredis
+, withRest ? false, curl
+, withSqlite ? true, sqlite
+, withYubikey ? false, libyubikey
 }:
 
 assert withSqlite -> sqlite != null;
@@ -36,43 +31,38 @@ assert withYubikey -> libyubikey != null;
 assert withCollectd -> collectd != null;
 assert withRest -> curl != null && withJson;
 
-## TODO: include windbind optionally (via samba?)
-## TODO: include oracle optionally
-## TODO: include ykclient optionally
-
-with lib;
 stdenv.mkDerivation rec {
   pname = "freeradius";
   version = "3.0.25";
 
   src = fetchurl {
     url = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${version}.tar.gz";
-    sha256 = "SIOmi7PO5GAlNZqXwWkc5lXour/W3DwCHQDhCaL/TBA=";
+    hash = "sha256-SIOmi7PO5GAlNZqXwWkc5lXour/W3DwCHQDhCaL/TBA=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
 
-  buildInputs = [ openssl talloc finger_bsd perl ]
-    ++ optional withLdap openldap
-    ++ optional withSqlite sqlite
-    ++ optional withPcap libpcap
-    ++ optional withCap libcap
-    ++ optional withMemcached libmemcached
-    ++ optional withRedis hiredis
-    ++ optional withMysql libmysqlclient
-    ++ optional withJson json_c
-    ++ optional withYubikey libyubikey
-    ++ optional withCollectd collectd
-    ++ optional withRest curl;
-
+  buildInputs = [ openssl talloc bsd-finger perl ]
+    ++ lib.optional withCap libcap
+    ++ lib.optional withCollectd collectd
+    ++ lib.optional withJson json_c
+    ++ lib.optional withLdap openldap
+    ++ lib.optional withMemcached libmemcached
+    ++ lib.optional withMysql libmysqlclient
+    ++ lib.optional withPcap libpcap
+    ++ lib.optional withRedis hiredis
+    ++ lib.optional withRest curl
+    ++ lib.optional withSqlite sqlite
+    ++ lib.optional withYubikey libyubikey;
 
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
-  ] ++ optional (!linkOpenssl) "--with-openssl=no";
+  ] ++ lib.optional (!linkOpenssl) "--with-openssl=no";
 
   postPatch = ''
-    substituteInPlace src/main/checkrad.in --replace "/usr/bin/finger" "${finger_bsd}/bin/finger"
+    substituteInPlace src/main/checkrad.in \
+      --replace "/usr/bin/finger" "${bsd-finger}/bin/finger"
   '';
 
   # By default, freeradius will generate Diffie-Hellman parameters and
@@ -99,6 +89,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ sheenobu willibutz fpletz lheckemann elseym ];
     platforms = with platforms; linux;
   };
-
 }
-
+## TODO: include windbind optionally (via samba?)
+## TODO: include oracle optionally
+## TODO: include ykclient optionally
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index f12dcb87fb2..7f765eb9fd8 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.3.3";
+  version = "2022.3.5";
   components = {
     "abode" = ps: with ps; [ abodepy ];
     "accuweather" = ps: with ps; [ accuweather ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 2bb62161547..9e7fc76e4e3 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -37,8 +37,11 @@ let
         version = "0.3.0";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "0kx4mbs9bflycd8x9af0idcjhdgnzri3nw1qb0vpfyb3751qaaf9";
+          hash = "sha256-ySmFQzljeXc3WDhwO2L+9jUoWYvAqdRRY566lfSqpE8=";
         };
+        propagatedBuildInputs = with python3.pkgs; [ aiohttp pytest ];
+        doCheck = false;
+        patches = [];
       });
       aiohomekit = super.aiohomekit.overridePythonAttrs (oldAttrs: {
         doCheck = false; # requires aiohttp>=1.0.0
@@ -46,6 +49,9 @@ let
       hass-nabucasa = super.hass-nabucasa.overridePythonAttrs (oldAttrs: {
         doCheck = false; # requires aiohttp>=1.0.0
       });
+      snitun = super.snitun.overridePythonAttrs (oldAttrs: {
+        doCheck = false; # requires aiohttp>=1.0.0
+      });
       zwave-js-server-python = super.zwave-js-server-python.overridePythonAttrs (oldAttrs: {
         doCheck = false; # requires aiohttp>=1.0.0
       });
@@ -158,7 +164,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.3.3";
+  hassVersion = "2022.3.5";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -176,7 +182,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256-qe9/VFcEBDfSa7AYrkmj1b6UGLHcm7CtLHiPwzZz8jg=";
+    hash = "sha256-VXE2zQH/HHhogo5qjneC0zlo9892wgGN1qd3ZFKfyqw=";
   };
 
   # 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 9bfa5cf2f37..9f13a6652d7 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 = "20220301.1";
+  version = "20220301.2";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    sha256 = "sha256-+S888lUHbWqEJQm5HvZqimTfqoDEHYRVAoGQ5UvU4u4=";
+    sha256 = "sha256-iIywlG9ATLV/+bHtOQFx4mRwToelpPdE3DOKSp4yxN0=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index 56d66a2e99c..d72dcb9170b 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, perl, zlib, apr, aprutil, pcre, libiconv, lynx
+{ lib, stdenv, fetchurl, perl, zlib, apr, aprutil, pcre2, libiconv, lynx, which
 , nixosTests
 , proxySupport ? true
 , sslSupport ? true, openssl
@@ -11,17 +11,19 @@
 
 stdenv.mkDerivation rec {
   pname = "apache-httpd";
-  version = "2.4.52";
+  version = "2.4.53";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "sha256-ASf33El+mYPpxRR0vtdeRWB/L4cKdnWobckK9tVy9ck=";
+    sha256 = "sha256-0LvREhpXtfKm/5LXuW+AUMWkXT8U2xGPZJedUlhY22M=";
   };
 
   # FIXME: -dev depends on -doc
   outputs = [ "out" "dev" "man" "doc" ];
   setOutputFlags = false; # it would move $out/modules, etc.
 
+  nativeBuildInputs = [ which ];
+
   buildInputs = [ perl ] ++
     lib.optional brotliSupport brotli ++
     lib.optional sslSupport openssl ++
@@ -42,7 +44,7 @@ stdenv.mkDerivation rec {
     "--with-apr=${apr.dev}"
     "--with-apr-util=${aprutil.dev}"
     "--with-z=${zlib.dev}"
-    "--with-pcre=${pcre.dev}"
+    "--with-pcre=${pcre2.dev}/bin/pcre2-config"
     "--disable-maintainer-mode"
     "--disable-debugger-mode"
     "--enable-mods-shared=all"
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index 86139e7a24f..645abba303a 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "jetty";
-  version = "9.4.45.v20220203";
+  version = "11.0.8";
   src = fetchurl {
-    url = "mirror://maven/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
-    sha256 = "sha256-wmM03qAnNsiEDsLkWyJKZIb3SPCRGCxTsgKBWwopMAw=";
+    url = "mirror://maven/org/eclipse/jetty/jetty-home/${version}/jetty-home-${version}.tar.gz";
+    sha256 = "sha256-fHd0o5f+WLdbDK1nmSnHNKjDO0mV7+vkPs4zVEaqeyw=";
   };
 
   dontBuild = true;
 
   installPhase = ''
     mkdir -p $out
-    mv etc lib modules start.ini start.jar $out
+    mv etc lib modules start.jar $out
   '';
 
   meta = with lib; {
diff --git a/pkgs/servers/http/pomerium/default.nix b/pkgs/servers/http/pomerium/default.nix
index cbf2fe19435..8a5580d5d0d 100644
--- a/pkgs/servers/http/pomerium/default.nix
+++ b/pkgs/servers/http/pomerium/default.nix
@@ -4,6 +4,7 @@
 , envoy
 , zip
 , nixosTests
+, pomerium-cli
 }:
 
 let
@@ -11,18 +12,17 @@ let
 in
 buildGoModule rec {
   pname = "pomerium";
-  version = "0.15.7";
+  version = "0.17.0";
   src = fetchFromGitHub {
     owner = "pomerium";
     repo = "pomerium";
     rev = "v${version}";
-    hash = "sha256:0adlk4ylny1z43x1dw3ny0s1932vhb61hpf5wdz4r65y8k9qyfgr";
+    hash = "sha256:1hv76i6k9f0kp527nxlxqhklsvkh2cmfnqlszmlk2hxij31qnf8q";
   };
 
-  vendorSha256 = "sha256:1fszfbra84pcs8v1h2kf7iy603vf9v2ysg6il76aqmqrxmb1p7nv";
+  vendorSha256 = "sha256:1cq4m5a7z64yg3v1c68d15ilw78il6p53vaqzxgn338zjggr3kig";
   subPackages = [
     "cmd/pomerium"
-    "cmd/pomerium-cli"
   ];
 
   ldflags = let
@@ -74,11 +74,11 @@ buildGoModule rec {
 
   installPhase = ''
     install -Dm0755 $GOPATH/bin/pomerium $out/bin/pomerium
-    install -Dm0755 $GOPATH/bin/pomerium-cli $out/bin/pomerium-cli
   '';
 
   passthru.tests = {
     inherit (nixosTests) pomerium;
+    inherit pomerium-cli;
   };
 
   meta = with lib; {
diff --git a/pkgs/servers/imgproxy/default.nix b/pkgs/servers/imgproxy/default.nix
index 29b33cd6610..2b7ed9e1c9c 100644
--- a/pkgs/servers/imgproxy/default.nix
+++ b/pkgs/servers/imgproxy/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "imgproxy";
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    sha256 = "sha256-8oUPqtoxdJ768CmDNBicBGCyejt2v9GIahVRL6pYDJ4=";
+    sha256 = "sha256-GZYaFK6g26gbVa3sHwTZ4fNGMFWBWevqcfJc/3SC890=";
     rev = "v${version}";
   };
 
-  vendorSha256 = "sha256-Dr5qCLVsv22BcISo2OyB+VEDncPwpcp323w9IfDTQv0=";
+  vendorSha256 = "sha256-uV5pnnvVYviw2LnceQUiTJXva3WI51pgW6IeZzVhULc=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/invidious/default.nix b/pkgs/servers/invidious/default.nix
index 7e939f51bc9..adcd694bad9 100644
--- a/pkgs/servers/invidious/default.nix
+++ b/pkgs/servers/invidious/default.nix
@@ -1,24 +1,27 @@
-{ lib, crystal, fetchFromGitHub, librsvg, pkg-config, libxml2, openssl, sqlite, lsquic, nixosTests }:
+{ lib, stdenv, crystal, fetchFromGitHub, librsvg, pkg-config, libxml2, openssl, shards, sqlite, lsquic, videojs, nixosTests }:
 let
-  # When updating, always update the following:
-  #  * the git revision
-  #  * the version attribute
-  #  * the source hash (sha256)
-  # If the shards.lock file changed, also the following:
-  #  * shards.nix (by running `crystal2nix` in invidious’ source tree)
-  #  * If the lsquic.cr dependency changed: lsquic in lsquic.nix (version, sha256)
-  #  * If the lsquic version changed: boringssl' in lsquic.nix (version, sha256)
-  rev = "21879da80d2dfa97e789a13b90e82e466c4854e3";
+  # All versions, revisions, and checksums are stored in ./versions.json.
+  # The update process is the following:
+  #   * pick the latest commit
+  #   * update .invidious.rev, .invidious.version, and .invidious.sha256
+  #   * prefetch the videojs dependencies with scripts/fetch-player-dependencies.cr
+  #     and update .videojs.sha256 (they are normally fetched during build
+  #     but nix's sandboxing does not allow that)
+  #   * if shard.lock changed
+  #     * recreate shards.nix by running crystal2nix
+  #     * update lsquic and boringssl if necessarry, lsquic.cr depends on
+  #       the same version of lsquic and lsquic requires the boringssl
+  #       commit mentioned in its README
+  versions = builtins.fromJSON (builtins.readFile ./versions.json);
 in
 crystal.buildCrystalPackage rec {
   pname = "invidious";
-  version = "unstable-2021-11-08";
+  inherit (versions.invidious) version;
 
   src = fetchFromGitHub {
     owner = "iv-org";
     repo = pname;
-    inherit rev;
-    sha256 = "0jvnwjdh2l0hxfvzim00r3zbs528bb93y1nk0bjrbbrcfv5cn5ss";
+    inherit (versions.invidious) rev sha256;
   };
 
   postPatch =
@@ -33,13 +36,15 @@ crystal.buildCrystalPackage rec {
       assetCommitTemplate = ''{{ "#{`git rev-list HEAD --max-count=1 --abbrev-commit -- assets`.strip}" }}'';
     in
     ''
+      for d in ${videojs}/*; do ln -s "$d" assets/videojs; done
+
       # Use the version metadata from the derivation instead of using git at
       # build-time
       substituteInPlace src/invidious.cr \
           --replace ${lib.escapeShellArg branchTemplate} '"master"' \
-          --replace ${lib.escapeShellArg commitTemplate} '"${lib.substring 0 7 rev}"' \
+          --replace ${lib.escapeShellArg commitTemplate} '"${lib.substring 0 7 versions.invidious.rev}"' \
           --replace ${lib.escapeShellArg versionTemplate} '"${lib.replaceChars ["-"] ["."] (lib.substring 9 10 version)}"' \
-          --replace ${lib.escapeShellArg assetCommitTemplate} '"${lib.substring 0 7 rev}"'
+          --replace ${lib.escapeShellArg assetCommitTemplate} '"${lib.substring 0 7 versions.invidious.rev}"'
 
       # Patch the assets and locales paths to be absolute
       substituteInPlace src/invidious.cr \
@@ -48,19 +53,22 @@ crystal.buildCrystalPackage rec {
           --replace 'File.read("locales/' 'File.read("${placeholder "out"}/share/invidious/locales/'
 
       # Reference sql initialisation/migration scripts by absolute path
-      substituteInPlace src/invidious/helpers/helpers.cr \
+      substituteInPlace src/invidious/database/base.cr \
             --replace 'config/sql' '${placeholder "out"}/share/invidious/config/sql'
 
-      substituteInPlace src/invidious/users.cr \
+      substituteInPlace src/invidious/user/captcha.cr \
           --replace 'Process.run(%(rsvg-convert' 'Process.run(%(${lib.getBin librsvg}/bin/rsvg-convert'
     '';
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config shards ];
   buildInputs = [ libxml2 openssl sqlite ];
 
   format = "crystal";
   shardsFile = ./shards.nix;
-  crystalBinaries.invidious.src = "src/invidious.cr";
+  crystalBinaries.invidious = {
+    src = "src/invidious.cr";
+    options = [ "--release" "--progress" "--verbose" "--no-debug" "-Dskip_videojs_download" ];
+  };
 
   postConfigure = ''
     # lib includes nix store paths which can’t be patched, so the links have to
@@ -88,12 +96,17 @@ crystal.buildCrystalPackage rec {
     INVIDIOUS_CONFIG="database_url: sqlite3:///dev/null" $out/bin/invidious --help
   '';
 
-  passthru.tests = { inherit (nixosTests) invidious; };
+  passthru = {
+    inherit lsquic;
+    tests = { inherit (nixosTests) invidious; };
+    updateScript = ./update.sh;
+  };
 
   meta = with lib; {
     description = "An open source alternative front-end to YouTube";
     homepage = "https://invidious.io/";
     license = licenses.agpl3;
     maintainers = with maintainers; [ infinisil sbruder ];
+    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 }
diff --git a/pkgs/servers/invidious/lsquic.nix b/pkgs/servers/invidious/lsquic.nix
index acc9b97ae5d..292d37ce6cd 100644
--- a/pkgs/servers/invidious/lsquic.nix
+++ b/pkgs/servers/invidious/lsquic.nix
@@ -1,24 +1,30 @@
 { lib, boringssl, stdenv, fetchgit, fetchFromGitHub, cmake, zlib, perl, libevent }:
 let
+  versions = builtins.fromJSON (builtins.readFile ./versions.json);
+
   # lsquic requires a specific boringssl version (noted in its README)
-  boringssl' = boringssl.overrideAttrs (old: rec {
-    version = "251b5169fd44345f455438312ec4e18ae07fd58c";
+  boringssl' = boringssl.overrideAttrs (old: {
+    version = versions.boringssl.rev;
     src = fetchgit {
       url = "https://boringssl.googlesource.com/boringssl";
-      rev = version;
-      sha256 = "sha256-EU6T9yQCdOLx98Io8o01rEsgxDFF/Xoy42LgPopD2/A=";
+      inherit (versions.boringssl) rev sha256;
     };
+
+    patches = [
+      # Use /etc/ssl/certs/ca-certificates.crt instead of /etc/ssl/cert.pem
+      ./use-etc-ssl-certs.patch
+    ];
   });
 in
 stdenv.mkDerivation rec {
   pname = "lsquic";
-  version = "2.18.1";
+  version = versions.lsquic.version;
 
   src = fetchFromGitHub {
     owner = "litespeedtech";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hG8cUvhbCNeMOsKkaJlgGpzUrIx47E/WhmPIdI5F3qM=";
+    inherit (versions.lsquic) sha256;
     fetchSubmodules = true;
   };
 
@@ -49,6 +55,8 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.boringssl = boringssl';
+
   meta = with lib; {
     description = "A library for QUIC and HTTP/3 (version for Invidious)";
     homepage = "https://github.com/litespeedtech/lsquic";
diff --git a/pkgs/servers/invidious/shards.nix b/pkgs/servers/invidious/shards.nix
index 778b34496a6..582a4083e7d 100644
--- a/pkgs/servers/invidious/shards.nix
+++ b/pkgs/servers/invidious/shards.nix
@@ -59,10 +59,22 @@
     rev = "v0.4.1";
     sha256 = "1l08cydkdidq9yyil1wl240hvk41iycv04jrg6nx5mkvzw4z1bzg";
   };
+  spectator = {
+    owner = "icy-arctic-fox";
+    repo = "spectator";
+    rev = "v0.10.4";
+    sha256 = "0rcxq2nbslvwrd8m9ajw6dzaw3hagxmkdy9s8p34cgnr4c9dijdq";
+  };
   sqlite3 = {
     owner = "crystal-lang";
     repo = "crystal-sqlite3";
     rev = "v0.18.0";
     sha256 = "03nnvpchhq9f9ywsm3pk2rrj4a3figw7xs96zdziwgr5znkz6x93";
   };
+  ameba = {
+    owner = "crystal-ameba";
+    repo = "ameba";
+    rev = "v0.14.3";
+    sha256 = "1cfr95xi6hsyxw1wlrh571hc775xhwmssk3k14i8b7dgbwfmm5x1";
+  };
 }
diff --git a/pkgs/servers/invidious/update.sh b/pkgs/servers/invidious/update.sh
new file mode 100755
index 00000000000..580d6136388
--- /dev/null
+++ b/pkgs/servers/invidious/update.sh
@@ -0,0 +1,96 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl crystal crystal2nix jq git moreutils nix nix-prefetch pkg-config
+git_url='https://github.com/iv-org/invidious.git'
+git_branch='master'
+git_dir='/var/tmp/invidious.git'
+pkg='invidious'
+
+set -euo pipefail
+
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+info() {
+    if [ -t 2 ]; then
+        set -- '\033[32m%s\033[39m\n' "$@"
+    else
+        set -- '%s\n' "$@"
+    fi
+    printf "$@" >&2
+}
+
+json_get() {
+    jq -r "$1" < 'versions.json'
+}
+
+json_set() {
+    jq --arg x "$2" "$1 = \$x" < 'versions.json' | sponge 'versions.json'
+}
+
+old_rev=$(json_get '.invidious.rev')
+old_version=$(json_get '.invidious.version')
+today=$(LANG=C date -u +'%Y-%m-%d')
+
+info "fetching $git_url..."
+if [ ! -d "$git_dir" ]; then
+    git init --initial-branch="$git_branch" "$git_dir"
+    git -C "$git_dir" remote add origin "$git_url"
+fi
+git -C "$git_dir" fetch origin "$git_branch"
+
+# use latest commit before today, we should not call the version *today*
+# because there might still be commits coming
+# use the day of the latest commit we picked as version
+new_rev=$(git -C "$git_dir" log -n 1 --format='format:%H' --before="${today}T00:00:00Z" "origin/$git_branch")
+new_version="unstable-$(git -C "$git_dir" log -n 1 --format='format:%cs' "$new_rev")"
+info "latest commit before $today: $new_rev"
+
+if [ "$new_rev" = "$old_rev" ]; then
+    info "$pkg is up-to-date."
+    exit
+fi
+
+json_set '.invidious.version' "$new_version"
+json_set '.invidious.rev' "$new_rev"
+new_sha256=$(nix-prefetch -I 'nixpkgs=../../..' "$pkg")
+json_set '.invidious.sha256' "$new_sha256"
+commit_msg="$pkg: $old_version -> $new_version"
+
+# fetch video.js dependencies
+info "Running scripts/fetch-player-dependencies.cr..."
+git -C "$git_dir" reset --hard "$new_rev"
+(cd "$git_dir" && crystal run scripts/fetch-player-dependencies.cr -- --minified)
+rm -f "$git_dir/assets/videojs/.gitignore"
+videojs_new_sha256=$(nix hash-path --type sha256 --base32 "$git_dir/assets/videojs")
+json_set '.videojs.sha256' "$videojs_new_sha256"
+
+if git -C "$git_dir" diff-tree --quiet "${old_rev}..${new_rev}" -- 'shard.lock'; then
+    info "shard.lock did not change since $old_rev."
+else
+    info "Updating shards.nix..."
+    crystal2nix -- "$git_dir/shard.lock"  # argv's index seems broken
+
+    lsquic_old_version=$(json_get '.lsquic.version')
+    # lsquic.cr's version tracks lsquic's, so lsquic must be updated to the
+    # version in the shards file
+    lsquic_new_version=$(nix eval --raw -f 'shards.nix' lsquic.rev \
+        | sed -e 's/^v//' -e 's/-[0-9]*$//')
+    if [ "$lsquic_old_version" != "$lsquic_new_version" ]; then
+        info "Updating lsquic to $lsquic_new_version..."
+        json_set '.lsquic.version' "$lsquic_new_version"
+        lsquic_new_sha256=$(nix-prefetch -I 'nixpkgs=../../..' "${pkg}.lsquic")
+        json_set '.lsquic.sha256' "$lsquic_new_sha256"
+
+        info "Updating boringssl..."
+        # lsquic specifies the boringssl commit it requires in its README
+        boringssl_new_rev=$(curl -LSsf "https://github.com/litespeedtech/lsquic/raw/v${lsquic_new_version}/README.md" \
+            | grep -Pom1 '(?<=^git checkout ).*')
+        json_set '.boringssl.rev' "$boringssl_new_rev"
+        boringssl_new_sha256=$(nix-prefetch -I 'nixpkgs=../../..' "${pkg}.lsquic.boringssl")
+        json_set '.boringssl.sha256' "$boringssl_new_sha256"
+        commit_msg="$commit_msg
+
+lsquic: $lsquic_old_version -> $lsquic_new_version"
+    fi
+fi
+
+git commit --verbose --message "$commit_msg" -- versions.json shards.nix
diff --git a/pkgs/servers/invidious/use-etc-ssl-certs.patch b/pkgs/servers/invidious/use-etc-ssl-certs.patch
new file mode 100644
index 00000000000..b60b0b1f1a1
--- /dev/null
+++ b/pkgs/servers/invidious/use-etc-ssl-certs.patch
@@ -0,0 +1,13 @@
+diff --git a/crypto/x509/x509_def.c b/crypto/x509/x509_def.c
+index d2bc3e5c1..329580075 100644
+--- a/crypto/x509/x509_def.c
++++ b/crypto/x509/x509_def.c
+@@ -67,7 +67,7 @@
+ 
+ #define X509_CERT_AREA          OPENSSLDIR
+ #define X509_CERT_DIR           OPENSSLDIR "/certs"
+-#define X509_CERT_FILE          OPENSSLDIR "/cert.pem"
++#define X509_CERT_FILE          "/etc/ssl/certs/ca-certificates.crt"
+ #define X509_PRIVATE_DIR        OPENSSLDIR "/private"
+ #define X509_CERT_DIR_EVP        "SSL_CERT_DIR"
+ #define X509_CERT_FILE_EVP       "SSL_CERT_FILE"
diff --git a/pkgs/servers/invidious/versions.json b/pkgs/servers/invidious/versions.json
new file mode 100644
index 00000000000..cec068a09bf
--- /dev/null
+++ b/pkgs/servers/invidious/versions.json
@@ -0,0 +1,18 @@
+{
+  "boringssl": {
+    "rev": "251b5169fd44345f455438312ec4e18ae07fd58c",
+    "sha256": "sha256-EU6T9yQCdOLx98Io8o01rEsgxDFF/Xoy42LgPopD2/A="
+  },
+  "invidious": {
+    "rev": "ed265cfdcd131b9df5398d899cc5d7036a5b7846",
+    "sha256": "0hhnq4s0slwbgxra7gxapl7dcz60a7k71cndi4crqcikmazzac3b",
+    "version": "unstable-2022-03-16"
+  },
+  "lsquic": {
+    "sha256": "sha256-hG8cUvhbCNeMOsKkaJlgGpzUrIx47E/WhmPIdI5F3qM=",
+    "version": "2.18.1"
+  },
+  "videojs": {
+    "sha256": "0b4vxd29kpvy60yhqm376r1872gds17s6wljqw0zlr16j762k50r"
+  }
+}
diff --git a/pkgs/servers/invidious/videojs.nix b/pkgs/servers/invidious/videojs.nix
new file mode 100644
index 00000000000..e4470793e51
--- /dev/null
+++ b/pkgs/servers/invidious/videojs.nix
@@ -0,0 +1,18 @@
+{ stdenvNoCC, cacert, crystal, openssl, pkg-config, invidious }:
+
+let
+  versions = builtins.fromJSON (builtins.readFile ./versions.json);
+in
+stdenvNoCC.mkDerivation {
+  name = "videojs";
+
+  inherit (invidious) src;
+
+  builder = ./videojs.sh;
+
+  nativeBuildInputs = [ cacert crystal openssl pkg-config ];
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = versions.videojs.sha256;
+}
diff --git a/pkgs/servers/invidious/videojs.sh b/pkgs/servers/invidious/videojs.sh
new file mode 100644
index 00000000000..31609db14eb
--- /dev/null
+++ b/pkgs/servers/invidious/videojs.sh
@@ -0,0 +1,9 @@
+source $stdenv/setup
+
+unpackPhase
+cd source
+# this helper downloads the videojs files and checks their checksums
+# against videojs-dependencies.yml so it should be pure
+crystal run scripts/fetch-player-dependencies.cr -- --minified
+rm -f assets/videojs/.gitignore
+mv assets/videojs "$out"
diff --git a/pkgs/servers/janus-gateway/default.nix b/pkgs/servers/janus-gateway/default.nix
index e9138c2eedd..3400b5c5054 100644
--- a/pkgs/servers/janus-gateway/default.nix
+++ b/pkgs/servers/janus-gateway/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "janus-gateway";
-  version = "0.11.8";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "meetecho";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-otTIDwcbF8Rcas048Vkn30v39GYIYbAIY72ipJhIwC4=";
+    sha256 = "sha256-BREPSDmGR85kDx1PWLdwpbwImAFuctLLx3AcHqAcURk=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config gengetopt ];
diff --git a/pkgs/servers/klipper/default.nix b/pkgs/servers/klipper/default.nix
index fd80dc4b87c..e2932c16a10 100644
--- a/pkgs/servers/klipper/default.nix
+++ b/pkgs/servers/klipper/default.nix
@@ -6,13 +6,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "klipper";
-  version = "unstable-2022-02-07";
+  version = "unstable-2022-03-11";
 
   src = fetchFromGitHub {
     owner = "KevinOConnor";
     repo = "klipper";
-    rev = "6d7c03365ad13c4661675aaccd0a3dc5be544493";
-    sha256 = "sha256-xFSZkOFETGcJXA6CUCReoyNZXhDAfgKkWoeDRqueBVw=";
+    rev = "e3beafbdb4f2ac3f889f81aec0cad5ec473c8612";
+    sha256 = "sha256-xZSZUJ2TNaUzfwEFpnzr5EPlOvILLyiQ/3K1iiup7kU=";
   };
 
   sourceRoot = "source/klippy";
diff --git a/pkgs/servers/kubemq-community/default.nix b/pkgs/servers/kubemq-community/default.nix
new file mode 100644
index 00000000000..823f3125cbe
--- /dev/null
+++ b/pkgs/servers/kubemq-community/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubemq-community";
+  version = "2.2.12";
+  src = fetchFromGitHub {
+    owner = "kubemq-io";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "06n3avcqknqzf9y03xqcsg36pwcha29j2psp9xsnir7hrx66zww8";
+  };
+
+  CGO_ENABLED=0;
+
+  ldflags=[ "-w" "-s" "-X main.version=${version}" ];
+
+  doCheck = false;  # grpc tests are flaky
+
+  vendorSha256 = "1sh0dzz8z065964k2gzkzw9p3db3rcf6mv901zym0wqm4p71045w";
+
+  meta = {
+    homepage = "https://github.com/kubemq-io/kubemq-community";
+    description = "KubeMQ Community is the open-source version of KubeMQ, the Kubernetes native message broker.";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ brianmcgee ];
+  };
+}
diff --git a/pkgs/servers/mautrix-telegram/0002-Don-t-depend-on-pytest-runner.patch b/pkgs/servers/mautrix-telegram/0002-Don-t-depend-on-pytest-runner.patch
deleted file mode 100644
index f1ec3e622cf..00000000000
--- a/pkgs/servers/mautrix-telegram/0002-Don-t-depend-on-pytest-runner.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From eb39954acf73096d65ba1e9575cbeb3d4307d5df Mon Sep 17 00:00:00 2001
-From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Sun, 29 Nov 2020 20:55:17 +0100
-Subject: [PATCH 2/2] Don't depend on pytest-runner
-
----
- setup.py | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 95dbf89..89ea2a7 100644
---- a/setup.py
-+++ b/setup.py
-@@ -57,7 +57,6 @@ setuptools.setup(
-         ]
-     },
- 
--    setup_requires=["pytest-runner"],
-     tests_require=["pytest", "pytest-asyncio", "pytest-mock"],
- 
-     classifiers=[
--- 
-2.28.0
-
diff --git a/pkgs/servers/mautrix-telegram/default.nix b/pkgs/servers/mautrix-telegram/default.nix
index 267f89182fb..e96427f30f3 100644
--- a/pkgs/servers/mautrix-telegram/default.nix
+++ b/pkgs/servers/mautrix-telegram/default.nix
@@ -6,11 +6,11 @@ let
   python = python3.override {
     packageOverrides = self: super: {
       tulir-telethon = self.telethon.overridePythonAttrs (oldAttrs: rec {
-        version = "1.25.0a3";
+        version = "1.25.0a5";
         pname = "tulir-telethon";
         src = oldAttrs.src.override {
           inherit pname version;
-          sha256 = "sha256-/kau9Q2+7giVx52tmjvYIbcDcY1/om31X9BlRvZipuk=";
+          sha256 = "sha256-WFiWczuw6eVVid2Z1LsnGE6BCEhqeCuiQ/p0d2Ahbi8=";
         };
       });
     };
@@ -25,22 +25,17 @@ let
 
 in python.pkgs.buildPythonPackage rec {
   pname = "mautrix-telegram";
-  version = "0.11.1";
+  version = "0.11.2";
   disabled = python.pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "telegram";
     rev = "v${version}";
-    sha256 = "sha256-Df+v1Q+5Iaa9GKcwIabMKjJwmVd5Qub8M54jEEiAPFc=";
+    sha256 = "sha256-ZECTHAP5l9tAk9Ies8XuPpH9jqYDJSRSHVKz1lA6Sjg=";
   };
 
   patches = [ ./0001-Re-add-entrypoint.patch ];
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "telethon>=1.22,<1.23" "telethon"
-  '';
-
 
   propagatedBuildInputs = with python.pkgs; ([
     Mako
diff --git a/pkgs/servers/mautrix-whatsapp/default.nix b/pkgs/servers/mautrix-whatsapp/default.nix
index 92f6d1f15ac..e26743b9edf 100644
--- a/pkgs/servers/mautrix-whatsapp/default.nix
+++ b/pkgs/servers/mautrix-whatsapp/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "mautrix-whatsapp";
-  version = "0.2.4";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "whatsapp";
     rev = "v${version}";
-    sha256 = "lBAnMrU292URrZIxPvPIAO50GAFvvZHfUjKMYxZwGb8=";
+    sha256 = "M44APMnpQU+9TTJu4NF528o0JvGvWja4H7XUcAHtxrA=";
   };
 
   buildInputs = [ olm ];
 
-  vendorSha256 = "KiNABUZ92gYprTdNAKKMjygr0BzQGVYVPRPMxvYi1VQ=";
+  vendorSha256 = "o3KTcnMd6Tqt9QIfW29wvN8POIFThNg8AdeGDF5wbVc=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
index de64666ec77..96604042838 100644
--- a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
+++ b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "check_ssl_cert";
-  version = "2.21.0";
+  version = "2.22.0";
 
   src = fetchFromGitHub {
     owner = "matteocorti";
     repo = "check_ssl_cert";
     rev = "v${version}";
-    sha256 = "sha256-tUmRWXdPu3nGj+dUBNvF7cRayMn8vCyA94vyUmQrfRk=";
+    sha256 = "sha256-ytnaygAVKppyyUnxfMlwf9GvHzt8SN5I+b2FTcyaM/4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix b/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix
new file mode 100644
index 00000000000..98848ee6702
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix
@@ -0,0 +1,58 @@
+{ poetry2nix, pkgs, lib }:
+
+let
+  inherit (poetry2nix.mkPoetryPackages {
+    projectDir = ./.;
+    overrides = [
+      poetry2nix.defaultPoetryOverrides
+      (import ./poetry-git-overlay.nix { inherit pkgs; })
+      (self: super: {
+        dmarc-metrics-exporter = super.dmarc-metrics-exporter.overridePythonAttrs ({ meta ? {}, ... }: {
+          meta = with lib; meta // {
+            license = licenses.mit;
+            homepage = "https://github.com/jgosmann/dmarc-metrics-exporter/";
+            description = " Export Prometheus metrics from DMARC reports";
+            maintainers = with maintainers; [ ma27 ];
+          };
+        });
+        more-properties = super.more-properties.overridePythonAttrs (old: {
+          src = pkgs.fetchFromGitHub {
+            owner = "madman-bob";
+            repo = "python-more-properties";
+            rev = old.version;
+            sha256 = "sha256-dKG97rw5IG19m7u3ZDBM2yGScL5cFaKBvGZxPVJaUTE=";
+          };
+          postPatch = ''
+            sed -i -e '/dataclasses/d' requirements.txt
+            cp ./pypi_upload/setup.py setup.py
+            substituteInPlace setup.py \
+              --replace "parents[1]" "parents[0]"
+          '';
+        });
+        dataclasses-serialization = super.dataclasses-serialization.overridePythonAttrs (old: {
+          src = pkgs.fetchFromGitHub {
+            owner = "madman-bob";
+            repo = "python-dataclasses-serialization";
+            rev = old.version;
+            sha256 = "sha256-jLMR2D01KgzHHRP0zduMBJt8xgBmIquWLCjZYLo2/AA=";
+          };
+          postPatch = ''
+            sed -i -e '/dataclasses/d' requirements.txt
+            cp ./pypi_upload/setup.py setup.py
+            substituteInPlace setup.py \
+              --replace "parents[1]" "parents[0]"
+          '';
+        });
+        dataclasses = null;
+      })
+    ];
+  }) python;
+  env = python.withPackages (p: [ p.dmarc-metrics-exporter ]);
+in
+
+(pkgs.writeShellScriptBin "prometheus-dmarc-exporter" ''
+  export PYTHONPATH="${env}/lib/${env.libPrefix}/site-packages''${PYTHONPATH:+:}''${PYTHONPATH}"
+  exec ${env}/bin/python3 -m dmarc_metrics_exporter "$@"
+'') // {
+  inherit (python.pkgs.dmarc-metrics-exporter) meta;
+}
diff --git a/pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry-git-overlay.nix b/pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry-git-overlay.nix
new file mode 100644
index 00000000000..cb8d7170a19
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry-git-overlay.nix
@@ -0,0 +1,14 @@
+{ pkgs }:
+self: super: {
+
+  dmarc-metrics-exporter = super.dmarc-metrics-exporter.overridePythonAttrs (
+    _: {
+      src = pkgs.fetchgit {
+        url = "https://github.com/jgosmann/dmarc-metrics-exporter.git";
+        rev = "3f1a0161d7ed51b9de48c056dcbc545b6375e872";
+        sha256 = "18sndv32ig0xq7s42hvkdxbb9qxvycmnrawm3x22cp7zfidgfkh2";
+      };
+    }
+  );
+
+}
diff --git a/pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry.lock b/pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry.lock
new file mode 100644
index 00000000000..80b99127b0c
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry.lock
@@ -0,0 +1,503 @@
+[[package]]
+name = "asgiref"
+version = "3.5.0"
+description = "ASGI specs, helper code, and adapters"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+typing-extensions = {version = "*", markers = "python_version < \"3.8\""}
+
+[package.extras]
+tests = ["pytest", "pytest-asyncio", "mypy (>=0.800)"]
+
+[[package]]
+name = "bite-parser"
+version = "0.1.1"
+description = "Asynchronous parser taking incremental bites out of your byte input stream."
+category = "main"
+optional = false
+python-versions = ">=3.7,<=3.10"
+
+[[package]]
+name = "click"
+version = "8.0.4"
+description = "Composable command line interface toolkit"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+colorama = {version = "*", markers = "platform_system == \"Windows\""}
+importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
+
+[[package]]
+name = "colorama"
+version = "0.4.4"
+description = "Cross-platform colored terminal text."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
+name = "dataclasses"
+version = "0.6"
+description = "A backport of the dataclasses module for Python 3.6"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "dataclasses-serialization"
+version = "1.3.1"
+description = "Serialize/deserialize Python dataclasses to various other data formats"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+dataclasses = "*"
+more-properties = ">=1.1.0"
+toolz = "*"
+toposort = "*"
+typing-inspect = "*"
+
+[[package]]
+name = "dmarc-metrics-exporter"
+version = "0.5.1"
+description = "Export Prometheus metrics from DMARC reports."
+category = "main"
+optional = false
+python-versions = "^3.7,<3.10"
+develop = false
+
+[package.dependencies]
+bite-parser = "^0.1.1"
+dataclasses-serialization = "^1.3.1"
+prometheus_client = "^0.11.0"
+typing-extensions = "^4.0.1"
+uvicorn = {version = "^0.15.0", extras = ["standard"]}
+xsdata = "^21.9"
+
+[package.source]
+type = "git"
+url = "https://github.com/jgosmann/dmarc-metrics-exporter.git"
+reference = "v0.5.1"
+resolved_reference = "3f1a0161d7ed51b9de48c056dcbc545b6375e872"
+
+[[package]]
+name = "h11"
+version = "0.13.0"
+description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+typing-extensions = {version = "*", markers = "python_version < \"3.8\""}
+
+[[package]]
+name = "httptools"
+version = "0.2.0"
+description = "A collection of framework independent HTTP protocol utils."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.extras]
+test = ["Cython (==0.29.22)"]
+
+[[package]]
+name = "importlib-metadata"
+version = "4.11.1"
+description = "Read metadata from Python packages"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""}
+zipp = ">=0.5"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
+perf = ["ipython"]
+testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "importlib-resources (>=1.3)"]
+
+[[package]]
+name = "more-properties"
+version = "1.1.1"
+description = "A collection of property variants"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+dataclasses = "*"
+
+[[package]]
+name = "mypy-extensions"
+version = "0.4.3"
+description = "Experimental type system extensions for programs checked with the mypy typechecker."
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "prometheus-client"
+version = "0.11.0"
+description = "Python client for the Prometheus monitoring system."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[package.extras]
+twisted = ["twisted"]
+
+[[package]]
+name = "python-dotenv"
+version = "0.19.2"
+description = "Read key-value pairs from a .env file and set them as environment variables"
+category = "main"
+optional = false
+python-versions = ">=3.5"
+
+[package.extras]
+cli = ["click (>=5.0)"]
+
+[[package]]
+name = "pyyaml"
+version = "6.0"
+description = "YAML parser and emitter for Python"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "toolz"
+version = "0.11.2"
+description = "List processing tools and functional utilities"
+category = "main"
+optional = false
+python-versions = ">=3.5"
+
+[[package]]
+name = "toposort"
+version = "1.7"
+description = "\"Implements a topological sort algorithm.\""
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "typing-extensions"
+version = "4.1.1"
+description = "Backported and Experimental Type Hints for Python 3.6+"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "typing-inspect"
+version = "0.7.1"
+description = "Runtime inspection utilities for typing module."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+mypy-extensions = ">=0.3.0"
+typing-extensions = ">=3.7.4"
+
+[[package]]
+name = "uvicorn"
+version = "0.15.0"
+description = "The lightning-fast ASGI server."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+asgiref = ">=3.4.0"
+click = ">=7.0"
+colorama = {version = ">=0.4", optional = true, markers = "sys_platform == \"win32\" and extra == \"standard\""}
+h11 = ">=0.8"
+httptools = {version = ">=0.2.0,<0.3.0", optional = true, markers = "extra == \"standard\""}
+python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""}
+PyYAML = {version = ">=5.1", optional = true, markers = "extra == \"standard\""}
+typing-extensions = {version = "*", markers = "python_version < \"3.8\""}
+uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\" and extra == \"standard\""}
+watchgod = {version = ">=0.6", optional = true, markers = "extra == \"standard\""}
+websockets = {version = ">=9.1", optional = true, markers = "extra == \"standard\""}
+
+[package.extras]
+standard = ["websockets (>=9.1)", "httptools (>=0.2.0,<0.3.0)", "watchgod (>=0.6)", "python-dotenv (>=0.13)", "PyYAML (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "colorama (>=0.4)"]
+
+[[package]]
+name = "uvloop"
+version = "0.16.0"
+description = "Fast implementation of asyncio event loop on top of libuv"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.extras]
+dev = ["Cython (>=0.29.24,<0.30.0)", "pytest (>=3.6.0)", "Sphinx (>=4.1.2,<4.2.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "aiohttp", "flake8 (>=3.9.2,<3.10.0)", "psutil", "pycodestyle (>=2.7.0,<2.8.0)", "pyOpenSSL (>=19.0.0,<19.1.0)", "mypy (>=0.800)"]
+docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)"]
+test = ["aiohttp", "flake8 (>=3.9.2,<3.10.0)", "psutil", "pycodestyle (>=2.7.0,<2.8.0)", "pyOpenSSL (>=19.0.0,<19.1.0)", "mypy (>=0.800)"]
+
+[[package]]
+name = "watchgod"
+version = "0.7"
+description = "Simple, modern file watching and code reload in python."
+category = "main"
+optional = false
+python-versions = ">=3.5"
+
+[[package]]
+name = "websockets"
+version = "10.2"
+description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[[package]]
+name = "xsdata"
+version = "21.12"
+description = "Python XML Binding"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
+
+[package.extras]
+cli = ["click (>=5.0)", "click-default-group (>=1.2)", "docformatter", "jinja2 (>=2.10)", "toposort (>=1.5)"]
+docs = ["furo", "sphinx", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx-copybutton", "sphinx-inline-tabs"]
+lxml = ["lxml (>=4.4.1)"]
+soap = ["requests"]
+test = ["codecov", "pre-commit", "pytest", "pytest-benchmark", "pytest-cov", "tox"]
+
+[[package]]
+name = "zipp"
+version = "3.7.0"
+description = "Backport of pathlib-compatible object wrapper for zip files"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
+
+[metadata]
+lock-version = "1.1"
+python-versions = "^3.7,<3.10"
+content-hash = "60bf34673c42fc90f369a810cb542b1b03c8e52cd019e7a9e86650de19544d01"
+
+[metadata.files]
+asgiref = [
+    {file = "asgiref-3.5.0-py3-none-any.whl", hash = "sha256:88d59c13d634dcffe0510be048210188edd79aeccb6a6c9028cdad6f31d730a9"},
+    {file = "asgiref-3.5.0.tar.gz", hash = "sha256:2f8abc20f7248433085eda803936d98992f1343ddb022065779f37c5da0181d0"},
+]
+bite-parser = [
+    {file = "bite-parser-0.1.1.tar.gz", hash = "sha256:8021100bfbd6cc6056605361e763a3591efdea38014b3d8aa76c74c74de4ead4"},
+    {file = "bite_parser-0.1.1-py3-none-any.whl", hash = "sha256:96803e7d63112e81544c9747fbd50cca61097dcf5973ae6cc710f3a96646600a"},
+]
+click = [
+    {file = "click-8.0.4-py3-none-any.whl", hash = "sha256:6a7a62563bbfabfda3a38f3023a1db4a35978c0abd76f6c9605ecd6554d6d9b1"},
+    {file = "click-8.0.4.tar.gz", hash = "sha256:8458d7b1287c5fb128c90e23381cf99dcde74beaf6c7ff6384ce84d6fe090adb"},
+]
+colorama = [
+    {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
+    {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
+]
+dataclasses = [
+    {file = "dataclasses-0.6-py3-none-any.whl", hash = "sha256:454a69d788c7fda44efd71e259be79577822f5e3f53f029a22d08004e951dc9f"},
+    {file = "dataclasses-0.6.tar.gz", hash = "sha256:6988bd2b895eef432d562370bb707d540f32f7360ab13da45340101bc2307d84"},
+]
+dataclasses-serialization = [
+    {file = "dataclasses_serialization-1.3.1-py3-none-any.whl", hash = "sha256:34294b1a68944c8d8ac00d2a53aecb8499301401aec6d024ba829ac3931e3b2a"},
+    {file = "dataclasses_serialization-1.3.1.tar.gz", hash = "sha256:7f9cf6b11e0650ab89691b1a0050dcce3aef4d389dd4540a53316c4151485921"},
+]
+dmarc-metrics-exporter = []
+h11 = [
+    {file = "h11-0.13.0-py3-none-any.whl", hash = "sha256:8ddd78563b633ca55346c8cd41ec0af27d3c79931828beffb46ce70a379e7442"},
+    {file = "h11-0.13.0.tar.gz", hash = "sha256:70813c1135087a248a4d38cc0e1a0181ffab2188141a93eaf567940c3957ff06"},
+]
+httptools = [
+    {file = "httptools-0.2.0-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:79dbc21f3612a78b28384e989b21872e2e3cf3968532601544696e4ed0007ce5"},
+    {file = "httptools-0.2.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:78d03dd39b09c99ec917d50189e6743adbfd18c15d5944392d2eabda688bf149"},
+    {file = "httptools-0.2.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:a23166e5ae2775709cf4f7ad4c2048755ebfb272767d244e1a96d55ac775cca7"},
+    {file = "httptools-0.2.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:3ab1f390d8867f74b3b5ee2a7ecc9b8d7f53750bd45714bf1cb72a953d7dfa77"},
+    {file = "httptools-0.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:a7594f9a010cdf1e16a58b3bf26c9da39bbf663e3b8d46d39176999d71816658"},
+    {file = "httptools-0.2.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:01b392a166adcc8bc2f526a939a8aabf89fe079243e1543fd0e7dc1b58d737cb"},
+    {file = "httptools-0.2.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:80ffa04fe8c8dfacf6e4cef8277347d35b0442c581f5814f3b0cf41b65c43c6e"},
+    {file = "httptools-0.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d5682eeb10cca0606c4a8286a3391d4c3c5a36f0c448e71b8bd05be4e1694bfb"},
+    {file = "httptools-0.2.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:a289c27ccae399a70eacf32df9a44059ca2ba4ac444604b00a19a6c1f0809943"},
+    {file = "httptools-0.2.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:813871f961edea6cb2fe312f2d9b27d12a51ba92545380126f80d0de1917ea15"},
+    {file = "httptools-0.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:cc9be041e428c10f8b6ab358c6b393648f9457094e1dcc11b4906026d43cd380"},
+    {file = "httptools-0.2.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:b08d00d889a118f68f37f3c43e359aab24ee29eb2e3fe96d64c6a2ba8b9d6557"},
+    {file = "httptools-0.2.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:fd3b8905e21431ad306eeaf56644a68fdd621bf8f3097eff54d0f6bdf7262065"},
+    {file = "httptools-0.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:200fc1cdf733a9ff554c0bb97a4047785cfaad9875307d6087001db3eb2b417f"},
+    {file = "httptools-0.2.0.tar.gz", hash = "sha256:94505026be56652d7a530ab03d89474dc6021019d6b8682281977163b3471ea0"},
+]
+importlib-metadata = [
+    {file = "importlib_metadata-4.11.1-py3-none-any.whl", hash = "sha256:e0bc84ff355328a4adfc5240c4f211e0ab386f80aa640d1b11f0618a1d282094"},
+    {file = "importlib_metadata-4.11.1.tar.gz", hash = "sha256:175f4ee440a0317f6e8d81b7f8d4869f93316170a65ad2b007d2929186c8052c"},
+]
+more-properties = [
+    {file = "more_properties-1.1.1-py3-none-any.whl", hash = "sha256:0992c49041cb2600e5ff4d8414bdf5761551f5404d00a4e553ced4f14d34b0bb"},
+    {file = "more_properties-1.1.1.tar.gz", hash = "sha256:47b136857d89c72b53def0fade2f2e0a23a95071c3eb87d5a77cfc91554f106c"},
+]
+mypy-extensions = [
+    {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"},
+    {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"},
+]
+prometheus-client = [
+    {file = "prometheus_client-0.11.0-py2.py3-none-any.whl", hash = "sha256:b014bc76815eb1399da8ce5fc84b7717a3e63652b0c0f8804092c9363acab1b2"},
+    {file = "prometheus_client-0.11.0.tar.gz", hash = "sha256:3a8baade6cb80bcfe43297e33e7623f3118d660d41387593758e2fb1ea173a86"},
+]
+python-dotenv = [
+    {file = "python-dotenv-0.19.2.tar.gz", hash = "sha256:a5de49a31e953b45ff2d2fd434bbc2670e8db5273606c1e737cc6b93eff3655f"},
+    {file = "python_dotenv-0.19.2-py2.py3-none-any.whl", hash = "sha256:32b2bdc1873fd3a3c346da1c6db83d0053c3c62f28f1f38516070c4c8971b1d3"},
+]
+pyyaml = [
+    {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"},
+    {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"},
+    {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"},
+    {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"},
+    {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"},
+    {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"},
+    {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"},
+    {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"},
+    {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"},
+    {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"},
+    {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"},
+    {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"},
+    {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"},
+    {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"},
+    {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"},
+    {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"},
+    {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"},
+    {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"},
+    {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"},
+    {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"},
+    {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"},
+    {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"},
+    {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"},
+    {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"},
+    {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"},
+    {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"},
+    {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"},
+    {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"},
+    {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"},
+    {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"},
+    {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"},
+    {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"},
+    {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"},
+]
+toolz = [
+    {file = "toolz-0.11.2-py3-none-any.whl", hash = "sha256:a5700ce83414c64514d82d60bcda8aabfde092d1c1a8663f9200c07fdcc6da8f"},
+    {file = "toolz-0.11.2.tar.gz", hash = "sha256:6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33"},
+]
+toposort = [
+    {file = "toposort-1.7-py2.py3-none-any.whl", hash = "sha256:8ed8e109e96ae30bf66da2d2155e4eb9989d9c5c743c837e37d9774a4eddd804"},
+    {file = "toposort-1.7.tar.gz", hash = "sha256:ddc2182c42912a440511bd7ff5d3e6a1cabc3accbc674a3258c8c41cbfbb2125"},
+]
+typing-extensions = [
+    {file = "typing_extensions-4.1.1-py3-none-any.whl", hash = "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2"},
+    {file = "typing_extensions-4.1.1.tar.gz", hash = "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"},
+]
+typing-inspect = [
+    {file = "typing_inspect-0.7.1-py2-none-any.whl", hash = "sha256:b1f56c0783ef0f25fb064a01be6e5407e54cf4a4bf4f3ba3fe51e0bd6dcea9e5"},
+    {file = "typing_inspect-0.7.1-py3-none-any.whl", hash = "sha256:3cd7d4563e997719a710a3bfe7ffb544c6b72069b6812a02e9b414a8fa3aaa6b"},
+    {file = "typing_inspect-0.7.1.tar.gz", hash = "sha256:047d4097d9b17f46531bf6f014356111a1b6fb821a24fe7ac909853ca2a782aa"},
+]
+uvicorn = [
+    {file = "uvicorn-0.15.0-py3-none-any.whl", hash = "sha256:17f898c64c71a2640514d4089da2689e5db1ce5d4086c2d53699bf99513421c1"},
+    {file = "uvicorn-0.15.0.tar.gz", hash = "sha256:d9a3c0dd1ca86728d3e235182683b4cf94cd53a867c288eaeca80ee781b2caff"},
+]
+uvloop = [
+    {file = "uvloop-0.16.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6224f1401025b748ffecb7a6e2652b17768f30b1a6a3f7b44660e5b5b690b12d"},
+    {file = "uvloop-0.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:30ba9dcbd0965f5c812b7c2112a1ddf60cf904c1c160f398e7eed3a6b82dcd9c"},
+    {file = "uvloop-0.16.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:bd53f7f5db562f37cd64a3af5012df8cac2c464c97e732ed556800129505bd64"},
+    {file = "uvloop-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:772206116b9b57cd625c8a88f2413df2fcfd0b496eb188b82a43bed7af2c2ec9"},
+    {file = "uvloop-0.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b572256409f194521a9895aef274cea88731d14732343da3ecdb175228881638"},
+    {file = "uvloop-0.16.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:04ff57aa137230d8cc968f03481176041ae789308b4d5079118331ab01112450"},
+    {file = "uvloop-0.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a19828c4f15687675ea912cc28bbcb48e9bb907c801873bd1519b96b04fb805"},
+    {file = "uvloop-0.16.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e814ac2c6f9daf4c36eb8e85266859f42174a4ff0d71b99405ed559257750382"},
+    {file = "uvloop-0.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bd8f42ea1ea8f4e84d265769089964ddda95eb2bb38b5cbe26712b0616c3edee"},
+    {file = "uvloop-0.16.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:647e481940379eebd314c00440314c81ea547aa636056f554d491e40503c8464"},
+    {file = "uvloop-0.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e0d26fa5875d43ddbb0d9d79a447d2ace4180d9e3239788208527c4784f7cab"},
+    {file = "uvloop-0.16.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6ccd57ae8db17d677e9e06192e9c9ec4bd2066b77790f9aa7dede2cc4008ee8f"},
+    {file = "uvloop-0.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:089b4834fd299d82d83a25e3335372f12117a7d38525217c2258e9b9f4578897"},
+    {file = "uvloop-0.16.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98d117332cc9e5ea8dfdc2b28b0a23f60370d02e1395f88f40d1effd2cb86c4f"},
+    {file = "uvloop-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e5f2e2ff51aefe6c19ee98af12b4ae61f5be456cd24396953244a30880ad861"},
+    {file = "uvloop-0.16.0.tar.gz", hash = "sha256:f74bc20c7b67d1c27c72601c78cf95be99d5c2cdd4514502b4f3eb0933ff1228"},
+]
+watchgod = [
+    {file = "watchgod-0.7-py3-none-any.whl", hash = "sha256:d6c1ea21df37847ac0537ca0d6c2f4cdf513562e95f77bb93abbcf05573407b7"},
+    {file = "watchgod-0.7.tar.gz", hash = "sha256:48140d62b0ebe9dd9cf8381337f06351e1f2e70b2203fa9c6eff4e572ca84f29"},
+]
+websockets = [
+    {file = "websockets-10.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5396710f86a306cf52f87fd8ea594a0e894ba0cc5a36059eaca3a477dc332aa"},
+    {file = "websockets-10.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b22bdc795e62e71118b63e14a08bacfa4f262fd2877de7e5b950f5ac16b0348f"},
+    {file = "websockets-10.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5b04270b5613f245ec84bb2c6a482a9d009aefad37c0575f6cda8499125d5d5c"},
+    {file = "websockets-10.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5c335dc0e7dc271ef36df3f439868b3c790775f345338c2f61a562f1074187b"},
+    {file = "websockets-10.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6a009eb551c46fd79737791c0c833fc0e5b56bcd1c3057498b262d660b92e9cd"},
+    {file = "websockets-10.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a10c0c1ee02164246f90053273a42d72a3b2452a7e7486fdae781138cf7fbe2d"},
+    {file = "websockets-10.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7b38a5c9112e3dbbe45540f7b60c5204f49b3cb501b40950d6ab34cd202ab1d0"},
+    {file = "websockets-10.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:2aa9b91347ecd0412683f28aabe27f6bad502d89bd363b76e0a3508b1596402e"},
+    {file = "websockets-10.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b7fe45ae43ac814beb8ca09d6995b56800676f2cfa8e23f42839dc69bba34a42"},
+    {file = "websockets-10.2-cp310-cp310-win32.whl", hash = "sha256:cef40a1b183dcf39d23b392e9dd1d9b07ab9c46aadf294fff1350fb79146e72b"},
+    {file = "websockets-10.2-cp310-cp310-win_amd64.whl", hash = "sha256:c21a67ab9a94bd53e10bba21912556027fea944648a09e6508415ad14e37c325"},
+    {file = "websockets-10.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cb316b87cbe3c0791c2ad92a5a36bf6adc87c457654335810b25048c1daa6fd5"},
+    {file = "websockets-10.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f14bd10e170abc01682a9f8b28b16e6f20acf6175945ef38db6ffe31b0c72c3f"},
+    {file = "websockets-10.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fa35c5d1830d0fb7b810324e9eeab9aa92e8f273f11fdbdc0741dcded6d72b9f"},
+    {file = "websockets-10.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:71a4491cfe7a9f18ee57d41163cb6a8a3fa591e0f0564ca8b0ed86b2a30cced4"},
+    {file = "websockets-10.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6193bbc1ee63aadeb9a4d81de0e19477401d150d506aee772d8380943f118186"},
+    {file = "websockets-10.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:8beac786a388bb99a66c3be4ab0fb38273c0e3bc17f612a4e0a47c4fc8b9c045"},
+    {file = "websockets-10.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c67d9cacb3f6537ca21e9b224d4fd08481538e43bcac08b3d93181b0816def39"},
+    {file = "websockets-10.2-cp37-cp37m-win32.whl", hash = "sha256:a03a25d95cc7400bd4d61a63460b5d85a7761c12075ee2f51de1ffe73aa593d3"},
+    {file = "websockets-10.2-cp37-cp37m-win_amd64.whl", hash = "sha256:f8296b8408ec6853b26771599990721a26403e62b9de7e50ac0a056772ac0b5e"},
+    {file = "websockets-10.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:7bb9d8a6beca478c7e9bdde0159bd810cc1006ad6a7cb460533bae39da692ca2"},
+    {file = "websockets-10.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:05f6e9757017270e7a92a2975e2ae88a9a582ffc4629086fd6039aa80e99cd86"},
+    {file = "websockets-10.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1c9031e90ebfc486e9cdad532b94004ade3aa39a31d3c46c105bb0b579cd2490"},
+    {file = "websockets-10.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82bc33db6d8309dc27a3bee11f7da2288ad925fcbabc2a4bb78f7e9c56249baf"},
+    {file = "websockets-10.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:24b879ba7db12bb525d4e58089fcbe6a3df3ce4666523183654170e86d372cbe"},
+    {file = "websockets-10.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cf931c33db9c87c53d009856045dd524e4a378445693382a920fa1e0eb77c36c"},
+    {file = "websockets-10.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:669e54228a4d9457abafed27cbf0e2b9f401445c4dfefc12bf8e4db9751703b8"},
+    {file = "websockets-10.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:bffc65442dd35c473ca9790a3fa3ba06396102a950794f536783f4b8060af8dd"},
+    {file = "websockets-10.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d4d110a84b63c5cfdd22485acc97b8b919aefeecd6300c0c9d551e055b9a88ea"},
+    {file = "websockets-10.2-cp38-cp38-win32.whl", hash = "sha256:117383d0a17a0dda349f7a8790763dde75c1508ff8e4d6e8328b898b7df48397"},
+    {file = "websockets-10.2-cp38-cp38-win_amd64.whl", hash = "sha256:0b66421f9f13d4df60cd48ab977ed2c2b6c9147ae1a33caf5a9f46294422fda1"},
+    {file = "websockets-10.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ac081aa0307f263d63c5ff0727935c736c8dad51ddf2dc9f5d0c4759842aefaa"},
+    {file = "websockets-10.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b4059e2ccbe6587b6dc9a01db5fc49ead9a884faa4076eea96c5ec62cb32f42a"},
+    {file = "websockets-10.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9ca2ca05a4c29179f06cf6727b45dba5d228da62623ec9df4184413d8aae6cb9"},
+    {file = "websockets-10.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97950c7c844ec6f8d292440953ae18b99e3a6a09885e09d20d5e7ecd9b914cf8"},
+    {file = "websockets-10.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:98f57b3120f8331cd7440dbe0e776474f5e3632fdaa474af1f6b754955a47d71"},
+    {file = "websockets-10.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a72b92f96e5e540d5dda99ee3346e199ade8df63152fa3c737260da1730c411f"},
+    {file = "websockets-10.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:038afef2a05893578d10dadbdbb5f112bd115c46347e1efe99f6a356ff062138"},
+    {file = "websockets-10.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f09f46b1ff6d09b01c7816c50bd1903cf7d02ebbdb63726132717c2fcda835d5"},
+    {file = "websockets-10.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2349fa81b6b959484bb2bda556ccb9eb70ba68987646a0f8a537a1a18319fb03"},
+    {file = "websockets-10.2-cp39-cp39-win32.whl", hash = "sha256:bef03a51f9657fb03d8da6ccd233fe96e04101a852f0ffd35f5b725b28221ff3"},
+    {file = "websockets-10.2-cp39-cp39-win_amd64.whl", hash = "sha256:1c1f3b18c8162e3b09761d0c6a0305fd642934202541cc511ef972cb9463261e"},
+    {file = "websockets-10.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5a38a0175ae82e4a8c4bac29fc01b9ee26d7d5a614e5ee11e7813c68a7d938ce"},
+    {file = "websockets-10.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6e56606842bb24e16e36ae7eb308d866b4249cf0be8f63b212f287eeb76b124"},
+    {file = "websockets-10.2-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0f73cb2526d6da268e86977b2c4b58f2195994e53070fe567d5487c6436047e6"},
+    {file = "websockets-10.2-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0cd02f36d37e503aca88ab23cc0a1a0e92a263d37acf6331521eb38040dcf77b"},
+    {file = "websockets-10.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:56d48eebe9e39ce0d68701bce3b21df923aa05dcc00f9fd8300de1df31a7c07c"},
+    {file = "websockets-10.2.tar.gz", hash = "sha256:8351c3c86b08156337b0e4ece0e3c5ec3e01fcd14e8950996832a23c99416098"},
+]
+xsdata = [
+    {file = "xsdata-21.12-py3-none-any.whl", hash = "sha256:857ef5d1c1fdee09f7f1a0a0e8f2771c0469dcc60b28f9b2a7b2a0d2aba3a58f"},
+    {file = "xsdata-21.12.tar.gz", hash = "sha256:baba44a2909fc928f783b0cdde4e1a96d5c632414588b9934aa8adf5f60002e8"},
+]
+zipp = [
+    {file = "zipp-3.7.0-py3-none-any.whl", hash = "sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375"},
+    {file = "zipp-3.7.0.tar.gz", hash = "sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d"},
+]
diff --git a/pkgs/servers/monitoring/prometheus/dmarc-exporter/pyproject.toml b/pkgs/servers/monitoring/prometheus/dmarc-exporter/pyproject.toml
new file mode 100644
index 00000000000..f3b95e154ee
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/dmarc-exporter/pyproject.toml
@@ -0,0 +1,14 @@
+[tool.poetry]
+name = "dmarc-metrics-exporter-env"
+version = "0.5.1"
+description = ""
+authors = []
+
+[tool.poetry.dependencies]
+python = "^3.7,<3.10"
+dmarc-metrics-exporter = {git="https://github.com/jgosmann/dmarc-metrics-exporter.git", tag = "v0.5.1"}
+bite-parser = "0.1.1"
+
+[build-system]
+requires = ["poetry-core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"
diff --git a/pkgs/servers/monitoring/prometheus/dmarc-exporter/update b/pkgs/servers/monitoring/prometheus/dmarc-exporter/update
new file mode 100755
index 00000000000..77cfe9ff86d
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/dmarc-exporter/update
@@ -0,0 +1,5 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p poetry poetry2nix.cli
+set -eu
+poetry lock
+poetry2nix lock
diff --git a/pkgs/servers/monitoring/prometheus/redis-exporter.nix b/pkgs/servers/monitoring/prometheus/redis-exporter.nix
index 32c26a395e7..4b60c5a28d0 100644
--- a/pkgs/servers/monitoring/prometheus/redis-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/redis-exporter.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "redis_exporter";
-  version = "1.35.1";
+  version = "1.36.0";
 
   src = fetchFromGitHub {
     owner = "oliver006";
     repo = "redis_exporter";
     rev = "v${version}";
-    sha256 = "sha256-S89Okd57QyMHb/QYUQbib2HLdH9qo0duNxcdaP8wKUg=";
+    sha256 = "sha256-n+LvWl0KMAay90GQg42ODcvxX9QbvQ1Ixo4PfJYEAWA=";
   };
 
   vendorSha256 = "sha256-u9FfKOD6kiCFTjwQ7LHE9WC4j2vPm0ZCluL8pC4aQIc=";
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 735bfdeafb1..d9a4465a10a 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -33,23 +33,18 @@ let
     };
   };
 in {
-  nextcloud20 = throw ''
-    Nextcloud v20 has been removed from `nixpkgs` as the support for it was dropped
-    by upstream in 2021-10. Please upgrade to at least Nextcloud v21 by declaring
+  nextcloud21 = throw ''
+    Nextcloud v21 has been removed from `nixpkgs` as the support for it was dropped
+    by upstream in 2022-02. Please upgrade to at least Nextcloud v22 by declaring
 
-        services.nextcloud.package = pkgs.nextcloud21;
+        services.nextcloud.package = pkgs.nextcloud22;
 
     in your NixOS config.
 
-    WARNING: if you were on Nextcloud 19 on NixOS 21.05 you have to upgrade to Nextcloud 20
-    first on 21.05 because Nextcloud doesn't support upgrades accross multiple major versions!
+    WARNING: if you were on Nextcloud 20 on NixOS 21.11 you have to upgrade to Nextcloud 21
+    first on 21.11 because Nextcloud doesn't support upgrades accross multiple major versions!
   '';
 
-  nextcloud21 = generic {
-    version = "21.0.9";
-    sha256 = "sha256-p6bvgTXmmjGN3TRQpG88f3YPksh0QzWG9j9KnEjcrqE=";
-  };
-
   nextcloud22 = generic {
     version = "22.2.5";
     sha256 = "sha256-gb5N0u5tu4/nI2xIpjXwm2hiSDCrBhIDyN6gKGOsdS8=";
diff --git a/pkgs/servers/piping-server-rust/default.nix b/pkgs/servers/piping-server-rust/default.nix
index 7cf9442f13b..8885179de4d 100644
--- a/pkgs/servers/piping-server-rust/default.nix
+++ b/pkgs/servers/piping-server-rust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "piping-server-rust";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "nwtgck";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eDO2y/4660IAcD9vf1Vt6t3nv3Rc+zCRRFBbW/FeKIw=";
+    sha256 = "sha256-L15ofIM5a/qoJHGXmkuTsmQLLmERG/PxAJ4+z1nn7w4=";
   };
 
-  cargoSha256 = "sha256-U68R543l28osPe0DjuERqB/G6ur/BZDpWMZIO9RObaM=";
+  cargoSha256 = "sha256-CcIM7T7P4LbPxPK1ZqoJRP0IsLMEwMZg9DcuRu0aJHM=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Security ];
 
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index 2dc2d76c891..764c61356f3 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -24,14 +24,14 @@ let
   ]);
   path = lib.makeBinPath [ par2cmdline unrar unzip p7zip ];
 in stdenv.mkDerivation rec {
-  version = "3.5.1";
+  version = "3.5.2";
   pname = "sabnzbd";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-/HakjY0/oGq3lt0kM5p9n3sZ4g/UDtUNyXNpl9zTFl8=";
+    sha256 = "sha256-dGmZxnrxuUj6HwFI5QkSy9FnGYQpsNPFbUKXoJWpDfM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index 0af47ccca83..0998ddb573d 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -202,9 +202,9 @@ let
 in self: {
 
   postgresql_10 = self.callPackage generic {
-    version = "10.19";
+    version = "10.20";
     psqlSchema = "10.0"; # should be 10, but changing it is invasive
-    sha256 = "sha256-brgwtCi2DoSuh+IENrzmecTZ0CAr567A5BsMZ9kTQjk=";
+    sha256 = "sha256-h94W1ZvP5C+mBcMSxZvl4pToo+astlXdetR8u5MKZZ8=";
     this = self.postgresql_10;
     thisAttr = "postgresql_10";
     inherit self;
@@ -212,36 +212,36 @@ in self: {
   };
 
   postgresql_11 = self.callPackage generic {
-    version = "11.14";
+    version = "11.15";
     psqlSchema = "11.1"; # should be 11, but changing it is invasive
-    sha256 = "sha256-llx/S+lvtk+VgYUsWMTwXDgS1K2CPA8+K9/nd8Fi+Zk=";
+    sha256 = "sha256-yPWOjr1PRWf0+boQMus+meAlHYfL4+VktIVZDjeoeeM=";
     this = self.postgresql_11;
     thisAttr = "postgresql_11";
     inherit self;
   };
 
   postgresql_12 = self.callPackage generic {
-    version = "12.9";
+    version = "12.10";
     psqlSchema = "12";
-    sha256 = "sha256-if2i3jPtBKmFSOQ/PuXxW4gr4XUF1jH+DdGlQKK1bc4=";
+    sha256 = "sha256-g90ZLmA0lRGSuahtwZzzcXqLghIOLxGgo2cjyCDSslc=";
     this = self.postgresql_12;
     thisAttr = "postgresql_12";
     inherit self;
   };
 
   postgresql_13 = self.callPackage generic {
-    version = "13.5";
+    version = "13.6";
     psqlSchema = "13";
-    sha256 = "sha256-m4EGelXtuqvEGKrO9FfdhHdkKCdJlWCwBhWm6mwT9rM=";
+    sha256 = "sha256-uvx/o9nU2o/nG4TGO6i9/oCSk1wwwKqFwkssCFCPZ/w=";
     this = self.postgresql_13;
     thisAttr = "postgresql_13";
     inherit self;
   };
 
   postgresql_14 = self.callPackage generic {
-    version = "14.1";
+    version = "14.2";
     psqlSchema = "14";
-    sha256 = "sha256-TTwQHqeuOJgvBr3HN1i1Nyf7ZALs2TggBvpezHwspB8=";
+    sha256 = "sha256-LPeLLkaJEvgQHWldtTQM8xPC6faKYS+3FCdSToyal3o=";
     this = self.postgresql_14;
     thisAttr = "postgresql_14";
     inherit self;
diff --git a/pkgs/servers/sql/postgresql/ext/rum.nix b/pkgs/servers/sql/postgresql/ext/rum.nix
new file mode 100644
index 00000000000..ce7dcbd7a48
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/rum.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub, postgresql }:
+
+stdenv.mkDerivation rec {
+  pname = "rum";
+  version = "1.3.9";
+
+  src = fetchFromGitHub {
+    owner = "postgrespro";
+    repo = "rum";
+    rev = version;
+    sha256 = "sha256-xdCj9hzBg7VtAIHpIFpeeaK6U4aRrCsoQrPKdABSl+Y=";
+  };
+
+  buildInputs = [ postgresql ];
+
+  makeFlags = [ "USE_PGXS=1" ];
+
+  installPhase = ''
+    install -D -t $out/lib *.so
+    install -D -t $out/share/postgresql/extension *.control
+    install -D -t $out/share/postgresql/extension *.sql
+  '';
+
+  meta = with lib; {
+    description = "Full text search index method for PostgreSQL";
+    homepage = "https://github.com/postgrespro/rum";
+    license = licenses.postgresql;
+    platforms = postgresql.meta.platforms;
+    maintainers = with maintainers; [ DeeUnderscore ];
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix
index f3df8a99ca2..fec106f32ac 100644
--- a/pkgs/servers/sql/postgresql/packages.nix
+++ b/pkgs/servers/sql/postgresql/packages.nix
@@ -61,4 +61,6 @@ self: super: {
     pg_safeupdate = super.callPackage ./ext/pg_safeupdate.nix { };
 
     repmgr = super.callPackage ./ext/repmgr.nix { };
+
+    rum = super.callPackage ./ext/rum.nix { };
 }
diff --git a/pkgs/servers/sql/proxysql/default.nix b/pkgs/servers/sql/proxysql/default.nix
index ab8f7f9a699..be1739f2b8a 100644
--- a/pkgs/servers/sql/proxysql/default.nix
+++ b/pkgs/servers/sql/proxysql/default.nix
@@ -24,7 +24,6 @@
 , openssl
 , pcre
 , perl
-, prometheus-cpp
 , python2
 , re2
 , zlib
@@ -109,7 +108,6 @@ stdenv.mkDerivation rec {
         { f = "libssl"; p = openssl; }
         { f = "lz4"; p = lz4; }
         { f = "pcre"; p = pcre; }
-        { f = "prometheus-cpp"; p = prometheus-cpp; }
         { f = "re2"; p = re2; }
     ]}
 
@@ -123,8 +121,9 @@ stdenv.mkDerivation rec {
     ln -s ${nlohmann_json.src}/single_include/nlohmann/json.hpp .
     popd
 
-    pushd prometheus-cpp/prometheus-cpp/3rdparty
-    replace_dep . "${civetweb.src}" civetweb
+    pushd prometheus-cpp
+    tar xf v0.9.0.tar.gz
+    replace_dep prometheus-cpp/3rdparty "${civetweb.src}" civetweb
     popd
 
     sed -i s_/usr/bin/env_${coreutils}/bin/env_g libssl/openssl/config
diff --git a/pkgs/servers/tailscale/default.nix b/pkgs/servers/tailscale/default.nix
index 0d564352c73..8decb2f4d29 100644
--- a/pkgs/servers/tailscale/default.nix
+++ b/pkgs/servers/tailscale/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tailscale";
-  version = "1.22.0";
+  version = "1.22.1";
 
   src = fetchFromGitHub {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    sha256 = "sha256-kBxZFzny61xsLynD0sWz4dd8BzbdZkah0ATnHo3txRM=";
+    sha256 = "sha256-VUML5GwHrRYPd9lnOZuMA3T1SfdC0rVLP5m1yf+SA0A=";
   };
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 4902123181d..ea4ef814195 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -65,7 +65,7 @@ in rec {
   };
 
   unifi7 = generic {
-    version = "7.0.20-894288bd9b";
-    sha256 = "sha256-lDSU4D159svqkv+e61v/RWIyw0KOrF8X0nNpo9eQe50=";
+    version = "7.0.23";
+    sha256 = "1y2z02blgbqa6xvwjrvzx6mfwbbbmmv50rq409rsg1hkkzispxmw";
   };
 }
diff --git a/pkgs/servers/web-apps/wiki-js/default.nix b/pkgs/servers/web-apps/wiki-js/default.nix
index 8eb1a9e7a87..f4e7775c400 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.274";
+  version = "2.5.276";
 
   src = fetchurl {
-    url = "https://github.com/Requarks/wiki/releases/download/${version}/${pname}.tar.gz";
-    sha256 = "sha256-l3mvlC/DIJ2W3xLdwSV2gCRDdNGcg6OUW4e1IOihlyQ=";
+    url = "https://github.com/Requarks/wiki/releases/download/v${version}/${pname}.tar.gz";
+    sha256 = "sha256-ulx3/yj5wxmHsep0+93xpy6VeQJkMXRjGd/xx2F1zII=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index 5d0ed06b5ae..1556250447a 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -11,7 +11,6 @@
 
 with lib;
 
-
 let
   luaEnv = lua.withPackages(p: with p; [
       luasocket luasec luaexpat luafilesystem luabitop luadbi-sqlite3
@@ -22,7 +21,7 @@ let
   );
 in
 stdenv.mkDerivation rec {
-  version = "0.11.12"; # also update communityModules
+  version = "0.11.13"; # also update communityModules
   pname = "prosody";
   # The following community modules are necessary for the nixos module
   # prosody module to comply with XEP-0423 and provide a working
@@ -36,7 +35,7 @@ stdenv.mkDerivation rec {
   ];
   src = fetchurl {
     url = "https://prosody.im/downloads/source/${pname}-${version}.tar.gz";
-    sha256 = "03an206bl3h2lqcgv1wfvc2bqjq6m9vjb2idw0vyvczm43c55kan";
+    sha256 = "sha256-OcYbNGoJtRJbYEy5aeFCBsu8uGyBFW/8a6LWJSfPBDI=";
   };
 
   # A note to all those merging automated updates: Please also update this
@@ -44,8 +43,8 @@ stdenv.mkDerivation rec {
   # version.
   communityModules = fetchhg {
     url = "https://hg.prosody.im/prosody-modules";
-    rev = "bd0a1f917d98";
-    sha256 = "0figx0b0y5zfk5anf16h20y4crjmpb6bkg30vl7p0m594qnyqjcx";
+    rev = "54fa2116bbf3";
+    sha256 = "sha256-OKZ7tD75q8/GMXruUQ+r9l0BxzdbPHNf41fZ3fHVQVw=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -54,7 +53,6 @@ stdenv.mkDerivation rec {
   ]
   ++ withExtraLibs;
 
-
   configureFlags = [
     "--ostype=linux"
     "--with-lua-include=${luaEnv}/include"
@@ -89,9 +87,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     communityModules = withCommunityModules;
-    tests = {
-      main = nixosTests.prosody;
-    };
+    tests = { inherit (nixosTests) prosody prosody-mysql; };
   };
 
   meta = {
diff --git a/pkgs/shells/bash/bash-5.1-patches.nix b/pkgs/shells/bash/bash-5.1-patches.nix
index e6e9461bcbe..41eb9271058 100644
--- a/pkgs/shells/bash/bash-5.1-patches.nix
+++ b/pkgs/shells/bash/bash-5.1-patches.nix
@@ -13,4 +13,8 @@ patch: [
 (patch "010" "0amfmvbzsand7bdypylkjdpcp88fa3cplfshn7vyzv2ff2rdgj52")
 (patch "011" "0yq24abb4fzfxqnwl20b330sxl9lr9ds0nc4yi30f81l94b1y6aq")
 (patch "012" "165bff97ffih49vfs4mkr5w3z5gn1w6zfyrf773iajkw6v48kw8h")
+(patch "013" "1bfmgv3lagbk3aq9a831d29xv7jz4sjq7jhn9hq89limyinvdb67")
+(patch "014" "1l43dw4kpddn7l41i8wmj406z9abxky1wb3rk8krcys33g4f0kka")
+(patch "015" "1w40vzadzx019v0zhs4q6yqycrk04x1k8xs6qb73vk7ny4p6jdqv")
+(patch "016" "0krqqljz4bkp9wrdnwfx51bxkb8rkwf8ivc93as1znx5fr7i96c8")
 ]
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 622521781c1..e320b920cfa 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -134,7 +134,7 @@ let
 
   fish = stdenv.mkDerivation rec {
     pname = "fish";
-    version = "3.3.1";
+    version = "3.4.0";
 
     src = fetchurl {
       # There are differences between the release tarball and the tarball GitHub
@@ -144,11 +144,9 @@ let
       # --version`), as well as the local documentation for all builtins (and
       # maybe other things).
       url = "https://github.com/fish-shell/fish-shell/releases/download/${version}/${pname}-${version}.tar.xz";
-      sha256 = "sha256-tbTuGlJpdiy76ZOkvWUH5nXkEAzpu+hCFKXusrGfrok=";
+      sha256 = "sha256-tbSKuEhrGe9xajL39GuIuepTVhVfDpZ+6Z9Ak2RUE8U=";
     };
 
-    patches = [ ./tests-pcre2-update.patch ]; # should be included in >= 3.4
-
     # Fix FHS paths in tests
     postPatch = ''
       # src/fish_tests.cpp
@@ -182,6 +180,10 @@ let
       rm tests/pexpects/exit.py
       rm tests/pexpects/job_summary.py
       rm tests/pexpects/signals.py
+    '' + lib.optionalString (stdenv.isLinux && stdenv.isAarch64) ''
+      # pexpect tests are flaky on aarch64-linux
+      # See https://github.com/fish-shell/fish-shell/issues/8789
+      rm tests/pexpects/exit_handlers.py
     '';
 
     nativeBuildInputs = [
diff --git a/pkgs/shells/fish/tests-pcre2-update.patch b/pkgs/shells/fish/tests-pcre2-update.patch
deleted file mode 100644
index 5e0c327c540..00000000000
--- a/pkgs/shells/fish/tests-pcre2-update.patch
+++ /dev/null
@@ -1,7 +0,0 @@
-Adapted formating to 3.3.1 from
-https://github.com/fish-shell/fish-shell/commit/ec8844d834cc9fe626e9fc326c6f5410341d532a
---- a/src/fish_tests.cpp
-+++ b/src/fish_tests.cpp
-@@ -5726,2 +5725,0 @@
--        {{L"string", L"match", L"-r", L"(?=ab\\K)", L"ab", 0}, STATUS_CMD_OK, L"\n"},
--        {{L"string", L"match", L"-r", L"(?=ab\\K)..(?=cd\\K)", L"abcd", 0}, STATUS_CMD_OK, L"\n"},
diff --git a/pkgs/shells/hilbish/default.nix b/pkgs/shells/hilbish/default.nix
index 08ee5d664fa..c3f5d3516cb 100644
--- a/pkgs/shells/hilbish/default.nix
+++ b/pkgs/shells/hilbish/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "hilbish";
-  version = "1.0.2";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "Rosettea";
     repo = "Hilbish";
     rev = "v${version}";
-    sha256 = "sha256-BsN2v6OEWOtk8ENKr5G+lSmNIUA89VfpO+QQoBizx9g=";
+    sha256 = "sha256-JVAyE6iSfRres2YalQF3CWK5Jtn5HoW6p6RHVbwzoVQ=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/shells/tcsh/default.nix b/pkgs/shells/tcsh/default.nix
index 1befd289757..4357ca605b1 100644
--- a/pkgs/shells/tcsh/default.nix
+++ b/pkgs/shells/tcsh/default.nix
@@ -7,20 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tcsh";
-  version = "6.23.02";
+  version = "6.24.00";
 
   src = fetchurl {
-    urls = [
-      "https://astron.com/pub/tcsh/old/${pname}-${version}.tar.gz"
-      "https://astron.com/pub/tcsh/${pname}-${version}.tar.gz"
-      "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz"
-      "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz"
-      "ftp://ftp.funet.fi/pub/unix/shells/tcsh/old/${pname}-${version}.tar.gz"
-      "ftp://ftp.funet.fi/pub/unix/shells/tcsh/${pname}-${version}.tar.gz"
-      "ftp://ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz"
-      "ftp://ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz"
-    ];
-    hash = "sha256-wD+AQFE2cxswkdpzWoHN2EgAhRAySrMl8jWv9wnkRus=";
+    url = "mirror://tcsh/${pname}-${version}.tar.gz";
+    hash = "sha256-YL4sUEvY8fpuQksZVkldfnztUqKslNtf0n9La/yPdPA=";
   };
 
   buildInputs = [
@@ -28,6 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   patches = lib.optional stdenv.hostPlatform.isMusl
+    # Use system malloc
     (fetchpatch {
       name = "sysmalloc.patch";
       url = "https://git.alpinelinux.org/aports/plain/community/tcsh/001-sysmalloc.patch?id=184585c046cdd56512f1a76e426dd799b368f8cf";
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index 71f95472bb4..5a2c0d050ce 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -13,7 +13,7 @@
 , buildPackages }:
 
 let
-  version = "5.8";
+  version = "5.8.1";
 in
 
 stdenv.mkDerivation {
@@ -22,19 +22,12 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/zsh/zsh-${version}.tar.xz";
-    sha256 = "09yyaadq738zlrnlh1hd3ycj1mv3q5hh4xl1ank70mjnqm6bbi6w";
+    sha256 = "sha256-tpc1ILrOYAtHeSACabHl155fUFrElSBYwRrVu/DdmRk=";
   };
 
   patches = [
     # fix location of timezone data for TZ= completion
     ./tz_completion.patch
-    # This commit will be released with the next version of zsh
-    (fetchpatch {
-      name = "fix-git-stash-drop-completions.patch";
-      url = "https://github.com/zsh-users/zsh/commit/754658aff38e1bdf487c58bec6174cbecd019d11.patch";
-      sha256 = "sha256-ud/rLD+SqvyTzT6vwOr+MWH+LY5o5KACrU1TpmL15Lo=";
-      excludes = [ "ChangeLog" ];
-    })
   ];
 
   nativeBuildInputs = [ autoreconfHook perl groff texinfo ]
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 83ef9ea65e1..1907745fe8d 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -5,15 +5,15 @@
 , git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }:
 
 stdenv.mkDerivation rec {
-  version = "2022-01-18";
+  version = "2022-03-14";
   pname = "oh-my-zsh";
-  rev = "22c11da108764336d92d03d3113c1f486cdb5911";
+  rev = "345976874550efa09fa7e9cdbe1215ce27d1541b";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "ohmyzsh";
     repo = "ohmyzsh";
-    sha256 = "Tnwy+3lCWjzDhjXtgLIiX3SxpJG6shxmmPFyeWkO2R0=";
+    sha256 = "AxKt84XDqmkwBlUeWsE6Tm0aRxvv0HXRdBf/OXjIyHo=";
   };
 
   installPhase = ''
diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix
index 0d328d98ba1..25a593c6743 100644
--- a/pkgs/stdenv/default.nix
+++ b/pkgs/stdenv/default.nix
@@ -53,6 +53,7 @@ in
     armv8m-linux = stagesLinux;
     aarch64-linux = stagesLinux;
     mipsel-linux = stagesLinux;
+    mips64el-linux = stagesLinux;
     powerpc-linux = /* stagesLinux */ stagesNative;
     powerpc64-linux = stagesLinux;
     powerpc64le-linux = stagesLinux;
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
index d8ab96952b7..a21f677f117 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
@@ -17,6 +17,8 @@ in lib.mapAttrs (n: make) (with lib.systems.examples; {
   armv6l-musl  = muslpi;
   aarch64-musl = aarch64-multiplatform-musl;
   riscv64 = riscv64;
+  mips64el-linux-gnuabin32 = lib.systems.platforms.mips64el-linux-gnuabin32;
+  mips64el-linux-gnuabi64  = lib.systems.platforms.mips64el-linux-gnuabi64;
   powerpc64 = ppc64;
   powerpc64-musl = ppc64-musl;
   powerpc64le = powernv;
diff --git a/pkgs/test/make-wrapper/default.nix b/pkgs/test/make-wrapper/default.nix
index 6e70945ee19..62ccd272adf 100644
--- a/pkgs/test/make-wrapper/default.nix
+++ b/pkgs/test/make-wrapper/default.nix
@@ -64,6 +64,7 @@ runCommand "make-wrapper-test"
     (mkWrapperBinary { name = "test-run-and-set"; args = [ "--run" "export VAR=foo" "--set" "VAR" "bar" ]; })
     (mkWrapperBinary { name = "test-args"; args = [ "--add-flags" "abc" ]; wrapped = wrappedBinaryArgs; })
     (mkWrapperBinary { name = "test-prefix"; args = [ "--prefix" "VAR" ":" "abc" ]; })
+    (mkWrapperBinary { name = "test-prefix-noglob"; args = [ "--prefix" "VAR" ":" "./*" ]; })
     (mkWrapperBinary { name = "test-suffix"; args = [ "--suffix" "VAR" ":" "abc" ]; })
     (mkWrapperBinary { name = "test-prefix-and-suffix"; args = [ "--prefix" "VAR" ":" "foo" "--suffix" "VAR" ":" "bar" ]; })
     (mkWrapperBinary { name = "test-prefix-multi"; args = [ "--prefix" "VAR" ":" "abc:foo:foo" ]; })
@@ -112,6 +113,8 @@ runCommand "make-wrapper-test"
     # Only append the value once when given multiple times in a parameter
     # to makeWrapper
     + mkTest "test-prefix" "VAR=abc"
+    # --prefix doesn't expand globs
+    + mkTest "VAR=f?oo test-prefix-noglob" "VAR=./*:f?oo"
 
 
     # --suffix works
diff --git a/pkgs/tools/admin/aliyun-cli/default.nix b/pkgs/tools/admin/aliyun-cli/default.nix
index 9a65f647d11..94f793f47fd 100644
--- a/pkgs/tools/admin/aliyun-cli/default.nix
+++ b/pkgs/tools/admin/aliyun-cli/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "aliyun-cli";
-  version = "3.0.110";
+  version = "3.0.112";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "aliyun";
     repo = pname;
     fetchSubmodules = true;
-    sha256 = "sha256-Omi82feAq0tBuMSuA25JtDatfSJwWcxK3KkWkSI9ax4=";
+    sha256 = "sha256-gzZFxZMLq0TS8bxnQTTEno6OdAu/5tqr0Tl1cF8Rm3c=";
   };
 
-  vendorSha256 = "sha256-c7LsCNcxdHwDBEknXJt9AyrmFcem8YtUYy06vNDBdDY=";
+  vendorSha256 = "sha256-FQvBq8+80h7m271gjraV445ayWcpkemOtVswfmHzUM0=";
 
   subPackages = [ "main" ];
 
diff --git a/pkgs/tools/admin/berglas/default.nix b/pkgs/tools/admin/berglas/default.nix
index 8a6bb559041..bf86a5c02ec 100644
--- a/pkgs/tools/admin/berglas/default.nix
+++ b/pkgs/tools/admin/berglas/default.nix
@@ -1,19 +1,44 @@
 { lib, buildGoModule, fetchFromGitHub }:
 
+let
+  skipTests = {
+    access = "Access";
+    create = "Create";
+    delete = "Delete";
+    list = "List";
+    read = "Read";
+    replace = "Replace";
+    resolver = "Resolve";
+    revoke = "Revoke";
+    update = "Update";
+  };
+
+  skipTestsCommand =
+    builtins.foldl' (acc: goFileName:
+      let testName = builtins.getAttr goFileName skipTests; in
+      ''
+        ${acc}
+        substituteInPlace pkg/berglas/${goFileName}_test.go \
+          --replace "TestClient_${testName}_storage" "SkipClient_${testName}_storage" \
+          --replace "TestClient_${testName}_secretManager" "SkipClient_${testName}_secretManager"
+      ''
+    ) "" (builtins.attrNames skipTests);
+in
+
 buildGoModule rec {
   pname = "berglas";
-  version = "0.5.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0y393g36h35zzqyf5b10j6qq2jhvz83j17cmasnv6wbyrb3vnn0n";
+    sha256 = "sha256-aLsrrK+z080qn7L2zggA8yD+QqLaSRJLTjWQnFKFogQ=";
   };
 
-  vendorSha256 = null;
+  vendorSha256 = "sha256-HjZT0jezJzoEvXuzrjoTv/zSex+xDuGoP1h82CIlX14=";
 
-  doCheck = false;
+  postPatch = skipTestsCommand;
 
   meta = with lib; {
     description = "A tool for managing secrets on Google Cloud";
diff --git a/pkgs/tools/admin/bubblewrap/default.nix b/pkgs/tools/admin/bubblewrap/default.nix
index 4c6c6971fc9..fda6113b598 100644
--- a/pkgs/tools/admin/bubblewrap/default.nix
+++ b/pkgs/tools/admin/bubblewrap/default.nix
@@ -1,21 +1,54 @@
-{ lib, stdenv, fetchurl, libxslt, docbook_xsl, libcap }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, docbook_xsl
+, libxslt
+, meson
+, ninja
+, pkg-config
+, bash-completion
+, libcap
+, libselinux
+}:
 
 stdenv.mkDerivation rec {
   pname = "bubblewrap";
-  version = "0.5.0";
+  version = "0.6.1";
 
-  src = fetchurl {
-    url = "https://github.com/containers/bubblewrap/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Fv2vM3mdYxBONH4BM/kJGW/pDQxQUV0BC8tCLrWgCBg=";
+  src = fetchFromGitHub {
+    owner = "containers";
+    repo = "bubblewrap";
+    rev = "v${version}";
+    sha256 = "sha256-YmK/Tq9/JTJr5gLNKEH5t6TvvXlNSTDz5Ui7d3ewv2s=";
   };
 
-  nativeBuildInputs = [ libxslt docbook_xsl ];
-  buildInputs = [ libcap ];
+  postPatch = ''
+    substituteInPlace tests/libtest.sh \
+      --replace "/var/tmp" "$TMPDIR"
+  '';
+
+  nativeBuildInputs = [
+    docbook_xsl
+    libxslt
+    meson
+    ninja
+    pkg-config
+  ];
+
+  buildInputs = [
+    bash-completion
+    libcap
+    libselinux
+  ];
+
+  # incompatible with Nix sandbox
+  doCheck = false;
 
   meta = with lib; {
     description = "Unprivileged sandboxing tool";
     homepage = "https://github.com/containers/bubblewrap";
     license = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ dotlambda ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index 04f128e7bd0..035dfe183e6 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.86.0";
+  version = "0.87.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-AvBfj3/dPq/iokuRBDQRh2b3g5KBH/oFBDEDaVwQ51A=";
+    sha256 = "sha256-909cInKo6X8yzpXlumDYIi8yCYLqr1CVcsGgYSd2pnQ=";
   };
 
-  vendorSha256 = "sha256-bqyT6RXPBDPZt9ogS97G0jHJs7VdvVlHCXMaqJjnU2s=";
+  vendorSha256 = "sha256-3pEKG5YW83YMSkAjiJQDW1eQbMl6SkokHTXn+kJ/3l4=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index 529871683f6..6cb52ccd135 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.51.1";
+  version = "1.51.2";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-NU4xJTW0KCi8PZAY4cRJijGHCZEn5Z41xNF7+iH01oo=";
+    sha256 = "sha256-Nx9lASZOEetkADVEs2JxPRi9SCrb4SLnEpLpzcpp/Is=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/pkgs/tools/admin/fioctl/default.nix b/pkgs/tools/admin/fioctl/default.nix
index 03a77f624be..95f5ee789f2 100644
--- a/pkgs/tools/admin/fioctl/default.nix
+++ b/pkgs/tools/admin/fioctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fioctl";
-  version = "0.23";
+  version = "0.24";
 
   src = fetchFromGitHub {
     owner = "foundriesio";
     repo = "fioctl";
     rev = "v${version}";
-    sha256 = "sha256-00HWby1LwKEz4BgwD3yv0IMW9mzkTj4FMFgYAn7kLac=";
+    sha256 = "sha256-nlSJ6JxC5MTS/ltSB9qnhtoRjDL1A5NlXWM/2A4duGU=";
   };
 
-  vendorSha256 = "sha256-oA8/9LjMRM1RXKKDWhcbt2qr/4T7YgOq92U2mF9E+sw=";
+  vendorSha256 = "sha256-Cr9etq9E16vj2AL9OkIQom/gATjj9QT9+keUR1WQJR0=";
 
   ldflags = [
     "-s" "-w" "-X github.com/foundriesio/fioctl/subcommands/version.Commit=${src.rev}"
diff --git a/pkgs/tools/admin/fits-cloudctl/default.nix b/pkgs/tools/admin/fits-cloudctl/default.nix
index b506d1d678f..f53315613e7 100644
--- a/pkgs/tools/admin/fits-cloudctl/default.nix
+++ b/pkgs/tools/admin/fits-cloudctl/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "fits-cloudctl";
-  version = "0.10.11";
+  version = "0.10.12";
 
   src = fetchFromGitHub {
     owner = "fi-ts";
     repo = "cloudctl";
     rev = "v${version}";
-    sha256 = "sha256-hGKnQk2OPpHsjbRh/xx3MidbUMio6tYn+oJB0t1a/yM=";
+    sha256 = "sha256-nFxudeJJ5BkfZxSnRquyATHyHwI+7xwfQxiY8cedtis=";
   };
 
   vendorSha256 = "sha256-f35Asf9l6ZfixpjMGzesTsxmANreilMxH2CULMH3b2o=";
diff --git a/pkgs/tools/admin/lexicon/default.nix b/pkgs/tools/admin/lexicon/default.nix
index 4d48110e967..c060f600d32 100644
--- a/pkgs/tools/admin/lexicon/default.nix
+++ b/pkgs/tools/admin/lexicon/default.nix
@@ -3,42 +3,18 @@
 , fetchFromGitHub
 }:
 
-let
-  py = python3.override {
-    packageOverrides = self: super: {
-      # until https://github.com/ags-slc/localzone/issues/1 gets resolved
-      dnspython = super.dnspython.overridePythonAttrs(oldAttrs: rec {
-        pname = "dnspython";
-        version = "1.16.0";
-        # since name is defined from the previous derivation, need to override
-        # name explicity for correct version to show in drvName
-        name = "${pname}-${version}";
-
-        src = super.fetchPypi {
-          inherit pname version;
-          extension = "zip";
-          sha256 = "00cfamn97w2vhq3id87f10mjna8ag5yz5dw0cy5s0sa3ipiyii9n";
-        };
-      });
-
-      localzone = super.localzone.overridePythonAttrs(oldAttrs: rec {
-        meta = oldAttrs.meta // { broken = false; };
-      });
-    };
-  };
-in
-  with py.pkgs;
+with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "lexicon";
-  version = "3.9.0";
+  version = "3.9.4";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "AnalogJ";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-qJFHwFzFjZVdQv4YfrlR2cMQHsEtpQbvg/DMo6C5/z0=";
+    hash = "sha256-TySgIxBEl2RolndAkEN4vCIDKaI48vrh2ocd+CTn7Ow=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/admin/meshcentral/default.nix b/pkgs/tools/admin/meshcentral/default.nix
index 496f478be8a..b1c14d6c8aa 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.79";
+  version = "0.9.98";
 
   src = fetchzip {
     url = "https://registry.npmjs.org/meshcentral/-/meshcentral-${version}.tgz";
-    sha256 = "17f34ifzdrkbap2hhd0y0rdcn8j0svxzsqw0qhcp3h68z3098hdv";
+    sha256 = "0bvd6fin05dkh6x5qx2f58c0zsmxpdlwb8wqm0y04bax1mhm1bsf";
   };
 
   packageJSON = ./package.json;
diff --git a/pkgs/tools/admin/meshcentral/package.json b/pkgs/tools/admin/meshcentral/package.json
index 4a0f5bf6137..3b08a4ccbc5 100644
--- a/pkgs/tools/admin/meshcentral/package.json
+++ b/pkgs/tools/admin/meshcentral/package.json
@@ -1,6 +1,6 @@
 {
   "name": "meshcentral",
-  "version": "0.9.79",
+  "version": "0.9.98",
   "keywords": [
     "Remote Device Management",
     "Remote Device Monitoring",
@@ -41,7 +41,7 @@
     "compression": "^1.7.4",
     "cookie-session": "^1.4.0",
     "express": "^4.17.0",
-    "express-handlebars": "^3.1.0",
+    "express-handlebars": "^5.3.5",
     "express-ws": "^4.0.0",
     "ipcheck": "^0.1.0",
     "minimist": "^1.2.5",
diff --git a/pkgs/tools/admin/meshcentral/yarn.lock b/pkgs/tools/admin/meshcentral/yarn.lock
index 219114d50fe..55b08db09a9 100644
--- a/pkgs/tools/admin/meshcentral/yarn.lock
+++ b/pkgs/tools/admin/meshcentral/yarn.lock
@@ -2,6 +2,11 @@
 # yarn lockfile v1
 
 
+"@alloc/quick-lru@^5.2.0":
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30"
+  integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==
+
 "@babel/code-frame@^7.16.7":
   version "7.16.7"
   resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
@@ -9,10 +14,10 @@
   dependencies:
     "@babel/highlight" "^7.16.7"
 
-"@babel/generator@^7.17.0", "@babel/generator@^7.4.0":
-  version "7.17.0"
-  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e"
-  integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==
+"@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==
   dependencies:
     "@babel/types" "^7.17.0"
     jsesc "^2.5.1"
@@ -69,10 +74,10 @@
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.4.3":
-  version "7.17.0"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c"
-  integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==
+"@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/template@^7.16.7", "@babel/template@^7.4.0":
   version "7.16.7"
@@ -84,17 +89,17 @@
     "@babel/types" "^7.16.7"
 
 "@babel/traverse@^7.4.3":
-  version "7.17.0"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30"
-  integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==
+  version "7.17.3"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57"
+  integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==
   dependencies:
     "@babel/code-frame" "^7.16.7"
-    "@babel/generator" "^7.17.0"
+    "@babel/generator" "^7.17.3"
     "@babel/helper-environment-visitor" "^7.16.7"
     "@babel/helper-function-name" "^7.16.7"
     "@babel/helper-hoist-variables" "^7.16.7"
     "@babel/helper-split-export-declaration" "^7.16.7"
-    "@babel/parser" "^7.17.0"
+    "@babel/parser" "^7.17.3"
     "@babel/types" "^7.17.0"
     debug "^4.1.0"
     globals "^11.1.0"
@@ -115,35 +120,35 @@
     google-protobuf "3.14.0"
     parsimmon "1.16.0"
 
-"@sendgrid/client@^7.6.1":
-  version "7.6.1"
-  resolved "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.6.1.tgz#de17fe9f04af3bdb69aca44fc407316de87cea3b"
-  integrity sha512-q4U5OhcbJjs+lLVv/LhZSc28feiVCFMgvG9aYcRI5X4tKArnrrGDWb5HMITR9vaAtX42TXhyPFjHr1fk/Q1loQ==
+"@sendgrid/client@^7.6.2":
+  version "7.6.2"
+  resolved "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.6.2.tgz#5d08949120dad679f34260f1b875b4f57a8d688e"
+  integrity sha512-Yw3i3vPBBwfiIi+4i7+1f1rwQoLlLsu3qW16d1UuRp6RgX6H6yHYb2/PfqwNyCC0qzqIWGUKPWwYe5ggcr5Guw==
   dependencies:
-    "@sendgrid/helpers" "^7.6.0"
-    axios "^0.21.4"
+    "@sendgrid/helpers" "^7.6.2"
+    axios "^0.26.0"
 
-"@sendgrid/helpers@^7.6.0":
-  version "7.6.0"
-  resolved "https://registry.yarnpkg.com/@sendgrid/helpers/-/helpers-7.6.0.tgz#b381bfab391bcd66c771811b22bb6bb2d5c1dfc6"
-  integrity sha512-0uWD+HSXLl4Z/X3cN+UMQC20RE7xwAACgppnfjDyvKG0KvJcUgDGz7HDdQkiMUdcVWfmyk6zKSg7XKfKzBjTwA==
+"@sendgrid/helpers@^7.6.2":
+  version "7.6.2"
+  resolved "https://registry.yarnpkg.com/@sendgrid/helpers/-/helpers-7.6.2.tgz#e4abdd4e259611ed549ae8e0f4a46cd4f587e5d1"
+  integrity sha512-kGW0kM2AOHfXjcvB6Lgwa/nMv8IALu0KyNY9X4HSa3MtLohymuhbG9HgjrOh66+BkbsfA03H3bcT0+sPVJ0GKQ==
   dependencies:
     deepmerge "^4.2.2"
 
 "@sendgrid/mail@*":
-  version "7.6.1"
-  resolved "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-7.6.1.tgz#f7bbfc93781b0b6126549bf4b3649805295b02aa"
-  integrity sha512-F+HXpDLIU4PGZyZznOiFLDGJDwLn2qh7/wD5MvwurrldDx5DaGQHrYBKHopceOl15FVuq9ElU9VIxQJF8SMvTg==
+  version "7.6.2"
+  resolved "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-7.6.2.tgz#118650afbb58be82e3178fa172869d929d937118"
+  integrity sha512-IHHZFvgU95aqb11AevQvAfautj2pb8iW8UCiUJ2ae9pRF37e6EkBmU9NgdFjbQ/8Xhhm+KDVDzn/JLxDN/GiBw==
   dependencies:
-    "@sendgrid/client" "^7.6.1"
-    "@sendgrid/helpers" "^7.6.0"
+    "@sendgrid/client" "^7.6.2"
+    "@sendgrid/helpers" "^7.6.2"
 
 "@tootallnate/once@2":
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
   integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
 
-"@types/geojson@^7946.0.7":
+"@types/geojson@^7946.0.8":
   version "7946.0.8"
   resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.8.tgz#30744afdb385e2945e22f3b033f897f76b1f12ca"
   integrity sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==
@@ -155,15 +160,15 @@
   dependencies:
     "@types/node" "*"
 
-"@types/node@*":
-  version "17.0.17"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.17.tgz#a8ddf6e0c2341718d74ee3dc413a13a042c45a0c"
-  integrity sha512-e8PUNQy1HgJGV3iU/Bp2+D/DXh3PYeyli8LgIwsQcs1Ar1LoaWHSIT6Rw+H2rNJmiq6SNWiDytfx8+gYj7wDHw==
+"@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==
 
-"@types/node@^14.14.14", "@types/node@^14.14.28":
-  version "14.18.11"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.11.tgz#9bd810a959e1728d78df0f68b5c825b8ea7156f4"
-  integrity sha512-zCoCEMA+IPpsRkyCFBqew5vGb7r8RSiB3uwdu/map7uwLAfu1MTazW26/pUDWoNnF88vJz4W3U56i5gtXNqxGg==
+"@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==
 
 "@types/webidl-conversions@*":
   version "6.1.1"
@@ -431,7 +436,7 @@ abstract-logging@^2.0.0:
   resolved "https://registry.yarnpkg.com/abstract-logging/-/abstract-logging-2.0.1.tgz#6b0c371df212db7129b57d2e7fcf282b8bf1c839"
   integrity sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==
 
-accepts@~1.3.5, accepts@~1.3.7:
+accepts@~1.3.5, accepts@~1.3.8:
   version "1.3.8"
   resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
   integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
@@ -578,9 +583,9 @@ ansi-regex@^2.0.0:
   integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
 
 ansi-regex@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
-  integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed"
+  integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==
 
 ansi-styles@^2.2.1:
   version "2.2.1"
@@ -779,7 +784,7 @@ arrify@^2.0.0:
   resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
   integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
 
-asap@^2.0.0, asap@~2.0.3, asap@~2.0.6:
+asap@^2.0.0, asap@~2.0.3:
   version "2.0.6"
   resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
   integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
@@ -853,7 +858,7 @@ 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, axios@^0.21.4:
+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==
@@ -874,6 +879,13 @@ axios@^0.25.0:
   dependencies:
     follow-redirects "^1.14.7"
 
+axios@^0.26.0:
+  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"
+
 babel-cli@^6.16.0:
   version "6.26.0"
   resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1"
@@ -1474,20 +1486,20 @@ 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.1, body-parser@^1.19.0:
-  version "1.19.1"
-  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4"
-  integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==
+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==
   dependencies:
-    bytes "3.1.1"
+    bytes "3.1.2"
     content-type "~1.0.4"
     debug "2.6.9"
     depd "~1.1.2"
     http-errors "1.8.1"
     iconv-lite "0.4.24"
     on-finished "~2.3.0"
-    qs "6.9.6"
-    raw-body "2.4.2"
+    qs "6.9.7"
+    raw-body "2.4.3"
     type-is "~1.6.18"
 
 brace-expansion@^1.0.0, brace-expansion@^1.1.7:
@@ -1598,10 +1610,10 @@ bytes@3.0.0:
   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
   integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
 
-bytes@3.1.1:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a"
-  integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==
+bytes@3.1.2:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
+  integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
 
 cache-base@^1.0.1:
   version "1.0.1"
@@ -2080,10 +2092,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.1:
-  version "0.4.1"
-  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
-  integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
+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==
 
 cookies@0.8.0:
   version "0.8.0"
@@ -2237,9 +2249,9 @@ dateformat@~3.0.3:
   integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
 
 dayjs@^1.8.29:
-  version "1.10.7"
-  resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468"
-  integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==
+  version "1.10.8"
+  resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.8.tgz#267df4bc6276fcb33c04a6735287e3f429abec41"
+  integrity sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==
 
 ddata@~0.1.25:
   version "0.1.28"
@@ -2318,13 +2330,6 @@ defer-promise@^1.0.0:
   resolved "https://registry.yarnpkg.com/defer-promise/-/defer-promise-1.0.2.tgz#b79521c59cadadaed2d305385d30f8b05cbf9196"
   integrity sha512-5a0iWJvnon50nLLqHPW83pX45BLb4MmlSa1sIg05NBhZoK5EZGz1s8qoZ3888dVGGOT0Ni01NdETuAgdJUZknA==
 
-define-properties@^1.1.3:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
-  integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
-  dependencies:
-    object-keys "^1.0.12"
-
 define-property@^0.2.5:
   version "0.2.5"
   resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
@@ -2357,6 +2362,11 @@ denque@^1.4.1, denque@^1.5.0:
   resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf"
   integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==
 
+denque@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/denque/-/denque-2.0.1.tgz#bcef4c1b80dc32efe97515744f21a4229ab8934a"
+  integrity sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==
+
 depd@~1.1.2:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
@@ -2592,16 +2602,14 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2:
   dependencies:
     homedir-polyfill "^1.0.1"
 
-express-handlebars@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/express-handlebars/-/express-handlebars-3.1.0.tgz#c177ee9a81f6a2abada6b550b77b3e30c6bc0796"
-  integrity sha512-7QlaXnSREMmN5P2o4gmpUZDfJlLtfBka9d6r7/ccXaU7rPp76odw9YYtwZYdIiha2JqwiaG6o2Wu6NZJQ0u7Fg==
+express-handlebars@^5.3.5:
+  version "5.3.5"
+  resolved "https://registry.yarnpkg.com/express-handlebars/-/express-handlebars-5.3.5.tgz#a04a1e670aa97d5b3a8080de8336f79228593540"
+  integrity sha512-r9pzDc94ZNJ7FVvtsxLfPybmN0eFAUnR61oimNPRpD0D7nkLcezrkpZzoXS5TI75wYHRbflPLTU39B62pwB4DA==
   dependencies:
-    glob "^7.1.3"
-    graceful-fs "^4.1.2"
-    handlebars "^4.1.2"
-    object.assign "^4.1.0"
-    promise "^8.0.2"
+    glob "^7.2.0"
+    graceful-fs "^4.2.8"
+    handlebars "^4.7.7"
 
 express-ws@4.0.0:
   version "4.0.0"
@@ -2611,16 +2619,16 @@ express-ws@4.0.0:
     ws "^5.2.0"
 
 express@^4.17.0:
-  version "4.17.2"
-  resolved "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3"
-  integrity sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==
+  version "4.17.3"
+  resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1"
+  integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==
   dependencies:
-    accepts "~1.3.7"
+    accepts "~1.3.8"
     array-flatten "1.1.1"
-    body-parser "1.19.1"
+    body-parser "1.19.2"
     content-disposition "0.5.4"
     content-type "~1.0.4"
-    cookie "0.4.1"
+    cookie "0.4.2"
     cookie-signature "1.0.6"
     debug "2.6.9"
     depd "~1.1.2"
@@ -2635,7 +2643,7 @@ express@^4.17.0:
     parseurl "~1.3.3"
     path-to-regexp "0.1.7"
     proxy-addr "~2.0.7"
-    qs "6.9.6"
+    qs "6.9.7"
     range-parser "~1.2.1"
     safe-buffer "5.2.1"
     send "0.17.2"
@@ -2900,10 +2908,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:
-  version "1.14.8"
-  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc"
-  integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==
+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==
 
 for-in@^1.0.1, for-in@^1.0.2:
   version "1.0.2"
@@ -3106,7 +3114,7 @@ glob@^6.0.1:
     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.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"
   integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
@@ -3171,10 +3179,10 @@ globals@^9.18.0:
   resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
   integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
 
-google-auth-library@^7.0.2:
-  version "7.12.0"
-  resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.12.0.tgz#7965db6bc20cb31f2df05a08a296bbed6af69426"
-  integrity sha512-RS/whvFPMoF1hQNxnoVET3DWKPBt1Xgqe2rY0k+Jn7TNhoHlwdnSe7Rlcbo2Nub3Mt2lUVz26X65aDQrWp6x8w==
+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==
   dependencies:
     arrify "^2.0.0"
     base64-js "^1.3.0"
@@ -3199,26 +3207,26 @@ google-protobuf@3.14.0:
   integrity sha512-bwa8dBuMpOxg7COyqkW6muQuvNnWgVN8TX/epDRGW5m0jcrmq2QJyCyiV8ZE2/6LaIIqJtiv9bYokFhfpy/o6w==
 
 googleapis-common@^5.0.2:
-  version "5.0.5"
-  resolved "https://registry.yarnpkg.com/googleapis-common/-/googleapis-common-5.0.5.tgz#4c7160be1ed7e4cc8cdbcdb6eac8a4b3a61dd782"
-  integrity sha512-o2dgoW4x4fLIAN+IVAOccz3mEH8Lj1LP9c9BSSvkNJEn+U7UZh0WSr4fdH08x5VH7+sstIpd1lOYFZD0g7j4pw==
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/googleapis-common/-/googleapis-common-5.1.0.tgz#845a79471c787e522e03c50d415467140e9e356a"
+  integrity sha512-RXrif+Gzhq1QAzfjxulbGvAY3FPj8zq/CYcvgjzDbaBNCD6bUl+86I7mUs4DKWHGruuK26ijjR/eDpWIDgNROA==
   dependencies:
     extend "^3.0.2"
     gaxios "^4.0.0"
-    google-auth-library "^7.0.2"
+    google-auth-library "^7.14.0"
     qs "^6.7.0"
     url-template "^2.0.8"
     uuid "^8.0.0"
 
 googleapis@*:
-  version "95.0.0"
-  resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-95.0.0.tgz#63f6e28e78874044585f1e86c100a308a44fb385"
-  integrity sha512-ZpFZW7FDwcjQa2+xZNS2SC5sK2s46iWKA5QSFVJSK3RELQec4PYHhzKwzbeCzt4urnjYp6udPif95zXTFxbtRA==
+  version "96.0.0"
+  resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-96.0.0.tgz#95bdf0e57bc912581ba7bc10eb202301f2b05dc1"
+  integrity sha512-tEQtcukxA4sW1OXh35teJbui+BIjMTghH6i0tvUctyXgMDO0Upu3+hrytrw9JqZJxtXReM3Wr5+g4U7veqHpBQ==
   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.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==
@@ -3349,7 +3357,7 @@ handlebars@^3.0.0, handlebars@^3.0.3:
   optionalDependencies:
     uglify-js "^2.6"
 
-handlebars@^4.1.2:
+handlebars@^4.7.7:
   version "4.7.7"
   resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1"
   integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==
@@ -3392,9 +3400,9 @@ has-flag@^4.0.0:
   integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
 
 has-symbols@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
-  integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
+  integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
 
 has-value@^0.3.1:
   version "0.3.1"
@@ -4294,9 +4302,9 @@ ldapauth-fork@*:
     lru-cache "^6.0.0"
 
 ldapjs@^2.2.1:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/ldapjs/-/ldapjs-2.3.1.tgz#04136815fb1f21d692ac87fab5961a04d86e8b04"
-  integrity sha512-kf0tHHLrpwKaBAQOhYHXgdeh2PkFuCCxWgLb1MRn67ZQVo787D2pij3mmHVZx193GIdM8xcfi8HF6AIYYnj0fQ==
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/ldapjs/-/ldapjs-2.3.2.tgz#a599d081519f70462941cc33a50e9354c32f35b7"
+  integrity sha512-FU+GR/qbQ96WUZ2DUb7FzaEybYvv3240wTVPcbsdELB3o4cK92zGVjntsh68siVkLeCmlCcsd/cIQzyGXSS7LA==
   dependencies:
     abstract-logging "^2.0.0"
     asn1 "^0.2.4"
@@ -4454,11 +4462,6 @@ lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
   integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
 
-long@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
-  integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
-
 longest@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
@@ -4526,16 +4529,16 @@ map-visit@^1.0.0:
     object-visit "^1.0.0"
 
 mariadb@*:
-  version "2.5.5"
-  resolved "https://registry.yarnpkg.com/mariadb/-/mariadb-2.5.5.tgz#a9aff9f1e57231a415a21254489439beb501c803"
-  integrity sha512-6dklvcKWuuaV1JjAwnE2ezR+jTt7JrZHftgeHHBmjB0wgfaUpdxol1DPWclwMcCrsO9yoM0FuCOiCcCgXc//9Q==
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/mariadb/-/mariadb-3.0.0.tgz#0738b14036be097991172b22c0ce1d43e261c014"
+  integrity sha512-1uIqD6AWLP5ojMY67XP4+4uRLe9L92HD1ZGU8fidi8cGdYIC+Ghx1JliAtf7lc/tGjOh6J400f/1M4BXVtZFvA==
   dependencies:
-    "@types/geojson" "^7946.0.7"
-    "@types/node" "^14.14.28"
-    denque "^1.5.0"
+    "@alloc/quick-lru" "^5.2.0"
+    "@types/geojson" "^7946.0.8"
+    "@types/node" "^17.0.10"
+    denque "^2.0.1"
     iconv-lite "^0.6.3"
-    long "^4.0.0"
-    moment-timezone "^0.5.33"
+    moment-timezone "^0.5.34"
     please-upgrade-node "^3.2.0"
 
 marked@~0.3.6:
@@ -4639,11 +4642,16 @@ micromatch@^4.0.2:
     braces "^3.0.1"
     picomatch "^2.2.3"
 
-mime-db@1.51.0, "mime-db@>= 1.43.0 < 2":
+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":
+  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"
@@ -4683,10 +4691,10 @@ minimalistic-assert@^1.0.0:
   resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
   integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
 
-"minimatch@2 || 3", minimatch@^3.0.4, minimatch@~3.0.4:
-  version "3.0.5"
-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3"
-  integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==
+"minimatch@2 || 3", minimatch@^3.0.4:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+  integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
   dependencies:
     brace-expansion "^1.1.7"
 
@@ -4697,6 +4705,13 @@ minimatch@^2.0.1:
   dependencies:
     brace-expansion "^1.0.0"
 
+minimatch@~3.0.4:
+  version "3.0.8"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1"
+  integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==
+  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"
@@ -4739,7 +4754,7 @@ modern-syslog@*:
   dependencies:
     nan "^2.13.2"
 
-moment-timezone@^0.5.33:
+moment-timezone@^0.5.34:
   version "0.5.34"
   resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.34.tgz#a75938f7476b88f155d3504a9343f7519d9a405c"
   integrity sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==
@@ -5102,11 +5117,6 @@ object-inspect@^1.9.0:
   resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0"
   integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==
 
-object-keys@^1.0.12, object-keys@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
-  integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
 object-to-spawn-args@^1.1.0:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz#77da8827f073d011c9e1b173f895781470246785"
@@ -5138,16 +5148,6 @@ object-visit@^1.0.0:
   dependencies:
     isobject "^3.0.0"
 
-object.assign@^4.1.0:
-  version "4.1.2"
-  resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
-  integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
-  dependencies:
-    call-bind "^1.0.0"
-    define-properties "^1.1.3"
-    has-symbols "^1.0.1"
-    object-keys "^1.1.1"
-
 object.defaults@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf"
@@ -5672,9 +5672,9 @@ please-upgrade-node@^3.2.0:
     semver-compare "^1.0.0"
 
 plivo@*:
-  version "4.27.0"
-  resolved "https://registry.yarnpkg.com/plivo/-/plivo-4.27.0.tgz#af41278962b858bccf2bc04a9e28fd6008a0bd9a"
-  integrity sha512-bmtc/GSQsxBW5aarr8z8lS07vl4HWtgTZTb8W5/dfsm9Z3dG3VDswkFIeu+n0ZkJ+FEbVGPkCV4EJ7jfRA+2Cw==
+  version "4.28.0"
+  resolved "https://registry.yarnpkg.com/plivo/-/plivo-4.28.0.tgz#917813c55b45d33d291ee55dc7cfd868d53130c5"
+  integrity sha512-FQCc5TG5QUlNq1r0OlLvAHgJo15M+ou+dt7bWheataObxUxPqpga316zCOYR/sGzVzREPSB/ThpT9/cZeUcYgg==
   dependencies:
     "@types/node" "^14.14.14"
     axios "^0.21.1"
@@ -5764,13 +5764,6 @@ promise.prototype.finally@^1.0.1:
   dependencies:
     asap "~2.0.3"
 
-promise@^8.0.2:
-  version "8.1.0"
-  resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e"
-  integrity sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==
-  dependencies:
-    asap "~2.0.6"
-
 proxy-addr@~2.0.7:
   version "2.0.7"
   resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
@@ -5821,10 +5814,10 @@ 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.6:
-  version "6.9.6"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee"
-  integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==
+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:
   version "6.10.3"
@@ -5881,12 +5874,12 @@ 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.2:
-  version "2.4.2"
-  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32"
-  integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==
+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==
   dependencies:
-    bytes "3.1.1"
+    bytes "3.1.2"
     http-errors "1.8.1"
     iconv-lite "0.4.24"
     unpipe "1.0.0"
@@ -6615,9 +6608,9 @@ sqlstring@2.3.1:
   integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=
 
 ssh2@*:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.6.0.tgz#61aebc3a6910fe488f9c85cd8355bdf8d4724e05"
-  integrity sha512-lxc+uvXqOxyQ99N2M7k5o4pkYDO5GptOTYduWw7hIM41icxvoBcCNHcj+LTKrjkL0vFcAl+qfZekthoSFRJn2Q==
+  version "1.7.0"
+  resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.7.0.tgz#7aa30f2a5266f0ffd93944621b4eb1f403330fd4"
+  integrity sha512-u1gdFfqKV1PTGR2szS5FImhFii40o+8FOUpg1M//iimNaS4BkTyUVfVdoydXS93M1SquOU02Z4KFhYDBNqQO+g==
   dependencies:
     asn1 "^0.2.4"
     bcrypt-pbkdf "^1.0.2"
@@ -7026,9 +7019,9 @@ tweetnacl@^1.0.1:
   integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
 
 twilio@*:
-  version "3.74.0"
-  resolved "https://registry.yarnpkg.com/twilio/-/twilio-3.74.0.tgz#df912476543b7004cd765d566449c27174289091"
-  integrity sha512-r79CWIug+x2/1uGOdAzGESvUvycxPCvVJ9rm4y1TsAocshTh+f5+ipULxyT3T5q4wJNT+k2OEiUBkKFA+cpQ/A==
+  version "3.75.1"
+  resolved "https://registry.yarnpkg.com/twilio/-/twilio-3.75.1.tgz#7b9880e31a98c326f17dad3f1778f2a00805d351"
+  integrity sha512-q9h8AzJekL2etE4hPiZ3IOz9V6MkrY5d5cLvTra+Xe+jtDjQgarKbMUOYFhVHb/zXycf9qqW+Qk9de0ekgLwrQ==
   dependencies:
     axios "^0.25.0"
     dayjs "^1.8.29"
@@ -7039,7 +7032,7 @@ twilio@*:
     qs "^6.9.4"
     rootpath "^0.1.2"
     scmp "^2.1.0"
-    url-parse "^1.5.3"
+    url-parse "^1.5.6"
     xmlbuilder "^13.0.2"
 
 type-check@~0.3.2:
@@ -7073,9 +7066,9 @@ uglify-js@^2.6:
     uglify-to-browserify "~1.0.0"
 
 uglify-js@^3.1.4, uglify-js@^3.5.1:
-  version "3.15.1"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.1.tgz#9403dc6fa5695a6172a91bc983ea39f0f7c9086d"
-  integrity sha512-FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ==
+  version "3.15.3"
+  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.3.tgz#9aa82ca22419ba4c0137642ba0df800cb06e0471"
+  integrity sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==
 
 uglify-to-browserify@~1.0.0:
   version "1.0.2"
@@ -7172,10 +7165,10 @@ 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:
-  version "1.5.4"
-  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.4.tgz#e4f645a7e2a0852cc8a66b14b292a3e9a11a97fd"
-  integrity sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==
+url-parse@^1.5.3, url-parse@^1.5.6:
+  version "1.5.10"
+  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
+  integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
   dependencies:
     querystringify "^2.1.1"
     requires-port "^1.0.0"
@@ -7329,9 +7322,9 @@ weak-daemon@1.0.3:
   integrity sha512-9OLYp5qQSxpnTIyuA1zJ7at3DV2DSBcbdXduC/3QFPeYjF30Lh1nfBrG+VLf4QUvZPz2lXFPu08oIRzWQfucVQ==
 
 weak-map@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.5.tgz#79691584d98607f5070bd3b70a40e6bb22e401eb"
-  integrity sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=
+  version "1.0.8"
+  resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.8.tgz#394c18a9e8262e790544ed8b55c6a4ddad1cb1a3"
+  integrity sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==
 
 web-push@*:
   version "3.4.5"
diff --git a/pkgs/tools/admin/meshcentral/yarn.nix b/pkgs/tools/admin/meshcentral/yarn.nix
index c9d5925b658..84a2393cf7c 100644
--- a/pkgs/tools/admin/meshcentral/yarn.nix
+++ b/pkgs/tools/admin/meshcentral/yarn.nix
@@ -2,6 +2,14 @@
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
+      name = "_alloc_quick_lru___quick_lru_5.2.0.tgz";
+      path = fetchurl {
+        name = "_alloc_quick_lru___quick_lru_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz";
+        sha512 = "UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==";
+      };
+    }
+    {
       name = "_babel_code_frame___code_frame_7.16.7.tgz";
       path = fetchurl {
         name = "_babel_code_frame___code_frame_7.16.7.tgz";
@@ -10,11 +18,11 @@
       };
     }
     {
-      name = "_babel_generator___generator_7.17.0.tgz";
+      name = "_babel_generator___generator_7.17.3.tgz";
       path = fetchurl {
-        name = "_babel_generator___generator_7.17.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz";
-        sha512 = "I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==";
+        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==";
       };
     }
     {
@@ -74,11 +82,11 @@
       };
     }
     {
-      name = "_babel_parser___parser_7.17.0.tgz";
+      name = "_babel_parser___parser_7.17.3.tgz";
       path = fetchurl {
-        name = "_babel_parser___parser_7.17.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz";
-        sha512 = "VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==";
+        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==";
       };
     }
     {
@@ -90,11 +98,11 @@
       };
     }
     {
-      name = "_babel_traverse___traverse_7.17.0.tgz";
+      name = "_babel_traverse___traverse_7.17.3.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.17.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz";
-        sha512 = "fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==";
+        name = "_babel_traverse___traverse_7.17.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz";
+        sha512 = "5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==";
       };
     }
     {
@@ -114,27 +122,27 @@
       };
     }
     {
-      name = "_sendgrid_client___client_7.6.1.tgz";
+      name = "_sendgrid_client___client_7.6.2.tgz";
       path = fetchurl {
-        name = "_sendgrid_client___client_7.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.6.1.tgz";
-        sha512 = "q4U5OhcbJjs+lLVv/LhZSc28feiVCFMgvG9aYcRI5X4tKArnrrGDWb5HMITR9vaAtX42TXhyPFjHr1fk/Q1loQ==";
+        name = "_sendgrid_client___client_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.6.2.tgz";
+        sha512 = "Yw3i3vPBBwfiIi+4i7+1f1rwQoLlLsu3qW16d1UuRp6RgX6H6yHYb2/PfqwNyCC0qzqIWGUKPWwYe5ggcr5Guw==";
       };
     }
     {
-      name = "_sendgrid_helpers___helpers_7.6.0.tgz";
+      name = "_sendgrid_helpers___helpers_7.6.2.tgz";
       path = fetchurl {
-        name = "_sendgrid_helpers___helpers_7.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/@sendgrid/helpers/-/helpers-7.6.0.tgz";
-        sha512 = "0uWD+HSXLl4Z/X3cN+UMQC20RE7xwAACgppnfjDyvKG0KvJcUgDGz7HDdQkiMUdcVWfmyk6zKSg7XKfKzBjTwA==";
+        name = "_sendgrid_helpers___helpers_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@sendgrid/helpers/-/helpers-7.6.2.tgz";
+        sha512 = "kGW0kM2AOHfXjcvB6Lgwa/nMv8IALu0KyNY9X4HSa3MtLohymuhbG9HgjrOh66+BkbsfA03H3bcT0+sPVJ0GKQ==";
       };
     }
     {
-      name = "_sendgrid_mail___mail_7.6.1.tgz";
+      name = "_sendgrid_mail___mail_7.6.2.tgz";
       path = fetchurl {
-        name = "_sendgrid_mail___mail_7.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-7.6.1.tgz";
-        sha512 = "F+HXpDLIU4PGZyZznOiFLDGJDwLn2qh7/wD5MvwurrldDx5DaGQHrYBKHopceOl15FVuq9ElU9VIxQJF8SMvTg==";
+        name = "_sendgrid_mail___mail_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-7.6.2.tgz";
+        sha512 = "IHHZFvgU95aqb11AevQvAfautj2pb8iW8UCiUJ2ae9pRF37e6EkBmU9NgdFjbQ/8Xhhm+KDVDzn/JLxDN/GiBw==";
       };
     }
     {
@@ -162,19 +170,19 @@
       };
     }
     {
-      name = "_types_node___node_17.0.17.tgz";
+      name = "_types_node___node_17.0.21.tgz";
       path = fetchurl {
-        name = "_types_node___node_17.0.17.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-17.0.17.tgz";
-        sha512 = "e8PUNQy1HgJGV3iU/Bp2+D/DXh3PYeyli8LgIwsQcs1Ar1LoaWHSIT6Rw+H2rNJmiq6SNWiDytfx8+gYj7wDHw==";
+        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_14.18.11.tgz";
+      name = "_types_node___node_14.18.12.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.18.11.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.11.tgz";
-        sha512 = "zCoCEMA+IPpsRkyCFBqew5vGb7r8RSiB3uwdu/map7uwLAfu1MTazW26/pUDWoNnF88vJz4W3U56i5gtXNqxGg==";
+        name = "_types_node___node_14.18.12.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz";
+        sha512 = "q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==";
       };
     }
     {
@@ -610,11 +618,11 @@
       };
     }
     {
-      name = "ansi_regex___ansi_regex_4.1.0.tgz";
+      name = "ansi_regex___ansi_regex_4.1.1.tgz";
       path = fetchurl {
-        name = "ansi_regex___ansi_regex_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz";
-        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
+        name = "ansi_regex___ansi_regex_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz";
+        sha512 = "ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==";
       };
     }
     {
@@ -946,6 +954,14 @@
       };
     }
     {
+      name = "axios___axios_0.26.1.tgz";
+      path = fetchurl {
+        name = "axios___axios_0.26.1.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz";
+        sha512 = "fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==";
+      };
+    }
+    {
       name = "babel_cli___babel_cli_6.26.0.tgz";
       path = fetchurl {
         name = "babel_cli___babel_cli_6.26.0.tgz";
@@ -1490,11 +1506,11 @@
       };
     }
     {
-      name = "body_parser___body_parser_1.19.1.tgz";
+      name = "body_parser___body_parser_1.19.2.tgz";
       path = fetchurl {
-        name = "body_parser___body_parser_1.19.1.tgz";
-        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz";
-        sha512 = "8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==";
+        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==";
       };
     }
     {
@@ -1618,11 +1634,11 @@
       };
     }
     {
-      name = "bytes___bytes_3.1.1.tgz";
+      name = "bytes___bytes_3.1.2.tgz";
       path = fetchurl {
-        name = "bytes___bytes_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz";
-        sha512 = "dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==";
+        name = "bytes___bytes_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz";
+        sha512 = "/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==";
       };
     }
     {
@@ -2090,11 +2106,11 @@
       };
     }
     {
-      name = "cookie___cookie_0.4.1.tgz";
+      name = "cookie___cookie_0.4.2.tgz";
       path = fetchurl {
-        name = "cookie___cookie_0.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz";
-        sha512 = "ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==";
+        name = "cookie___cookie_0.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz";
+        sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
       };
     }
     {
@@ -2266,11 +2282,11 @@
       };
     }
     {
-      name = "dayjs___dayjs_1.10.7.tgz";
+      name = "dayjs___dayjs_1.10.8.tgz";
       path = fetchurl {
-        name = "dayjs___dayjs_1.10.7.tgz";
-        url  = "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz";
-        sha512 = "P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==";
+        name = "dayjs___dayjs_1.10.8.tgz";
+        url  = "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.8.tgz";
+        sha512 = "wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==";
       };
     }
     {
@@ -2370,14 +2386,6 @@
       };
     }
     {
-      name = "define_properties___define_properties_1.1.3.tgz";
-      path = fetchurl {
-        name = "define_properties___define_properties_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz";
-        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
-      };
-    }
-    {
       name = "define_property___define_property_0.2.5.tgz";
       path = fetchurl {
         name = "define_property___define_property_0.2.5.tgz";
@@ -2418,6 +2426,14 @@
       };
     }
     {
+      name = "denque___denque_2.0.1.tgz";
+      path = fetchurl {
+        name = "denque___denque_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/denque/-/denque-2.0.1.tgz";
+        sha512 = "tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==";
+      };
+    }
+    {
       name = "depd___depd_1.1.2.tgz";
       path = fetchurl {
         name = "depd___depd_1.1.2.tgz";
@@ -2698,11 +2714,11 @@
       };
     }
     {
-      name = "express_handlebars___express_handlebars_3.1.0.tgz";
+      name = "express_handlebars___express_handlebars_5.3.5.tgz";
       path = fetchurl {
-        name = "express_handlebars___express_handlebars_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/express-handlebars/-/express-handlebars-3.1.0.tgz";
-        sha512 = "7QlaXnSREMmN5P2o4gmpUZDfJlLtfBka9d6r7/ccXaU7rPp76odw9YYtwZYdIiha2JqwiaG6o2Wu6NZJQ0u7Fg==";
+        name = "express_handlebars___express_handlebars_5.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/express-handlebars/-/express-handlebars-5.3.5.tgz";
+        sha512 = "r9pzDc94ZNJ7FVvtsxLfPybmN0eFAUnR61oimNPRpD0D7nkLcezrkpZzoXS5TI75wYHRbflPLTU39B62pwB4DA==";
       };
     }
     {
@@ -2714,11 +2730,11 @@
       };
     }
     {
-      name = "express___express_4.17.2.tgz";
+      name = "express___express_4.17.3.tgz";
       path = fetchurl {
-        name = "express___express_4.17.2.tgz";
-        url  = "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz";
-        sha512 = "oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==";
+        name = "express___express_4.17.3.tgz";
+        url  = "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz";
+        sha512 = "yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==";
       };
     }
     {
@@ -2994,11 +3010,11 @@
       };
     }
     {
-      name = "follow_redirects___follow_redirects_1.14.8.tgz";
+      name = "follow_redirects___follow_redirects_1.14.9.tgz";
       path = fetchurl {
-        name = "follow_redirects___follow_redirects_1.14.8.tgz";
-        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz";
-        sha512 = "1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==";
+        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==";
       };
     }
     {
@@ -3290,11 +3306,11 @@
       };
     }
     {
-      name = "google_auth_library___google_auth_library_7.12.0.tgz";
+      name = "google_auth_library___google_auth_library_7.14.0.tgz";
       path = fetchurl {
-        name = "google_auth_library___google_auth_library_7.12.0.tgz";
-        url  = "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.12.0.tgz";
-        sha512 = "RS/whvFPMoF1hQNxnoVET3DWKPBt1Xgqe2rY0k+Jn7TNhoHlwdnSe7Rlcbo2Nub3Mt2lUVz26X65aDQrWp6x8w==";
+        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==";
       };
     }
     {
@@ -3314,19 +3330,19 @@
       };
     }
     {
-      name = "googleapis_common___googleapis_common_5.0.5.tgz";
+      name = "googleapis_common___googleapis_common_5.1.0.tgz";
       path = fetchurl {
-        name = "googleapis_common___googleapis_common_5.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/googleapis-common/-/googleapis-common-5.0.5.tgz";
-        sha512 = "o2dgoW4x4fLIAN+IVAOccz3mEH8Lj1LP9c9BSSvkNJEn+U7UZh0WSr4fdH08x5VH7+sstIpd1lOYFZD0g7j4pw==";
+        name = "googleapis_common___googleapis_common_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/googleapis-common/-/googleapis-common-5.1.0.tgz";
+        sha512 = "RXrif+Gzhq1QAzfjxulbGvAY3FPj8zq/CYcvgjzDbaBNCD6bUl+86I7mUs4DKWHGruuK26ijjR/eDpWIDgNROA==";
       };
     }
     {
-      name = "googleapis___googleapis_95.0.0.tgz";
+      name = "googleapis___googleapis_96.0.0.tgz";
       path = fetchurl {
-        name = "googleapis___googleapis_95.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/googleapis/-/googleapis-95.0.0.tgz";
-        sha512 = "ZpFZW7FDwcjQa2+xZNS2SC5sK2s46iWKA5QSFVJSK3RELQec4PYHhzKwzbeCzt4urnjYp6udPif95zXTFxbtRA==";
+        name = "googleapis___googleapis_96.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/googleapis/-/googleapis-96.0.0.tgz";
+        sha512 = "tEQtcukxA4sW1OXh35teJbui+BIjMTghH6i0tvUctyXgMDO0Upu3+hrytrw9JqZJxtXReM3Wr5+g4U7veqHpBQ==";
       };
     }
     {
@@ -3498,11 +3514,11 @@
       };
     }
     {
-      name = "has_symbols___has_symbols_1.0.2.tgz";
+      name = "has_symbols___has_symbols_1.0.3.tgz";
       path = fetchurl {
-        name = "has_symbols___has_symbols_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz";
-        sha512 = "chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==";
+        name = "has_symbols___has_symbols_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz";
+        sha512 = "l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==";
       };
     }
     {
@@ -4514,11 +4530,11 @@
       };
     }
     {
-      name = "ldapjs___ldapjs_2.3.1.tgz";
+      name = "ldapjs___ldapjs_2.3.2.tgz";
       path = fetchurl {
-        name = "ldapjs___ldapjs_2.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/ldapjs/-/ldapjs-2.3.1.tgz";
-        sha512 = "kf0tHHLrpwKaBAQOhYHXgdeh2PkFuCCxWgLb1MRn67ZQVo787D2pij3mmHVZx193GIdM8xcfi8HF6AIYYnj0fQ==";
+        name = "ldapjs___ldapjs_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/ldapjs/-/ldapjs-2.3.2.tgz";
+        sha512 = "FU+GR/qbQ96WUZ2DUb7FzaEybYvv3240wTVPcbsdELB3o4cK92zGVjntsh68siVkLeCmlCcsd/cIQzyGXSS7LA==";
       };
     }
     {
@@ -4706,14 +4722,6 @@
       };
     }
     {
-      name = "long___long_4.0.0.tgz";
-      path = fetchurl {
-        name = "long___long_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz";
-        sha512 = "XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==";
-      };
-    }
-    {
       name = "longest___longest_1.0.1.tgz";
       path = fetchurl {
         name = "longest___longest_1.0.1.tgz";
@@ -4794,11 +4802,11 @@
       };
     }
     {
-      name = "mariadb___mariadb_2.5.5.tgz";
+      name = "mariadb___mariadb_3.0.0.tgz";
       path = fetchurl {
-        name = "mariadb___mariadb_2.5.5.tgz";
-        url  = "https://registry.yarnpkg.com/mariadb/-/mariadb-2.5.5.tgz";
-        sha512 = "6dklvcKWuuaV1JjAwnE2ezR+jTt7JrZHftgeHHBmjB0wgfaUpdxol1DPWclwMcCrsO9yoM0FuCOiCcCgXc//9Q==";
+        name = "mariadb___mariadb_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/mariadb/-/mariadb-3.0.0.tgz";
+        sha512 = "1uIqD6AWLP5ojMY67XP4+4uRLe9L92HD1ZGU8fidi8cGdYIC+Ghx1JliAtf7lc/tGjOh6J400f/1M4BXVtZFvA==";
       };
     }
     {
@@ -4906,6 +4914,14 @@
       };
     }
     {
+      name = "mime_db___mime_db_1.52.0.tgz";
+      path = fetchurl {
+        name = "mime_db___mime_db_1.52.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz";
+        sha512 = "sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==";
+      };
+    }
+    {
       name = "mime_types___mime_types_2.1.34.tgz";
       path = fetchurl {
         name = "mime_types___mime_types_2.1.34.tgz";
@@ -4946,11 +4962,11 @@
       };
     }
     {
-      name = "minimatch___minimatch_3.0.5.tgz";
+      name = "minimatch___minimatch_3.1.2.tgz";
       path = fetchurl {
-        name = "minimatch___minimatch_3.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz";
-        sha512 = "tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==";
+        name = "minimatch___minimatch_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz";
+        sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
       };
     }
     {
@@ -4962,6 +4978,14 @@
       };
     }
     {
+      name = "minimatch___minimatch_3.0.8.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_3.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz";
+        sha512 = "6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==";
+      };
+    }
+    {
       name = "minimist___minimist_1.2.5.tgz";
       path = fetchurl {
         name = "minimist___minimist_1.2.5.tgz";
@@ -5402,14 +5426,6 @@
       };
     }
     {
-      name = "object_keys___object_keys_1.1.1.tgz";
-      path = fetchurl {
-        name = "object_keys___object_keys_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz";
-        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
-      };
-    }
-    {
       name = "object_to_spawn_args___object_to_spawn_args_1.1.1.tgz";
       path = fetchurl {
         name = "object_to_spawn_args___object_to_spawn_args_1.1.1.tgz";
@@ -5442,14 +5458,6 @@
       };
     }
     {
-      name = "object.assign___object.assign_4.1.2.tgz";
-      path = fetchurl {
-        name = "object.assign___object.assign_4.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz";
-        sha512 = "ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==";
-      };
-    }
-    {
       name = "object.defaults___object.defaults_1.1.0.tgz";
       path = fetchurl {
         name = "object.defaults___object.defaults_1.1.0.tgz";
@@ -6050,11 +6058,11 @@
       };
     }
     {
-      name = "plivo___plivo_4.27.0.tgz";
+      name = "plivo___plivo_4.28.0.tgz";
       path = fetchurl {
-        name = "plivo___plivo_4.27.0.tgz";
-        url  = "https://registry.yarnpkg.com/plivo/-/plivo-4.27.0.tgz";
-        sha512 = "bmtc/GSQsxBW5aarr8z8lS07vl4HWtgTZTb8W5/dfsm9Z3dG3VDswkFIeu+n0ZkJ+FEbVGPkCV4EJ7jfRA+2Cw==";
+        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==";
       };
     }
     {
@@ -6170,14 +6178,6 @@
       };
     }
     {
-      name = "promise___promise_8.1.0.tgz";
-      path = fetchurl {
-        name = "promise___promise_8.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz";
-        sha512 = "W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==";
-      };
-    }
-    {
       name = "proxy_addr___proxy_addr_2.0.7.tgz";
       path = fetchurl {
         name = "proxy_addr___proxy_addr_2.0.7.tgz";
@@ -6242,11 +6242,11 @@
       };
     }
     {
-      name = "qs___qs_6.9.6.tgz";
+      name = "qs___qs_6.9.7.tgz";
       path = fetchurl {
-        name = "qs___qs_6.9.6.tgz";
-        url  = "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz";
-        sha512 = "TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==";
+        name = "qs___qs_6.9.7.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz";
+        sha512 = "IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==";
       };
     }
     {
@@ -6322,11 +6322,11 @@
       };
     }
     {
-      name = "raw_body___raw_body_2.4.2.tgz";
+      name = "raw_body___raw_body_2.4.3.tgz";
       path = fetchurl {
-        name = "raw_body___raw_body_2.4.2.tgz";
-        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz";
-        sha512 = "RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==";
+        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==";
       };
     }
     {
@@ -7130,11 +7130,11 @@
       };
     }
     {
-      name = "ssh2___ssh2_1.6.0.tgz";
+      name = "ssh2___ssh2_1.7.0.tgz";
       path = fetchurl {
-        name = "ssh2___ssh2_1.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/ssh2/-/ssh2-1.6.0.tgz";
-        sha512 = "lxc+uvXqOxyQ99N2M7k5o4pkYDO5GptOTYduWw7hIM41icxvoBcCNHcj+LTKrjkL0vFcAl+qfZekthoSFRJn2Q==";
+        name = "ssh2___ssh2_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/ssh2/-/ssh2-1.7.0.tgz";
+        sha512 = "u1gdFfqKV1PTGR2szS5FImhFii40o+8FOUpg1M//iimNaS4BkTyUVfVdoydXS93M1SquOU02Z4KFhYDBNqQO+g==";
       };
     }
     {
@@ -7610,11 +7610,11 @@
       };
     }
     {
-      name = "twilio___twilio_3.74.0.tgz";
+      name = "twilio___twilio_3.75.1.tgz";
       path = fetchurl {
-        name = "twilio___twilio_3.74.0.tgz";
-        url  = "https://registry.yarnpkg.com/twilio/-/twilio-3.74.0.tgz";
-        sha512 = "r79CWIug+x2/1uGOdAzGESvUvycxPCvVJ9rm4y1TsAocshTh+f5+ipULxyT3T5q4wJNT+k2OEiUBkKFA+cpQ/A==";
+        name = "twilio___twilio_3.75.1.tgz";
+        url  = "https://registry.yarnpkg.com/twilio/-/twilio-3.75.1.tgz";
+        sha512 = "q9h8AzJekL2etE4hPiZ3IOz9V6MkrY5d5cLvTra+Xe+jtDjQgarKbMUOYFhVHb/zXycf9qqW+Qk9de0ekgLwrQ==";
       };
     }
     {
@@ -7650,11 +7650,11 @@
       };
     }
     {
-      name = "uglify_js___uglify_js_3.15.1.tgz";
+      name = "uglify_js___uglify_js_3.15.3.tgz";
       path = fetchurl {
-        name = "uglify_js___uglify_js_3.15.1.tgz";
-        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.1.tgz";
-        sha512 = "FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ==";
+        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==";
       };
     }
     {
@@ -7786,11 +7786,11 @@
       };
     }
     {
-      name = "url_parse___url_parse_1.5.4.tgz";
+      name = "url_parse___url_parse_1.5.10.tgz";
       path = fetchurl {
-        name = "url_parse___url_parse_1.5.4.tgz";
-        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.4.tgz";
-        sha512 = "ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==";
+        name = "url_parse___url_parse_1.5.10.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz";
+        sha512 = "WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==";
       };
     }
     {
@@ -7978,11 +7978,11 @@
       };
     }
     {
-      name = "weak_map___weak_map_1.0.5.tgz";
+      name = "weak_map___weak_map_1.0.8.tgz";
       path = fetchurl {
-        name = "weak_map___weak_map_1.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.5.tgz";
-        sha1 = "eWkVhNmGB/UHC9O3CkDmuyLkAes=";
+        name = "weak_map___weak_map_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.8.tgz";
+        sha512 = "lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==";
       };
     }
     {
diff --git a/pkgs/tools/admin/oci-cli/default.nix b/pkgs/tools/admin/oci-cli/default.nix
index d94abe504d2..21d115407f6 100644
--- a/pkgs/tools/admin/oci-cli/default.nix
+++ b/pkgs/tools/admin/oci-cli/default.nix
@@ -23,14 +23,14 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "oci-cli";
-  version = "3.5.0";
+  version = "3.6.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "oracle";
     repo = "oci-cli";
     rev = "v${version}";
-    hash = "sha256-udvYfYFUulGfnc1gzjG3UxOc68JuecpPJ1/s57qvX0k=";
+    hash = "sha256-ADjHPRG3QzSWR7FvcTIJdcBYmzZK+SWipdY1giNtaME=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/admin/syft/default.nix b/pkgs/tools/admin/syft/default.nix
index d4d5ee7348b..cf261187c52 100644
--- a/pkgs/tools/admin/syft/default.nix
+++ b/pkgs/tools/admin/syft/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "syft";
-  version = "0.41.1";
+  version = "0.41.6";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-6ltEC9LCuE4Rj4TlBwsDI45L92XMuCbEuMDkOk8OkZo=";
+    sha256 = "sha256-Ebs0IVdcll7bTNjoZalD5Ye0GFXJeas1nPseYLzZxOk=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -22,7 +22,7 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorSha256 = "sha256-13PcAQlHPaQ1n7OiRSEW5H3rDXgUAmKAQGqQM31iyR8=";
+  vendorSha256 = "sha256-/WGkQfCUDmolGdzNxIZKzZnXWnqO2vvizBLJgO+s4Ak=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index 00fa4cc6d65..c0e021cfa32 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.24.2";
+  version = "0.24.3";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xMLSou+8kIQVEJlkA7ygv623hvETcEAdyFPR3HJr5ZQ=";
+    sha256 = "sha256-8ozoSorVoYt5C4F2FgEwGYQErBVnoTt2FhxiC3/SGsA=";
   };
 
-  vendorSha256 = "sha256-qRkxDvrqMVOsz5r3m3I+E0HAVoUwFykkfGzTz9Qc/S4=";
+  vendorSha256 = "sha256-HM4SxCvvHz7MZsHa8+Orx1KKCRhyZH28JlN9wW+/xIw=";
 
   excludedPackages = "misc";
 
diff --git a/pkgs/tools/archivers/7zz/default.nix b/pkgs/tools/archivers/7zz/default.nix
index c93a750e48f..c4ccae0272e 100644
--- a/pkgs/tools/archivers/7zz/default.nix
+++ b/pkgs/tools/archivers/7zz/default.nix
@@ -1,4 +1,14 @@
-{ stdenv, lib, fetchurl, p7zip, uasm, useUasm ? stdenv.isx86_64 }:
+{ stdenv
+, lib
+, fetchurl
+
+, uasm
+, useUasm ? stdenv.isx86_64
+
+  # RAR code is under non-free unRAR license
+  # see the meta.license section below for more details
+, enableUnfree ? false
+}:
 
 let
   inherit (stdenv.hostPlatform) system;
@@ -14,17 +24,38 @@ stdenv.mkDerivation rec {
   version = "21.07";
 
   src = fetchurl {
-    url = "https://7-zip.org/a/7z${lib.replaceStrings [ "." ] [ "" ] version}-src.7z";
-    sha256 = "sha256-0QdNVvQVqrmdmeWXp7ZtxFXbpjSa6KTInfdkdbahKEw=";
+    url = "https://7-zip.org/a/7z${lib.replaceStrings [ "." ] [ "" ] version}-src.tar.xz";
+    sha256 = {
+      free = "sha256-SMM6kQ6AZ05s4miJjMoE4NnsXQ0tlkdWx0q2HKjhaM8=";
+      unfree = "sha256-IT1ZRAfLjvy6NmELFSykkh7aFBYzELQ5A9E+aDE+Hjk=";
+    }.${if enableUnfree then "unfree" else "free"};
+    downloadToTemp = (!enableUnfree);
+    # remove the unRAR related code from the src drv
+    # > the license requires that you agree to these use restrictions,
+    # > or you must remove the software (source and binary) from your hard disks
+    # https://fedoraproject.org/wiki/Licensing:Unrar
+    postFetch = lib.optionalString (!enableUnfree) ''
+      mkdir tmp
+      tar xf $downloadedFile -C ./tmp
+      rm -r ./tmp/CPP/7zip/Compress/Rar*
+      tar cfJ $out -C ./tmp . \
+        --sort=name \
+        --mtime="@$SOURCE_DATE_EPOCH" \
+        --owner=0 --group=0 --numeric-owner \
+        --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime
+    '';
   };
 
   sourceRoot = "CPP/7zip/Bundles/Alone2";
 
-  makeFlags = lib.optionals useUasm [ "MY_ASM=uasm" ];
+  makeFlags =
+    lib.optionals useUasm [ "MY_ASM=uasm" ] ++
+    # it's the compression code with the restriction, see DOC/License.txt
+    lib.optionals (!enableUnfree) [ "DISABLE_RAR_COMPRESS=true" ];
 
   makefile = "../../cmpl_gcc${platformSuffix}.mak";
 
-  nativeBuildInputs = [ p7zip ] ++ lib.optionals useUasm [ uasm ];
+  nativeBuildInputs = lib.optionals useUasm [ uasm ];
 
   enableParallelBuilding = true;
 
@@ -40,14 +71,27 @@ stdenv.mkDerivation rec {
   doInstallCheck = true;
 
   installCheckPhase = ''
+    runHook preInstallCheck
+
     $out/bin/7zz --help | grep ${version}
+
+    runHook postInstallCheck
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Command line archiver utility";
     homepage = "https://7-zip.org";
-    license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ anna328p peterhoeg ];
+    license = with licenses;
+      # 7zip code is largely lgpl2Plus
+      # CPP/7zip/Compress/LzfseDecoder.cpp is bsd3
+      [ lgpl2Plus /* and */ bsd3 ] ++
+      # and CPP/7zip/Compress/Rar* are unfree with the unRAR license restriction
+      # the unRAR compression code is disabled by default
+      lib.optionals enableUnfree [ unfree ];
+    maintainers = with maintainers; [ anna328p peterhoeg jk ];
     platforms = platforms.linux;
+    mainProgram = "7zz";
   };
 }
diff --git a/pkgs/tools/archivers/7zz/update.sh b/pkgs/tools/archivers/7zz/update.sh
new file mode 100755
index 00000000000..bbc9804799a
--- /dev/null
+++ b/pkgs/tools/archivers/7zz/update.sh
@@ -0,0 +1,50 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p coreutils gnused curl jq
+set -euo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+DRV_DIR="$PWD"
+
+OLD_VERSION="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
+
+NEW_VERSION="$(curl "https://sourceforge.net/projects/sevenzip/best_release.json" | jq '.platform_releases.linux.filename' -r | cut -d/ -f3)"
+
+echo "comparing versions $OLD_VERSION => $NEW_VERSION"
+if [[ "$OLD_VERSION" == "$NEW_VERSION" ]]; then
+    echo "Already up to date! Doing nothing"
+    exit 0
+fi
+
+NIXPKGS_ROOT="$(realpath "$DRV_DIR/../../../..")"
+
+echo "getting free source hash"
+OLD_FREE_HASH="$(nix-instantiate --eval --strict -E "with import $NIXPKGS_ROOT {}; _7zz.src.drvAttrs.outputHash" | tr -d '"')"
+echo "getting unfree source hash"
+OLD_UNFREE_HASH="$(nix-instantiate --eval --strict -E "with import $NIXPKGS_ROOT {}; (_7zz.override { enableUnfree = true; }).src.drvAttrs.outputHash" | tr -d '"')"
+
+NEW_VERSION_FORMATTED="$(echo "$NEW_VERSION" | tr -d '.')"
+URL="https://7-zip.org/a/7z${NEW_VERSION_FORMATTED}-src.tar.xz"
+
+
+NEW_FREE_HASH=$(nix-prefetch -f "$NIXPKGS_ROOT" -E "_7zz.src" --url "$URL")
+
+NEW_UNFREE_OUT=$(nix-prefetch -f "$NIXPKGS_ROOT" -E "(_7zz.override { enableUnfree = true; }).src" --url "$URL" --output raw --print-path)
+# first line of raw output is the hash
+NEW_UNFREE_HASH="$(echo "$NEW_UNFREE_OUT" | sed -n 1p)"
+# second line of raw output is the src path
+NEW_UNFREE_SRC="$(echo "$NEW_UNFREE_OUT" | sed -n 2p)"
+# make sure to nuke the unfree src from the updater's machine
+# > the license requires that you agree to these use restrictions, or you must remove the software (source and binary) from your hard disks
+# https://fedoraproject.org/wiki/Licensing:Unrar
+nix-store --delete "$NEW_UNFREE_SRC"
+
+
+echo "updating version"
+sed -i "s/version = \"$OLD_VERSION\";/version = \"$NEW_VERSION\";/" "$DRV_DIR/default.nix"
+
+echo "updating free hash"
+sed -i "s@free = \"$OLD_FREE_HASH\";@free = \"$NEW_FREE_HASH\";@" "$DRV_DIR/default.nix"
+echo "updating unfree hash"
+sed -i "s@unfree = \"$OLD_UNFREE_HASH\";@unfree = \"$NEW_UNFREE_HASH\";@" "$DRV_DIR/default.nix"
+
+echo "done"
diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix
index 7f892a44da5..5e92553b636 100644
--- a/pkgs/tools/archivers/p7zip/default.nix
+++ b/pkgs/tools/archivers/p7zip/default.nix
@@ -8,7 +8,18 @@ stdenv.mkDerivation rec {
     owner  = "jinfeihan57";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-19F4hPV0nKVuFZNbOcXrcA1uW6Y3HQolaHVIYXGmh18=";
+    sha256 = {
+      free = "sha256-DrBuf2VPdcprHI6pMSmL7psm2ofOrUf0Oj0qwMjXzkk=";
+      unfree = "sha256-19F4hPV0nKVuFZNbOcXrcA1uW6Y3HQolaHVIYXGmh18=";
+    }.${if enableUnfree then "unfree" else "free"};
+    # remove the unRAR related code from the src drv
+    # > the license requires that you agree to these use restrictions,
+    # > or you must remove the software (source and binary) from your hard disks
+    # https://fedoraproject.org/wiki/Licensing:Unrar
+    extraPostFetch = lib.optionalString (!enableUnfree) ''
+      rm -r $out/CPP/7zip/Compress/Rar*
+      find $out -name makefile'*' -exec sed -i '/Rar/d' {} +
+    '';
   };
 
   # Default makefile is full of impurities on Darwin. The patch doesn't hurt Linux so I'm leaving it unconditional
@@ -25,11 +36,6 @@ stdenv.mkDerivation rec {
     substituteInPlace makefile.machine \
       --replace 'CC=gcc'  'CC=${stdenv.cc.targetPrefix}gcc' \
       --replace 'CXX=g++' 'CXX=${stdenv.cc.targetPrefix}g++'
-  '' + lib.optionalString (!enableUnfree) ''
-    # Remove non-free RAR source code
-    # (see DOC/License.txt, https://fedoraproject.org/wiki/Licensing:Unrar)
-    rm -r CPP/7zip/Compress/Rar*
-    find . -name makefile'*' -exec sed -i '/Rar/d' {} +
   '';
 
   makeFlags = [ "DEST_HOME=${placeholder "out"}" ];
@@ -46,13 +52,20 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=c++11-narrowing";
 
-  meta = {
+  passthru.updateScript = ./update.sh;
+
+  meta = with lib; {
     homepage = "https://github.com/jinfeihan57/p7zip";
     description = "A new p7zip fork with additional codecs and improvements (forked from https://sourceforge.net/projects/p7zip/)";
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.raskin ];
+    license = with licenses;
+      # p7zip code is largely lgpl2Plus
+      # CPP/7zip/Compress/LzfseDecoder.cpp is bsd3
+      [ lgpl2Plus /* and */ bsd3 ] ++
+      # and CPP/7zip/Compress/Rar* are unfree with the unRAR license restriction
+      # the unRAR compression code is disabled by default
+      lib.optionals enableUnfree [ unfree ];
+    maintainers = with maintainers; [ raskin jk ];
+    platforms = platforms.unix;
     mainProgram = "7z";
-    # RAR code is under non-free UnRAR license, but we remove it
-    license = if enableUnfree then lib.licenses.unfree else lib.licenses.lgpl2Plus;
   };
 }
diff --git a/pkgs/tools/archivers/p7zip/update.sh b/pkgs/tools/archivers/p7zip/update.sh
new file mode 100755
index 00000000000..0d4b91e56e8
--- /dev/null
+++ b/pkgs/tools/archivers/p7zip/update.sh
@@ -0,0 +1,47 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p coreutils gnused curl jq
+set -euo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+DRV_DIR="$PWD"
+
+OLD_VERSION="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
+
+NEW_VERSION="$(curl https://api.github.com/repos/jinfeihan57/p7zip/releases/latest | jq .tag_name -r | tr -d 'v')"
+
+echo "comparing versions $OLD_VERSION => $NEW_VERSION"
+if [[ "$OLD_VERSION" == "$NEW_VERSION" ]]; then
+    echo "Already up to date! Doing nothing"
+    exit 0
+fi
+
+NIXPKGS_ROOT="$(realpath "$DRV_DIR/../../../..")"
+
+echo "getting free source hash"
+OLD_FREE_HASH="$(nix-instantiate --eval --strict -E "with import $NIXPKGS_ROOT {}; p7zip.src.drvAttrs.outputHash" | tr -d '"')"
+echo "getting unfree source hash"
+OLD_UNFREE_HASH="$(nix-instantiate --eval --strict -E "with import $NIXPKGS_ROOT {}; (p7zip.override { enableUnfree = true; }).src.drvAttrs.outputHash" | tr -d '"')"
+
+
+NEW_FREE_HASH=$(nix-prefetch -f "$NIXPKGS_ROOT" -E "p7zip.src" --rev "v$NEW_VERSION")
+
+NEW_UNFREE_OUT=$(nix-prefetch -f "$NIXPKGS_ROOT" -E "(p7zip.override { enableUnfree = true; }).src" --rev "v$NEW_VERSION" --output raw --print-path)
+# first line of raw output is the hash
+NEW_UNFREE_HASH="$(echo "$NEW_UNFREE_OUT" | sed -n 1p)"
+# second line of raw output is the src path
+NEW_UNFREE_SRC="$(echo "$NEW_UNFREE_OUT" | sed -n 2p)"
+# make sure to nuke the unfree src from the updater's machine
+# > the license requires that you agree to these use restrictions, or you must remove the software (source and binary) from your hard disks
+# https://fedoraproject.org/wiki/Licensing:Unrar
+nix-store --delete "$NEW_UNFREE_SRC"
+
+
+echo "updating version"
+sed -i "s/version = \"$OLD_VERSION\";/version = \"$NEW_VERSION\";/" "$DRV_DIR/default.nix"
+
+echo "updating free hash"
+sed -i "s@free = \"$OLD_FREE_HASH\";@free = \"$NEW_FREE_HASH\";@" "$DRV_DIR/default.nix"
+echo "updating unfree hash"
+sed -i "s@unfree = \"$OLD_UNFREE_HASH\";@unfree = \"$NEW_UNFREE_HASH\";@" "$DRV_DIR/default.nix"
+
+echo "done"
diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix
index 3fa4089b866..b988a135e45 100644
--- a/pkgs/tools/archivers/unrar/default.nix
+++ b/pkgs/tools/archivers/unrar/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unrar";
-  version = "6.1.5";
+  version = "6.1.6";
 
   src = fetchurl {
     url = "https://www.rarlab.com/rar/unrarsrc-${version}.tar.gz";
-    sha256 = "sha256-TlZxfYZ83/egAIt/Haaqeax6j5dM8TTUmowWtXe87Uo=";
+    sha256 = "sha256-Z/SriRwGIhjCut+qycjKtci/1eltq/ylbI+qPSCagB0=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/backup/autorestic/default.nix b/pkgs/tools/backup/autorestic/default.nix
index aebcc608c76..3837c55655e 100644
--- a/pkgs/tools/backup/autorestic/default.nix
+++ b/pkgs/tools/backup/autorestic/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "autorestic";
-  version = "1.5.5";
+  version = "1.5.6";
 
   src = fetchFromGitHub {
     owner = "cupcakearmy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JOiFsH9r92Gac7DH7h/4Q6hwXBtqLwHNQpW3gKBybHo=";
+    sha256 = "sha256-NhKAxybPLBR1Kaw2d4xI8WKS4cG0yAMHbUBDWgr5T0A=";
   };
 
   vendorSha256 = "sha256-WzmgV0wUsGfMVeho6M8wXJKD9adaAKRYmaJYaAcXwFc=";
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index b04263a7168..d9f336c86d4 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "btrbk";
-  version = "0.32.0";
+  version = "0.32.1";
 
   src = fetchurl {
     url = "https://digint.ch/download/btrbk/releases/${pname}-${version}.tar.xz";
-    sha256 = "HmvNtIgFfeaiFuSRobWlcJqusPSYtqAqx+79+CeNVDQ=";
+    sha256 = "flQf1KTybPImDoD+iNe+P+u1rOiYxXjQoltuGPWuX3g=";
   };
 
   nativeBuildInputs = [ asciidoctor makeWrapper ];
diff --git a/pkgs/tools/backup/bupstash/default.nix b/pkgs/tools/backup/bupstash/default.nix
index 91876f68d4a..0d3550c05bc 100644
--- a/pkgs/tools/backup/bupstash/default.nix
+++ b/pkgs/tools/backup/bupstash/default.nix
@@ -1,16 +1,16 @@
 { lib, fetchFromGitHub, installShellFiles, rustPlatform, ronn, pkg-config, libsodium }:
 rustPlatform.buildRustPackage rec {
   pname = "bupstash";
-  version = "0.10.3";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "andrewchambers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YN5pIXJRTQXqFGuXvyoSlYJEjAZ4wIYEKjEeF8qIJCI=";
+    sha256 = "sha256-9yWQQ8uzDkN3Pi2OiEn+oEazc3nH53dF2GswBCu8d3c=";
   };
 
-  cargoSha256 = "sha256-Erpg+Sktx+L2X9k6g1ngOyM8MNoucGcScOSPMB7vld8=";
+  cargoSha256 = "sha256-JAclSUFuQk768cgDEvG1rxux2xBGHl1d/NAoxw161YU=";
 
   nativeBuildInputs = [ ronn pkg-config installShellFiles ];
   buildInputs = [ libsodium ];
diff --git a/pkgs/tools/backup/discordchatexporter-cli/default.nix b/pkgs/tools/backup/discordchatexporter-cli/default.nix
index 3c16fb1e0ed..d2a9bd2563e 100644
--- a/pkgs/tools/backup/discordchatexporter-cli/default.nix
+++ b/pkgs/tools/backup/discordchatexporter-cli/default.nix
@@ -1,20 +1,20 @@
 { lib
-, stdenv
 , buildDotnetModule
 , fetchFromGitHub
-, autoPatchelfHook
 , dotnetCorePackages
+, testVersion
+, discordchatexporter-cli
 }:
 
 buildDotnetModule rec {
   pname = "discordchatexporter-cli";
-  version = "2.32";
+  version = "2.33.2";
 
   src = fetchFromGitHub {
     owner = "tyrrrz";
     repo = "discordchatexporter";
     rev = version;
-    sha256 = "xRoF/HJ4ekHL/Uk6ISQP+65nChRT+n9xLTYcZMJxyvo=";
+    sha256 = "wOSa6O3O4QlGL5ecnR14ldXPYV5mDoPDlJjcwN5Lrek=";
   };
 
   dotnet-sdk = dotnetCorePackages.sdk_6_0;
@@ -23,15 +23,24 @@ buildDotnetModule rec {
   projectFile = "DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj";
   nugetDeps = ./deps.nix;
 
-  nativeBuildInputs = [ autoPatchelfHook ];
-  buildInputs = [ stdenv.cc.cc.lib ];
+  postFixup = ''
+    ln -s $out/bin/DiscordChatExporter.Cli $out/bin/discordchatexporter-cli
+  '';
+
+  passthru = {
+    updateScript = ./updater.sh;
+    tests.version = testVersion {
+      package = discordchatexporter-cli;
+      version = "v${version}";
+    };
+  };
 
   meta = with lib; {
     description = "A tool to export Discord chat logs to a file";
     homepage = "https://github.com/Tyrrrz/DiscordChatExporter";
     license = licenses.gpl3Plus;
+    changelog = "https://github.com/Tyrrrz/DiscordChatExporter/blob/${version}/Changelog.md";
     maintainers = [ maintainers.ivar ];
     platforms = [ "x86_64-linux" ];
   };
-  passthru.updateScript = ./updater.sh;
 }
diff --git a/pkgs/tools/backup/discordchatexporter-cli/deps.nix b/pkgs/tools/backup/discordchatexporter-cli/deps.nix
index a360d0099fd..92bf39b58ef 100644
--- a/pkgs/tools/backup/discordchatexporter-cli/deps.nix
+++ b/pkgs/tools/backup/discordchatexporter-cli/deps.nix
@@ -1,6 +1,6 @@
 { fetchNuGet }: [
-  (fetchNuGet { pname = "CliFx"; version = "2.2.1"; sha256 = "1yxxl3jgl6sadar1g9175s62fag5f30lqpgrf58djll3509rbgw5"; })
-  (fetchNuGet { pname = "Gress"; version = "1.2.0"; sha256 = "0aidc9whi0718gh896j7xkyndki9x7rifd8n1n681afb2zbxw4bn"; })
+  (fetchNuGet { pname = "CliFx"; version = "2.2.2"; sha256 = "13g5xlrbyhnbwkyzic5jlhxl0kpvkfrdmb5h2rdf9yp4gp5p9mwg"; })
+  (fetchNuGet { pname = "Gress"; version = "2.0.1"; sha256 = "00xhyfkrlc38nbl6aymr7zwxc3kj0rxvx5gwk6fkfrvi1pzgq0wc"; })
   (fetchNuGet { pname = "JsonExtensions"; version = "1.2.0"; sha256 = "0g54hibabbqqfhxjlnxwv1rxagpali5agvnpymp2w3dk8h6q66xy"; })
   (fetchNuGet { pname = "MiniRazor.CodeGen"; version = "2.2.0"; sha256 = "1rbgkm1hsamqhviw2c62g6iafiwkxcnz66qbybpd32qgz1124cx4"; })
   (fetchNuGet { pname = "MiniRazor.Runtime"; version = "2.2.0"; sha256 = "0zm0l97jfbfy90zj0cbi7v3qbhxhfay1g8f2cw0gp829xz4yk9jr"; })
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index 9e0752b5482..aa049682b83 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation {
   pname = "bcachefs-tools";
-  version = "unstable-2022-01-12";
+  version = "unstable-2022-03-09";
 
   src = fetchFromGitHub {
     owner = "koverstreet";
     repo = "bcachefs-tools";
-    rev = "7b15324de1095f3e2e423e9c53da076d208b52d5";
-    sha256 = "0glpq0n1xv7ck28v0gahl1fak9dhyp04id8d1l8yxvnriyw19zxa";
+    rev = "3e2e3d468eed1d5ebbb4c6309d2eaebd081912c5";
+    sha256 = "1sb0dj2whlp3dxgf642z7yx7s8va5ah82zi6r4qni7l64qy1n554";
   };
 
   postPatch = ''
@@ -60,11 +60,13 @@ stdenv.mkDerivation {
     smoke-test = nixosTests.bcachefs;
   };
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Tool for managing bcachefs filesystems";
     homepage = "https://bcachefs.org/";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ davidak chiiruno ];
+    maintainers = with maintainers; [ davidak Madouura ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index 936555f93a4..c51cc12da36 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -1,17 +1,17 @@
 { lib, stdenv, fetchurl
 , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, pkg-config, python3, xmlto
 , zstd
-, acl, attr, e2fsprogs, libuuid, lzo, systemd, zlib
+, acl, attr, e2fsprogs, libuuid, lzo, udev, zlib
 , runCommand, btrfs-progs
 }:
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.16";
+  version = "5.16.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "0cqqlcq9bywfi3cpg5ivxiv7p9v6z1r6k4nnmin24mj1kp8krarq";
+    sha256 = "sha256-PaTaU2HPhr3dqA7bTE8w6gdstOvsKZBPoIr8kw754ag=";
   };
 
   nativeBuildInputs = [
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     python3 python3.pkgs.setuptools
   ];
 
-  buildInputs = [ acl attr e2fsprogs libuuid lzo python3 zlib zstd ] ++ lib.optionals stdenv.hostPlatform.isGnu [ systemd ];
+  buildInputs = [ acl attr e2fsprogs libuuid lzo python3 zlib zstd ] ++ lib.optionals stdenv.hostPlatform.isGnu [ udev ];
 
   # for python cross-compiling
   _PYTHON_HOST_PLATFORM = stdenv.hostPlatform.config;
diff --git a/pkgs/tools/filesystems/dosfstools/default.nix b/pkgs/tools/filesystems/dosfstools/default.nix
index 14d054364fd..75a39fdfe92 100644
--- a/pkgs/tools/filesystems/dosfstools/default.nix
+++ b/pkgs/tools/filesystems/dosfstools/default.nix
@@ -1,21 +1,30 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libiconv }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libiconv, gettext, xxd }:
 
 stdenv.mkDerivation rec {
   pname = "dosfstools";
-  version = "4.1";
+  version = "4.2";
 
   src = fetchFromGitHub {
     owner = "dosfstools";
     repo = "dosfstools";
     rev = "v${version}";
-    sha256 = "1a2zn1655d5f1m6jp9vpn3bp8yfxhcmxx3mx23ai9hmxiydiykr1";
+    sha256 = "sha256-2gxB0lQixiHOHw8uTetHekaM57fvUd9zOzSxWnvUz/c=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ]
     ++ lib.optional stdenv.isDarwin libiconv;
 
+  # configure.ac:75: error: required file './config.rpath' not found
+  # https://github.com/dosfstools/dosfstools/blob/master/autogen.sh
+  postPatch = ''
+    cp ${gettext}/share/gettext/config.rpath config.rpath
+  '';
+
   configureFlags = [ "--enable-compat-symlinks" ];
 
+  checkInputs = [ xxd ];
+  doCheck = true;
+
   meta = {
     description = "Utilities for creating and checking FAT and VFAT file systems";
     homepage = "https://github.com/dosfstools/dosfstools";
diff --git a/pkgs/tools/graphics/agi/default.nix b/pkgs/tools/graphics/agi/default.nix
index 1dc47e4287a..4a0ef0e9a73 100644
--- a/pkgs/tools/graphics/agi/default.nix
+++ b/pkgs/tools/graphics/agi/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "agi";
-  version = "2.2.0-dev-20220120";
+  version = "3.1.0-dev-20220314";
 
   src = fetchzip {
     url = "https://github.com/google/agi-dev-releases/releases/download/v${version}/agi-${version}-linux.zip";
-    sha256 = "sha256-0f17CAANxomtx1fvhj+mI6k4IqwIimmcTSTXZGbbWDY=";
+    sha256 = "sha256-j/ozkIoRM+G7fi0qBG8UGKPtrn6DR6KNK0Hc53dxsMw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/graphics/pngoptimizer/default.nix b/pkgs/tools/graphics/pngoptimizer/default.nix
new file mode 100644
index 00000000000..c75ba0fb101
--- /dev/null
+++ b/pkgs/tools/graphics/pngoptimizer/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub, gtk3, pkg-config }:
+
+stdenv.mkDerivation rec {
+  pname = "pngoptimizer";
+  version = "2.7";
+
+  src = fetchFromGitHub {
+    owner = "hadrien-psydk";
+    repo = "pngoptimizer";
+    rev = "v${version}";
+    sha256 = "1hbgf91vzx46grslfdx86smdvm6gs6lq9hpa3bax9xfbsknxi0i7";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ gtk3 ];
+
+  makeFlags = [ "CONFIG=release" "DESTDIR=$(out)" ];
+
+  postInstall = ''
+    mv $out/usr/bin $out/bin
+    mv $out/usr/share $out/share
+    rmdir $out/usr
+  '';
+
+  meta = with lib; {
+    homepage = "https://psydk.org/pngoptimizer";
+    description = "PNG optimizer and converter";
+    # https://github.com/hadrien-psydk/pngoptimizer#license-information
+    license = with licenses; [ gpl2Only lgpl21Only zlib ];
+    maintainers = with maintainers; [ smitop ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 50b9dba51d3..0f4dde0a416 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv
 , substituteAll
 , fetchurl
+, fetchpatch
 , fetchFromGitHub
 , autoreconfHook
 , gettext
@@ -9,12 +10,14 @@
 , vala
 , wrapGAppsHook
 , dbus
+, systemd
 , dconf ? null
 , glib
 , gdk-pixbuf
 , gobject-introspection
 , gtk2
 , gtk3
+, gtk4
 , gtk-doc
 , runCommand
 , isocodes
@@ -60,16 +63,22 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus";
-  version = "1.5.24";
+  version = "1.5.26";
 
   src = fetchFromGitHub {
     owner = "ibus";
     repo = "ibus";
     rev = version;
-    sha256 = "sha256-1qx06MlEUjSS067FdQG1Bdi4ZAh3hPcNjUX5PIiC3Sk=";
+    sha256 = "7Vuj4Gyd+dLUoCkR4SPkfGPwVQPRo2pHk0pRAsmtjxc=";
   };
 
   patches = [
+    # Fixes systemd unit installation path https://github.com/ibus/ibus/pull/2388
+    (fetchpatch {
+      url = "https://github.com/ibus/ibus/commit/33b4b3932bfea476a841f8df99e20049b83f4b0e.patch";
+      sha256 = "kh8SBR+cqsov/B0A2YXLJVq1F171qoSRUKbBPHjPRHI=";
+    })
+
     (substituteAll {
       src = ./fix-paths.patch;
       pythonInterpreter = python3Runtime.interpreter;
@@ -94,6 +103,7 @@ stdenv.mkDerivation rec {
     (enableFeature enablePython2Library "python-library")
     (enableFeature enablePython2Library "python2") # XXX: python2 library does not work anyway
     (enableFeature enableUI "ui")
+    "--enable-gtk4"
     "--enable-install-tests"
     "--with-unicode-emoji-dir=${unicode-emoji}/share/unicode/emoji"
     "--with-emoji-annotation-dir=${cldr-emoji-annotation}/share/unicode/cldr/common/annotations"
@@ -123,12 +133,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     dbus
+    systemd
     dconf
     gdk-pixbuf
     gobject-introspection
     python3.pkgs.pygobject3 # for pygobject overrides
     gtk2
     gtk3
+    gtk4
     isocodes
     json-glib
     libnotify
diff --git a/pkgs/tools/inputmethods/ibus/fix-paths.patch b/pkgs/tools/inputmethods/ibus/fix-paths.patch
index 60269c6c241..340ec22130f 100644
--- a/pkgs/tools/inputmethods/ibus/fix-paths.patch
+++ b/pkgs/tools/inputmethods/ibus/fix-paths.patch
@@ -1,6 +1,8 @@
+diff --git a/configure.ac b/configure.ac
+index a3cdb2da..cade9466 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -429,11 +429,11 @@
+@@ -469,11 +469,11 @@ PKG_CHECK_EXISTS([pygobject-3.0 >= $PYGOBJECT_REQUIRED],
  if test "x$enable_pygobject" = "xyes"; then
      PKG_CHECK_MODULES(PYTHON, [pygobject-3.0 >= $PYGOBJECT_REQUIRED])
  
@@ -14,7 +16,7 @@
          AC_SUBST(py2overridesdir)
      fi
  fi
-@@ -462,7 +462,7 @@
+@@ -502,7 +502,7 @@ if test x"$enable_python_library" = x"yes"; then
      PYTHON2_VERSION=`$PYTHON2 -c "import sys; sys.stdout.write(sys.version[[:3]])"`
      PYTHON2_LIBDIR="$PYTHON2_PREFIX/lib/python$PYTHON2_VERSION"
      python2dir="$PYTHON2_LIBDIR/site-packages"
@@ -23,9 +25,11 @@
      AC_SUBST(pkgpython2dir)
  else
      enable_python_library="no (disabled, use --enable-python-library to enable)"
+diff --git a/data/dconf/Makefile.am b/data/dconf/Makefile.am
+index 5360f033..6d5e726f 100644
 --- a/data/dconf/Makefile.am
 +++ b/data/dconf/Makefile.am
-@@ -50,7 +50,7 @@
+@@ -50,7 +50,7 @@ man_5dir = $(mandir)/man5
  
  install-data-hook:
  	if test -z "$(DESTDIR)"; then \
@@ -34,12 +38,14 @@
  	fi
  
  EXTRA_DIST = \
+diff --git a/setup/ibus-setup.in b/setup/ibus-setup.in
+index 474ce8a8..ee30808e 100644
 --- a/setup/ibus-setup.in
 +++ b/setup/ibus-setup.in
-@@ -27,5 +27,5 @@
+@@ -27,5 +27,5 @@ export IBUS_PREFIX=@prefix@
  export IBUS_DATAROOTDIR=@datarootdir@
  export IBUS_LOCALEDIR=@localedir@
  export IBUS_LIBEXECDIR=${libexecdir}
--exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py $@
-+exec @pythonInterpreter@ @prefix@/share/ibus/setup/main.py $@
+-exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py "$@"
++exec @pythonInterpreter@ @prefix@/share/ibus/setup/main.py "$@"
  
diff --git a/pkgs/tools/misc/apkeep/default.nix b/pkgs/tools/misc/apkeep/default.nix
index d405302282f..ef7699ccf28 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.9.0";
+  version = "0.10.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-ST1ifON25mizKZQX3fKeqBloXWW9LXDq5JkZIeiguRY=";
+    sha256 = "14vm3b2gbmn9pil0aagwchn4kyvi9311id6qv4a376qfb6r1aybf";
   };
 
-  cargoSha256 = "sha256-/Xh1s4PO336B1ioKe0IKVGDACpMuXOpxA82U6zn2lj0=";
+  cargoSha256 = "0i8wzc58ji317kjdw3ls1908z4bqlh1cgjph0fxsvs5i552qjkzp";
 
   prePatch = ''
     rm .cargo/config.toml
diff --git a/pkgs/tools/misc/coreboot-utils/default.nix b/pkgs/tools/misc/coreboot-utils/default.nix
index 36e82903a7e..783af7fda71 100644
--- a/pkgs/tools/misc/coreboot-utils/default.nix
+++ b/pkgs/tools/misc/coreboot-utils/default.nix
@@ -53,6 +53,7 @@ let
       pname = "intelmetool";
       meta.description = "Dump interesting things about Management Engine";
       buildInputs = [ pciutils zlib ];
+      meta.platforms = [ "x86_64-linux" "i686-linux" ];
     };
     cbfstool = generic {
       pname = "cbfstool";
@@ -77,6 +78,7 @@ let
       pname = "inteltool";
       meta.description = "Provides information about Intel CPU/chipset hardware configuration (register contents, MSRs, etc)";
       buildInputs = [ pciutils zlib ];
+      meta.platforms = [ "x86_64-linux" "i686-linux" ];
     };
     amdfwtool = generic {
       pname = "amdfwtool";
diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix
index 8c8b8c7b2b4..3746c4b4657 100644
--- a/pkgs/tools/misc/findutils/default.nix
+++ b/pkgs/tools/misc/findutils/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "findutils";
-  version = "4.8.0";
+  version = "4.9.0";
 
   src = fetchurl {
     url = "mirror://gnu/findutils/${pname}-${version}.tar.xz";
-    sha256 = "0r3i72hnw0a30khlczi9k2c51aamaj6kfmp5mk3844nrjxz7n4jp";
+    sha256 = "sha256-or+4wJ1DZ3DtxZ9Q+kg+eFsWGjt7nVR1c8sIBl/UYv4=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index ec3f480ebf1..492e8a83a2f 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "1.6.1";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MnsIm8E6CR5tEB6Oq35fJKQiPJfqP86/hp0t6lqJ0JE=";
+    sha256 = "sha256-ZNE+DfQdIlxA6sXMI8DAIQ3x+kcgXoGApUuoPncRfpc=";
   };
 
   vendorSha256 = "sha256-Kwa2hzsuw3BNLubcqd7Vmpg49P78Yjt3LboLotoGWYM=";
diff --git a/pkgs/tools/misc/lbdb/default.nix b/pkgs/tools/misc/lbdb/default.nix
index ce3a5acd4c9..3a7338221ba 100644
--- a/pkgs/tools/misc/lbdb/default.nix
+++ b/pkgs/tools/misc/lbdb/default.nix
@@ -1,38 +1,49 @@
-{ lib, stdenv, fetchurl, fetchpatch, perl, finger_bsd
-, abook ? null
-, gnupg ? null
-, goobook ? null
-, khard ? null
-, mu ? null
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, perl
+, bsd-finger
+, withAbook ? true, abook
+, withGnupg ? true, gnupg
+, withGoobook ? true, goobook
+, withKhard ? true, khard
+, withMu ? true, mu
 }:
 
 let
-  perl' = perl.withPackages (p: with p; [ ConvertASN1 perlldap AuthenSASL ]);
+  perl' = perl.withPackages (p: with p; [
+    AuthenSASL
+    ConvertASN1
+    perlldap
+  ]);
 in
 stdenv.mkDerivation rec {
   pname = "lbdb";
   version = "0.48.1";
+
   src = fetchurl {
     url = "https://www.spinnaker.de/lbdb/download/lbdb_${version}.tar.gz";
     sha256 = "1gr5l2fr9qbdccga8bhsrpvz6jxigvfkdxrln9wyf2xpps5cdjxh";
   };
 
-  buildInputs = [ goobook perl' ]
-    ++ lib.optional (!stdenv.isDarwin) finger_bsd
-    ++ lib.optional   (abook != null) abook
-    ++ lib.optional   (gnupg != null) gnupg
-    ++ lib.optional (goobook != null) goobook
-    ++ lib.optional   (khard != null) khard
-    ++ lib.optional      (mu != null) mu;
+  buildInputs = [ perl' ]
+    ++ lib.optional (!stdenv.isDarwin) bsd-finger
+    ++ lib.optional withAbook abook
+    ++ lib.optional withGnupg gnupg
+    ++ lib.optional withGoobook goobook
+    ++ lib.optional withKhard khard
+    ++ lib.optional withMu mu;
 
   configureFlags = [ ]
-    ++ lib.optional   (abook != null) "--with-abook"
-    ++ lib.optional   (gnupg != null) "--with-gpg"
-    ++ lib.optional (goobook != null) "--with-goobook"
-    ++ lib.optional   (khard != null) "--with-khard"
-    ++ lib.optional      (mu != null) "--with-mu";
+    ++ lib.optional withAbook "--with-abook"
+    ++ lib.optional withGnupg "--with-gpg"
+    ++ lib.optional withGoobook "--with-goobook"
+    ++ lib.optional withKhard "--with-khard"
+    ++ lib.optional withMu "--with-mu";
 
-  patches = [ ./add-methods-to-rc.patch
+  patches = [
+    ./add-methods-to-rc.patch
     # fix undefined exec_prefix. Remove with the next release
     (fetchpatch {
       url = "https://github.com/RolandRosenfeld/lbdb/commit/60b7bae255011f59212d96adfbded459d6a27129.patch";
@@ -43,9 +54,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://www.spinnaker.de/lbdb/";
+    description = "The Little Brother's Database";
     license = licenses.gpl2;
+    maintainers = with maintainers; [ kaiha bfortz ];
     platforms = platforms.all;
-    description = "The Little Brother's Database";
-    maintainers = [ maintainers.kaiha maintainers.bfortz ];
   };
 }
diff --git a/pkgs/tools/misc/license-generator/default.nix b/pkgs/tools/misc/license-generator/default.nix
new file mode 100644
index 00000000000..b880c66f971
--- /dev/null
+++ b/pkgs/tools/misc/license-generator/default.nix
@@ -0,0 +1,20 @@
+{ lib, fetchCrate, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+    pname = "license-generator";
+    version = "0.8.1";
+
+    src = fetchCrate {
+      inherit pname version;
+      sha256 = "sha256-ZVhsbaJJ9WBcQPx2yikIAQJeBXwC6ZAJkfCRmokNV3I=";
+    };
+
+    cargoSha256 = "sha256-Yh9q/aYHXUF2eIFpJ7ccgeyIO5mQMgRDCNr+ZyS166Y=";
+
+    meta = with lib; {
+      description = "Command-line tool for generating license files";
+      homepage = "https://github.com/azu/license-generator";
+      license = licenses.mit;
+      maintainers = with maintainers; [ loicreynier ];
+    };
+}
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index d495c912f59..7263e4de336 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "man-db";
-  version = "2.9.4";
+  version = "2.10.1";
 
   src = fetchurl {
     url = "mirror://savannah/man-db/man-db-${version}.tar.xz";
-    sha256 = "sha256-tmyZ7frRatkoyIn4fPdjgCY8FgkyPCgLOp5pY/2xZ1Y=";
+    sha256 = "sha256-L/2PLoASL+cuYMdAyFHmo+FcmnkhGF60dSwcZygkvtY=";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/tools/misc/nncp/default.nix b/pkgs/tools/misc/nncp/default.nix
index 3fda2a6cdad..a3b010b13fb 100644
--- a/pkgs/tools/misc/nncp/default.nix
+++ b/pkgs/tools/misc/nncp/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "nncp";
-  version = "8.7.1";
+  version = "8.7.2";
   outputs = [ "out" "doc" "info" ];
 
   src = fetchurl {
     url = "http://www.nncpgo.org/download/${pname}-${version}.tar.xz";
-    hash = "sha256-zrTRl69ajZ6Tt0nVwPULU+Z0ajGK9Hs2S/XLMj1sTr0=";
+    hash = "sha256-oO7JsPMwWd4z8TCEWZgF0PShyMN56SW6z+jclNHdwj0=";
   };
 
   nativeBuildInputs = [ go redo-apenwarr ];
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index 851d4f2dc18..1feb290bb13 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -12,17 +12,17 @@ let
 in
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.46.0";
+  version = "0.47.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector";
     rev = "v${version}";
-    sha256 = "sha256-ibaA9oCSsId9A4ul5sfM+L8ExBl+Wv7rhGnb6TZ4WJw=";
+    sha256 = "sha256-1dMdQWV+gxbMc/2iVsB1LCsYxR0bt5AJEvoFq2/KHCg=";
   };
   # there is a nested go.mod
   sourceRoot = "source/cmd/otelcorecol";
-  vendorSha256 = "sha256-Okmsd/skfBmkyLv9oPFH0QvewFZFPpUH2ahWxHt7cy8=";
+  vendorSha256 = "sha256-ps6fUVg7vhGgy47WTJv/U1qHQ2MGXIWXNZ5Rddo1yQY=";
 
   preBuild = ''
     # set the build version, can't be done via ldflags
diff --git a/pkgs/tools/misc/plantuml-server/default.nix b/pkgs/tools/misc/plantuml-server/default.nix
index 6afaf0fbb34..8be9c0eecee 100644
--- a/pkgs/tools/misc/plantuml-server/default.nix
+++ b/pkgs/tools/misc/plantuml-server/default.nix
@@ -1,63 +1,20 @@
-{ lib, stdenv, fetchFromGitHub, maven, jdk8_headless }:
+{ lib, stdenv, fetchurl }:
 
 let
-  version = "1.2021.12";
-
-  src = fetchFromGitHub {
-    owner = "plantuml";
-    repo = "plantuml-server";
-    rev = "v${version}";
-    sha256 = "sha256:016mrs4djbaid1ma5922dvq372pphbzzmjzsjalj2dqp60538xll";
-  };
-
-  # perform fake build to make a fixed-output derivation out of the files downloaded from maven central
-  deps = stdenv.mkDerivation {
-    name = "plantuml-server-${version}-deps";
-    inherit src;
-    nativeBuildInputs = [ jdk8_headless maven ];
-    buildPhase = ''
-      runHook preBuild
-
-      while mvn package -Dmaven.repo.local=$out/.m2; [ $? = 1 ]; do
-        echo "timeout, restart maven to continue downloading"
-      done
-
-      runHook postBuild
-    '';
-    # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
-    installPhase = ''find $out/.m2 -type f -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' -delete'';
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
-    outputHash = "sha256:12w1iw9c5j7y9hhaip07j3aszjiiakkww1v3zszlj15fj8jgqyf2";
-  };
+  version = "1.2022.2";
 in
-
 stdenv.mkDerivation rec {
   pname = "plantuml-server";
   inherit version;
-  inherit src;
-
-  nativeBuildInputs = [ jdk8_headless maven ];
-
-  buildPhase = ''
-    runHook preBuild
-
-    # 'maven.repo.local' must be writable so copy it out of nix store
-    cp -R $src repo
-    chmod +w -R repo
-    cd repo
-    mvn package --offline -Dmaven.repo.local=$(cp -dpR ${deps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
-
-    runHook postBuild
-  '';
+  src = fetchurl {
+    url = "https://github.com/plantuml/plantuml-server/releases/download/v${version}/plantuml-v${version}.war";
+    sha256 = "sha256-h4ulXzZ5L+VPhk2CnZQNxfnEJzWT3B9TNvDEWt4o9Hk=";
+  };
 
+  dontUnpack = true;
   installPhase = ''
-    runHook preInstall
-
     mkdir -p "$out/webapps"
-    cp "target/plantuml.war" "$out/webapps/plantuml.war"
-
-    runHook postInstall
+    cp "$src" "$out/webapps/plantuml.war"
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/rockbox-utility/default.nix b/pkgs/tools/misc/rockbox-utility/default.nix
index a75b90d6f54..bf191beca3f 100644
--- a/pkgs/tools/misc/rockbox-utility/default.nix
+++ b/pkgs/tools/misc/rockbox-utility/default.nix
@@ -1,9 +1,13 @@
-{ lib, stdenv, fetchurl, pkg-config, cryptopp
-, libusb1, qtbase, qttools, makeWrapper
-, qmake, withEspeak ? false, espeak ? null
-, qt5 }:
-
-let inherit (lib) getDev; in
+{ lib
+, stdenv
+, fetchurl
+, cryptopp
+, libusb1
+, makeWrapper
+, pkg-config
+, qt5
+, withEspeak ? false, espeak ? null
+}:
 
 stdenv.mkDerivation  rec {
   pname = "rockbox-utility";
@@ -11,16 +15,27 @@ stdenv.mkDerivation  rec {
 
   src = fetchurl {
     url = "https://download.rockbox.org/rbutil/source/RockboxUtility-v${version}-src.tar.bz2";
-    sha256 = "0zm9f01a810y7aq0nravbsl0vs9vargwvxnfl4iz9qsqygwlj69y";
+    hash = "sha256-PhlJ+fNY4/Qjoc72zV9WO+kNqF5bZQuwOh4EpAJwqX4=";
   };
 
-  buildInputs = [ cryptopp libusb1 qtbase qttools ]
-    ++ lib.optional withEspeak espeak;
-  nativeBuildInputs = [ makeWrapper pkg-config qmake qt5.wrapQtAppsHook ];
+  nativeBuildInputs = [
+    makeWrapper
+    pkg-config
+    qt5.qmake
+    qt5.wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    cryptopp
+    libusb1
+    qt5.qtbase
+    qt5.qttools
+  ]
+  ++ lib.optional withEspeak espeak;
 
   postPatch = ''
     sed -i rbutil/rbutilqt/rbutilqt.pro \
-        -e '/^lrelease.commands =/ s|$$\[QT_INSTALL_BINS\]/lrelease -silent|${getDev qttools}/bin/lrelease|'
+        -e '/^lrelease.commands =/ s|$$\[QT_INSTALL_BINS\]/lrelease -silent|${lib.getDev qt5.qttools}/bin/lrelease|'
   '';
 
   preConfigure = ''
@@ -48,10 +63,10 @@ stdenv.mkDerivation  rec {
   enableParallelBuilding = false;
 
   meta = with lib; {
-    description = "Open source firmware for mp3 players";
     homepage = "https://www.rockbox.org";
-    license = licenses.gpl2;
+    description = "Open source firmware for digital music players";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres goibhniu ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ goibhniu ];
   };
 }
diff --git a/pkgs/tools/misc/steampipe/default.nix b/pkgs/tools/misc/steampipe/default.nix
index 554822ba8de..cfdb2b79c6d 100644
--- a/pkgs/tools/misc/steampipe/default.nix
+++ b/pkgs/tools/misc/steampipe/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "steampipe";
-  version = "0.12.2";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "turbot";
     repo = "steampipe";
     rev = "v${version}";
-    sha256 = "sha256-xLw3y9DYkei0MoErsMpSDhEK73lK9b13st+DqHvvhys=";
+    sha256 = "sha256-+QtZmrPE3R98UVSwrC8xoehNKwd0Exg+AZ2BJxBIrfY=";
   };
 
-  vendorSha256 = "sha256-hqjjwYBVnuw7Bt2901tPIkfvYLy955IdeMbeSWTjtL0=";
+  vendorSha256 = "sha256-rRp8pR2cpW88o0KPwuvgSkE263S5oGK/4df4CQSOlRo=";
   proxyVendor = true;
 
   # tests are failing for no obvious reasons
diff --git a/pkgs/tools/misc/up/default.nix b/pkgs/tools/misc/up/default.nix
index 47c504cd1a7..7737c67faa2 100644
--- a/pkgs/tools/misc/up/default.nix
+++ b/pkgs/tools/misc/up/default.nix
@@ -13,8 +13,6 @@ buildGoModule rec {
 
   vendorSha256 = "1q8wfsfl3rz698ck5q5s5z6iw9k134fxxvwipcp2b052n998rcrx";
 
-  doCheck = false;
-
   meta = with lib; {
     description = "Ultimate Plumber is a tool for writing Linux pipes with instant live preview";
     homepage = "https://github.com/akavel/up";
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 4673ab41654..6b15488f5c6 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -70,13 +70,13 @@ buildPythonPackage rec {
     homepage = "https://ytdl-org.github.io/youtube-dl/";
     description = "Command-line tool to download videos from YouTube.com and other sites";
     longDescription = ''
-      youtube-dl is a small, Python-based command-line program
-      to download videos from YouTube.com and a few more sites.
-      youtube-dl is released to the public domain, which means
-      you can modify it, redistribute it or use it however you like.
+      youtube-dl is a small, Python-based command-line program to download
+      videos from YouTube.com and a few more sites.  youtube-dl is released to
+      the public domain, which means you can modify it, redistribute it or use
+      it however you like.
     '';
     license = licenses.publicDomain;
+    maintainers = with maintainers; [ bluescreen303 fpletz ma27 ];
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ bluescreen303 AndersonTorres fpletz ma27 ];
   };
 }
diff --git a/pkgs/tools/misc/zellij/default.nix b/pkgs/tools/misc/zellij/default.nix
index 3463c5ccb6d..7fc1c6e335a 100644
--- a/pkgs/tools/misc/zellij/default.nix
+++ b/pkgs/tools/misc/zellij/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zellij";
-  version = "0.25.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner = "zellij-org";
     repo = "zellij";
     rev = "v${version}";
-    sha256 = "sha256-MTSM8fYAcNcmjg6bkOEN+U5+WilaEy52EJOfyoIy3Zg=";
+    sha256 = "sha256-8PgEsRh2nBOIvKeX9SJ853NN8Szb4geKwv2qvTtkMxk=";
   };
 
-  cargoSha256 = "sha256-2QEDrxTz7I9hF+WfVKkGLXHWZjQ5by/zuO16NGOJSKk=";
+  cargoSha256 = "sha256-YaqaXn1Ol5RfwAzWi7767vt1je+wqWFtfgxMOSIy9UI=";
 
   nativeBuildInputs = [
     mandown
diff --git a/pkgs/tools/networking/boringtun/default.nix b/pkgs/tools/networking/boringtun/default.nix
index a071b5b4a3a..b5c5b5389fc 100644
--- a/pkgs/tools/networking/boringtun/default.nix
+++ b/pkgs/tools/networking/boringtun/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "boringtun";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0b57c7z87xwrirmq9aa9jswqyj5bavkifmq7a9hgfphcmwcskmdb";
+    sha256 = "sha256-fZchh02CsVC5sdnR3blojslsKi7OxFcblHMuyuHsH/4=";
   };
 
-  cargoSha256 = "1xn6scc8nrb9xk89hsp9v67jvyww23rjaq5fcagpbqdwf5dvg4ja";
+  cargoSha256 = "sha256-iJbzvhRPVDHXqianQ6UbmYEfmZCS/obxFZV/PsJMhD0=";
 
   buildInputs = lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
 
diff --git a/pkgs/tools/networking/boundary/default.nix b/pkgs/tools/networking/boundary/default.nix
index 3745856a8c0..c86c9c5fd68 100644
--- a/pkgs/tools/networking/boundary/default.nix
+++ b/pkgs/tools/networking/boundary/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "boundary";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src =
     let
@@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
         aarch64-darwin = "darwin_arm64";
       };
       sha256 = selectSystem {
-        x86_64-linux = "sha256-wqNeeEQhR8cj7Gpbzp7UQV0j+w0peo41uKqgK9BoLH4=";
-        aarch64-linux = "sha256-HK/6eMBWUW1IbYE5RpInhcQuIw16X9vQEZmOBje9Yzk=";
-        x86_64-darwin = "sha256-ghgkPlEN9DHFviQzcGS/+oG+9Qqy2AfJ2IEyiSMJwwY=";
-        aarch64-darwin = "sha256-F4iOCxAm8s34KktuS5PRPkIg9A0179H6zlOM3OuTyUw=";
+        x86_64-linux = "sha256-nsc8S63OUEo9db/hs9oA53Lk+amIsxB/O4TJCs4zdNw=";
+        aarch64-linux = "sha256-KttqYuF7xC88L49f7JKKr77FbKBihptoBIoemgFInm0=";
+        x86_64-darwin = "sha256-ov4CtiWsOU/AWfAo7x99RshW6+eU9lFD5ypo6MKyPM0=";
+        aarch64-darwin = "sha256-3E9fv8BSu7XXIwRmTrDECLNQKdoeUqitKbsTrXs+tTE=";
       };
     in
     fetchzip {
diff --git a/pkgs/tools/networking/bsd-finger/default.nix b/pkgs/tools/networking/bsd-finger/default.nix
index 4f8d946fa36..12e429b7bcb 100644
--- a/pkgs/tools/networking/bsd-finger/default.nix
+++ b/pkgs/tools/networking/bsd-finger/default.nix
@@ -1,26 +1,47 @@
-{ lib, stdenv, fetchurl }:
-
-# !!! Duplication: this package is almost exactly the same as `bsd-finger'.
+{ lib
+, stdenv
+, fetchurl
+, buildClient ? true
+}:
 
 stdenv.mkDerivation rec {
-  pname = "bsd-finger";
+  srcName = "bsd-finger";
+  pname = srcName + lib.optionalString (!buildClient) "d";
   version = "0.17";
 
   src = fetchurl {
-    url = "mirror://metalab/system/network/finger/bsd-finger-${version}.tar.gz";
-    sha256 = "1yhkiv0in588il7f84k2xiy78g9lv12ll0y7047gazhiimk5v244";
+    url = "mirror://ibiblioPubLinux/system/network/finger/${srcName}-${version}.tar.gz";
+    hash = "sha256-hIhdZo0RfvUOAccDSkXYND10fOxiEuQOjQgVG8GOE/o=";
   };
 
+  # outputs = [ "out" "man" ];
+
   NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
 
-  patches = [ ./ubuntu-0.17-9.patch ];
+  patches = [
+    ./ubuntu-0.17-9.patch
+  ];
 
-  preBuild = "cd finger";
+  preBuild = let
+    srcdir = if buildClient then "finger" else "fingerd";
+  in ''
+    cd ${srcdir}
+  '';
 
-  preInstall = "mkdir -p $out/man/man1 $out/bin ";
+  preInstall = let
+    bindir = if buildClient then "bin" else "sbin";
+    mandir = if buildClient then "man/man1" else "man/man8";
+  in ''
+    mkdir -p $out/${bindir} $out/${mandir}
+  '';
 
   meta = with lib; {
+    description =
+      if buildClient
+      then "User information lookup program"
+      else "Remote user information server";
     platforms = platforms.linux;
     license = licenses.bsdOriginal;
   };
 }
+# TODO: multiple outputs (manpage)
diff --git a/pkgs/tools/networking/checkip/default.nix b/pkgs/tools/networking/checkip/default.nix
index 2f885d7a859..fb30ad59dff 100644
--- a/pkgs/tools/networking/checkip/default.nix
+++ b/pkgs/tools/networking/checkip/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "checkip";
-  version = "0.18.1";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "jreisinger";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cQY77csZ7UPi09vUOdn3AKrLzGMI2BE16gfL1wDXxZA=";
+    sha256 = "sha256-h8YZGTjEEQb68TrwMDnAqCJWkNPSuWSAJKcOMLXwXio=";
   };
 
   vendorSha256 = "sha256-NHu1hZFPT2k8izrvvz7w0vlVe/nKH0nS4oXUGS8CWcc=";
diff --git a/pkgs/tools/networking/cmst/default.nix b/pkgs/tools/networking/cmst/default.nix
index 06ef6675ceb..2f757edbdb1 100644
--- a/pkgs/tools/networking/cmst/default.nix
+++ b/pkgs/tools/networking/cmst/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "cmst";
-  version = "2022.01.05";
+  version = "2022.03.13";
 
   src = fetchFromGitHub {
     repo = "cmst";
     owner = "andrew-bibb";
     rev = "${pname}-${version}";
-    sha256 = "0d05vrsjm30q22wpxicnxhjzrjq5kxjhpb6262m46sgkr8yipfhr";
+    sha256 = "sha256-PIS77yYM7tR+0vpTDh9Li/dnaWHUQW+w1NLRb5g+sz8=";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix
index ee2a87b9d54..d6ec3c3f75d 100644
--- a/pkgs/tools/networking/dnsproxy/default.nix
+++ b/pkgs/tools/networking/dnsproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.41.3";
+  version = "0.41.4";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-p5kfpqqTg1wXPYTBScjUGClSKT6yb7ZSnzia2xTQwfo=";
+    sha256 = "sha256-aVYjYEAEANAMGv7frZWfYWLzX7rcI8phpjvrENK8cc4=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/networking/flannel/default.nix b/pkgs/tools/networking/flannel/default.nix
index 2f406f97b34..324b220857e 100644
--- a/pkgs/tools/networking/flannel/default.nix
+++ b/pkgs/tools/networking/flannel/default.nix
@@ -4,7 +4,7 @@ with lib;
 
 buildGoModule rec {
   pname = "flannel";
-  version = "0.16.3";
+  version = "0.17.0";
   rev = "v${version}";
 
   vendorSha256 = null;
@@ -13,7 +13,7 @@ buildGoModule rec {
     inherit rev;
     owner = "flannel-io";
     repo = "flannel";
-    sha256 = "sha256-Akh1IlpLG9AZBtcZnOUfRnIvan8C9W1Dg9PqT7/VhYA=";
+    sha256 = "sha256-YM/cGmtHDTzgu6Bfy52oP8E1HmLNuBHNgEpz/qTj7rg=";
   };
 
   ldflags = [ "-X github.com/flannel-io/flannel/version.Version=${rev}" ];
diff --git a/pkgs/tools/networking/frp/default.nix b/pkgs/tools/networking/frp/default.nix
index 1ef3c13172b..e7d2752a94f 100644
--- a/pkgs/tools/networking/frp/default.nix
+++ b/pkgs/tools/networking/frp/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "frp";
-  version = "0.39.1";
+  version = "0.40.0";
 
   src = fetchFromGitHub {
     owner = "fatedier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tqdrYrIWbmRn+5iAZKd9GlcmFNQnh3yNxZ95As7+v5Q=";
+    sha256 = "sha256-W+88Fq9oYDBLCNp+6rc9jACJzky7FCZg/xLDowGGdm0=";
   };
 
-  vendorSha256 = "sha256-NPnchl+N6DeqMhsOIw2MYD/i2IZzHS9ZqbUOeulgb90=";
+  vendorSha256 = "sha256-iBjMFOERWQ1aPn+2gEoI9og2ov2LlBVV1sLAZlvqZPM=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/hey/default.nix b/pkgs/tools/networking/hey/default.nix
index edf91dd311d..d59e58981e7 100644
--- a/pkgs/tools/networking/hey/default.nix
+++ b/pkgs/tools/networking/hey/default.nix
@@ -13,8 +13,6 @@ buildGoModule rec {
 
   vendorSha256 = null;
 
-  doCheck = false;
-
   meta = with lib; {
     description = "HTTP load generator, ApacheBench (ab) replacement";
     homepage = "https://github.com/rakyll/hey";
diff --git a/pkgs/tools/networking/httpie/default.nix b/pkgs/tools/networking/httpie/default.nix
index f3488ae402b..a6c6ddfe5bb 100644
--- a/pkgs/tools/networking/httpie/default.nix
+++ b/pkgs/tools/networking/httpie/default.nix
@@ -1,19 +1,20 @@
 { lib
 , fetchFromGitHub
 , installShellFiles
-, python3Packages
+, python3
 , pandoc
 }:
 
-python3Packages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "httpie";
-  version = "3.0.2";
+  version = "3.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "httpie";
     repo = "httpie";
     rev = version;
-    sha256 = "sha256-s3IFzEUQmPBocgspVGx1nINkUamsi7tzwW37IqdBMxo=";
+    hash = "sha256-x7Zucb2i8D4Xbn77eBzSxOAcc2fGg5MFKFiyJhytQ0s=";
   };
 
   nativeBuildInputs = [
@@ -21,7 +22,7 @@ python3Packages.buildPythonApplication rec {
     pandoc
   ];
 
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = with python3.pkgs; [
     charset-normalizer
     defusedxml
     multidict
@@ -31,10 +32,11 @@ python3Packages.buildPythonApplication rec {
     setuptools
   ];
 
-  checkInputs = with python3Packages; [
+  checkInputs = with python3.pkgs; [
     mock
     pytest
     pytest-httpbin
+    pytest-lazy-fixture
     pytestCheckHook
     responses
   ];
@@ -65,7 +67,9 @@ python3Packages.buildPythonApplication rec {
     "httpie.encoding.detect_encoding"
   ];
 
-  pythonImportsCheck = [ "httpie" ];
+  pythonImportsCheck = [
+    "httpie"
+  ];
 
   meta = with lib; {
     description = "A command line HTTP client whose goal is to make CLI human-friendly";
diff --git a/pkgs/tools/networking/innernet/default.nix b/pkgs/tools/networking/innernet/default.nix
index 67f9a9d793b..68ccdfc3870 100644
--- a/pkgs/tools/networking/innernet/default.nix
+++ b/pkgs/tools/networking/innernet/default.nix
@@ -13,15 +13,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "innernet";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchFromGitHub {
     owner = "tonarino";
     repo = "innernet";
     rev = "v${version}";
-    sha256 = "sha256-dpoSjGtjGJTF/sQ8vbeAUCjnkYqz4zGnfO8br8gJbsQ=";
+    sha256 = "sha256-CcZ4241EU+ktPbFsuR/sF4yP6xAOFg+oW8thtAQZr/4=";
   };
-  cargoSha256 = "sha256-EmAlm3W9r6pP1VIxeM2UP1ZG9TjopTarckMfLDonr1k=";
+  cargoSha256 = "sha256-7APUSDxw6X4KJnFvm6xhiHL1D4NTNS2pC/4UVGyjJYY=";
 
   nativeBuildInputs = with llvmPackages; [
     llvm
diff --git a/pkgs/tools/networking/iperf/3.nix b/pkgs/tools/networking/iperf/3.nix
index f32a4249c00..9ec491f1c57 100644
--- a/pkgs/tools/networking/iperf/3.nix
+++ b/pkgs/tools/networking/iperf/3.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iperf";
-  version = "3.10.1";
+  version = "3.11";
 
   src = fetchurl {
     url = "https://downloads.es.net/pub/iperf/iperf-${version}.tar.gz";
-    sha256 = "0nkisr2215w68ivadg3sx3q50iwamznwigs63lclb8jlrih9gg03";
+    sha256 = "0pvy1cj92phpbldw0bdc0ds70n8irqcyn1ybyis0a6nnz84v936y";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/networking/magic-wormhole-rs/Cargo.toml.patch b/pkgs/tools/networking/magic-wormhole-rs/Cargo.toml.patch
new file mode 100644
index 00000000000..debb1e26439
--- /dev/null
+++ b/pkgs/tools/networking/magic-wormhole-rs/Cargo.toml.patch
@@ -0,0 +1,67 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index d33b5d6..ddde8ed 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -150,33 +150,6 @@ dependencies = [
+  "winapi 0.3.9",
+ ]
+ 
+-[[package]]
+-name = "async-std"
+-version = "1.10.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f8056f1455169ab86dd47b47391e4ab0cbd25410a70e9fe675544f49bafaf952"
+-dependencies = [
+- "async-channel",
+- "async-global-executor",
+- "async-io",
+- "async-lock",
+- "crossbeam-utils",
+- "futures-channel",
+- "futures-core",
+- "futures-io",
+- "futures-lite",
+- "gloo-timers",
+- "kv-log-macro",
+- "log",
+- "memchr",
+- "num_cpus",
+- "once_cell",
+- "pin-project-lite",
+- "pin-utils",
+- "slab",
+- "wasm-bindgen-futures",
+-]
+-
+ [[package]]
+ name = "async-std"
+ version = "1.10.0"
+@@ -230,7 +203,7 @@ version = "0.16.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "5682ea0913e5c20780fe5785abacb85a411e7437bf52a1bedb93ddb3972cb8dd"
+ dependencies = [
+- "async-std 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "async-std",
+  "async-tls",
+  "futures-io",
+  "futures-util",
+@@ -1154,7 +1127,7 @@ name = "magic-wormhole"
+ version = "0.3.0"
+ dependencies = [
+  "async-io",
+- "async-std 1.10.0 (git+https://github.com/async-rs/async-std)",
++ "async-std",
+  "async-tungstenite",
+  "base64",
+  "bytecodec",
+diff --git a/Cargo.toml b/Cargo.toml
+index b4ff2c0..d4094af 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -82,3 +82,6 @@ required-features = ["bin"]
+ 
+ [profile.release]
+ overflow-checks = true
++
++[patch.crates-io]
++async-std = { version = "1.9.0", features = ["attributes", "unstable"], git = "https://github.com/async-rs/async-std" }
diff --git a/pkgs/tools/networking/magic-wormhole-rs/default.nix b/pkgs/tools/networking/magic-wormhole-rs/default.nix
new file mode 100644
index 00000000000..951a0664376
--- /dev/null
+++ b/pkgs/tools/networking/magic-wormhole-rs/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+}:
+rustPlatform.buildRustPackage rec {
+  name = "magic-wormhole-rs";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "magic-wormhole";
+    repo = "magic-wormhole.rs";
+    rev = version;
+    sha256 = "sha256-i4vJ6HmtM42m1x1UtOq9xlmhYIa5ZKXUm1rGFNRprmY=";
+  };
+
+  # this patch serves as a workaround for the problems of cargo-vendor described in
+  # https://github.com/NixOS/nixpkgs/issues/30742
+  # and can probably be removed once the issue is resolved
+  cargoPatches = [ ./Cargo.toml.patch ];
+  cargoSha256 = "sha256-DG1kyukgzDbolX9Mg9hK1TRyzIWbAX6f54jSM8clj/c=";
+
+  # all tests involve networking and are bound fail
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Rust implementation of Magic Wormhole, with new features and enhancements";
+    homepage = "https://github.com/magic-wormhole/magic-wormhole.rs";
+    license = licenses.eupl12;
+    maintainers = with maintainers; [ zeri piegames ];
+  };
+}
diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix
index 4fbdec621b4..c90ba9cfc64 100644
--- a/pkgs/tools/networking/minio-client/default.nix
+++ b/pkgs/tools/networking/minio-client/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2022-03-03T21-12-24Z";
+  version = "2022-03-13T22-34-00Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-z+t8aMyGlqXcooCzJgn0xxOhuS+p3/qMTBJByDJPd40=";
+    sha256 = "sha256-NIhowfkG2bFIcCNXUQ3cETHsR5/NLvIHQ9LeftgSyd0=";
   };
 
-  vendorSha256 = "sha256-mk0ga3o6LeZ4uwV3vlP6qyFXLiORwNQLhXoCxSmvXsU=";
+  vendorSha256 = "sha256-Wdw9mZ3UupoJ4yDwS4f3mOmCn+7TvHmx4aRu+96pHM4=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/networking/pirate-get/default.nix b/pkgs/tools/networking/pirate-get/default.nix
index 112b78dcae8..9b5846d6f76 100644
--- a/pkgs/tools/networking/pirate-get/default.nix
+++ b/pkgs/tools/networking/pirate-get/default.nix
@@ -4,11 +4,11 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "pirate-get";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pr703fwinr2f4rba86zp57mpf5j2jgvp5n50rc5vy5g7yfwsddm";
+    sha256 = "sha256-VtnVyJqrdGXTqcyzpHCOMUI9G7/BkXzihDrBrsxl7Eg=";
   };
 
   propagatedBuildInputs = [ colorama veryprettytable pyperclip ];
diff --git a/pkgs/tools/networking/qrcp/default.nix b/pkgs/tools/networking/qrcp/default.nix
index 79dc6a7fab9..150a1fa899f 100644
--- a/pkgs/tools/networking/qrcp/default.nix
+++ b/pkgs/tools/networking/qrcp/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "qrcp";
-  version = "0.8.6";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "claudiodangelis";
     repo = "qrcp";
     rev = version;
-    sha256 = "sha256-5HW0OtDlqUvsKMTjxmIDpmlKdo0GFj7b+6jh9TlLllI=";
+    sha256 = "sha256-oXtFkjCnbfjV15XWkmmJmhG82GyaY4FAcF5NrGnxHm0=";
   };
 
   vendorSha256 = "1hn8c72fvih6ws1y2c4963pww3ld64m0yh3pmx62hwcy83bhb0v4";
@@ -24,9 +24,10 @@ buildGoModule rec {
   ];
 
   postInstall = ''
-    installShellCompletion --bash --cmd qrcp <($out/bin/qrcp completion bash)
-    installShellCompletion --fish --cmd qrcp <($out/bin/qrcp completion fish)
-    installShellCompletion --zsh  --cmd qrcp <($out/bin/qrcp completion zsh)
+    installShellCompletion --cmd qrcp \
+      --bash <($out/bin/qrcp completion bash) \
+      --fish <($out/bin/qrcp completion fish) \
+      --zsh <($out/bin/qrcp completion zsh)
   '';
 
   meta = with lib; {
@@ -39,6 +40,6 @@ buildGoModule rec {
       complete.
     '';
     license = licenses.mit;
-    maintainers = with maintainers; [ fgaz ];
+    maintainers = with maintainers; [ fgaz SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/networking/sockperf/default.nix b/pkgs/tools/networking/sockperf/default.nix
index 598fb482c38..48eea919b14 100644
--- a/pkgs/tools/networking/sockperf/default.nix
+++ b/pkgs/tools/networking/sockperf/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sockperf";
-  version = "3.7";
+  version = "3.8";
 
   src = fetchFromGitHub {
     owner = "Mellanox";
     repo = "sockperf";
     rev = version;
-    sha256 = "MtpV21lCEAv7ARxk0dAxoOxxlqDM+skdQnPlqOvksjw=";
+    sha256 = "sha256-S5ZSGctOOnMD+AqlSAkRHMW8O1Rt8/952fali0kv/EU=";
   };
 
   nativeBuildInputs = [ autoreconfHook doxygen ];
diff --git a/pkgs/tools/networking/wakelan/default.nix b/pkgs/tools/networking/wakelan/default.nix
index 5365e696fad..7e9bcc1a70c 100644
--- a/pkgs/tools/networking/wakelan/default.nix
+++ b/pkgs/tools/networking/wakelan/default.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
   version = "1.1";
 
   src = fetchurl {
-    url = "mirror://metalab/system/network/misc/wakelan-${version}.tar.gz";
-    sha256 = "0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x";
+    url = "mirror://ibiblioPubLinux/system/network/misc/${pname}-${version}.tar.gz";
+    hash = "sha256-PfXrj4d2SHmatiPPFxjsxvhusML1HTRNjoYEQtzFzW8=";
   };
 
   preInstall = ''
@@ -15,15 +15,12 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Send a wake-on-lan packet";
-
-    longDescription =
-      '' WakeLan sends a properly formatted UDP packet across the
-         network which will cause a wake-on-lan enabled computer to
-         power on.
-      '';
-
+    longDescription = ''
+      WakeLan sends a properly formatted UDP packet across the
+      network which will cause a wake-on-lan enabled computer to
+      power on.
+   '';
     license = lib.licenses.gpl2Plus;
-
     maintainers = [ lib.maintainers.viric ];
     platforms = lib.platforms.unix;
   };
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index 423363b56c2..e0fdbdff0b3 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wget";
-  version = "1.21.2";
+  version = "1.21.3";
 
   src = fetchurl {
     url = "mirror://gnu/wget/${pname}-${version}.tar.lz";
-    sha256 = "sha256-FyejMKhqyss+V2Fc4mj18pl4v3rexKvmow03Age8kbM=";
+    sha256 = "sha256-29L7XkcUnUdS0Oqg2saMxJzyDUbfT44yb/yPGLKvTqU=";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/ytcc/default.nix b/pkgs/tools/networking/ytcc/default.nix
index 46b6e649b5c..028c50a352c 100644
--- a/pkgs/tools/networking/ytcc/default.nix
+++ b/pkgs/tools/networking/ytcc/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ytcc";
-  version = "2.5.4";
+  version = "2.5.5";
 
   src = fetchFromGitHub {
     owner = "woefe";
     repo = "ytcc";
     rev = "v${version}";
-    sha256 = "sha256-nYHfmksZnIZGMSSFDhW7ajvv1F5h3aJo8IXw6yYOEw0=";
+    sha256 = "sha256-DjyVcjU2dVku5ademm6DygMnzWHB7iMqPfU56BBjAwU=";
   };
 
   nativeBuildInputs = [ gettext installShellFiles ];
diff --git a/pkgs/tools/nix/nix-output-monitor/default.nix b/pkgs/tools/nix/nix-output-monitor/default.nix
index caa9abb9a1d..a79b41a4a5d 100644
--- a/pkgs/tools/nix/nix-output-monitor/default.nix
+++ b/pkgs/tools/nix/nix-output-monitor/default.nix
@@ -1,158 +1,23 @@
-# This file has been autogenerate with cabal2nix.
-# Update via ./update.sh"
 {
-  mkDerivation,
-  ansi-terminal,
-  async,
-  attoparsec,
-  base,
-  cassava,
-  containers,
-  data-default,
-  directory,
+  haskell,
   expect,
-  extra,
-  fetchzip,
-  filepath,
-  generic-optics,
-  HUnit,
+  haskellPackages,
   installShellFiles,
-  lib,
-  lock-file,
-  MemoTrie,
-  mtl,
-  nix-derivation,
-  optics,
-  process,
-  random,
-  relude,
-  runtimeShell,
-  safe,
-  stm,
-  streamly,
-  terminal-size,
-  text,
-  time,
-  unix,
-  vector,
-  wcwidth,
-}:
-mkDerivation {
-  pname = "nix-output-monitor";
-  version = "1.1.1.0";
-  src = fetchzip {
-    url = "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/v1.1.1.0.tar.gz";
-    sha256 = "1zw7x1snyycl1bp5w7jh8wwnynqvw3g4glr293bnzi5jyirj5wlg";
+}: let
+  inherit (haskell.lib.compose) justStaticExecutables overrideCabal;
+  overrides = {
+    passthru.updateScript = ./update.sh;
+    testTarget = "unit-tests";
+    buildTools = [installShellFiles];
+    postInstall = ''
+      substitute "exe-sh/nom-build" "$out/bin/nom-build" \
+        --replace 'unbuffer' '${expect}/bin/unbuffer' \
+        --replace 'nom' "$out/bin/nom"
+      chmod a+x $out/bin/nom-build
+      installShellCompletion --zsh --name _nom-build completions/completion.zsh
+    '';
   };
-  isLibrary = true;
-  isExecutable = true;
-  libraryHaskellDepends = [
-    ansi-terminal
-    async
-    attoparsec
-    base
-    cassava
-    containers
-    data-default
-    directory
-    extra
-    filepath
-    generic-optics
-    lock-file
-    MemoTrie
-    mtl
-    nix-derivation
-    optics
-    random
-    relude
-    safe
-    stm
-    streamly
-    terminal-size
-    text
-    time
-    unix
-    vector
-    wcwidth
-  ];
-  executableHaskellDepends = [
-    ansi-terminal
-    async
-    attoparsec
-    base
-    cassava
-    containers
-    data-default
-    directory
-    extra
-    filepath
-    generic-optics
-    lock-file
-    MemoTrie
-    mtl
-    nix-derivation
-    optics
-    random
-    relude
-    safe
-    stm
-    streamly
-    terminal-size
-    text
-    time
-    unix
-    vector
-    wcwidth
-  ];
-  testHaskellDepends = [
-    ansi-terminal
-    async
-    attoparsec
-    base
-    cassava
-    containers
-    data-default
-    directory
-    extra
-    filepath
-    generic-optics
-    HUnit
-    lock-file
-    MemoTrie
-    mtl
-    nix-derivation
-    optics
-    process
-    random
-    relude
-    safe
-    stm
-    streamly
-    terminal-size
-    text
-    time
-    unix
-    vector
-    wcwidth
-  ];
-  homepage = "https://github.com/maralorn/nix-output-monitor";
-  description = "Parses output of nix-build to show additional information";
-  license = lib.licenses.agpl3Plus;
-  maintainers = with lib.maintainers; [maralorn];
-  passthru.updateScript = ./update.sh;
-  testTarget = "unit-tests";
-  buildTools = [installShellFiles];
-  postInstall = ''
-    cat > $out/bin/nom-build << EOF
-    #!${runtimeShell}
-    ${expect}/bin/unbuffer nix-build "\$@" 2>&1 | exec $out/bin/nom
-    EOF
-    chmod a+x $out/bin/nom-build
-    installShellCompletion --zsh --name _nom-build ${
-      builtins.toFile "completion.zsh" ''
-        #compdef nom-build
-        compdef nom-build=nix-build
-      ''
-    }
-  '';
-}
+in
+  justStaticExecutables
+  (overrideCabal overrides
+    (haskellPackages.callPackage ./generated-package.nix {}))
diff --git a/pkgs/tools/nix/nix-output-monitor/generated-package.nix b/pkgs/tools/nix/nix-output-monitor/generated-package.nix
new file mode 100644
index 00000000000..9f4d4b5042b
--- /dev/null
+++ b/pkgs/tools/nix/nix-output-monitor/generated-package.nix
@@ -0,0 +1,147 @@
+# This file has been autogenerate with cabal2nix.
+# Update via ./update.sh"
+{
+  mkDerivation,
+  ansi-terminal,
+  async,
+  attoparsec,
+  base,
+  bytestring,
+  cassava,
+  containers,
+  data-default,
+  directory,
+  extra,
+  fetchzip,
+  filepath,
+  generic-optics,
+  HUnit,
+  lib,
+  lock-file,
+  MemoTrie,
+  mtl,
+  nix-derivation,
+  optics,
+  process,
+  random,
+  relude,
+  safe,
+  stm,
+  streamly,
+  terminal-size,
+  text,
+  time,
+  unix,
+  vector,
+  wcwidth,
+  word8,
+}:
+mkDerivation {
+  pname = "nix-output-monitor";
+  version = "1.1.2.1";
+  src = fetchzip {
+    url = "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/v1.1.2.1.tar.gz";
+    sha256 = "00jn963jskyqnwvbvn5x0z92x2gv105p5h8m13nlmr90lj4axynx";
+  };
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    ansi-terminal
+    async
+    attoparsec
+    base
+    bytestring
+    cassava
+    containers
+    data-default
+    directory
+    extra
+    filepath
+    generic-optics
+    lock-file
+    MemoTrie
+    mtl
+    nix-derivation
+    optics
+    random
+    relude
+    safe
+    stm
+    streamly
+    terminal-size
+    text
+    time
+    unix
+    vector
+    wcwidth
+    word8
+  ];
+  executableHaskellDepends = [
+    ansi-terminal
+    async
+    attoparsec
+    base
+    bytestring
+    cassava
+    containers
+    data-default
+    directory
+    extra
+    filepath
+    generic-optics
+    lock-file
+    MemoTrie
+    mtl
+    nix-derivation
+    optics
+    random
+    relude
+    safe
+    stm
+    streamly
+    terminal-size
+    text
+    time
+    unix
+    vector
+    wcwidth
+    word8
+  ];
+  testHaskellDepends = [
+    ansi-terminal
+    async
+    attoparsec
+    base
+    bytestring
+    cassava
+    containers
+    data-default
+    directory
+    extra
+    filepath
+    generic-optics
+    HUnit
+    lock-file
+    MemoTrie
+    mtl
+    nix-derivation
+    optics
+    process
+    random
+    relude
+    safe
+    stm
+    streamly
+    terminal-size
+    text
+    time
+    unix
+    vector
+    wcwidth
+    word8
+  ];
+  homepage = "https://github.com/maralorn/nix-output-monitor";
+  description = "Parses output of nix-build to show additional information";
+  license = lib.licenses.agpl3Plus;
+  maintainers = with lib.maintainers; [maralorn];
+}
diff --git a/pkgs/tools/nix/nix-output-monitor/update.sh b/pkgs/tools/nix/nix-output-monitor/update.sh
index ad5da000030..b25a65fca2d 100755
--- a/pkgs/tools/nix/nix-output-monitor/update.sh
+++ b/pkgs/tools/nix/nix-output-monitor/update.sh
@@ -9,7 +9,7 @@ set -eo pipefail
 # This is the directory of this update.sh script.
 script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
 
-derivation_file="${script_dir}/default.nix"
+derivation_file="${script_dir}/generated-package.nix"
 
 # This is the latest released version of nix-output-monitor on GitHub.
 new_version=$(curl --silent "https://api.github.com/repos/maralorn/nix-output-monitor/releases" | jq '.[0].tag_name' --raw-output)
@@ -23,30 +23,9 @@ cat > "$derivation_file" << EOF
 EOF
 
 cabal2nix \
-  --extra-arguments expect \
-  --extra-arguments runtimeShell\
-  --extra-arguments installShellFiles\
   --maintainer maralorn \
   "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/${new_version}.tar.gz" \
-  | head -n-1 >> "$derivation_file"
-
-cat >> "$derivation_file" << EOF
-    passthru.updateScript = ./update.sh;
-    testTarget = "unit-tests";
-    buildTools = [ installShellFiles ];
-    postInstall = ''
-        cat > \$out/bin/nom-build << EOF
-        #!\${runtimeShell}
-        \${expect}/bin/unbuffer nix-build "\\\$@" 2>&1 | exec \$out/bin/nom
-        EOF
-        chmod a+x \$out/bin/nom-build
-        installShellCompletion --zsh --name _nom-build \${builtins.toFile "completion.zsh" ''
-            #compdef nom-build
-            compdef nom-build=nix-build
-        ''}
-    '';
-}
-EOF
+  >> "$derivation_file"
 
 alejandra "${derivation_file}" | cat
 
diff --git a/pkgs/tools/package-management/cargo-about/default.nix b/pkgs/tools/package-management/cargo-about/default.nix
index 17c9f690d0a..0ed6f978ba9 100644
--- a/pkgs/tools/package-management/cargo-about/default.nix
+++ b/pkgs/tools/package-management/cargo-about/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-about";
-  version = "0.4.7";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = "cargo-about";
     rev = version;
-    sha256 = "sha256-KrUb71/wEQnAD2VVkufw12kXrz35sU5fNciSJsMyGrc=";
+    sha256 = "sha256-M09X7UwrTtrOhOphhpGHSAqxneY50jNrFKJCeBQhRfc=";
   };
 
   # enable pkg-config feature of zstd
   cargoPatches = [ ./zstd-pkg-config.patch ];
 
-  cargoSha256 = "sha256-JewI+23eNrMHfSUwsA3CaeTvG61/ZOFFLpm7rKZKsoU=";
+  cargoSha256 = "sha256-E1+OfVAzrezXoUz9Nlyhdq1xxEWm4UJhVyp+nG7UmYY=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/package-management/cargo-outdated/default.nix b/pkgs/tools/package-management/cargo-outdated/default.nix
index d15cbe8a9cc..a1f783a7fe4 100644
--- a/pkgs/tools/package-management/cargo-outdated/default.nix
+++ b/pkgs/tools/package-management/cargo-outdated/default.nix
@@ -11,14 +11,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-outdated";
-  version = "0.10.2";
+  version = "0.11.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-U6qElZkray4kjScv9X4I5m2z1ZWQzqcPYAuPzpyRpW0=";
+    sha256 = "sha256-43PqIM61MXY35BSprRNPTMyVUEVD15sq4+6PHS/P2o0=";
   };
 
-  cargoSha256 = "sha256-0J02Uz184zx5xZYhqUmyaAFCQ0aogwy0fQTXbteBdV8=";
+  cargoSha256 = "sha256-ue93L8pyjKR+bxNdltQcsHSPJ3Iz+4gpeskIhhR2/wI=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/package-management/cargo-release/default.nix b/pkgs/tools/package-management/cargo-release/default.nix
index 0c791bbf80f..49a6d645060 100644
--- a/pkgs/tools/package-management/cargo-release/default.nix
+++ b/pkgs/tools/package-management/cargo-release/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.20.2";
+  version = "0.20.3";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "sha256-KWLZdFpRwtdP17x71IU2MGFwd1SNnTRcgTUoW1p5Px4=";
+    sha256 = "sha256-oYnqrNqbn/OsJd0Lh6rQ2pt7FrLOp5p3MoavC56dWQc=";
   };
 
-  cargoSha256 = "sha256-CTaEWANx3s7YCm8pqGWuvGqR362YtVjmbnc9V3kC8pI=";
+  cargoSha256 = "sha256-LtDIzqHzzur+GxxvUHciNQCRmxqdmaXSG4ncMV3Rx3c=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix
index 35541fa36ac..05a9e45c956 100644
--- a/pkgs/tools/package-management/disnix/disnixos/default.nix
+++ b/pkgs/tools/package-management/disnix/disnixos/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "disnixos";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchurl {
     url = "https://github.com/svanderburg/disnixos/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "0zcghb9nm911bfwpzcgj4ga2cndxbzp5pmrxff711qydrwgy7sg7";
+    sha256 = "0nm7g184xh6xzjz4a40a7kgfnpmq043x6v0cynpffa6wd9jv89s9";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix
index 678f0a9be8b..f07aade89ca 100644
--- a/pkgs/tools/package-management/disnix/dysnomia/default.nix
+++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, netcat
 
 # Optional packages
-, systemd ? null, ejabberd ? null, mysql ? null, postgresql ? null, subversion ? null
+, systemd ? null, ejabberd ? null, mariadb ? null, postgresql ? null, subversion ? null
 , mongodb ? null, mongodb-tools ? null, influxdb ? null, supervisor ? null, docker ? null
 , nginx ? null, s6-rc ? null, xinetd ? null
 
@@ -26,7 +26,7 @@
 , getopt
 }:
 
-assert enableMySQLDatabase -> mysql != null;
+assert enableMySQLDatabase -> mariadb != null;
 assert enablePostgreSQLDatabase -> postgresql != null;
 assert enableSubversionRepository -> subversion != null;
 assert enableEjabberdDump -> ejabberd != null;
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ getopt netcat ]
     ++ lib.optional stdenv.isLinux systemd
     ++ lib.optional enableEjabberdDump ejabberd
-    ++ lib.optional enableMySQLDatabase mysql.out
+    ++ lib.optional enableMySQLDatabase mariadb.out
     ++ lib.optional enablePostgreSQLDatabase postgresql
     ++ lib.optional enableSubversionRepository subversion
     ++ lib.optionals enableMongoDatabase [ mongodb mongodb-tools ]
diff --git a/pkgs/tools/package-management/libdnf/default.nix b/pkgs/tools/package-management/libdnf/default.nix
index 3de0bb399d8..7176d7f608e 100644
--- a/pkgs/tools/package-management/libdnf/default.nix
+++ b/pkgs/tools/package-management/libdnf/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdnf";
-  version = "0.65.0";
+  version = "0.66.0";
 
   src = fetchFromGitHub {
     owner = "rpm-software-management";
     repo = pname;
     rev = version;
-    sha256 = "sha256-vGXK4pOkff4yGaRZE+FFFIqEizUeCID+lxiE/TWt0Bs=";
+    sha256 = "sha256-fQyNm51roz6wn9QAE8/ZIrutyWP45xiKVHzn8n0LcwE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/package-management/microdnf/default.nix b/pkgs/tools/package-management/microdnf/default.nix
index 03324a44710..6a3d5808c73 100644
--- a/pkgs/tools/package-management/microdnf/default.nix
+++ b/pkgs/tools/package-management/microdnf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microdnf";
-  version = "3.8.0";
+  version = "3.8.1";
 
   src = fetchFromGitHub {
     owner = "rpm-software-management";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ip1XcE8fPXhdgVaR4VPH+ElP6JbnK4JekZuWyT5ot/M=";
+    sha256 = "sha256-yKIhXjeiCOq5JsAquaPnYAJZk53FioOKGIAT2xYfLO8=";
   };
 
   nativeBuildInputs = [ pkg-config cmake gettext help2man ];
diff --git a/pkgs/tools/package-management/nix-du/default.nix b/pkgs/tools/package-management/nix-du/default.nix
index e0f2a192c23..3f5a73821cb 100644
--- a/pkgs/tools/package-management/nix-du/default.nix
+++ b/pkgs/tools/package-management/nix-du/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nix-du";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "symphorien";
     repo = "nix-du";
     rev = "v${version}";
-    sha256 = "0v6hixj81aa6g3sddny46i0yqaaqv6krp5xadj0xz1g77cb8xy2w";
+    sha256 = "sha256-NnoCoiYTXci7f9MXsxEhoYHwPsaAAuK2wSrDye2+SYM=";
   };
 
-  cargoSha256 = "11jaks6adsvrvxlqqw3glvn4ff7xh9j35ayfrl89rb4achvqp7xn";
+  cargoSha256 = "sha256-X5181gZtvnUHZAqMjNARRVFq12LuLJfPP5ZOWxBRxXk=";
 
   doCheck = true;
   checkInputs = [ nix graphviz ];
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     nlohmann_json
   ] ++ lib.optionals stdenv.isDarwin [ Security ];
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ];
 
   meta = with lib; {
     description = "A tool to determine which gc-roots take space in your nix store";
diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix
index dfcf11045cb..1023d23432c 100644
--- a/pkgs/tools/package-management/nix-eval-jobs/default.nix
+++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix
@@ -11,12 +11,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nix-eval-jobs";
-  version = "0.0.3";
+  version = "0.0.4";
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256:0flnqn1vkr55sipii82vwjfkhv4p835d01f6yhlpbalxwy2kr14r";
+    hash = "sha256-SCwvFlBYUlxCucjMO4GHhEQWZFZt0lRKJncm6hvDx9I=";
   };
   buildInputs = [
     boost
diff --git a/pkgs/tools/package-management/nix-index/default.nix b/pkgs/tools/package-management/nix-index/default.nix
index 10449a331f9..57ebcfec26d 100644
--- a/pkgs/tools/package-management/nix-index/default.nix
+++ b/pkgs/tools/package-management/nix-index/default.nix
@@ -4,23 +4,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nix-index";
-  version = "0.1.2";
+  version = "unstable-2022-03-07";
 
   src = fetchFromGitHub {
     owner = "bennofs";
     repo = "nix-index";
-    rev = "v${version}";
-    sha256 = "05fqfwz34n4ijw7ydw2n6bh4bv64rhks85cn720sy5r7bmhfmfa8";
+    rev = "f09548f66790d2d7d53f07ad2af62993d7cabb08";
+    sha256 = "sha256-xIJCzEHQJ2kHRbT4Ejrb5R5e/VqjKrklV7XneZIiyUg=";
   };
 
-  cargoSha256 = "161lz96a52s53rhhkxxhcg41bsmh8w6rv6nl8gwqmg3biszy7hah";
+  cargoSha256 = "sha256-2Yhnacsx8EWsfZfcfKhV687cblyFDmsfdqGZoK6Lulo=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl curl ]
     ++ lib.optional stdenv.isDarwin Security;
 
-  doCheck = !stdenv.isDarwin;
-
   postInstall = ''
     mkdir -p $out/etc/profile.d
     cp ./command-not-found.sh $out/etc/profile.d/command-not-found.sh
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index a6b7fa3a900..8eb8fef8298 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -73,13 +73,13 @@ in lib.makeExtensible (self: {
   stable = self.nix_2_7;
 
   unstable = lib.lowPrio (common rec {
-    version = "2.7";
-    suffix = "pre20220221_${lib.substring 0 7 src.rev}";
+    version = "2.8";
+    suffix = "pre20220311_${lib.substring 0 7 src.rev}";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "caf51729450d4c57d48ddbef8e855e9bf65f8792";
-      sha256 = "sha256-2fbza6fWPjyTyVEqWIp0jk/Z4epjSDe1u4lbEu+v7Iw=";
+      rev = "d5322698a2abbc6d141e1d244e17b0d226a2f18b";
+      sha256 = "sha256-7rQSktGC8+DmeyGOnzFMy1QwAYnw4JJphv+lEwFCwfU=";
     };
   });
 })
diff --git a/pkgs/tools/security/amber/default.nix b/pkgs/tools/security/amber/default.nix
index 5fb88ca9921..c2196cea686 100644
--- a/pkgs/tools/security/amber/default.nix
+++ b/pkgs/tools/security/amber/default.nix
@@ -3,16 +3,16 @@
 rustPlatform.buildRustPackage rec {
   # Renaming it to amber-secret because another package named amber exists
   pname = "amber-secret";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "fpco";
     repo = "amber";
     rev = "v${version}";
-    sha256 = "sha256-+vipQl/HWoYnOPkQLjeIedpnnqPVYaUWhks9eCgMOxQ=";
+    sha256 = "sha256-kPDNTwsfI+8nOgsLv2aONrLGSRZhw5YzNntJ2tbE0oI=";
   };
 
-  cargoSha256 = "sha256-xWEQvCyd8auE0q9rBt9iDgU8Dscf4pq/gsAINH2eQY4=";
+  cargoSha256 = "sha256-fTdTgbeOQXEpLHq9tHiPLkttvaxS/WJ86h3jRdrfbJM=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/tools/security/cariddi/default.nix b/pkgs/tools/security/cariddi/default.nix
index 9f29826808d..74e9b05b237 100644
--- a/pkgs/tools/security/cariddi/default.nix
+++ b/pkgs/tools/security/cariddi/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "cariddi";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchFromGitHub {
     owner = "edoardottt";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PXQljC9rwlxXQ96fII3EjD4NXu61EMkYvMWqkcJZ4vU=";
+    sha256 = "sha256-/ez2biYU8NnVny8v5Mu9pLq0oqzcIenpyEb3qkPd9v8=";
   };
 
-  vendorSha256 = "sha256-zNUdglsfy6lEV54afCAoigxa3rR0qf/e3+B4PvVRIa4=";
+  vendorSha256 = "sha256-zJ39tAq+ooROMHG1vC2m2rbq+wttxqYxAd2hLg5GtJM=";
 
   meta = with lib; {
     description = "Crawler for URLs and endpoints";
diff --git a/pkgs/tools/security/cdk-go/default.nix b/pkgs/tools/security/cdk-go/default.nix
index 317f6092718..88fd089cb68 100644
--- a/pkgs/tools/security/cdk-go/default.nix
+++ b/pkgs/tools/security/cdk-go/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "cdk-go";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "cdk-team";
     repo = "CDK";
     rev = "v${version}";
-    sha256 = "sha256-Ngv+/b9D27ERwjNIC3s3ZBPkV10G+tT8QW8YMOgb8aA=";
+    sha256 = "sha256-XzUSiE03ZbP75ewwBJFwZE0aKNlOFprezeD26japLD8=";
   };
 
-  vendorSha256 = "sha256-9Q7f3keMUEI2cWal2dvp4b8kvTZVM1Cf4iTvH9yCyX0=";
+  vendorSha256 = "sha256-mP49DmOHvS8ewQG7I1J5OEmAOkHEFJfAsEPeiaRBpWc=";
 
   # At least one test is outdated
   doCheck = false;
diff --git a/pkgs/tools/security/cfripper/default.nix b/pkgs/tools/security/cfripper/default.nix
index 39b0187c4a6..7df85144da5 100644
--- a/pkgs/tools/security/cfripper/default.nix
+++ b/pkgs/tools/security/cfripper/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cfripper";
-  version = "1.5.1";
+  version = "1.5.3";
 
   src = fetchFromGitHub {
     owner = "Skyscanner";
     repo = pname;
     rev = version;
-    hash = "sha256-/qcpLCk1ZZMKxhqK6q6sSbRDjiF5GQmDJzvCaV2kAqQ=";
+    hash = "sha256-5TjKn7yE3g8/SyD2dVJeHnaLOTyyKpxeAeGuXbkGCeo=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/dnsx/default.nix b/pkgs/tools/security/dnsx/default.nix
index d81e453f692..c316ab35b6d 100644
--- a/pkgs/tools/security/dnsx/default.nix
+++ b/pkgs/tools/security/dnsx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dnsx";
-  version = "1.0.9";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "dnsx";
     rev = "v${version}";
-    sha256 = "sha256-8c9gDD/g5oP9GQV1ghb2UN9w5EccvxyDvJUAtgV8q7Y=";
+    sha256 = "sha256-tcUVJ/qcQGivcAjWkcfv1fZxc9F5cYn1stpCHDoJRps=";
   };
 
-  vendorSha256 = "sha256-uvquc0bWwYzeeTuKlYaQp9r+O23MMs1Ajz1DPJ2qrnE=";
+  vendorSha256 = "sha256-hGV44Rx5kX2ZVBsTyeWm5SzpXzlTFNidt7bwzntboQo=";
 
   meta = with lib; {
     description = "Fast and multi-purpose DNS toolkit";
diff --git a/pkgs/tools/security/expliot/default.nix b/pkgs/tools/security/expliot/default.nix
index 848ee536380..eb5fd03416f 100644
--- a/pkgs/tools/security/expliot/default.nix
+++ b/pkgs/tools/security/expliot/default.nix
@@ -26,7 +26,7 @@ buildPythonApplication rec {
     owner = "expliot_framework";
     repo = pname;
     rev = version;
-    sha256 = "sha256-7Cuj3YKKwDxP2KKueJR9ZO5Bduv+lw0Y87Rw4b0jbGY=";
+    hash = "sha256-7Cuj3YKKwDxP2KKueJR9ZO5Bduv+lw0Y87Rw4b0jbGY=";
   };
 
   propagatedBuildInputs = [
@@ -51,7 +51,10 @@ buildPythonApplication rec {
   postPatch = ''
     # https://gitlab.com/expliot_framework/expliot/-/merge_requests/113
     substituteInPlace setup.py \
-      --replace "pynetdicom>=1.5.1,<2" "pynetdicom>=2,<3"
+      --replace "pynetdicom>=1.5.1,<2" "pynetdicom>=2,<3" \
+      --replace "cryptography>=3.0,<4" "cryptography>=35,<40" \
+      --replace "python-can>=3.3.3,<4" "python-can>=3.3.3,<5" \
+      --replace "pyparsing>=2.4.7,<3" "pyparsing>=2.4.7,<4"
   '';
 
   # Project has no tests
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 14b7d7efab2..4338576c75e 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -2,13 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2022-03-10";
+  version = "2022-03-15";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zKFkPRmA2Hl/NksJTf76RcPr1nvaLdZu2fyBp5PcZ0Y=";
+    sha256 = "sha256-whV7zg7njGGjUpxsXZiNwVfHgrlop2RLZnCsBWQ+HkY=";
+
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/feroxbuster/default.nix b/pkgs/tools/security/feroxbuster/default.nix
new file mode 100644
index 00000000000..ecfc496ce8e
--- /dev/null
+++ b/pkgs/tools/security/feroxbuster/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, openssl
+, pkg-config
+, rustPlatform
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "feroxbuster";
+  version = "2.6.1";
+
+  src = fetchFromGitHub {
+    owner = "epi052";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-RY9bFuALRaVXDrC0eIx0inPjRqNpRKNZf3mCrKIdGL8=";
+  };
+
+  cargoSha256 = "sha256-0Zawlx/lhF7K8nOsHYKO84pnctVMpm3RfnAFCOltOqE=";
+
+  OPENSSL_NO_VENDOR = true;
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    Security
+  ];
+
+  # Tests require network access
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Fast, simple, recursive content discovery tool";
+    homepage = "https://github.com/epi052/feroxbuster";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
+
diff --git a/pkgs/tools/security/fulcio/default.nix b/pkgs/tools/security/fulcio/default.nix
index 96ef86d18d1..300b996524d 100644
--- a/pkgs/tools/security/fulcio/default.nix
+++ b/pkgs/tools/security/fulcio/default.nix
@@ -2,33 +2,61 @@
 
 buildGoModule rec {
   pname = "fulcio";
-  version = "0.1.1";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MvLQMGPyJYqYUljLqsr+qJeeYnxdH9aNGkWpDRvOeh8=";
+    sha256 = "sha256-tCjFx9Ug8rO8cSxQb2vBG/MHSUJCx17lDeGnSGjZLcI=";
+    # populate values that require us to use git. By doing this in postFetch we
+    # can delete .git afterwards and maintain better reproducibility of the src.
+    leaveDotGit = true;
+    postFetch = ''
+      cd "$out"
+      git rev-parse HEAD > $out/COMMIT
+      # '0000-00-00T00:00:00Z'
+      date -u -d "@$(git log -1 --pretty=%ct)" "+'%Y-%m-%dT%H:%M:%SZ'" > $out/SOURCE_DATE_EPOCH
+      find "$out" -name .git -print0 | xargs -0 rm -rf
+    '';
   };
-  vendorSha256 = "sha256-pRL0et+UOi/tzuQz/Q7UmSA+pVhLJYR8lG8NAbPN9PU=";
+  vendorSha256 = "sha256-CmtsReP0JacgNyRqCrYZRONwR5eluymrQgsj/ukhYNQ=";
 
-  ldflags = [ "-s" "-w" ];
-
-  # Install completions post-install
+  # install completions post-install
   nativeBuildInputs = [ installShellFiles ];
 
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/sigstore/fulcio/cmd/app.gitVersion=v${version}"
+    "-X github.com/sigstore/fulcio/cmd/app.gitTreeState=clean"
+  ];
+
+  # ldflags based on metadata from git and source
+  preBuild = ''
+    ldflags+=" -X github.com/sigstore/fulcio/cmd/app.gitCommit=$(cat COMMIT)"
+    ldflags+=" -X github.com/sigstore/fulcio/cmd/app.buildDate=$(cat SOURCE_DATE_EPOCH)"
+  '';
+
+  preCheck = ''
+    # remove test that requires networking
+    rm pkg/config/config_test.go
+  '';
+
   postInstall = ''
-    mv $out/bin/fulcio $out/bin/fulcio-server
-    installShellCompletion --cmd fulcio-server \
-      --bash <($out/bin/fulcio-server completion bash) \
-      --fish <($out/bin/fulcio-server completion fish) \
-      --zsh <($out/bin/fulcio-server completion zsh)
+    installShellCompletion --cmd fulcio \
+      --bash <($out/bin/fulcio completion bash) \
+      --fish <($out/bin/fulcio completion fish) \
+      --zsh <($out/bin/fulcio completion zsh)
   '';
 
   doInstallCheck = true;
   installCheckPhase = ''
     runHook preInstallCheck
-    $out/bin/fulcio-server --help
+
+    $out/bin/fulcio --help
+    $out/bin/fulcio version | grep "v${version}"
+
     runHook postInstallCheck
   '';
 
diff --git a/pkgs/tools/security/gitleaks/default.nix b/pkgs/tools/security/gitleaks/default.nix
index ff70782dabe..a574c347629 100644
--- a/pkgs/tools/security/gitleaks/default.nix
+++ b/pkgs/tools/security/gitleaks/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gitleaks";
-  version = "8.3.0";
+  version = "8.4.0";
 
   src = fetchFromGitHub {
     owner = "zricethezav";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-D6leHpGZNQ9Xt4PSU0Dwte6N3bMge7itkZtcUl0mIrQ=";
+    sha256 = "sha256-z3YGRDgBGpr2hixIayih4wxGWPtYL0EPAuTYVPByzQc=";
   };
 
-  vendorSha256 = "sha256-JZOalUOIeV51Nttm6xeBos+/8fleSBpUiXa8ekVuYJA=";
+  vendorSha256 = "sha256-J1xX+r+Mph1QkqjK87tqGDkYvPZp0lHgdRhd88WZi1c=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/security/gnupg/23.nix b/pkgs/tools/security/gnupg/23.nix
index ef7a5cf85e7..e80804cd002 100644
--- a/pkgs/tools/security/gnupg/23.nix
+++ b/pkgs/tools/security/gnupg/23.nix
@@ -15,11 +15,11 @@ assert guiSupport -> pinentry != null && enableMinimal == false;
 
 stdenv.mkDerivation rec {
   pname = "gnupg";
-  version = "2.3.3";
+  version = "2.3.4";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${pname}-${version}.tar.bz2";
-    sha256 = "0dz9x0r5021bhk1kjh29m1q13xbslwb8yn9qzcp7b9m1lrnvi2ap";
+    sha256 = "sha256-80aOyvsdf5rXtR/R23rr8XzridLvqKBc8vObTUBUAq4=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -34,19 +34,9 @@ stdenv.mkDerivation rec {
     ./tests-add-test-cases-for-import-without-uid.patch
     ./allow-import-of-previously-known-keys-even-without-UI.patch
     ./accept-subkeys-with-a-good-revocation-but-no-self-sig.patch
-  ] ++ lib.optional stdenv.isDarwin [
-    # Remove an innocent warning printed on systems without procfs
-    # https://dev.gnupg.org/T5656
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/Homebrew/formula-patches/890be5f6af88e7913d177af87a50129049e681bb/gnupg/2.3.3-proc-error.patch";
-      sha256 = "sha256-oiTa7Nf+AEmhZ683CJEaCb559PXJ6RpSSgRLpxz4CKU=";
-    })
   ];
   postPatch = ''
-    sed -i 's,hkps://hkps.pool.sks-keyservers.net,hkps://keys.openpgp.org,g' configure doc/dirmngr.texi doc/gnupg.info-1
-    # Fix broken SOURCE_DATE_EPOCH usage - remove on the next upstream update
-    sed -i 's/$SOURCE_DATE_EPOCH/''${SOURCE_DATE_EPOCH}/' doc/Makefile.am
-    sed -i 's/$SOURCE_DATE_EPOCH/''${SOURCE_DATE_EPOCH}/' doc/Makefile.in
+    sed -i 's,\(hkps\|https\)://keyserver.ubuntu.com,hkps://keys.openpgp.org,g' configure configure.ac doc/dirmngr.texi doc/gnupg.info-1
   '' + lib.optionalString (stdenv.isLinux && pcsclite != null) ''
     sed -i 's,"libpcsclite\.so[^"]*","${lib.getLib pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
   '';
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix
index cc35a24151a..1b80d7ecd88 100644
--- a/pkgs/tools/security/grype/default.nix
+++ b/pkgs/tools/security/grype/default.nix
@@ -6,28 +6,26 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.33.1";
+  version = "0.34.3";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5QjyGIpxnrwTnEmi0D16vPKodg3+SKiINFONwU2OzC0=";
+    sha256 = "sha256-iWmLfQ08+dhjvKQiK2iy2Tegk4jH9dGopu/6kdDRZd0=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
     postFetch = ''
       cd "$out"
-      commit="$(git rev-parse HEAD)"
-      source_date_epoch=$(git log --date=format:'%Y-%m-%dT%H:%M:%SZ' -1 --pretty=%ad)
-      substituteInPlace "$out/internal/version/build.go" \
-        --replace 'gitCommit = valueNotProvided' "gitCommit = \"$commit\"" \
-        --replace 'buildDate = valueNotProvided' "buildDate = \"$source_date_epoch\""
+      git rev-parse HEAD > $out/COMMIT
+      # 0000-00-00T00:00:00Z
+      date -u -d "@$(git log -1 --pretty=%ct)" "+%Y-%m-%dT%H:%M:%SZ" > $out/SOURCE_DATE_EPOCH
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
 
-  vendorSha256 = "sha256-CPMfQv9oiLbIMkZe/t482LzssoNTcNVJdr2o2wJecSA=";
+  vendorSha256 = "sha256-WrUZFlN7dPbyN9InjX/Y9J+iYKu5v2/SHmRgDP5BJi8=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -37,14 +35,17 @@ buildGoModule rec {
     "-s"
     "-w"
     "-X github.com/anchore/grype/internal/version.version=${version}"
+    "-X github.com/anchore/grype/internal/version.gitDescription=v${version}"
     "-X github.com/anchore/grype/internal/version.gitTreeState=clean"
   ];
 
   preBuild = ''
     # grype version also displays the version of the syft library used
     # we need to grab it from the go.sum and add an ldflag for it
-    SYFTVERSION="$(grep "github.com/anchore/syft" go.sum -m 1 | awk '{print $2}')"
-    ldflags+=" -X github.com/anchore/grype/internal/version.syftVersion=$SYFTVERSION"
+    SYFT_VERSION="$(grep "github.com/anchore/syft" go.sum -m 1 | awk '{print $2}')"
+    ldflags+=" -X github.com/anchore/grype/internal/version.syftVersion=$SYFT_VERSION"
+    ldflags+=" -X github.com/anchore/grype/internal/version.gitCommit=$(cat COMMIT)"
+    ldflags+=" -X github.com/anchore/grype/internal/version.buildDate=$(cat SOURCE_DATE_EPOCH)"
   '';
 
   # Tests require a running Docker instance
diff --git a/pkgs/tools/security/libtpms/default.nix b/pkgs/tools/security/libtpms/default.nix
index d93f0135c20..2042ec30fff 100644
--- a/pkgs/tools/security/libtpms/default.nix
+++ b/pkgs/tools/security/libtpms/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libtpms";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "stefanberger";
     repo = "libtpms";
     rev = "v${version}";
-    sha256 = "sha256-sfAmyx9MgzCVA1Da7hl6/sKxhS9ptaNLeSB8wmJIKDs=";
+    sha256 = "sha256-ih154MtLWBUdo7+ugu6tg5O/XSjlgFC00wgWC71VeaE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/pomerium-cli/default.nix b/pkgs/tools/security/pomerium-cli/default.nix
new file mode 100644
index 00000000000..7dc7e3a7a90
--- /dev/null
+++ b/pkgs/tools/security/pomerium-cli/default.nix
@@ -0,0 +1,58 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+, pomerium
+}:
+
+let
+  inherit (lib) concatStringsSep concatMap id mapAttrsToList;
+in
+buildGoModule rec {
+  pname = "pomerium-cli";
+  version = pomerium.version;
+  src = fetchFromGitHub {
+    owner = "pomerium";
+    repo = "cli";
+    rev = "v${version}";
+    hash = "sha256:0230b22xjnpykj8bcdahzzlsvlrd63z2cmg6yb246c5ngjs835q1";
+  };
+
+  vendorSha256 = "sha256:0xx22lmh6wip1d1bjrp4lgab3q9yilw54v4lg24lf3xhbsr5si9b";
+  subPackages = [
+    "cmd/pomerium-cli"
+  ];
+
+  ldflags = let
+    # Set a variety of useful meta variables for stamping the build with.
+    setVars = {
+      "github.com/pomerium/cli/version" = {
+        Version = "v${version}";
+        BuildMeta = "nixpkgs";
+        ProjectName = "pomerium-cli";
+        ProjectURL = "github.com/pomerium/cli";
+      };
+    };
+    concatStringsSpace = list: concatStringsSep " " list;
+    mapAttrsToFlatList = fn: list: concatMap id (mapAttrsToList fn list);
+    varFlags = concatStringsSpace (
+      mapAttrsToFlatList (package: packageVars:
+        mapAttrsToList (variable: value:
+          "-X ${package}.${variable}=${value}"
+        ) packageVars
+      ) setVars);
+  in [
+    "${varFlags}"
+  ];
+
+  installPhase = ''
+    install -Dm0755 $GOPATH/bin/pomerium-cli $out/bin/pomerium-cli
+  '';
+
+  meta = with lib; {
+    homepage = "https://pomerium.io";
+    description = "Client-side helper for Pomerium authenticating reverse proxy";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ lukegb ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/sdlookup/default.nix b/pkgs/tools/security/sdlookup/default.nix
new file mode 100644
index 00000000000..80b6d3ba688
--- /dev/null
+++ b/pkgs/tools/security/sdlookup/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "sdlookup";
+  version = "unstable-2022-03-10";
+
+  src = fetchFromGitHub {
+    owner = "j3ssie";
+    repo = pname;
+    rev = "8554bfa27284c4764401dbd8da23800d4ae968a2";
+    hash = "sha256-c6xAgOxle51waiFsSWvwO9eyt1KXuM0dEeepVsRQHkk=";
+  };
+
+  vendorSha256 = "sha256-j0UzucZ6kDwM+6U0ZyIW9u8XG/Bn+VUCO2vV1BbnQo0=";
+
+  meta = with lib; {
+    description = "IP lookups for open ports and vulnerabilities from internetdb.shodan.io";
+    homepage = "https://github.com/j3ssie/sdlookup";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/sigma-cli/default.nix b/pkgs/tools/security/sigma-cli/default.nix
new file mode 100644
index 00000000000..5a6a3ab9ef5
--- /dev/null
+++ b/pkgs/tools/security/sigma-cli/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "sigma-cli";
+  version = "0.3.2";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "SigmaHQ";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-We6vJXLIxGe//78pgJFrihFJHl0gRd02I53hoYWcao0=";
+  };
+
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    click
+    prettytable
+    pysigma
+    pysigma-backend-splunk
+    pysigma-pipeline-crowdstrike
+    pysigma-pipeline-sysmon
+  ];
+
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'prettytable = "^3.1.1"' 'prettytable = "*"'
+  '';
+
+  pythonImportsCheck = [
+    "sigma.cli"
+  ];
+
+  meta = with lib; {
+    description = "Sigma command line interface";
+    homepage = "https://github.com/SigmaHQ/sigma-cli";
+    license = with licenses; [ lgpl21Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/sops/default.nix b/pkgs/tools/security/sops/default.nix
index 1cf89143925..9752d78a183 100644
--- a/pkgs/tools/security/sops/default.nix
+++ b/pkgs/tools/security/sops/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "sops";
-  version = "3.7.1";
+  version = "3.7.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "mozilla";
     repo = pname;
-    sha256 = "0z3jcyl245yjszzjf2h6l1dwa092vxzvfmnivmwi6jvpsdcv33h1";
+    sha256 = "sha256-NMuYMvaBSxKHvpqFkMfnMDvcXxTstqzracuSTT1VB1A=";
   };
 
-  vendorSha256 = "1mnwgsbpi56ql0lbpn7dkaps96x9b1lmhlk5cd6d40da7xj616n7";
+  vendorSha256 = "sha256-00/7O9EcGojUExJPtYWndb16VqrNby/5GsVs8Ak/Isc=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/security/spire/default.nix b/pkgs/tools/security/spire/default.nix
index 5f06abeda1b..9b9e9e93488 100644
--- a/pkgs/tools/security/spire/default.nix
+++ b/pkgs/tools/security/spire/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "spire";
-  version = "1.2.0";
+  version = "1.2.1";
 
   outputs = [ "out" "agent" "server" ];
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "spiffe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "01ph9jzh18bnidrsbnnxm3gxh0cgfllnjvf7a5haqz51lm6a9pny";
+    sha256 = "sha256-LK73RGSTwGhCXOglsqK8RAAldovRzliE78vi2ilTSrw=";
   };
 
-  vendorSha256 = "1fd1k5by4wcjmzfgi3gnrwnb38b0wa3w67kzjlx8s0nwapyfgx0b";
+  vendorSha256 = "sha256-am8ZTUX8Vph1Eg013NObMiSVeupS2hlHdpZ/1mO27dY=";
 
   subPackages = [ "cmd/spire-agent" "cmd/spire-server" ];
 
@@ -30,6 +30,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "The SPIFFE Runtime Environment";
     homepage = "https://github.com/spiffe/spire";
+    changelog = "https://github.com/spiffe/spire/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ jonringer fkautz ];
   };
diff --git a/pkgs/tools/security/step-ca/default.nix b/pkgs/tools/security/step-ca/default.nix
index 97a42646312..b650b93f411 100644
--- a/pkgs/tools/security/step-ca/default.nix
+++ b/pkgs/tools/security/step-ca/default.nix
@@ -12,16 +12,16 @@
 
 buildGoModule rec {
   pname = "step-ca";
-  version = "0.18.1";
+  version = "0.18.2";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "certificates";
     rev = "v${version}";
-    sha256 = "sha256-oebmJ+xrJTV5gXH3U1lWCSQMHiVnUTa0ZTp39sVB7KM=";
+    sha256 = "sha256-BhPup3q2muYGWzAa/9b4vnIjBces4GhUHZ/mg4CWMRc=";
   };
 
-  vendorSha256 = "sha256-IJXJS+Z93Hw1I1CAeRv4mq8as9DKebqNFa0IMgZ+Kic=";
+  vendorSha256 = "sha256-oVaziWZGslZCVqkEXL32XvOVU54VOf41Qg+VoVWo7x0=";
 
   ldflags = [ "-buildid=" ];
 
diff --git a/pkgs/tools/security/swtpm/default.nix b/pkgs/tools/security/swtpm/default.nix
index 648165d8262..39128084352 100644
--- a/pkgs/tools/security/swtpm/default.nix
+++ b/pkgs/tools/security/swtpm/default.nix
@@ -16,35 +16,40 @@
 
 stdenv.mkDerivation rec {
   pname = "swtpm";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "stefanberger";
     repo = "swtpm";
     rev = "v${version}";
-    sha256 = "sha256-LJQF8PlRkhCJ8rjZzDetg1BFuTb7GBJ8lW6u5hO134k=";
+    sha256 = "sha256-qeyPCJTNnwuaCosHzqnrQc0JNznGBfDTLsuDmuKREjU=";
   };
 
   nativeBuildInputs = [
     pkg-config unixtools.netstat expect socat
     perl # for pod2man
+    python3
     autoreconfHook
   ];
 
   checkInputs = [
-    python3 which
+    which
   ];
 
   buildInputs = [
     libtpms
-    openssl libtasn1 libseccomp
-    fuse glib json-glib
+    openssl libtasn1
+    glib json-glib
     gnutls
+  ] ++ lib.optionals stdenv.isLinux [
+    fuse
+    libseccomp
   ];
 
   configureFlags = [
-    "--with-cuse"
     "--localstatedir=/var"
+  ] ++ lib.optionals stdenv.isLinux [
+    "--with-cuse"
   ];
 
   postPatch = ''
@@ -56,9 +61,31 @@ stdenv.mkDerivation rec {
 
     # Use the correct path to the certtool binary
     # instead of relying on it being in the environment
-    substituteInPlace src/swtpm_localca/swtpm_localca.c --replace \
+    substituteInPlace src/swtpm_localca/swtpm_localca.c \
+      --replace \
+        '# define CERTTOOL_NAME "gnutls-certtool"' \
+        '# define CERTTOOL_NAME "${gnutls}/bin/certtool"' \
+      --replace \
         '# define CERTTOOL_NAME "certtool"' \
         '# define CERTTOOL_NAME "${gnutls}/bin/certtool"'
+
+    substituteInPlace tests/common --replace \
+        'CERTTOOL=gnutls-certtool;;' \
+        'CERTTOOL=certtool;;'
+
+    # Fix error on macOS:
+    # stat: invalid option -- '%'
+    # This is caused by the stat program not being the BSD version,
+    # as is expected by the test
+    substituteInPlace tests/common --replace \
+        'if [[ "$(uname -s)" =~ (Linux|CYGWIN_NT-) ]]; then' \
+        'if [[ "$(uname -s)" =~ (Linux|Darwin|CYGWIN_NT-) ]]; then'
+
+    # Otherwise certtool seems to pick up the system language on macOS,
+    # which might cause a test to fail
+    substituteInPlace tests/test_swtpm_setup_create_cert --replace \
+        '$CERTTOOL' \
+        'LC_ALL=C.UTF-8 $CERTTOOL'
   '';
 
   doCheck = true;
diff --git a/pkgs/tools/security/zdns/default.nix b/pkgs/tools/security/zdns/default.nix
index 913735d4cb9..354dd5b6447 100644
--- a/pkgs/tools/security/zdns/default.nix
+++ b/pkgs/tools/security/zdns/default.nix
@@ -5,19 +5,16 @@
 
 buildGoModule rec {
   pname = "zdns";
-  version = "20210327-${lib.strings.substring 0 7 rev}";
-  rev = "8c53210f0b9a4fe16c70a5d854e9413c3d0c1ba2";
+  version = "2022-03-14-unstable";
 
   src = fetchFromGitHub {
     owner = "zmap";
     repo = pname;
-    inherit rev;
-    sha256 = "0pdfz1489ynpw72flalnlkwybp683v826icjx7ljys45xvagdvck";
+    rev = "d659a361f6d5165462c10e1c1243f420175e066b";
+    hash = "sha256-856O6H03me3IM39/+6n56KJIetL+v4on6+lJx5D2Pcw=";
   };
 
-  vendorSha256 = "0b8h5n01xmhar1a09svb35ah48k9zdy1mn5balq0h2l0jxr05z78";
-
-  subPackages = [ "zdns" ];
+  vendorSha256 = "sha256-5kZ0voyicnqK/0yrMYW+gR1vVDyptW6I1HgyG4zleX8=";
 
   meta = with lib; {
     description = "CLI DNS lookup tool";
diff --git a/pkgs/tools/system/hostctl/default.nix b/pkgs/tools/system/hostctl/default.nix
index fb3a293a80f..bf3a2511858 100644
--- a/pkgs/tools/system/hostctl/default.nix
+++ b/pkgs/tools/system/hostctl/default.nix
@@ -1,21 +1,32 @@
-{ buildGoModule, fetchFromGitHub, lib, installShellFiles }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
 
 buildGoModule rec {
   pname = "hostctl";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "guumaster";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VjFjGvIoymGVVRiZUk/qoq/PTYoklp+Jz89zndX0e5A=";
+    hash = "sha256-rvUm31WRSLusM9VGsIHKGTH6Vs8LWPtzPDs3azA710w=";
   };
 
   vendorSha256 = "sha256-rGDWrivIdl5FTu/kNR8nAfE2+1hE4cm3uDg7oBobE9M=";
 
-  ldflags = [ "-s" "-w" "-X github.com/guumaster/hostctl/cmd/hostctl/actions.version=${version}" ];
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/guumaster/hostctl/cmd/hostctl/actions.version=${version}"
+  ];
 
-  nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
     installShellCompletion --cmd hostctl \
       --bash <($out/bin/hostctl completion bash) \
@@ -23,7 +34,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "Your dev tool to manage /etc/hosts like a pro!";
+    description = "CLI tool to manage the /etc/hosts file";
     longDescription = ''
       This tool gives you more control over the use of your hosts file.
       You can have multiple profiles and switch them on/off as you need.
diff --git a/pkgs/tools/system/natscli/default.nix b/pkgs/tools/system/natscli/default.nix
index ad10f0c6c9b..411c1054434 100644
--- a/pkgs/tools/system/natscli/default.nix
+++ b/pkgs/tools/system/natscli/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "natscli";
-  version = "0.0.29";
+  version = "0.0.30";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-q1T+bDOOPs4eLnRWkYG6VY0AwfG/W2boSY5DZhMv+ZI=";
+    sha256 = "sha256-+WvJWHRQr5wYV9TG5e379trBO2Gwy0/4bAEJNwDun7s=";
   };
 
-  vendorSha256 = "sha256-YTvgofZoWGDZL/ujjZ9RqAgv6UH2caZBrV9/uav3KVw=";
+  vendorSha256 = "sha256-IHDJp+cjukX916dvffpv4Wit9kmuY101fasN+ChMxWQ=";
 
   meta = with lib; {
     description = "NATS Command Line Interface";
diff --git a/pkgs/tools/system/rocm-smi/default.nix b/pkgs/tools/system/rocm-smi/default.nix
index c91f5d818b1..1a2530d0a06 100644
--- a/pkgs/tools/system/rocm-smi/default.nix
+++ b/pkgs/tools/system/rocm-smi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-smi";
-  version = "4.5.2";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "rocm_smi_lib";
     rev = "rocm-${version}";
-    hash = "sha256-zfsNGDAwBD91w0loWxd8AwuZ3kZSPCXMxxQnX6ktOiE=";
+    hash = "sha256-SQ6eBQzZ8CBD9RlIjt25FrOuWUSybBzx6ZzCOzHbxdI=";
   };
 
   nativeBuildInputs = [ cmake wrapPython ];
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index 5d7fd2b1b6d..6948728f16b 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "syslog-ng";
-  version = "3.35.1";
+  version = "3.36.1";
 
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-HQI4sGs+WYfIWeW1Kezuc491us/wSxSTmLH+jLsSHlM=";
+    sha256 = "sha256-kKJcl2f+dJ21DxGN38kuxxOZdj0uzVrU8R/17qBJ5gs=";
   };
 
   nativeBuildInputs = [ pkg-config which ];
diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix
index 729a0900f85..14c95bd2f3b 100644
--- a/pkgs/tools/text/difftastic/default.nix
+++ b/pkgs/tools/text/difftastic/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "difftastic";
-  version = "0.19.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "wilfred";
     repo = pname;
     rev = version;
-    sha256 = "sha256-pZyQnPIdyS8XkzP9KwGKRjF21YWGgCVNeQSie9g5NcE=";
+    sha256 = "sha256-VV4nCR+BGly+EdCkyI4KeS0Zmn6NkfRsMs//0Sj3E20=";
   };
 
-  cargoSha256 = "sha256-VXbCrhoGF6bCzQ02Y1LQkbEVrmIfDIKFWF9vx43tt94=";
+  cargoSha256 = "sha256-MyCi5PuUs9MJArDFaBgjjBInYJAS/SAPe1iNTs9feLY=";
 
   meta = with lib; {
     description = "A syntax-aware diff";
diff --git a/pkgs/tools/wayland/cliphist/default.nix b/pkgs/tools/wayland/cliphist/default.nix
index 9ccad4397dd..473c6fabc5a 100644
--- a/pkgs/tools/wayland/cliphist/default.nix
+++ b/pkgs/tools/wayland/cliphist/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "cliphist";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "sentriz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fx33m7DCp5N9VGI/H/IO66ECdFLobRRAAuRGNu4gzSk=";
+    sha256 = "sha256-kmXR8xzjAphgaC2Yd55VwZIJ4ehxP1LEA24hgyAbM7A=";
   };
 
-  vendorSha256 = "sha256-UrKSDvskGwHjwkb/fjvaJZ8xXFD98BFeSJxwJpc8A+M=";
+  vendorSha256 = "sha256-LZnefa0FjYG39YJrSN9ef6OnXHXgSrlSL4LvRqLxFx4=";
 
   meta = with lib; {
     description = "Wayland clipboard manager";
diff --git a/pkgs/tools/wayland/swayr/default.nix b/pkgs/tools/wayland/swayr/default.nix
index c1bcf3b4e9f..6237d1a88ee 100644
--- a/pkgs/tools/wayland/swayr/default.nix
+++ b/pkgs/tools/wayland/swayr/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swayr";
-  version = "0.13.0";
+  version = "0.15.0";
 
   src = fetchFromSourcehut {
     owner = "~tsdh";
     repo = "swayr";
     rev = "v${version}";
-    sha256 = "sha256-V4ETsraJo9X10fPMGSuiokPiSlZGYHncOdfheGom1go=";
+    sha256 = "sha256-GLOJjGr29v4oVNCWgjPWluIiSeLoIYeOw2HwmSfxA8Y=";
   };
 
-  cargoSha256 = "sha256-3ErzkS8u+4Ve26jpDbsYr4BVDm/XEgydYdZ2ErtVuVA=";
+  cargoSha256 = "sha256-gg/IHrgfDZT+3FNM/se5X1YMcHX127jMNI/WDEpMzy4=";
 
   patches = [
     ./icon-paths.patch
diff --git a/pkgs/tools/wayland/wl-gammactl/default.nix b/pkgs/tools/wayland/wl-gammactl/default.nix
new file mode 100644
index 00000000000..98bfc40169a
--- /dev/null
+++ b/pkgs/tools/wayland/wl-gammactl/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchFromGitHub
+, meson, pkg-config, ninja
+, wayland, wayland-scanner, wlroots, wlr-protocols, gtk3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "wl-gammactl";
+  version = "unstable-2021-09-13";
+
+  src = fetchFromGitHub {
+    owner = "mischw";
+    repo = pname;
+    rev = "e2385950d97a3baf1b6e2f064dd419ccec179586";
+    sha256 = "8iMJK4O/sNIGPOBZQEfK47K6OjT6sxYFe19O2r/VSr8=";
+  };
+
+  nativeBuildInputs = [ meson pkg-config ninja ];
+  buildInputs = [ wayland wlroots gtk3 ];
+
+  postUnpack = ''
+    rmdir source/wlr-protocols
+    ln -s ${wlr-protocols}/share/wlr-protocols source
+  '';
+
+  postPatch = ''
+    substituteInPlace meson.build --replace "git = find_program('git')" "git = 'false'"
+  '';
+
+  meta = with lib; {
+    description = "Contrast, brightness, and gamma adjustments for Wayland";
+    longDescription = ''
+      Small GTK GUI application to set contrast, brightness, and gamma for wayland compositors which
+      support the wlr-gamma-control protocol extension.
+    '';
+    homepage = "https://github.com/mischw/wl-gammactl";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lodi ];
+  };
+}
diff --git a/pkgs/tools/wayland/ydotool/default.nix b/pkgs/tools/wayland/ydotool/default.nix
index 4a75eac8c57..8d55233638e 100644
--- a/pkgs/tools/wayland/ydotool/default.nix
+++ b/pkgs/tools/wayland/ydotool/default.nix
@@ -1,41 +1,26 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, boost, libevdevplus, libuinputplus, iodash, cxxopts}:
+{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, scdoc }:
 
 stdenv.mkDerivation rec {
   pname = "ydotool";
-  version = "unstable-2021-01-20";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "ReimuNotMoe";
     repo = "ydotool";
-    rev = "b1d041f52f7bac364d6539b1251d29c3b77c0f37";
-    sha256 = "1gzdbx6fv0dbcyia3yyzhv93az2gf90aszb9kcj5cnxywfpv9w9g";
+    rev = "v${version}";
+    sha256 = "sha256-maXXGCqB8dkGO8956hsKSwM4HQdYn6z1jBFENQ9sKcA=";
   };
 
-  # upstream decided to use a cpp package manager called cpm.
-  # we need to disable that because it wants networking, furthermore,
-  # it does some system folder creating which also needs to be disabled.
-  # Both changes are to respect the sandbox.
-  patches = [ ./fixup-cmakelists.patch ];
-
-
-  # cxxopts is a header only library.
-  # See pull request: https://github.com/ReimuNotMoe/ydotool/pull/105
-  postPatch = ''
-    substituteInPlace CMakeLists.txt --replace \
-      "PUBLIC cxxopts" \
-      "PUBLIC"
-  '';
-
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [
-    boost libevdevplus libuinputplus iodash cxxopts
+    scdoc
   ];
 
   meta = with lib; {
     inherit (src.meta) homepage;
     description = "Generic Linux command-line automation tool";
-    license = licenses.mit;
-    maintainers = with maintainers; [ willibutz ];
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ willibutz kraem ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/wayland/ydotool/fixup-cmakelists.patch b/pkgs/tools/wayland/ydotool/fixup-cmakelists.patch
deleted file mode 100644
index 965d5c38d83..00000000000
--- a/pkgs/tools/wayland/ydotool/fixup-cmakelists.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From bb8bc44d22060cd1215712117cf30eae09f4f6ba Mon Sep 17 00:00:00 2001
-From: Jappie Klooster <jappieklooster@hotmail.com>
-Date: Fri, 2 Apr 2021 14:04:14 -0400
-Subject: [PATCH] Fixup cmaklists
-
-We remove cpm, which is a package manager for c++,
-which requires networking, so it's better just deleted.
-
-Furthermore we delete the adddirectory statements.
-These want to modify directories outside of the sandbox.
----
- CMakeLists.txt | 26 --------------------------
- 1 file changed, 26 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b5e8789..b797538 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -13,30 +13,6 @@ endif()
- 
- include(${CPM_DOWNLOAD_LOCATION})
- 
--CPMAddPackage(
--        NAME IODash
--        GITHUB_REPOSITORY YukiWorkshop/IODash
--        VERSION 0.1.0
--)
--
--CPMAddPackage(
--        NAME libevdevPlus
--        GITHUB_REPOSITORY YukiWorkshop/libevdevPlus
--        VERSION 0.2.1
--)
--
--CPMAddPackage(
--        NAME libuInputPlus
--        GITHUB_REPOSITORY YukiWorkshop/libuInputPlus
--        VERSION 0.2.1
--)
--
--CPMAddPackage(
--        NAME cxxopts
--        GITHUB_REPOSITORY jarro2783/cxxopts
--        VERSION 3.0.0
--        GIT_TAG 2d8e17c4f88efce80e274cb03eeb902e055a91d3
--)
- 
- set(SOURCE_FILES_LIBRARY
-         CommonIncludes.hpp
-@@ -74,5 +50,3 @@ add_executable(ydotool ${SOURCE_FILES_CLIENT})
- target_link_libraries(ydotool ydotool_library dl pthread uInputPlus evdevPlus)
- install(TARGETS ydotool DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
--add_subdirectory(Daemon)
--add_subdirectory(manpage)
--- 
-2.29.2
-
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index e69ad01ab65..c30baaac945 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -51,36 +51,36 @@ mapAliases ({
   accounts-qt = throw "'accounts-qt' has been renamed to/replaced by 'libsForQt5.accounts-qt'"; # Converted to throw 2022-02-22
   adobeReader = throw "'adobeReader' has been renamed to/replaced by 'adobe-reader'"; # Converted to throw 2022-02-22
   adobe_flex_sdk = throw "'adobe_flex_sdk' has been renamed to/replaced by 'apache-flex-sdk'"; # Converted to throw 2022-02-22
-  aesop = throw "aesop has been removed from nixpkgs, as it was unmaintained."; # Added 2021-08-05
+  aesop = throw "aesop has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05
   ag = throw "'ag' has been renamed to/replaced by 'silver-searcher'"; # Converted to throw 2022-02-22
   aircrackng = throw "'aircrackng' has been renamed to/replaced by 'aircrack-ng'"; # Converted to throw 2022-02-22
-  airtame = throw "airtame has been removed due to being unmaintained."; # Added 2022-01-19
-  aleth = throw "aleth (previously packaged as cpp_ethereum) has been removed; abandoned upstream."; # Added 2020-11-30
-  alienfx = throw "alienfx has been removed."; # Added 2019-12-08
+  airtame = throw "airtame has been removed due to being unmaintained"; # Added 2022-01-19
+  aleth = throw "aleth (previously packaged as cpp_ethereum) has been removed; abandoned upstream"; # Added 2020-11-30
+  alienfx = throw "alienfx has been removed"; # Added 2019-12-08
   alsaLib = alsa-lib; # Added 2021-06-09
   alsaOss = alsa-oss; # Added 2021-06-10
   alsaPluginWrapper = alsa-plugins-wrapper; # Added 2021-06-10
   alsaPlugins = alsa-plugins; # Added 2021-06-10
   alsaTools = alsa-tools; # Added 2021-06-10
   alsaUtils = alsa-utils; # Added 2021-06-10
-  amazon-glacier-cmd-interface = throw "amazon-glacier-cmd-interface has been removed due to it being unmaintained."; # Added 2020-10-30
-  aminal = throw "aminal was renamed to darktile."; # Added 2021-09-28
+  amazon-glacier-cmd-interface = throw "amazon-glacier-cmd-interface has been removed due to it being unmaintained"; # Added 2020-10-30
+  aminal = throw "aminal was renamed to darktile"; # Added 2021-09-28
   ammonite-repl = throw "'ammonite-repl' has been renamed to/replaced by 'ammonite'"; # Converted to throw 2022-02-22
-  amuleDaemon = throw "amuleDaemon was renamed to amule-daemon."; # Added 2022-02-11
-  amuleGui = throw "amuleGui was renamed to amule-gui."; # Added 2022-02-11
-  amsn = throw "amsn has been removed due to being unmaintained."; # Added 2020-12-09
+  amuleDaemon = throw "amuleDaemon was renamed to amule-daemon"; # Added 2022-02-11
+  amuleGui = throw "amuleGui was renamed to amule-gui"; # Added 2022-02-11
+  amsn = throw "amsn has been removed due to being unmaintained"; # Added 2020-12-09
   angelfish = libsForQt5.plasmaMobileGear.angelfish; # Added 2021-10-06
-  antimicro = throw "antimicro has been removed as it was broken, see antimicrox instead."; # Added 2020-08-06
+  antimicro = throw "antimicro has been removed as it was broken, see antimicrox instead"; # Added 2020-08-06
   antimicroX = antimicrox; # Added 2021-10-31
   ardour_5 = throw "ardour_5 has been removed. see https://github.com/NixOS/nixpkgs/issues/139549"; # Added 2021-09-28
   arduino_core = throw "'arduino_core' has been renamed to/replaced by 'arduino-core'"; # Converted to throw 2022-02-22
-  arora = throw "arora has been removed."; # Added 2020-09-09
+  arora = throw "arora has been removed"; # Added 2020-09-09
   asciidocFull = throw "'asciidocFull' has been renamed to/replaced by 'asciidoc-full'"; # Converted to throw 2022-02-22
   asn1c = throw "asn1c has been removed: deleted by upstream"; # Added 2022-01-07
-  asterisk_15 = throw "asterisk_15: Asterisk 15 is end of life and has been removed."; # Added 2020-10-07
+  asterisk_15 = throw "asterisk_15: Asterisk 15 is end of life and has been removed"; # Added 2020-10-07
   at_spi2_atk = throw "'at_spi2_atk' has been renamed to/replaced by 'at-spi2-atk'"; # Converted to throw 2022-02-22
   at_spi2_core = throw "'at_spi2_core' has been renamed to/replaced by 'at-spi2-core'"; # Converted to throw 2022-02-22
-  aucdtect = throw "aucdtect: Upstream no longer provides download urls."; # Added 2020-12-26
+  aucdtect = throw "aucdtect: Upstream no longer provides download urls"; # Added 2020-12-26
   avldrums-lv2 = x42-avldrums; # Added 2020-03-29
   avxsynth = throw "avxsynth was removed because it was broken"; # Added 2021-05-18
   azureus = throw "azureus is now known as vuze and the version in nixpkgs was really outdated"; # Added 2021-08-02
@@ -94,14 +94,14 @@ mapAliases ({
   bash_5 = bash; # Added 2021-08-20
   bashburn = throw "bashburn has been removed: deleted by upstream"; # Added 2022-01-07
   batti = throw "batti has been removed from nixpkgs, as it was unmaintained"; # Added 2019-12-10
-  bazaar = throw "bazaar has been deprecated by breezy."; # Added 2020-04-19
-  bazaarTools = throw "bazaar has been deprecated by breezy."; # Added 2020-04-19
+  bazaar = throw "bazaar has been deprecated by breezy"; # Added 2020-04-19
+  bazaarTools = throw "bazaar has been deprecated by breezy"; # Added 2020-04-19
   bcat = throw "bcat has been removed because upstream is dead"; # Added 2021-08-22
-  beegfs = throw "beegfs has been removed."; # Added 2019-11-24
+  beegfs = throw "beegfs has been removed"; # Added 2019-11-24
   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
   bitsnbots = throw "bitsnbots has been removed because it was broken and upstream missing"; # Added 2021-08-22
-  blastem = throw "blastem has been removed from nixpkgs as it would still require python2."; # Added 2022-01-01
+  blastem = throw "blastem has been removed from nixpkgs as it would still require python2"; # Added 2022-01-01
   bluezFull = bluez; # Added 2019-12-03
   bomi = throw "bomi has been removed from nixpkgs since it was broken and abandoned upstream"; # Added 2020-12-10
   bootchart = throw "bootchart has been removed from nixpkgs, as it is without a maintainer"; # Added 2019-12-10
@@ -121,8 +121,8 @@ mapAliases ({
   bitwarden_rs-vault = vaultwarden-vault;
 
 
-  blink = throw "blink has been removed from nixpkgs, it was unmaintained and required python2 at the time of removal."; # Added 2022-01-12
-  bs1770gain = throw "bs1770gain has been removed from nixpkgs, as it had no maintainer or reverse dependencies."; # Added 2021-01-02
+  blink = throw "blink has been removed from nixpkgs, it was unmaintained and required python2 at the time of removal"; # Added 2022-01-12
+  bs1770gain = throw "bs1770gain has been removed from nixpkgs, as it had no maintainer or reverse dependencies"; # Added 2021-01-02
   bsod = throw "bsod has been removed: deleted by upstream"; # Added 2022-01-07
   btc1 = throw "btc1 has been removed, it was abandoned by upstream"; # Added 2020-11-03
   buildPerlPackage = throw "'buildPerlPackage' has been renamed to/replaced by 'perlPackages.buildPerlPackage'"; # Converted to throw 2022-02-22
@@ -134,15 +134,15 @@ mapAliases ({
   ### C ###
 
   caddy1 = throw "caddy 1.x has been removed from nixpkgs, as it's unmaintained: https://github.com/caddyserver/caddy/blob/master/.github/SECURITY.md#supported-versions"; # Added 2020-10-02
-  calibre-py2 = throw "calibre-py2 has been removed from nixpkgs, as calibre has upgraded to python 3. Please use calibre as replacement."; # Added 2021-01-13
-  calibre-py3 = throw "calibre-py3 has been removed from nixpkgs, as calibre's default python version is now 3. Please use calibre as replacement."; # Added 2021-01-13
+  calibre-py2 = throw "calibre-py2 has been removed from nixpkgs, as calibre has upgraded to python 3. Please use calibre as replacement"; # Added 2021-01-13
+  calibre-py3 = throw "calibre-py3 has been removed from nixpkgs, as calibre's default python version is now 3. Please use calibre as replacement"; # Added 2021-01-13
   cantarell_fonts = throw "'cantarell_fonts' has been renamed to/replaced by 'cantarell-fonts'"; # Converted to throw 2022-02-22
-  cargo-tree = throw "cargo-tree has been removed, use the builtin `cargo tree` command instead."; # Added 2020-08-20
-  casperjs = throw "casperjs has been removed, it was abandoned by upstream and broken.";
+  cargo-tree = throw "cargo-tree has been removed, use the builtin `cargo tree` command instead"; # Added 2020-08-20
+  casperjs = throw "casperjs has been removed, it was abandoned by upstream and broken";
   catfish = xfce.catfish; # Added 2019-12-22
   ccnet = throw "ccnet has been removed because seafile does not depend on it anymore"; # Added 2021-03-25
-  cde-gtk-theme = throw "cde-gtk-theme has been removed from nixpkgs as it shipped with python2 scripts that didn't work anymore."; # Added 2022-01-12
-  cgmanager = throw "cgmanager was deprecated by lxc and therefore removed from nixpkgs."; # Added 2020-06-05
+  cde-gtk-theme = throw "cde-gtk-theme has been removed from nixpkgs as it shipped with python2 scripts that didn't work anymore"; # Added 2022-01-12
+  cgmanager = throw "cgmanager was deprecated by lxc and therefore removed from nixpkgs"; # Added 2020-06-05
   checkbashism = throw "'checkbashism' has been renamed to/replaced by 'checkbashisms'"; # Converted to throw 2022-02-22
   chronos = throw "chronos has been removed from nixpkgs, as it was unmaintained"; # Added 2020-08-15
   chunkwm = throw "chunkwm has been removed: abandoned by upstream"; # Added 2022-01-07
@@ -151,7 +151,7 @@ mapAliases ({
   cinepaint = throw "cinepaint has been removed from nixpkgs, as it was unmaintained"; # Added 2019-12-10
   ckb = throw "'ckb' has been renamed to/replaced by 'ckb-next'"; # Converted to throw 2022-02-22
   callPackage_i686 = pkgsi686Linux.callPackage;
-  creddump = throw "creddump has been removed from nixpkgs as the upstream has abandoned the project."; # Added 2022-01-01
+  creddump = throw "creddump has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
 
   # these are for convenience, not for backward compat and shouldn't expire
   clang5Stdenv = lowPrio llvmPackages_5.stdenv;
@@ -168,6 +168,7 @@ mapAliases ({
   claws-mail-gtk2 = throw "claws-mail-gtk2 was removed to get rid of Python 2, please use claws-mail"; # Added 2021-12-05
   claws-mail-gtk3 = claws-mail; # Added 2021-07-10
   clawsMail = throw "'clawsMail' has been renamed to/replaced by 'claws-mail'"; # Converted to throw 2022-02-22
+  clearsilver = throw "clearsilver has been removed: abandoned by upstream"; # Added 2022-03-15
   clutter_gtk = throw "'clutter_gtk' has been renamed to/replaced by 'clutter-gtk'"; # Converted to throw 2022-02-22
   cmakeWithQt4Gui = throw "cmakeWithQt4Gui has been removed in favor of cmakeWithGui (Qt 5)"; # Added 2021-05
   codimd = hedgedoc; # Added 2020-11-29
@@ -176,13 +177,13 @@ mapAliases ({
   concurrencykit = libck; # Added 2021-03
   conntrack_tools = throw "'conntrack_tools' has been renamed to/replaced by 'conntrack-tools'"; # Converted to throw 2022-02-22
   cool-old-term = throw "'cool-old-term' has been renamed to/replaced by 'cool-retro-term'"; # Converted to throw 2022-02-22
-  coprthr = throw "coprthr has been removed."; # Added 2019-12-08
-  coredumper = throw "coredumper has been removed: abandoned by upstream."; # Added 2019-11-16
+  coprthr = throw "coprthr has been removed"; # Added 2019-12-08
+  coredumper = throw "coredumper has been removed: abandoned by upstream"; # Added 2019-11-16
   corsmisc = throw "corsmisc has been removed (upstream is gone)"; # Added 2022-01-24
   couchdb = throw "couchdb was removed from nixpkgs, use couchdb3 instead"; # Added 2021-03-03
   couchdb2 = throw "couchdb2 was removed from nixpkgs, use couchdb3 instead"; # Added 2021-03-03
   cpp-gsl = throw "'cpp-gsl' has been renamed to/replaced by 'microsoft_gsl'"; # Converted to throw 2022-02-22
-  cpp_ethereum = throw "cpp_ethereum has been removed; abandoned upstream."; # Added 2020-11-30
+  cpp_ethereum = throw "cpp_ethereum has been removed; abandoned upstream"; # Added 2020-11-30
   cpuminer-multi = throw "cpuminer-multi has been removed: deleted by upstream"; # Added 2022-01-07
   crafty = throw "crafty has been removed: deleted by upstream"; # Added 2022-01-07
   cryptol = throw "cryptol was removed due to prolonged broken build"; # Added 2020-08-21
@@ -208,11 +209,11 @@ mapAliases ({
   cudnn_cudatoolkit_9_2 = throw "cudnn_cudatoolkit_9_2 has been removed in favor of newer versions"; # Added 2021-04-18
 
   cloud-print-connector = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006";
-  cquery = throw "cquery has been removed because it is abandoned by upstream. Consider switching to clangd or ccls instead."; # Added 2020-06-15
+  cquery = throw "cquery has been removed because it is abandoned by upstream. Consider switching to clangd or ccls instead"; # Added 2020-06-15
   cups-googlecloudprint = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006";
   cupsBjnp = throw "'cupsBjnp' has been renamed to/replaced by 'cups-bjnp'"; # Converted to throw 2022-02-22
   cups_filters = throw "'cups_filters' has been renamed to/replaced by 'cups-filters'"; # Converted to throw 2022-02-22
-  curaByDagoma = throw "curaByDagoma has been removed from nixpkgs, because it was unmaintained and dependent on python2 packages."; # Added 2022-01-12
+  curaByDagoma = throw "curaByDagoma has been removed from nixpkgs, because it was unmaintained and dependent on python2 packages"; # Added 2022-01-12
   curaLulzbot = throw "curaLulzbot has been removed due to insufficient upstream support for a modern dependency chain"; # Added 2021-10-23
   cv = throw "'cv' has been renamed to/replaced by 'progress'"; # Converted to throw 2022-02-22
   cvs_fast_export = cvs-fast-export; # Added 2021-06-10
@@ -221,8 +222,8 @@ mapAliases ({
 
   d1x_rebirth = throw "'d1x_rebirth' has been renamed to/replaced by 'dxx-rebirth'"; # Converted to throw 2022-02-22
   d2x_rebirth = throw "'d2x_rebirth' has been renamed to/replaced by 'dxx-rebirth'"; # Converted to throw 2022-02-22
-  dart_dev = throw "Non-stable versions of Dart have been removed."; # Added 2020-01-15
-  dart_old = throw "Non-stable versions of Dart have been removed."; # Added 2020-01-15
+  dart_dev = throw "Non-stable versions of Dart have been removed"; # Added 2020-01-15
+  dart_old = throw "Non-stable versions of Dart have been removed"; # Added 2020-01-15
   dart_stable = dart; # Added 2020-01-15
   dat = nodePackages.dat;
   dbus_daemon = throw "'dbus_daemon' has been renamed to/replaced by 'dbus.daemon'"; # Converted to throw 2022-02-22
@@ -255,7 +256,7 @@ mapAliases ({
   desktop_file_utils = throw "'desktop_file_utils' has been renamed to/replaced by 'desktop-file-utils'"; # Converted to throw 2022-02-22
   devicemapper = throw "'devicemapper' has been renamed to/replaced by 'lvm2'"; # Converted to throw 2022-02-22
   digikam5 = throw "'digikam5' has been renamed to/replaced by 'digikam'"; # Converted to throw 2022-02-22
-  displaycal = throw "displaycal has been removed from nixpkgs, as it hasn't migrated to python3."; # Added 2022-01-12
+  displaycal = throw "displaycal has been removed from nixpkgs, as it hasn't migrated to python3"; # Added 2022-01-12
   dmtx = throw "'dmtx' has been renamed to/replaced by 'dmtx-utils'"; # Converted to throw 2022-02-22
   dnnl = oneDNN; # Added 2020-04-22
   docbook5_xsl = throw "'docbook5_xsl' has been renamed to/replaced by 'docbook_xsl_ns'"; # Converted to throw 2022-02-22
@@ -267,9 +268,9 @@ mapAliases ({
   dotnet-netcore = dotnet-runtime; # Added 2021-10-07
   double_conversion = throw "'double_conversion' has been renamed to/replaced by 'double-conversion'"; # Converted to throw 2022-02-22
   draftsight = throw "draftsight has been removed, no longer available as freeware"; # Added 2020-08-14
-  dvb_apps = throw "dvb_apps has been removed."; # Added 2020-11-03
+  dvb_apps = throw "dvb_apps has been removed"; # Added 2020-11-03
   dwarf_fortress = throw "'dwarf_fortress' has been renamed to/replaced by 'dwarf-fortress'"; # Converted to throw 2022-02-22
-  dwm-git = throw "dwm-git has been removed from nixpkgs, as it had no updates for 2 years not serving it's purpose."; # Added 2021-02-07
+  dwm-git = throw "dwm-git has been removed from nixpkgs, as it had no updates for 2 years not serving it's purpose"; # Added 2021-02-07
   dylibbundler = macdylibbundler; # Added 2021-04-24
 
   ### E ###
@@ -289,7 +290,7 @@ mapAliases ({
   electron_7 = throw "electron_7 has been removed in favor of newer versions"; # added 2022-02-08
   electron_8 = throw "electron_8 has been removed in favor of newer versions"; # added 2022-02-08
 
-  electrum-dash = throw "electrum-dash has been removed from nixpkgs as the project is abandoned."; # Added 2022-01-01
+  electrum-dash = throw "electrum-dash has been removed from nixpkgs as the project is abandoned"; # Added 2022-01-01
 
   # Emacs
   emacs27Packages = emacs27.pkgs; # Added 2020-12-18
@@ -303,40 +304,42 @@ mapAliases ({
 
   enblendenfuse = throw "'enblendenfuse' has been renamed to/replaced by 'enblend-enfuse'"; # Converted to throw 2022-02-22
   encryptr = throw "encryptr was removed because it reached end of life"; # Added 2022-02-06
-  envelope = throw "envelope has been removed from nixpkgs, as it was unmaintained."; # Added 2021-08-05
+  envelope = throw "envelope has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05
   epoxy = libepoxy; # Added 2021-11-11
   esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # Added 2021-04-12
   etcdctl = throw "'etcdctl' has been renamed to/replaced by 'etcd'"; # Converted to throw 2022-02-22
-  euca2tools = throw "euca2ools has been removed because it is unmaintained upstream and still uses python2."; # Added 2022-01-01
-  evilvte = throw "evilvte has been removed from nixpkgs for being unmaintained with security issues and dependant on an old version of vte which was removed."; # Added 2022-01-14
+  euca2tools = throw "euca2ools has been removed because it is unmaintained upstream and still uses python2"; # Added 2022-01-01
+  evilvte = throw "evilvte has been removed from nixpkgs for being unmaintained with security issues and dependant on an old version of vte which was removed"; # Added 2022-01-14
   evolution_data_server = throw "'evolution_data_server' has been renamed to/replaced by 'evolution-data-server'"; # Converted to throw 2022-02-22
   exfat-utils = throw "'exfat-utils' has been renamed to/replaced by 'exfat'"; # Converted to throw 2022-02-22
 
   ### F ###
 
-  facette = throw "facette has been removed."; # Added 2020-01-06
+  facette = throw "facette has been removed"; # Added 2020-01-06
   fast-neural-doodle = throw "fast-neural-doodle has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
   fastnlo = fastnlo_toolkit; # Added 2021-04-24
-  fedora-coreos-config-transpiler = throw "fedora-coreos-config-transpiler has been renamed to 'butane'."; # Added 2021-04-13
-  fetchFromGithub = throw "You meant fetchFromGitHub, with a capital H.";
+  fedora-coreos-config-transpiler = throw "fedora-coreos-config-transpiler has been renamed to 'butane'"; # Added 2021-04-13
+  fetchFromGithub = throw "You meant fetchFromGitHub, with a capital H";
   ffadoFull = throw "'ffadoFull' has been renamed to/replaced by 'ffado'"; # Converted to throw 2022-02-22
-  firefox-esr-68 = throw "Firefox 68 ESR was removed because it reached end of life with its final release 68.12esr on 2020-08-25.";
+  finger_bsd = bsd-finger;
+  fingerd_bsd = bsd-fingerd;
+  firefox-esr-68 = throw "Firefox 68 ESR was removed because it reached end of life with its final release 68.12esr on 2020-08-25";
   firefox-esr-wrapper = throw "'firefox-esr-wrapper' has been renamed to/replaced by 'firefox-esr'"; # Converted to throw 2022-02-22
   firefoxWrapper = throw "'firefoxWrapper' has been renamed to/replaced by 'firefox'"; # Converted to throw 2022-02-22
   firefox-wrapper = throw "'firefox-wrapper' has been renamed to/replaced by 'firefox'"; # Converted to throw 2022-02-22
-  firestr = throw "firestr has been removed."; # Added 2019-12-08
+  firestr = throw "firestr has been removed"; # Added 2019-12-08
   firmwareLinuxNonfree = linux-firmware; # Added 2022-01-09
   fish-foreign-env = throw "fish-foreign-env has been replaced with fishPlugins.foreign-env"; # Added 2020-12-29, modified 2021-01-10
   flameGraph = throw "'flameGraph' has been renamed to/replaced by 'flamegraph'"; # Converted to throw 2022-02-22
-  flashplayer-standalone-debugger = throw "flashplayer-standalone-debugger has been removed as Adobe Flash Player is now deprecated."; # Added 2021-02-07
-  flashplayer-standalone = throw "flashplayer-standalone has been removed as Adobe Flash Player is now deprecated."; # Added 2021-02-07
-  flashplayer = throw "flashplayer has been removed as Adobe Flash Player is now deprecated."; # Added 2021-02-07
+  flashplayer-standalone-debugger = throw "flashplayer-standalone-debugger has been removed as Adobe Flash Player is now deprecated"; # Added 2021-02-07
+  flashplayer-standalone = throw "flashplayer-standalone has been removed as Adobe Flash Player is now deprecated"; # Added 2021-02-07
+  flashplayer = throw "flashplayer has been removed as Adobe Flash Player is now deprecated"; # Added 2021-02-07
   flashtool = throw "flashtool was removed from nixpkgs, because the download is down for copyright reasons and the site looks very fishy"; # Added 2021-06-31
   flink_1_5 = throw "flink_1_5 was removed, use flink instead"; # Added 2021-01-25
-  flutter-beta = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # Added 2020-01-15
-  flutter-dev = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # Added 2020-01-15
-  flvtool2 = throw "flvtool2 has been removed."; # Added 2020-11-03
-  fme = throw "fme was removed, because it is old and uses Glade, a discontinued library."; # Added 2022-01-26
+  flutter-beta = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions"; # Added 2020-01-15
+  flutter-dev = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions"; # Added 2020-01-15
+  flvtool2 = throw "flvtool2 has been removed"; # Added 2020-11-03
+  fme = throw "fme was removed, because it is old and uses Glade, a discontinued library"; # Added 2022-01-26
   foldingathome = fahclient; # Added 2020-09-03
   font-awesome-ttf = throw "'font-awesome-ttf' has been renamed to/replaced by 'font-awesome'"; # Converted to throw 2022-02-22
 
@@ -356,7 +359,7 @@ mapAliases ({
   '';
 
   foomatic_filters = throw "'foomatic_filters' has been renamed to/replaced by 'foomatic-filters'"; # Converted to throw 2022-02-22
-  fscryptctl-experimental = throw "The package fscryptctl-experimental has been removed. Please switch to fscryptctl."; # Added 2021-11-07
+  fscryptctl-experimental = throw "The package fscryptctl-experimental has been removed. Please switch to fscryptctl"; # Added 2021-11-07
   fsharp41 = throw "fsharp41 has been removed, please use dotnet-sdk_5 or later";
   fslint = throw "fslint has been removed: end of life. Upstream recommends using czkawka (https://qarmin.github.io/czkawka/) instead"; # Added 2022-01-15
   fuse_exfat = throw "'fuse_exfat' has been renamed to/replaced by 'exfat'"; # Converted to throw 2022-02-22
@@ -367,15 +370,15 @@ mapAliases ({
 
   g4py = python3Packages.geant4; # Added 2020-06-06
   gaia = throw "gaia has been removed because it seems abandoned upstream and uses no longer supported dependencies"; # Added 2020-06-06
-  gdal_1_11 = throw "gdal_1_11 was removed. Use gdal instead."; # Added 2021-04-03
+  gdal_1_11 = throw "gdal_1_11 was removed. Use gdal instead"; # Added 2021-04-03
   gdb-multitarget = throw "'gdb-multitarget' has been renamed to/replaced by 'gdb'"; # Converted to throw 2022-02-22
   gdk_pixbuf = throw "'gdk_pixbuf' has been renamed to/replaced by 'gdk-pixbuf'"; # Converted to throw 2022-02-22
-  getmail = throw "getmail has been removed from nixpkgs, migrate to getmail6."; # Added 2022-01-12
+  getmail = throw "getmail has been removed from nixpkgs, migrate to getmail6"; # Added 2022-01-12
   gettextWithExpat = throw "'gettextWithExpat' has been renamed to/replaced by 'gettext'"; # Converted to throw 2022-02-22
   gfm = throw "gfm has been removed"; # Added 2021-01-15
-  giblib = throw " giblib has been removed from nixpkgs because upstream is gone."; # Added 2022-01-23
+  giblib = throw " giblib has been removed from nixpkgs because upstream is gone"; # Added 2022-01-23
   giflib_4_1 = throw "giflib_4_1 has been removed; use giflib instead"; # Added 2020-02-12
-  git-bz = throw "giz-bz has been removed from nixpkgs as it is stuck on python2."; # Added 2022-01-01
+  git-bz = throw "giz-bz has been removed from nixpkgs as it is stuck on python2"; # Added 2022-01-01
 
   gitAndTools = self // {
     darcsToGit = darcs-to-git;
@@ -388,19 +391,19 @@ mapAliases ({
   }; # Added 2021-01-14
 
   gitin = throw "gitin has been remove because it was unmaintained and depended on an insecure version of libgit2"; # Added 2021-12-07
-  gitinspector = throw "gitinspector has been removed because it doesn't work with python3."; # Added 2022-01-12
+  gitinspector = throw "gitinspector has been removed because it doesn't work with python3"; # Added 2022-01-12
   gksu = throw "gksu has been removed"; # Added 2022-01-16
   glib_networking = throw "'glib_networking' has been renamed to/replaced by 'glib-networking'"; # Converted to throw 2022-02-22
   gmailieer = lieer; # Added 2020-04-19
   gmic_krita_qt = gmic-qt-krita; # Added 2019-09-07
   gmvault = throw "gmvault has been removed because it is unmaintained, mostly broken, and insecure"; # Added 2021-03-08
-  gnash = throw "gnash has been removed; broken and abandoned upstream."; # added 2022-02-06
+  gnash = throw "gnash has been removed; broken and abandoned upstream"; # added 2022-02-06
   gnome-passwordsafe = gnome-secrets; # added 2022-01-30
   gnome-mpv = celluloid; # Added 2019-08-22
   gnome-sharp = throw "gnome-sharp has been removed from nixpkgs"; # Added 2022-01-15
   gnome-themes-standard = throw "'gnome-themes-standard' has been renamed to/replaced by 'gnome-themes-extra'"; # Converted to throw 2022-02-22
   gnome_user_docs = gnome-user-docs; # Added 2019-11-20
-  gnome15 = throw "gnome15 has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries."; # Added 2019-12-10
+  gnome15 = throw "gnome15 has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries"; # Added 2019-12-10
   gnome_doc_utils = throw "'gnome_doc_utils' has been renamed to/replaced by 'gnome-doc-utils'"; # Converted to throw 2022-02-22
   gnome_themes_standard = throw "'gnome_themes_standard' has been renamed to/replaced by 'gnome-themes-standard'"; # Converted to throw 2022-02-22
 
@@ -437,8 +440,8 @@ mapAliases ({
   gpgstats = throw "gpgstats has been removed: upstream is gone"; # Added 2022-02-06
 
   graalvm11 = graalvm11-ce;
-  graalvm8-ce = throw "graalvm8-ce has been removed by upstream."; # Added 2021-10-19
-  graalvm8 = throw "graalvm8-ce has been removed by upstream."; # Added 2021-10-19
+  graalvm8-ce = throw "graalvm8-ce has been removed by upstream"; # Added 2021-10-19
+  graalvm8 = throw "graalvm8-ce has been removed by upstream"; # Added 2021-10-19
   gr-ais = gnuradio3_7.pkgs.ais; # Added 2019-05-27, changed 2020-10-16
   grantlee5 = throw "'grantlee5' has been renamed to/replaced by 'libsForQt5.grantlee'"; # Converted to throw 2022-02-22
   gr-gsm = gnuradio3_7.pkgs.gsm; # Added 2019-05-27, changed 2020-10-16
@@ -467,23 +470,23 @@ mapAliases ({
 
   ### H ###
 
-  hal-flash = throw "hal-flash has been removed as Adobe Flash Player is now deprecated."; # Added 2021-02-07
+  hal-flash = throw "hal-flash has been removed as Adobe Flash Player is now deprecated"; # Added 2021-02-07
   hawkthorne = throw "hawkthorne has been removed because it depended on a broken version of love"; # Added 2022-01-15
   heimdalFull = throw "'heimdalFull' has been renamed to/replaced by 'heimdal'"; # Converted to throw 2022-02-22
   heme = throw "heme has been removed: upstream is gone"; # added 2022-02-06
   hepmc = hepmc2; # Added 2019-08-05
-  hexen = throw "hexen (SDL port) has been removed: abandoned by upstream."; # Added 2019-12-11
+  hexen = throw "hexen (SDL port) has been removed: abandoned by upstream"; # Added 2019-12-11
   hicolor_icon_theme = throw "'hicolor_icon_theme' has been renamed to/replaced by 'hicolor-icon-theme'"; # Converted to throw 2022-02-22
   holochain-go = throw "holochain-go was abandoned by upstream"; # Added 2022-01-01
   htmlTidy = throw "'htmlTidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22
   ht-rust = xh; # Added 2021-02-13
-  hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra-unstable` now."; # Added 2020-04-06
+  hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra-unstable` now"; # Added 2020-04-06
 
   ### I ###
 
   iana_etc = throw "'iana_etc' has been renamed to/replaced by 'iana-etc'"; # Converted to throw 2022-02-22
   iasl = throw "iasl has been removed, use acpica-tools instead"; # Added 2021-08-08
-  icecat-bin = throw "icecat-bin has been removed, the binary builds are not maintained upstream."; # Added 2022-02-15
+  icecat-bin = throw "icecat-bin has been removed, the binary builds are not maintained upstream"; # Added 2022-02-15
   icedtea8_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
   icedtea_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
   idea = throw "'idea' has been renamed to/replaced by 'jetbrains'"; # Converted to throw 2022-02-22
@@ -492,10 +495,10 @@ mapAliases ({
   imagemagick7 = imagemagick; # Added 2021-02-22
   imagemagick7_light = imagemagick_light; # Added 2021-02-22
   impressive = throw "impressive has been removed due to lack of released python 2 support and maintainership in nixpkgs"; # Added 2022-01-27
-  i-score = throw "i-score has been removed: abandoned upstream."; # Added 2020-11-21
-  inboxer = throw "inboxer has been removed as it is no longer maintained and no longer works as Google shut down the inbox service this package wrapped.";
+  i-score = throw "i-score has been removed: abandoned upstream"; # Added 2020-11-21
+  inboxer = throw "inboxer has been removed as it is no longer maintained and no longer works as Google shut down the inbox service this package wrapped";
   infiniband-diags = rdma-core; # Added 2019-08-09
-  ino = throw "ino has been removed from nixpkgs, the project is stuck on python2 and upstream has archived the project."; # Added 2022-01-12
+  ino = throw "ino has been removed from nixpkgs, the project is stuck on python2 and upstream has archived the project"; # Added 2022-01-12
   inotifyTools = inotify-tools;
   inter-ui = inter; # Added 2021-03-27
   iops = throw "iops was removed: upstream is gone"; # Added 2022-02-06
@@ -506,13 +509,13 @@ mapAliases ({
 
 
   jack2Full = jack2; # moved from top-level 2021-03-14
-  jamomacore = throw "jamomacore has been removed: abandoned upstream."; # Added 2020-11-21
+  jamomacore = throw "jamomacore has been removed: abandoned upstream"; # Added 2020-11-21
   jbidwatcher = throw "jbidwatcher was discontinued in march 2021"; # Added 2021-03-15
   jbuilder = throw "'jbuilder' has been renamed to/replaced by 'dune_1'"; # Converted to throw 2022-02-22
-  jellyfin_10_5 = throw "Jellyfin 10.5 is no longer supported and contains a security vulnerability. Please upgrade to a newer version."; # Added 2021-04-26
+  jellyfin_10_5 = throw "Jellyfin 10.5 is no longer supported and contains a security vulnerability. Please upgrade to a newer version"; # Added 2021-04-26
   jikes = throw "jikes was deprecated on 2019-10-07: abandoned by upstream";
   joseki = throw "'joseki' has been renamed to/replaced by 'apache-jena-fuseki'"; # Converted to throw 2022-02-22
-  journalbeat7 = throw "journalbeat has been removed upstream. Use filebeat with the journald input instead.";
+  journalbeat7 = throw "journalbeat has been removed upstream. Use filebeat with the journald input instead";
 
   # Julia
   julia_07 = throw "julia_07 has been deprecated in favor of the latest LTS version"; # Added 2020-09-15
@@ -537,18 +540,18 @@ mapAliases ({
   keepassx-community = throw "'keepassx-community' has been renamed to/replaced by 'keepassxc'"; # Converted to throw 2022-02-22
   keepassx-reboot = throw "'keepassx-reboot' has been renamed to/replaced by 'keepassx-community'"; # Converted to throw 2022-02-22
   keepassx2-http = throw "'keepassx2-http' has been renamed to/replaced by 'keepassx-reboot'"; # Converted to throw 2022-02-22
-  keepnote = throw "keepnote has been removed from nixpkgs, as it is stuck on python2."; # Added 2022-01-01
+  keepnote = throw "keepnote has been removed from nixpkgs, as it is stuck on python2"; # Added 2022-01-01
   kerberos = libkrb5; # moved from top-level 2021-03-14
   kexectools = kexec-tools; # Added 2021-09-03
   keybase-go = throw "'keybase-go' has been renamed to/replaced by 'keybase'"; # Converted to throw 2022-02-22
-  keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived."; # Added 2019-12-10
+  keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived"; # Added 2019-12-10
   keysmith = libsForQt5.plasmaMobileGear.keysmith; # Added 2021-07-14
   kibana7-oss = throw "kibana7-oss has been removed, as the distribution is no longer provided by upstream. https://github.com/NixOS/nixpkgs/pull/114456"; # Added 2021-06-09
   kicad-with-packages3d = kicad; # Added 2019-11-25
-  kindlegen = throw "kindlegen has been removed from nixpkgs, as it's abandoned and no longer available for download."; # Added 2021-03-09
-  kinetic-cpp-client = throw "kinetic-cpp-client has been removed from nixpkgs, as it's abandoned."; # Added 2020-04-28
+  kindlegen = throw "kindlegen has been removed from nixpkgs, as it's abandoned and no longer available for download"; # Added 2021-03-09
+  kinetic-cpp-client = throw "kinetic-cpp-client has been removed from nixpkgs, as it's abandoned"; # Added 2020-04-28
   kino = throw "kino has been removed because it was broken and abandoned"; # Added 2021-04-25
-  knockknock = throw "knockknock has been removed from nixpkgs because the upstream project is abandoned."; # Added 2022-01-01
+  knockknock = throw "knockknock has been removed from nixpkgs because the upstream project is abandoned"; # Added 2022-01-01
   kodiGBM = kodi-gbm;
   kodiPlain = kodi;
   kodiPlainWayland = kodi-wayland;
@@ -570,8 +573,8 @@ mapAliases ({
   libcap_manpages = throw "'libcap_manpages' has been renamed to/replaced by 'libcap.doc'"; # Converted to throw 2022-02-22
   libcap_pam = if stdenv.isLinux then libcap.pam else null; # Added 2016-04-29
   libcap_progs = throw "'libcap_progs' has been renamed to/replaced by 'libcap.out'"; # Converted to throw 2022-02-22
-  libco-canonical = throw "libco-canonical: Canonical deleted the repo, libco-canonical is not used anymore."; # Added 2021-05-16
-  libcroco = throw "libcroco has been removed as it's no longer used in any derivations."; # Added 2020-03-04
+  libco-canonical = throw "libco-canonical: Canonical deleted the repo, libco-canonical is not used anymore"; # Added 2021-05-16
+  libcroco = throw "libcroco has been removed as it's no longer used in any derivations"; # Added 2020-03-04
   libdbusmenu-glib = throw "'libdbusmenu-glib' has been renamed to/replaced by 'libdbusmenu'"; # Converted to throw 2022-02-22
   libdbusmenu_qt5 = throw "'libdbusmenu_qt5' has been renamed to/replaced by 'libsForQt5.libdbusmenu'"; # Converted to throw 2022-02-22
   liberation_ttf_v1_from_source = throw "'liberation_ttf_v1_from_source' has been renamed to/replaced by 'liberation_ttf_v1'"; # Converted to throw 2022-02-22
@@ -589,7 +592,7 @@ mapAliases ({
   libintlOrEmpty = lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # Added 2018-03-14
   libjpeg_drop = libjpeg_original; # Added 2020-06-05
   libjson_rpc_cpp = throw "'libjson_rpc_cpp' has been renamed to/replaced by 'libjson-rpc-cpp'"; # Converted to throw 2022-02-22
-  libkml = throw "libkml has been removed from nixpkgs, as it's abandoned and no package needed it."; # Added 2021-11-09
+  libkml = throw "libkml has been removed from nixpkgs, as it's abandoned and no package needed it"; # Added 2021-11-09
   liblapackWithoutAtlas = throw "'liblapackWithoutAtlas' has been renamed to/replaced by 'lapack-reference'"; # Converted to throw 2022-02-22
   liblastfm = libsForQt5.liblastfm; # Added 2020-06-14
   liblrdf = throw "'liblrdf' has been renamed to/replaced by 'lrdf'"; # Converted to throw 2022-02-22
@@ -601,8 +604,8 @@ mapAliases ({
   librecad2 = throw "'librecad2' has been renamed to/replaced by 'librecad'"; # Converted to throw 2022-02-22
   librsync_0_9 = throw "librsync_0_9 has been removed"; # Added 2021-07-24
   libseat = seatd; # Added 2021-06-24
-  libsexy = throw "libsexy has been removed from nixpkgs, as it's abandoned and no package needed it."; # Added 2019-12-10
-  libstdcxxHook = throw "libstdcxx hook has been removed because cc-wrapper is now directly aware of the c++ standard library intended to be used."; # Added 2020-06-22
+  libsexy = throw "libsexy has been removed from nixpkgs, as it's abandoned and no package needed it"; # Added 2019-12-10
+  libstdcxxHook = throw "libstdcxx hook has been removed because cc-wrapper is now directly aware of the c++ standard library intended to be used"; # Added 2020-06-22
   libsysfs = throw "'libsysfs' has been renamed to/replaced by 'sysfsutils'"; # Converted to throw 2022-02-22
   libtidy = throw "'libtidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22
   libtorrentRasterbar = libtorrent-rasterbar; # Added 2020-12-20
@@ -618,10 +621,10 @@ mapAliases ({
   libva1-full = throw "'libva1-full' has been renamed to/replaced by 'libva1'"; # Converted to throw 2022-02-22
   libwnck3 = libwnck;
   lilypond-unstable = lilypond; # Added 2021-03-11
-  lilyterm = throw "lilyterm has been removed from nixpkgs, because it was relying on a vte version that depended on python2."; # Added 2022-01-14
-  lilyterm-git = throw "lilyterm-git has been removed from nixpkgs, because it was relying on a vte version that depended on python2."; # Added 2022-01-14
+  lilyterm = throw "lilyterm has been removed from nixpkgs, because it was relying on a vte version that depended on python2"; # Added 2022-01-14
+  lilyterm-git = throw "lilyterm-git has been removed from nixpkgs, because it was relying on a vte version that depended on python2"; # Added 2022-01-14
   links = throw "'links' has been renamed to/replaced by 'links2'"; # Converted to throw 2022-02-22
-  linuxband = throw "linuxband has been removed from nixpkgs, as it's abandoned upstream."; # Added 2021-12-09
+  linuxband = throw "linuxband has been removed from nixpkgs, as it's abandoned upstream"; # Added 2021-12-09
 
   # Linux kernels
   linux-rt_5_10 = linuxKernel.kernels.linux_rt_5_10;
@@ -696,7 +699,7 @@ mapAliases ({
   lua5_1_sockets = throw "'lua5_1_sockets' has been renamed to/replaced by 'lua51Packages.luasocket'"; # Converted to throw 2022-02-22
   lua5_expat = throw "'lua5_expat' has been renamed to/replaced by 'luaPackages.luaexpat'"; # Converted to throw 2022-02-22
   lua5_sec = throw "'lua5_sec' has been renamed to/replaced by 'luaPackages.luasec'"; # Converted to throw 2022-02-22
-  lumpy = throw "lumpy has been removed from nixpkgs, as it is stuck on python2."; # Added 2022-01-12
+  lumpy = throw "lumpy has been removed from nixpkgs, as it is stuck on python2"; # Added 2022-01-12
   lxappearance-gtk3 = throw "lxappearance-gtk3 has been removed. Use lxappearance instead, which now defaults to Gtk3"; # Added 2020-06-03
   lzma = xz; # moved from top-level 2021-03-14
 
@@ -704,7 +707,7 @@ mapAliases ({
 
   m3d-linux = throw "'m3d-linux' has been renamed to/replaced by 'm33-linux'"; # Converted to throw 2022-02-22
   mail-notification = throw "mail-notification has been removed from nixpkgs, as it's unmaintained and has dependencies on old gnome libraries we want to remove"; # Added 2021-08-21
-  mailpile = throw "mailpile was removed from nixpkgs, as it is stuck on python2."; # Added 2022-01-12
+  mailpile = throw "mailpile was removed from nixpkgs, as it is stuck on python2"; # Added 2022-01-12
   man_db = throw "'man_db' has been renamed to/replaced by 'man-db'"; # Converted to throw 2022-02-22
   manpages = throw "'manpages' has been renamed to/replaced by 'man-pages'"; # Converted to throw 2022-02-22
   marathon = throw "marathon has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15
@@ -721,11 +724,11 @@ mapAliases ({
   mercurial_4 = throw "mercurial_4 has been removed as it's unmaintained"; # Added 2021-10-18
   mesos = throw "mesos has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15
   mess = mame; # Added 2019-10-30
-  metamorphose2 = throw "metamorphose2 has been removed from nixpkgs, as it was stuck on python2."; # Added 2022-01-12
-  mididings = throw "mididings has been removed from nixpkgs as it doesn't support recent python3 versions and its upstream stopped maintaining it."; # Added 2022-01-12
+  metamorphose2 = throw "metamorphose2 has been removed from nixpkgs, as it was stuck on python2"; # Added 2022-01-12
+  mididings = throw "mididings has been removed from nixpkgs as it doesn't support recent python3 versions and its upstream stopped maintaining it"; # Added 2022-01-12
   midoriWrapper = throw "'midoriWrapper' has been renamed to/replaced by 'midori'"; # Converted to throw 2022-02-22
   mime-types = mailcap; # Added 2022-01-21
-  mimms = throw "mimms has been removed from nixpkgs as the upstream project is stuck on python2."; # Added 2022-01-01
+  mimms = throw "mimms has been removed from nixpkgs as the upstream project is stuck on python2"; # Added 2022-01-01
   minergate-cli = throw "minergatecli has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # Added 2021-08-13
   minergate = throw "minergate has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # Added 2021-08-13
   minetime = throw "minetime has been removed from nixpkgs, because it was discontinued 2021-06-22"; # Added 2021-10-14
@@ -733,13 +736,13 @@ mapAliases ({
   mist = throw "mist has been removed as the upstream project has been abandoned, see https://github.com/ethereum/mist#mist-browser-deprecated"; # Added 2020-08-15
   mlt-qt5 = throw "'mlt-qt5' has been renamed to/replaced by 'libsForQt5.mlt'"; # Converted to throw 2022-02-22
   mobile_broadband_provider_info = throw "'mobile_broadband_provider_info' has been renamed to/replaced by 'mobile-broadband-provider-info'"; # Converted to throw 2022-02-22
-  moby = throw "moby has been removed, merged into linuxkit in 2018.  Use linuxkit instead.";
+  moby = throw "moby has been removed, merged into linuxkit in 2018.  Use linuxkit instead";
   module_init_tools = throw "'module_init_tools' has been renamed to/replaced by 'kmod'"; # Converted to throw 2022-02-22
   monero = monero-cli; # Added 2021-11-28
   monodevelop = throw "monodevelop has been removed from nixpgks"; # Added 2022-01-15
   mopidy-gmusic = throw "mopidy-gmusic has been removed because Google Play Music was discontinued"; # Added 2021-03-07
-  mopidy-local-images = throw "mopidy-local-images has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension."; # Added 2020-10-18
-  mopidy-local-sqlite = throw "mopidy-local-sqlite has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension."; # Added 2020-10-18
+  mopidy-local-images = throw "mopidy-local-images has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension"; # Added 2020-10-18
+  mopidy-local-sqlite = throw "mopidy-local-sqlite has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension"; # Added 2020-10-18
 
   morituri = throw "'morituri' has been renamed to/replaced by 'whipper'"; # Converted to throw 2022-02-22
   mozart-binary = mozart2-binary; # Added 2019-09-23
@@ -768,7 +771,7 @@ mapAliases ({
   mumsi = throw "mumsi has been removed from nixpkgs, as it's unmaintained and does not build anymore"; # Added 2021-11-18
   mupen64plus1_5 = throw "'mupen64plus1_5' has been renamed to/replaced by 'mupen64plus'"; # Converted to throw 2022-02-22
   mx = throw "graalvm8 and its tools were deprecated in favor of graalvm8-ce"; # Added 2021-10-15
-  mxisd = throw "mxisd has been removed from nixpkgs as it has reached end of life, see https://github.com/kamax-matrix/mxisd/blob/535e0a5b96ab63cb0ddef90f6f42c5866407df95/EOL.md#end-of-life-notice . ma1sd may be a suitable alternative."; # Added 2021-04-15
+  mxisd = throw "mxisd has been removed from nixpkgs as it has reached end of life, see https://github.com/kamax-matrix/mxisd/blob/535e0a5b96ab63cb0ddef90f6f42c5866407df95/EOL.md#end-of-life-notice . ma1sd may be a suitable alternative"; # Added 2021-04-15
   mysqlWorkbench = throw "'mysqlWorkbench' has been renamed to/replaced by 'mysql-workbench'"; # Converted to throw 2022-02-22
 
   ### N ###
@@ -812,15 +815,15 @@ mapAliases ({
 
   ### O ###
 
-  oracleXE = throw "oracleXE has been removed, as it's heavily outdated and unmaintained."; # Added 2020-10-09
+  oracleXE = throw "oracleXE has been removed, as it's heavily outdated and unmaintained"; # Added 2020-10-09
   OVMF-CSM = throw "OVMF-CSM has been removed in favor of OVMFFull"; # Added 2021-10-16
   OVMF-secureBoot = throw "OVMF-secureBoot has been removed in favor of OVMFFull"; # Added 2021-10-16
   oauth2_proxy = oauth2-proxy; # Added 2021-04-18
-  oblogout = throw "oblogout has been removed from nixpkgs, as it's archived upstream."; # Added 2019-12-10
-  octoprint-plugins = throw "octoprint-plugins are now part of the octoprint.python.pkgs package set."; # Added 2021-01-24
+  oblogout = throw "oblogout has been removed from nixpkgs, as it's archived upstream"; # Added 2019-12-10
+  octoprint-plugins = throw "octoprint-plugins are now part of the octoprint.python.pkgs package set"; # Added 2021-01-24
   ocz-ssd-guru = throw "ocz-ssd-guru has been removed due to there being no source available"; # Added 2021-07-12
   ofp = throw "ofp is not compatible with odp-dpdk";
-  olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained."; # Added 2021-08-05
+  olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05
   onnxruntime = throw "onnxruntime has been removed due to poor maintainability"; # Added 2020-12-04
   openbazaar = throw "openbazzar has been removed from nixpkgs as upstream has abandoned the project"; # Added 2022-01-06
   openbazaar-client = throw "openbazzar-client has been removed from nixpkgs as upstream has abandoned the project"; # Added 2022-01-06
@@ -836,7 +839,7 @@ mapAliases ({
   opensans-ttf = throw "'opensans-ttf' has been renamed to/replaced by 'open-sans'"; # Converted to throw 2022-02-22
   openssh_with_kerberos = throw "'openssh_with_kerberos' has been renamed to/replaced by 'openssh'"; # Converted to throw 2022-02-22
   orchis = orchis-theme; # Added 2021-06-09
-  osquery = throw "osquery has been removed."; # Added 2019-11-24
+  osquery = throw "osquery has been removed"; # Added 2019-11-24
   osxfuse = macfuse-stubs; # Added 2021-03-20
   otter-browser = throw "otter-browser has been removed from nixpkgs, as it was unmaintained"; # Added 2020-02-02
   owncloudclient = throw "'owncloudclient' has been renamed to/replaced by 'owncloud-client'"; # Converted to throw 2022-02-22
@@ -854,7 +857,7 @@ mapAliases ({
   pass-otp = throw "'pass-otp' has been renamed to/replaced by 'pass.withExtensions'"; # Converted to throw 2022-02-22
   pdfmod = throw "pdfmod has been removed"; # Added 2022-01-15
   pdfread = throw "pdfread has been remove because it is unmaintained for years and the sources are no longer available"; # Added 2021-07-22
-  pdf-redact-tools = throw "pdf-redact-tools has been removed from nixpkgs because the upstream has abandoned the project."; # Added 2022-01-01
+  pdf-redact-tools = throw "pdf-redact-tools has been removed from nixpkgs because the upstream has abandoned the project"; # Added 2022-01-01
   pdf2htmlEx = throw "pdf2htmlEx has been removed from nixpkgs, as it was unmaintained"; # Added 2020-11-03
   perlXMLParser = throw "'perlXMLParser' has been renamed to/replaced by 'perlPackages.XMLParser'"; # Converted to throw 2022-02-22
   perlArchiveCpio = throw "'perlArchiveCpio' has been renamed to/replaced by 'perlPackages.ArchiveCpio'"; # Converted to throw 2022-02-22
@@ -865,7 +868,7 @@ mapAliases ({
   phantomjs = throw "phantomjs 1.9.8 has been dropped due to lack of maintenance and security issues"; # Added 2022-02-20
 
   # 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
+  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
   php73Extensions = php73; # Added 2021-06-03
 
@@ -923,17 +926,17 @@ mapAliases ({
   pidginotr = throw "'pidginotr' has been renamed to/replaced by 'pidgin-otr'"; # Converted to throw 2022-02-22
   pidginsipe = throw "'pidginsipe' has been renamed to/replaced by 'pidgin-sipe'"; # Converted to throw 2022-02-22
   pidginwindowmerge = throw "'pidginwindowmerge' has been renamed to/replaced by 'pidgin-window-merge'"; # Converted to throw 2022-02-22
-  pifi = throw "pifi has been removed from nixpkgs, as it is no longer developed."; # Added 2022-01-19
+  pifi = throw "pifi has been removed from nixpkgs, as it is no longer developed"; # Added 2022-01-19
   piwik = throw "'piwik' has been renamed to/replaced by 'matomo'"; # Converted to throw 2022-02-22
   pkgconfig = pkg-config; # Added 2018-02-02, moved to aliases.nix 2021-01-18
   pkgconfigUpstream = throw "'pkgconfigUpstream' has been renamed to/replaced by 'pkg-configUpstream'"; # Converted to throw 2022-02-22
-  planner = throw "planner has been removed from nixpkgs, as it is no longer developed and still uses python2/PyGTK."; # Added 2021-02-02
+  planner = throw "planner has been removed from nixpkgs, as it is no longer developed and still uses python2/PyGTK"; # Added 2021-02-02
   pleroma-otp = pleroma; # Added 2021-07-10
   plexpy = throw "'plexpy' has been renamed to/replaced by 'tautulli'"; # Converted to throw 2022-02-22
   pltScheme = racket; # just to be sure
   pmtools = throw "'pmtools' has been renamed to/replaced by 'acpica-tools'"; # Converted to throw 2022-02-22
   polarssl = throw "'polarssl' has been renamed to/replaced by 'mbedtls'"; # Converted to throw 2022-02-22
-  polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project."; # Added 2022-01-01
+  polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
   poppler_qt5 = throw "'poppler_qt5' has been renamed to/replaced by 'libsForQt5.poppler'"; # Converted to throw 2022-02-22
 
   # postgresql
@@ -958,40 +961,40 @@ mapAliases ({
   tlauncher = throw "tlauncher has been removed because there questionable practices and legality concerns";
   tsearch_extras = postgresqlPackages.tsearch_extras;
 
-  phonon = throw "phonon: Please use libsForQt5.phonon, as Qt4 support in this package has been removed."; # Added 2019-11-22
-  phonon-backend-gstreamer = throw "phonon-backend-gstreamer: Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed."; # Added 2019-11-22
-  phonon-backend-vlc = throw "phonon-backend-vlc: Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed."; # Added 2019-11-22
+  phonon = throw "phonon: Please use libsForQt5.phonon, as Qt4 support in this package has been removed"; # Added 2019-11-22
+  phonon-backend-gstreamer = throw "phonon-backend-gstreamer: Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed"; # Added 2019-11-22
+  phonon-backend-vlc = throw "phonon-backend-vlc: Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed"; # Added 2019-11-22
   pinentry_curses = pinentry-curses; # Added 2019-10-14
   pinentry_emacs = pinentry-emacs; # Added 2019-10-14
   pinentry_gnome = pinentry-gnome; # Added 2019-10-14
   pinentry_gtk2 = pinentry-gtk2; # Added 2019-10-14
   pinentry_qt = pinentry-qt; # Added 2019-10-14
   pinentry_qt5 = pinentry-qt; # Added 2020-02-11
-  pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package."; # Added 2019-12-10
+  pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package"; # Added 2019-12-10
   privateer = throw "privateer was removed because it was broken"; # Added 2021-05-18
   processing3 = processing; # Added 2019-08-16
   procps-ng = throw "'procps-ng' has been renamed to/replaced by 'procps'"; # Converted to throw 2022-02-22
   proglodyte-wasm = throw "proglodyte-wasm has been removed from nixpkgs, because it is unmaintained since 5 years with zero github stars"; # Added 2021-06-30
-  proj_5 = throw "Proj-5 has been removed from nixpkgs, use proj instead."; # Added 2021-04-12
-  prometheus-cups-exporter = throw "outdated and broken by design; removed by developer."; # Added 2021-03-16
+  proj_5 = throw "Proj-5 has been removed from nixpkgs, use proj instead"; # Added 2021-04-12
+  prometheus-cups-exporter = throw "outdated and broken by design; removed by developer"; # Added 2021-03-16
   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 = 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
   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";
   pybind11 = throw "pybind11 was removed because pythonPackages.pybind11 for the appropriate version of Python should be used"; # Added 2021-05-14
-  pybitmessage = throw "pybitmessage was removed from nixpkgs as it is stuck on python2."; # Added 2022-01-01
+  pybitmessage = throw "pybitmessage was removed from nixpkgs as it is stuck on python2"; # Added 2022-01-01
   pygmentex = texlive.bin.pygmentex; # Added 2019-12-15
-  pyload = throw "pyload has been removed from nixpkgs, as it was unmaintained."; # Added 2021-03-21
-  pynagsystemd = throw "pynagsystemd was removed as it was unmaintained and incompatible with recent systemd versions. Instead use its fork check_systemd."; # Added 2020-10-24
+  pyload = throw "pyload has been removed from nixpkgs, as it was unmaintained"; # Added 2021-03-21
+  pynagsystemd = throw "pynagsystemd was removed as it was unmaintained and incompatible with recent systemd versions. Instead use its fork check_systemd"; # Added 2020-10-24
   pyo3-pack = maturin;
-  pyrex = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2."; # Added 2022-01-12
-  pyrex095 = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2."; # Added 2022-01-12
-  pyrex096 = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2."; # Added 2022-01-12
-  pyrit = throw "pyrit has been removed from nixpkgs as the project is still stuck on python2."; # Added 2022-01-01
+  pyrex = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2"; # Added 2022-01-12
+  pyrex095 = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2"; # Added 2022-01-12
+  pyrex096 = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2"; # Added 2022-01-12
+  pyrit = throw "pyrit has been removed from nixpkgs as the project is still stuck on python2"; # Added 2022-01-01
   python = python2; # Added 2022-01-11
   python-swiftclient = swiftclient; # Added 2021-09-09
-  python2nix = throw "python2nix has been removed as it is outdated. Use e.g. nixpkgs-pytools instead."; # Added 2021-03-08
+  python2nix = throw "python2nix has been removed as it is outdated. Use e.g. nixpkgs-pytools instead"; # Added 2021-03-08
   pythonFull = python2Full; # Added 2022-01-11
   pythonPackages = python.pkgs; # Added 2022-01-11
 
@@ -1011,8 +1014,8 @@ mapAliases ({
   quagga = throw "quagga is no longer maintained upstream"; # Added 2021-04-22
   quake3game = throw "'quake3game' has been renamed to/replaced by 'ioquake3'"; # Converted to throw 2022-02-22
   quaternion-git = throw "quaternion-git has been removed in favor of the stable version 'quaternion'"; # Added 2020-04-09
-  quilter = throw "quilter has been removed from nixpkgs, as it was unmaintained."; # Added 2021-08-03
-  qvim = throw "qvim has been removed."; # Added 2020-08-31
+  quilter = throw "quilter has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-03
+  qvim = throw "qvim has been removed"; # Added 2020-08-31
   qweechat = throw "qweechat has been removed because it was broken"; # Added 2021-03-08
   qwt6 = throw "'qwt6' has been renamed to/replaced by 'libsForQt5.qwt'"; # Converted to throw 2022-02-22
 
@@ -1020,8 +1023,8 @@ mapAliases ({
 
   radare2-cutter = cutter; # Added 2021-03-30
   raspberrypi-tools = throw "raspberrypi-tools has been removed in favor of identical 'libraspberrypi'"; # Added 2020-12-24
-  rawdog = throw "rawdog has been removed from nixpkgs as it still requires python2."; # Added 2022-01-01
-  rdf4store = throw "rdf4store has been removed from nixpkgs."; # Added 2019-12-21
+  rawdog = throw "rawdog has been removed from nixpkgs as it still requires python2"; # Added 2022-01-01
+  rdf4store = throw "rdf4store has been removed from nixpkgs"; # Added 2019-12-21
   rdiff_backup = throw "'rdiff_backup' has been renamed to/replaced by 'rdiff-backup'"; # Converted to throw 2022-02-22
   rdmd = throw "'rdmd' has been renamed to/replaced by 'dtools'"; # Converted to throw 2022-02-22
   readline5 = throw "readline-5 is no longer supported in nixpkgs, please use 'readline' for main supported version"; # Added 2022-02-20
@@ -1030,7 +1033,7 @@ mapAliases ({
   recordmydesktop = throw "recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # Added 2019-12-10
   redkite = throw "redkite was archived by upstream"; # Added 2021-04-12
   redshift-wlr = throw "redshift-wlr has been replaced by gammastep"; # Added 2021-12-25
-  renpy = throw "renpy has been removed from nixpkgs, it was unmaintained and the latest packaged version required python2."; # Added 2022-01-12
+  renpy = throw "renpy has been removed from nixpkgs, it was unmaintained and the latest packaged version required python2"; # Added 2022-01-12
   residualvm = throw "residualvm was merged to scummvm code in 2018-06-15; consider using scummvm"; # Added 2021-11-27
   retroArchCores = throw "retroArchCores has been removed. Please use overrides instead, e.g.: `retroarch.override { cores = with libretro; [ ... ]; }`"; # Added 2021-11-19
   retroshare06 = retroshare;
@@ -1041,6 +1044,7 @@ mapAliases ({
   rkt = throw "rkt was archived by upstream"; # Added 2020-05-16
   rng_tools = throw "'rng_tools' has been renamed to/replaced by 'rng-tools'"; # Converted to throw 2022-02-22
   robomongo = throw "'robomongo' has been renamed to/replaced by 'robo3t'"; # Converted to throw 2022-02-22
+  rockbox_utility = rockbox-utility; # Added 2022-03-17
   rocm-runtime-ext = throw "rocm-runtime-ext has been removed, since its functionality was added to rocm-runtime"; #added 2020-08-21
   rpiboot-unstable = rpiboot; # Added 2021-07-30
   rssglx = throw "'rssglx' has been renamed to/replaced by 'rss-glx'"; # Converted to throw 2022-02-22
@@ -1083,14 +1087,14 @@ mapAliases ({
   sepolgen = throw "sepolgen was merged into selinux-python"; # Added 2021-11-11
   shared_mime_info = throw "'shared_mime_info' has been renamed to/replaced by 'shared-mime-info'"; # Converted to throw 2022-02-22
   shellinabox = throw "shellinabox has been removed from nixpkgs, as it was unmaintained upstream"; # Added 2021-12-15
-  sickbeard = throw "sickbeard has been removed from nixpkgs, as it was unmaintained."; # Added 2022-01-01
-  sickrage = throw "sickbeard has been removed from nixpkgs, as it was unmaintained."; # Added 2022-01-01
+  sickbeard = throw "sickbeard has been removed from nixpkgs, as it was unmaintained"; # Added 2022-01-01
+  sickrage = throw "sickbeard has been removed from nixpkgs, as it was unmaintained"; # Added 2022-01-01
   sigurlx = throw "sigurlx has been removed (upstream is gone)"; # Added 2022-01-24
   skrooge2 = throw "'skrooge2' has been renamed to/replaced by 'skrooge'"; # Converted to throw 2022-02-22
   sky = throw "sky has been removed from nixpkgs (2020-09-16)";
   skype = throw "'skype' has been renamed to/replaced by 'skypeforlinux'"; # Converted to throw 2022-02-22
-  skype4pidgin = throw "skype4pidgin has been remove from nixpkgs, because it stopped working when classic Skype was retired."; # Added 2021-07-14
-  skype_call_recorder = throw "skype_call_recorder has been removed from nixpkgs, because it stopped working when classic Skype was retired."; # Added 2020-10-31
+  skype4pidgin = throw "skype4pidgin has been remove from nixpkgs, because it stopped working when classic Skype was retired"; # Added 2021-07-14
+  skype_call_recorder = throw "skype_call_recorder has been removed from nixpkgs, because it stopped working when classic Skype was retired"; # Added 2020-10-31
   slack-dark = slack; # Added 2020-03-27
   slic3r-prusa3d = throw "'slic3r-prusa3d' has been renamed to/replaced by 'prusa-slicer'"; # Converted to throw 2022-02-22
   slim = throw "slim has been removed. Please use a different display-manager"; # Added 2019-11-11
@@ -1099,7 +1103,7 @@ mapAliases ({
   slurm-llnl = slurm; # renamed July 2017
   slurm-llnl-full = slurm-full; # renamed July 2017
   smbclient = throw "'smbclient' has been renamed to/replaced by 'samba'"; # Converted to throw 2022-02-22
-  smugline = throw "smugline has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries."; # Added 2020-11-04
+  smugline = throw "smugline has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries"; # Added 2020-11-04
   solr_8 = solr; # Added 2021-01-30
 
   # Added 2020-02-10
@@ -1130,11 +1134,11 @@ mapAliases ({
   speedtest_cli = throw "'speedtest_cli' has been renamed to/replaced by 'speedtest-cli'"; # Converted to throw 2022-02-22
   spice_gtk = throw "'spice_gtk' has been renamed to/replaced by 'spice-gtk'"; # Converted to throw 2022-02-22
   spice_protocol = throw "'spice_protocol' has been renamed to/replaced by 'spice-protocol'"; # Converted to throw 2022-02-22
-  spidermonkey_1_8_5 = throw "spidermonkey_1_8_5 has been removed, because it is based on Firefox 4.0 from 2011."; # added 2021-05-03
-  spidermonkey_38 = throw "spidermonkey_38 has been removed. Please use spidermonkey_78 instead."; # Added 2021-03-21
-  spidermonkey_52 = throw "spidermonkey_52 has been removed. Please use spidermonkey_78 instead."; # Added 2019-10-16
-  spidermonkey_60 = throw "spidermonkey_60 has been removed. Please use spidermonkey_78 instead."; # Added 2021-03-21
-  spidermonkey_68 = throw "spidermonkey_68 has been removed. Please use spidermonkey_91 instead."; # added 2022-01-04
+  spidermonkey_1_8_5 = throw "spidermonkey_1_8_5 has been removed, because it is based on Firefox 4.0 from 2011"; # added 2021-05-03
+  spidermonkey_38 = throw "spidermonkey_38 has been removed. Please use spidermonkey_78 instead"; # Added 2021-03-21
+  spidermonkey_52 = throw "spidermonkey_52 has been removed. Please use spidermonkey_78 instead"; # Added 2019-10-16
+  spidermonkey_60 = throw "spidermonkey_60 has been removed. Please use spidermonkey_78 instead"; # Added 2021-03-21
+  spidermonkey_68 = throw "spidermonkey_68 has been removed. Please use spidermonkey_91 instead"; # added 2022-01-04
   # spidermonkey is not ABI upwards-compatible, so only allow this for nix-shell
   spidermonkey = spidermonkey_78; # Added 2020-10-09
   spring-boot = spring-boot-cli; # added 2020-04-24
@@ -1148,9 +1152,9 @@ mapAliases ({
   subversion19 = throw "subversion19 has been removed as it has reached its end of life"; # Added 2021-03-31
   sundials_3 = throw "sundials_3 was removed in 2020-02. outdated and no longer needed";
   surf-webkit2 = throw "'surf-webkit2' has been renamed to/replaced by 'surf'"; # Converted to throw 2022-02-22
-  svgcleaner = throw "svgcleaner has been removed."; # Added 2021-11-17
-  swec = throw "swec has been removed; broken and abandoned upstream."; # Added 2021-10-14
-  swfdec = throw "swfdec has been removed as broken and unmaintained."; # Added 2020-08-23
+  svgcleaner = throw "svgcleaner has been removed"; # Added 2021-11-17
+  swec = throw "swec has been removed; broken and abandoned upstream"; # Added 2021-10-14
+  swfdec = throw "swfdec has been removed as broken and unmaintained"; # Added 2020-08-23
   swtpm-tpm2 = swtpm; # Added 2021-02-26
   syncthing-cli = syncthing; # Added 2021-04-06
   synology-drive = throw "synology-drive has been superseded by synology-drive-client"; # Added 2021-11-26
@@ -1163,8 +1167,8 @@ mapAliases ({
 
   tahoelafs = throw "'tahoelafs' has been renamed to/replaced by 'tahoe-lafs'"; # Converted to throw 2022-02-22
   tangogps = foxtrotgps; # Added 2020-01-26
-  tdm = throw "tdm has been removed because nobody can figure out how to fix OpenAL integration. Use precompiled binary and `steam-run` instead.";
-  telepathy-qt = throw "telepathy-qt no longer supports Qt 4. Please use libsForQt5.telepathy instead."; # Added 2020-07-02
+  tdm = throw "tdm has been removed because nobody can figure out how to fix OpenAL integration. Use precompiled binary and `steam-run` instead";
+  telepathy-qt = throw "telepathy-qt no longer supports Qt 4. Please use libsForQt5.telepathy instead"; # Added 2020-07-02
   telepathy_farstream = throw "'telepathy_farstream' has been renamed to/replaced by 'telepathy-farstream'"; # Converted to throw 2022-02-22
   telepathy_gabble = throw "'telepathy_gabble' has been renamed to/replaced by 'telepathy-gabble'"; # Converted to throw 2022-02-22
   telepathy_glib = throw "'telepathy_glib' has been renamed to/replaced by 'telepathy-glib'"; # Converted to throw 2022-02-22
@@ -1189,16 +1193,17 @@ mapAliases ({
   tex-gyre-schola-math = throw "'tex-gyre-schola-math' has been renamed to/replaced by 'tex-gyre-math.schola'"; # Converted to throw 2022-02-22
   tex-gyre-termes-math = throw "'tex-gyre-termes-math' has been renamed to/replaced by 'tex-gyre-math.termes'"; # Converted to throw 2022-02-22
   tftp_hpa = throw "'tftp_hpa' has been renamed to/replaced by 'tftp-hpa'"; # Converted to throw 2022-02-22
-  thunderbird-68 = throw "Thunderbird 68 reached end of life with its final release 68.12.0 on 2020-08-25.";
+  thunderbird-68 = throw "Thunderbird 68 reached end of life with its final release 68.12.0 on 2020-08-25";
   thunderbird-bin-68 = thunderbird-68;
   timescale-prometheus = promscale; # Added 2020-09-29
   timetable = throw "timetable has been removed, as the upstream project has been abandoned"; # Added 2021-09-05
+  tkcvs = tkrev; # Added 2022-03-07
   togglesg-download = throw "togglesg-download was removed 2021-04-30 as it's unmaintained"; # Added 2021-04-30
-  tomboy = throw "tomboy is not actively developed anymore and was removed."; # Added 2022-01-27
-  tomcat7 = throw "tomcat7 has been removed from nixpkgs as it has reached end of life."; # Added 2021-06-16
-  tomcat8 = throw "tomcat8 has been removed from nixpkgs as it has reached end of life."; # Added 2021-06-16
-  tomcat85 = throw "tomcat85 has been removed from nixpkgs as it has reached end of life."; # Added 2020-03-11
-  tor-arm = throw "tor-arm has been removed from nixpkgs as the upstream project has been abandoned."; # Added 2022-01-01
+  tomboy = throw "tomboy is not actively developed anymore and was removed"; # Added 2022-01-27
+  tomcat7 = throw "tomcat7 has been removed from nixpkgs as it has reached end of life"; # Added 2021-06-16
+  tomcat8 = throw "tomcat8 has been removed from nixpkgs as it has reached end of life"; # Added 2021-06-16
+  tomcat85 = throw "tomcat85 has been removed from nixpkgs as it has reached end of life"; # Added 2020-03-11
+  tor-arm = throw "tor-arm has been removed from nixpkgs as the upstream project has been abandoned"; # Added 2022-01-01
   torbrowser = throw "'torbrowser' has been renamed to/replaced by 'tor-browser-bundle-bin'"; # Converted to throw 2022-02-22
   torch = throw "torch has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
   torch-hdf5 = throw "torch-hdf5 has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
@@ -1209,21 +1214,21 @@ mapAliases ({
   transmission-remote-cli = "transmission-remote-cli has been removed, as the upstream project has been abandoned. Please use tremc instead"; # Added 2020-10-14
   transmission_gtk = throw "'transmission_gtk' has been renamed to/replaced by 'transmission-gtk'"; # Converted to throw 2022-02-22
   transmission_remote_gtk = throw "'transmission_remote_gtk' has been renamed to/replaced by 'transmission-remote-gtk'"; # Converted to throw 2022-02-22
-  transporter = throw "transporter has been removed. It was archived upstream, so it's considered abandoned.";
-  trebleshot = throw "trebleshot has been removed. It was archived upstream, so it's considered abandoned.";
-  trilium = throw "trilium has been removed. Please use trilium-desktop instead."; # Added 2020-04-29
+  transporter = throw "transporter has been removed. It was archived upstream, so it's considered abandoned";
+  trebleshot = throw "trebleshot has been removed. It was archived upstream, so it's considered abandoned";
+  trilium = throw "trilium has been removed. Please use trilium-desktop instead"; # Added 2020-04-29
   truecrypt = throw "'truecrypt' has been renamed to/replaced by 'veracrypt'"; # Converted to throw 2022-02-22
   tshark = throw "'tshark' has been renamed to/replaced by 'wireshark-cli'"; # Converted to throw 2022-02-22
   tuijam = throw "tuijam has been removed because Google Play Music was discontinued"; # Added 2021-03-07
   turbo-geth = throw "turbo-geth has been renamed to erigon"; # Added 2021-08-08
-  typora = throw "Newer versions of typora use anti-user encryption and refuse to start. As such it has been removed."; # Added 2021-09-11
+  typora = throw "Newer versions of typora use anti-user encryption and refuse to start. As such it has been removed"; # Added 2021-09-11
 
   ### U ###
 
   uberwriter = apostrophe; # Added 2020-04-23
   ubootBeagleboneBlack = ubootAmx335xEVM; # Added 2020-01-21
   ucsFonts = throw "'ucsFonts' has been renamed to/replaced by 'ucs-fonts'"; # Converted to throw 2022-02-22
-  ufraw = throw "ufraw is unmaintained and has been removed from nixpkgs. Its successor, nufraw, doesn't seem to be stable enough. Consider using Darktable for now."; # Added 2020-01-11
+  ufraw = throw "ufraw is unmaintained and has been removed from nixpkgs. Its successor, nufraw, doesn't seem to be stable enough. Consider using Darktable for now"; # Added 2020-01-11
   ultrastardx-beta = throw "'ultrastardx-beta' has been renamed to/replaced by 'ultrastardx'"; # Converted to throw 2022-02-22
   unicorn-emu = unicorn; # Added 2020-10-29
   unifiStable = unifi6; # Added 2020-12-28
@@ -1247,13 +1252,13 @@ mapAliases ({
   v8_3_16_14 = throw "v8_3_16_14 was removed in 2019-11-01: no longer referenced by other packages";
   vamp = { vampSDK = vamp-plugin-sdk; }; # Added 2020-03-26
   vapor = throw "vapor was removed because it was unmaintained and upstream service no longer exists";
-  varnish62 = throw "varnish62 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # Added 2021-07-26
-  varnish63 = throw "varnish63 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # Added 2021-07-26
-  varnish65 = throw "varnish65 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # Added 2021-09-15
+  varnish62 = throw "varnish62 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release"; # Added 2021-07-26
+  varnish63 = throw "varnish63 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release"; # Added 2021-07-26
+  varnish65 = throw "varnish65 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release"; # Added 2021-09-15
   vdirsyncerStable  = vdirsyncer; # Added 2020-11-08, see https://github.com/NixOS/nixpkgs/issues/103026#issuecomment-723428168
   venus = throw "venus has been removed from nixpkgs, as it's unmaintained"; # Added 2021-02-05
   vimbWrapper = throw "'vimbWrapper' has been renamed to/replaced by 'vimb'"; # Converted to throw 2022-02-22
-  vimprobable2 = throw "vimprobable2 has been removed from nixpkgs. It relied on webkitgtk24x that has been removed."; # Added 2019-12-05
+  vimprobable2 = throw "vimprobable2 has been removed from nixpkgs. It relied on webkitgtk24x that has been removed"; # Added 2019-12-05
   vimprobable2-unwrapped = vimprobable2; # Added 2019-12-05
   virtinst = throw "virtinst has been removed, as it's included in virt-manager"; # Added 2021-07-21
   virtuoso = throw "virtuoso has been removed, because it was unmaintained in nixpkgs"; # added 2021-12-15
@@ -1261,28 +1266,28 @@ mapAliases ({
   virtmanager-qt = virt-manager-qt; # Added 2019-10-29
   virtviewer = throw "'virtviewer' has been renamed to/replaced by 'virt-viewer'"; # Converted to throw 2022-02-22
   vorbisTools = throw "'vorbisTools' has been renamed to/replaced by 'vorbis-tools'"; # Converted to throw 2022-02-22
-  vtun = throw "vtune has been removed as it's unmaintained upstream."; # Added 2021-10-29
+  vtun = throw "vtune has been removed as it's unmaintained upstream"; # Added 2021-10-29
 
   ### W ###
 
   way-cooler = throw "way-cooler is abandoned by its author: https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"; # Added 2020-01-13
   webkit = throw "'webkit' has been renamed to/replaced by 'webkitgtk'"; # Converted to throw 2022-02-22
-  webkitgtk24x-gtk2 = throw "webkitgtk24x-gtk2 has been removed because it's insecure. Please use webkitgtk."; # Added 2019-12-05
-  webkitgtk24x-gtk3 = throw "webkitgtk24x-gtk3 has been removed because it's insecure. Please use webkitgtk."; # Added 2019-12-05
+  webkitgtk24x-gtk2 = throw "webkitgtk24x-gtk2 has been removed because it's insecure. Please use webkitgtk"; # Added 2019-12-05
+  webkitgtk24x-gtk3 = throw "webkitgtk24x-gtk3 has been removed because it's insecure. Please use webkitgtk"; # Added 2019-12-05
   weechat-matrix-bridge = throw "'weechat-matrix-bridge' has been renamed to/replaced by 'weechatScripts.weechat-matrix-bridge'"; # Converted to throw 2022-02-22
-  whirlpool-gui = throw "whirlpool-gui has been removed as it depended on an insecure version of Electron."; # added 2022-02-08
-  wicd = throw "wicd has been removed as it is abandoned."; # Added 2021-09-11
+  whirlpool-gui = throw "whirlpool-gui has been removed as it depended on an insecure version of Electron"; # added 2022-02-08
+  wicd = throw "wicd has been removed as it is abandoned"; # Added 2021-09-11
   wineFull = throw "'wineFull' has been renamed to/replaced by 'winePackages.full'"; # Converted to throw 2022-02-22
   wineMinimal = throw "'wineMinimal' has been renamed to/replaced by 'winePackages.minimal'"; # Converted to throw 2022-02-22
   wineStable = throw "'wineStable' has been renamed to/replaced by 'winePackages.stable'"; # Converted to throw 2022-02-22
   wineStaging = throw "'wineStaging' has been renamed to/replaced by 'wine-staging'"; # Converted to throw 2022-02-22
   wineUnstable = throw "'wineUnstable' has been renamed to/replaced by 'winePackages.unstable'"; # Converted to throw 2022-02-22
   wineWayland = wine-wayland;
-  winswitch = throw "winswitch has been removed from nixpkgs."; # Added 2019-12-10
+  winswitch = throw "winswitch has been removed from nixpkgs"; # Added 2019-12-10
   winusb = throw "'winusb' has been renamed to/replaced by 'woeusb'"; # Converted to throw 2022-02-22
   wireguard = throw "'wireguard' has been renamed to/replaced by 'wireguard-tools'"; # Converted to throw 2022-02-22
-  wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead."; # Added 2019-11-18
-  wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared."; # Added 2022-01-31
+  wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead"; # Added 2019-11-18
+  wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared"; # Added 2022-01-31
 
   ### X ###
 
@@ -1306,7 +1311,7 @@ mapAliases ({
     xf86_input_mtrack has been removed from nixpkgs as it is broken and
     unmaintained. Working alternatives are libinput and synaptics.
   '';
-  xf86_input_multitouch = throw "xf86_input_multitouch has been removed from nixpkgs."; # Added 2020-01-20
+  xf86_input_multitouch = throw "xf86_input_multitouch has been removed from nixpkgs"; # Added 2020-01-20
   xlibs = throw "'xlibs' has been renamed to/replaced by 'xorg'"; # Converted to throw 2022-02-22
   xpraGtk3 = throw "'xpraGtk3' has been renamed to/replaced by 'xpra'"; # Converted to throw 2022-02-22
   xv = xxv; # Added 2020-02-22
@@ -1318,14 +1323,14 @@ mapAliases ({
   yarssr = throw "yarssr has been removed as part of the python2 deprecation"; # Added 2022-01-15
   youtubeDL = throw "'youtubeDL' has been renamed to/replaced by 'youtube-dl'"; # Converted to throw 2022-02-22
   ytop = throw "ytop has been abandoned by upstream. Consider switching to bottom instead";
-  yubikey-neo-manager = throw "yubikey-neo-manager has been removed because it was broken. Use yubikey-manager-qt instead."; # Added 2021-03-08
+  yubikey-neo-manager = throw "yubikey-neo-manager has been removed because it was broken. Use yubikey-manager-qt instead"; # Added 2021-03-08
   yuzu = yuzu-mainline; # Added 2021-01-25
 
   ### Z ###
 
   zabbix30 = throw "Zabbix 3.0.x is end of life, see https://www.zabbix.com/documentation/5.0/manual/installation/upgrade/sources for a direct upgrade path to 5.0.x"; # Added 2021-04-07
   zdfmediathk = throw "'zdfmediathk' has been renamed to/replaced by 'mediathekview'"; # Converted to throw 2022-02-22
-  zimreader = throw "zimreader has been removed from nixpkgs as it has been replaced by kiwix-serve and stopped working with modern zimlib versions."; # Added 2021-03-28
+  zimreader = throw "zimreader has been removed from nixpkgs as it has been replaced by kiwix-serve and stopped working with modern zimlib versions"; # Added 2021-03-28
 
   # TODO(ekleog): add ‘wasm’ alias to ‘ocamlPackages.wasm’ after 19.03
   # branch-off
@@ -1350,17 +1355,17 @@ mapAliases ({
   zeroc_ice = pkgs.zeroc-ice;
 
   # Added 2020-06-22
-  zeromq3 = throw "zeromq3 has been deprecated by zeromq4.";
+  zeromq3 = throw "zeromq3 has been deprecated by zeromq4";
   jzmq = throw "jzmq has been removed from nixpkgs, as it was unmaintained";
 
   avian = throw ''
     The package doesn't compile anymore on NixOS and both development &
     maintenance is abandoned by upstream.
   ''; # Cleanup before 21.11, Added 2021-05-07
-  ant-dracula-theme = throw "ant-dracula-theme is now dracula-theme, and theme name is Dracula instead of Ant-Dracula.";
+  ant-dracula-theme = throw "ant-dracula-theme is now dracula-theme, and theme name is Dracula instead of Ant-Dracula";
   dina-font-pcf = dina-font; # Added 2020-02-09
-  dnscrypt-proxy = throw "dnscrypt-proxy has been removed. Please use dnscrypt-proxy2."; # Added 2020-02-02
-  gcc-snapshot = throw "gcc-snapshot: Marked as broken for >2 years, additionally this 'snapshot' pointed to a fairly old one from gcc7.";
+  dnscrypt-proxy = throw "dnscrypt-proxy has been removed. Please use dnscrypt-proxy2"; # Added 2020-02-02
+  gcc-snapshot = throw "gcc-snapshot: Marked as broken for >2 years, additionally this 'snapshot' pointed to a fairly old one from gcc7";
   gnatsd = nats-server; # Added 2019-10-28
 
   obs-gstreamer = throw ''
@@ -1390,16 +1395,16 @@ mapAliases ({
     Its new location is obs-studio-plugins.wlrobs.
   ''; # Added 2021-06-01
 
-  oraclejdk8psu = throw "The *psu versions of oraclejdk are no longer provided by upstream."; # Cleanup before 20.09
+  oraclejdk8psu = throw "The *psu versions of oraclejdk are no longer provided by upstream"; # Cleanup before 20.09
   oraclejre8psu = oraclejdk8psu; # Cleanup before 20.09
   oraclejdk8psu_distro = oraclejdk8psu; # Cleanup before 20.09
   posix_man_pages = man-pages-posix; # Added 2021-04-15
   riot-desktop = throw "riot-desktop is now element-desktop!"; # Cleanup before 21.05
   riot-web = throw "riot-web is now element-web"; # Cleanup before 21.05
   sqldeveloper_18 = throw "sqldeveloper_18 is not maintained anymore!"; # Added 2020-02-04
-  todolist = throw "todolist is now ultralist."; # Added 2020-12-27
-  tor-browser-bundle = throw "tor-browser-bundle was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead."; # Added 2020-01-10
-  tor-browser-unwrapped = throw "tor-browser-unwrapped was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead."; # Added 2020-01-10
+  todolist = throw "todolist is now ultralist"; # Added 2020-12-27
+  tor-browser-bundle = throw "tor-browser-bundle was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead"; # Added 2020-01-10
+  tor-browser-unwrapped = throw "tor-browser-unwrapped was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead"; # Added 2020-01-10
   ttyrec = ovh-ttyrec; # Added 2021-01-02
   zplugin = zinit; # Added 2021-01-30
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6c6832ae054..701d82b961f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -147,9 +147,14 @@ with pkgs;
 
   autorestic = callPackage ../tools/backup/autorestic { };
 
-  autoPatchelfHook = makeSetupHook
-    { name = "auto-patchelf-hook"; deps = [ bintools ]; }
-    ../build-support/setup-hooks/auto-patchelf.sh;
+  autoPatchelfHook = makeSetupHook {
+    name = "auto-patchelf-hook";
+    deps = [ bintools ];
+    substitutions = {
+      pythonInterpreter = "${python3.withPackages (ps: [ ps.pyelftools ])}/bin/python";
+      autoPatchelfScript = ../build-support/setup-hooks/auto-patchelf.py;
+    };
+  } ../build-support/setup-hooks/auto-patchelf.sh;
 
   appflowy = callPackage ../applications/office/appflowy { };
 
@@ -1084,6 +1089,8 @@ with pkgs;
 
   ksnip = libsForQt5.callPackage ../tools/misc/ksnip { };
 
+  license-generator = callPackage ../tools/misc/license-generator { };
+
   linux-router = callPackage ../tools/networking/linux-router { };
 
   linux-router-without-wifi = linux-router.override { useWifiDependencies = false; };
@@ -1100,6 +1107,8 @@ with pkgs;
 
   redfang = callPackage ../tools/networking/redfang { };
 
+  sdlookup = callPackage ../tools/security/sdlookup { };
+
   sx-go = callPackage ../tools/security/sx-go { };
 
   tauon = callPackage ../applications/audio/tauon { };
@@ -2379,6 +2388,8 @@ with pkgs;
 
   borgmatic = callPackage ../tools/backup/borgmatic { };
 
+  borg-sans-mono = callPackage ../data/fonts/borg-sans-mono { };
+
   boringtun = callPackage ../tools/networking/boringtun { };
 
   bookstack = callPackage ../servers/web-apps/bookstack { };
@@ -2726,6 +2737,8 @@ with pkgs;
 
   wlsunset = callPackage ../tools/wayland/wlsunset { };
 
+  wl-gammactl = callPackage ../tools/wayland/wl-gammactl { };
+
   wluma = callPackage ../tools/wayland/wluma {  };
 
   wob = callPackage ../tools/wayland/wob { };
@@ -3025,7 +3038,7 @@ with pkgs;
 
   element-desktop = callPackage ../applications/networking/instant-messengers/element/element-desktop.nix {
     inherit (darwin.apple_sdk.frameworks) Security AppKit CoreServices;
-    electron = electron_15;
+    electron = electron_17;
   };
   element-desktop-wayland = writeScriptBin "element-desktop" ''
     #!/bin/sh
@@ -3369,6 +3382,10 @@ with pkgs;
 
   iotools = callPackage ../tools/misc/iotools { };
 
+  irpf = callPackage ../applications/finance/irpf { };
+
+  jellycli = callPackage ../applications/audio/jellycli { };
+
   jellyfin = callPackage ../servers/jellyfin { };
 
   jellyfin-media-player = libsForQt5.callPackage ../applications/video/jellyfin-media-player {
@@ -3413,6 +3430,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  lapce = callPackage ../applications/editors/lapce { };
+
   lcdproc = callPackage ../servers/monitoring/lcdproc { };
 
   languagetool = callPackage ../tools/text/languagetool {  };
@@ -3587,7 +3606,7 @@ with pkgs;
 
   nix-direnv = callPackage ../tools/misc/nix-direnv { };
 
-  nix-output-monitor = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-output-monitor);
+  nix-output-monitor = callPackage ../tools/nix/nix-output-monitor { };
 
   nix-template = callPackage ../tools/package-management/nix-template {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -4581,21 +4600,26 @@ with pkgs;
   cudnnPackages = callPackages ../development/libraries/science/math/cudnn { };
   inherit (cudnnPackages)
     cudnn_7_4_cudatoolkit_10_0
-    cudnn_7_6_cudatoolkit_10_2
-    cudnn_7_6_cudatoolkit_10
+    cudnn_7_6_cudatoolkit_10_0
+    cudnn_7_6_cudatoolkit_10_1
+    cudnn_8_1_cudatoolkit_10_2
     cudnn_8_1_cudatoolkit_11_0
     cudnn_8_1_cudatoolkit_11_1
     cudnn_8_1_cudatoolkit_11_2
+    cudnn_8_1_cudatoolkit_10
     cudnn_8_1_cudatoolkit_11
+    cudnn_8_3_cudatoolkit_10_2
     cudnn_8_3_cudatoolkit_11_0
     cudnn_8_3_cudatoolkit_11_1
     cudnn_8_3_cudatoolkit_11_2
     cudnn_8_3_cudatoolkit_11_3
     cudnn_8_3_cudatoolkit_11_4
     cudnn_8_3_cudatoolkit_11_5
+    cudnn_8_3_cudatoolkit_10
     cudnn_8_3_cudatoolkit_11;
 
-  cudnn = cudnn_7_6_cudatoolkit_10;
+  # TODO(samuela): This is old and should be upgraded to 8.3 at some point.
+  cudnn = cudnn_7_6_cudatoolkit_10_1;
 
   cutensorPackages = callPackages ../development/libraries/science/math/cutensor { };
   inherit (cutensorPackages)
@@ -5422,6 +5446,10 @@ with pkgs;
 
   ferm = callPackage ../tools/networking/ferm { };
 
+  feroxbuster = callPackage ../tools/security/feroxbuster {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   ffsend = callPackage ../tools/misc/ffsend {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Security AppKit;
   };
@@ -5469,7 +5497,8 @@ with pkgs;
 
   findutils = callPackage ../tools/misc/findutils { };
 
-  finger_bsd = callPackage ../tools/networking/bsd-finger { };
+  bsd-finger = callPackage ../tools/networking/bsd-finger { };
+  bsd-fingerd = bsd-finger.override({ buildClient = false; });
 
   iprange = callPackage ../applications/networking/firehol/iprange.nix {};
 
@@ -5537,6 +5566,8 @@ with pkgs;
 
   flawfinder = callPackage ../development/tools/flawfinder { };
 
+  flintlock = callPackage ../applications/virtualization/flintlock { };
+
   flip-link = callPackage ../development/tools/flip-link { };
 
   flips = callPackage ../tools/compression/flips { };
@@ -6744,6 +6775,8 @@ with pkgs;
   invidious = callPackage ../servers/invidious {
     # needs a specific version of lsquic
     lsquic = callPackage ../servers/invidious/lsquic.nix { };
+    # normally video.js is downloaded at build time
+    videojs = callPackage ../servers/invidious/videojs.nix { };
   };
 
   invoice2data  = callPackage ../tools/text/invoice2data  { };
@@ -8222,7 +8255,7 @@ with pkgs;
   grocy = callPackage ../servers/grocy { };
 
   inherit (callPackage ../servers/nextcloud {})
-    nextcloud20 nextcloud21 nextcloud22 nextcloud23;
+    nextcloud21 nextcloud22 nextcloud23;
 
   nextcloud-client = libsForQt5.callPackage ../applications/networking/nextcloud-client { };
 
@@ -8582,7 +8615,7 @@ with pkgs;
   openrgb = libsForQt5.callPackage ../applications/misc/openrgb { };
 
   openrussian-cli = callPackage ../misc/openrussian-cli {
-    luaPackages = lua53Packages;
+    lua = lua5_3;
   };
 
   opensbi = callPackage ../misc/opensbi { };
@@ -9019,6 +9052,8 @@ with pkgs;
 
   pngnq = callPackage ../tools/graphics/pngnq { };
 
+  pngoptimizer = callPackage ../tools/graphics/pngoptimizer { };
+
   pngtoico = callPackage ../tools/graphics/pngtoico {
     libpng = libpng12;
   };
@@ -9176,6 +9211,8 @@ with pkgs;
 
   pydf = callPackage ../applications/misc/pydf { };
 
+  pyinfra = with python3Packages; toPythonApplication pyinfra;
+
   pympress = callPackage ../applications/office/pympress { };
 
   pyspread = libsForQt5.callPackage ../applications/office/pyspread { };
@@ -9516,7 +9553,7 @@ with pkgs;
 
   roc-toolkit = callPackage ../development/libraries/audio/roc-toolkit { };
 
-  rockbox_utility = libsForQt5.callPackage ../tools/misc/rockbox-utility { };
+  rockbox-utility = libsForQt5.callPackage ../tools/misc/rockbox-utility { };
 
   rosegarden = libsForQt514.callPackage ../applications/audio/rosegarden { };
 
@@ -9829,6 +9866,8 @@ with pkgs;
 
   slither-analyzer = with python3Packages; toPythonApplication slither-analyzer;
 
+  sigma-cli = callPackage ../tools/security/sigma-cli { };
+
   signify = callPackage ../tools/security/signify { };
 
   # aka., pgp-tools
@@ -11526,6 +11565,8 @@ with pkgs;
 
   zimwriterfs = callPackage ../tools/text/zimwriterfs { };
 
+  zld = callPackage ../development/tools/zld { };
+
   par = callPackage ../tools/text/par { };
 
   zip = callPackage ../tools/archivers/zip { };
@@ -12898,7 +12939,7 @@ with pkgs;
       else if platform.isFreeBSD then 7
       else if platform.isAndroid then 12
       else if platform.isLinux then 11
-      else if platform.isWasm then 8
+      else if platform.isWasm then 12
       else latest_version;
     # We take the "max of the mins". Why? Since those are lower bounds of the
     # supported version set, this is like intersecting those sets and then
@@ -13308,6 +13349,7 @@ with pkgs;
   cargo-msrv = callPackage ../development/tools/rust/cargo-msrv {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
+  cargo-nextest = callPackage ../development/tools/rust/cargo-nextest { };
   cargo-play = callPackage ../development/tools/rust/cargo-play { };
   cargo-raze = callPackage ../development/tools/rust/cargo-raze {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -14043,8 +14085,18 @@ with pkgs;
 
   pipenv = callPackage ../development/tools/pipenv {};
 
-  pipewire = callPackage ../development/libraries/pipewire {};
+  pipewire = callPackage ../development/libraries/pipewire {
+    # ffmpeg depends on SDL2 which depends on pipewire by default.
+    # Break the cycle by disabling pipewire support in our ffmpeg.
+    ffmpeg = ffmpeg.override {
+      SDL2 = SDL2.override {
+        pipewireSupport = false;
+      };
+    };
+  };
+
   pipewire-media-session = callPackage ../development/libraries/pipewire/media-session.nix {};
+
   pipewire_0_2 = callPackage ../development/libraries/pipewire/0.2.nix {};
   wireplumber = callPackage ../development/libraries/pipewire/wireplumber.nix {};
 
@@ -14128,8 +14180,11 @@ with pkgs;
   self = pkgsi686Linux.callPackage ../development/interpreters/self { };
 
   inherit (callPackages ../applications/networking/cluster/spark { })
-    spark3
-    spark2;
+    spark_3_2
+    spark_3_1
+    spark_2_4;
+  spark3 = spark_3_2;
+  spark2 = spark_2_4;
   spark = spark3;
 
   sparkleshare = callPackage ../applications/version-management/sparkleshare { };
@@ -14804,10 +14859,7 @@ with pkgs;
 
   # This is for e.g. LLVM libraries on linux.
   gccForLibs =
-    # with gcc-7: undefined reference to `__divmoddi4'
-    if stdenv.targetPlatform.isi686
-      then gcc6.cc
-    else if stdenv.targetPlatform == stdenv.hostPlatform && targetPackages.stdenv.cc.isGNU
+    if stdenv.targetPlatform == stdenv.hostPlatform && targetPackages.stdenv.cc.isGNU
     # Can only do this is in the native case, otherwise we might get infinite
     # recursion if `targetPackages.stdenv.cc.cc` itself uses `gccForLibs`.
       then targetPackages.stdenv.cc.cc
@@ -15264,6 +15316,8 @@ with pkgs;
 
   kubei = callPackage ../tools/security/kubei { };
 
+  kubemq-community = callPackage ../servers/kubemq-community { };
+
   kubeone = callPackage ../applications/networking/cluster/kubeone { };
 
   kubeprompt = callPackage ../development/tools/kubeprompt { };
@@ -16337,8 +16391,6 @@ with pkgs;
 
   classads = callPackage ../development/libraries/classads { };
 
-  clearsilver = callPackage ../development/libraries/clearsilver { };
-
   clfft = callPackage ../development/libraries/clfft { };
 
   clipp  = callPackage ../development/libraries/clipp { };
@@ -17871,6 +17923,8 @@ with pkgs;
 
   libctemplate = callPackage ../development/libraries/libctemplate { };
 
+  libctl = callPackage ../development/libraries/libctl { };
+
   libcotp = callPackage ../development/libraries/libcotp { };
 
   libcouchbase = callPackage ../development/libraries/libcouchbase { };
@@ -19284,7 +19338,7 @@ with pkgs;
 
   ngtcp2 = callPackage ../development/libraries/ngtcp2 { };
 
-  nix-plugins = callPackage ../development/libraries/nix-plugins { };
+  nix-plugins = callPackage ../development/libraries/nix-plugins { nix = nixVersions.nix_2_5; };
 
   nika-fonts = callPackage ../data/fonts/nika-fonts { };
 
@@ -19534,6 +19588,8 @@ with pkgs;
   osinfo-db = callPackage ../data/misc/osinfo-db { };
   osinfo-db-tools = callPackage ../tools/misc/osinfo-db-tools { };
 
+  pacemaker = callPackage ../misc/logging/pacemaker { };
+
   p11-kit = callPackage ../development/libraries/p11-kit { };
 
   paperkey = callPackage ../tools/security/paperkey { };
@@ -20617,41 +20673,27 @@ with pkgs;
   wxformbuilder = callPackage ../development/tools/wxformbuilder { };
 
   wxGTK = wxGTK28;
-  wxGTK30 = wxGTK30-gtk2;
-  wxGTK31 = wxGTK31-gtk2;
 
-  wxGTK28 = callPackage ../development/libraries/wxwidgets/2.8 { };
+  wxGTK28 = callPackage ../development/libraries/wxwidgets/wxGTK28.nix { };
 
-  wxGTK29 = callPackage ../development/libraries/wxwidgets/2.9 {
+  wxGTK29 = callPackage ../development/libraries/wxwidgets/wxGTK29.nix {
     inherit (darwin.stubs) setfile;
     inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QuickTime;
   };
 
-  wxGTK30-gtk2 = callPackage ../development/libraries/wxwidgets/3.0 {
-    withGtk2 = true;
-    inherit (darwin.stubs) setfile;
-    inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit;
-  };
-
-  wxGTK30-gtk3 = callPackage ../development/libraries/wxwidgets/3.0 {
-    withGtk2 = false;
-    inherit (darwin.stubs) setfile;
-    inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit;
-  };
-
-  wxGTK31-gtk2 = callPackage ../development/libraries/wxwidgets/3.1 {
+  wxGTK30 = callPackage ../development/libraries/wxwidgets/wxGTK30.nix {
     withGtk2 = true;
     inherit (darwin.stubs) setfile;
     inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit;
   };
+  wxGTK30-gtk2 = wxGTK30.override { withGtk2 = true; };
+  wxGTK30-gtk3 = wxGTK30.override { withGtk2 = false; };
 
-  wxGTK31-gtk3 = callPackage ../development/libraries/wxwidgets/3.1 {
-    withGtk2 = false;
-    inherit (darwin.stubs) setfile;
-    inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit;
-  };
+  wxmac = callPackage ../development/libraries/wxwidgets/wxmac30.nix { };
 
-  wxmac = callPackage ../development/libraries/wxwidgets/3.0/mac.nix { };
+  wxGTK31 = callPackage ../development/libraries/wxwidgets/wxGTK31.nix { };
+  wxGTK31-gtk2 = wxGTK31.override { withGtk2 = true; };
+  wxGTK31-gtk3 = wxGTK31.override { withGtk2 = false; };
 
   wxSVG = callPackage ../development/libraries/wxSVG {
     wxGTK = wxGTK30-gtk3;
@@ -21253,8 +21295,6 @@ with pkgs;
 
   felix_remoteshell = callPackage ../servers/felix/remoteshell.nix { };
 
-  fingerd_bsd = callPackage ../servers/fingerd/bsd-fingerd { };
-
   inherit (callPackages ../servers/firebird { }) firebird_4 firebird_3 firebird_2_5 firebird;
 
   freeradius = callPackage ../servers/freeradius { };
@@ -21613,6 +21653,7 @@ with pkgs;
   pflogsumm = callPackage ../servers/mail/postfix/pflogsumm.nix { };
 
   pomerium = callPackage ../servers/http/pomerium { };
+  pomerium-cli = callPackage ../tools/security/pomerium-cli { };
 
   postgrey = callPackage ../servers/mail/postgrey { };
 
@@ -21896,6 +21937,7 @@ with pkgs;
   prometheus-blackbox-exporter = callPackage ../servers/monitoring/prometheus/blackbox-exporter.nix { };
   prometheus-collectd-exporter = callPackage ../servers/monitoring/prometheus/collectd-exporter.nix { };
   prometheus-consul-exporter = callPackage ../servers/monitoring/prometheus/consul-exporter.nix { };
+  prometheus-dmarc-exporter = callPackage ../servers/monitoring/prometheus/dmarc-exporter { };
   prometheus-dnsmasq-exporter = callPackage ../servers/monitoring/prometheus/dnsmasq-exporter.nix { };
   prometheus-dovecot-exporter = callPackage ../servers/monitoring/prometheus/dovecot-exporter.nix { };
   prometheus-domain-exporter = callPackage ../servers/monitoring/prometheus/domain-exporter.nix { };
@@ -22152,7 +22194,7 @@ with pkgs;
     unifi6
     unifi7;
 
-  unifi = unifi6;
+  unifi = unifi7;
 
   unifi-video = callPackage ../servers/unifi-video { };
 
@@ -25422,6 +25464,8 @@ with pkgs;
 
   eolie = callPackage ../applications/networking/browsers/eolie { };
 
+  eos-installer = callPackage ../applications/misc/eos-installer { };
+
   epdfview = callPackage ../applications/misc/epdfview { };
 
   epeg = callPackage ../applications/graphics/epeg { };
@@ -25475,6 +25519,10 @@ with pkgs;
 
   fnott = callPackage ../applications/misc/fnott { };
 
+  furnace = callPackage ../applications/audio/furnace {
+    inherit (darwin.apple_sdk.frameworks) Cocoa;
+  };
+
   gg-scm = callPackage ../applications/version-management/git-and-tools/gg { };
 
   gigalixir = with python3Packages; toPythonApplication gigalixir;
@@ -26881,6 +26929,8 @@ with pkgs;
 
   kapow = libsForQt5.callPackage ../applications/misc/kapow { };
 
+  kchmviewer = libsForQt5.callPackage ../applications/misc/kchmviewer { };
+
   kappanhang = callPackage ../applications/radio/kappanhang { };
 
   okteta = libsForQt5.callPackage ../applications/editors/okteta { };
@@ -26991,6 +27041,8 @@ with pkgs;
   kubernetes = callPackage ../applications/networking/cluster/kubernetes { };
   kubectl = callPackage ../applications/networking/cluster/kubernetes/kubectl.nix { };
 
+  kubemqctl = callPackage ../applications/networking/cluster/kubemqctl { };
+
   kubeseal = callPackage ../applications/networking/cluster/kubeseal { };
 
   kubernix = callPackage ../applications/networking/cluster/kubernix { };
@@ -27104,7 +27156,7 @@ with pkgs;
 
   caps = callPackage ../applications/audio/caps { };
 
-  lbdb = callPackage ../tools/misc/lbdb { abook = null; gnupg = null; goobook = null; khard = null; mu = null; };
+  lbdb = callPackage ../tools/misc/lbdb { };
 
   lbry = callPackage ../applications/video/lbry { };
 
@@ -27276,6 +27328,8 @@ with pkgs;
 
   luddite = with python3Packages; toPythonApplication luddite;
 
+  goobook = with python3Packages; toPythonApplication goobook;
+
   lumail = callPackage ../applications/networking/mailreaders/lumail {
     lua = lua5_1;
   };
@@ -27313,6 +27367,8 @@ with pkgs;
 
   magic-wormhole = with python3Packages; toPythonApplication magic-wormhole;
 
+  magic-wormhole-rs = callPackage ../tools/networking/magic-wormhole-rs/default.nix { };
+
   magnetophonDSP = lib.recurseIntoAttrs {
     CharacterCompressor = callPackage ../applications/audio/magnetophonDSP/CharacterCompressor { };
     CompBus = callPackage ../applications/audio/magnetophonDSP/CompBus { };
@@ -27600,6 +27656,11 @@ with pkgs;
 
   clerk = callPackage ../applications/audio/clerk { };
 
+  jujutsu = callPackage ../applications/version-management/jujutsu {
+    inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
+    inherit (darwin) libiconv;
+  };
+
   nbstripout = callPackage ../applications/version-management/nbstripout { python = python3; };
 
   ncmpc = callPackage ../applications/audio/ncmpc { };
@@ -27665,6 +27726,7 @@ with pkgs;
     simple-mpv-webui = callPackage ../applications/video/mpv/scripts/simple-mpv-webui.nix {};
     sponsorblock = callPackage ../applications/video/mpv/scripts/sponsorblock.nix {};
     thumbnail = callPackage ../applications/video/mpv/scripts/thumbnail.nix { };
+    vr-reversal = callPackage ../applications/video/mpv/scripts/vr-reversal.nix {};
     youtube-quality = callPackage ../applications/video/mpv/scripts/youtube-quality.nix { };
     cutter = callPackage ../applications/video/mpv/scripts/cutter.nix { };
   };
@@ -28049,6 +28111,8 @@ with pkgs;
 
   oberon-risc-emu = callPackage ../applications/emulators/oberon-risc-emu { };
 
+  gnome-obfuscate = callPackage ../applications/graphics/gnome-obfuscate { };
+
   obs-studio = libsForQt5.callPackage ../applications/video/obs-studio {
     ffmpeg_4 = ffmpeg-full;
   };
@@ -28435,7 +28499,7 @@ with pkgs;
 
   protonvpn-cli = callPackage ../applications/networking/protonvpn-cli { };
 
-  protonvpn-gui = callPackage ../applications/networking/protonvpn-gui { };
+  protonvpn-gui = python3Packages.callPackage ../applications/networking/protonvpn-gui { };
 
   ps2client = callPackage ../applications/networking/ps2client { };
 
@@ -29062,7 +29126,9 @@ with pkgs;
 
   psst = callPackage ../applications/audio/psst { };
 
-  squeezelite = callPackage ../applications/audio/squeezelite { };
+  squeezelite = callPackage ../applications/audio/squeezelite { audioBackend = "alsa"; };
+
+  squeezelite-pulse = callPackage ../applications/audio/squeezelite { audioBackend = "pulse"; };
 
   ltunify = callPackage ../tools/misc/ltunify { };
 
@@ -29368,7 +29434,7 @@ with pkgs;
 
   tixati = callPackage ../applications/networking/p2p/tixati { };
 
-  tkcvs = callPackage ../applications/version-management/tkcvs { };
+  tkrev = callPackage ../applications/version-management/tkrev { };
 
   tla = callPackage ../applications/version-management/arch { };
 
@@ -29454,7 +29520,9 @@ with pkgs;
 
   tree = callPackage ../tools/system/tree {};
 
-  treesheets = callPackage ../applications/office/treesheets { wxGTK = wxGTK31; };
+  treesheets = callPackage ../applications/office/treesheets {
+    wxGTK = wxGTK31-gtk3;
+  };
 
   tremc = callPackage ../applications/networking/p2p/tremc { };
 
@@ -32212,6 +32280,8 @@ with pkgs;
 
   blas = callPackage ../build-support/alternatives/blas { };
 
+  blas-ilp64 = blas.override { isILP64 = true; };
+
   blas-reference = callPackage ../development/libraries/science/math/blas { };
 
   bonmin = callPackage ../development/libraries/science/math/bonmin { };
@@ -32236,6 +32306,8 @@ with pkgs;
 
   lapack = callPackage ../build-support/alternatives/lapack { };
 
+  lapack-ilp64 = lapack.override { isILP64 = true; };
+
   lapack-reference = callPackage ../development/libraries/science/math/liblapack { };
   liblapack = lapack-reference;
 
@@ -32577,6 +32649,8 @@ with pkgs;
 
   monosat = callPackage ../applications/science/logic/monosat {};
 
+  nuXmv = callPackage ../applications/science/logic/nuXmv {};
+
   opensmt = callPackage ../applications/science/logic/opensmt { };
 
   ott = callPackage ../applications/science/logic/ott { };
@@ -32697,6 +32771,8 @@ with pkgs;
 
   fped = callPackage ../applications/science/electronics/fped { };
 
+  gaw = callPackage ../applications/science/electronics/gaw {};
+
   horizon-eda = callPackage ../applications/science/electronics/horizon-eda {};
 
   # this is a wrapper for kicad.base and kicad.libraries
@@ -32730,6 +32806,8 @@ with pkgs;
 
   xoscope = callPackage ../applications/science/electronics/xoscope { };
 
+  xschem = callPackage ../applications/science/electronics/xschem { };
+
   xyce = callPackage ../applications/science/electronics/xyce { };
 
   xyce-parallel = callPackage ../applications/science/electronics/xyce {
@@ -33575,7 +33653,7 @@ with pkgs;
 
   nix-eval-jobs = callPackage ../tools/package-management/nix-eval-jobs { };
 
-  nix-doc = callPackage ../tools/package-management/nix-doc { };
+  nix-doc = callPackage ../tools/package-management/nix-doc { nix = nixVersions.nix_2_5; };
 
   nix-bundle = callPackage ../tools/package-management/nix-bundle { };
 
@@ -33682,7 +33760,9 @@ with pkgs;
 
   disnixos = callPackage ../tools/package-management/disnix/disnixos { };
 
-  DisnixWebService = callPackage ../tools/package-management/disnix/DisnixWebService { };
+  DisnixWebService = callPackage ../tools/package-management/disnix/DisnixWebService {
+    jdk = jdk8;
+  };
 
   i3a = callPackage ../misc/i3a { };
 
@@ -33789,6 +33869,8 @@ with pkgs;
 
   qMasterPassword = libsForQt5.callPackage ../applications/misc/qMasterPassword { };
 
+  qtrvsim = libsForQt5.callPackage ../applications/science/computer-architecture/qtrvsim { };
+
   py-wmi-client = callPackage ../tools/networking/py-wmi-client { };
 
   qdl = callPackage ../tools/misc/qdl { };
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index c883066ced5..cc126dc320d 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1580,6 +1580,8 @@ in let inherit (pkgs) callPackage; in rec
 
   ocamlPackages_4_13 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.13.nix { });
 
+  ocamlPackages_4_14 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.14.nix { });
+
   ocamlPackages_latest = ocamlPackages_4_13;
 
   ocamlPackages = ocamlPackages_4_13;
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 943ad79cc28..d106a1897e4 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -20782,12 +20782,12 @@ let
 
   SysVirt = buildPerlModule rec {
     pname = "Sys-Virt";
-    version = "7.10.0";
+    version = "8.1.0";
     src = fetchFromGitLab {
       owner = "libvirt";
       repo = "libvirt-perl";
-      rev = "v7.10.0";
-      sha256 = "sha256-cXuzg4bBwCftdZhz3e50L+4fO0RWX5Tl8zDOoydECd4=";
+      rev = "v${version}";
+      sha256 = "sha256-9cjH4hIIxB+Pv9+ck6xg8KmfM8jtVFKVQNGLYr2AnAM=";
     };
     nativeBuildInputs = [ pkgs.pkg-config ];
     buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 81628686a31..1da6e934c24 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -144,6 +144,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
     phing = callPackage ../development/php-packages/phing { };
 
+    phive = callPackage ../development/php-packages/phive { };
+
     php-cs-fixer = callPackage ../development/php-packages/php-cs-fixer { };
 
     php-parallel-lint = callPackage ../development/php-packages/php-parallel-lint { };
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 2ac1f83917a..4718d942d8e 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -85,6 +85,7 @@ mapAliases ({
   pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20
   pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04
   pysmart-smartx = pysmart; # added 2021-10-22
+  pytest_6 = pytest; # added 2022-02-10
   pytestcov = pytest-cov; # added 2021-01-04
   pytest-pep8 = pytestpep8; # added 2021-01-04
   pytestpep8 = throw "pytestpep8 was removed because it is abandoned and no longer compatible with pytest v6.0"; # added 2020-12-10
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 9e9fb29a35f..92da9eec9a6 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -135,16 +135,6 @@ in {
     venvShellHook
     wheelUnpackHook;
 
-  # Not all packages are compatible with the latest pytest yet.
-  # We need to override the hook to select an older pytest, however,
-  # it should not override the version of pytest that is used for say
-  # Python 2. This is an ugly hack that is needed now because the hook
-  # propagates the package.
-  pytestCheckHook_6_1 = if isPy3k then
-    self.pytestCheckHook.override { pytest = self.pytest_6_1; }
-  else
-    self.pytestCheckHook;
-
   # helpers
 
   # We use build packages because we are making a setup hook to be used as a
@@ -254,6 +244,8 @@ in {
 
   aio-georss-gdacs = callPackage ../development/python-modules/aio-georss-gdacs { };
 
+  aioairzone = callPackage ../development/python-modules/aioairzone { };
+
   aioambient = callPackage ../development/python-modules/aioambient { };
 
   aioapns = callPackage ../development/python-modules/aioapns { };
@@ -466,6 +458,8 @@ in {
 
   allpairspy = callPackage ../development/python-modules/allpairspy { };
 
+  allure-behave = callPackage ../development/python-modules/allure-behave { };
+
   allure-python-commons = callPackage ../development/python-modules/allure-python-commons { };
 
   allure-python-commons-test = callPackage ../development/python-modules/allure-python-commons-test { };
@@ -850,6 +844,8 @@ in {
 
   azure-common = callPackage ../development/python-modules/azure-common { };
 
+  azure-containerregistry = callPackage ../development/python-modules/azure-containerregistry { };
+
   azure-core = callPackage ../development/python-modules/azure-core { };
 
   azure-cosmos = callPackage ../development/python-modules/azure-cosmos { };
@@ -2218,7 +2214,7 @@ in {
 
   distutils_extra = callPackage ../development/python-modules/distutils_extra { };
 
-  django = self.django_2;
+  django = self.django_3;
 
   # Current LTS
   django_2 = callPackage ../development/python-modules/django/2.nix { };
@@ -2436,6 +2432,8 @@ in {
 
   docx2python = callPackage ../development/python-modules/docx2python { };
 
+  docx2txt = callPackage ../development/python-modules/docx2txt { };
+
   dodgy = callPackage ../development/python-modules/dodgy { };
 
   dogpile-cache = callPackage ../development/python-modules/dogpile-cache { };
@@ -3031,6 +3029,8 @@ in {
     inherit (pkgs) flatbuffers;
   };
 
+  flatdict = callPackage ../development/python-modules/flatdict { };
+
   flatten-dict = callPackage ../development/python-modules/flatten-dict { };
 
   flax = callPackage ../development/python-modules/flax { };
@@ -4466,6 +4466,8 @@ in {
 
   keyrings-cryptfile = callPackage ../development/python-modules/keyrings-cryptfile { };
 
+  keyrings-google-artifactregistry-auth = callPackage ../development/python-modules/keyrings-google-artifactregistry-auth { };
+
   keyrings-alt = callPackage ../development/python-modules/keyrings-alt { };
 
   keystone-engine = callPackage ../development/python-modules/keystone-engine { };
@@ -5051,6 +5053,8 @@ in {
 
   mediafile = callPackage ../development/python-modules/mediafile { };
 
+  meilisearch = callPackage ../development/python-modules/meilisearch { };
+
   meinheld = callPackage ../development/python-modules/meinheld { };
 
   meld3 = callPackage ../development/python-modules/meld3 { };
@@ -7647,6 +7651,14 @@ in {
 
   pysideTools = callPackage ../development/python-modules/pyside/tools.nix { };
 
+  pysigma = callPackage ../development/python-modules/pysigma { };
+
+  pysigma-backend-splunk = callPackage ../development/python-modules/pysigma-backend-splunk { };
+
+  pysigma-pipeline-crowdstrike = callPackage ../development/python-modules/pysigma-pipeline-crowdstrike { };
+
+  pysigma-pipeline-sysmon = callPackage ../development/python-modules/pysigma-pipeline-sysmon { };
+
   pysignalclirestapi = callPackage ../development/python-modules/pysignalclirestapi { };
 
   pysigset = callPackage ../development/python-modules/pysigset { };
@@ -7775,28 +7787,12 @@ in {
 
   pytesseract = callPackage ../development/python-modules/pytesseract { };
 
-  pytest = self.pytest_6;
-
-  pytest_6 =
-    callPackage ../development/python-modules/pytest {
-      # hypothesis tests require pytest that causes dependency cycle
-      hypothesis = self.hypothesis.override {
-        doCheck = false;
-      };
-    };
-
-  pytest_6_1 = self.pytest_6.overridePythonAttrs (oldAttrs: rec {
-    version = "6.1.2";
-    src = oldAttrs.src.override {
-      inherit version;
-      sha256 = "c0a7e94a8cdbc5422a51ccdad8e6f1024795939cc89159a0ae7f0b316ad3823e";
+  pytest = callPackage ../development/python-modules/pytest {
+    # hypothesis tests require pytest that causes dependency cycle
+    hypothesis = self.hypothesis.override {
+      doCheck = false;
     };
-
-    postPatch = ''
-      substituteInPlace setup.cfg \
-        --replace "pluggy>=0.12,<1.0" "pluggy>=0.12,<2.0"
-    '';
-  });
+  };
 
   pytest-aio = callPackage ../development/python-modules/pytest-aio { };
 
@@ -8295,6 +8291,8 @@ in {
 
   pyeverlights = callPackage ../development/python-modules/pyeverlights { };
 
+  pyinfra = callPackage ../development/python-modules/pyinfra { };
+
   pytibber = callPackage ../development/python-modules/pytibber { };
 
   pytile = callPackage ../development/python-modules/pytile { };
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index 9d34ddb3685..1945762c50d 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -64,6 +64,30 @@
 } @args:
 
 let
+  # This is a function from parsed platforms (like
+  # stdenv.hostPlatform.parsed) to parsed platforms.
+  makeMuslParsedPlatform = parsed:
+    # The following line guarantees that the output of this function
+    # is a well-formed platform with no missing fields.  It will be
+    # uncommented in a separate PR, in case it breaks the build.
+    #(x: lib.trivial.pipe x [ (x: builtins.removeAttrs x [ "_type" ]) lib.systems.parse.mkSystem ])
+      (parsed // {
+        abi = {
+          gnu = lib.systems.parse.abis.musl;
+          gnueabi = lib.systems.parse.abis.musleabi;
+          gnueabihf = lib.systems.parse.abis.musleabihf;
+          gnuabin32 = lib.systems.parse.abis.muslabin32;
+          gnuabi64 = lib.systems.parse.abis.muslabi64;
+          # The following two entries ensure that this function is idempotent.
+          musleabi = lib.systems.parse.abis.musleabi;
+          musleabihf = lib.systems.parse.abis.musleabihf;
+          muslabin32 = lib.systems.parse.abis.muslabin32;
+          muslabi64 = lib.systems.parse.abis.muslabi64;
+        }.${parsed.abi.name}
+          or lib.systems.parse.abis.musl;
+      });
+
+
   stdenvAdapters = self: super:
     let
       res = import ../stdenv/adapters.nix {
@@ -188,14 +212,7 @@ let
       })] ++ overlays;
       ${if stdenv.hostPlatform == stdenv.buildPlatform
         then "localSystem" else "crossSystem"} = {
-        parsed = stdenv.hostPlatform.parsed // {
-          abi = {
-            gnu = lib.systems.parse.abis.musl;
-            gnueabi = lib.systems.parse.abis.musleabi;
-            gnueabihf = lib.systems.parse.abis.musleabihf;
-          }.${stdenv.hostPlatform.parsed.abi.name}
-            or lib.systems.parse.abis.musl;
-        };
+        parsed = makeMuslParsedPlatform stdenv.hostPlatform.parsed;
       };
     } else throw "Musl libc only supports Linux systems.";
 
@@ -239,16 +256,7 @@ let
     } // lib.optionalAttrs stdenv.hostPlatform.isLinux {
       crossSystem = {
         isStatic = true;
-        parsed = stdenv.hostPlatform.parsed // {
-          abi = {
-            gnu = lib.systems.parse.abis.musl;
-            gnueabi = lib.systems.parse.abis.musleabi;
-            gnueabihf = lib.systems.parse.abis.musleabihf;
-            musleabi = lib.systems.parse.abis.musleabi;
-            musleabihf = lib.systems.parse.abis.musleabihf;
-          }.${stdenv.hostPlatform.parsed.abi.name}
-            or lib.systems.parse.abis.musl;
-        };
+        parsed = makeMuslParsedPlatform stdenv.hostPlatform.parsed;
       } // lib.optionalAttrs (stdenv.hostPlatform.system == "powerpc64-linux") {
         gcc.abi = "elfv2";
       };